08-Segment Routing Configuration Guide

HomeSupportRouters5G IPRAN Access RoutersConfigure & DeployConfiguration GuidesH3C RA5300[5300-X][5300-AC] Routers Configuration Guides-R7752-6W10108-Segment Routing Configuration Guide
03-SRv6 TE policy configuration
Title Size Download
03-SRv6 TE policy configuration 784.74 KB

Contents

Configuring SRv6 TE policies· 1

About SRv6 TE policies· 1

SRv6 TE policy identification· 1

SRv6 TE policy contents· 1

SRv6 TE policy creation· 2

SID list creation through dynamic path calculation· 2

SRv6 TE policy validity· 3

SRv6 TE policy group· 4

Traffic steering to an SRv6 TE policy· 4

SRv6 TE policy path selection· 5

SRv6 TE policy forwarding procedure· 6

SRv6 TE policy CBTS· 7

SRv6 TE policy hot standby· 8

SRv6 TE policy tasks at a glance· 9

Creating an SRv6 TE policy· 10

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

Configuring a candidate path and the SID lists of the path· 11

Configuring a candidate path to use manually configured SID lists· 11

Configuring a candidate path to create an SID list through affinity attribute-based path calculation· 12

Enabling strict SID encapsulation for SID lists· 14

Configuring dynamic path calculation timers· 14

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

Shutting down an SRv6 TE policy· 16

Configuring BGP to advertise BGP IPv6 SR policy routes· 16

Restrictions and guidelines for BGP IPv6 SR policy routes advertisement 16

Enabling BGP to advertise BGP IPv6 SR policy routes· 16

Configuring BGP to redistribute BGP IPv6 SR policy routes· 17

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

Enabling Router ID filtering· 18

Enabling validity check for BGP IPv6 SR policy routes· 19

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

Maintaining BGP sessions· 21

Configuring SRv6 TE policy traffic steering· 21

Configuring the SRv6 TE policy traffic steering mode· 21

Configuring color-based traffic steering· 22

Configuring tunnel policy-based traffic steering· 23

Configuring DSCP-based traffic steering· 25

Configuring 802.1p-based traffic steering· 27

Enabling SBFD for SRv6 TE policies· 29

Enabling echo BFD for SRv6 TE policies· 30

Enabling hot standby for SRv6 TE policies· 33

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

Setting the delay time for bringing up SRv6 TE policies· 34

Configuring path connectivity verification for SRv6 TE policies· 35

Configuring flapping suppression for SRv6 TE policies· 36

Configuring SRv6 TE policy CBTS· 37

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

Enabling SRv6 TE policy logging· 39

Enabling SNMP notifications for SRv6 TE policies· 39

Configuring traffic forwarding statistics for SRv6 TE policies· 40

Display and maintenance commands for SRv6 TE policies· 40

SRv6 TE policy configuration examples· 43

Example: Configuring SRv6 TE policy-based forwarding· 43

Example: Configuring color-based traffic steering for EVPN L3VPN over SRv6 TE Policy· 48

Example: Configuring CBTS-based traffic steering for EVPN L3VPN over SRv6 TE Policy· 57

 


Configuring SRv6 TE policies

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.

SRv6 TE policy identification

An SRv6 TE policy is identified by the following items:

·     BSID—SID of the ingress node (source node).

·     Color—Color attribute for the forwarding path. You can use the color attribute to distinguish an SRv6 TE policy from other SRv6 TE policies that are configured for the same source and destination nodes.

·     End-point—IPv6 address of the egress node (destination node).

SRv6 TE policy contents

As show 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. Candidate paths are uniquely identified by their preference values. An SRv6 TE policy chooses a candidate path from all its candidate paths based on the preference values to forward traffic.

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 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 a BGP IPv6 SR policy route

To support SRv6 TE policy, MP-BGP defines the BGP IPv6 SR policy 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.

SID list creation through dynamic path calculation

The dynamic path calculation is performed based on affinity attribute.

Dynamic path calculation based on affinity attribute

An SRv6 TE policy performs dynamic path calculation based on affinity attribute as follows:

1.     Select the links based on the affinity attribute rule.

The SRv6 TE policy selects links containing the bit values associated with the specified affinity attribute as required by the affinity attribute rule.

¡     Link attribute—A 32-bit binary number. Each bit represents an attribute with a value of 0 or 1.

¡     Affinity attribute bit position—The value range is 0 to 32. When the affinity attribute value is N, it is compared with the N+1 bit of the link attribute (from right to left). The affinity attribute applies to the link only if the N+1 bit value of the link attribute is 1.

For example, for affinity attribute name blue associated with bit 1 and affinity attribute name red associated with bit 5, the link selection varies by affinity attribute rule type:

¡     For the include-any affinity attribute rule, a link is available for use if the link attribute has the second bit (associated with affinity attribute blue) or sixth bit (associated with affinity attribute red) set to 1.

¡     For the include-all affinity attribute rule, a link is available for use if the link attribute has both the second bit (associated with affinity attribute blue) and sixth bit (associated with affinity attribute red) set to 1.

¡     For the exclude-any affinity attribute rule, a link is not available for use if the link attribute has the second bit (associated with affinity attribute blue) or sixth bit (associated with affinity attribute red) set to 1.

2.     Select the links based on the specified metric.

The SRv6 TE policy supports the following metrics:

¡     Hop count—Selects the link with minimum hops.

¡     IGP link cost—Selects the link with minimum IGP link cost.

¡     Interface latency—Selects the link with the minimum interface latency.

¡     TE cost—Selects the link with minimum TE cost.

After path calculation, the device sorts all link- or node-associated SIDs on the path in an ascending order of distance, and creates an SID list for the SRv6 TE policy. During SID selection, End SIDs take precedence over End.X SIDs.

SRv6 TE policy validity

An SRv6 TE policy must be valid in order to ensure successful traffic forwarding.

The following describes the rules for identifying the validity of an SRv6 TE policy:

1.     An SRv6 TE policy is valid only if it has valid candidate paths.

2.     A candidate path is valid only if it has a valid SID list.

3.     A SID list is valid if none of the following situations exists:

¡     The SID list is empty.

¡     The weight of the SID list is 0.

¡     An SR node and the first IPv6 address in the SID list cannot reach each other.

Figure 2 SRv6 TE policy validity determination

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 802.1p 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:

·     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.

Traffic steering to an SRv6 TE policy

The following modes are available to steer traffic to an SRv6 TE policy:

·     BSID—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.

·     Color—The device searches for an SRv6 TE policy that has the same color and endpoint address that match the color and nexthop address of a BGP route. If a matching SRv6 TE policy exists, the device recurses the BGP route to that SRv6 TE policy. Then, when the device receives packets that match the BGP route, it forwards the packets through the SRv6 TE policy.

·     Tunnel policy—The device looks up the configured tunnel policies for a matching SRv6 TE policy, and then uses that policy as the public-network tunnel to forward packets that match the BGP route. Tunnel policies can be further divided into tunnel binding policies, preferred tunnel policies, and tunnel load sharing policies. If multiple of them are configured, their priorities are different during tunnel policy selection. For more information about the tunnel policy configuration, see tunnel policy configuration in MPLS Configuration Guide.

·     DSCP—Create color-to-DSCP mappings for an SRv6 TE policy group, and create a tunnel policy that binds a destination IP address to the SRv6 TE policy group. Upon receiving a packet with the specified destination 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.

The device obtains an SRv6 TE policy group for traffic steering as follows:

¡     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.

·     802.1p (or Dot1p)—Create color-to-802.1p mappings for an SRv6 TE policy group, and create a tunnel policy that binds a destination IP address to the SRv6 TE policy group. Upon receiving a packet with the specified destination address, the device searches for the SRv6 TE policy containing the color value mapped to the 802.1p value of the packet. The device will use the SRv6 TE policy to forward the packet.

The device obtains an SRv6 TE policy group for traffic steering as follows:

¡     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.

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 3, 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 3 SRv6 TE policy path selection

 

SRv6 TE policy forwarding procedure

As shown in Figure 4, the SRv6 TE policy forwarding procedure is as follows (BSID-based traffic steering as an example):

1.     After Device A receives a packet with destination address 100::1, it searches its IPv6 routing table and determines that the address is a BSID. Then, Device A encapsulates the packet with an SRH header according to the SRv6 TE policy of the BSID. The SRH header contains SID list {10::2, 20::2, 30::2}, where 10::2 is the SID for Device B, 20::2 is the SID for Device C, and 30::2 is the SID for Device D.

2.     Device A forward the packet to the next hop Device B.

3.     After Device B receives the packet, it obtains the next hop Device C from the SRH, and then forwards the packet to Device C.

4.     After Device C receives the packet, it obtains the next hop Device D from the SRH, and then forwards the packet to Device D.

5.     After Device D receives the packet, it identifies that the SL value is 0 in the SRH. So Device D decapsulates the packet. Device D deletes the SRH header and forwards the packet according to the destination address of the packet.

Figure 4 SRv6 TE policy forwarding diagram

 

SRv6 TE policy CBTS

About SRv6 TE policy CBTS

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.

How SRv6 TE policy CBTS works

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. For more information about setting a service class value in traffic behavior view, see the remark service-class command in ACL and QoS Command Reference.

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 selection rules

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.

For more information about the flow identification and load sharing mode, see the ip load-sharing mode command in Layer 3—IP Services Command Reference.

·     If the traffic does not match any SRv6 TE policy by service class value, CBTS randomly selects an SRv6 TE policy from all SRv6 TE policies 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.

SRv6 TE policy CBTS application scenario

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 Uses SRv6 TE policy CBTS application scenario

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 6, 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 6 SRv6 TE policy hot standby

You can configure both the hot standby and SBFD features for an SRv6 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 SRv6 TE policy will calculate new primary and standby paths.

SRv6 TE policy tasks at a glance

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

1.     Configuring an SRv6 TE policy and configure basic settings for the policy:

a.     Creating an SRv6 TE policy

b.     Configuring a candidate path and the SID lists of the path

c.     (Optional.) Enabling strict SID encapsulation for SID lists

d.     (Optional.) Configuring dynamic path calculation timers

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

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

2.     (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

3.     Configuring SRv6 TE policy traffic steering

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

¡     Enabling SBFD for SRv6 TE policies

¡     Enabling echo BFD for SRv6 TE policies

¡     Enabling hot standby for SRv6 TE policies

¡     Configuring path switchover and deletion delays for SRv6 TE policies

¡     Setting the delay time for bringing up SRv6 TE policies

¡     Configuring path connectivity verification for SRv6 TE policies

¡     Configuring flapping suppression for SRv6 TE policies

5.     (Optional.) Configuring advanced settings for SRv6 TE policies

¡     Configuring SRv6 TE policy CBTS

¡     Specifying the packet encapsulation type preferred in optimal route selection

6.     (Optional.) Maintaining an SRv6 TE policy

¡     Enabling SRv6 TE policy logging

¡     Enabling SNMP notifications for SRv6 TE policies

¡     Configuring traffic forwarding statistics for SRv6 TE policies

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 a BSID, color, and end-point.

You can bind a BSID to the policy manually, or set only the color and end-point 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. For more information about the locator configuration, see "Configuring IPv6 Segment Routing."

Different SRv6 TE policies cannot have the same color and end-point configuration.

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.

Configuring a candidate path and the SID lists of the path

Configuring a candidate path to use manually configured SID lists

About this task

Before you specify a SID list for a candidate path, 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 "Configuring SRv6."

If multiple SRv6 TE policies have a common path, you can configure the common path as an SRv6 TE policy. When you configure the SRv6 TE policies, you can add the BSID of the common SRv6 TE policy to the SID lists of the SRv6 TE policies. In this way, you recurse the SRv6 TE policies to the common SRv6 TE policy, simplifying the SID list configuration.

Restrictions and guidelines

When you add a G-SID to the SID list, make sure the following requirements are met:

·     The SRv6 SID previous to the G-SID is an End(COC32) SID or End.X(COC32) SID.

·     The last SRv6 SID in the SID list does not carry the COC flavor.

If the first SID in the SID list of an SRv6 TE policy is a BSID, note the following restrictions and guidelines:

·     Nested SRv6 TE policy recursions are not supported, that is, the first SID in the SID list of the recursion SRv6 TE policy (the SRv6 TE policy with that BSID) cannot be a BSID.

·     The first SID cannot be the BSID of this SRv6 TE policy itself.

·     Do not configure path connectivity verification for this SRv6 TE policy.

·     The BSID cannot be configured as a local BSID or a reverse BSID.

·     The traffic statistics, BFD, and SBFD features of this SRv6 TE policy are not affected by the status of those features for the recursion SRv6 TE policy.

·     The BFD/SBFD detection time of this SRv6 TE policy cannot be shorter than that of the recursion SRv6 TE policy.

·     The path MTU of this SRv6 TE policy cannot be smaller than that of the recursion SRv6 TE policy.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Create a SID list and enter SID list 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 [ verification ]

¡     Add a 128-bit SRv6 SID with the COC flavor, and specify the common prefix length for the next G_SID.

index index-number coc32 ipv6 ipv6-address common-prefix-length [ verification ]

6.     Return to SRv6 TE view.

quit

7.     Enter SRv6 TE policy view.

policy policy-name

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

candidate-paths

9.     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.

10.     Specify an explicit path for the candidate path.

explicit segment-list segment-list-name [ path-mtu mtu-value | weight weight-value ] *

A candidate path can have multiple SID lists.

Configuring a candidate path to create an SID list through affinity attribute-based path calculation

Creating a name-to-bit mapping for an affinity attribute

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Create the constraints mapping and enter its view.

affinity-map

5.     Create a name-to-bit mapping for an affinity attribute.

name name bit-position bit-position-number

By default, no name-to-bit mapping is configured for an affinity attribute.

Configuring affinity attribute rules

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.     Enter SRv6 TE policy candidate path view.

candidate-paths

6.     Enter SRv6 TE policy candidate path preference view.

preference preference-value

Each preference represents a candidate path.

7.     Create SRv6 TE policy constraints and enter constraints view.

constraints

8.     Create and enter the affinity attribute view.

affinity

9.     Configure affinity attribute rules.

¡     Configure the include-all affinity attribute rule and enter its view.

include-all

¡     Configure the include-any affinity attribute rule and enter its view.

include-any

¡     Configure the exclude-any affinity attribute rule and enter its view.

exclude-any

10.     Specify an affinity attribute for an affinity attribute rule.

name name

By default, no affinity attribute is specified for an affinity attribute rule.

Configuring dynamic path calculation based on affinity attribute rule

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.     Enter SRv6 TE policy candidate path view.

candidate-paths

6.     Enter SRv6 TE policy candidate path preference view.

preference preference-value

Each preference represents a candidate path.

7.     Enable dynamic path calculation and create and enter SRv6 TE policy path preference dynamic view.

dynamic

By default, dynamic path calculation is disabled.

8.     Create a metric type and enter its view.

metric

9.     Specify a metric.

type { hopcount | igp | latency | te }

By default, no metric is specified. The SRv6 TE policy cannot perform dynamic path calculation.

10.     (Optional.) Configure the maximum number of SIDs in an SID list.

sid-limit limit-value

By default, the maximum number of SIDs in an SID list is not configured.

This command limits the number of  SIDs in the SID lists for the candidate paths of an SRv6 TE policy during metric-based path calculation.

Enabling strict SID encapsulation for SID lists

About this task

The SID list of an SRv6 TE policy can be formed by prefix SIDs and adjacency SIDs. A prefix SID cannot uniquely identify a link. When the links in the network flap frequently, the forwarding paths of the SRv6 TE policy might change. To ensure stability of forwarding paths, perform this task to enable the SRv6 TE policy to include only adjacency SIDs in the calculated SID lists.

Prerequisites

Perform this task on the source node of an SRv6 TE policy.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Enable strict SID encapsulation for SID lists.

¡     Execute the following commands in sequence to enable this feature in SRv6 TE policy path preference dynamic view.

policy policy-name

candidate-paths

preference preference-value

dynamic

strict-sid-only enable

By default, strict SID encapsulation is disabled for SID lists.

Configuring dynamic path calculation timers

About this task

Perform this task to avoid excessive resource consumption caused by frequent network changes.

If you specify the maximum-interval, minimum-interval, and incremental-interval settings for the command, the following situations will occur:

·     For the first path calculation triggered for the SRv6 TE policy, the minimum-interval setting applies.

·     For the nth (n > 1) path calculation triggered for the SRv6 TE policy, the device adds a value of incremental-interval × 2n-2 based on the minimum-interval setting. The total value does not exceed the maximum-interval setting.

If the value of minimum-interval + incremental-interval × 2n-2 is larger than or equal to the value of maximum-interval, the device uses the conservative keyword and SRv6 TE policy flapping condition to adjust the path calculation intervals:

·     If the conservative keyword is specified:

¡     If SRv6 TE policy flappings occur, the maximum-interval setting applies.

¡     If no SRv6 TE policy flappings occur, the maximum interval applies for once, and then the minimum interval applies.

·     If the conservative keyword is not specified:

¡     If SRv6 TE policy flappings occur, the maximum interval applies for three consecutive times, and then the minimum interval applies.

¡     If no SRv6 TE policy flappings occur, the maximum interval applies for once, and then the minimum interval applies.

Restrictions and guidelines

The value of the minimum-interval or incremental-interval argument cannot be greater than the maximum-interval argument.

To increase path calculation frequency for faster path calculation, configure a fixed interval.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Configure the dynamic path calculation timers.

srv6-policy calc-schedule-interval { maximum-interval [ minimum-interval [ incremental-interval [ conservative ] ] ] | millisecond interval }

By default, the maximum, minimum, and incremental intervals for dynamic path calculation are 5 seconds, 50 milliseconds, and 200 milliseconds, respectively.

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 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 | ipv4-address [ mask-length ] | 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 | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } enable

By default, the device cannot 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.

After automatic route advertisement is enabled for an SRv6 TE policy group, traffic destined for the public network can be steered to the SRv6 TE policy group for further forwarding. The SRv6 TE policy group cannot correctly forward traffic to public-network IP addresses if one of the following conditions exists:

·     The SRv6 TE policy group is configured to forward traffic only in SRv6 BE mode.

·     The SRv6 TE policy group forwards traffic only in SRv6 BE mode, because all members in the SRv6 TE policy group are in down state and do not take effect.

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 SRv6 TE 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 command 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 | ipv4-address [ mask-length ] | 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.     Configure the default local preference value.

default local-preference value

By default, the local preference is 100.

6.     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 | ipv4-address [ mask-length ] | 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.

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

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

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

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

peer { group-name | ipv4-address [ mask-length ] | 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.

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

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

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

10.     Enable the route reflector to change the attributes of routes to be reflected.

reflect change-path-attribute

By default, a route reflector cannot change the attributes of routes to be reflected.

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

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

By default, no prefix list based filtering is configured.

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

peer { group-name | ipv4-address [ mask-length ] | 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.

13.     Specify an AS path list to filter routes incoming from or outgoing to a peer or peer group.

peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } as-path-acl { as-path-acl-number | as-path-acl-name } { export | import }

By default, no AS path list is specified for filtering.

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

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

By default, BGP does not advertise the COMMUNITY attribute to any peers or peer groups.

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

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

By default, BGP does not advertise the extended community attribute to any peers or peer groups.

16.     Advertise the Large Community attribute to a peer or peer group.

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

By default, BGP does not advertise the Large Community attribute any peers or peer groups.

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

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

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

For more information about the priority order of this command in BGP route selection, see BGP overview in Layer 3—IP Routing Configuration Guide.

18.     Configure BGP to perform optimal route selection based on the next hop address type.

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

By default, BGP prefers a route whose next hop address is an IPv4 address.

For more information about the priority order of this command in BGP route selection, see BGP overview in Layer 3—IP Routing Configuration Guide.

19.     Configure the route selection delay time.

route-select delay delay-value

By default, the route selection delay time is 0 seconds, which means no route selection delay.

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 | ipv4-address [ mask-length ] | 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 | ipv4-address [ mask-length ] [ 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

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 steering data packets to SRv6 TE policies based on colors of the packets.

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 group srv6-policy-group-id | 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 srv6-policy-name | end-point ipv6 ipv6-address color color-value } [ preference value ]

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

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

select-seq [ strict ] { srv6-policy | srv6-policy-group } * 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.

Specifying the tunnel policy for a PW

1.     Enter system view.

system-view

2.     Enter cross-connect group view.

xconnect-group group-name

3.     Enter cross-connect view.

connection connection-name

4.     Create an EVPN PW and specify a tunnel policy for this PW.

evpn local-service-id local-service-id remote-service-id remote-service-id tunnel-policy tunnel-policy-name

Specifying the tunnel policy for an EVPN instance

1.     Enter system view.

system-view

2.     Enter VSI view.

vsi vsi-name

3.     Enter EVPN instance view.

evpn encapsulation srv6

4.     Specify a tunnel policy for the EVPN instance.

tunnel-policy tunnel-policy-name

By default, no tunnel policy is specified for an EVPN instance.

For more information about this command, see EVPN 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.

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.

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. 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.     The device identifies whether the SRv6 TE policy group is configured with color-to-DSCP mappings. If yes, the device searches 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.

5.     The device performs a routing table lookup to forward the packet if the packet does not meet any of the previous conditions.

Restrictions and guidelines

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

·     In an SRv6 TE policy group, you can configure DSCP-based traffic steering separately for the IPv4 address family and IPv6 address family. For a specific address family, a DSCP value can be mapped to only one SRv6 TE policy.

·     Only one default SRv6 TE policy can be specified for an address family in an SRv6 TE policy group.

·     If all SRv6 TE policies in the SRv6 TE policy group are invalid, the SRv6 TE policy group will not be used for traffic forwarding.

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 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.) 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.     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.

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.) Configure the deletion delay time for SRv6 TE policy groups generated by the ODN template.

delete-delay delay-time

By default, the deletion delay time for SRv6 TE policies generated by an ODN template is 180000 milliseconds.

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 802.1p-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-802.1p mappings for an SRv6 TE policy group, you associate 802.1p values to SRv6 TE policies. This allows packets containing a specific 802.1p value to be steered to the corresponding SRv6 TE policy for further forwarding.

Use the color match dot1p default command to specify the default SRv6 TE policy for an SRv6 TE policy group. If no SRv6 TE policy in an SRv6 TE policy group matches a specific 802.1p value, the default SRv6 TE policy is used to forward packets containing the 802.1p value.

When the device receives a packet that does not match any color-to-802.1p mapping, the device uses the following procedure to forward the packet:

1.     Uses the default SRv6 TE policy to forward the packet if that SRv6 TE policy is valid.

2.     Uses the SRv6 TE policy mapped to the smallest 802.1p value to forward the packet in case that the SRv6 TE policy is valid.

3.     Performs an IPv6 routing table lookup to forward the packet if the packet does not meet any of the previous conditions.

Restrictions and guidelines

You can map the color values of only valid SRv6 TE policies to 802.1p values. For an SRv6 TE policy group, an 802.1p value can be mapped to only one color value.

Only one default SRv6 TE policy can be specified for an SRv6 TE policy group.

If all SRv6 TE policies in an SRv6 TE policy group are invalid, the policy group will not be used for traffic forwarding.

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 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.) 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.     Specify the Dot1p forward type for the SRv6 TE policy group.

forward-type dot1p

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

8.     Create color-to-802.1p mappings for the SRv6 TE policy group.

color color-value match dot1p dot1p-value-list

color color-value match dot1p default

By default, no color-to-802.1p mappings are created for an SRv6 TE policy group.

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 its 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 the color value of the SRv6 TE policy group as the color extended community attribute of BGP routes in the routing policy

Enabling SBFD for SRv6 TE policies

About this task

By default, the returning SBFD packets used for SRv6 TE policy connectivity detection are forwarded based on the IP forwarding path. If a transit node fails, the returning packets will be discarded, the SBFD session will go down, and the SID list will be mistakenly considered as faulty.

To resolve this issue, you can enable the returning SBFD packets to be forwarded based on the specified SID list to ensure connectivity as follows:

1.     Configure a reverse BSID in SID list view on the ingress node, and configure a local BSID with the same value in SID list view on the egress node.

2.     When the ingress node forwards an SBFD packet, it encapsulates the Aux Path TLV in the packet. This TLV contains the reverse BSID.

3.     When the egress node receives the SBFD packet, it compares the reverse BSID in the packet with the configured local BSID. If the values are the same, the egress node encapsulates an SRH for the returning SBFD packet and forwards the packet based on the SID list associated with the local BSID.

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 on the device (initiator) 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 Encap for SBFD packets.

bfd srv6-encapsulation-mode encap

By default, the SRv6 TE policy encapsulation mode for SBFD packets is the Insert 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 ] [ reverse-path reverse-binding-sid ]

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

7.     (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.

8.     (Optional.) Configure the timer that delays reporting the first BFD or SBFD session establishment failure to an SRv6 TE policy.

srv6-policy bfd first-fail-timer seconds

By default, the timer that delays reporting the first BFD or SBFD session establishment failure to an SRv6 TE policy is 60 seconds.

9.     Enter SRv6 TE policy view.

policy policy-name

10.     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 ] [ reverse-path reverse-binding-sid ] }

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

If you do not specify the encaps or insert keyword, the encapsulation mode configured by the bfd srv6-encapsulation-mode encap command applies.

Enabling echo BFD 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.

BFD forward and reverse path consistency can be implemented by specifying a reverse BSID. 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.

Restrctions 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.

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 Encap for BFD packets.

bfd srv6-encapsulation-mode encap

By default, the SRv6 TE policy encapsulation mode for BFD packets is the Insert 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.     (Optional.) Configure the timer that delays reporting the first BFD or SBFD session establishment failure to an SRv6 TE policy.

srv6-policy bfd first-fail-timer seconds

By default, the timer that delays reporting the first BFD or SBFD session establishment failure to an SRv6 TE policy is 60 seconds.

8.     Enter SRv6 TE policy view.

policy policy-name

9.     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 configured by the bfd srv6-encapsulation-mode encap command applies.

After the reverse-path keyword is specified, BFD packets can be encapsulated only in Insert mode. The encaps keyword does not take effect.

10.     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 ] *

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.

To apply the switchover delay and deletion delay, the old and new forwarding paths of the SRv6 TE policy must both be up. When the old forwarding path goes down, traffic is switched to the new path immediately without waiting for the switchover delay time.

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.

Setting the delay time for bringing up SRv6 TE policies

About this task

After an SRv6 TE policy recovers from a fault, the device waits for the delay time before bringing up the SRv6 TE policy. This is to ensure that the fault is completely removed so as to avoid packet loss caused by SRv6 TE policy flapping.

After this command is executed, the device starts different delay timers for an SRv6 TE policy according to the BFD/SBFD configuration for the SRv6 TE policy.

·     If BFD/SBFD is not enabled, the device starts an LSP delay timer when the SID list state changes from Down to Up.

·     If BFD is enabled, the device starts a BFD delay timer when the BFD session state changes from Down to Up.

·     If SBFD is enabled, the device starts an SBFD delay timer when the SBFD session state changes from Down to Up.

Restrictions and guidelines

To view the BFD/SBFD configuration, SID list state, and SBFD session state, execute the display segment-routing ipv6 te policy command.

Set a proper SRv6 TE policy up delay time according to your network conditions. A very long delay time will cause an SRv6 TE policy to be unable to process user traffic for a long time.

You can set the delay time for all SRv6 TE policies globally in SR 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.

If you execute this command for multiple times, the most recent configuration takes effect. A new delay time setting does not apply to the SRv6 TE policies that are already in a policy-up delay process.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Set the policy-up delay time for all SRv6 TE policies.

srv6-policy up-delay delay-time

By default, the device does not delay bringing up SRv6 TE policies.

5.     Enter SRv6 TE policy view.

policy policy-name

6.     Set the policy-up delay time for the SRv6 TE policy.

up-delay delay-time

By default, no policy-up delay time is set for an SRv6 TE policy and the policy-up delay time set in SR TE view applies.

Configuring path connectivity verification for SRv6 TE policies

About this task

Typically, the controller deploys the SID list of an SRv6 TE policy. Without BFD configured, the source node cannot immediately detect path failures in the SRv6 TE policy. It only changes the SID list of the SRv6 TE policy as instructed by the controller that completes path recalculation upon detecting a topology change. If the controller or the link to the controller fails, the source node will be unable to detect failures and change SID lists, resulting in traffic loss.

For fast traffic switchover and high availability, you can enable path connectivity verification for the source node of the SRv6 TE policy. This feature enables the source node to collect network topology information, and verify all SID lists in the SRv6 TE policy as follows:

·     If all SRv6 SIDs exist in the topology and the associated locator prefixes are routable, the SID list is valid.

·     If any SRv6 SIDs do not exist in the topology or any of the associated locator prefixes are not routable, the SID list is invalid.

Upon detecting an invalid SID list (SID list failure), the source node changes paths as follows:

1.     If the valid candidate paths of the SRv6 TE policy contain multiple SID lists, and one of the SID list fails, traffic is distributed to other valid SID lists.

2.     If the SRv6 TE policy has valid primary and backup candidate paths, and all SID lists for the primary candidate path fail, traffic is distributed to the backup candidate path.

3.     If all valid candidate paths of the SRv6 TE policy fail, the SRv6 TE policy is faulty and an associated protection action is taken (for example, MPLS L3VPN FRR).

Restrictions and guidelines

You must configure this feature on the source node of the SRv6 TE policy.

If the first SID in a segment list is the local End SID of the source node in the SRv6 TE policy, the segment list will fail the verification. As a best practice, do not enable this feature in such a situation. To enable this feature, you must specify the specified-sid keyword to verify only the SIDs specified with the verification keyword in the index command.

Even if you configure this feature on the controller and the controller deploys the BGP IPv6 SR policy route to the device, you still need to configure this feature on the source node of the SRv6 TE policy.

You can configure SRv6 TE policy path connectivity verification in both SRv6 TE view and SRv6 TE policy view. The configuration in SRv6 TE policy view takes precedence over the configuration in SRv6 TE view. If path connectivity verification is not configured for an SRv6 TE policy, the configuration in SRv6 TE applies.

The source node must have all SRv6 SIDs and routes in the IGP domain to detect their status through the following settings:

·     Enable the IGP domain to forward routing information through IPv6 IS-IS.

·     Configure the distribute link-state command in IS-IS view for the source node to report link status.

After path connectivity verification is enabled for an SRv6 TE policy, the device verifies the validity of all SIDs in the SID list. If the SID list contains an inter-AS SID (for example, the BGP Peer SID allocated by BGP EPE) or contains the BSID of another SRv6 TE policy, the path connectivity verification will fail. This is because a BSID or BGP Peer SID cannot be flooded in the IGP topology.

To resolve this issue, you can execute the following commands to configure the path connectivity verification only verifies the validity of specific SIDs:

·     Use the index command to specify the verification keyword for the SIDs to be verified. Do not specify this keyword for a BSID or BGP EPE SID in the SID list.

·     Specify the specified-sid keyword when you execute the path verification command in SRv6 TE policy view or the srv6-policy path verification enable command in SRv6 TE view.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Enable path connectivity verification for all SRv6 TE policies.

srv6-policy path verification [ specified-sid ] enable

By default, path connectivity verification is disabled for all SRv6 TE policies.

5.     Enter SRv6 TE policy view.

policy policy-name

6.     Configure path connectivity verification for an SRv6 TE policy.

path verification { disable | [ specified-sid ] enable }

By default, path connectivity verification is not configured for an SRv6 TE policy. The setting configured in SRv6 TE view applies.

Configuring flapping suppression for SRv6 TE policies

About this task

After SRv6 TE policy flapping suppression is enabled, the device starts a counter for an SRv6 TE policy to count the SID list flapping events for the policy.

·     If the state of a SID list changes from down to up within the flapping detection interval, an SID list flapping event occurs, and the flapping count increases by 1.

·     If the time for a SID list to change from down to up is longer than the resumption interval, the flapping counter is cleared.

·     If the flapping count exceeds the flapping suppression threshold, the SRv6 TE policy enters flapping suppression state. In this state, the SRv6 TE policy does not update the SID list state but keep the SID list in down state, and the flapping counter is not cleared.

·     When the suppression state lasts for the resumption interval, the device ends the suppression state of the SRv6 TE policy and clears the flapping counter.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view

traffic-engineering

4.     Disable flapping suppression for SRv6 TE policies globally.

srv6-policy suppress-flapping disable

By default, candidate path reoptimization is disabled for SRv6 TE policies globally.

5.     Enter SRv6 TE policy view.

policy policy-name

6.     Configure flapping suppression parameters for the SRv6 TE policy.

srv6-policy suppress-flapping { detect-interval detect-interval | threshold threshold | resume-interval resume-interval } *

By default, the SRv6 TE policy flapping detection interval is 60 seconds, the flapping suppression threshold is 10, and the flapping suppression resumption interval is 120 seconds.

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. The service class value is 255 with the lowest forwarding priority.

Specifying the packet encapsulation type preferred in optimal route selection

About this task

As shown in Figure 7, 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.

Figure 7 MPLS L3VPN and EVPN L3VPN over SRv6 coexist

 

If you specify the preferred keyword in the bestroute encap-type command, BGP prefers the routes with specified encapsulation type (SRv6 or MPLS) when multiple routes have the same Preferred-value attribute value. The subsequent route selection steps are the same as those in the original BGP route select procedure.

If you do not specify the preferred keyword in the bestroute encap-type command, BGP prefers the routes with the specified encapsulation type (SRv6 or MPLS) when multiple routes have the same Preferred-value and LOCAL_PREF attribute values. The subsequent route selection steps are the same as those in the original BGP route select procedure.

For more information about BGP route selection, see BGP overview in Layer 3—IP Routing Configuration Guide.

Restrictions and guidelines

If you use both the bestroute encap-type preferred command and the bestroute nexthop-type preferred command, BGP selects the optimal route in the VPN instance by using the following procedure:

1.     Drops the route with an unreachable NEXT_HOP.

2.     Selects the route with the highest Preferred-value.

3.     Uses the optimal route selection rule configured by the bestroute encap-type command: prefers to use an MPLS-encapsulated or SRv6-encapsulated route.

4.     Uses the optimal route selection rule configured by the bestroute nexthop-type command: prefers to use a route whose next hop is an IP address or a tunnel.

5.     Selects the route with the highest LOCAL_PREF.

6.     Proceeds the subsequent steps in the original BGP route select procedure.

For more information about the bestroute nexthop-type command, see BGP commands in Layer 3—IP Routing Command Reference.

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.

Enabling SRv6 TE policy logging

About this task

This feature enables the device to generate logs for SRv6 TE policy state changes and resource usage anomalies. The administrator can use the logging information to audit SRv6 TE policies. The device delivers logs to its information center. The information center processes the logs according to user-defined output rules (whether to output logs and where to output). For more information about the information center, see the network management and monitoring configuration guide for the device.

Procedure

1.     Enter system view.

system-view

2.     Enter SRv6 view.

segment-routing ipv6

3.     Enter SRv6 TE view.

traffic-engineering

4.     Enable SRv6 TE policy logging.

srv6-policy log enable

By default, SRv6 TE policy logging is disabled.

Enabling SNMP notifications for SRv6 TE policies

About this task

This feature enables the device to send SNMP notifications about state changes and resource usage anomalies of SRv6 TE policies. For SNMP notifications to be sent correctly, you must also configure SNMP on the device. For more information about SNMP configuration, see the network management and monitoring configuration guide for the device.

Procedure

1.     Enter system view.

system-view

2.     Enable SNMP notifications for SRv6 TE policies.

snmp-agent trap enable srv6-policy

By default, SNMP notifications for SRv6 TE policies are disabled.

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 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 | 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 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 [ instance instance-name ] peer ipv6 sr-policy [ ipv4-address mask-length | ipv4-address log-info | [ ipv4-address ] verbose ]

Display BGP IPv6 SR policy routing information.

display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ sr-policy-prefix [ advertise-info ] ]

display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ as-path-acl { as-path-acl-number | as-path-acl-name } | as-path-regular-expression regular-expression ]

display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ color color-value [ end-point ipv6 ipv6-address ] | end-point ipv6 ipv6-address ]

display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ peer { ipv4-address | ipv6-address } { advertised-routes | received-routes } [ sr-policy-prefix [ verbose ] | color color-value [ end-point ipv6 ipv6-address ] | end-point ipv6 ipv6-address | statistics [ color color-value [ end-point ipv6 ipv6-address ] | end-point ipv6 ipv6-address ] ] ]

display bgp [ instance instance-name ] routing-table ipv6 sr-policy [ statistics [ color color-value [ end-point ipv6 ipv6-address ] | end-point ipv6 ipv6-address ] ]

display bgp [ instance instance-name ] routing-table ipv6 sr-policy peer { ipv4-address | ipv6-address } { accepted-routes | not-accepted-routes }

display bgp [ instance instance-name ] routing-table ipv6 sr-policy time-range min-time max-time

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 [ ipv4-address | 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 policy database information.

display segment-routing ipv6 te database [ link | node | prefix | srv6-sid ]

Display SRv6 TE forwarding information.

display segment-routing ipv6 te forwarding [ binding-sid bsid | policy { name policy-name | { color color-value | end-point ipv6 ipv6-address } * } ] [ verbose ]

Display SRv6 TE traffic statistics.

display segment-routing ipv6 te forwarding traffic-statistics

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 SRv6 TE policy statistics.

display segment-routing ipv6 te policy 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 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 group statistics.

display segment-routing ipv6 te policy-group statistics

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 SRv6 SIDs collected from the LS database.

display segment-routing ipv6 te source-sid [ end | end-x | sid ]

Display information about IPR policies.

display segment-routing ipv6 te ipr [ name spr-name ]

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 8, 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 8 Network diagram

Device

Interface

IP address

Device

Interface

IP address

Device A

Loop1

1::1/128

Device B

Loop1

2::2/128

 

XGE2/0/0

1000::1/64

 

XGE2/0/0

1000::2/64

 

XGE2/0/1

4000::1/64

 

XGE2/0/1

2000::2/64

Device C

Loop1

3::3/128

Device D

Loop1

4::4/128

 

XGE2/0/0

3000::3/64

 

XGE2/0/0

3000::4/64

 

XGE2/0/1

2000::3/64

 

XGE2/0/1

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> system-view

[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] 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 ten-gigabitethernet 2/0/0

[DeviceA-Ten-GigabitEthernet2/0/0] isis ipv6 enable 1

[DeviceA-Ten-GigabitEthernet2/0/0] quit

[DeviceA] interface ten-gigabitethernet 2/0/1

[DeviceA-Ten-GigabitEthernet2/0/1] isis ipv6 enable 1

[DeviceA-Ten-GigabitEthernet2/0/1] quit

[DeviceA] interface loopback 1

[DeviceA-LoopBack1] isis ipv6 enable 1

[DeviceA-LoopBack1] quit

3.     Configure Device B:

# Configure the SRv6 End.SID.

<DeviceB> system-view

[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] 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 ten-gigabitethernet 2/0/0

[DeviceB-Ten-GigabitEthernet2/0/0] isis ipv6 enable 1

[DeviceB-Ten-GigabitEthernet2/0/0] quit

[DeviceB] interface ten-gigabitethernet 2/0/1

[DeviceB-Ten-GigabitEthernet2/0/1] isis ipv6 enable 1

[DeviceB-Ten-GigabitEthernet2/0/1] quit

[DeviceB] interface loopback 1

[DeviceB-LoopBack1] isis ipv6 enable 1

[DeviceB-LoopBack1] quit

4.     Configure Device C:

# Configure the SRv6 End.SID.

<DeviceC> system-view

[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] 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 ten-gigabitethernet 2/0/0

[DeviceC-Ten-GigabitEthernet2/0/0] isis ipv6 enable 1

[DeviceC-Ten-GigabitEthernet2/0/0] quit

[DeviceC] interface ten-gigabitethernet 2/0/1

[DeviceC-Ten-GigabitEthernet2/0/1] isis ipv6 enable 1

[DeviceC-Ten-GigabitEthernet2/0/1] quit

[DeviceC] interface loopback 1

[DeviceC-LoopBack1] isis ipv6 enable 1

[DeviceC-LoopBack1] quit

5.     Configure Device D:

# Configure the SRv6 End.SID.

<DeviceD> system-view

[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] 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 ten-gigabitethernet 2/0/0

[DeviceD-Ten-GigabitEthernet2/0/0] isis ipv6 enable 1

[DeviceD-Ten-GigabitEthernet2/0/0] quit

[DeviceD] interface ten-gigabitethernet 2/0/1

[DeviceD-Ten-GigabitEthernet2/0/1] isis ipv6 enable 1

[DeviceD-Ten-GigabitEthernet2/0/1] 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: Up

 Up time: 2020-04-02 16:08:03

 Down time: 2020-04-02 16:03:48

 Hot backup: Disabled

 Statistics: Disabled

  Statistics by service class: Disabled

 Path verification: Disabled

 Drop-upon-invalid: Disabled

 BFD trigger path-down: Disabled

 SBFD: Disabled

 BFD Echo: Disabled

 Forwarding index: 2150629377

 Association ID: 1

 Service-class: -

 PCE delegation: Disabled

 PCE delegate report-only: Disabled

 Reoptimization: Disabled

 Encapsulation mode: -

 Candidate paths state: Configured

 Candidate paths statistics:

  CLI paths: 1          BGP paths: 0          PCEP paths: 0          ODN paths: 0

 Candidate paths:

  Preference : 10

   CPathName:

   ProtoOrigin: CLI        Discriminator: 10

   Instance ID: 0          Node address: 0.0.0.0

   Originator:  0, ::

   Optimal: Y              Flags: V/A

   Dynamic: Not configured

   PCEP: Not configured

   Explicit SID list:

    ID: 1                     Name: s1

    Weight: 1                 Forwarding index: 2149580801

    State: Up                 State(-): -

    Verification State: -

    Path MTU: 1500            Path MTU Reserved: 0

    Local BSID: -

    Reverse BSID: -

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 forwarding index: 2150629377

 Main path:

   Seglist ID: 1

     Seglist forwarding index: 2149580801

     Weight: 1

     Outgoing forwarding index: 2148532225

       Interface: XGE2/0/0

       Nexthop: FE80::54CB:70FF:FE86:316

       Discriminator: 10

         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

              Attri-Val             Attri-Val

--------------------------------------------------------------------------------

2148532225    SRv6PSIDList  NA      XGE2/0/0

                                    FE80::54CB:70FF:FE86:316

                                    {6000::1, 7000::1, 8000::1}

2149580801    SRv6PCPath    TA      2148532225

2150629377    SRv6Policy    TA      2149580801

              p1

Example: Configuring color-based traffic steering for EVPN L3VPN over SRv6 TE Policy

Network configuration

As shown in Figure 9, the core network is IPv6, and the VPN is IPv4. PE 1, PE 2, P 1, and P 2 are in the same autonomous system, running IS-IS for IPv6 network interconnectivity. Static SRv6 TE policies p1 and p2 are configured between PE 1 and PE 2 to support IPv4 EVPN L3VPN services. Routing policies are configured on PE 1 and PE 2 to set the color attribute of EVPN routes, enabling traffic steering to the desired SRv6 TE policy.

 

 

NOTE:

·     Introduction: Color-based traffic steering is a standard method that steers traffic to SRv6 TE Policy. All vendor support this method, ensuring that devices from different vendors can communicate with each other.

·     Application scenarios: To achieve traffic steering to SRv6 TE Policy, you can configure routing policies or specify a default color for the related VPN. When you attempt to use a routing policy to a color value for routes, you can also specify the IP prefix list that the routing policy needs to match. Therefore, color-based traffic steering is applicable to scenarios where per-VPN instance or per-IP prefix traffic steering is required. The following configuration example configures color-based traffic steering on a per VPN instance basis.

·     Forwarding mechanism: When service traffic needs to be directed to an SRv6 TE policy for further forwarding, the device uses the color attribute of the related BGP route to find the matching SRv6 TE policy. During troubleshooting, you must identify whether the color of the related BGP route matches that of the SRv6 TE policy. If a colored BGP route fails to match the color of an SRv6 TE policy, it cannot be correctly recursed to that SRv6 TE policy.

Figure 9 Network diagram

Device

Interface

IP address

Device

Interface

IP address

CE 1

XGE2/0/0

CE 2

XGE2/0/0

PE 1

Loop1

1::1/128

PE 2

Loop1

3::3/128

 

XGE2/0/0

10.1.1.2/24

 

XGE2/0/0

20.1.1.2/24

 

XGE2/0/1

1001::1/96

 

XGE2/0/1

2001::1/96

 

XGE2/0/2

3001::1/96

 

XGE2/0/2

4001::1/96

P 1

Loop1

2::2/128

P 2

Loop1

4::4/128

 

XGE2/0/0

1001::2/96

 

XGE2/0/0

3001::2/96

 

XGE2/0/1

2001::2/96

 

XGE2/0/1

4001::2/96

Procedure

1.     Configure CE 1.

<Sysname> system-view

[Sysname] sysname CE1

[CE1] interface ten-gigabitethernet 2/0/0

[CE1-Ten-GigabitEthernet2/0/0] ip address 10.1.1.1 24

[CE1-Ten-GigabitEthernet2/0/0] quit

[CE1] bgp 200

[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

2.     Configure PE 1.

# Configure IPv6 IS-IS to achieve PE interconnects in the backbone network.

<Sysname> system-view

[Sysname] sysname PE1

[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] ipv6 address 1::1 128

[PE1-LoopBack1] isis ipv6 enable 1

[PE1-LoopBack1] quit

[PE1] interface ten-gigabitethernet 2/0/1

[PE1-Ten-GigabitEthernet2/0/1] ipv6 address 1001::1 96

[PE1-Ten-GigabitEthernet2/0/1] isis ipv6 enable 1

[PE1-Ten-GigabitEthernet2/0/1] quit

[PE1] interface ten-gigabitethernet 2/0/2

[PE1-Ten-GigabitEthernet2/0/2] ipv6 address 3001::1 96

[PE1-Ten-GigabitEthernet2/0/2] isis ipv6 enable 1

[PE1-Ten-GigabitEthernet2/0/2] quit

# Configure a VPN instance that connects 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 ten-gigabitethernet 2/0/0

[PE1-Ten-GigabitEthernet2/0/0] ip binding vpn-instance vpn1

[PE1-Ten-GigabitEthernet2/0/0] ip address 10.1.1.2 24

[PE1-Ten-GigabitEthernet2/0/0] quit

# Establish an EBGP peer relationship between PE 1 and CE 1, and enable the PE to redistribute VPN routes to BGP.

[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 a BGP EVPN peer relationship between the PEs.

[PE1-bgp-default] peer 3::3 as-number 100

[PE1-bgp-default] peer 3::3 connect-interface loopback 1

[PE1-bgp-default] address-family l2vpn evpn

[PE1-bgp-default-evpn] peer 3::3 enable

[PE1-bgp-default-evpn] quit

[PE1-bgp-default] quit

# Recurse the VPN route between PE 1 and PE 2 to the desired SRv6 TE policy.

[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 l2vpn evpn

[PE1-bgp-default-evpn] peer 3::3 advertise encap-type srv6

[PE1-bgp-default-evpn] 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 evpn

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort evpn

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

# Configure SRv6 TE policy p1 with a color value of 10 and SRv6 TE policy p2 with a color value of 20.

[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] 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 p1

[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] policy p2

[PE1-srv6-te-policy-p2] color 20 end-point ipv6 3::3

[PE1-srv6-te-policy-p2] candidate-paths

[PE1-srv6-te-policy-p2-path] preference 10

[PE1-srv6-te-policy-p2-path-pref-10] explicit segment-list s2

[PE1-srv6-te-policy-p2-path-pref-10] quit

[PE1-srv6-te-policy-p2-path] quit

[PE1-srv6-te-policy-p2] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

# Enable SBFD for all SRv6 TE policies.

[PE1] sbfd source-ipv6 1::1

[PE1] bfd multi-hop detect-multiplier 5

[PE1] bfd multi-hop min-transmit-interval 100

[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 a routing policy and a tunnel policy. The routing policy sets the color value to 00:10 for the EVPN routes advertised to PE 2, ensuring that those routes can match SRv6 TE policy p1 and VPN service traffic can be directed to SRv6 TE policy p1. The tunnel policy ensures that the preferred tunnel is an SRv6 TE policy.

[PE1] route-policy a permit node 10

[PE1-route-policy-a-10] apply extcommunity color 00:10 additive

[PE1-route-policy-a-10] quit

[PE1] bgp 100

[PE1-bgp-default] address-family l2vpn evpn

[PE1-bgp-default-evpn] peer 3::3 route-policy a export

[PE1-bgp-default-evpn] quit

[PE1-bgp-default] quit

[PE1] tunnel-policy a

[PE1-tunnel-policy-a] select-seq srv6-policy 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

3.     Configure P 1.

# Configure IPv6 IS-IS to achieve PE interconnects in the backbone network.

<Sysname> system-view

[Sysname] sysname P1

[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] ipv6 address 2::2 128

[P1-LoopBack1] isis ipv6 enable 1

[P1-LoopBack1] quit

[P1] interface ten-gigabitethernet 2/0/0

[P1-Ten-GigabitEthernet2/0/0] ipv6 address 1001::2 96

[P1-Ten-GigabitEthernet2/0/0] isis ipv6 enable 1

[P1-Ten-GigabitEthernet2/0/0] quit

[P1] interface ten-gigabitethernet 2/0/1

[P1-Ten-GigabitEthernet2/0/1] ipv6 address 2001::2 96

[P1-Ten-GigabitEthernet2/0/1] isis ipv6 enable 1

[P1-Ten-GigabitEthernet2/0/1] quit

# Configure a locator and enable IS-IS to advertise that 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

4.     Configure P 2.

# Configure IPv6 IS-IS to achieve PE interconnects in the backbone network.

<Sysname> system-view

[Sysname] sysname P2

[P2] isis 1

[P2-isis-1] cost-style wide

[P2-isis-1] network-entity 00.0000.0000.0004.00

[P2-isis-1] address-family ipv6 unicast

[P2-isis-1-ipv6] quit

[P2-isis-1] quit

[P2] interface loopback 1

[P2-LoopBack1] ipv6 address 4::4 128

[P2-LoopBack1] isis ipv6 enable 1

[P2-LoopBack1] quit

[P2] interface ten-gigabitethernet 2/0/0

[P2-Ten-GigabitEthernet2/0/0] ipv6 address 3001::2 96

[P2-Ten-GigabitEthernet2/0/0] isis ipv6 enable 1

[P2-Ten-GigabitEthernet2/0/0] quit

[P2] interface ten-gigabitethernet 2/0/1

[P2-Ten-GigabitEthernet2/0/1] ipv6 address 4001::2 96

[P2-Ten-GigabitEthernet2/0/1] isis ipv6 enable 1

[P2-Ten-GigabitEthernet2/0/1] quit

# Configure a locator and enable 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

5.     Configure PE 2.

# Configure IPv6 IS-IS to achieve PE interconnects in the backbone network.

<Sysname> system-view

[Sysname] sysname PE2

[PE2] isis 1

[PE2-isis-1] cost-style wide

[PE2-isis-1] network-entity 00.0000.0000.0003.00

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

[PE2] interface loopback 1

[PE2-LoopBack1] ipv6 address 3::3 128

[PE2-LoopBack1] isis ipv6 enable 1

[PE2-LoopBack1] quit

[PE2] interface ten-gigabitethernet 2/0/1

[PE2-Ten-GigabitEthernet2/0/1] ipv6 address 2001::1 96

[PE2-Ten-GigabitEthernet2/0/1] isis ipv6 enable 1

[PE2-Ten-GigabitEthernet2/0/1] quit

[PE2] interface ten-gigabitethernet 2/0/2

[PE2-Ten-GigabitEthernet2/0/2] ipv6 address 4001::1 96

[PE2-Ten-GigabitEthernet2/0/2] isis ipv6 enable 1

[PE2-Ten-GigabitEthernet2/0/2] quit

# Configure a VPN instance that connects 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 ten-gigabitethernet 2/0/0

[PE2-Ten-GigabitEthernet2/0/0] ip binding vpn-instance vpn1

[PE2-Ten-GigabitEthernet2/0/0] ip address 20.1.1.2 24

[PE2-Ten-GigabitEthernet2/0/0] quit

# Establish an EBGP peer relationship between PE 2 and CE 2, and enable the PE to redistribute VPN routes to BGP.

[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 a BGP EVPN peer relationship between the PEs.

[PE2-bgp-default] peer 1::1 as-number 100

[PE2-bgp-default] peer 1::1 connect-interface loopback 1

[PE2-bgp-default] address-family l2vpn evpn

[PE2-bgp-default-evpn] peer 1::1 enable

[PE2-bgp-default-evpn] quit

[PE2-bgp-default] quit

# Recurse the VPN route between PE 2 and PE 1 to the desired SRv6 TE policy.

[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

[PE2] bgp 100

[PE2-bgp-default] address-family l2vpn evpn

[PE2-bgp-default-evpn] peer 1::1 advertise encap-type srv6

[PE2-bgp-default-evpn] 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 evpn

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort evpn

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

# Configure SRv6 TE policy p1 with a color value of 10 and SRv6 TE policy p2 with a color value of 20.

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] traffic-engineering

[PE2-srv6-te] srv6-policy locator abc

[PE2-srv6-te] segment-list s1

[PE2-srv6-te-sl-s1] index 10 ipv6 200:1::1

[PE2-srv6-te-sl-s1] index 20 ipv6 100:1::1

[PE2-srv6-te-sl-s1] quit

[PE2-srv6-te] segment-list s2

[PE2-srv6-te-sl-s1] index 10 ipv6 400:1::1

[PE2-srv6-te-sl-s1] index 20 ipv6 100:1::1

[PE2-srv6-te-sl-s1] quit

[PE2-srv6-te] policy p1

[PE2-srv6-te-policy-p1] color 10 end-point ipv6 1::1

[PE2-srv6-te-policy-p1] candidate-paths

[PE2-srv6-te-policy-p1-path] preference 10

[PE2-srv6-te-policy-p1-path-pref-10] explicit segment-list s1

[PE2-srv6-te-policy-p1-path-pref-10] quit

[PE2-srv6-te-policy-p1-path] quit

[PE2-srv6-te-policy-p1] quit

[PE2-srv6-te] policy p2

[PE2-srv6-te-policy-p2] color 20 end-point ipv6 1::1

[PE2-srv6-te-policy-p2] candidate-paths

[PE2-srv6-te-policy-p2-path] preference 10

[PE2-srv6-te-policy-p2-path-pref-10] explicit segment-list s2

[PE2-srv6-te-policy-p2-path-pref-10] quit

[PE2-srv6-te-policy-p2-path] quit

[PE2-srv6-te-policy-p2] quit

[PE2-srv6-te] quit

[PE2-segment-routing-ipv6] quit

# Configure a routing policy and a tunnel policy. The routing policy sets the color value to 00:10 for the EVPN routes advertised to PE 1, ensuring that those routes can match SRv6 TE policy p1 and VPN service traffic can be directed to SRv6 TE policy p1. The tunnel policy ensures that the preferred tunnel is an SRv6 TE policy.

[PE2] route-policy a permit node 10

[PE2-route-policy-a-10] apply extcommunity color 00:10 additive

[PE2-route-policy-a-10] quit

[PE2] bgp 100

[PE2-bgp-default] address-family l2vpn evpn

[PE2-bgp-default-evpn] peer 1::1 route-policy a export

[PE2-bgp-default-evpn] quit

[PE2-bgp-default] quit

[PE2] tunnel-policy a

[PE2-tunnel-policy-a] select-seq srv6-policy load-balance-number 1

[PE2-tunnel-policy-a] quit

[PE2] ip vpn-instance vpn1

[PE2-vpn-instance-vpn1] tnl-policy a

[PE2-vpn-instance-vpn1] quit

# Configure the local discriminator for the reflector in the SBFD session.

[PE2] sbfd local-discriminator 1000001

6.     Configure CE 2.

<Sysname> system-view

[Sysname] sysname CE2

[CE2] interface ten-gigabitethernet 2/0/0

[CE2-Ten-GigabitEthernet2/0/0] ip address 20.1.1.1 24

[CE2-Ten-GigabitEthernet2/0/0] quit

[CE2] bgp 300

[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

Verifying the configuration

# On PE 1, execute the display segment-routing ipv6 te policy command to display detailed SRv6 TE policy information. The command output shows that the Status field for the SRv6 TE policy is Up.

[PE1] display segment-routing ipv6 te policy

 

Name/ID: p1/0

 Color: 10

 End-point: 3::3

 Name from BGP:

 BSID:

  Mode: Dynamic             Type: Type_2              Request state: Succeeded

  Current BSID: 100:1::1:3  Explicit BSID: -          Dynamic BSID: 100:1::1:3

 Reference counts: 4

 Flags: A/BS/NC

 Status: Up

 AdminStatus: Up

 Up time: 2023-11-23 19:31:35

 Down time: 2023-11-23 19:27:37

   Explicit SID list:

    ID: 1                     Name: s1

    Weight: 1                 Forwarding index: 2149580802

    State: Up                 State(SBFD): Up

    Active path MTU: 1428 bytes

# On PE 1, execute the display ip routing-table vpn-instance vpn1 20.1.1.0 24 command to view detailed information about VPN route 20.1.1.0/24. The command output shows that VPN route 20.1.1.0/24 uses SRv6 TE policy p1 as the output interface.

[PE1] display ip routing-table vpn-instance vpn1 20.1.1.0 24

 

Summary count : 1

 

Destination/Mask   Proto   Pre Cost        NextHop         Interface

20.1.1.0/24        BGP     255 0           3::3            p1

# Verify that CE 1 and CE 2 can ping each other.

[CE1] ping 20.1.1.1

Ping 20.1.1.1 (20.1.1.1): 56 data bytes, press CTRL_C to break

56 bytes from 20.1.1.1: icmp_seq=0 ttl=253 time=2.000 ms

56 bytes from 20.1.1.1: icmp_seq=1 ttl=253 time=2.000 ms

56 bytes from 20.1.1.1: icmp_seq=2 ttl=253 time=1.000 ms

56 bytes from 20.1.1.1: icmp_seq=3 ttl=253 time=1.000 ms

56 bytes from 20.1.1.1: icmp_seq=4 ttl=253 time=2.000 ms

 

--- Ping statistics for 20.1.1.1 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 1.000/1.600/2.000/0.490 ms

Example: Configuring CBTS-based traffic steering for EVPN L3VPN over SRv6 TE Policy

Network configuration

As shown in Figure 10, the core network is IPv6, and the VPN is IPv4. PE 1, PE 2, P 1, and P 2 are in the same autonomous system, running IS-IS for IPv6 network interconnectivity. Static SRv6 TE policies p1 and p2 are configured between PE 1 and PE 2 to support IPv4 EVPN L3VPN services. Both CE 1 and CE 2 have two loopback interfaces that are used for different services.

QoS policies are configured on the CE-facing interfaces of PE 1 and PE 2. Those policies mark traffic of different services with different service classes, according to 5-tuple information in packets. Meanwhile, SRv6 TE policies p1 and p2 are configured with the related service classes on PE 1 and PE 2, so packets with a matching service class can be forwarded through those SRv6 TE policies.

 

 

NOTE:

·     Introduction: CBTS-based traffic steering is a method derived from MPLS TE tunnel-based traffic steering. The source node of an SRv6 TE policy marks incoming packets with the local service class, and then steer those packets to the related SRv6 TE policy accordingly.

·     Applicable scenarios: The service class of a device is a local identifier and only takes effect locally. You can classify service packets by using ACL rules based on their 5-tuple information, and then mark each service with a unique service class. Therefore, CBTS-based traffic steering is applicable to scenario where service packets need to be steered to specific SRv6 TE policies in a fine-grained manner. However, this traffic steering method is not applicable to scenarios where a variety of services exist, because the service class range is limited, and the maximum value generally does not exceed 15. In addition, each time the device performs CBTS-based traffic steering, it must mark packets with the local service class.

·     Forwarding mechanism: When service traffic needs to be directed to an SRv6 TE policy for further forwarding, the device uses the local service class marked for the related packets to find the matching SRv6 TE policy. When the device cannot find a matching SRv6 TE policy, it can forward those packets through the SRv6 TE policy that has the smallest service class and is valid.

Figure 10 Network diagram

Device

Interface

IP address

Device

Interface

IP address

CE 1

XGE2/0/0

10.1.1.1/24

CE 2

XGE2/0/0

20.1.1.1/24

 

Loopback 1

11.11.11.11/32

 

Loopback 1

22.22.22.22/32

 

Loopback 2

10.10.10.10/32

 

Loopback 2

20.20.20.20/32

PE 1

Loop1

1::1/128

PE 2

Loop1

3::3/128

 

XGE2/0/0

10.1.1.2/24

 

XGE2/0/0

20.1.1.2/24

 

XGE2/0/1

1001::1/96

 

XGE2/0/1

2001::1/96

 

XGE2/0/2

3001::1/96

 

XGE2/0/2

4001::1/96

P 1

Loop1

2::2/128

P 2

Loop1

4::4/128

 

XGE2/0/0

1001::2/96

 

XGE2/0/0

3001::2/96

 

XGE2/0/1

2001::2/96

 

XGE2/0/1

4001::2/96

Procedure

1.     Configure CE 1.

<Sysname> system-view

[Sysname] sysname CE1

[CE1] interface ten-gigabitethernet 2/0/0

[CE1-Ten-GigabitEthernet2/0/0] ip address 10.1.1.1 24

[CE1-Ten-GigabitEthernet2/0/0] quit

[CE1] bgp 200

[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

2.     Configure PE 1.

# Configure IPv6 IS-IS to achieve PE interconnects in the backbone network.

<Sysname> system-view

[Sysname] sysname PE1

[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] ipv6 address 1::1 128

[PE1-LoopBack1] isis ipv6 enable 1

[PE1-LoopBack1] quit

[PE1] interface ten-gigabitethernet 2/0/1

[PE1-Ten-GigabitEthernet2/0/1] ipv6 address 1001::1 96

[PE1-Ten-GigabitEthernet2/0/1] isis ipv6 enable 1

[PE1-Ten-GigabitEthernet2/0/1] quit

[PE1] interface ten-gigabitethernet 2/0/2

[PE1-Ten-GigabitEthernet2/0/2] ipv6 address 3001::1 96

[PE1-Ten-GigabitEthernet2/0/2] isis ipv6 enable 1

[PE1-Ten-GigabitEthernet2/0/2] quit

# Configure a VPN instance that connects 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 ten-gigabitethernet 2/0/0

[PE1-Ten-GigabitEthernet2/0/0] ip binding vpn-instance vpn1

[PE1-Ten-GigabitEthernet2/0/0] ip address 10.1.1.2 24

[PE1-Ten-GigabitEthernet2/0/0] quit

# Configure ACL rules to identify traffic of different services.

[PE1] acl advanced 3001

[PE1-acl-ipv4-adv-3001] rule 5 permit ip source 11.11.11.11 0 destination 22.22.22.22 0 vpn-instance vpn1

[PE1-acl-ipv4-adv-3001] quit

[PE1] acl advanced 3002

[PE1-acl-ipv4-adv-3002] rule 5 permit ip source 10.10.10.10 0 destination 20.20.20.20 0 vpn-instance vpn1

[PE1-acl-ipv4-adv-3002] quit

# Configure a QoS policy that marks services with different service classes, and then apply it to the inbound direction of the CE 1-facing interface.

[PE1] traffic classifier service1

[PE1-classifier-service1] if-match acl 3001

[PE1-classifier-service1] quit

[PE1] traffic behavior service1

[PE1-behavior-service1] remark service-class 1

[PE1-behavior-service1] quit

[PE1] traffic classifier service2

[PE1-classifier-service2] if-match acl 3002

[PE1-classifier-service2] quit

[PE1] traffic behavior service2

[PE1-behavior-service2] remark service-class 2

[PE1-behavior-service2] quit

[PE1] qos policy service

[PE1-qospolicy-service] classifier service1 behavior service1

[PE1-qospolicy-service] classifier service2 behavior service2

[PE1-qospolicy-service] quit

[PE1] interface ten-gigabitethernet 2/0/0

[PE1-Ten-GigabitEthernet2/0/0] qos apply policy service inbound

[PE1-Ten-GigabitEthernet2/0/0] quit

# Establish an EBGP peer relationship between PE 1 and CE 1, and enable the PE to redistribute VPN routes to BGP.

[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 a BGP EVPN peer relationship between the PEs.

[PE1-bgp-default] peer 3::3 as-number 100

[PE1-bgp-default] peer 3::3 connect-interface loopback 1

[PE1-bgp-default] address-family l2vpn evpn

[PE1-bgp-default-evpn] peer 3::3 enable

[PE1-bgp-default-evpn] quit

[PE1-bgp-default] quit

# Recurse the VPN route between PE 1 and PE 2 to the desired SRv6 TE policy.

[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 l2vpn evpn

[PE1-bgp-default-evpn] peer 3::3 advertise encap-type srv6

[PE1-bgp-default-evpn] 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 evpn

[PE1-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort evpn

[PE1-bgp-default-ipv4-vpn1] quit

[PE1-bgp-default-vpn1] quit

[PE1-bgp-default] quit

# Configure SRv6 TE policy p1 with a service class of 1, and SRv6 TE policy p2 with a service class of 2.

[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] 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 p1

[PE1-srv6-te-policy-p1] service-class 1

[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] policy p2

[PE1-srv6-te-policy-p2] service-class 2

[PE1-srv6-te-policy-p2] color 20 end-point ipv6 3::3

[PE1-srv6-te-policy-p2] candidate-paths

[PE1-srv6-te-policy-p2-path] preference 10

[PE1-srv6-te-policy-p2-path-pref-10] explicit segment-list s2

[PE1-srv6-te-policy-p2-path-pref-10] quit

[PE1-srv6-te-policy-p2-path] quit

[PE1-srv6-te-policy-p2] quit

[PE1-srv6-te] quit

[PE1-segment-routing-ipv6] quit

# Enable SBFD for all SRv6 TE policies.

[PE1] sbfd source-ipv6 1::1

[PE1] bfd multi-hop detect-multiplier 5

[PE1] bfd multi-hop min-transmit-interval 100

[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 a tunnel policy to ensure that the preferred tunnel is an SRv6 TE policy and multiple SRv6 TE policies can be used for load sharing.

[PE1] tunnel-policy a

[PE1-tunnel-policy-a] select-seq srv6-policy load-balance-number 2

[PE1-tunnel-policy-a] quit

[PE1] ip vpn-instance vpn1

[PE1-vpn-instance-vpn1] tnl-policy a

[PE1-vpn-instance-vpn1] quit

3.     Configure P 1.

# Configure IPv6 IS-IS to achieve PE interconnects in the backbone network.

<Sysname> system-view

[Sysname] sysname P1

[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] ipv6 address 2::2 128

[P1-LoopBack1] isis ipv6 enable 1

[P1-LoopBack1] quit

[P1] interface ten-gigabitethernet 2/0/0

[P1-Ten-GigabitEthernet2/0/0] ipv6 address 1001::2 96

[P1-Ten-GigabitEthernet2/0/0] isis ipv6 enable 1

[P1-Ten-GigabitEthernet2/0/0] quit

[P1] interface ten-gigabitethernet 2/0/1

[P1-Ten-GigabitEthernet2/0/1] ipv6 address 2001::2 96

[P1-Ten-GigabitEthernet2/0/1] isis ipv6 enable 1

[P1-Ten-GigabitEthernet2/0/1] quit

# Configure a locator and enable IS-IS to advertise that 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

4.     Configure P 2.

# Configure IPv6 IS-IS to achieve PE interconnects in the backbone network.

<Sysname> system-view

[Sysname] sysname P2

[P2] isis 1

[P2-isis-1] cost-style wide

[P2-isis-1] network-entity 00.0000.0000.0004.00

[P2-isis-1] address-family ipv6 unicast

[P2-isis-1-ipv6] quit

[P2-isis-1] quit

[P2] interface loopback 1

[P2-LoopBack1] ipv6 address 4::4 128

[P2-LoopBack1] isis ipv6 enable 1

[P2-LoopBack1] quit

[P2] interface ten-gigabitethernet 2/0/0

[P2-Ten-GigabitEthernet2/0/0] ipv6 address 3001::2 96

[P2-Ten-GigabitEthernet2/0/0] isis ipv6 enable 1

[P2-Ten-GigabitEthernet2/0/0] quit

[P2] interface ten-gigabitethernet 2/0/1

[P2-Ten-GigabitEthernet2/0/1] ipv6 address 4001::2 96

[P2-Ten-GigabitEthernet2/0/1] isis ipv6 enable 1

[P2-Ten-GigabitEthernet2/0/1] quit

# Configure a locator and enable 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

5.     Configure PE 2.

# Configure IPv6 IS-IS to achieve PE interconnects in the backbone network.

<Sysname> system-view

[Sysname] sysname PE2

[PE2] isis 1

[PE2-isis-1] cost-style wide

[PE2-isis-1] network-entity 00.0000.0000.0003.00

[PE2-isis-1] address-family ipv6 unicast

[PE2-isis-1-ipv6] quit

[PE2-isis-1] quit

[PE2] interface loopback 1

[PE2-LoopBack1] ipv6 address 3::3 128

[PE2-LoopBack1] isis ipv6 enable 1

[PE2-LoopBack1] quit

[PE2] interface ten-gigabitethernet 2/0/1

[PE2-Ten-GigabitEthernet2/0/1] ipv6 address 2001::1 96

[PE2-Ten-GigabitEthernet2/0/1] isis ipv6 enable 1

[PE2-Ten-GigabitEthernet2/0/1] quit

[PE2] interface ten-gigabitethernet 2/0/2

[PE2-Ten-GigabitEthernet2/0/2] ipv6 address 4001::1 96

[PE2-Ten-GigabitEthernet2/0/2] isis ipv6 enable 1

[PE2-Ten-GigabitEthernet2/0/2] quit

# Configure a VPN instance that connects 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 ten-gigabitethernet 2/0/0

[PE2-Ten-GigabitEthernet2/0/0] ip binding vpn-instance vpn1

[PE2-Ten-GigabitEthernet2/0/0] ip address 20.1.1.2 24

[PE2-Ten-GigabitEthernet2/0/0] quit

# Configure ACL rules to identify traffic of different services.

[PE2] acl advanced 3001

[PE2-acl-ipv4-adv-3001] rule 5 permit ip source 22.22.22.22 0 destination 11.11.11.11 0 vpn-instance vpn1

[PE2-acl-ipv4-adv-3001] quit

[PE2] acl advanced 3002

[PE2-acl-ipv4-adv-3002] rule 5 permit ip source 20.20.20.20 0 destination 10.10.10.10 0 vpn-instance vpn1

[PE2-acl-ipv4-adv-3002] quit

# Configure a QoS policy that marks services with different service classes, and then apply it to the inbound direction of the CE 2-facing interface.

[PE2] traffic classifier service1

[PE2-classifier-service1] if-match acl 3001

[PE2-classifier-service1] quit

[PE2] traffic behavior service1

[PE2-behavior-service1] remark service-class 1

[PE2-behavior-service1] quit

[PE2] traffic classifier service2

[PE2-classifier-service2] if-match acl 3002

[PE2-classifier-service2] quit

[PE2] traffic behavior service2

[PE2-behavior-service2] remark service-class 2

[PE2-behavior-service2] quit

[PE2] qos policy service

[PE2-qospolicy-service] classifier service1 behavior service1

[PE2-qospolicy-service] classifier service2 behavior service2

[PE2-qospolicy-service] quit

[PE2] interface ten-gigabitethernet 2/0/0

[PE2-Ten-GigabitEthernet2/0/0] qos apply policy service inbound

[PE2-Ten-GigabitEthernet2/0/0] quit

# Establish an EBGP peer relationship between PE 2 and CE 2, and enable the PE to redistribute VPN routes to BGP.

[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 a BGP EVPN peer relationship between the PEs.

[PE2-bgp-default] peer 1::1 as-number 100

[PE2-bgp-default] peer 1::1 connect-interface loopback 1

[PE2-bgp-default] address-family l2vpn evpn

[PE2-bgp-default-evpn] peer 1::1 enable

[PE2-bgp-default-evpn] quit

[PE2-bgp-default] quit

# Recurse the VPN route between PE 2 and PE 1 to the desired SRv6 TE policy.

[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

[PE2] bgp 100

[PE2-bgp-default] address-family l2vpn evpn

[PE2-bgp-default-evpn] peer 1::1 advertise encap-type srv6

[PE2-bgp-default-evpn] 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 evpn

[PE2-bgp-default-ipv4-vpn1] segment-routing ipv6 traffic-engineering best-effort evpn

[PE2-bgp-default-ipv4-vpn1] quit

[PE2-bgp-default-vpn1] quit

[PE2-bgp-default] quit

# Configure SRv6 TE policy p1 with a color value of 10 and SRv6 TE policy p2 with a color value of 20.

[PE2] segment-routing ipv6

[PE2-segment-routing-ipv6] traffic-engineering

[PE2-srv6-te] srv6-policy locator abc

[PE2-srv6-te] segment-list s1

[PE2-srv6-te-sl-s1] index 10 ipv6 200:1::1

[PE2-srv6-te-sl-s1] index 20 ipv6 100:1::1

[PE2-srv6-te-sl-s1] quit

[PE2-srv6-te] segment-list s2

[PE2-srv6-te-sl-s1] index 10 ipv6 400:1::1

[PE2-srv6-te-sl-s1] index 20 ipv6 100:1::1

[PE2-srv6-te-sl-s1] quit

[PE2-srv6-te] policy p1

[PE2-srv6-te-policy-p1] service-class 1

[PE2-srv6-te-policy-p1] color 10 end-point ipv6 1::1

[PE2-srv6-te-policy-p1] candidate-paths

[PE2-srv6-te-policy-p1-path] preference 10

[PE2-srv6-te-policy-p1-path-pref-10] explicit segment-list s1

[PE2-srv6-te-policy-p1-path-pref-10] quit

[PE2-srv6-te-policy-p1-path] quit

[PE2-srv6-te-policy-p1] quit

[PE2-srv6-te] policy p2

[PE2-srv6-te-policy-p2] service-class 2

[PE2-srv6-te-policy-p2] color 20 end-point ipv6 1::1

[PE2-srv6-te-policy-p2] candidate-paths

[PE2-srv6-te-policy-p2-path] preference 10

[PE2-srv6-te-policy-p2-path-pref-10] explicit segment-list s2

[PE2-srv6-te-policy-p2-path-pref-10] quit

[PE2-srv6-te-policy-p2-path] quit

[PE2-srv6-te-policy-p2] quit

[PE2-srv6-te] quit

[PE2-segment-routing-ipv6] quit

# Configure a tunnel policy to ensure that the preferred tunnel is an SRv6 TE policy and multiple SRv6 TE policies can be used for load sharing.

[PE2] tunnel-policy a

[PE2-tunnel-policy-a] select-seq srv6-policy load-balance-number 2

[PE2-tunnel-policy-a] quit

[PE2] ip vpn-instance vpn1

[PE2-vpn-instance-vpn1] tnl-policy a

[PE2-vpn-instance-vpn1] quit

# Configure the local discriminator for the reflector in the SBFD session.

[PE2] sbfd local-discriminator 1000001

6.     Configure CE 2.

<Sysname> system-view

[Sysname] sysname CE2

[CE2] interface ten-gigabitethernet 2/0/0

[CE2-Ten-GigabitEthernet2/0/0] ip address 20.1.1.1 24

[CE2-Ten-GigabitEthernet2/0/0] quit

[CE2] bgp 300

[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

Verifying the configuration

# On PE 1, execute the display segment-routing ipv6 te policy command to display detailed SRv6 TE policy information. The command output shows that the Status field for the SRv6 TE policy is Up.

<PE1> display segment-routing ipv6 te policy

 

Name/ID: p1/0

 Color: 10

 End-point: 3::3

 Name from BGP:

 BSID:

  Mode: Dynamic             Type: Type_2              Request state: Succeeded

  Current BSID: 100:1::1:3  Explicit BSID: -          Dynamic BSID: 100:1::1:3

 Reference counts: 4

 Flags: A/BS/NC

 Status: Up

 AdminStatus: Up

 Up time: 2023-11-23 19:31:35

 Down time: 2023-11-23 19:27:37

   Explicit SID list:

    ID: 1                     Name: s1

    Weight: 1                 Forwarding index: 2149580802

    State: Up                 State(SBFD): Up

    Active path MTU: 1428 bytes

# On PE 1, execute the display ip routing-table vpn-instance vpn1 command to view detailed information about VPN routes. The command output shows that each VPN route has two equal-cost output interfaces, SRv6 TE policy p1 and SRv6 TE policy p2.

<PE1> display ip routing-table vpn-instance vpn1

 

Destinations : 3       Routes : 3

 

Destination/Mask   Proto   Pre Cost        NextHop         Interface

20.1.1.0/24        BGP     255 0           3::3            p1

                   BGP     255 0           3::3            p2

20.20.20.20/32     BGP     255 0           3::3            p1

                   BGP     255 0           3::3            p2

22.22.22.22/32     BGP     255 0           3::3            p1

                   BGP     255 0           3::3            p2

# Ping packets with different source addresses between CE 1 and CE 2 to simulate forwarding of different services’ traffic. By capturing packets, you can find that traffic of different services is forwarded through different SRv6 TE policies and CBTS-based traffic steering is fulfilled.

<CE1> ping -a 11.11.11.11 22.22.22.22

Ping 22.22.22.22 (22.22.22.22) from 11.11.11.11: 56 data bytes, press CTRL+C to break

56 bytes from 22.22.22.22: icmp_seq=0 ttl=253 time=2.000 ms

56 bytes from 22.22.22.22: icmp_seq=1 ttl=253 time=2.000 ms

56 bytes from 22.22.22.22: icmp_seq=2 ttl=253 time=2.000 ms

56 bytes from 22.22.22.22: icmp_seq=3 ttl=253 time=2.000 ms

56 bytes from 22.22.22.22: icmp_seq=4 ttl=253 time=2.000 ms

 

--- Ping statistics for 22.22.22.22 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 2.000/2.000/2.000/0.000 ms

 

<CE1> ping -a 10.10.10.10 20.20.20.20

Ping 20.20.20.20 (20.20.20.20) from 10.10.10.10: 56 data bytes, press CTRL+C to break

56 bytes from 20.20.20.20: icmp_seq=0 ttl=253 time=2.000 ms

56 bytes from 20.20.20.20: icmp_seq=1 ttl=253 time=2.000 ms

56 bytes from 20.20.20.20: icmp_seq=2 ttl=253 time=1.000 ms

56 bytes from 20.20.20.20: icmp_seq=3 ttl=253 time=1.000 ms

56 bytes from 20.20.20.20: icmp_seq=4 ttl=253 time=1.000 ms

 

--- Ping statistics for 20.20.20.20 ---

5 packet(s) transmitted, 5 packet(s) received, 0.0% packet loss

round-trip min/avg/max/std-dev = 1.000/1.400/2.000/0.490 ms

  • 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
新华三官网