20-Segment Routing Configuration Guide

HomeSupportNFVH3C VSRConfigure & DeployConfiguration GuidesH3C VSR Series Virtual Services Routers Configuration Guides(V7)-R1362-6W10120-Segment Routing Configuration Guide
03-SRv6 TE policy configuration
Title Size Download
03-SRv6 TE policy configuration 1.39 MB

Contents

SRv6 TE policy introduction· 1

About SRv6 TE policies· 1

Basic concepts in SRv6 TE Policy· 1

SRv6 TE policy identification· 1

SRv6 TE policy contents· 1

SRv6 TE policy BSID·· 2

SRv6 TE policy group· 2

SRv6 TE policy creation and path calculation· 3

About SRv6 TE policy creation and path calculation· 3

SRv6 TE policy creation· 3

Traffic steering to an SRv6 TE policy· 4

BSID-based traffic steering· 4

Color-based traffic steering· 4

DSCP-based traffic steering· 5

TE class ID-based traffic steering· 6

CBTS-based traffic steering· 8

Automatic route advertisement 9

Other traffic steering methods· 10

SRv6 TE policy-based traffic forwarding· 11

SRv6 TE policy path selection· 11

Data encapsulation and forwarding through SRv6 TE policies· 11

SRv6 TE policy reliability· 13

SRv6 TE policy hot standby· 14

BFD for SRv6 TE policy· 14

SRv6 TE policy transit node protection· 19

SRv6 egress protection· 21

IPR for SRv6 TE policies· 23

About IPR for SRv6 TE policies· 23

SRv6 TE policy IPR operating mechanism·· 24

Configuring an SRv6 TE policy· 1

SRv6 TE policy tasks at a glance· 1

Configuring a SID list 2

Creating an SRv6 TE policy· 2

Manually creating an SRv6 TE policy and configuring its attributes· 2

Automatically creating SRv6 TE policies by using ODN· 3

Enabling the device to distribute SRv6 TE policy candidate path information to BGP-LS· 4

Shutting down an SRv6 TE policy· 4

Configuring a candidate path· 5

Configuring BGP to advertise BGP IPv6 SR policy routes· 5

Restrictions and guidelines for BGP IPv6 SR policy routes advertisement 5

Enabling BGP to advertise BGP IPv6 SR policy routes· 5

Configuring BGP to redistribute BGP IPv6 SR policy routes· 6

Enabling advertising BGP IPv6 SR policy routes to EBGP peers· 6

Enabling Router ID filtering· 7

Enabling validity check for BGP IPv6 SR policy routes· 7

Configuring BGP to control BGP IPv6 SR policy route selection and advertisement 8

Maintaining BGP sessions· 9

Configuring SRv6 TE policy traffic steering· 10

Configuring the SRv6 TE policy traffic steering mode· 10

Configuring color-based traffic steering· 10

Configuring tunnel policy-based traffic steering· 12

Configuring DSCP-based traffic steering· 13

Configuring TE class ID-based traffic steering· 15

Configuring static route-based traffic steering· 18

Configuring QoS policy-based traffic steering· 19

Configuring Flowspec-based traffic steering· 20

Enabling automatic route advertisement for an SRv6 TE policy· 22

Configuring the SRv6 TE policy encapsulation mode· 23

Configuring IPR for SRv6 TE policies· 25

Restrictions and guidelines· 25

Configuring iFIT measurement for SRv6 TE policies· 25

Configuring IPR path calculation for SRv6 TE policies· 27

Configuring IPR to perform optimal path selection based on tunnel egress bandwidth usage· 29

Enabling SBFD for SRv6 TE policies· 31

Configuring the BFD echo packet mode for SRv6 TE policies· 32

Enabling hot standby for SRv6 TE policies· 34

Configuring path switchover and deletion delays for SRv6 TE policies· 35

Configuring SRv6 TE policy transit node protection· 35

Configuring SRv6 TE policy egress protection· 36

Restrictions and guidelines for SRv6 TE policy egress protection configuration· 36

Configuring an End.M SID·· 36

Enabling egress protection· 37

Configuring the deletion delay time for remote SRv6 SID mappings with VPN instances/cross-connects/VSIs  37

Configuring the TTL processing mode of SRv6 TE policies· 38

Configuring SRv6 TE policy CBTS· 39

Enabling the device to drop traffic when an SRv6 TE policy becomes invalid· 39

Specifying the packet encapsulation type preferred in optimal route selection· 40

Configuring traffic forwarding statistics for SRv6 TE policies· 41

Display and maintenance commands for SRv6 TE policies· 41

SRv6 TE policy configuration examples· 43

Example: Configuring SRv6 TE policy-based forwarding· 43

Example: Configuring SRv6 TE policy egress protection· 48

Example: Configuring SRv6 TE policy-based forwarding with IPR· 59

 


SRv6 TE policy introduction

About SRv6 TE policies

IPv6 Segment Routing Traffic Engineering (SRv6-TE) policies apply to scenarios where multiple paths exist between a source node and a destination node on an SRv6 network. The device can use an SRv6 TE policy to flexibly steer traffic to a proper forwarding path.

Basic concepts in SRv6 TE Policy

SRv6 TE policy identification

An SRv6 TE policy is uniquely identified by the following triplet:

·     HeadendIngress node (source node).

·     Color—Color attribute, which provides a mechanism for associating services with SRv6 TE policies. It is used to distinguish different SRv6 TE policies with the same source and destination nodes. SRv6 TE policies are colored by network administrators. You can use this attribute to implement service-specific traffic steering to SRv6 TE policies. For example, you can use an SRv6 TE policy with a color attribute of 10 to forward the traffic of a service that requires a link delay smaller than 10 ms.

·     Endpoint—IPv6 address of the egress node (destination node).

On an ingress node, you can uniquely identify an SRv6 TE policy by its color and egress node.

SRv6 TE policy contents

As shown in Figure 1, an SRv6 TE policy consists of candidate paths with different preferences. Each candidate path can have one or multiple subpaths identified by segment lists (also called SID lists).

·     Candidate path

An SRv6 TE policy can have multiple candidate paths. The device selects the candidate path with the greatest preference value as the primary path in that SRv6 TE policy. A candidate path is uniquely identified by the <Protocol-origin,Originator,Discriminator> triplet:

¡     Protocol-origin—Protocol or method through which the candidate path was generated.

¡     Originator—Node that generated the candidate path. This field always consists of two portions, AS number and node IP address.

¡     Discriminator—Candiate path ID, which is used to distinguish candidate paths with the same Protocol-origin and Originator values. For example, the controller deploys three candiate paths to the ingress node of an SRv6 TE policy through BGP. In this situation, the Protocol-origin and Originator values of those candiate paths are BGP and controller, respectively, but their Discriminator values are different.

Two SRv6 TE policies cannot share the same candidate path.

·     SID list

A SID list is a list of SIDs that indicates a packet forwarding path. Each SID is the IPv6 address of a node on the forwarding path.

A candidate path can have a single SID list or multiple SID lists that use different weight values. After an SRv6 TE policy chooses a candidate path with multiple SID lists, the traffic will be load shared among the SID lists based on weight values.

Figure 1 SRv6 TE policy contents

 

SRv6 TE policy BSID

SRv6 TE policies also support Binding SIDs (BSID). A BSID is typically an SRv6 SID, which represents a candidate path. If the destination address of a packet is a BSID, the packet will be steered to the related candidate path for further forwarding. Assume that an SRv6 TE policy is a network service and you want to forward traffic along a specific candidate path of that SRv6 TE policy. From a programming perspective, you can use the BSID of that candidate path as an interface to call that network service.

You can manually configure a BSID for an SRv6 TE policy or leave the SRv6 TE policy to automatically obtain a BSID from the specified locator. The SRv6 endpoint behavior for BSID is Endpoint Bound to an SRv6 TE Policy (End.B6), because they are SRv6 SIDs indeed. End.B6 behaviors include the End.B6.Insert and End.B6.Encaps behaviors. For more information about End.B6 SRv6 SIDs, see SRv6 configuration in Segment Routing Configuration Guide.

SRv6 TE policy group

An SRv6 TE policy group is a group of SRv6 TE policies that have the same endpoint address. Upon receiving a packet destined for that endpoint address, the device searches for the SRv6 TE policy containing the color value mapped to the DSCP value of the packet. The device will use the SRv6 TE policy to forward the packet.

An SRv6 TE policy group is identified by its group ID. It also has the following attributes:

·     BSID—SID of the ingress node in the SRv6 TE policy group. It can steer traffic to the SRv6 TE policy group.

·     Color—Color extended attribute of the SRv6 TE policy group. BGP routes that carry the same color value as the SRv6 TE policy group are recursed to the SRv6 TE policy group.

·     Endpoint—IPv6 address of the egress node (destination node). If an SRv6 TE policy and an SRv6 TE policy group have the same value for the endpoint attribute, the SRv6 TE policy belongs to the SRv6 TE policy group.

You can create an SRv6 TE policy group by using the following methods:

·     Manual creation at the CLI

This method requires manually configuring the destination node address of the SRv6 TE policy group.

·     Automatic creation by ODN

When the device receives a BGP route, it compares the color extended attribute value of the BGP route with the color value of the ODN template. If the color values match, the device automatically generates an SRv6 TE policy group.

¡     The policy group uses the BGP route's next hop address as the endpoint address and the ODN template's color value as the color attribute value.

¡     The device will assign the smallest ID that is not in use to the SRv6 TE policy group.

SRv6 TE policy creation and path calculation

About SRv6 TE policy creation and path calculation

The architecture of a complete and functional SRv6 TE policy is inherently complex. While the Headend, Color, and End-point tuple establishes the identity of the SRv6 TE policy, its forwarding behavior is governed by candidate paths and SID lists.

To create an SRv6 TE policy, the Headend, Color, and End-point tuple must be defined. Then, SRv6 TE policy path calculation can obtain the SID lists in the candidate paths. Therefore, the creation and path calculation of an SRv6 TE policy are two decoupled processes.

You can create an SRv6 TE policy by using the following methods:

·     Manually create an SRv6 TE policy and candidate paths through CLI or NETCONF.

·     Configure the device to learn an SRv6 TE policy and candidate paths from a BGP IPv6 SR policy route.

·     Configure the device to learn an SRv6 TE policy and candidate paths through PCEP.

·     Configure the device to automatically create an SRv6 TE policy and candidate paths through ODN.

You can create an SID list for a candidate path in the following methods:

·     Manually creation through CLI or NETCONF.

·     Creation based on dynamically calculated paths.

·     Creation based on PCE-calculated paths.

For example, after you manually configure the SRv6 TE policy's color, endpoint, candidate paths, the precedence of the candidate paths, the SID list of the candidate paths, and their weights, dynamically calculated paths can be used to establish SID lists for other candidate paths in the SRv6 TE policy.

To generate SRv6 TE policies and the path calculation function through BGP and PCEP, the control plane protocols PECP, BGP-LS, and BGP IPv6 SR policy have all been extended to support SRv6 TE policy.

SRv6 TE policy creation

An SRv6 TE policy can be created in the following modes:

·     Manual configuration from CLI

In this method, you need to manually configure the candidate settings for the SRv6 TE policy, such as candidate path preferences, SID lists and weights.

·     Learning from an SRv6 TE policy route

To support SRv6 TE policy, MP-BGP defines the BGP IPv6 SR address family and the SRv6 TE policy Network Layer Reachability Information (NLRI). The SRv6 TE policy NLRI is called the BGP IPv6 SR policy route. A BGP IPv6 SR policy route contains SRv6 TE policy settings, including the BSID, color, endpoint, candidate preferences, SID lists, and SID list weights.

The device can advertise its local SRv6 TE policy settings to its BGP IPv6 SR policy peer through a BGP IPv6 SR policy route. The peer device can create an SRv6 TE policy according to the received SRv6 TE policy settings.

·     Automatic creation by ODN

After you create an On-Demand Next-Hop (ODN) template, if the color extended community attribute carried in a BGP route received by the device matches the color value in the ODN template, the device will automatically create an SRv6 TE policy. The next hop address of the BGP route is used as the destination address of the SRv6 TE policy, and the ODN template's color value is used as the color attribute of the SRv6 TE policy. This SRv6 TE policy will automatically request a BSID within the specified locator segment. Candidate paths can be manually created under the SRv6 TE policy that is automatically generated by the ODN function.

Traffic steering to an SRv6 TE policy

Path selection in SRv6 TE policy-oriented traffic steering can be divided into two modes: direct steering and indirect steering. The methods for direct traffic steering include:

·     BSID-based traffic steering

·     Color-based traffic steering

·     CBTS-based traffic steering

·     Automatic route advertisement

·     Other traffic steering methods

During indirect traffic steering, the device performs the following operations in sequence:

1.     Steers traffic to the matching SRv6 TE policy group.

2.     Based on the forward type and forwarding policy mappings of that SRv6 TE policy group, selects an SRv6 TE policy group for further forwarding.

The methods for indirect traffic steering include:

·     DSCP-based traffic steering

·     TE class ID-based traffic steering

BSID-based traffic steering

If the destination IPv6 address of a received packet is the BSID of an SRv6 TE policy, the device uses the SRv6 TE policy to forward the packet.

This traffic steering method is used in SID stitching scenarios. The BSID of an SRv6 TE policy is inserted into the segment list of another SRv6 TE policy, and the inserted BSID represents the segment lists of the optimal candidate path in the SRv6 TE policy. With this method, the SRH is shortened and different SRv6 TE policies can stitched together.

Color-based traffic steering

Traffic steering mechanism

In color-based traffic steering, the device searches for an SRv6 TE policy that has the same color and endpoint address as the color and next hop address of a BGP route. If a matching SRv6 TE policy exists, the device recurses the BGP route to that SRv6 TE policy. When the device receives packets that match the BGP route, it forwards those packets through the SRv6 TE policy.

Traffic steering workflow

Figure 2 shows the process of color-based traffic steering:

1.     The controller issues SRv6 TE policy 1 to Device A (source node). The color value and endpoint address of the SRv6 TE policy is 100 and 5::5 (IP address of Device H), respectively.

2.     Device H advertises BGP VPNv4 route 2.2.2.2/32 to Device A. The color value and next hop address of the route is 100 and 5::5, respectively.

3.     When Device A receives BGP VPNv4 route 2.2.2.2/32, it recurses this route to SRv6 TE policy 1 based on the route's color value and next hop address. Packets matching the BGP route will be forwarded through SRv6 TE policy 1.

Figure 2 Color-based traffic steering

 

DSCP-based traffic steering

Traffic steering mechanism

DSCP-based traffic steering is available only after SRv6 TE policy groups are deployed on the device. Each SRv6 TE policy group consists of multiple SRv6 TE policies with different colors but the same endpoint address.

To achieve DSCP-based traffic steering, you can perform the following operations:

1.     Add multiple SRv6 TE policies with different colors to the same SRv6 TE policy group, and configure color-to-DSCP mappings for that SRv6 TE policy group.

2.     Use one of the following methods to steer traffic to the SRv6 TE policy group:

¡     Bind the desired destination address to the SRv6 TE policy group in a tunnel policy. Traffic destined for the destination address will be steered to the SRv6 TE policy group for further forwarding.

¡     Set SRv6 TE policy group as the preferred tunnel type in a tunnel policy. When the next hop address of a route is the endpoint address of the SRv6 TE policy group, the device preferentially steers traffic to the SRv6 TE policy group.

¡     Recurse BGP routes that can match the SRv6 TE policy group to the SRv6 TE policy group. A BGP route can match an SRv6 TE policy group only if its color value and next hop address can match the color value and endpoint address of that SRv6 TE policy group.

3.     Look up for the color value mapped to the DSCP value of a packet, and then use the color value to find the associated SRv6 TE policy in the SRv6 TE policy group.

The above task creates a DSCP > color > SRv6 TE policy mapping, enabling DSCP-based traffic steering to the desired SRv6 TE policy.

Traffic steering workflow

Figure 3 shows the process of DSCP-based traffic steering:

1.     The controller issues SRv6 TE policy 1 and SRv6 TE policy 2 to Device A (source node). SRv6 TE policy 1 to Device A (source node). The color values of SRv6 TE policy 1 and SRv6 TE policy 2 are 100 and 200, respectively. The two SRv6 TE policies both use 5::5 as endpoint address, which is the IP address of Device H.

2.     Device H advertises BGP VPNv4 route 2.2.2.2/32 to Device A. The next hop address of the route is 5::5.

3.     SRv6 TE policy group 111 is created on Device A with its endpoint address as 5::5. Within the SRv6 TE policy group, color value 100 is mapped to DSCP value 10, and color value 200 is mapped to DSCP value 20. A tunnel policy is configured on Device A to bind the SRv6 TE policy group to destination address 2.2.2.2.

4.     Device A performs DSCP-based traffic steering for a received packet as follows:

a.     Finds the matching tunnel binding policy based on the packet's destination address, and then finds the related SRv6 TE policy group.

b.     Uses the packet's DSCP value (10 in this example) to find the mapped color value, and then matches an SRv6 TE policy inside the SRv6 TE policy group based on the color value.

c.     Uses the optimal candidate path in this SRv6 TE policy for packet forwarding. In this example, the packet is forwarded along the Device B > Device C > Device D > Device H path, which is in accordance with the SID list in the candidate path.

Figure 3 DSCP-based traffic steering

 

TE class ID-based traffic steering

Traffic steering mechanism

1.     A TE class ID is a local traffic identifier for devices, which can identify the TE class ID of traffic by QoS policy. TE class ID-based traffic steering is more suitable than service class-based traffic steering, because this method can provide support for Intelligent Policy Route (IPR) and TE class IDs outnumber service classes. You can use the remark te-class command to assign a TE class ID to traffic. For more information about this command, see QoS commands in ACL and QoS Command Reference. TE class ID-based traffic steering is available only after SRv6 TE policy groups are deployed on the device. Each SRv6 TE policy group consists of multiple SRv6 TE policies with different colors but the same endpoint address.

To achieve TE class ID-based traffic steering, you can perform the following operations:

2.     Add multiple SRv6 TE policies with different colors to the same SRv6 TE policy group, and configure color-to-TE class ID mappings for that SRv6 TE policy group.

3.     Use one of the following methods to steer traffic to the SRv6 TE policy group:

¡     Bind the desired destination address to the SRv6 TE policy group in a tunnel policy. Traffic destined for the destination address will be steered to the SRv6 TE policy group for further forwarding.

¡     Set SRv6 TE policy group as the preferred tunnel type in a tunnel policy. When the next hop address of a route is the endpoint address of the SRv6 TE policy group, the device preferentially steers traffic to the SRv6 TE policy group.

¡     Recurse BGP routes that can match the SRv6 TE policy group to the SRv6 TE policy group. A BGP route can match an SRv6 TE policy group only if its color value and next hop address can match the color value and endpoint address of that SRv6 TE policy group.

4.     Look up for the color value mapped to the TE class ID of a packet, and then use the color value to find the associated SRv6 TE policy in the SRv6 TE policy group.

The above task creates a TE class ID > color > SRv6 TE policy mapping, enabling TE class ID-based traffic steering to the desired SRv6 TE policy.

Traffic steering workflow

Figure 4 shows the process of TE class ID-based traffic steering:

1.     The controller issues SRv6 TE policy 1 and SRv6 TE policy 2 to Device A (source node). SRv6 TE policy 1 to Device A (source node). The color values of SRv6 TE policy 1 and SRv6 TE policy 2 are 100 and 200, respectively. The two SRv6 TE policies both use 5::5 as endpoint address, which is the IP address of Device H.

2.     Device H advertises BGP VPNv4 route 2.2.2.2/32 to Device A. The next hop address of the route is 5::5.

3.     SRv6 TE policy group 111 is created on Device A with its endpoint address as 5::5. Within the SRv6 TE policy group, color value 100 is mapped to TE class ID 1, and color value 200 is mapped to TE class ID 2. A tunnel policy is configured on Device A to bind the SRv6 TE policy group to destination address 2.2.2.2.

4.     Device A performs TE class ID-based traffic steering for a received packet as follows:

a.     Finds the matching tunnel binding policy based on the packet's destination address, and then finds the related SRv6 TE policy group.

b.     Uses the packet's TE class ID (1 in this example) to find the mapped color value, and then matches an SRv6 TE policy inside the SRv6 TE policy group based on the color value.

c.     Uses the optimal candidate path in this SRv6 TE policy for packet forwarding. In this example, the packet is forwarded along the Device B > Device C > Device D > Device H path, which is in accordance with the SID list in the candidate path.

Figure 4 TE class ID-based traffic steering

CBTS-based traffic steering

CBTS-based traffic steering mechanism

SRv6 TE policy Class Based Tunnel Selection (CBTS) enables dynamic routing and forwarding of traffic with service class values over different SRv6 TE policy tunnels between the same tunnel headend and tailend. CBTS uses a dedicated tunnel for a certain class of service to implement differentiated forwarding for services.

Traffic steering based on CBTS is also achieved through the service-class identifier in packets. However, compared to service-class-based traffic steering, CBTS-based traffic steering does not require redirection to an SRv6 TE policy group.

SRv6 TE policy CBTS processes traffic mapped to a priority as follows:

1.     Uses a traffic behavior to set a service class value for the traffic.

2.     Compares the service class value of the traffic with the service class values of the SRv6 TE policy tunnels and forwards the traffic to a matching tunnel.

SRv6 TE policy CBTS uses the following rules to select an SRv6 TE policy for the traffic to be forwarded:

·     If an SRv6 TE policy has the same service class value as the traffic, CBTS uses this SRv6 TE policy.

·     If multiple SRv6 TE policies have the same service class value as the traffic, CBTS selects an SRv6 TE policy based on the flow identification and load sharing mode:

¡     If only one flow exists and flow-based load sharing is used, CBTS randomly selects a matching SRv6 TE policy for packets of the flow.

¡     If multiple flows exist or if only one flow exists but packet-based load sharing is used, CBTS uses all matching SRv6 TE policies to load share the packets.

·     If the traffic does not match any SRv6 TE policy by service class value, CBTS selects the SRv6 TE policy with the lowest forwarding priority. An SRv6 TE policy that has a smaller service class value has a lower forwarding priority. An SRv6 TE policy that is not configured with a service class value has the lowest priority.

As shown in Figure 5, CBTS selects SRv6 TE policies for traffic from Device A to Device B as follows:

·     Uses SRv6 TE policy B to forward traffic with service class value 3.

·     Uses SRv6 TE policy C to forward traffic with service class value 6.

·     Uses SRv6 TE policy A to forward traffic with service class value 4.

·     Uses SRv6 TE policy A to forward traffic with no service class value.

Figure 5 SRv6 TE Policy CBTS application

 

CBTS-based traffic steering process

CBTS-based traffic steering works as follows:

1.     The controller delivers an SRv6 TE policy to the ingress node A. SRv6 TE policy 1 has a color of 100, a service class of 1, and an endpoint of device H's address 5::5. SRv6 TE policy 2 has a color of 200, a service class of 2, and the same endpoint of device H's address 5::5.

2.     Device H sends the BGP VPNv4 route 2.2.2.2/32 to the ingress node device A, with the next hop address set to 5::5.

3.     At the ingress node A, the QoS policy marks the service class value of packets based on their five-tuple or other characteristics.

4.     Packets marked with service class 1 by ingress node A are forwarded through SRv6 TE policy 1, while packets marked with service class 2 are forwarded through SRv6 TE policy 2.

Automatic route advertisement

This feature advertises an SRv6 TE policy or an SRv6 TE policy group (a group of SRv6 TE policies) to IGP (IPv6 IS-IS or OSPFv3) for route computation. The device can then forward the matching traffic through the SRv6 TE policy or SRv6 TE policy group.

An SRv6 TE policy or SRv6 TE policy group supports only automatic route advertisement (also called autoroute announce) in IGP shortcut mode. With automatic route advertisement enabled, the device determines the SRv6 TE policy or SRv6 TE policy group as a link that connects the tunnel ingress and egress. The tunnel ingress includes the SRv6 TE policy or SRv6 TE policy group in IGP route computation.

 

 

NOTE:

After traffic is steered to an SRv6 TE policy group through automatic route advertisement, the device looks up for the matching SRv6 TE policy in the SRv6 TE policy group based on DSCP or 802.1p value. Then, the device forwards the traffic through the matching SRv6 TE policy.

As shown in Figure 6, an SRv6 TE policy tunnel is deployed between Device D and Device C. IGP Shortcut enables the source node, Device D, to utilize this tunnel during IGP route computation. Consequently, Device D can steer incoming packets to the SRv6 TE policy tunnel between Device D and Device C.

Figure 6 Automatic route advertisement

 

Other traffic steering methods

·     Tunnel policy—In an MPLS L3VPN, EVPN L3VPN, EVPN VPLS, or EVPN VPWS network, use an SRv6 TE policy as the public tunnel to carry the packets of a VPN instance. For more information about the tunnel policy configuration, see MPLS Configuration Guide.

·     Static route—Configures a static route that recurses to an SRv6 TE policy. The device uses the SRv6 TE policy to forward the packets that match the static route.

·     QoS policy—Redirects traffic to an SRv6 TE policy through a QoS policy. The device uses the SRv6 TE policy to forward the packets that match the traffic classes of the QoS policy. For more information about QoS policies, see the QoS configuration in ACL and QoS Configuration Guide.

·     Flowspec—Redirects traffic to an SRv6 TE policy through a Flowspec rule. The device uses the SRv6 TE policy to forward the packets that match the Flowspec rule. For more information about Flowspec, see ACL and QoS Configuration Guide.

SRv6 TE policy-based traffic forwarding

SRv6 TE policy path selection

After traffic is steered in to an SRv6 TE policy, the SRv6 TE policy selects a forwarding path for the traffic as follows:

1.     Selects the valid candidate path that has the highest preference.

2.     Performs Weighted ECMP (WECMP) load sharing among the SID lists of the selected candidate path. The load of SID list x is equal to Weight x/(Weight 1 + Weight 2 + … + Weight n).

For example, as shown in Figure 7, Device A first selects a valid SRv6 TE policy by BSID. Then, the device selects a candidate path by preference. The candidate path has two valid SID lists: SID list 1 and SID list 2. The weight value of SID list 1 is 20 and the weight value of SID list 2 is 80. One fifth of the traffic will be forwarded through the subpath identified by SID list 1. Four fifth of the traffic will be forwarded through the subpath identified by SID list 2.

Figure 7 SRv6 TE policy path selection

 

Data encapsulation and forwarding through SRv6 TE policies

1.     For SRv6 TE policies, supported packet encapsulation methods include normal encapsulation and insert encapsulation. In normal encapsulation, the device adds a new IPv6 header and an SRH to each packet. In insert encapsulation, the device inserts an SRH extension header after the original IPv6 header.

2.     The packet forwarding process varies by packet encapsulation method.

SRv6 TE policy-based packet forwarding with the normal encapsulation method

1.     As shown in Figure 8, BSID-based traffic steering is used in the SID stitching scenario. The packet forwarding process is as follows:

2.     Device A steers traffic to SRv6 TE policy A for further forwarding. The SIDs of SRv6 TE policy A are stitched with the BSID of SRv6 TE policy B, 20::2. According to SRv6 TE policy A, the device encapsulates the packet with an SRH header that carries an SID list of {10::2, 20::2, 50::2}. 10::2 represents the End SID of Device B, and 50::2 represents the End SID of Device F.

3.     Device A transmits the encapsulated packet to the next hop, Device B.

4.     Device B obtains next hop information (Device C) from the SRH of the encapsulated packet, and transmits the packet to Device C.

5.     Device C finds that the encapsulated packet is heading for 20::2, which is the BSID of SRv6 TE policy B. The encapsulation method for SRv6 TE policy B is normal encapsulation. Therefore, Device C encapsulates the packet with an outer IPv6 header and an SRH according to SRv6 TE policy B. The SRH carries a SID list of {30::2, 40::2}, where 30::2 is the End SID for Device D, and 40::2 is the End SID for Device E. The destination address in the outer IPv6 header is updated to 30::2, with the next hop set to Device D. After packet encapsulation, Device C transmits the packet to Device D.

6.     Device D finds that the next hop pointed by the outer SRH of the encapsulated packet is Device E, and then transmits the packet to Device E.

7.     Device E finds that the SL value in the outer SRH of the encapsulated packet is 0, and thus perform the following operations:

a.     Decapsulates the packet by removing its outer IPv6 header and SRH.

b.     Transmits the packet to Device F, which is the destination address of the packet.

8.     Device F finds that the SL value in the outer SRH of the encapsulated packet is 0. As the egress node of SRv6 TE policy A, Device F decapsulates the packet by removing its outer IPv6 header and SRH.

Figure 8 SRv6 TE policy-based packet forwarding with the normal encapsulation method

SRv6 TE policy-based packet forwarding with the insert encapsulation method

1.     As shown in Figure 9, BSID-based traffic steering is used in the SID stitching scenario. The packet forwarding process is as follows:

2.     Device A steers traffic to SRv6 TE policy A for further forwarding. The SIDs of SRv6 TE policy A are stitched with the BSID of SRv6 TE policy B, 20::2. According to SRv6 TE policy A, the device encapsulates the packet with an SRH that carries an SID list of {10::2, 20::2, 50::2}. 10::2 represents the End SID of Device B, and 50::2 represents the End SID of Device F.

3.     Device A transmits the encapsulated packet to the next hop, Device B.

4.     Device B obtains next hop information (Device C) from the SRH of the encapsulated packet, and transmits the packet to Device C.

5.     Device C finds that the encapsulated packet is heading for 20::2, which is the BSID of SRv6 TE policy B. The encapsulation method for SRv6 TE policy B is insert encapsulation. Therefore, Device C inserts an SRH after the original IPv6 header of the packet according to SRv6 TE policy B. The SRH carries a SID list of {30::2, 40::2}, where 30::2 is the End SID for Device D, and 40::2 is the End SID for Device E. The destination address in the outer IPv6 header is updated to 30::2, with the next hop set to Device D. After packet encapsulation, Device C transmits the packet to Device D.

6.     Device D finds that the next hop pointed by the outer SRH of the encapsulated packet is Device E, and then transmits the packet to Device E.

7.     Device E finds that the SL value in the outer SRH of the encapsulated packet is 0, and thus perform the following operations for the packet:

a.     Removes the outer SRH and updates the destination address in the outer IPv6 header to 50::2.

b.     Transmits the packet to Device F, which is the destination address of the packet.

8.     Device F finds that the SL value in the outer SRH of the encapsulated packet is 0. As the egress node of SRv6 TE policy A, Device F decapsulates the packet by removing its outer IPv6 header and SRH.

Figure 9 SRv6 TE policy-based packet forwarding with the insert encapsulation method

SRv6 TE policy reliability

SRv6 TE policy ensures reliable traffic forwarding through the collaboration of multiple mechanisms, including:

·     Hot standby between candidate paths—SRv6 TE policy supports hot standby among multiple valid candidate paths and leverages BFD detection to trigger fast switchover between primary and backup paths.

·     Transit node protection through SRv6 TE FRR—It provides transit node protection to safeguard critical nodes or links along the path.

·     Egress node protection in dual-homing VPN scenarios—It ensures redundancy for egress nodes in dual-homed VPN networks.

Through the above reliability mechanisms, SRv6 TE policy delivers multi-layer and multi-level protection for traffic forwarding.

SRv6 TE policy hot standby

If an SRv6 TE policy has multiple valid candidate paths, the device chooses the candidate path with the greatest preference value. If the chosen path fails, the SRv6 TE policy must select another candidate path. During path reselection, packet loss might occur and thus affect service continuity.

The SRv6-TE hot standby feature can address this issue. This feature takes the candidate path with the greatest preference value as the primary path and that with the second greatest preference value as the backup path in hot standby state. As shown in Figure 10, when the forwarding paths corresponding to all SID lists of the primary path fails, the standby path immediately takes over to minimize service interruption.

Figure 10 SRv6 TE policy hot standby

You can configure both the hot standby and SBFD features for an SR-TE policy. Use SBFD to detect the availability of the primary and standby paths specified for hot standby. If all SID lists of the primary path become unavailable, the standby path takes over and a path recalculation is performed. The standby path becomes the new primary path, and a new standby path is selected. If both the primary and standby paths fail, the SR-TE policy will calculate new primary and standby paths.

BFD for SRv6 TE policy

Echo BFD for SRv6 TE policy

Echo BFD (BFD in echo packet mode) does not require the initiator and the reflector use the same discriminator for testing the connectivity of an SRv6 TE policy. As such, you do not need to plan local and remote discriminators. This makes echo BFD easier to configure than SBFD for SRv6 TE policy.

Echo BFD tests the connectivity of an SRv6 TE policy as follows:

1.     The source node sends BFD echo packets that each encapsulate a SID list of the SRv6 TE policy.

2.     After the endpoint node receives an BFD echo packet, it sends the BFD echo packet back to the source node along the shortest path selected through IPv6 routing table lookup.

3.     If the source node receives the BFD echo packet within the detection timeout time, it determines that the SID list (forwarding path) under test is available. If no BFD echo packet is received, the device determines that the SID list is faulty. If all the SID lists for the primary path are faulty, BFD triggers a primary-to-backup path switchover.

If multiple SID lists are present in the selected candidate path, the SRv6 TE policy establishes separate BFD sessions to monitor the forwarding path corresponding to each SID list.

When echo BFD is enabled for an SRv6 TE policy, BFD packets can be encapsulated in Insert or Encaps mode. By default, BFD packets use the Insert encapsulation mode.

As shown in Figure 11, configure an SRv6 TE policy on Device A and use echo BFD to detect the policy connectivity. If Insert encapsulation is used for BFD packets, Device A constructs a special BFD packet with its local IPv6 address (a) as the source address and inserts IPv6 address a to the SL=0 position in the SID list. When Device D receives the BFD packet, it updates the destination address in the IPv6 header to a, and uses IPv6 address a to look up the routing table to send the packet back to Device A.

 

 

NOTE:

For more information about selecting the source address for BFD packets, see "Configuring the BFD echo packet mode for SRv6 TE policies."

 

Figure 11 Echo BFD for SRv6 TE policy with Insert encapsulation

 

As shown in Figure 12, Device A configures an SRv6 TE policy and uses echo BFD to detect connectivity for this policy. If Encaps encapsulation is used for BFD packets, Device A first constructs a BFD packet with both source and destination addresses set to its local IPv6 address a. Then, Device A encapsulates the BFD packet with an additional IPv6 header and an SRH header. The outer IPv6 header's source address is specified by the encapsulation source-address command, and the SRH header contains the SID list of the SRv6 TE policy. When Device D receives the BFD packet, it performs decapsulation on the outer IPv6 and SRH headers, and then uses IPv6 address a to look up the IPv6 routing table to send the packet back to Device A.

 

 

NOTE:

For more information about selecting the source address for BFD packets, see "Configuring the BFD echo packet mode for SRv6 TE policies."

 

Figure 12 Echo BFD for SRv6 TE policy with Encaps encapsulation

SBFD for SRv6 TE policy

SRv6 use seamless BFD (SBFD) to detect path connectivity of SRv6 TE policies, instead of sending messages between nodes. SBFD enables an SRv6 TE policy to detect path failures in milliseconds for fast path switchover.

SBFD detects the connectivity of an SRv6 TE policy as follows:

1.     The source node (the initiator) sends SBFD packets that encapsulate the SID lists of the primary and backup candidate paths of the SRv6 TE policy.

2.     After the endpoint node (the reflector) receives an SBFD packet, it checks whether the remote discriminator carried the packet is the same as the local discriminator. If yes, the reflector sends the SBFD response packet to the initiator by using the IPv6 routing table. If not, the reflector drops the SBFD packet.

3.     If the source node can receive the SBFD response within the detection timeout time, it determines the corresponding SID list (forwarding path) of the SRv6 TE policy is available. If no response is received, the source node determines that the SID list is faulty.

If multiple SID lists are present in the selected candidate path, the SRv6 TE policy establishes separate SBFD sessions to monitor the forwarding path corresponding to each SID list.

When SBFD is enabled for an SRv6 TE policy, SBFD packets can be encapsulated in Insert or Encaps mode. By default, SBFD packets use the Insert encapsulation mode.

As shown in Figure 13, Device A configures an SRv6 TE policy and uses SBFD to detect connectivity for this policy. When using Insert encapsulation for SBFD packets, Device A constructs an SBFD packet with its local IPv6 address a as the source address and inserts the endpoint address e of the SRv6 TE policy to the SL=0 position in the SID list. When Device D receives the SBFD packet, it performs decapsulation on the IPv6 and SRH headers. Then, it uses IPv6 address a to look up the IPv6 routing table, reconstructs the SBFD packet, and returns the SBFD packet to Device A.

Figure 13 SBFD for SRv6 TE policy with Insert encapsulation

 

As shown in Figure 14, Device A configures an SRv6 TE policy and uses SBFD to detect connectivity for this policy. When using Encaps encapsulation for SBFD packets, Device A constructs an SBFD packet with its local IPv6 address a as the source address and the endpoint address e of the SRv6 TE policy as the destination address. Additionally, it encapsulates the SBFD packet with an outer IPv6 header and an SRH header, using IPv6 address a as the IPv6 header's source address. When Device D receives the SBFD packet, it performs decapsulation on the outer IPv6 and SRH headers. Then, it uses IPv6 address a to look up the IPv6 routing table, reconstructs the SBFD packet, and returns the SBFD packet to Device A.

Figure 14 SBFD for SRv6 TE policy with Encaps encapsulation

 

 

NOTE:

Because SBFD responses are forwarded according to the IPv6 routing table lookup, all SBFD sessions for the SRv6 TE policies that have the same source and destination nodes use the same path to send responses. A failure of the SBFD response path will cause all the SBFD sessions to be down and packets cannot be forwarded through the SRv6 TE policies.

SBFD for SRv6 TE policy by using specific reverse path

By default, the SBFD return packets used for SRv6 TE policy connectivity detection are forwarded based on the IP forwarding path. If a transit node fails, all the return packets will be discarded, and the SBFD sessions will go down as a result. If multiple SRv6 TE policies exist between the source and endpoint nodes, SBFD will mistakenly determine that the SID lists of all SRv6 TE policies are faulty.

To resolve this issue, you can enable SBFD return packets to be forwarded based on the specified SID list. Generally for SRv6 TE policies, the path specified for SBFD return packets (reverse path) is consistent with the path for forwarding SBFD packets (forward path). This scenario is known as SBFD forward and reverse path consistency.

You can specify the SBFD reverse path by specifying a reverse BSID.

As shown in Figure 15, the reverse BSID method is implemented as follows (using the Insert encapsulation mode):

1.     Create an SRv6 TE policy on both Device A and Device D, named AtoD and DtoA, respectively. The forwarding path for SRv6 TE policy AtoD is A > B > C > D and that for SRv6 TE policy DtoA is D > F > E > A. On Device D, assign local BSID x to SID list D > F > E > A.

2.     Enable SBFD for SRv6 TE policy AtoD on Device A, and set the reverse BSID for SBFD return packets to x, which is the same as the local BSID specified on Device D. When Device A sends an SBFD packet, it encapsulates an Aux Path TLV (TLV for the backup path) in the packet, which includes the reverse BSID.

3.     When Device D receives the SBFD packet, it compares the reverse BSID in the packet with the local BSID. If they are the same, Device D re-encapsulates the IPv6 header and SRH for the return SBFD packet, where the SRH contains the SID list associated with the local BSID.

4.     The return packet will then follow path D > F > E > A in the SID list back to Device A.

Figure 15 SBFD for SRv6 TE policy by using specific reverse path (reverse BSID)

 

SRv6 TE policy transit node protection

Protection path failure

The SID list of an SRv6 TE policy specifies the nodes or links that packets must traverse. As shown in Figure 16, node A forwards packets to node F through an SRv6 TE policy. The optimal candidate path's SID list in the SRv6 TE policy includes the End.SID of node D and the End.SID of the egress node F. Therefore, forwarded packets must pass through node D before reaching node F. When node D fails, even if TI-LFA FRR is enabled on the upstream node B, the backup path calculated by TI-LFA FRR still uses node D's End.SID as the destination address. As a result, the backup path cannot bypass node D, failing to achieve the intended protection effect.

Figure 16 Protection path failure

 

Transit node protection (SRv6 TE FRR)

By enabling the transit node protection (SRv6 TE FRR) feature on upstream node B (the node preceding the mandatory node D), node B can perform proxy forwarding to bypass the failed transit node D and complete packet forwarding. This resolves the issue where TI-LFA FRR cannot circumvent failures of mandatory transit nodes. The upstream node is called a proxy forwarding node.

After SRv6 TE FRR is enabled on a node, upon receiving a packet that contains an SRH and the SL in the SRH is greater than 0 (SL>0), the node will act as a proxy forwarding node in any of the following scenarios:

·     The node does not find a matching forwarding entry in the IPv6 FIB.

·     The next hop address of the packet is the destination address of the packet, and the outgoing interface for the destination address is in DOWN state.

·     The matching local SRv6 SID is an END.X SID, and the outgoing interface for the END.X SID is in DOWN state.

·     The outgoing interface in the matching route is NULL0.

A proxy forwarding node forwards packets as follows:

·     Decrements the SL value in the SRH of a packet by 1.

·     Copies the next SID to the DA field in the outer IPv6 header, so as to use the SID as the destination address of the packet.

·     Looks up the forwarding table by the destination address and then forwards the packet.

In this way, the proxy forwarding node bypasses the fault node. This transit node failure protection technology is referred to as SRv6 TE FRR.

Figure 17 SRv6 TE FRR for transit node failure protection

 

As shown in Figure 17, after a packet is steered into an SRv6 TE policy, the packet is forwarded as instructed by the SID list {d, f}.

When node D fails, the node failure protection process is as follows:

1.     Upstream node B detects that the next hop of the packet is faulty. In this situation, the output interface for the destination address of the packet is in DOWN state, and the SL value is greater than 0. Therefore, node B performs the proxy forwarding behavior: Decrements the SL value by 1, copies the next SID to the DA field in the outer IPv6 header, and then forwards the packet according to the SID (destination address of the packet). Because the SL value is now 0, node B can remove the SRH and then search the corresponding table to forward the packet based on the destination address (f).

2.     Node B forwards the packet as follows:

¡     If the route to node F is converged (the next hop in the route is node C), node B uses the converged shortest path to forward the packet to node C.

¡     If the route to node F is not converged (the primary next hop in the route is node D), node B uses the TI-LFA computed backup path to forward packet. The backup path's repair list is <c1>. Therefore, node B encapsulates an SRH to the packet to add backup path Segment List c1, and then forwards the packet over the backup path to node F.

Special processing on the source node

If source node A (ingress node) of the SRv6 TE policy detects the failure of node D (the first SID in the SID list is unreachable), node A then places the SRv6 TE policy to the down state. The device cannot forward packets through the SRv6 TE policy or trigger SRv6 TE FRR.

To resolve this issue, enable the bypass feature for the SRv6 TE policy on the source node. This feature enables the source node to generate a route that uses the first SID as the destination address and the NULL0 interface as the outgoing interface. The route ensures that the SRv6 TE policy is in up state when the first SID is unreachable, so as to trigger SRv6 TE FRR.

After node A triggers SRv6 TE FRR, node A decrements the SL value by 1, copies the next SID (f) to the DA field in the outer IPv6 header, and then forwards the packet to node B according to the SID (destination address of the packet).

When node B receives the packet, it processes the packet as follows:

·     If the route to node F is converged (the next hop in the route is node C), node B uses the converged shortest path to forward the packet to node C.

·     If the route to node F is not converged (the primary next hop in the route is node D), node B uses the TI-LFA computed backup path to forward the packet to node F.

SRv6 egress protection

In IP L3VPN over SRv6/EVPN L3VPN over SRv6/EVPN VPLS over SRv6/EVPN VPWS over SRv6/public IP over SRv6 networks, when the public tunnel is an SRv6 tunnel, a failure at the egress node of the SRv6 tunnel prevents packets from being forwarded by the egress PE device to the CE device. Therefore, protection for the egress node of the SRv6 tunnel is necessary.

SRv6 egress node protection is achieved by dual-homing the CE to PE devices. As a result, this mechanism is only applicable to dual-homing network scenarios and requires the egress PE and the backup PE (providing protection for the egress node) to maintain identical forwarding entries.

 

IMPORTANT

IMPORTANT:

SRv6 TE policy egress protection is not supported in EVPN VPLS over SRv6 and EVPN VPWS over SRv6 networks if dual homing is configured in the networks and the redundancy mode is single-active.

SRv6 egress node protection is not only effective for scenarios where SRv6 TE policy serves as the tunnel, but also works in network deployments using SRv6 BE forwarding mode.

 

Deploy an SRv6 TE policy between PE 1 and PE 3. PE 3 is the egress node (endpoint node) of the SRv6 TE policy. To improve forwarding reliability, CE 2 is dual-homed to PE 3 and PE 4.

End.M SID

In SRv6 TE policy egress protection, an End.M SID is used to protect the SRv6 SIDs in a specific locator. If an SRv6 SID advertised by the remote device (PE 3 in this example) is within the locator, the protection node (PE 4) uses the End.M SID to protect that SRv6 SID (remote SRv6 SID).

PE 4 takes different actions as instructed by an End.M SID in different network scenarios:

·     MPLS/EVPN L3VPN over SRv6 TE policy scenario

a.     Removes the outer IPv6 header to obtain the remote SRv6 SID from the inner packet.

b.     Searches the remote SRv6 SID and VPN instance mapping table to find the VPN instance mapped to the remote SRv6 SID.

c.     Forwards the packet by looking up the routing table of the VPN instance.

·     EVPN VPWS over SRv6 TE policy scenario

a.     Removes the outer IPv6 header to obtain the remote SRv6 SID from the inner packet.

b.     Searches the remote SRv6 SID and cross-connect mapping table to find the cross-connect mapped to the remote SRv6 SID.

c.     Forwards the packet to the AC associated with the cross-connect.

In this scenario, the remote SRv6 SID can only be an End.DX2 SID.

·     EVPN VPLS over SRv6 TE policy scenario

a.     Removes the outer IPv6 header to obtain the remote SRv6 SID from the inner packet.

b.     Searches the remote SRv6 SID and VSI mapping table to find the VSI mapped to the remote SRv6 SID.

c.     Forwards the packet according to the MAC address forwarding table of the VSI.

In this scenario, the remote SRv6 SID can only be an End.DT2U SID.

Remote SRv6 SID

PE 4 receives a BGP route from PE 3. If the SRv6 SID in the BGP route is within the locator protected by the End.M SID on PE 4, PE 4 regards the SRv6 SID as a remote SRv6 SID and generates a mapping between the remote SRv6 SID and the VPN instance, cross-connect, or VSI.

When the adjacency between PE 4 and PE 3 breaks, PE 4 deletes the BGP route received from PE 3. As a result, the remote SRv6 SID and VPN instance/cross-connect/VSI mapping will be deleted, resulting in packet loss. To avoid this issue, you can configure the mappings deletion delay time on PE 4 to ensure that traffic is forwarded through PE 4 before PE 1 knows the PE 3 failure and computes a new forwarding path.

Route advertisement

The route advertisement procedure is similar in IP L3VPN, EVPN L3VPN, EVPN VPWS, or EVPN VPLS over SRv6 TE policy egress protection scenarios. The following example describes the route advertisement in an IP L3VPN over SRv6 TE policy egress protection scenario.

The FRR path is generated on P 1 as follows:

1.     PE 4 advertises the End.M SID and the protected locator to P 1 through an IS-ISv6 route. Meanwhile, PE 4 generates a local SID entry for the End.M SID.

2.     After P1 receives the End.M SID and the route for the protected locator from PE4, P1 installs a mirror FRR backup path for the protected locator, with PE4 as the next hop. To ensure that traffic does not pass through the faulty PE3 and arrives at PE4 without a loop, a TI-LFA FRR backup path is typically calculated, and the End.M SID is pushed to the end of the SID list for the TI-LFA FRR backup path.

On PE 4, a <remote SRv6 SID, VPN instance > mapping entry is generated as follows:

1.     Upon receiving the private route from CE 2, PE 3 encapsulates the route as a VPNv4 route and sends it to PE 4. The VPNv4 route carries the SRv6 SID, RT, and RD information.

2.     After PE 4 receives the VPNv4 route, it obtains the SRv6 SID and the VPN instance. Then, PE 4 performs longest matching of the SRv6 SID against the locators protected by End.M SIDs. If a match is found, PE 4 uses the SRv6 SID as a remote SRv6 SID and generates a <remote SRv6 SID, VPN instance> mapping entry.

Packet forwarding

The packet forwarding procedure is similar in IP L3VPN, EVPN L3VPN, EVPN VPWS, or EVPN VPLS over SRv6 TE policy egress protection scenarios. The following example describes the packet forwarding in an IP L3VPN over SRv6 TE policy egress protection scenario.

Typically, traffic is forwarded along the CE 1-PE 1-P 1-PE 3-CE 2 path. When the egress node PE 3 fails, a packet is forwarded as follows:

Upon detecting that the next hop PE 3 is unreachable, P 1 switches to the mirror FRR path. In this example, the optimal link from P 1 to PE 4 does not require traversing PE 3, eliminating the need to encapsulate the TI-LFA FRR SID list. Instead, P 1 directly encapsulates the packet with an IPv6 header, sets the destination address to the End.M SID, and forwards it to PE 4.

PE 4 identifies the destination address as its local End.M SID. Following the forwarding instruction associated with the End.M SID, PE 4 removes the outer IPv6 header to access the inner packet. It then queries the remote SRv6 SID-to-VPN instance mapping table based on the inner packet’s destination address to locate the corresponding VPN instance 1. Finally, PE 4 consults the routing table of VPN instance 1 to forward the traffic to CE 2.

IPR for SRv6 TE policies

About IPR for SRv6 TE policies

IPR for SRv6 TE policy is a dynamic priority technology for SRv6 TE policy tunnels. This feature can dynamically select the optimal SRv6 TE policy from multiple SRv6 TE policy tunnels based on the detected network quality and bandwidth usage of the forwarding egress, and use the selected SRv6 TE policy to forward specific service traffic.

IPR for SRv6 TE policy can optimize SRv6 TE policy tunnels in two ways:

·     Network quality of the tunnel—Optimize by selecting SRv6 TE policy tunnels that meet the quality standards based on real-time iFIT measurements of latency, jitter, and packet loss for different SRv6 TE policy tunnels, to avoid degradation of service quality.

·     Bandwidth usage of the tunnel egress interface—Optimize by selecting SRv6 TE policy tunnels based on the bandwidth usage of the egress interfaces for different SRv6 TE policy tunnels, switching service traffic to a less loaded SRv6 TE policy tunnel in advance to avoid exceeding the bandwidth usage threshold and causing packet loss.

You can configure the system to meet both the network quality and the bandwidth usage conditions of the tunnel egress interface. You can also configure the system to ignore the bandwidth usage condition and optimize the SRv6 TE policy based only on network quality.

Optimal tunnel selection based on SRv6 TE policy network quality

Establish an SRv6 TE policy group between two nodes in the network, which contains multiple SRv6 TE policy tunnels. The network quality of different SRv6 TE policy tunnels in the SRv6 TE policy group might vary and change in real time. You can use Intelligent Policy Route (IPR) to automatically switch over traffic in one forwarding path to another forwarding path based on the network quality of the SRv6 TE policy tunnels. IPR ensures that service traffic is always forwarded through a forwarding path that meets the network quality requirements.

The IPR feature of SRv6 TE policies uses the real-time network quality measurement capability of iFIT to evaluate the network quality of SRv6 TE policy tunnels. The feature excludes SRv6 TE policy tunnels that do not meet the network quality requirements based on the measurement results of iFIT, finds the SRv6 TE policy tunnel with the highest priority through calculation, and steers traffic to this SRv6 TE policy tunnel for forwarding.

Figure 18 Optimal tunnel selection based on SRv6 TE policy network quality

 

Optimal tunnel selection based on SRv6 TE policy network quality and egress interface bandwidth usage

Two nodes in the network establish an SRv6 TE policy group, which contains multiple SRv6 TE policy tunnels. The network quality of different SRv6 TE policy tunnels meets the network quality standards defined in the SRv6 TE IPR policy. However, due to the high volume of service traffic and heavy network load, the bandwidth usage of some egress interfaces remains high. When the designated service traffic is forwarded through the SRv6 TE policy group, users hope that the service traffic not only meets the tunnel's network quality standards but also automatically switches the forwarding path based on the bandwidth usage of the SRv6 TE policy tunnel's egress interfaces to avoid congestion and packet loss, ensuring the quality of service for traffic forwarding.

After you enable traffic forwarding statistics in the SRv6 TE policy, IPR periodically collects statistics on traffic forwarding in the SRv6 TE policy. It calculates the bandwidth usage of each egress interface of the SRv6 TE policy tunnels after carrying the designated service. Based on these results, it excludes SRv6 TE policy tunnels that do not meet the requirements and selects the tunnel with the highest current priority that satisfies both the network quality and bandwidth usage requirements, guiding the traffic to be forwarded through this SRv6 TE policy tunnel.

SRv6 TE policy IPR operating mechanism

IPR for SRv6 TE policy is mainly accomplished through the collaboration of the following functions:

·     Data collection and statistics—The iFIT measurement and traffic statistics functions of SRv6 TE policies.

·     Path selection and calculation—The IPR path calculation function of SRv6 TE policies.

·     Traffic steering and forwarding—The function of steering service traffic to an IPR policy.

Data collection and statistics

iFIT measurement

Configure iFIT on the ingress and egress nodes of each SRv6 TE policy to measure the end-to-end packet loss rate, delay, and jitter of each SRv6 TE policy. The ingress node analyzes and calculates the real-time packet loss rate, delay, and jitter data for each SRv6 TE policy. iFIT uses the following procedure to measure the network quality of an SRv6 TE policy:

1.     The ingress node, which operates in analyzer operating mode, automatically creates an iFIT instance and assigns a flow ID to the instance.

2.     Acts as the data sender, the ingress node encapsulates the original packets with the DOH header carrying the iFIT option field and the SRH header when it forwards the packets through the SRv6 TE policy. The iFIT option field contains a flow ID that identifies a target flow, the L bit (packet loss measurement color bit), the D bit (delay measurement color bit), and the measurement interval. The ingress node colors the L and D bits of the packets within an iFIT measurement interval. It then performs the following operations:

¡     Uses the color information of the packets to count the number of packets transmitted through the SRv6 TE policy within the measurement interval.

¡     Records the timestamps of the packets with the D bit set to 1 and sent through the SRv6 TE policy within the measurement interval.

3.     Acts as the data receiver, the egress node, which operates in collector operating mode, parses the iFIT option field in packets to obtain iFIT measurement information (including the measurement interval) for the SRv6 TE policy. It then performs the following operations:

¡     Uses the color information of the packets to count the number of packets received through the SRv6 TE policy within the measurement interval.

¡     Records the timestamps of the packets with the D bit set to 1 and received through the SRv6 TE policy within the measurement interval.

4.     The egress node performs the following operations:

¡     Establishes a UDP session with the ingress node through the ingress address of the received packets.

¡     Returns the packet count statistics and packet timestamps to the ingress node through the UDP session according to the iFIT measurement interval of the SRv6 TE policy.

5.     The ingress node analyzes and calculates the packet loss rate, delay, and jitter of the packets forwarded through the SRv6 TE policy.

Traffic statistics

All SRv6 TE policies in the IPR policy must have the traffic forwarding statistics feature enabled. After service traffic is directed to an SRv6 TE policy within the IPR policy for forwarding, IPR can activate the bandwidth sampling feature to periodically collect real-time traffic statistics for each SRv6 TE policy, as well as traffic statistics for the egress interfaces of each SRv6 TE policy.

Path selection and calculation

Path selection

As shown in Figure 19, the source node of SRv6 TE policies periodically calculates the current optimal SRv6 TE policy based on the following items:

·     The packet loss rate, delay, and jitter data measured by iFIT for different SRv6 TE policies.

·     The egress interface bandwidth usage and path selection priority of each SRv6 TE policy.

IPR path calculation requires IPR policies. An IPR policy is an SLA-based policy for selecting the optimal SRv6 TE policy. You can define the following contents in an IPR policy:

·     SLA thresholds for service traffic, including the delay threshold, packet loss rate threshold, jitter threshold, and Composite Measure Indicator (CMI) threshold. CMI is calculated by using the following formula: CMI = delay (ms) + jitter (ms) + packet loss rate ().

·     To calculate and optimize the tunnel egress interface load: upper limit of bandwidth usage threshold, bandwidth usage threshold for service switchover, expected service bandwidth, and precedence of switchover scheduling.

·     Mappings between color attribute values of SRv6 TE policies and path selection priority values. The smaller the value, the higher the priority.

·     Switchover period between SRv6 TE policies and WTR period.

IPR path calculation based on tunnel network quality works as follows:

1.     The source node periodically performs path calculation according to the IPR calculation period. When calculating the optimal SRv6 TE policy, it first measures whether the delay, packet loss rate, jitter, and CMI values of each SRv6 TE policy cross the SLA thresholds defined in an IPR policy. If any of the values crosses an SLA threshold, the source node does not use the SRv6 TE policy as a candidate forwarding path to participate in optimal SRv6 TE policy selection. If iFIT fails to measure the delay, packet loss rate, jitter, and CMI values of an SRv6 TE policy, but the SRv6 TE policy is valid, it can still be used as a candidate path for path selection.

2.     The source node selects the SRv6 TE policy with the smallest path selection priority value from the candidate SRv6 TE policies as the optimal SRv6 TE policy. If multiple SRv6 TE policies have the same path selection priority, they can load share traffic.

3.     When the source node of SRv6 TE policies calculates a different optimal SRv6 TE policy than the one currently used by a service, it does not immediately switch over the traffic of that service to the new optimal SRv6 TE policy. Instead, it waits for a switchover period. This mechanism prevents SRv6 TE policy flapping from causing frequent forwarding path switchover for service traffic.

Figure 19 Diagram for IPR path calculation

 

IPR path calculation based on tunnel egress bandwidth usage works as follows:

1.     The ingress node periodically performs path calculation at the IPR calculation interval. When calculating the optimal SRv6 TE policy, IPR calculates the expected average bandwidth usage of the SRv6 TE policies. The expected average bandwidth usage of the SRv6 TE policy is the ratio of the sum of the bandwidth of the new service carried by this SRv6 TE policy and the already used bandwidth of the egress interface to the total bandwidth of the egress interface. The calculation method is as follows:

¡     If the optimal candidate path of the SRv6 TE policy contains only one SID list, and the first SID in that list has only one egress interface, the expected average bandwidth usage of the SRv6 TE policy = (expected service bandwidth + current bandwidth used by the egress interface) / total bandwidth of the egress interface. The expected service bandwidth is determined as follows:

-     Use the real-time statistics of the SRv6 TE policy currently carrying the service as the expected service bandwidth.

-     If the SRv6 TE policy is not carrying the specified service or no traffic statistics exists for the SRv6 TE policy, the SRv6 TE policy service expected bandwidth configured in SRv6 TE policy view is used.

-     If no service expected bandwidth is configured in the SRv6 TE policy view, the SRv6 TE IPR policy service expected bandwidth specified in SRv6 TE IPR policy view is used.

¡     If the optimal candidate path of the SRv6 TE policy contains multiple SID lists or if the first SID in the SID list has multiple equal-cost egress interfaces, the calculation of the expected average bandwidth usage of the SRv6 TE policy is more complex. In such scenarios, the calculation of the expected average bandwidth usage of the SRv6 TE policy cannot accurately reflect the bandwidth usage of each interface. Therefore, when you use IPR for SRv6 TE policy to select the optimal SRv6 TE policy based on bandwidth usage, make sure the optimal candidate path of the SRv6 TE policy contains only one SID list and that this SID list has only one egress interface.

2.     After calculating the expected average bandwidth usage for all SRv6 TE policies, exclude those SRv6 TE policies whose expected average bandwidth usage exceeds the upper limit of the bandwidth usage threshold. Only the SRv6 TE policies that meet the bandwidth usage criteria can be used as candidate paths for path selection.

3.     From the candidate SRv6 TE policies, select the SRv6 TE policy with the smallest routing precedence value as the optimal SRv6 TE policy. If multiple different SRv6 TE policies have the same routing precedence, traffic can be load-shared across these SRv6 TE policies.

4.     When the ingress node of the SRv6 TE policy calculates that the optimal SRv6 TE policy is different from the SRv6 TE policy currently used by the service, to avoid frequent path switching due to SRv6 TE policy flapping, the service traffic will wait for a certain period before switching to the optimal SRv6 TE policy.

 

CAUTION

CAUTION:

·     Selecting the optimal tunnel based on the bandwidth usage of the egress interface serves as an additional capability of IPR for SRv6 TE policy and can be disabled independently. Therefore, when this feature is disabled, the IPR path calculation and selection of the optimal SRv6 TE policy only need to meet the network quality requirements defined in the IPR policy, such as latency, jitter, and packet loss. If the feature is enabled, the bandwidth usage requirements must also be satisfied.

·     When you use IPR for SRv6 TE policy to select the optimal SRv6 TE policy based on bandwidth usage, as a best practice, create SRv6 TE policies referenced by the IPR policy to carry only a single service, and do not reuse the same SRv6 TE policy among different services. For example, the service mapped to TE class ID 1000 should be forwarded through the preferred SRv6 TE policy A (color 100) in the IPR policy. Since IPR performs path optimization based on bandwidth usage by using the real-time traffic statistics of the preferred SRv6 TE policy A to calculate the expected average bandwidth usage of each SRv6 TE policy, if SRv6 TE policy A carries not only the service of TE class ID 1000 but also other services, the real-time traffic statistics will be inaccurate, leading to inaccurate expected average bandwidth usage calculations. SRv6 TE policies with different color values can be created between the ingress node and the egress node to carry other service traffic.

 

Traffic steering and forwarding

Steer service traffic to an IPR policy as follows:

1.     Uses one of the following methods to obtain an SRv6 TE policy group for traffic steering:

¡     Matches the destination IP address in a packet with a tunnel policy associated with an SRv6 TE policy group.

¡     Searches for an SRv6 TE policy group with color and endpoint address matching the color extended community attribute and next hop in a BGP route, and recurses the BGP route to the SRv6 TE policy group.

2.     Configure TE class ID-based traffic steering for the SRv6 TE policy group.

3.     Configure mappings between TE class IDs and IPR policies. The optimal SRv6 TE policy is dynamically selected from the SRv6 TE policy group for forwarding service traffic.


Configuring an SRv6 TE policy

SRv6 TE policy tasks at a glance

To configure an SRv6 TE policy, perform the following tasks:

1.     Configuring IGP-based SID advertisement

Perform this task on each SRv6 node. For more information, see "Configuring IPv6 Segment Routing."

2.     Configuring a SID list

3.     Configuring an SRv6 TE policy

a.     Creating an SRv6 TE policy

b.     Configuring a candidate path

c.     Enter system view.

d.     system-view

e.     (Optional.) Enabling the device to distribute SRv6 TE policy candidate path information to BGP-LS

f.     (Optional.) Shutting down an SRv6 TE policy

4.     (Optional.) Configuring BGP to advertise BGP IPv6 SR policy routes

a.     Enabling BGP to advertise BGP IPv6 SR policy routes

b.     Configuring BGP to redistribute BGP IPv6 SR policy routes

c.     (Optional.) Enabling advertising BGP IPv6 SR policy routes to EBGP peers

d.     (Optional.) Enabling Router ID filtering

e.     (Optional.) Enabling validity check for BGP IPv6 SR policy routes

f.     (Optional.) Configuring BGP to control BGP IPv6 SR policy route selection and advertisement

g.     (Optional.) Maintaining BGP sessions

5.     Configuring SRv6 TE policy traffic steering

6.     (Optional.) Configuring the SRv6 TE policy encapsulation mode

7.     (Optional.) Configuring IPR for SRv6 TE policies

8.     (Optional.) Configuring high availability features for SRv6 TE policy

¡     Enabling SBFD for SRv6 TE policies

¡     Configuring the BFD echo packet mode for SRv6 TE policies

¡     Enabling hot standby for SRv6 TE policies

¡     Configuring path switchover and deletion delays for SRv6 TE policies

¡     Configuring SRv6 TE policy egress protection

9.     (Optional.) Configuring advanced SRv6 TE policy features

¡     Configuring the TTL processing mode of SRv6 TE policies

¡     Configuring SRv6 TE policy CBTS

¡     Enabling the device to drop traffic when an SRv6 TE policy becomes invalid

¡     Specifying the packet encapsulation type preferred in optimal route selection

10.     (Optional.) Configuring traffic forwarding statistics for SRv6 TE policies

Configuring a SID list

About this task

Before you specify a SID list for a candidate path in an SRv6 TE policy, you need to create the SID list and add nodes to the SID list.

After you add nodes to a SID list, the system will sort the nodes in ascending order of node index. The node with the smallest index represents the next hop of the source node on the forwarding path.

To reduce the SRH cost, you can use four 32-bit G-SIDs to represent one normal 128-bit SRv6 SID. In a SID list, you can add a 128-bit SRv6 SID with a COC flavor, indicating that the next node of the current node is a 32-bit G-SID. For more information about G-SIDs, see IPv6 Segment Routing configuration.

Restrictions and guidelines

When you add a G-SID to the SID list, follow these restrictions and guidelines:

·     The SRv6 SID corresponding to the previous node of the G-SID must be an End(COC32) SID or End.X(COC32) SID.

·     The SRv6 SID corresponding to the last node in the SID list cannot carry the COC flavor.

Procedure

1.     Enter system view.

system-view

2.     Enable SRv6 and enter SRv6 view.

segment-routing ipv6

By default, SRv6 is disabled.

3.     Create and enter the SRv6 TE view.

traffic-engineering

4.     Create a SID list and enter its view.

segment-list segment-list-name

5.     Add a node to the SID list.

¡     Add a normal 128-bit SRv6 SID.

index index-number ipv6 ipv6-address

¡     Add a 128-bit SRv6 SID with the COC flavor and specify the length of the common prefix of the next G-SID.

index index-number coc32 ipv6 ipv6-address common-prefix-length

Creating an SRv6 TE policy

Manually creating an SRv6 TE policy and configuring its attributes

About this task

An SRv6 TE policy is identified by the following items: BSID, color, and endpoint.

You can bind a BSID to the policy manually, or set only the color and endpoint attributes of the policy so the system automatically assigns a BSID to the policy. If you use both methods, the manually bound BSID takes effect.

Restrictions and guidelines

The configured BSID must be on the locator specified for SRv6 TE policies in SRv6 TE view. Otherwise, the SRv6 TE policy cannot forward packets. For more information about the locator configuration, see "Configuring IPv6 Segment Routing."

Different SRv6 TE policies cannot have the same color or endpoint IP address.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Specify a locator for SRv6 TE.

srv6-policy locator locator-name

By default, no locator is specified for SRv6 TE.

5.     Enter SRv6 TE policy view.

policy policy-name

6.     Configure a BSID for the policy.

binding-sid ipv6 ipv6-address

7.     Set the color and endpoint attributes.

color color-value end-point ipv6 ipv6-address

By default, the color and endpoint attributes of an SRv6 TE policy are not configured.

Automatically creating SRv6 TE policies by using ODN

About this task

When the device receives a BGP route, if the color extended attribute value of the BGP route is the same as the color value of an ODN template, the device automatically creates an SRv6 TE policy and two candidate paths for the policy. The automatically created candidate paths use preferences 100 and 200.

You can specify an IPv6 prefix list to filter BGP routes. The BGP routes permitted by the specified IPv6 prefix list can trigger ODN to create SRv6 TE policies. The BGP routes denied by the specified IPv6 prefix list cannot trigger ODN to create SRv6 TE policies.

An ODN-created SRv6 TE policy is deleted immediately when the matching BGP route is deleted. To avoid packet loss before the new forwarding path is computed, you can configure a proper deletion delay time for the SRv6 TE policy.

Restrictions and guidelines

You must configure candidate paths for an ODN-created SRv6 TE policy as follows:

1.     Manually create candidate paths that use preferences other than 100 and 200.

2.     Configure the SID lists for the candidate paths.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Specify a locator for SRv6 TE.

srv6-policy locator locator-name

By default, no locator is specified for SRv6 TE.

5.     Create an ODN template and enter SRv6 TE ODN view.

on-demand color color-value

6.     (Optional.) Configure the ODN SRv6 TE policy generation policy.

restrict prefix-list-name

By default, a BGP route can trigger ODN to create an SRv6 TE policy when the route's color attribute value is the same as the ODN color.

Enabling the device to distribute SRv6 TE policy candidate path information to BGP-LS

About this task

After this feature is enabled, the device distributes SRv6 TE policy candidate path information to BGP-LS. BGP-LS advertises the SRv6 TE policy candidate path information in routes to meet application requirements.

Prerequisites

Before you configure this feature, enable the device to exchange LS information with the related peer or peer group. For more information about the LS exchange capability, see the BGP LS configuration in Layer 3—IP Routing Configuration Guide.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Enable the device to distribute SRv6 TE policy candidate path information to BGP-LS.

distribute bgp-ls

By default, the device cannot distribute SRv6 TE policy candidate path information to BGP-LS.

Shutting down an SRv6 TE policy

About this task

This feature controls the administrative state of an SRv6 TE policy.

If multiple SRv6 TE policies exist on the device, you can shut down unnecessary SRv6 TE policies to prevent them from affecting traffic forwarding.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Enter SRv6 TE policy view.

policy policy-name

5.     Shut down the SRv6 TE policy.

shutdown

By default, an SRv6 TE policy is not administratively shut down.

Configuring a candidate path

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Enter SRv6 TE policy view.

policy policy-name

5.     Create and enter SRv6 TE policy candidate path view.

candidate-paths

6.     Set the preference for a candidate path and enter SRv6 TE policy path preference view.

preference preference-value

By default, no candidate path preferences are set.

Each preference represents a candidate path.

7.     Specify an explicit path for the candidate path.

explicit segment-list segment-list-name [ weight weight-value ]

A candidate path can have multiple SID lists.

Configuring BGP to advertise BGP IPv6 SR policy routes

Restrictions and guidelines for BGP IPv6 SR policy routes advertisement

For more information about BGP commands, see Layer 3—IP Routing Commands.

Enabling BGP to advertise BGP IPv6 SR policy routes

1.     Enter system view.

system-view

2.     Configure a global router ID.

router id router-id

By default, no global router ID is configured.

3.     Enable a BGP instance and enter its view.

bgp as-number [ instance instance-name ]

By default, BGP is disabled and no BGP instances exist.

4.     Configure a peer or peer group.

peer { group-name | ipv6-address [ prefix-length ] } as-number as-number

5.     Create the BGP IPv6 SR policy address family and enter its view.

address-family ipv6 sr-policy

6.     Enable BGP to exchange BGP IPv6 SR policy routing information with the peer or peer group.

peer { group-name | ipv6-address [ prefix-length ] } enable

By default, the device cannot use BGP to exchange BGP IPv6 SR policy routing information with a peer or peer group.

Configuring BGP to redistribute BGP IPv6 SR policy routes

About this task

After you configure BGP to redistribute BGP IPv6 SR policy routes, the system will redistribute the local BGP IPv6 SR policy routes to the BGP routing table and advertise the routes to peers. Then, the peers can forward traffic based on the SRv6 TE policy.

Procedure

1.     Enter system view.

system-view

2.     Enter BGP instance view.

bgp as-number [ instance instance-name ]

3.     Enter BGP IPv6 SR policy address family view.

address-family ipv6 sr-policy

4.     Enable BGP to redistribute routes from BGP IPv6 SR policies.

import-route sr-policy

By default, BGP does not redistribute BGP IPv6 SR policy routes.

Enabling advertising BGP IPv6 SR policy routes to EBGP peers

About this task

By default, BGP IPv6 SR policy routes are advertised among IBGP peers. To advertise BGP IPv6 SR policy routes to EBGP peers, you must perform this task to enable the advertisement capability.

Procedure

1.     Enter system view.

system-view

2.     Enter BGP instance view.

bgp as-number [ instance instance-name ]

3.     Enter BGP IPv6 SR policy address family view.

address-family ipv6 sr-policy

4.     Enable advertising BGP IPv6 SR policy routes to EBGP peers.

advertise ebgp enable

By default, BGP IPv6 SR policy routes are not advertised to EBGP peers.

Enabling Router ID filtering

About this task

For the device to process only part of the received BGP IPv6 SR policy routes, you can perform this task to enable filtering the routes by Router ID.

This feature enables the device to check the Route Target attribute of a received BGP IPv6 SR policy route.

·     If the Route Target attribute contains the Router ID of the local device, the device accepts the route and generates an SRv6 TE policy accordingly.

·     If the Route Target attribute does not contain the Router ID of the local device, the device processes the route as follows:

¡     If the bgp-rib-only keyword is not specified in the command, the device drops the route.

¡     If the bgp-rib-only keyword is specified in the command, the device accepts the route but does not generate the corresponding SRv6 TE policy.

When the controller advertises a BGP IPv6 SR policy route to the source node, the transit nodes between the controller and the source node only need to forward the BGP IPv6 SR policy route. They do not need to generate the SRv6 TE policy. In this case, you can execute the router-id filter bgp-rib-only command on the transit nodes. Then, when a transit node receives a BGP IPv6 SR policy route, it forwards the route even if the route's Route Target attribute does not contain the Router ID of the local device. Meanwhile, it does not generate an SRv6 TE policy in order to not affect packet forwarding.

Restrictions and guidelines

To use Router ID filtering, make sure you add Route Target attributes to BGP IPv6 SR policy routes properly by using routing policy or other methods. Otherwise, Router ID filtering might learn or drop BGP IPv6 SR policy routes incorrectly.

Procedure

1.     Enter system view.

system-view

2.     Enter BGP instance view.

bgp as-number [ instance instance-name ]

3.     Enter BGP IPv6 SR policy address family view.

address-family ipv6 sr-policy

4.     Enable Router ID filtering.

router-id filter [ bgp-rib-only ]

By default, Router ID filtering is disabled.

Enabling validity check for BGP IPv6 SR policy routes

About this task

After validity check is enabled for BGP IPv6 SR policy routes, the device determines that a BGP IPv6 SR policy route is invalid and will not preferentially select the route if the route does not contain the IPv4 address format RT extended community attribute or the NO_ADVERTISE community attribute.

You can configure this feature on the RR in networks where the controller and the RR establish BGP peer relationship and the RR establishes BGP peer relationship with the source nodes of multiple SRv6 TE policies.

The RR checks whether the BGP IPv6 SR policy routes issued by the controller carry the IPv4 address format RT attribute or the NO_ADVERTISE attribute. If yes, the RR accepts the routes and reflects the routes that do not carry the NO_ADVERTISE attribute to the source nodes of the SRv6 TE policies.

On the source nodes, you can use the router-id filter command to enable BGP IPv6 SR policy route filtering by router ID. After a source node receives a BGP IPv6 SR policy route, it compares the local router ID with the IPv4 address in the RT attribute of the route. If they are the same, the source node accepts the route. If they are different, the source node drops the route.

Procedure

1.     Enter system view.

system-view

2.     Enter BGP instance view.

bgp as-number [ instance instance-name ]

3.     Enter BGP IPv6 SR policy address family view.

address-family ipv6 sr-policy

4.     Enable validity check for BGP IPv6 SR policy routes.

validation-check enable

By default, validity check for BGP IPv6 SR policy routes is disabled. The device does not check the validity of the BGP IPv6 SR policy routes received from peers or peer groups.

Configuring BGP to control BGP IPv6 SR policy route selection and advertisement

1.     Enter system view.

system-view

2.     Enter BGP instance view.

bgp as-number [ instance instance-name ]

3.     Enter BGP IPv6 SR policy address family view.

address-family ipv6 sr-policy

4.     Specify the local router as the next hop for routes sent to a peer or peer group.

peer { group-name | ipv6-address [ prefix-length ] } next-hop-local

By default, BGP sets the local router as the next hop for all routes sent to an EBGP peer or peer group. BGP does not set the local router as the next hop for routes sent to an IBGP peer or peer group.

5.     Allow a local AS number to exist in the AS_PATH attribute of routes from a peer or peer group, and to set the number of times the local AS number can appear.

peer { group-name | ipv6-address [ prefix-length ] } allow-as-loop [ number ]

By default, the local AS number is not allowed to exist in the AS_PATH attribute of routes from a peer or peer group.

6.     Specify a preferred value for routes received from a peer or peer group.

peer { group-name | ipv6-address [ prefix-length ] } preferred-value value

By default, the preferred value is 0 for routes received from a peer or peer group.

7.     Set the maximum number of routes that can be received from a peer or peer group.

peer { group-name | ipv6-address [ prefix-length ] } route-limit prefix-number [ { alert-only | discard | reconnect reconnect-time } | percentage-value ] *

By default, the number of routes that can be received from a peer or peer group is not limited.

8.     Configure the device as a route reflector and specify a peer or peer group as a client.

peer { group-name | ipv6-address [ prefix-length ] } reflect-client

By default, neither the route reflector nor the client is configured.

9.     Specify an IPv6 prefix list to filter routes received from or advertised to a peer or peer group.

peer { group-name | ipv6-address [ prefix-length ] } prefix-list ipv6-prefix-list-name { export | import }

By default, no prefix list based filtering is configured.

10.     Apply a routing policy to routes incoming from or outgoing to a peer or peer group.

peer { group-name | ipv6-address [ prefix-length ] } route-policy route-policy-name { export | import }

By default, no routing policy is applied to routes incoming from or outgoing to a peer or peer group.

11.     Advertise the COMMUNITY attribute to a peer or peer group.

peer { group-name | ipv6-address [ prefix-length ] } advertise-community

By default, no COMMUNITY attribute is advertised to any peers or peer groups.

12.     Advertise the extended community attribute to a peer or peer group.

peer { group-name | ipv6-address [ prefix-length ] } advertise-ext-community

By default, no extended community attribute is advertised to any peers or peer groups.

13.     Assign a peer or peer group a high priority in BGP route selection.

peer { group-name | ipv6-address [ prefix-length ] } high-priority [ preferred ]

By default, a peer or peer group does not have a high priority in BGP route selection.

14.     Enable the nexthop IP type-based route selection rule.

bestroute nexthop-priority { ipv4 | ipv6 } [ preferred ]

By default, BGP prefers routes with IPv4 next hops during optimal route selection.

Maintaining BGP sessions

To maintain BGP sessions, execute the following commands in user view:

·     Reset BGP sessions for the BGP IPv6 SR policy address family.

reset bgp [ instance instance-name ] { as-number | ipv6-address [ prefix-length ] | all | external | group group-name | internal } ipv6 sr-policy

·     Soft-reset BGP sessions for the BGP IPv6 SR policy address family.

refresh bgp [ instance instance-name ] { ipv6-address [ prefix-length ] | all | external | group group-name | internal } { export | import } ipv6 sr-policy

Configuring SRv6 TE policy traffic steering

Configuring the SRv6 TE policy traffic steering mode

Restrictions and guidelines

This feature does not take effect on L2VPN networks.

Prerequisites

To use color-based traffic steering, you need to add the color extended community to IPv6 unicast routes by using routing policy or other methods. For information about the routing policy configuration, see Layer 3—IP Routing Configuration Guide.

To use tunnel policy-based traffic steering, you need to configure a bound tunnel, preferred tunnel, or load sharing tunnel policy that uses an SRv6 TE policy. For more information about the tunnel policy configuration, see MPLS Configuration Guide.

Procedure

1.     Enter system view.

system-view

2.     Enter BGP instance view.

bgp as-number [ instance instance-name ]

3.     Configure the traffic steering mode for SRv6 TE policies.

sr-policy steering { disable | policy-based }

By default, the device steers data packets to SRv6 TE policies based on colors of the packets.

If you specify the policy-based keyword, the device steers traffic to an SRv6 TE policy based on the bound policy, color, and load sharing tunnel policy in a descending order of priority.

Configuring color-based traffic steering

About this task

To steer traffic to an SRv6 TE policy based on colors, you can configure a color extended community for routes that do not carry a color extended community in the following methods:

·     Configure a routing policy to add a color value to routes.

·     Configure a default color value.

The color value specified in the routing policy is preferred.

Restrictions and guidelines

The default color value applies only to the VPN routes or public network routes learned from a remote PE.

The default color value is used only for SRv6 TE policy traffic steering. It does not used in route advertisement.

Configuring a routing policy to add a color value to routes

1.     Enter system view.

system-view

2.     Enter routing policy node view.

route-policy route-policy-name { deny | permit } node node-number

3.     Set the color extended community attribute for BGP routes.

apply extcommunity color color [ additive ]

By default, no color extended community attribute is set for BGP routes.

4.     Return to system view.

quit

5.     Enter BGP instance view.

bgp as-number [ instance instance-name ]

6.     Enter a BGP address family view as needed:

¡     Enter BGP IPv4 unicast address family view.

address-family ipv4 [ unicast ]

¡     Enter BGP IPv6 unicast address family view

address-family ipv6 [ unicast ]

¡     Enter BGP VPNv4 address family view.

address-family vpnv4

¡     Enter BGP VPNv6 address family view.

address-family vpnv6

¡     Enter BGP EVPN address family view.

address-family l2vpn evpn

7.     Apply the routing policy to filter routes advertised to or received from a peer or peer group.

peer { group-name | ipv6-address [ prefix-length ] } route-policy route-policy-name { export | import }

By default, no routing policy is applied to a peer or peer group.

Configuring a default color value for VPN routes

1.     Enter system view.

system-view

2.     Enter VPN instance view.

ip vpn-instance vpn-instance-name [ index vpn-index ]

3.     Enter IPv4 address family view or IPv6 address family view of the VPN instance.

¡     Enter VPN instance IPv4 address family view.

address-family ipv4

¡     Enter VPN instance IPv6 address family view.

address-family ipv6

4.     Configure a default color value for L3VPN route recursion to an SRv6 TE policy.

default-color color-value [ evpn ]

By default, no default color is configured for L3VPN route recursion to an SRv6 TE policy.

 

 

Configuring a default color value for public network routes

1.     Enter system view.

system-view

2.     Enter pubic instance view.

ip public-instance

3.     Enter public instance IPv4 or IPv6 address family view.

¡     Enter public instance IPv4 address family view

address-family ipv4

¡     Enter public instance IPv6 address family view.

address-family ipv6

4.     Configure a default color value for public network route recursion to an SRv6 TE policy.

default-color color-value

By default, no default color value is configured for public network route recursion to an SRv6 TE policy.

Configuring tunnel policy-based traffic steering

Configuring a tunnel policy

1.     Enter system view.

system-view

2.     Create a tunnel policy and enter tunnel policy view.

tunnel-policy tunnel-policy-name [ default ]

3.     Configure the tunnel policy. Choose the following tasks as needed:

¡     Specify an SRv6 TE policy to be bound with the specified destination IPv6 address.

binding-destination dest-ipv6-address srv6-policy { name policy-name | end-point ipv6 ipv6-address color color-value } [ ignore-destination-check ] [ down-switch ]

By default, no SRv6 TE policy is specified for a tunnel policy.

¡     Specify an SRv6 TE policy as a preferred tunnel of the tunnel policy.

preferred-path srv6-policy name sr-policy-name

By default, no preferred tunnel is specified for a tunnel policy.

¡     Configuring SRv6 TE policy load sharing for the tunnel policy.

select-seq srv6-policy load-balance-number number

By default, no load sharing tunnel policy is configured.

For more information about the tunnel policy commands, see MPLS Command Reference.

Specifying the tunnel policy for a VPN instance

1.     Enter system view.

system-view

2.     Enter a VPN instance view as needed.

¡     Enter VPN instance view.

ip vpn-instance vpn-instance-name

¡     Execute the following commands in sequence to enter VPN instance IPv4 address family view:

ip vpn-instance vpn-instance-name

address-family ipv4

¡     Execute the following commands in sequence to enter VPN instance IPv6 address family view:

ip vpn-instance vpn-instance-name

address-family ipv6

3.     Specify a tunnel policy for the VPN instance.

tnl-policy tunnel-policy-name

By default, no tunnel policy is specified for a VPN instance.

For more information about this command, see MPLS L3VPN commands in MPLS Command Reference.

Configuring DSCP-based traffic steering

About this task

Each SRv6 TE policy in an SRv6 TE policy group has a different color attribute value. By configuring color-to-DSCP mappings for an SRv6 TE policy group, you associate DSCP values to SRv6 TE policies. This allows IPv6 packets containing a specific DSCP value to be steered to the corresponding SRv6 TE policy for further forwarding.

After a packet is steered to an SRv6 TE policy group, the device searches for a matching forwarding policy for the packet based on the DSCP value in the packet and the configuration status of the color match dscp and drop-upon-mismatch enable commands. If the device finds a matching forwarding policy by a match criterion and the forwarding policy is valid, it uses the forwarding policy to forward the packet. If no matching forwarding policy is found or the matching forwarding policy is invalid, the device proceeds to use the next match criterion to find a matching forwarding policy. The procedure to find a matching forwarding policy is as follows:

1.     Matches the DSCP value in the packet with the mappings configured by using the color match dscp command for the address family of the packet. If a match is found, the device uses the matching SRv6 TE policy to forward the packet.

2.     Uses the default SRv6 TE policy specified by using the color match dscp default command for the address family of the packet to forward the packet.

3.     Uses the default SRv6 TE policy specified by using the color match dscp default command for the other address family to forward the packet.

4.     Handles the packet according to whether the drop-upon-mismatch enable command is used.

¡     If the drop-upon-mismatch enable command is used, the device discards the packet.

¡     If the drop-upon-mismatch enable command is not used, the device identifies whether the SRv6 TE policy group is configured with color-to-DSCP mappings in the current address family:

-     If yes, the device searches the current address family for a mapping with the smallest DSCP value and a valid SRv6 TE policy. The device will use that SRv6 TE policy to forward the packet.

-     If not, the device turns to other address families (where the SRv6 TE policy group is configured with color-to-DSCP mappings) for a mapping with the smallest DSCP value and a valid SRv6 TE policy. The device will use that SRv6 TE policy to forward the packet.

Restrictions and guidelines

You can map the color values of only valid SRv6 TE policies to DSCP values.

You can configure color-to-DSCP mappings separately for the IPv4 address family and IPv6 address family. For a specific address family, a DSCP value can be mapped to only one color value.

Use the color match dscp default command to specify the default SRv6 TE policy for an address family. If no SRv6 TE policy in an SRv6 TE policy group matches a specific DSCP value, the default SRv6 TE policy is used to forward packets containing the DSCP value. Only one default SRv6 TE policy can be specified for an address family.

Manually creating an SRv6 TE policy group

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Create an SRv6 TE policy group and enter its view.

policy-group group-id

5.     Configure the endpoint IPv6 address for the SRv6 TE policy group.

end-point ipv6 ipv6-address

By default, no endpoint IPv6 address is configured for the SRv6 TE policy group.

The destination node address of each color-associated SRv6 TE policy in the SRv6 TE policy group must be the same as the endpoint IPv6 address of the SRv6 TE policy group.

6.     (Optional.) Create the color value for the SRv6 TE policy group.

group-color color-value

By default, the color value is not configured for an SRv6 TE policy group.

7.     (Optional.) Configure a BSID for the SRv6 TE policy group.

binding-sid ipv6 ipv6-address

By default, no BSID is configured for an SRv6 TE policy group.

8.     (Optional.) Enable the feature of discarding packets that do not match any valid SRv6 TE policy.

drop-upon-mismatch enable

By default, this feature is disabled.

9.     Create color-to-DSCP mappings for the SRv6 TE policy group.

color color-value match dscp { ipv4 | ipv6 } dscp-value-list

color color-value match dscp { ipv4 | ipv6 } default

By default, no color-to-DSCP mappings are created for the SRv6 TE policy group.

DSCP-based traffic steering cannot function if no color-to-DSCP mappings are created.

10.     Return to system view.

quit

11.     Create a tunnel policy and enter tunnel policy view.

tunnel-policy tunnel-policy-name [ default ]

12.     Bind the SRv6 TE policy group to a destination IP address.

binding-destination dest-ip-address sr-policy group sr-policy-group-id [ ignore-destination-check ] [ down-switch ]

By default, a tunnel policy does not bind any SRv6 TE policy group to a destination IP address.

For more information about the command, see tunnel policy commands in MPLS Command Reference.

Automatically creating an SRv6 TE policy group by ODN

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Create an ODN template for creating SRv6 TE policy groups and enter SRv6 TE ODN policy group view.

on-demand-group color color-value

5.     (Optional.) Configure the description of the SRv6 TE policy group ODN template.

description text

By default, the description of the SRv6 TE policy group ODN template is not configured.

6.     (Optional.) Enable the feature of discarding packets that do not match any valid SRv6 TE policy.

drop-upon-mismatch enable

By default, this feature is disabled.

7.     Create the DSCP forward type and enter its view.

forward-type dscp

8.     Create color-to-DSCP mappings for the SRv6 TE policy group ODN template.

color color-value match dscp { ipv4 | ipv6 } dscp-value-list

color color-value match dscp { ipv4 | ipv6 } default

By default, no color-to-DSCP mappings are created for the SRv6 TE policy group ODN template.

This command is required to implement DSCP-based traffic steering.

Steering traffic to an SRv6 TE policy group

1.     Enter system view.

system-view

2.     Configure traffic steering to an SRv6 TE policy group.

a.     Create a tunnel policy and enter tunnel policy view.

tunnel-policy tunnel-policy-name [ default ]

b.     Bind the SRv6 TE policy group to a destination IP address.

binding-destination dest-ipv6-address srv6-policy group srv6-policy-group-id [ ignore-destination-check ] [ down-switch ]

By default, a tunnel policy does not bind any SRv6 TE policy group to a destination IP address.

For more information about the command, see tunnel policy commands in MPLS Command Reference.

c.     Configure color-based traffic steering.

For more information, see "Configuring color-based traffic steering."

Specify a color value as the color extended community attribute of BGP routes in the routing policy according to the creation method of the SRv6 TE policy group.

-     If the SRv6 TE policy group is manually created, the specified color value must be the color value of the SRv6 TE policy group.

-     If the SRv6 TE policy group is automatically created by ODN, the specified color value must be the color value of the ODN template.

Configuring TE class ID-based traffic steering

About this task

When service packets are steered to an SRv6 TE policy group and the SRv6 TE policy group uses TE class ID-based traffic steering, the device matches the TE class ID in the packets with the mappings between TE class IDs and forwarding policies. If a matching mapping is found, the device forwards the packets according to the matching forwarding policy. The device selects a matching forwarding policy as follows:

·     If the TE class ID in a packet is mapped to a color attribute value, the device steers the packet to the SRv6 TE policy containing the color attribute value.

·     If the TE class ID in a packet is mapped to an IPR policy, the device uses the path selection policy defined in the IPR policy to steer the packet to the optimal SRv6 TE policy for forwarding.

·     If the TE class ID in a packet is mapped to the SRv6 BE mode, the device forwards the packet in SRv6 BE mode. In this mode, the device encapsulates a new IPv6 header in the packet and looks up the IPv6 routing table to forward the packet.

·     The device uses the default forwarding policy to forward the following packets after the packets are steered to the SRv6 TE policy group for forwarding:

¡     The packets that do not have a TE class ID.

¡     The packets that have a TE class ID not mapped to any forwarding policy specified by using the index te-class match command.

¡     The packets that have a TE class ID mapped to an invalid forwarding policy.

After the traffic is directed to an SRv6 TE policy group, when packets are forwarded according to the default forwarding policy, the device selects a forwarding method in the following order:

1.     If a color attribute value or an IPR policy is specified in the default forwarding policy and the SRv6 TE policy used to forward the packets are valid, the device steers the packets to that SRv6 TE policy for forwarding.

2.     If the SRv6 BE mode is specified in the default forwarding policy and the SRv6 BE mode is valid, the device encapsulates a new IPv6 header to the packets and looks up the IPv6 routing table to forward the packets.

3.     If the default match command is not executed, or the forwarding policy configured by using the default match command is invalid, the device handles the packet depending on whether the drop-upon-mismatch enable command is used.

¡     If the drop-upon-mismatch enable command is used, the device discards the packet.

¡     If the drop-upon-mismatch enable command is not used, the device identifies whether TE class ID-to-forwarding policy mappings are configured by using the index te-class match command. If yes, the device searches for a mapping with the smallest index value and a valid forwarding policy. The device will use the SRv6 TE policy pointed by the mapping to forward the packet or forward the packet in SRv6 BE mode.

Restrictions and guidelines

One TE class ID can be associated only with one index value.

If you execute the index te-class match command multiple times to configure mappings with the same index value, only the most recent configuration takes effect.

One TE class ID can be mapped only to one forwarding policy. For example,if TE class ID 10 has been mapped to IPR policy ipr1, it cannot be mapped to any other IPR policy, an SRv6 TE policy, or the SRv6 BE mode. If you map one TE class ID to multiple forwarding policies, only the most recent configuration takes effect.

As a best practice, configure different endpoint addresses for different SRv6 TE policy groups. If you configure the same endpoint address for multiple SRv6 TE policy groups, SRv6 TE policies with that endpoint address will belong to multiple SRv6 TE policy groups.

You can configure a maximum of two forwarding methods in the default forwarding policy. However, IPR forwarding and SRv6 TE policy forwarding cannot coexist.

Manually creating an SRv6 TE policy group

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Create an SRv6 TE policy group and enter its view.

policy-group group-id

5.     Configure the endpoint IPv6 address for the SRv6 TE policy group.

end-point ipv6 ipv6-address

By default, no endpoint IPv6 address is configured for an SRv6 TE policy group.

The SRv6 TE policy associated with each color value in the SRv6 TE policy group must use the same endpoint IPv6 address as the SRv6 TE policy group.

6.     (Optional.) Configure the color value for the SRv6 TE policy group.

group-color color-value

By default, the color value is not configured for an SRv6 TE policy group.

7.     (Optional.) Configure the BSID for the SRv6 TE policy group.

binding-sid ipv6 ipv6-address

By default, no BSID is configured for an SRv6 TE policy group.

8.     (Optional.) Enable the feature of discarding packets that do not match any valid SRv6 TE policy or SRv6 BE path.

drop-upon-mismatch enable

By default, this feature is disabled.

9.     Create the TE class forward type and enter its view.

forward-type te-class

By default, DSCP-based traffic steering is used for packets that match an SRv6 TE policy group.

10.     Configure a mapping between a TE class ID and an SRv6 TE policy, an IPR policy, or the SRv6 BE mode.

index index-value te-class te-class-id match { best-effort | ipr-policy ipr-name | srv6-policy color color-value }

By default, no mapping is configured between a TE class ID and an SRv6 TE policy, an IPR policy, or the SRv6 BE mode.

11.     (Optional.) Configure the default forwarding policy for TE class ID-based traffic steering.

default match best-effort

default match { ipr-policy ipr-name | srv6-policy color color-value }

By default, the default forwarding policy is not configured for TE class ID-based traffic steering.

Automatically creating an SRv6 TE policy group by ODN

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Create an ODN template for creating SRv6 TE policy groups and enter SRv6 TE ODN policy group view.

on-demand-group color color-value

5.     (Optional.) Configure the description of the SRv6 TE policy group ODN template.

description text

By default, no description is configured for an SRv6 TE policy group ODN template.

6.     (Optional.) Enable the feature of discarding packets that do not match any valid SRv6 TE policy or SRv6 BE path.

drop-upon-mismatch enable

By default, this feature is disabled.

7.     Create the TE class forward type and enter its view.

forward-type te-class

8.     Configure a mapping between a TE class ID and an SRv6 TE policy, an IPR policy, or the SRv6 BE mode.

index index-value te-class te-class-id match { best-effort | ipr-policy ipr-name | srv6-policy color color-value }

By default, no mapping is configured between a TE class ID and an SRv6 TE policy, an IPR policy, or the SRv6 BE mode.

9.     (Optional.) Configure the default forwarding policy for TE class ID-based traffic steering.

default match best-effort

default match { ipr-policy ipr-name | srv6-policy color color-value }

By default, the default forwarding policy is not configured for TE class ID-based traffic steering.

Steering traffic to an SRv6 TE policy group

1.     Enter system view.

system-view

2.     Configure traffic steering to an SRv6 TE policy group.

¡     Execute the following commands in sequence to configure a tunnel policy to steer traffic to an SRv6 TE policy group:

-     Create a tunnel policy and enter tunnel policy view.

tunnel-policy tunnel-policy-name [ default ]

-     Bind an SRv6 TE policy group to a destination IP address.

binding-destination dest-ipv6-address srv6-policy group srv6-policy-group-id [ ignore-destination-check ] [ down-switch ]

By default, a tunnel policy does not bind any SRv6 TE policy group to a destination IP address.

For more information about the commands, see tunnel policy commands in MPLS Command Reference.

¡     Configure color-based traffic steering.

For more information, see "Configuring color-based traffic steering."

Specify a color value as the color extended community attribute of BGP routes in the routing policy according to the creation method of the SRv6 TE policy group.

-     If the SRv6 TE policy group is manually created, the specified color value must be the color value of the SRv6 TE policy group.

-     If the SRv6 TE policy group is automatically created by ODN, the specified color value must be the color value of the ODN template.

Configuring static route-based traffic steering

Restrictions and guidelines

After configuring this feature in the IP public network over SRv6 network, execute the route-replicate command in public instance IPv4/IPv6 address family view. Use this command to replicate routes from the specified VPN instance to the public network for forwarding user traffic.

Procedure

1.     Enter system view.

system-view

2.     Configure static-route based traffic steering to an SRv6 TE policy.

¡     Configure an IPv4 static route for steering matching traffic to an SRv6 TE policy.

Public network:

ip route-static dest-address { mask-length | mask } srv6-policy { color color-value end-point ipv6 ipv6-address | name policy-name } [ preference preference ] [ tag tag-value ] [ description text ]

VPN:

ip route-static vpn-instance s-vpn-instance-name dest-address { mask-length | mask } srv6-policy { color color-value end-point ipv6 ipv6-address | name policy-name } [ preference preference ] [ tag tag-value ] [ description text ]

By default, no IPv4 static routes are configured.

For more information about this command, see static routing configuration in Layer 3—IP Routing Configuration Guide.

¡     Configure an IPv6 static route for steering matching traffic to an SRv6 TE policy.

Public network:

ipv6 route-static ipv6-address prefix-length srv6-policy { color color-value end-point ipv6 ipv6-address | name policy-name } [ preference preference ] [ tag tag-value ] [ description text ]

VPN:

ipv6 route-static vpn-instance s-vpn-instance-name ipv6-address prefix-length srv6-policy { color color-value end-point ipv6 ipv6-address | name policy-name } [ preference preference ] [ tag tag-value ] [ description text ]

By default, no IPv6 static routes are configured.

For more information about this command, see IPv6 static routing configuration in Layer 3—IP Routing Configuration Guide.

Configuring QoS policy-based traffic steering

About this task

When some public IPv6 flows are congested, you can configure traffic classification to identify the flows and redirect the traffic to SRv6 TE policies to resolve the congestion. Traffic redirection to SRv6 TE policies is based on endpoint and color. If traffic cannot match the redirect rule or the redirect SRv6 TE policy fails, the traffic cannot be forwarded through an SRv6 TE policy but through normal IPv6 forwarding.

Restrictions and guidelines

For more information about QoS policy commands, see ACL and QoS Command Reference.

Procedure

1.     Define a traffic class:

a.     Enter system view.

system-view

b.     Create a traffic class and enter traffic class view.

traffic classifier classifier-name [ operator { and | or } ]

c.     Configure a match criterion.

if-match [ not ] match-criteria

By default, no match criterion is configured.

For more information, see the if-match command in ACL and QoS Command Reference.

2.     Define a traffic behavior:

a.     Create a traffic behavior and enter traffic behavior view.

traffic behavior behavior-name

b.     Redirect the matching traffic to an SRv6 TE policy.

redirect srv6-policy endpoint color [ { sid | vpnsid } sid ]

By default, no traffic behavior is configured.

3.     Define and apply a QoS policy:

a.     Create a QoS policy and enter QoS policy view.

qos policy policy-name

b.     Associate a traffic class with a traffic behavior to create a class-behavior association in the QoS policy.

classifier classifier-name behavior behavior-name

By default, a traffic class is not associated with a traffic behavior.

c.     Return to system view.

quit

d.     Apply the QoS policy.

For more information, see QoS policy configuration in ACL and QoS Configuration Guide.

By default, no QoS policy is applied.

Configuring Flowspec-based traffic steering

Creating and activating an IPv6 Flowspec rule

1.     Enter system view.

system-view

2.     Create an IPv6 Flowspec rule and enter IPv6 Flowspec rule view.

flow-route flowroute-name ipv6

3.     Configure a match criterion.

if-match match-criteria

By default, no match criterion is configured.

4.     Redirect packets to an SRv6 TE policy.

apply redirect next-hop ipv6-address color color [ sid sid-value ]

By default, no action is configured.

5.     Commit match criteria and actions.

commit

By default, match criteria and actions are not committed.

Applying the IPv6 Flowspec rule to the public network

1.     Enter system view.

system-view

2.     Enter Flowspec view.

flowspec

3.     Create a Flowspec IPv6 address family for the public network and enter its view.

address-family ipv6

4.     Apply the created IPv6 Flowspec rule to the public network.

flow-route flowroute-name

By default, no IPv6 Flowspec rule is applied to the public network.

Applying the IPv6 Flowspec rule to a VPN instance

1.     Enter system view.

system-view

2.     Configure a VPN instance.

a.     Create a VPN instance and enter VPN instance view.

ip vpn-instance vpn-instance-name

b.     Configure an RD for the VPN instance.

route-distinguisher route-distinguisher

By default, no RD is configured for a VPN instance.

c.     Configure route targets for the VPN instance.

vpn-target { vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ] }

By default, no route targets are configured.

For more information about the ip vpn-instance, route-distinguisher, and vpn-target commands, see MPLS L3VPN commands in MPLS Command Reference.

3.     Enter the IPv6 Flowspec address family view of the VPN instance.

address-family ipv6 flowspec

4.     Configure an RD for the IPv6 Flowspec address family.

route-distinguisher route-distinguisher

By default, no RD is configured for the IPv6 Flowspec address family.

5.     Configure route targets for the IPv6 Flowspec address family.

vpn-target vpn-target&<1-8> [ both | export-extcommunity | import-extcommunity ]

By default, no route targets are configured for the IPv6 Flowspec address family.

The route targets configured must be the same as the route targets configured previously for the VPN instance.

6.     Execute the quit command twice to return to system view.

7.     Enter Flowspec view.

flowspec

8.     Create a Flowspec IPv6 address family and associate the address family with the VPN instance.

address-family ipv6 vpn-instance vpn-instance-name

9.     Apply the created IPv6 Flowspec rule to the Flowspec IPv6 VPN instance address family.

flow-route flowroute-name

By default, no IPv6 Flowspec rule is applied to a Flowspec IPv6 VPN instance address family.

Enabling BGP to distribute IPv6 Flowspec rules

1.     Enter system view.

system-view

2.     Enter BGP instance view.

bgp as-number [ instance instance-name ]

3.     Enter BGP IPv6 Flowspec address family view, BGP-VPN IPv6 Flowspec address family view, or BGP VPNv6 Flowspec address family view:

¡     Enter BGP IPv6 Flowspec address family view to advertise public network IPv6 Flowspec rules.

address-family ipv6 flowspec

¡     Execute the following commands in sequence to enter BGP-VPN IPv6 Flowspec address family view to advertise private network IPv6 Flowspec rules:

ip vpn-instance vpn-instance-name

address-family ipv6 flowspec

¡     Enter BGP VPNv6 Flowspec address family view to advertise VPNv6 Flowspec rules.

address-family vpnv6 flowspec

4.     Enable BGP Flowspec peers to exchange routing information.

peer { group-name | ipv6-address [ mask-length ] | ipv6-address [ prefix-length ] } enable

By default, BGP Flowspec peers cannot exchange routing information.

Enabling automatic route advertisement for an SRv6 TE policy

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Enter SRv6 TE policy view.

policy policy-name

5.     Enable automatic route advertisement for the SRv6 TE policy.

autoroute enable [ isis | ospfv3 ]

By default, automatic route advertisement is disabled for an SRv6 TE policy.

6.     Configure an autoroute metric for the SRv6 TE policy.

autoroute metric { absolute value | relative value }

By default, the autoroute metric of an SRv6 TE policy equals its IGP metric.

7.     Return to system view.

quit

quit

quit

8.     Include the SRv6 TE policy in IGP computation:

¡     Execute the following commands in sequence to enable automatic route advertisement for IS-IS SRv6 TE policies.

isis [ process-id ] [ vpn-instance vpn-instance-name ]

address-family ipv6 [ unicast ]

srv6-policy autoroute enable [ level-1 | level-2 ]

By default, automatic route advertisement for SRv6 TE policies is disabled.

Configuring the SRv6 TE policy encapsulation mode

About this task

If the traffic steering mode is BSID, packets whose destination IPv6 address is the same as the BSID of an SRv6 TE policy will be forwarded by the SRv6 TE policy. In this case, the device needs to encapsulate the SID list of the SRv6 TE policy into the packets. The following encapsulation modes are available:

·     Encaps—Normal encapsulation mode. It adds a new IPv6 header and an SRH to the original packets. All SIDs in the SID list of the SRv6 TE policy are encapsulated in the SRH.

·     Encaps.Red—Reduced mode of normal encapsulation. It adds a new IPv6 header and an SRH to the original packets. The first SID in the SID list of the SRv6 TE policy is not encapsulated in the SRH to reduce the SRH length. All other SIDs in the SID list are encapsulated in the SRH.

·     Insert—Insertion mode. It inserts an SRH after the original IPv6 header. All SIDs in the SID list of the SRv6 TE policy are encapsulated in the SRH.

·     Insert.Red—Reduced insertion mode. It inserts an SRH after the original IPv6 header. The first SID in the SID list of the SRv6 TE policy is not encapsulated in the SRH to reduce the SRH length. All other SIDs in the SID list are encapsulated in the SRH.

In Encaps or Encaps.Red encapsulation mode, the destination IPv6 address in the new IPv6 header is the first SID in the SID list of the SRv6 TE policy. The source IPv6 address is the IPv6 address specified by using the encapsulation source-address command.

In Insert or Insert.Red encapsulation mode, the destination IPv6 address in the original IPv6 header is changed to the first SID in the SID list of the SRv6 TE policy. The source IPv6 address in the original IPv6 header is not changed.

If the traffic steering mode is BSID and the SRv6 SID of the ingress node is an End.X SID, the device does not encapsulate the End.X SID into the SRH by default.

To obtain complete SRv6 forwarding path information from the SRH of packets, you can configure the device to encapsulate the local End.X SID in the SRH.

Restrictions and guidelines

You can configure the encapsulation mode for all SRv6 TE policies globally in SRv6 TE view or for a specific SRv6 TE policy in SRv6 TE policy view. The policy-specific configuration takes precedence over the global configuration. An SRv6 TE policy uses the global configuration only when it has no policy-specific configuration.

The normal encapsulation modes are exclusive with the insertion modes. If you configure both a normal encapsulation mode and an insertion mode for an SRv6 TE policy, the most recent configuration takes effect.

If you configure the Insert or Insert.Red mode for an SRv6 TE policy, it uses the Encaps mode to encapsulate received IPv4 packets.

In SRv6 TE view, if you execute both the srv6-policy encapsulation-mode encaps reduced command and the srv6-policy encapsulation-mode encaps include local-end.x command, the srv6-policy encapsulation-mode encaps include local-end.x command takes effect.

In SRv6 TE view, if you execute both the srv6-policy encapsulation-mode insert reduced command and the srv6-policy encapsulation-mode insert include local-end.x command, the srv6-policy encapsulation-mode insert include local-end.x command takes effect.

In SRv6 TE policy view, if you execute both the encapsulation-mode encaps reduced command and the encapsulation-mode encaps include local-end.x command, the encapsulation-mode encaps include local-end.x command takes effect.

In SRv6 TE policy view, if you execute both the encapsulation-mode insert reduced command and the encapsulation-mode insert include local-end.x command, the encapsulation-mode insert include local-end.x command takes effect.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Configure the encapsulation mode globally for all SRv6 TE policies. Choose one option as needed:

¡     Specify the Encaps.Red encapsulation mode globally for all SRv6 TE policies.

srv6-policy encapsulation-mode encaps reduced

¡     Specify the Insert or Insert.Red encapsulation mode globally for all SRv6 TE policies.

srv6-policy encapsulation-mode insert

srv6-policy encapsulation-mode insert reduced

By default, an SRv6 TE policy uses the Encaps encapsulation mode.

5.     Enable the device to include the local End.X SID in the SRH of the packets forwarded by SRv6 TE policies. Choose one option as needed:

¡     Enable this feature for SRv6 TE policies with a normal encapsulation mode

srv6-policy encapsulation-mode encaps include local-end.x

¡     Enable this feature for SRv6 TE policies with an insertion encapsulation mode

srv6-policy encapsulation-mode insert include local-end.x

By default, the device does not include the local End.X SID in the SRH of the packets forwarded by SRv6 TE policies.

6.     Enter SRv6 TE policy view.

policy policy-name

7.     Configure the encapsulation mode for the SRv6 TE policy. Choose one option as needed:

¡     Specify the Encaps.Red encapsulation mode for the SRv6 TE policy.

encapsulation-mode encaps reduced [ disable ]

¡     Specify the Insert or Insert.Red encapsulation mode globally for all SRv6 TE policies.

encapsulation-mode insert

encapsulation-mode insert reduced [ disable ]

By default, the encapsulation mode is not configured for an SRv6 TE policy, and the encapsulation mode configured in SRv6 TE view applies.

8.     Configure local End.X SID encapsulation in the SRH of the packets forwarded by the SRv6 TE policy.

¡     Configure this feature when the SRv6 TE policy uses a normal encapsulation mode.

encapsulation-mode encaps include local-end.x [ disable ]

¡     Configure this feature when the SRv6 TE policy uses an insertion encapsulation mode.

encapsulation-mode insert include local-end.x [ disable ]

By default, local End.X SID encapsulation is not configured for an SRv6 TE policy, and the local End.X SID encapsulation setting configured in SRv6 TE view applies.

Configuring IPR for SRv6 TE policies

Restrictions and guidelines

For this feature to take effect on an SRv6 TE policy group, you must configure the following settings for that SRv6 TE policy group:

·     TE class ID-based traffic steering.

·     Mappings between TE class IDs and IPR policies.

For more information, see "Configuring TE class ID-based traffic steering."

Configuring iFIT measurement for SRv6 TE policies

Restrictions and guidelines

·     iFIT is an in-situ OAM measurement technology. This technology can measure the packet loss rate, delay, and jitter of an SRv6 TE policy only when data service traffic is being forwarded through that SRv6 TE policy. For more information about iFIT, see Network Management and Monitoring Configuration Guide.

·     If the optimal candidate path of an SRv6 TE policy has multiple forwarding paths represented by multiple SID lists, and traffic exists in each forwarding path, iFIT will measure the packet loss rate, delay, and jitter of all the forwarding paths corresponding to the SID lists. Then, it will calculate the packet loss rate, delay, and jitter of the SRv6 TE policy based on the weights of the SID lists.

·     If both the source and egress nodes of an SRv6 TE policy are H3C devices, set the iFIT measurement mode to end-to-end mode for the SRv6 TE policy as a best practice. In this mode, the egress node feeds back the iFIT measurement results to the source node of the SRv6 TE policy for calculating the network quality of the SRv6 TE policy. Even if the transit nodes along the forwarding path of a target flow have enabled iFIT and detected iFIT packets, they will not feed back the iFIT measurement results to the source node of the SRv6 TE policy. This mechanism reduces device processing complexity.

·     If the egress node of an SRv6 TE policy is not an H3C device, you must set the iFIT measurement mode to hop-by-hop mode for the SRv6 TE policy. In this case, enable iFIT and set the iFIT operating mode to collector on the penultimate hop (an H3C device along the forwarding path). This H3C device will act as the data receiver to collect packet statistics, establish a UDP session with the source node, and feed the packet statistics back to the source node to fulfill the functions of the egress node. Typically, hop-by-hop mode is applicable to scenarios where the egress node of an SRv6 TE policy is not an H3C device.

·     If multiple nodes feed back measurement data to the source node, the source node handles the data as follows:

¡     If the egress node and multiple other nodes feed back measurement data to the source node, the source node prefers the data fed back from the egress node for calculating the network quality.

¡     If multiple non-egress nodes feed back measurement data to the source node, the source node prefers the data fed back from the node closest to the egress node for calculating the network quality.

·     To ensure that iFIT measurement can correctly operate, make sure the clock on all devices participating in iFIT measurement has been synchronized. A violation causes the iFIT calculation results to be inaccurate. You can use NTP and PTP to synchronize clock between devices.

·     You can configure iFIT packet loss measurement, iFIT delay and jitter measurement, iFIT measurement mode, and iFIT measurement interval both in SRv6 TE view and SRv6 TE policy view. The configuration in SRv6 TE view takes effect on all SRv6 TE policies and the configuration in SRv6 TE policy view takes effect only on a specific SRv6 TE policy. For an SRv6 TE policy, the policy-specific configuration takes precedence over the configuration in SRv6 TE view.

·     To have an iFIT measurement feature take effect on an SRv6 TE policy, make sure the source node of that SRv6 TE policy uses the normal (encaps) encapsulation mode for packet encapsulation. If the source node encapsulates packets in insertion mode, the outer source IP address of encapsulated packets are not the source address specified for iFIT measurement. As a result, the endpoint node returns information to an incorrect node rather than the source node, which causes iFIT measurement to fail.

Prerequisites

For iFIT measurement to take effect on an SRv6 TE policy, you must complete the following tasks:

·     On the source node of the SRv6 TE policy, enable iFIT, configure the iFIT device ID, set the iFIT operating mode to analyzer, and execute the service-type srv6-segment-list command.

·     On the egress node or transit nodes of the SRv6 TE policy, enable iFIT, set the iFIT operating mode to collector, and execute the service-type srv6-segment-list command.

Configuring iFIT measurement for SRv6 TE policies on the source node

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Globally enable iFIT packet loss measurement or iFIT delay and jitter measurement for SRv6 TE policies.

¡     Globally enable iFIT packet loss measurement for SRv6 TE policies.

srv6-policy ifit loss-measure enable

By default, iFIT packet loss measurement is disabled globally for SRv6 TE policies.

¡     Globally enable iFIT delay and jitter measurement for SRv6 TE policies.

srv6-policy ifit delay-measure enable

By default, iFIT delay and jitter measurement is disabled globally for SRv6 TE policies.

5.     Globally specify an iFIT measurement mode for SRv6 TE policies.

srv6-policy ifit measure mode { e2e | trace }

By default, the iFIT measurement mode is end-to-end mode for SRv6 TE policis.

6.     Globally set the iFIT measurement interval for SRv6 TE policies.

srv6-policy ifit interval time-value

By default, the global iFIT measurement interval is 30 seconds for SRv6 TE policies.

7.     Enter SRv6 TE policy view.

policy policy-name

8.     Configure iFIT packet loss measurement or iFIT delay and jitter measurement for the SRv6 TE policy.

¡     Configure iFIT packet loss measurement for the SRv6 TE policy.

ifit loss-measure { disable | enable }

By default, iFIT packet loss measurement is not configured in an SRv6 TE policy. The SRv6 TE policy uses the configuration in SRv6 TE view.

¡     Configure iFIT delay and jitter measurement for the SRv6 TE policy.

ifit delay-measure { disable | enable }

By default, iFIT delay and jitter measurement is not configured for an SRv6 TE policy. The SRv6 TE policy uses the configuration in SRv6 TE view.

9.     Specify an iFIT measurement mode for the SRv6 TE policy.

ifit measure mode { e2e | trace }

By default, no iFIT measurement mode is specified for an SRv6 TE policy. The SRv6 TE policy uses the configuration in SRv6 TE view.

10.     Set the iFIT measurement interval for the SRv6 TE policy.

ifit interval time-value

By default, no iFIT measurement interval is set for an SRv6 TE policy. The SRv6 TE policy uses the configuration in SRv6 TE view.

Configuring IPR path calculation for SRv6 TE policies

About this task

When service packets are steered to an SRv6 TE policy group configured with TE class ID-based traffic steering, the device matches the TE class ID in the packets with the mappings between TE class IDs and IPR policies in the SRv6 TE policy group. To configure the mappings, use the index te-class match command. If a matching mapping is found, the device selects an SRv6 TE policy to forward the packets according to the path selection policy defined in the matching IPR policy.

An IPR policy must cooperate with the iFIT packet loss measurement and iFIT delay and jitter measurement features of SRv6 TE policies for intelligent forwarding path selection. The cooperative mechanism between an IPR policy and the iFIT measurement features of SRv6 TE policies is as follows:

1.     iFIT measures the network quality.

You can enable iFIT packet loss measurement and iFIT delay and jitter measurement for SRv6 TE policies on the source node of an SRv6 TE policy group. iFIT then performs the following operations:

a.     Measures the link quality of different SRv6 TE policies in the SRv6 TE policy group.

b.     Sends the SLA measurement data to IPR on the source node for path calculation and selection according to the iFIT measurement interval.

2.     The source node calculates candidate paths.

The source node of SRv6 TE policies calculates the optimal SRv6 TE policy based on the optimal path calculation period set by using the refresh-period command. If the source node finds that any value of the delay, packet loss rate, jitter, and CMI values obtained from the most recent iFIT measurement data for an SRv6 TE policy crosses a threshold set in an IPR policy, that SRv6 TE policy does not comply with the SLA requirements. As a result, the source node does not use that SRv6 TE policy as a candidate path for service traffic forwarding. If iFIT fails to measure the delay, packet loss rate, jitter, and CMI values of an SRv6 TE policy, but the SRv6 TE policy is valid, the source node still uses this SRv6 TE policy as a candidate path for service traffic forwarding.

3.     The source node selects the optimal path.

The source node selects the SRv6 TE policy with the highest priority as the optimal forwarding path according to the priority order defined in the IPR policy, and steers service traffic to this SRv6 TE policy. When multiple SRv6 TE policies have the same priority, traffic can be load-balanced among these SRv6 TE policies.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Enable IPR and enter SRv6 TE IPR view.

intelligent-policy-route

By default, IPR is disabled.

5.     (Optional.) Set the interval at which IPR calculates the optimal path.

refresh-period time-value

By default, IPR calculates the optimal path at intervals of 60 seconds.

6.     (Optional.) Set the data calculation mode for IPR.

measure count { one-way | two-way-average }

By default, IPR uses the one-way data calculation mode.

7.     Create an IPR policy and enter SRv6 TE IPR policy view.

ipr-policy ipr-name

By default, no IPR policies exist.

8.     Configure a mapping between the color attribute value of an SRv6 TE policy and a path selection priority in the IPR policy.

srv6-policy color color-value priority priority-value

By default, no mapping is configured between the color attribute value of an SRv6 TE policy and a path selection priority in an IPR policy.

9.     (Optional.) Set the delay threshold in the IPR policy.

delay threshold time-value

By default, the delay threshold is 5000 milliseconds in an IPR policy.

10.     (Optional.) Set the jitter threshold in the IPR policy.

jitter threshold time-value

By default, the jitter threshold is 3000 milliseconds in an IPR policy.

11.     (Optional.) Set the packet loss rate threshold in the IPR policy.

loss threshold threshold-value

By default, the packet loss rate threshold is 1000 in an IPR policy.

12.     (Optional.) Set the CMI threshold in the IPR policy.

cmi threshold threshold-value

By default, the CMI threshold in an IPR policy is 9000.

13.     (Optional.) Set the switchover period between SRv6 TE policies in the IPR policy.

switch-period time-value

By default, the switchover period between SRv6 TE policies is 6 seconds in an IPR policy.

14.     (Optional.) Set the WTR period in the IPR policy.

wait-to-restore-period time-value

By default, the WTR period is 6 seconds in an IPR policy.

Configuring IPR to perform optimal path selection based on tunnel egress bandwidth usage

About this task

After you enable bandwidth sampling for an IPR policy, the device can use the policy to perform optimal SRv6 TE policy selection based on bandwidth usage. An SRv6 TE policy can participate in optimal SRv6 TE policy selection only when it meets the following requirements:

·     The network quality (including delay, jitter, and packet loss) of the SRv6 TE policy complies with the SLA standards defined in the IPR policy.

·     The bandwidth usage of the SRv6 TE policy does not exceed the upper threshold specified in the bandwidth-threshold upper command.

If bandwidth sampling is not enabled for an IPR policy, an SRv6 TE policy can participate in optimal SRv6 TE policy selection as long as its network quality (including delay, jitter, and packet loss) complies with the SLA standards defined in the IPR policy.

Restrictions and guidelines

You can execute the srv6-policy bandwidth sample command in SRv6 TE view to enable global bandwidth sampling, and execute the bandwidth sample command in SRv6 TE IPR policy view to enable bandwidth sampling. The configuration in SRv6 TE view applies to all IPR policies, while the configuration in SRv6 TE IPR policy view applies only to the IPR policy. For an IPR policy, the configuration in SRv6 TE IPR policy view takes precedence. The policy uses the configuration in SRv6 TE view only when the SRv6 TE IPR policy view does not have the configuration.

Execute the forwarding statistics command or the srv6-policy forwarding statistics enable command to enable traffic forwarding statistics for all SRv6 TE policies associated with the IPR policy. This ensures that path optimization based on bandwidth usage by IPR for SRv6 TE policy is more accurate.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Enable global bandwidth samping.

srv6-policy bandwidth sample

By default, global bandwidth samping is disabled.

5.     (Optional.) Configure the bandwidth usage sampling interval for SRv6 TE policy egress interfaces.

srv6-policy bandwidth sample interval time-value

By default, the bandwidth usage sampling interval is 30 seconds for SRv6 TE policy egress interfaces.

6.     (Optional.) Configure the lower bandwidth limit.

srv6-policy bandwidth-threshold lower lower-value

The expected average bandwidth usage of this SRv6 TE policy is less than or equal to Min (the bandwidth usage threshold for service switchback configured in the bandwidth-threshold switch-back command in the IPR policy, and the lower bandwidth threshold configured by the srv6-policy bandwidth-threshold lower command). Min(a, b) indicates the smaller value of a and b.

7.     Enable IPR for SRv6 TE policy and enter SRv6 TE IPR view.

intelligent-policy-route

By default, IPR for SRv6 TE policy is disabled.

8.     (Optional.) Set the interval at which IPR calculates the optimal path.

refresh-period time-value

By default, IPR calculates the optimal path at intervals of 60 seconds.

9.     Create an IPR policy and enter SRv6 TE IPR policy view.

ipr-policy ipr-name

By default, no IPR policy exists.

10.     Configure a mapping between the color attribute value of an SRv6 TE policy and a path selection priority in an IPR policy.

srv6-policy color color-value priority priority-value

By default, no mapping is configured between the color attribute value of an SRv6 TE policy and a path selection priority in an IPR policy.

11.     Configure bandwidth sampling for an SRv6 TE IPR policy.

bandwidth sample { disable | enable }

By default, bandwidth sampling is not configured for an SRv6 TE IPR policy. An SRv6 TE IPR policy uses the configuration in SRv6 TE view.

12.     Configure the expected service bandwidth for an SRv6 TE policy or SRv6 TE IPR policy.

expect-bandwidth bandwidth-value

By default, the expected service bandwidth is 0 kbps for an SRv6 TE policy or SRv6 TE IPR policy.

13.     (Optional.) Configure the upper limit of bandwidth usage for an IPR policy.

bandwidth-threshold upper upper-value

By default, the upper limit of bandwidth usage is 90% for an IPR policy.

14.     (Optional.) Configure the bandwidth usage threshold that triggers service switchback for an IPR policy.

bandwidth-threshold switch-back threshold-value

By default, the bandwidth usage threshold that triggers service switchback is 70% for an IPR policy.

The expected average bandwidth usage of this SRv6 TE policy is less than or equal to Min (the bandwidth usage threshold for service switchback configured in the bandwidth-threshold switch-back command in the IPR policy, and the lower bandwidth threshold configured by the srv6-policy bandwidth-threshold lower command). Min(a, b) indicates the smaller value of a and b.

15.     (Optional.) Configure the switchover scheduling priority for an IPR policy.

schedule-priority priority-value

By default, the switchover scheduling priority is 0 for an IPR policy.

16.     (Optional.) Set the switchover period between SRv6 TE policies in an IPR policy.

switch-period time-value

By default, the switchover period between SRv6 TE policies is 6 seconds in an IPR policy.

17.     (Optional.) Set the WTR period in an IPR policy.

wait-to-restore-period time-value

By default, the WTR period is 6 seconds in an IPR policy.

18.     Exit SRv6 TE IPR policy view.

quit

19.     Enter SRv6 TE policy view.

policy policy-name

20.     Configure the expected service bandwidth for an SRv6 TE policy or SRv6 TE IPR policy.

expect-bandwidth bandwidth-value

By default, the expected service bandwidth is 0 kbps for an SRv6 TE policy or SRv6 TE IPR policy.

 

Enabling SBFD for SRv6 TE policies

About this task

To use SBFD to detect an SRv6 TE policy, the device needs to encapsulate the SID list of the SRv6 TE policy for the SBFD packets. The following encapsulation modes are available:

·     Encaps—Normal encapsulation mode. It adds a new IPv6 header and an SRH to the original packets.

¡     The destination IPv6 address in the new IPv6 header is the first SID in the SID list of the SRv6 TE policy. The source IPv6 address is the IPv6 address specified by using the encapsulation source-address command.

¡     All SIDs in the SID list of the SRv6 TE policy are encapsulated in the SRH.

·     Insert—Insertion mode. It inserts an SRH after the original IPv6 header.

¡     The destination IPv6 address in the original IPv6 header is changed to the first SID in the SID list of the SRv6 TE policy. The source IPv6 address is the IPv6 address specified by using the encapsulation source-address command.

¡     All SIDs in the SID list of the SRv6 TE policy are encapsulated in the SRH.

Restrictions and guidelines

You can enable SBFD for all SRv6 TE policies globally in SRv6 TE view or for a specific SRv6 TE policy in SRv6 TE policy view. The policy-specific configuration takes precedence over the global configuration. An SRv6 TE policy uses the global configuration only when it has no policy-specific configuration.

The remote discriminator specified in this command must be the same as that specified in the sbfd local-discriminator command on the reflector. Otherwise, the reflector will not send responses to the initiator.

The device supports the echo packet mode BFD and the SBFD for an SRv6 TE policy. If both modes are configured for the same SRv6 TE policy, the SBFD takes effect.

Procedure

1.     Enter system view.

system-view

2.     Configure the encapsulation mode as Insert for SBFD packets.

bfd srv6-encapsulation-mode insert

By default, the SRv6 TE policy encapsulation mode for SBFD packets is the Encap mode.

3.     Configure the source IPv6 address used by the initiator to send SBFD packets.

sbfd source-ipv6 ipv6-address

By default, no source IPv6 address is configured for SBFD packets.

4.     Enter SRv6 view.

segment-routing ipv6

5.     Enter SRv6 TE view.

traffic-engineering

6.     Enable SBFD for all SRv6 TE policies and configure the SBFD session parameters.

srv6-policy sbfd remote remote-id [ template template-name ] [ backup-template backup-template-name ]

By default, SBFD is disabled for all SRv6 TE policies.

7.     Enter SRv6 TE policy view.

policy policy-name

8.     Configure SBFD for the SRv6 TE policy.

sbfd { disable | enable [ remote remote-id ] [ template template-name ] [ backup-template backup-template-name ] [ oam-sid sid ] [ encaps | insert ] }

By default, SBFD is not configured for an SRv6 TE policy.

If you do not specify the encaps or insert keyword, the encapsulation mode specified by using the bfd srv6-encapsulation-mode insert command is used.

Configuring the BFD echo packet mode for SRv6 TE policies

About this task

By default, the BFD return packets used for SRv6 TE policy connectivity detection are forwarded based on the IP forwarding path. If a transit node fails, all the return packets will be discarded, and the BFD sessions will go down as a result. If multiple SRv6 TE policies exist between the source and endpoint nodes, BFD will mistakenly determine that the SID lists of all SRv6 TE policies are faulty. To resolve this issue, you can enable BFD return packets to be forwarded based on the specified SID list to implement BFD forward and reverse path consistency. After the reverse-path reverse-binding-sid parameters are configured, the source node will insert an SRH header into a BFD packet and encapsulate the reverse BSID into the SRH header at the SL=1 position. You can specify the reverse BSID by using the explicit segment-list or reverse-binding-sid command. Upon receiving the BFD packet, the endpoint node retrieves the reverse BSID. If the reverse BSID matches the local BSID of an SRv6 TE policy on the endpoint node, the endpoint node inserts a new SRH into the BFD packet and forwards the packet along the SID list of that SRv6 TE policy. (To specify a local BSID for an SRv6 TE policy, use the local-binding-sid command.)

To use echo BFD to detect an SRv6 TE policy, the device needs to encapsulate the SID list of the SRv6 TE policy for the BFD packets. The following encapsulation modes are available:

·     Encaps—Normal encapsulation mode. It adds a new IPv6 header and an SRH to the original packets.

¡     The destination IPv6 address in the new IPv6 header is the first SID in the SID list of the SRv6 TE policy. The source IPv6 address is the IPv6 address specified by using the encapsulation source-address command.

¡     All SIDs in the SID list of the SRv6 TE policy are encapsulated in the SRH.

·     Insert—Insertion mode. It inserts an SRH after the original IPv6 header.

¡     The destination IPv6 address in the original IPv6 header is changed to the first SID in the SID list of the SRv6 TE policy. The source IPv6 address is the IPv6 address specified by using the encapsulation source-address command.

¡     All SIDs in the SID list of the SRv6 TE policy are encapsulated in the SRH.

Restrictions and guidelines

You can configure the echo packet mode BFD for all SRv6 TE policies globally in SRv6 TE view or for a specific SRv6 TE policy in SRv6 TE policy view. The policy-specific configuration takes precedence over the global configuration. An SRv6 TE policy uses the global configuration only when it has no policy-specific configuration.

The device supports the echo packet mode BFD and the SBFD for an SRv6 TE policy. If both modes are configured for the same SRv6 TE policy, the SBFD takes effect.

When forward and reverse path consistency is implemented by specifying a reverse BSID, BFD packets can be encapsulated only in Insert mode. The encaps keyword does not take effect.

The system supports using echo BFD and SBFD to detect connectivity for SRv6 TE policies. If you configure both echo BFD and SBFD for same SRv6 TE policy, SBFD takes effect.

For echo BFD sessions, the source address of an echo packet is selected in the following order, in descending order of priority:

1.     The packet source address specified by the bfd echo-source-ipv6 command.

2.     The BFD session source address specified by the bfd echo command.

3.     The packet source address specified by the srv6-policy bfd echo command.

Procedure

1.     Enter system view.

system-view

2.     Configure the encapsulation mode as Insert for BFD packets.

bfd srv6-encapsulation-mode insert

By default, the SRv6 TE policy encapsulation mode for BFD packets is the Encap mode.

3.     Enter SRv6 view.

segment-routing ipv6

4.     Enter SRv6 TE view.

traffic-engineering

5.     Enable echo packet mode BFD for all SRv6 TE policies and configure the BFD session parameters.

srv6-policy bfd echo source-ipv6 ipv6-address [ template template-name ] [ backup-template backup-template-name ] [ reverse-path reverse-binding-sid ]

By default, the echo packet mode BFD is disabled for all SRv6 TE policies.

6.     (Optional.) Configure the local BSID and reverse BSID for an SID list.

a.     Enter SID list view.

segment-list segment-list-name

b.     On the egress node of an SRv6 TE policy, configure the local BSID.

local-binding-sid ipv6 ipv6-address

c.     On the ingress node of an SRv6 TE policy, configure the reverse BSID.

reverse-binding-sid ipv6 ipv6-address

d.     Return to SRv6 TE view.

quit

The specified local BSID or reverse BSID cannot be the same as the BSID of the SRv6 TE policy. If they are the same, the SID list becomes invalid and cannot be used to forward packets.

The specified local BSID or reverse BSID must be within the static length of the locator specified in SRv6 TE view. If this condition is not met, the SID list associated with the BSID cannot be used to forward packets.

7.     Enter SRv6 TE policy view.

policy policy-name

8.     Configure the echo packet mode BFD for the SRv6 TE policy.

bfd echo { disable | enable [ source-ipv6 ipv6-address ] [ template template-name ] [ backup-template backup-template-name ] [ oam-sid sid ] [ encaps | insert ] [ reverse-path reverse-binding-sid ] }

By default, the echo packet mode BFD is not configured for an SRv6 TE policy. An SRv6 TE policy uses the echo BFD settings configured in SRv6 TE view.

If you do not specify the encaps or insert keyword, the encapsulation mode specified by using the bfd srv6-encapsulation-mode insert command is used.

If you specify the reverse-path keyword, the insert mode is used, regardless of whether you specify the encaps keyword or not.

9.     Specify the local BSID and reverse BSID for BFD detection of an SID list.

a.     Enter SRv6 TE policy candidate path view.

candidate-paths

b.     Enter SRv6 TE policy path preference view.

preference preference-value

Each preference represents a candidate path.

c.     Specify the local BSID and reverse BSID for BFD detection of an SID list.

explicit segment-list segment-list-name [ local-binding-sid ipv6 ipv6-address | reverse-binding-sid ipv6 ipv6-address | weight weight-value ]

For the local BSID:

-     The specified BSID cannot be the same as the BSID configured with the local-binding-sid command for the SID list.

-     The specified BSID takes precedence over the BSID configured with the local-binding-sid command for the SID list.

For the reverse BSID:

-     The specified BSID cannot be the same as the BSID configured with the reverse-binding-sid command for the SID list.

-     The specified BSID takes precedence over the BSID configured with the reverse-binding-sid command for the SID list.

Enabling hot standby for SRv6 TE policies

Restrictions and guidelines

You can enable hot standby for all SRv6 TE policies globally in SRv6 TE view or for a specific SRv6 TE policy in SRv6 TE policy view. The policy-specific configuration takes precedence over the global configuration. An SRv6 TE policy uses the global configuration only when it has no policy-specific configuration.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Enable hot standby for all SRv6 TE policies.

srv6-policy backup hot-standby enable

By default, hot standby is disabled for all SRv6 TE policies.

5.     Enter SRv6 TE policy view.

policy policy-name

6.     Configure hot standby for the SRv6 TE policy.

backup hot-standby { disable | enable }

By default, hot standby is not configured for an SRv6 TE policy, and the hot standby configuration in SRv6 TE view applies.

 

Configuring path switchover and deletion delays for SRv6 TE policies

About this task

The switchover delay and deletion delay mechanism is used to avoid traffic forwarding failure during a forwarding path (SID list) switchover.

When updating an SRv6 TE policy forwarding path, the device first establishes the new forwarding path before it deletes the old one. During the new path setup process, the device uses the old path to forward traffic until the switchover delay timer expires. When the switchover delay timer expires, the device switches traffic to the new path. The old path is deleted when the deletion delay timer expires.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Configure the switchover delay time and deletion delay time for the SRv6 TE policy forwarding path.

srv6-policy switch-delay switch-delay-time delete-delay delete-delay-time

By default, the switchover delay time and deletion delay time for the SRv6 TE policy forwarding path is 5000 milliseconds and 20000 milliseconds, respectively.

Configuring SRv6 TE policy transit node protection

About this task

The transit node protection technology is referred to as SRv6 TE FRR. After SRv6 TE FRR is enabled, when a transit node of an SRv6 TE policy fails, the upstream node of the faulty node can take over to forward packets. The upstream node is called a proxy forwarding node that bypasses the faulty transit node to implement node failure protection.

Restrictions and guidelines

In a complex network, any node might act as a transit node. As a best practice to improve the whole network security, enable SRv6 TE FRR on all nodes and enable the bypass feature on the ingress node.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enable SRv6 TE FRR.

sr-te frr enable

By default, SRv6 TE FRR is disabled.

4.     Enter SRv6 TE view.

traffic-engineering

5.     Enter SRv6 TE policy view.

policy policy-name

6.     Enable the bypass feature for the SRv6 TE policy.

bypass enable

By default, the SRv6 TE policy bypass feature is disabled.

Execute this command only on the ingress node.

Configuring SRv6 TE policy egress protection

Restrictions and guidelines for SRv6 TE policy egress protection configuration

To configure SRv6 TE policy egress protection, all nodes that the packets will traverse must support SRv6.

Configuring an End.M SID

Restrictions and guidelines

Perform this task on protection node for the egress node.

For more information about the commands used in this task, see IPv6 Segment Routing commands in Segment Routing Command Reference.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Create a locator and enter SRv6 locator view.

locator locator-name [ ipv6-prefix ipv6-address prefix-length [ args args-length | static static-length ] * ]

4.     Configure an End.M SID and specify the locator to be protected by the End.M SID.

opcode opcode end-m mirror-locator ipv6-address prefix-length

 

Enabling egress protection

About this task

This task enables the SRv6 node to compute a backup path (mirror FRR path) for the egress node based on the End.M SID carried in a received IS-ISv6 or OSPFv3 route. When the egress node fails, the transit node can forward traffic to the node that protects the egress node according to the End.M SID.

In an egress protection scenario, the transit node deletes the mirror FRR path after completing route convergence. If the deletion occurs before the ingress node switches traffic back from the mirror FRR path, the traffic will be dropped because of no mirror FRR path.

To resolve this issue, you can configure a proper mirror FRR deletion delay time on the transit node to delay the deletion of the mirror FRR route. So, packets can be forwarded over the mirror FRR path before the ingress finishes the path switchover.

Enabling IS-IS egress protection

1.     Enter system view.

system-view

2.     Enter IS-IS view.

isis [ process-id ] [ vpn-instance vpn-instance-name ]

3.     Enter IS-IS IPv6 address family view.

address-family ipv6 [ unicast ]

4.     Enable IS-IS egress protection.

fast-reroute mirror enable

By default, IS-IS egress protection is disabled.

5.     (Optional.) Configure the mirror FRR deletion delay time.

fast-reroute mirror delete-delay delete-delay-time

By default, the mirror FRR deletion delay time is 60 seconds.

 

Enabling OSPFv3 egress protection

1.     Enter system view.

system-view

2.     Enter OSPFv3 view.

ospfv3 [ process-id | vpn-instance vpn-instance-name ] *

3.     Enable OSPFv3 egress protection.

fast-reroute mirror enable

By default, OSPFv3 egress protection is disabled.

4.     (Optional.) Configure the mirror FRR deletion delay time.

fast-reroute mirror delete-delay delete-delay-time

By default, the mirror FRR deletion delay time is 60 seconds.

 

Configuring the deletion delay time for remote SRv6 SID mappings with VPN instances/cross-connects/VSIs

About this task

In an egress protection scenario, if the egress node and the egress node's protection node are disconnected, the protection node will delete the BGP routes received from the egress node. The remote SRv6 SID and VPN instance/cross-connect/VSI mappings will then be deleted as a result. To avoid this issue, you can configure the mappings deletion delay time on the protection node. This ensures that traffic is forwarded through the protection node before the ingress detects the egress failure and computes a new forwarding path.

Restrictions and guidelines

Perform this task on the protection node for the egress node.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Configure the deletion delay time for remote SRv6 SID mappings with VPN instances/cross-connects/VSIs.

mirror remote-sid delete-delay delete-delay-time

By default, the deletion delay time for remote SRv6 SID and VPN instance/cross-connect/VSI mappings is 60 seconds.

Configuring the TTL processing mode of SRv6 TE policies

About this task

An SRv6 TE policy used as a public tunnel supports the following TTL processing modes:

·     Uniform—When the ingress node adds a new IPv6 header to an IP packet, it copies the TTL value of the original IP packet to the Hop Limit field of the new IPv6 header. Each node on the SRv6 TE policy forwarding path decreases the Hop Limit value in the new IPv6 header by 1. The node that de-encapsulates the packet copies the remaining Hop Limit value back to the original IP packet when it removes the new IPv6 header. The TTL value can reflect how many hops the packet has traversed in the public network. The tracert facility can show the real path along which the packet has traveled.

·     Pipe—When the ingress node adds a new IPv6 header to an IP packet, it does not copy the TTL value of the original IP packet to the Hop Limit field of the new IPv6 header. It sets the Hop Limit value in the new IPv6 header to 255. Each node on the SRv6 TE policy forwarding path decreases the Hop Limit value in the new IPv6 header by 1. The node that de-encapsulates the packet does not change the IPv6 Hop Limit value according to the remaining Hop Limit value in the new IPv6 header. Therefore, the public network nodes are invisible to user networks, and the tracert facility cannot show the real path in the public network.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Configure the TTL processing mode of SRv6 TE policies.

ttl-mode { pipe | uniform }

By default, the TTL processing mode of SRv6 TE policies is pipe.

Configuring SRv6 TE policy CBTS

Prerequisites

Before configuring CBTS, you must create QoS traffic behaviors to mark the MPLS TE service class values for packets. For more information, see QoS configuration in ACL and QoS Configuration Guide.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Enter SRv6 TE policy view.

policy policy-name

5.     Set a service class value for the SRv6 TE policy.

service-class service-class-value

By default, no service class value is set for an SRv6 TE policy.

 

Enabling the device to drop traffic when an SRv6 TE policy becomes invalid

About this task

Enable this feature for an SRv6 TE policy if you want to use only the SRv6 TE policy to forward traffic.

By default, if all forwarding paths of an SRv6 TE policy become invalid, the device forwards the packets through IPv6 routing table lookup based on the packet destination IPv6 addresses.

After you execute the drop-upon-invalid enable command, the device drops the packets if all forwarding paths of the SRv6 TE policy become invalid.

Restrictions and guidelines

The drop-upon-invalid enable command does not take effect in the following cases:

·     BSID request failed or BSID conflict occurred for the SRv6 TE policy. To view the BSID request state, see the Request state field in the display segment-routing ipv6 te policy command output.

·     The SRv6 TE policy is invalid. To check the SRv6 TE policy validity, see the Forwarding index field in the display segment-routing ipv6 te policy command output. If the value is 0, the SRv6 TE policy is invalid.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Enter SRv6 TE policy view.

policy policy-name

5.     Enable the device to drop traffic when an SRv6 TE policy becomes invalid.

drop-upon-invalid enable

By default, the drop-upon-invalid feature is disabled for an SRv6 TE policy. The device does not drop traffic when the SRv6 TE policy becomes invalid.

Specifying the packet encapsulation type preferred in optimal route selection

About this task

As shown in Figure 20, PE 4 is the RR, and it establishes an IBGP connection with PE 1, PE 2, and PE 3, respectively. PE 1 and PE 3 support SRv6. PE 2 does not support SRv6. Both an MPLS L3VPN connection and an EVPN L3VPN over SRv6 connection exist between PE 1 and PE 3.

In this case, you can perform this task to specify the preferred encapsulation type (SRv6 encapsulation or MPLS encapsulation) for BGP optimal route selection in the L3VPN. For more information about the priority order of this feature in BGP route selection steps, see BGP overview in Layer 3—IP Routing Configuration Guide.

Figure 20 MPLS L3VPN and EVPN L3VPN over SRv6 coexist

 

Procedure

1.     Enter system view.

system-view

2.     Enter BGP instance view.

bgp as-number [ instance instance-name ]

3.     Enter BGP-VPN instance view.

ip vpn-instance vpn-instance-name

4.     Specify the packet encapsulation type preferred in optimal route selection.

bestroute encap-type { mpls | srv6 } [ preferred ]

By default, BGP does not select optimal routes according to the packet encapsulation type.

Configuring traffic forwarding statistics for SRv6 TE policies

About this task

This feature collects statistics on the traffic forwarded by SRv6 TE policies.

Restrictions and guidelines

You can configure traffic forwarding statistics for all SRv6 TE policies globally in SRv6 TE view or for a specific SRv6 TE policy in SRv6 TE policy view. The policy-specific configuration takes precedence over the global configuration. An SRv6 TE policy uses the global configuration only when it has no policy-specific configuration.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Enable traffic forwarding statistics for all SRv6 TE policies.

srv6-policy forwarding statistics [ service-class ] enable

By default, traffic forwarding statistics is disabled for all SRv6 TE policies.

5.     (Optional.) Set the traffic forwarding statistics interval for all SRv6 TE policies.

srv6-policy forwarding statistics interval interval

By default, the SRv6 TE policy forwarding statistics interval is 30 seconds.

6.     Enter SRv6 TE policy view.

policy policy-name

7.     Configure traffic forwarding statistics for the SRv6 TE policy.

forwarding statistics { disable | [ service-class ] enable }

By default, an SRv6 TE policy uses the traffic forwarding statistics configuration in SRv6 TE view.

Display and maintenance commands for SRv6 TE policies

Execute display commands in any view. Execute reset commands in user view.

 

Task

Command

Display remote SRv6 SIDs protected by mirror SIDs.

display bgp [ instance instance-name ] mirror remote-sid [ end-dt4 | end-dt46 | end-dt6 ] [ sid ]

Display BGP peer or peer group information.

display bgp [ instance instance-name ] peer ipv6 [ sr-policy ] [ ipv6-address prefix-length | { ipv6-address | group-name group-name } log-info | [ ipv6-address ] verbose ]

Display BGP SRv6 TE policy routing information.

display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ sr-policy-prefix [ advertise-info ] | peer ipv6-address { advertised-routes | received-routes } [ statistics ] | statistics ]

Display BGP peer group information.

display bgp [ instance instance-name ] group ipv6 sr-policy [ group-name group-name ]

Display BGP update group information.

display bgp [ instance instance-name ] update-group ipv6 sr-policy [ ipv6-address ]

Display BFD information for SRv6 TE policies.

display segment-routing ipv6 te bfd [ down | policy { { color color-value | end-point ipv6 ipv6-address } * | name policy-name } | up ]

Display SRv6 TE forwarding information.

display segment-routing ipv6 te forwarding [ policy { name policy-name | { color color-value | end-point ipv6 ipv6-address } * } ] [ verbose ]

Display SRv6 TE policy information.

display segment-routing ipv6 te policy [ name policy-name | down | up | { color color-value | end-point ipv6 ip-address } * ]

Display information about the most recent down event for SRv6 TE policies.

display segment-routing ipv6 te policy last-down-reason [ binding-sid bsid | color color-value endpoint ipv6 ipv6-address | policy-name policy-name ]

Display the reason why the specified or all SRv6 TE policy groups went down most recently.

display segment-routing ipv6 te policy-group last-down-reason [ group-id | endpoint ipv6-address color color-value ]

Display SRv6 TE policy statistics.

display segment-routing ipv6 te policy statistics

Display SRv6 TE policy group statistics.

display segment-routing ipv6 te policy-group statistics

Display status information about SRv6 TE policies.

display segment-routing ipv6 te policy status [ policy-name policy-name ]

Display information about SRv6 TE policy groups.

display segment-routing ipv6 te policy-group [ odn ] [ group-id | { color color-value | end-point ipv6 ipv6-address } * ] [ verbose ]

Display SBFD information for SRv6 TE policies.

display segment-routing ipv6 te sbfd [ down | policy { { color color-value | end-point ipv6 ipv6-address } * | name policy-name } | up ]

Display SRv6-TE SID list information.

display segment-routing ipv6 te segment-list [ name seglist-name | id id-value ]

Display information about IPR policies.

display segment-routing ipv6 te ipr [ name spr-name ]

Display iFIT measurement information for SRv6 TE policies.

display segment-routing ipv6 te policy ifit [ name policy-name | down | up | { color color-value | end-point ipv6 ipv6-address } * ]

Display bandwidth usage information about an SRv6 TE policy egress interface.

display segment-routing ipv6 te ipr bandwidth interface [ interface-type interface-number ] [ verbose ]

Clear traffic forwarding statistics of SRv6 TE policies.

reset segment-routing ipv6 te forwarding statistics [ binding-sid binding-sid | color color-value endpoint endpoint-ipv6 | name name-value ]

SRv6 TE policy configuration examples

Example: Configuring SRv6 TE policy-based forwarding

Network configuration

As shown in Figure 21, perform the following tasks on the devices to implement SRv6 TE policy-based forwarding over a specific path:

·     Configure Device A through Device D to run IS-IS to implement Layer 3 connectivity.

·     Configure basic SRv6 on Device A through Device D.

·     Configure an SRv6 TE policy on Device A to forward user packets along path Device A > Device B > Device C > Device D.

Figure 21 Network diagram

Device

Interface

IP address

Device

Interface

IP address

Device A

Loop1

1::1/128

Device B

Loop1

2::2/128

 

GE1/0

1000::1/64

 

GE1/0

1000::2/64

 

GE2/0

4000::1/64

 

GE2/0

2000::2/64

Device C

Loop1

3::3/128

Device D

Loop1

4::4/128

 

GE1/0

3000::3/64

 

GE1/0

3000::4/64

 

GE2/0

2000::3/64

 

GE2/0

4000::4/64

 

Procedure

1.     Configure IP addresses and masks for interfaces. (Details not shown.)

2.     Configure Device A:

# Configure an SRv6 SID list.

[DeviceA] segment-routing ipv6

[DeviceA-segment-routing-ipv6] encapsulation source-address 1::1

[DeviceA-segment-routing-ipv6] locator a ipv6-prefix 5000:: 64 static 32

[DeviceA-segment-routing-ipv6-locator-a] opcode 1 end

[DeviceA-segment-routing-ipv6-locator-a] quit

[DeviceA-segment-routing-ipv6] traffic-engineering

[DeviceA-srv6-te] srv6-policy locator a

[DeviceA-srv6-te] segment-list s1

[DeviceA-srv6-te-sl-s1] index 10 ipv6 6000::1

[DeviceA-srv6-te-sl-s1] index 20 ipv6 7000::1

[DeviceA-srv6-te-sl-s1] index 30 ipv6 8000::1

[DeviceA-srv6-te-sl-s1] quit

# Create an SRv6 TE policy and set the attributes.

[DeviceA-srv6-te] policy p1

[DeviceA-srv6-te-policy-p1] binding-sid ipv6 5000::2

[DeviceA-srv6-te-policy-p1] color 10 end-point ipv6 4::4

[DeviceA-srv6-te-policy-p1] candidate-paths

[DeviceA-srv6-te-policy-p1-path] preference 10

[DeviceA-srv6-te-policy-p1-path-pref-10] explicit segment-list s1

[DeviceA-srv6-te-policy-p1-path-pref-10] quit

[DeviceA-srv6-te-policy-p1-path] quit

[DeviceA-srv6-te-policy-p1] quit

[DeviceA-srv6-te] quit

[DeviceA-segment-routing-ipv6] quit

# Configure IS-IS and set the IS-IS cost style to wide.

<DeviceA> system-view

[DeviceA] isis 1

[DeviceA-isis-1] network-entity 00.0000.0000.0001.00

[DeviceA-isis-1] cost-style wide

[DeviceA-isis-1] address-family ipv6 unicast

[DeviceA-isis-1-ipv6] segment-routing ipv6 locator a

[DeviceA-isis-1-ipv6] quit

[DeviceA-isis-1] quit

[DeviceA] interface gigabitethernet 1/0

[DeviceA-GigabitEthernet1/0] isis ipv6 enable 1

[DeviceA-GigabitEthernet1/0] quit

[DeviceA] interface gigabitethernet 2/0

[DeviceA-GigabitEthernet2/0] isis ipv6 enable 1

[DeviceA-GigabitEthernet2/0] quit

[DeviceA] interface loopback 1

[DeviceA-LoopBack1] isis ipv6 enable 1

[DeviceA-LoopBack1] quit

3.     Configure Device B:

# Configure the SRv6 End.SID.

[DeviceB] segment-routing ipv6

[DeviceB-segment-routing-ipv6] locator b ipv6-prefix 6000:: 64 static 32

[DeviceB-segment-routing-ipv6-locator-b] opcode 1 end

[DeviceB-segment-routing-ipv6-locator-b] quit

[DeviceB-segment-routing-ipv6] quit

# Configure IS-IS and set the IS-IS cost style to wide.

<DeviceB> system-view

[DeviceB] isis 1

[DeviceB-isis-1] network-entity 00.0000.0000.0002.00

[DeviceB-isis-1] cost-style wide

[DeviceB-isis-1] address-family ipv6 unicast

[DeviceB-isis-1-ipv6] segment-routing ipv6 locator b

[DeviceB-isis-1-ipv6] quit

[DeviceB-isis-1] quit

[DeviceB] interface gigabitethernet 1/0

[DeviceB-GigabitEthernet1/0] isis ipv6 enable 1

[DeviceB-GigabitEthernet1/0] quit

[DeviceB] interface gigabitethernet 2/0

[DeviceB-GigabitEthernet2/0] isis ipv6 enable 1

[DeviceB-GigabitEthernet2/0] quit

[DeviceB] interface loopback 1

[DeviceB-LoopBack1] isis ipv6 enable 1

[DeviceB-LoopBack1] quit

4.     Configure Device C:

# Configure the SRv6 End.SID.

[DeviceC] segment-routing ipv6

[DeviceC-segment-routing-ipv6] locator c ipv6-prefix 7000:: 64 static 32

[DeviceC-segment-routing-ipv6-locator-c] opcode 1 end

[DeviceC-segment-routing-ipv6-locator-c] quit

[DeviceC-segment-routing-ipv6] quit

# Configure IS-IS and set the IS-IS cost style to wide.

<DeviceC> system-view

[DeviceC] isis 1

[DeviceC-isis-1] network-entity 00.0000.0000.0003.00

[DeviceC-isis-1] cost-style wide

[DeviceC-isis-1] address-family ipv6 unicast

[DeviceC-isis-1-ipv6] segment-routing ipv6 locator c

[DeviceC-isis-1-ipv6] quit

[DeviceC-isis-1] quit

[DeviceC] interface gigabitethernet 1/0

[DeviceC-GigabitEthernet1/0] isis ipv6 enable 1

[DeviceC-GigabitEthernet1/0] quit

[DeviceC] interface gigabitethernet 2/0

[DeviceC-GigabitEthernet2/0] isis ipv6 enable 1

[DeviceC-GigabitEthernet2/0] quit

[DeviceC] interface loopback 1

[DeviceC-LoopBack1] isis ipv6 enable 1

[DeviceC-LoopBack1] quit

5.     Configure Device D:

# Configure the SRv6 End.SID.

[DeviceD] segment-routing ipv6

[DeviceD-segment-routing-ipv6] locator d ipv6-prefix 8000:: 64 static 32

[DeviceD-segment-routing-ipv6-locator-d] opcode 1 end

[DeviceD-segment-routing-ipv6-locator-d] quit

[DeviceD-segment-routing-ipv6] quit

# Configure IS-IS and set the IS-IS cost style to wide.

<DeviceD> system-view

[DeviceD] isis 1

[DeviceD-isis-1] network-entity 00.0000.0000.0004.00

[DeviceD-isis-1] cost-style wide

[DeviceD-isis-1] address-family ipv6 unicast

[DeviceD-isis-1-ipv6] segment-routing ipv6 locator d

[DeviceD-isis-1-ipv6] quit

[DeviceD-isis-1] quit

[DeviceD] interface gigabitethernet 1/0

[DeviceD-GigabitEthernet1/0] isis ipv6 enable 1

[DeviceD-GigabitEthernet1/0] quit

[DeviceD] interface gigabitethernet 2/0

[DeviceD-GigabitEthernet2/0] isis ipv6 enable 1

[DeviceD-GigabitEthernet2/0] quit

[DeviceD] interface loopback 1

[DeviceD-LoopBack1] isis ipv6 enable 1

[DeviceD-LoopBack1] quit

Verifying the configuration

# Display SRv6 TE policy information on Device A.

[DeviceA] display segment-routing ipv6 te policy

 

Name/ID: p1/0

 Color: 10

 Endpoint: 4::4

 Name from BGP

 BSID:

  Mode: Explicit           Type: Type_2              Request state: Succeeded

  Current BSID: 5000::2    Explicit BSID: 5000::2    Dynamic BSID: -

 Reference counts: 4

 Flags: A/BS/NC

 Status: Up

 AdminStatus: Not configured

 Up time: 2020-04-02 16:08:03

 Down time: 2020-04-02 16:03:48

 Hot backup: Not configured

 Statistics: Not configured

  Statistics by service class: Not configured

 Drop-upon-invalid: Disabled

 BFD trigger path-down: Disabled

 SBFD: Not configured

 BFD Echo: Not configured

 Forwarding index: 2150629377

 Service-class: -

 Rate-limit: -

 Service-class: -

 Encaps reduced: Not configured

 Encaps include local End.X: Not configured

 Candidate paths state: Configured

 Candidate paths statistics:

  CLI paths: 1          BGP paths: 0          PCEP paths: 0

 Candidate paths:

  Preference : 10

   CPathName:

   Instance ID: 0          ASN: 0          Node address: 0.0.0.0

   Peer address:  ::

   Optimal: Y              Flags: V/A

   Explicit SID list:

    ID: 1                     Name: s1

    Weight: 1                 Forwarding index: 2149580801

    State: Up                 State(SBFD): -

    Active path MTU: 1428 bytes

The output shows that the SRv6 TE policy is in up state. The device can use the SRv6 TE policy to forward packets.

# Display SRv6 TE forwarding information on Device A.

[DeviceA] display segment-routing ipv6 te forwarding verbose

Total forwarding entries: 1

 

Policy name/ID: p1/0

 Binding SID: 5000::2

 Policy forwording index: 2150629377

 Main path:

   Seglist ID: 1

     Seglist forwording index: 2149580801

     Weight: 1

     Outgoing forwording index: 2148532225

       Interface: GE1/0

       Nexthop: FE80::54CB:70FF:FE86:316

         Path ID: 0

         SID list: {6000::1, 7000::1, 8000::1}

# Display SRv6 forwarding information on Device A.

[DeviceA] display segment-routing ipv6 forwarding

Total SRv6 forwarding entries: 3

 

Flags: T - Forwarded through a tunnel

       N - Forwarded through the outgoing interface to the nexthop IP address

       A - Active forwarding information

       B - Backup forwarding information

 

ID            FWD-Type      Flags   Forwarding info

--------------------------------------------------------------------------------

2148532225    SRv6PSIDList  NA      GE1/0

                                    FE80::54CB:70FF:FE86:316

                                    {6000::1, 7000::1, 8000::1}

2149580801    SRv6PCPath    TA      2148532225

2150629377    SRv6Policy    TA      2149580801

Example: Configuring SRv6 TE policy egress protection

Network configuration

As shown in Figure 22, deploy an SRv6 TE policy in both directions between PE 1 and PE 2 to carry the L3VPN service. PE 2 is the egress node of the SRv6 TE policy. To improve the forwarding reliability, configure PE 3 to protect PE 2.

Figure 22 Network diagram

Table 1 Interface and IP address

Device

Interface

IP Address

Device

Interface

IP Address

CE 1

GE1/0

10.1.1.2/24

PE 2

Loop0

3::3/128

PE 1

Loop0

1::1/128

 

GE1/0

10.2.1.1/24

 

GE1/0

10.1.1.1/24

 

GE2/0

2002::1/64

 

GE2/0

2001::1/96

 

GE3/0

2004::2/96

P

Loop0

2::2/128

PE 3

Loop0

4::4/128

 

GE1/0

2001::2/96

 

GE1/0

10.3.1.1/24

 

GE2/0

2002::2/64

 

GE2/0

2003::1/96

 

GE3/0

2003::2/96

 

GE3/0

2004::1/96

 

 

 

CE 2

GE1/0

10.2.1.2/24

 

 

 

 

GE2/0

10.3.1.2/24

 

Prerequisites

Configure interface addresses as shown in Table 1.

Procedure

1.     Configure CE 1:

# Establish an EBGP peer relationship with PE 1 and redistribute the VPN routes.

<CE1> system-view

[CE1] bgp 65410

[CE1-bgp-default] peer 10.1.1.1 as-number 100

[CE1-bgp-default] address-family ipv4 unicast

[CE1-bgp-default-ipv4] peer 10.1.1.1 enable

[CE1-bgp-default-ipv4] import-route direct

[CE1-bgp-default-ipv4] quit

[CE1-bgp-default] quit

 

2.     Configure PE 1:

# Configure IPv6 IS-IS for backbone network connectivity.

<PE1> system-view

[PE1] isis 1

[PE1-isis-1] is-level level-1

[PE1-isis-1] cost-style wide

[PE1-isis-1] network-entity 10.1111.1111.1111.00

[PE1-isis-1] address-family ipv6 unicast

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

[PE1] interface loopback 0

[PE1-LoopBack0] ipv6 address 1::1 128

[PE1-LoopBack0] isis ipv6 enable 1

[PE1-LoopBack0] quit

[PE1] interface gigabitethernet 2/0

[PE1-GigabitEthernet2/0] ipv6 address 2001::1 96

[PE1-GigabitEthernet2/0] isis ipv6 enable 1

[PE1-GigabitEthernet2/0] quit

# Configure a VPN instance and bind it to the CE-facing interface.

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] route-distinguisher 100:1

[PE1-vpn-instance-vpn1] vpn-target 111:1

[PE1-vpn-instance-vpn1] quit

[PE1] interface gigabitethernet 1/0

[PE1-GigabitEthernet1/0] ip binding vpn-instance vpn1

[PE1-GigabitEthernet1/0] ip address 10.1.1.1 24

[PE1-GigabitEthernet1/0] quit

# Establish an EBGP peer relationship with the connected CE to redistribute the VPN routes.

[PE1] bgp 100

[PE1-bgp-default] router-id 1.1.1.1

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] peer 10.1.1.2 as-number 65410

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] peer 10.1.1.2 enable

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

# Establish MP-IBGP peer relationships with the peer PEs.

[PE1] bgp 100

[PE1-bgp-default] peer 3::3 as-number 100

[PE1-bgp-default] peer 4::4 as-number 100

[PE1-bgp-default] peer 3::3 connect-interface loopback 0

[PE1-bgp-default] peer 4::4 connect-interface loopback 0

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 enable

[PE1-bgp-default-vpnv4] peer 4::4 enable

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] quit

# Configure L3VPN over SRv6 TE policy.

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] encapsulation source-address 1::1

[PE1-segment-routing-ipv6] locator aaa ipv6-prefix 1:2::1:0 96 static 8

[PE1-segment-routing-ipv6-locator-aaa] opcode 1 end-dt4 vpn-instance vpn1

[PE1-segment-routing-ipv6-locator-aaa] quit

[PE1-segment-routing-ipv6] quit

[PE1] bgp 100

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 prefix-sid

[PE1-bgp-default-vpnv4] peer 4::4 prefix-sid

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 locator aaa

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

[PE1] isis 1

[PE1-isis-1] address-family ipv6 unicast

[PE1-isis-1-ipv6] segment-routing ipv6 locator aaa

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

# Configure an SRv6 TE policy.

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] srv6-policy locator aaa

[PE1-srv6-te] segment-list s1

[PE1-srv6-te-s1-s1] index 10 ipv6 100:abc:1::1

[PE1-srv6-te-s1-s1] index 20 ipv6 6:5::1:2

[PE1-srv6-te-s1-s1] quit

[PE1-srv6-te] policy p1

[PE1-srv6-te-policy-p1] binding-sid ipv6 1:2::1:2

[PE1-srv6-te-policy-p1] color 10 end-point ipv6 3::3

[PE1-srv6-te-policy-p1] candidate-paths

[PE1-srv6-te-policy-p1-path] preference 10

[PE1-srv6-te-policy-p1-path-pref-10] explicit segment-list s1

[PE1-srv6-te-policy-p1-path-pref-10] quit

[PE1-srv6-te-policy-p1-path] quit

[PE1-srv6-te-policy-p1] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

 

3.     Configure the P device:

# Configure IPv6 IS-IS for backbone network connectivity.

<P> system-view

[P] isis 1

[P-isis-1] is-level level-1

[P-isis-1] cost-style wide

[P-isis-1] network-entity 10.2222.2222.2222.00

[P-isis-1] address-family ipv6 unicast

[P-isis-1-ipv6] quit

[P-isis-1] quit

[P] interface loopback 0

[P-LoopBack0] ipv6 address 2::2 128

[P-LoopBack0] isis ipv6 enable 1

[P-LoopBack0] quit

[P] interface gigabitethernet 1/0

[P-GigabitEthernet1/0] ipv6 address 2001::2 96

[P-GigabitEthernet1/0] isis ipv6 enable 1

[P-GigabitEthernet1/0] quit

[P] interface gigabitethernet 2/0

[P-GigabitEthernet2/0] ipv6 address 2002::2 96

[P-GigabitEthernet2/0] isis ipv6 enable 1

[P-GigabitEthernet2/0] quit

[P] interface gigabitethernet 3/0

[P-GigabitEthernet3/0] ipv6 address 2003::2 96

[P-GigabitEthernet3/0] isis ipv6 enable 1

[P-GigabitEthernet3/0] quit

# Configure SRv6.

[P] segment-routing ipv6

[P-segment-routing-ipv6] locator p ipv6-prefix 100:abc:1::0 96 static 8

[P-segment-routing-ipv6-locator-p] opcode 1 end

[P-segment-routing-ipv6-locator-p] quit

[P-segment-routing-ipv6] quit

[P] isis 1

[P-isis-1] address-family ipv6 unicast

[P-isis-1-ipv6] segment-routing ipv6 locator p

# Configure the FRR backup nexthop information and enable egress protection.

[P-isis-1-ipv6] fast-reroute lfa level-1

[P-isis-1-ipv6] fast-reroute ti-lfa

[P-isis-1-ipv6] fast-reroute mirror enable

[P-isis-1-ipv6] quit

[P-isis-1] quit

 

4.     Configure PE 2:

# Configure IPv6 IS-IS for backbone network connectivity.

<PE2> system-view

[PE2] isis 1

[PE2-isis-1] is-level level-1

[PE2-isis-1] cost-style wide

[PE2-isis-1] network-entity 10.3333.3333.3333.00

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

[PE2] interface loopback 0

[PE2-LoopBack0] ipv6 address 3::3 128

[PE2-LoopBack0] isis ipv6 enable 1

[PE2-LoopBack0] quit

[PE2] interface gigabitethernet 2/0

[PE2-GigabitEthernet2/0] ipv6 address 2002::1 96

[PE2-GigabitEthernet2/0] isis ipv6 enable 1

[PE2-GigabitEthernet2/0] quit

[PE2] interface gigabitethernet 3/0

[PE2-GigabitEthernet3/0] ipv6 address 2004::2 96

[PE2-GigabitEthernet3/0] isis ipv6 enable 1

[PE2-GigabitEthernet3/0] quit

# Configure a VPN instance and bind it to the CE-facing interface.

[PE2] ip vpn-instance vpn1

[PE2-vpn-instance-vpn1] route-distinguisher 100:1

[PE2-vpn-instance-vpn1] vpn-target 111:1

[PE2-vpn-instance-vpn1] quit

[PE2] interface gigabitethernet 1/0

[PE2-GigabitEthernet1/0] ip binding vpn-instance vpn1

[PE2-GigabitEthernet1/0] ip address 10.2.1.1 24

[PE2-GigabitEthernet1/0] quit

# Establish an EBGP peer relationship with the connected CE to redistribute the VPN routes.

[PE2] bgp 100

[PE2-bgp-default] router-id 2.2.2.2

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] peer 10.2.1.2 as-number 65420

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] peer 10.2.1.2 enable

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

# Establish MP-IBGP peer relationships with the peer PEs.

[PE2] bgp 100

[PE2-bgp-default] peer 1::1 as-number 100

[PE2-bgp-default] peer 4::4 as-number 100

[PE2-bgp-default] peer 1::1 connect-interface loopback 0

[PE2-bgp-default] peer 4::4 connect-interface loopback 0

[PE2-bgp-default] address-family vpnv4

[PE2-bgp-default-vpnv4] peer 1::1 enable

[PE2-bgp-default-vpnv4] peer 4::4 enable

[PE2-bgp-default-vpnv4] quit

[PE2-bgp-default] quit

# Configure L3VPN over SRv6 TE policy.

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] encapsulation source-address 3::3

[PE2-segment-routing-ipv6] locator bbb ipv6-prefix 6:5::1:0 96 static 8

[PE2-segment-routing-ipv6-locator-bbb] opcode 1 end-dt4 vpn-instance vpn1

[PE2-segment-routing-ipv6-locator-bbb] opcode 2 end

[PE2-segment-routing-ipv6-locator-bbb] quit

[PE2-segment-routing-ipv6] quit

[PE2] bgp 100

[PE2-bgp-default] address-family vpnv4

[PE2-bgp-default-vpnv4] peer 1::1 prefix-sid

[PE2-bgp-default-vpnv4] peer 4::4 prefix-sid

[PE2-bgp-default-vpnv4] quit

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 locator bbb

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

[PE2] isis 1

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] segment-routing ipv6 locator bbb

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

 

5.     Configure PE 3:

# Configure IPv6 IS-IS for backbone network connectivity.

<PE3> system-view

[PE3] isis 1

[PE3-isis-1] is-level level-1

[PE3-isis-1] cost-style wide

[PE3-isis-1] network-entity 10.4444.4444.4444.00

[PE3-isis-1] address-family ipv6 unicast

[PE3-isis-1-ipv6] quit

[PE3-isis-1] quit

[PE3] interface loopback 0

[PE3-LoopBack0] ipv6 address 4::4 128

[PE3-LoopBack0] isis ipv6 enable 1

[PE3-LoopBack0] quit

[PE3] interface gigabitethernet 2/0

[PE3-GigabitEthernet2/0] ipv6 address 2003::1 96

[PE3-GigabitEthernet2/0] isis ipv6 enable 1

[PE3-GigabitEthernet2/0] quit

[PE3] interface gigabitethernet 3/0

[PE3-GigabitEthernet3/0] ipv6 address 2004::1 96

[PE3-GigabitEthernet3/0] isis ipv6 enable 1

[PE3-GigabitEthernet3/0] quit

# Configure a VPN instance and bind it to the CE-facing interface.

[PE3] ip vpn-instance vpn1

[PE3-vpn-instance-vpn1] route-distinguisher 100:1

[PE3-vpn-instance-vpn1] vpn-target 111:1

[PE3-vpn-instance-vpn1] quit

[PE3] interface gigabitethernet 1/0

[PE3-GigabitEthernet1/0] ip binding vpn-instance vpn1

[PE3-GigabitEthernet1/0] ip address 10.3.1.1 24

[PE3-GigabitEthernet1/0] quit

# Establish an EBGP peer relationship with the connected CE to redistribute the VPN routes.

[PE3] bgp 100

[PE3-bgp-default] router-id 3.3.3.3

[PE3-bgp-default] ip vpn-instance vpn1

[PE3-bgp-default-vpn1] peer 10.3.1.2 as-number 65420

[PE3-bgp-default-vpn1] address-family ipv4 unicast

[PE3-bgp-default-ipv4-vpn1] peer 10.3.1.2 enable

[PE3-bgp-default-ipv4-vpn1] quit

[PE3-bgp-default-vpn1] quit

# Establish MP-IBGP peer relationships with the peer PEs.

[PE3] bgp 100

[PE3-bgp-default] peer 1::1 as-number 100

[PE3-bgp-default] peer 3::3 as-number 100

[PE3-bgp-default] peer 1::1 connect-interface loopback 0

[PE3-bgp-default] peer 3::3 connect-interface loopback 0

[PE3-bgp-default] address-family vpnv4

[PE3-bgp-default-vpnv4] peer 1::1 enable

[PE3-bgp-default-vpnv4] peer 3::3 enable

[PE3-bgp-default-vpnv4] quit

[PE3-bgp-default] quit

# Configure the source address in the outer IPv6 header of SRv6 VPN packets.

[PE3] segment-routing ipv6

[PE3-segment-routing-ipv6] encapsulation source-address 4::4

# Configure an End.M SID to protect PE 2.

[PE3-segment-routing-ipv6] locator ccc ipv6-prefix 9:7::1:0 96 static 8

[PE3-segment-routing-ipv6-locator-ccc] opcode 1 end-m mirror-locator 6:5::1:0 96

[PE3-segment-routing-ipv6-locator-ccc] quit

[PE3-segment-routing-ipv6] quit

# Recurse the VPN routes to the End.M SID route.

[PE3] bgp 100

[PE3-bgp-default] address-family vpnv4

[PE3-bgp-default-vpnv4] peer 1::1 prefix-sid

[PE3-bgp-default-vpnv4] peer 3::3 prefix-sid

[PE3-bgp-default-vpnv4] quit

[PE3-bgp-default] ip vpn-instance vpn1

[PE3-bgp-default-vpn1] address-family ipv4 unicast

[PE3-bgp-default-ipv4-vpn1] segment-routing ipv6 locator ccc

[PE3-bgp-default-ipv4-vpn1] quit

[PE3-bgp-default-vpn1] quit

[PE3-bgp-default] quit

[PE3] isis 1

[PE3-isis-1] address-family ipv6 unicast

[PE3-isis-1-ipv6] segment-routing ipv6 locator ccc

[PE3-isis-1-ipv6] quit

[PE3-isis-1] quit

 

6.     Configure CE 2:

# Establish an EBGP peer relationship with PEs and redistribute the VPN routes.

<CE2> system-view

[CE2] bgp 65420

[CE2-bgp-default] peer 10.2.1.1 as-number 100

[CE2-bgp-default] peer 10.3.1.1 as-number 100

[CE2-bgp-default] address-family ipv4 unicast

[CE2-bgp-default-ipv4] peer 10.2.1.1 enable

[CE2-bgp-default-ipv4] peer 10.3.1.1 enable

[CE2-bgp-default-ipv4] import-route direct

[CE2-bgp-default-ipv4] quit

[CE2-bgp-default] quit

 

Verifying the configuration

# Display the SRv6 TE policy configuration. The output shows that the SRv6 TE policy is up for traffic forwarding.

[PE1] display segment-routing ipv6 te policy

 

Name/ID: p1/0

 Color: 10

 End-point: 3::3

 Name from BGP:

 BSID:

  Mode: Explicit            Type: Type_2              Request state: Succeeded

  Current BSID: 1:2::1:2    Explicit BSID: 1:2::1:2   Dynamic BSID: -

 Reference counts: 4

 Flags: A/BS/NC

 Status: Up

 AdminStatus: Not configured

 Up time: 2020-10-28 09:10:33

 Down time: 2020-10-28 09:09:32

 Hot backup: Not configured

 Statistics: Not configured

  Statistics by service class: Not configured

 Drop-upon-invalid: Disabled

 BFD trigger path-down: Disabled

 SBFD: Not configured

 BFD Echo: Not configured

 Forwarding index: 2150629377

 Service-class: -

 Rate-limit: -

 Service-class: -

 Encaps reduced: Not configured

 Encaps include local End.X: Not configured

 Candidate paths state: Configured

 Candidate paths statistics:

  CLI paths: 1          BGP paths: 0          PCEP paths: 0

 Candidate paths:

  Preference : 10

   CPathName:

   Instance ID: 0          ASN: 0          Node address: 0.0.0.0

   Peer address:  ::

   Optimal: Y              Flags: V/A

   Explicit SID list:

    ID: 1                     Name: s1

    Weight: 1                 Forwarding index: 2149580801

    State: Up                 State(-): -

    Active path MTU: 1428 byte

# Display SRv6 TE policy forwarding information on PE 1.

[PE1] display segment-routing ipv6 te forwarding verbose

Total forwarding entries: 1

 

Policy name/ID: p1/0

 Binding SID: 1:2::1:2

 Forwarding index: 2150629377

 Main path:

   Seglist ID: 1

     Seglist forwarding index: 2149580801

     Weight: 1

     Outgoing forwarding index: 2148532225

       Interface: GE2/0

       Nexthop: FE80::988A:B5FF:FED9:316

         Path ID: 0

         SID list: {100:ABC:1::1, 6:5::1:2}

# Display SRv6 TE policy forwarding path information on PE 1.

[PE1] display segment-routing ipv6 forwarding

Total SRv6 forwarding entries: 3

 

Flags: T - Forwarded through a tunnel

       N - Forwarded through the outgoing interface to the nexthop IP address

       A - Active forwarding information

       B - Backup forwarding information

 

ID            FWD-Type      Flags   Forwarding info

              Attri-Val             Attri-Val

--------------------------------------------------------------------------------

2148532225    SRv6PSIDList  NA      GE2/0

                                    FE80::988A:B5FF:FED9:316

                                    {100:ABC:1::1, 6:5::1:2}

2149580801    SRv6PCPath    TA      2148532225

2150629377    SRv6Policy    TA      2149580801

              p1

# Display remote SRv6 SIDs protected by End.M SIDs on PE 3.

[PE3] display bgp mirror remote-sid

 

Remote SID: 6:5::1:1

Remote SID type: End.DT4

Mirror locator: 6:5::1:0/96

Vpn instance name: vpn1

# Display the End.M SID carried in the IS-IS IPv6 route on the P device.

[P] display isis route ipv6 6:5::1:0 96 verbose

 

                         Route information for IS-IS(1)

                         ------------------------------

 

                         Level-1 IPv6 forwarding table

                         -----------------------------

 

 IPv6 dest   : 6:5::/96

 Flag        : R/-/-                       Cost        : 10

 Admin tag   : -                           Src count   : 3

 Nexthop     : FE80::988A:BDFF:FEB6:417

 Interface   : GE2/0

 Mirror FRR:

  Interface : GE3/0

  BkNextHop : FE80::988A:C6FF:FE0D:517

  LsIndex    : 0x80000001

  Backup label stack(top->bottom): {9:7::1:1}

 Nib ID      : 0x24000006

 

      Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set

Typically, VPN traffic from CE 1 to CE 2 is forwarded over the CE 1-PE 1-P-PE 2-CE 2 path. When PE 2 fails, the P device switches traffic to the mirror FRR path for the SRv6 TE policy when it detects that the next hop (PE 2) is unreachable.

# Shut down the interface that connects P to PE 2.

[P] interface gigabitethernet 2/0

[P-GigabitEthernet2/0] shut

[P-GigabitEthernet2/0] quit

# Display the IS-IS IPv6 route information. The output shows that the nexthop interface becomes the backup interface.

[P] display isis route ipv6 6:5::1:0 96 verbose

 

                         Route information for IS-IS(1)

                         ------------------------------

 

                         Level-1 IPv6 forwarding table

                         -----------------------------

 

 IPv6 dest   : 6:5::/96

 Flag        : R/-/-                       Cost        : 20

 Admin tag   : -                           Src count   : 3

 Nexthop     : FE80::988A:C6FF:FE0D:517

 Interface   : GE3/0

 Nib ID      : 0x24000007

 

      Flags: D-Direct, R-Added to Rib, L-Advertised in LSPs, U-Up/Down Bit Set

# Display SRv6 TE policy information on PE 1. The output shows that the SRv6 TE policy is still up.

[PE1] display segment-routing ipv6 te policy

 

Name/ID: p1/0

 Color: 10

 End-point: 3::3

 Name from BGP:

 BSID:

  Mode: Explicit            Type: Type_2              Request state: Succeeded

  Current BSID: 1:2::1:2    Explicit BSID: 1:2::1:2   Dynamic BSID: -

 Reference counts: 4

 Flags: A/BS/NC

 Status: Up

 AdminStatus: Not configured

 Up time: 2020-10-28 09:10:33

 Down time: 2020-10-28 09:09:32

 Hot backup: Not configured

 Statistics: Not configured

  Statistics by service class: Not configured

 Drop-upon-invalid: Disabled

 BFD trigger path-down: Disabled

 SBFD: Not configured

 BFD Echo: Not configured

 Forwarding index: 2150629377

 Service-class: -

 Rate-limit: -

 Service-class: -

 Encaps reduced: Not configured

 Encaps include local End.X: Not configured

 Candidate paths state: Configured

 Candidate paths statistics:

  CLI paths: 1          BGP paths: 0          PCEP paths: 0

 Candidate paths:

  Preference : 10

   CPathName:

   Instance ID: 0          ASN: 0          Node address: 0.0.0.0

   Peer address:  ::

   Optimal: Y              Flags: V/A

   Explicit SID list:

    ID: 1                     Name: s1

    Weight: 1                 Forwarding index: 2149580801

    State: Up                 State(-): -

    Active path MTU: 1428 bytes

Example: Configuring SRv6 TE policy-based forwarding with IPR

Network configuration

As shown in Figure 23:

·     AS 100 is an IPv6 network and the private networks are IPv4 networks.

·     PE 1, P 1, P 2, P 3, and PE 2 belong to one AS, and they run IS-IS for IPv6 network connectivity.

·     An SRv6 TE policy group is created between PE 1 and PE 2. The SRv6 TE policy group contains three SRv6 TE policies with different forwarding paths to carry IPv4 L3VPN service traffic.

·     Routing policies are configured on PE 1 and PE 2 to match color attribute values in VPNv4 routes and steer VPN traffic to the SRv6 TE policy group between PE 1 and PE 2.

·     An IPR policy is configured for dynamic forwarding path selection.

The SRv6 TE policies are configured as follows:

·     SRv6 TE policy A has one candidate path. The forwarding path represented by the SID list is PE 1 > P 1 > PE 2.

·     SRv6 TE policy B has one candidate path. The forwarding path represented by the SID list is PE 1 > P 2 > PE 2.

·     SRv6 TE policy C has one candidate path. The forwarding path represented by the SID list is PE 1 > P 3 > PE 2.

The IPR policy contains the following settings:

·     The packet loss rate threshold is 5‰, delay threshold is 100 ms, jitter threshold is 10 ms, and CMI threshold is 110.

·     The path selection priority is 1 for SRv6 TE policy A, 2 for SRv6 TE policy B, and 3 for SRv6 TE policy C.

Figure 23 Network diagram

Device

Interface

IP address

Device

Interface

IP address

CE 1

GE1/0

10.1.1.1/24

CE 2

GE2/0

20.1.1.1/24

 

Loop0

11.11.11.11/32

 

Loop0

22.22.22.22/32

PE 1

Loop1

1::1/128

P 1

Loop1

2::2/128

 

GE1/0

10.1.1.2/24

 

GE1/0

5001::2/96

 

GE2/0

2001::1/96

 

GE2/0

2001::2/96

 

GE3/0

3001::1/96

P 2

Loop1

4::4/128

 

GE4/0

4001::1/96

 

GE1/0

6001::2/96

PE 2

Loop1

3::3/128

 

GE2/0

3001::2/96

 

GE1/0

5001::1/96

P 3

Loop1

5::5/128

 

GE2/0

20.1.1.2/24

 

GE1/0

7001::2/96

 

GE3/0

6001::1/96

 

GE2/0

4001::2/96

 

GE4/0

7001::1/96

 

 

 

 

Procedure

1.     Configure IPv6 addresses and prefix lengths for interfaces as shown in Figure 23. (Details not shown.)

2.     Configure CE 1:

# Configure EBGP to advertise private routes to PE 1.

<CE1> system-view

[CE1] bgp 200

[CE1-bgp-default] router-id 11.11.11.11

[CE1-bgp-default] peer 10.1.1.2 as-number 100

[CE1-bgp-default] address-family ipv4 unicast

[CE1-bgp-default-ipv4] peer 10.1.1.2 enable

[CE1-bgp-default-ipv4] import-route direct

[CE1-bgp-default-ipv4] quit

[CE1-bgp-default] quit

3.     Configure CE 2:

# Configure EBGP to advertise private routes to PE 2.

[CE2] bgp 300

[CE2-bgp-default] router-id 22.22.22.22

[CE2-bgp-default] peer 20.1.1.2 as-number 100

[CE2-bgp-default] address-family ipv4 unicast

[CE2-bgp-default-ipv4] peer 20.1.1.2 enable

[CE2-bgp-default-ipv4] import-route direct

[CE2-bgp-default-ipv4] quit

[CE2-bgp-default] quit

4.     Configure PE 1:

# Configure IPv6 IS-IS for backbone network connectivity.

<PE1> system-view

[PE1] isis 1

[PE1-isis-1] cost-style wide

[PE1-isis-1] network-entity 00.0000.0000.0001.00

[PE1-isis-1] address-family ipv6 unicast

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

[PE1] interface loopback 1

[PE1-LoopBack1] isis ipv6 enable 1

[PE1-LoopBack1] quit

[PE1] interface gigabitethernet 2/0

[PE1-GigabitEthernet2/0] isis ipv6 enable 1

[PE1-GigabitEthernet2/0] quit

[PE1] interface gigabitethernet 3/0

[PE1-GigabitEthernet3/0] isis ipv6 enable 1

[PE1-GigabitEthernet3/0] quit

[PE1] interface gigabitethernet 4/0

[PE1-GigabitEthernet4/0] isis ipv6 enable 1

[PE1-GigabitEthernet4/0] quit

# Configure a VPN instance to attach CE 1 to PE 1.

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] route-distinguisher 100:1

[PE1-vpn-instance-vpn1] vpn-target 100:1

[PE1-vpn-instance-vpn1] quit

[PE1] interface gigabitethernet 1/0

[PE1-GigabitEthernet1/0] ip binding vpn-instance vpn1

[PE1-GigabitEthernet1/0] ip address 10.1.1.2 24

[PE1-GigabitEthernet1/0] quit

# Establish an EBGP peer relationship with CE 1 and import VPN routes.

[PE1] bgp 100

[PE1-bgp-default] router-id 1.1.1.1

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] peer 10.1.1.1 as-number 200

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] peer 10.1.1.1 enable

[PE1-bgp-default-ipv4-vpn1] import-route direct

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

# Establish an MP-IBGP peer relationship with PE 2.

[PE1-bgp-default] peer 3::3 as-number 100

[PE1-bgp-default] peer 3::3 connect-interface loopback 1

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 enable

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] quit

# Recurse VPN routes between PE 1 and PE 2 to the SRv6 TE policy group.

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] encapsulation source-address 1::1

[PE1-segment-routing-ipv6] locator abc ipv6-prefix 100:1:: 64 static 16

[PE1-segment-routing-ipv6-locator-abc] opcode 1 end

[PE1-segment-routing-ipv6-locator-abc] quit

[PE1-segment-routing-ipv6] quit

[PE1] isis 1

[PE1-isis-1] address-family ipv6 unicast

[PE1-isis-1-ipv6] segment-routing ipv6 locator abc

[PE1-isis-1-ipv6] quit

[PE1-isis-1] quit

[PE1] bgp 100

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 prefix-sid

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] ip vpn-instance vpn1

[PE1-bgp-default-vpn1] address-family ipv4 unicast

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 locator abc

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

# Configure SRv6 TE policy A.

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] srv6-policy locator abc

[PE1-srv6-te] segment-list s1

[PE1-srv6-te-sl-s1] index 10 ipv6 200:1::1

[PE1-srv6-te-sl-s1] index 20 ipv6 300:1::1

[PE1-srv6-te-sl-s1] quit

[PE1-srv6-te] policy A

[PE1-srv6-te-policy-A] color 10 end-point ipv6 3::3

[PE1-srv6-te-policy-A] candidate-paths

[PE1-srv6-te-policy-A-path] preference 10

[PE1-srv6-te-policy-A-path-pref-10] explicit segment-list s1

[PE1-srv6-te-policy-A-path-pref-10] quit

[PE1-srv6-te-policy-A-path] quit

[PE1-srv6-te-policy-A] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

# Configure SRv6 TE policy B.

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] srv6-policy locator abc

[PE1-srv6-te] segment-list s2

[PE1-srv6-te-sl-s1] index 10 ipv6 400:1::1

[PE1-srv6-te-sl-s1] index 20 ipv6 300:1::1

[PE1-srv6-te-sl-s1] quit

[PE1-srv6-te] policy B

[PE1-srv6-te-policy-B] color 20 end-point ipv6 3::3

[PE1-srv6-te-policy-B] candidate-paths

[PE1-srv6-te-policy-B-path] preference 10

[PE1-srv6-te-policy-B-path-pref-10] explicit segment-list s2

[PE1-srv6-te-policy-B-path-pref-10] quit

[PE1-srv6-te-policy-B-path] quit

[PE1-srv6-te-policy-B] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

# Configure SRv6 TE policy C.

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] srv6-policy locator abc

[PE1-srv6-te] segment-list s3

[PE1-srv6-te-sl-s1] index 10 ipv6 500:1::1

[PE1-srv6-te-sl-s1] index 20 ipv6 300:1::1

[PE1-srv6-te-sl-s1] quit

[PE1-srv6-te] policy C

[PE1-srv6-te-policy-C] color 30 end-point ipv6 3::3

[PE1-srv6-te-policy-C] candidate-paths

[PE1-srv6-te-policy-C-path] preference 10

[PE1-srv6-te-policy-C-path-pref-10] explicit segment-list s3

[PE1-srv6-te-policy-C-path-pref-10] quit

[PE1-srv6-te-policy-C-path] quit

[PE1-srv6-te-policy-C] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

# Enable iFIT, configure the iFIT device ID, set the iFIT operating mode to analyzer, and globally enable iFIT packet loss measurement and iFIT delay and jitter measurement for SRv6 TE policies.

[PE1] ifit enable

[PE1-ifit] device-id 100

[PE1-ifit] work-mode analyzer

[PE1-ifit-analyzer] service-type srv6-segment-list

[PE1-ifit-analyzer] quit

[PE1-ifit] quit

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] srv6-policy ifit loss-measure enable

[PE1-srv6-te] srv6-policy ifit delay-measure enable

[PE1-srv6-te] srv6-policy ifit interval 10

# Globally enable SBFD for SRv6 TE policies.

[PE1] sbfd source-ipv6 1::1

[PE1] bfd multi-hop detect-multiplier 5

[PE1] bfd multi-hop min-transmit-interval 50

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] srv6-policy sbfd remote 1000001

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

# Configure IPR policy ipr1 and configure parameters in the IPR policy.

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] intelligent-policy-route

[PE1-srv6-te-ipr] refresh-period 30

[PE1-srv6-te-ipr] ipr-policy ipr1

[PE1-srv6-ipr-policy-ipr1] delay threshold 100

[PE1-srv6-ipr-policy-ipr1] jitter threshold 10

[PE1-srv6-ipr-policy-ipr1] loss threshold 5

[PE1-srv6-ipr-policy-ipr1] cmi threshold 110

[PE1-srv6-ipr-policy-ipr1] srv6-policy color 10 priority 1

[PE1-srv6-ipr-policy-ipr1] srv6-policy color 20 priority 2

[PE1-srv6-ipr-policy-ipr1] srv6-policy color 30 priority 3

[PE1-srv6-ipr-policy-ipr1] quit

[PE1-srv6-te-ipr] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

# In the inbound direction of GigabitEthernet 1/0, mark the private network service traffic from CE 1 to CE 2, with a source address of 11.11.11.11/32 and a destination address of 22.22.22.22/32, with TE class ID 10.

[PE1] acl advanced 3000

[PE1-acl-ipv4-adv-3000] rule 10 permit ip source 11.11.11.11 0 destination 22.22.22.22  0

[PE1-acl-ipv4-adv-3000] quit

[PE1] traffic classifier aaa

[PE1-classifier-aaa] if-match acl 3000

[PE1-classifier-aaa] quit

[PE1] traffic behavior aaa

[PE1-behavior-aaa] remark te-class 10

[PE1-behavior-aaa] quit

[PE1] qos policy aaa

[PE1-qospolicy-aaa] classifier aaa behavior aaa

[PE1-qospolicy-aaa] quit

[PE1] interface gigabitethernet 1/0

[PE1-GigabitEthernet1/0] qos apply policy aaa inbound

[PE1-GigabitEthernet1/0] quit

# Configure SRv6 TE policy group 10. In the SRv6 TE policy group, use TE class ID-based traffic steering, configure a mapping between TE class ID 10 and IPR policy ipr1, and specify the SRv6 BE mode in the default forwarding policy.

[PE1] segment-routing ipv6

[PE1-segment-routing-ipv6] traffic-engineering

[PE1-srv6-te] policy-group 10

[PE1-srv6-te-policy-group-10] end-point ipv6 3::3

[PE1-srv6-te-policy-group-10] group-color 100

[PE1-srv6-te-policy-group-10] forward-type te-class

[PE1-srv6-te-policy-group-10] index 1 te-class 10 match ipr-policy ipr1

[PE1-srv6-te-policy-group-10] default match best-effort

# Configure a routing policy and tunnel policy to steer VPN service traffic to the SRv6 TE policy group through the routing policy and preferentially select the SRv6 TE policy group for traffic forwarding.

[PE1] route-policy a permit node 10

[PE1-route-policy-a-10] apply extcommunity color 00:100

[PE1-route-policy-a-10] quit

[PE1] bgp 100

[PE1-bgp-default] address-family vpnv4

[PE1-bgp-default-vpnv4] peer 3::3 route-policy a import

[PE1-bgp-default-vpnv4] quit

[PE1-bgp-default] quit

[PE1] tunnel-policy a

[PE1-tunnel-policy-a] select-seq srv6-policy-group load-balance-number 1

[PE1-tunnel-policy-a] quit

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] tnl-policy a

[PE1-vpn-instance-vpn1] quit

5.     Configure P 1:

# Configure IPv6 IS-IS for backbone network connectivity.

<P1> system-view

[P1] isis 1

[P1-isis-1] cost-style wide

[P1-isis-1] network-entity 00.0000.0000.0002.00

[P1-isis-1] address-family ipv6 unicast

[P1-isis-1-ipv6] quit

[P1-isis-1] quit

[P1] interface loopback 1

[P1-LoopBack1] isis ipv6 enable 1

[P1-LoopBack1] quit

[P1] interface gigabitethernet 2/0

[P1-GigabitEthernet2/0] isis ipv6 enable 1

[P1-GigabitEthernet2/0] quit

[P1] interface gigabitethernet 1/0

[P1-GigabitEthernet1/0] isis ipv6 enable 1

[P1-GigabitEthernet1/0] quit

# Configure a locator and use IS-IS to advertise the locator.

[P1] segment-routing ipv6

[P1-segment-routing-ipv6] locator abc ipv6-prefix 200:1:: 64 static 16

[P1-segment-routing-ipv6-locator-abc] opcode 1 end

[P1-segment-routing-ipv6-locator-abc] quit

[P1-segment-routing-ipv6] quit

[P1] isis 1

[P1-isis-1] address-family ipv6 unicast

[P1-isis-1-ipv6] segment-routing ipv6 locator abc

[P1-isis-1-ipv6] quit

[P1-isis-1] quit

6.     Configure P 2:

# Configure IPv6 IS-IS for backbone network connectivity.

<P2> system-view

[P2] isis 1

[P2-isis-1] cost-style wide

[P2-isis-1] network-entity 00.0000.0000.0003.00

[P2-isis-1] address-family ipv6 unicast

[P2-isis-1-ipv6] quit

[P2-isis-1] quit

[P2] interface loopback 1

[P2-LoopBack1] isis ipv6 enable 1

[P2-LoopBack1] quit

[P2] interface gigabitethernet 2/0

[P2-GigabitEthernet2/0] isis ipv6 enable 1

[P2-GigabitEthernet2/0] quit

[P2] interface gigabitethernet 1/0

[P2-GigabitEthernet1/0] isis ipv6 enable 1

[P2-GigabitEthernet1/0] quit

# Configure a locator and use IS-IS to advertise the locator.

[P2] segment-routing ipv6

[P2-segment-routing-ipv6] locator abc ipv6-prefix 400:1:: 64 static 16

[P2-segment-routing-ipv6-locator-abc] opcode 1 end

[P2-segment-routing-ipv6-locator-abc] quit

[P2-segment-routing-ipv6] quit

[P2] isis 1

[P2-isis-1] address-family ipv6 unicast

[P2-isis-1-ipv6] segment-routing ipv6 locator abc

[P2-isis-1-ipv6] quit

[P2-isis-1] quit

7.     Configure P 3:

# Configure IPv6 IS-IS for backbone network connectivity.

<P3> system-view

[P3] isis 1

[P3-isis-1] cost-style wide

[P3-isis-1] network-entity 00.0000.0000.0004.00

[P3-isis-1] address-family ipv6 unicast

[P3-isis-1-ipv6] quit

[P3-isis-1] quit

[P3] interface loopback 1

[P3-LoopBack1] isis ipv6 enable 1

[P3-LoopBack1] quit

[P3] interface gigabitethernet 2/0

[P3-GigabitEthernet2/0] isis ipv6 enable 1

[P3-GigabitEthernet2/0] quit

[P3] interface gigabitethernet 1/0

[P3-GigabitEthernet1/0] isis ipv6 enable 1

[P3-GigabitEthernet1/0] quit

# Configure a locator and use IS-IS to advertise the locator.

[P3] segment-routing ipv6

[P3-segment-routing-ipv6] locator abc ipv6-prefix 500:1:: 64 static 16

[P3-segment-routing-ipv6-locator-abc] opcode 1 end

[P3-segment-routing-ipv6-locator-abc] quit

[P3-segment-routing-ipv6] quit

[P3] isis 1

[P3-isis-1] address-family ipv6 unicast

[P3-isis-1-ipv6] segment-routing ipv6 locator abc

[P3-isis-1-ipv6] quit

[P3-isis-1] quit

8.     Configure PE 2:

# Configure IPv6 IS-IS for backbone network connectivity.

<PE2> system-view

[PE2] isis 1

[PE2-isis-1] cost-style wide

[PE2-isis-1] network-entity 00.0000.0000.0005.00

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

[PE2] interface loopback 1

[PE2-LoopBack1] isis ipv6 enable 1

[PE2-LoopBack1] quit

[PE2] interface gigabitethernet 1/0

[PE2-GigabitEthernet1/0] isis ipv6 enable 1

[PE2-GigabitEthernet1/0] quit

[PE2] interface gigabitethernet 3/0

[PE2-GigabitEthernet3/0] isis ipv6 enable 1

[PE2-GigabitEthernet3/0] quit

[PE2] interface gigabitethernet 4/0

[PE2-GigabitEthernet4/0] isis ipv6 enable 1

[PE2-GigabitEthernet4/0] quit

# Configure a VPN instance to attach CE 2 to PE 2.

[PE2] ip vpn-instance vpn1

[PE2-vpn-instance-vpn1] route-distinguisher 100:1

[PE2-vpn-instance-vpn1] vpn-target 100:1

[PE2-vpn-instance-vpn1] quit

[PE2] interface gigabitethernet 2/0

[PE2-GigabitEthernet2/0] ip binding vpn-instance vpn1

[PE2-GigabitEthernet2/0] ip address 20.1.1.2 24

[PE2-GigabitEthernet2/0] quit

# Establish an EBGP peer relationship with CE 2 and import VPN routes.

[PE2] bgp 100

[PE2-bgp-default] router-id 3.3.3.3

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] peer 20.1.1.1 as-number 300

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] peer 20.1.1.1 enable

[PE2-bgp-default-ipv4-vpn1] import-route direct

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

# Establish an MP-IBGP peer relationship with PE 1.

[PE2-bgp-default] peer 1::1 as-number 100

[PE2-bgp-default] peer 1::1 connect-interface loopback 1

[PE2-bgp-default] address-family vpnv4

[PE2-bgp-default-vpnv4] peer 1::1 enable

[PE2-bgp-default-vpnv4] peer 1::1 prefix-sid

[PE2-bgp-default-vpnv4] quit

[PE2-bgp-default] ip vpn-instance vpn1

[PE2-bgp-default-vpn1] address-family ipv4 unicast

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 locator abc

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 best-effort

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

# Configure a locator and use IS-IS to advertise the locator.

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] encapsulation source-address 3::3

[PE2-segment-routing-ipv6] locator abc ipv6-prefix 300:1:: 64 static 16

[PE2-segment-routing-ipv6-locator-abc] opcode 1 end

[PE2-segment-routing-ipv6-locator-abc] quit

[PE2-segment-routing-ipv6] quit

[PE2] isis 1

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] segment-routing ipv6 locator abc

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

# Enable iFIT and set the iFIT operating mode to collector.

[PE2] ifit enable

[PE2-ifit] work-mode collector

[PE2-ifit-collector] service-type srv6-segment-list

[PE2-ifit-collector] quit

[PE2-ifit] quit

# Specify the local discriminator for the reflector of the SBFD session.

[PE2] sbfd local-discriminator 1000001

Verifying the configuration

# On PE 1, display SRv6 TE policy group information. Verify that the SRv6 TE policy group is in up state, traffic with TE class ID 10 is forwarded through the forwarding policy defined in IPR policy ipr1. In addition, the IPR policy is in active state and the color attribute value of the optimal SRv6 TE policy calculated by IPR is 10.

[PE1] display segment-routing ipv6 te policy-group verbose

Total number of policy groups: 1

 

GroupID: 10                         GroupState: Up

GroupNID: 2151677953                Referenced: 1

Flags:  None                        Group type: Static TE Class

Group color: 100

StateChangeTime: 2024-03-28 20:24:38

Endpoint: 3::3

BSID:

  Explicit BSID: -                       Request state: -

Drop upon mismatch: Disabled

UP/Total Mappings: 2/2

  Default Match Type: None/SRv6 BE(active)

    Default SRv6 TE Policy Color: -

    Default IPR Policy  : -

  Index: 1                TE Class: 10

    Match Type          : IPR Policy(active)

    SRv6 TE Policy Color: -

    IPR Policy          : ipr1

    Color: 10             Priority: 1

# On PE 1,  display forwarding information for SRv6 TE policies.

[PE1] display segment-routing ipv6 te forwarding verbose

Total forwarding entries: 3

 

Policy name/ID: A/0

 Binding SID: 100:1::1:3

 Forwarding index: 2150629378

 Main path:

   Seglist ID: 1

     Seglist forwarding index: 2149580803

     Weight: 1

     Outgoing forwarding index: 2148532226

       Interface: GE2/0

       Nexthop: FE80::E3A:FAFF:FED5:B983

       Discriminator: 10

       LoadShareWeight: 1

         Path ID: 0

         SID list: {200:1::1, 300:1::1}

 

Policy name/ID: B/1

 Binding SID: 100:1::1:4

 Forwarding index: 2150629379

 Main path:

   Seglist ID: 3

     Seglist forwarding index: 2149580804

     Weight: 1

     Outgoing forwarding index: 2148532227

       Interface: GE3/0

       Nexthop: FE80::E3A:FAFF:FED5:B985

       Discriminator: 10

       LoadShareWeight: 1

         Path ID: 0

         SID list: {400:1::1, 300:1::1}

 

Policy name/ID: C/2

 Binding SID: 100:1::1:5

 Forwarding index: 2150629380

 Main path:

   Seglist ID: 5

     Seglist forwarding index: 2149580805

     Weight: 1

     Outgoing forwarding index: 2148532228

       Interface: GE4/0

       Nexthop: FE80::E3A:FAFF:FED5:B987

       Discriminator: 10

       LoadShareWeight: 1

         Path ID: 0

         SID list: {500:1::1, 300:1::1}

 

  • Cloud & AI
  • InterConnect
  • Intelligent Computing
  • Intelligent Storage
  • Security
  • SMB Products
  • Intelligent Terminal Products
  • Product Support Services
  • Technical Service Solutions
All Services
  • Resource Center
  • Policy
  • Online Help
  • Technical Blogs
All Support
  • Become A Partner
  • Partner Policy & Program
  • Global Learning
  • Partner Sales Resources
  • Partner Business Management
  • Service Business
All Partners
  • Profile
  • News & Events
  • Online Exhibition Center
  • Contact Us
All About Us
新华三官网