06 SRv6 Overview

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 70

SRv6 Overview

Foreword


At the beginning of the Segment Routing (SR) architecture design,
two implementation modes were designed for the data plane. One is
Segment Routing-Multiprotocol Label Switching (SR-MPLS), which
reuses the MPLS data plane and can be incrementally deployed on
the existing IP/MPLS network. The other is Segment Routing IPv6
(SRv6), which uses the IPv6 data plane and implements extension
based on the IPv6 Routing header.

This document describes the concepts and fundamentals of SRv6
and its applications for Huawei NetEngine series routers.
3 Huawei Confidential
Objectives


Upon completion of this course, you will be able to:

Describe the background of SRv6.

Describe the technical advantages of SRv6.

Describe the concepts and fundamentals of SRv6.

Understand how to configure SRv6 BE and static SRv6 Policies.

4 Huawei Confidential
Contents

1. SRv6 Overview
2. SRv6 Network Programming
3. SRv6 Policy Overview
4. Typical SRv6 Applications
5. Basic SRv6 Configurations

5 Huawei Confidential
IP/MPLS Network Introduction

As a Layer 2.5 technology that runs between Layer 2 and Layer 3, MPLS adds connection-oriented attributes to
connectionless IP networks. Traditional MPLS label-based forwarding improves the forwarding efficiency of IP networks.
However, as hardware capabilities continue to improve, MPLS no longer features distinct advantages in forwarding
efficiency. Nevertheless, MPLS provides good QoS guarantee for IP networks through connection-oriented label
forwarding and also supports TE, VPN, and FRR.

IP/MPLS networks have gradually replaced dedicated networks, such as ATM, frame relay (FR), and X.25. Ultimately,
MPLS is applied to various networks, including IP backbone, metro, and mobile transport, to support multi-service
transport and implement the Internet's all-IP transformation.

IP header-based MPLS label-based MPLS label-based IP header-based


forwarding forwarding forwarding forwarding
Destination:
IP 3.3.3.3 IP
network network
3.3.3.0/24
IP/MPLS
network
Etherne
MPLS IP
t
header packet
header

6 Huawei Confidential
SR Origin and Solution

The SDN concept has a great impact on the network industry, and many protocols used for SDN
implementation emerge in the industry, including OpenFlow, Protocol Oblivious Forwarding (POF),
Programming Protocol-independent Packet Processors (P4), and SR. Compared with revolutionary
protocols, SR considers compatibility with the existing network and smooth evolution, and also provides
programmability. It is a de facto SDN Disadvantages
Advantages standard.
Solutions
ECMP Lack of the path
IP planning capability
Simple SR-MPLS
configuratio LDP-IGP synchronization Incremental deployment on
issue the existing IP/MPLS network
n
Label-based LDP Lack of the load
forwarding balancing capability

Bandwidth Complex
configuration/maintenan
reservation
RSVP-TE ce SRv6
Path No support for large- Extension based on
planning scale deployment the IPv6 Routing
header

7 Huawei Confidential
From MPLS to SRv6

MPLS causes isolated network islands. SRv6 provides a unified forwarding plane and has advantages such
as simplified protocols, high scalability, and programmability.
Classic SR- SRv
MPLS MPLS 6
LD
Control P IGP + SR IGP + SR
plane RSVP- extension extension
TE
IGP

Forwardi
ng plane Pus Swa Po Pus Continu Nex
h MPLS p MPLS p h e t
MPLS 222
2004
MPLS 1368
MPLS IPv6 + IPv6 +
MPLS 111 MPLS 111 SRH SRH
1949 1949
Payloa Payload Payload Payload Payloa Payloa Payloa Payloa Payloa Payload Payload Payload
d d d d d d
 Simplified
protocols
Control plane Forwarding plane  High scalability
simplification simplification  Programmability
8 Huawei Confidential
SRv6: Service-driven Network
Controll
er
NETCONF/BGP-LS/BGP IPv6 SR
Policy
High-bandwidth
h
dt path

loss acket
g h i
Hi ndw

rate
ba

y
p
nc
la w
Lo

Low
te
Data
downloa Ingres Low-latency
d s path
Video

Voice

Low-packet-loss-rate

Both SR-MPLS and SRv6 support the use of explicit paths defined path
on the ingress to guide traffic forwarding. Their overall
architectures are the same.

Explicit paths established based on constraints, such as bandwidth, latency, and packet loss rate, can meet the
requirements of different services.

9 Huawei Confidential
Value and Significance of SR

MPLS is essentially an extension of IP functions and uses the shim mode to implement various
flexible services. SRv6 integrates IP and MPLS functions, complying with the trend of
technology development.

During the development of SDN, there was too much emphasis on the building of SDN
controller capabilities, but the impact of network infrastructure on SDN controller capabilities
was ignored. SRv6 greatly reduces bearer network complexity.

In the 5G and cloud era, more requirements are imposed on networks, such as stronger SLA
assurance and deterministic latency. Network connection attributes are enhanced, and
packets are required to carry more information. SRv6 extension can perfectly meet these
requirements.

10 Huawei Confidential
Contents

1. SRv6 Overview
2. SRv6 Network Programming
 SRv6 Network Programming Overview

▫ SRv6 Segments & SRv6 Nodes

▫ SRv6 Instruction Sets

3. SRv6 Policy Overview


4. Typical SRv6 Applications
5. Basic SRv6 Configurations

11 Huawei Confidential
SRv6 Standards/Drafts

RFC 8402 (Segment Routing Architecture) introduces the source routing model through which
the ingress controls traffic steering and forwarding by encapsulating an ordered list of
segments. This behavior can be considered as specifying an ordered list of instructions on the
ingress, with each instruction representing a function to be executed at a specific network
location. Each function is locally defined on a node, for example, instructing the node to
perform simple forwarding based on the corresponding segment list or to implement complex
user-defined behaviors.

With greater focus on network programming, SRv6 (draft-ietf-spring-srv6-network-
programming) combines simple and complex network functions to implement more network
functions other than performing only forwarding. This draft defines the SRv6 network
programming concept and main SR behaviors, such as SRv6 SIDs, SR endpoint behaviors, and
SR Policy headend behaviors.

12 Huawei Confidential
Introduction to Network Programming

Network programming stems from computer programming. In computer programming, we can convert our intent into a
series of instructions that computers can understand and execute to meet our requirements. Similarly, if a network can
work as a computer to translate the network intent into a series of forwarding instructions to be executed by network
devices, network programming can be achieved.

Based on the preceding assumption, SRv6 was introduced to translate network functions into instructions and
encapsulate the instructions into 128-bit IPv6 addresses, enabling network programming.

Computer Programming Network Programming

Print "Hello World" Human intent Forward a service along a


Network intent
low-latency path

Perform programming, Convert the service


implemented by computer Program requirement into a network SDN controller
language model

Encode the corresponding


Convert the computer path as SRv6 segments and
language into a CPU CPU instruction SRv6 segment
insert the segments into
instruction packets

Execute the instruction by Forward the packets by


Server Network device
server hardware network devices

13 Huawei Confidential
IPv6 Segment Routing Header (SRH)

RFC 8754 defines the IPv6 SRH added to IPv6 packets. The SRH format is as follows:

IPv6 SRH (IPv6 IPv6


IPv6 Header
Extension Header) Payload The value 43 indicates a routing extension header.

The recommended value of Routing Type for a


Version Traffic Class Flow Label routing extension header is 4, indicating an SRH.
Next=4
Payload Length Hop Limit
3 
An SRH contains the following fields:
Source Address 
Segment List: an ordered list of SRv6 SIDs.
Destination Address 
Segments Left (SL): number of remaining
Next Routing Segments segments. The SL value is decremented and the
Hdr Ext Len
Header Type=4 Left destination IP address (DIP) is changed to an
Last Entry Flags Tag active SID to complete traffic forwarding
Segment List [0] (128-bit IPv6 address) segment by segment.
Segment List [1] (128-bit IPv6 address) Active 
Tag: tags a packet as part of a class or group of
segment packets to implement group-based policies.
Segment List [2] (128-bit IPv6 address)
Optional TLV objects (variable)

SRH TLVs (e.g. NSH metadata, HMAC TLV, and
Padding TLV): can be used as global parameters
IPv6 Payload
of SIDs.

14 Huawei Confidential
SRv6 Network Programmability from the Perspective of
SRHs

Leveraging programmable SRHs, SRv6 offers more powerful network programming
capabilities than SR-MPLS.

Generally, SRHs provide a three-dimensional programming space:

First dimension: segment list. In SRv6, multiple segments are sequentially combined to represent a
specific SRv6 path. This is similar to the application of an MPLS label stack.

Second dimension: flexible combination of fields in the 128-bit SRv6 SID. Each MPLS label contains
four fixed-length fields: 20-bit label field, 8-bit Time to Live (TTL) field, 3-bit Traffic Class (TC) field, and
1-bit S field. In contrast, each SRv6 SID has 128 bits that can be flexibly divided into fields with
variable lengths. This further demonstrates the programmability of SRv6.

Third dimension: flexible combination of optional TLVs following segment lists. During packet
transmission on a network, irregular information can be encapsulated in the forwarding plane by
flexibly combining TLVs in SRHs.

15 Huawei Confidential
Contents

1. SRv6 Overview
2. SRv6 Network Programming
▫ SRv6 Network Programming Overview
 SRv6 Segments & SRv6 Nodes

▫ SRv6 Instruction Sets

3. SRv6 Policy Overview


4. Typical SRv6 Applications
5. Basic SRv6 Configurations

16 Huawei Confidential
Network Instructions: SRv6 Segments

A computer instruction typically consists of an opcode and an operand. The former determines the
operation to be performed; the latter determines the data, memory address, or both to be used in the
computation. Similarly, network instructions, which are called SRv6 segments, need to be defined for
SRv6 network programming. IPv6 SRH (IPv6 Extension
Header) IPv6
IPv6 Header 128 128 128 Payload
bits bits bits

SRv6 segment: IPv6 address Locator Function Arguments


format

SRv6 segments are expressed using IPv6 addresses and usually called SRv6 segment identifiers (SIDs).

As shown in the figure, an SRv6 SID usually consists of three fields: Locator, Function, and Arguments.
They are expressed in the Locator:Function:Arguments format. Note that the total length
(Locator+Function+Arguments) is less than or equal to 128 bits. If the total length is less than 128 bits,
the reserved bits are padded with 0s.

If the Arguments field does not exist, the format is Locator:Function. The Locator field occupies the most
significant
17
bits of an IPv6 address, and the Function field occupies the remaining part of the IPv6 address.
Huawei Confidential
SRv6 Segment: Locator

128 Locator Function Arguments


bits

IPv6
prefix

The Locator field identifies the location of a network node, and is used for other nodes to route and
forward packets to this identified node so as to implement network instruction addressing.

A locator has two important characteristics: routable and aggregatable. After a locator is configured for a
node, the system generates a locator route and propagates the route throughout the SR domain using an
IGP, allowing other nodes to locate the node based on the received route information. In addition, all SRv6
SIDs advertised by the node are reachable through the route.

In the following example, a locator with the 64-bit prefix 2001:DB8:ABCD:: is configured for a Huawei
device.
[Router] segment-routing ipv6
[Router-segment-routing-ipv6] locator srv6_locator1 ipv6-prefix 2001:DB8:ABCD:: 64

18 Huawei Confidential
SRv6 Segment: Function & Arguments

128 Locator Function Arguments


bits

Opcod Option
e al

The Function field specifies the forwarding behavior to be performed, and is similar to the opcode in a
computer instruction. In SRv6 network programming, forwarding behaviors are expressed using different
functions. For example, RFC defines End, End.X, End.DX4, and End.DX6 behaviors.

End.X is similar to an adjacency SID in SR-MPLS and is used to identify a link. A configuration example is
as follows:
[Router-segment-routing-ipv6] locator srv6_locator1 ipv6-prefix 2001:DB8:ABCD:: 64
[Router-segment-routing-ipv6] opcode ::1 end-x interface G3/0/0 next-hop
2001:DB8:200::1

The opcode corresponding to the function is ::1. In this example, the Arguments field is
not carried, and the SRv6 SID is 2001:db8:abcd::1.

This function guides packet forwarding from the specified interface (G3/0/0) to the
corresponding neighbor (2001:DB8:200::1).

19 Huawei Confidential
SRv6 SID Examples
End SID End SID End SID
2001:DB8:1000::1 2001:DB8:2000::2 2001:DB8:3000::3
11 22 33
End.X SID End.X SID End.X SID End.X SID
PE P PE
2001:DB8:1000::1 2001:DB8:2000::2 2001:DB8:2000::2 2001:DB8:3000::3
1 2 1 3 2 2

vpna: End.DT4 SID vpna: End.DT4 SID


2001:DB8:1000::1:0 2001:DB8:3000::1:0
:1E :1E

Loopback Loopback
1 1
10.1.4.4/3 10.1.5.5/3
CE AS AS CE
2 2
1 65000 65001 2

An End SID is an endpoint SID that identifies a destination node. It is similar to a node SID in SR-MPLS. After an End SID
is generated on a node, the node propagates the SID to all the other nodes in the SRv6 domain through an IGP. All nodes
in the SRv6 domain know how to implement the instruction bound to the SID.

An End.X SID is a Layer 3 cross-connect endpoint SID that identifies a link. It is similar to an adjacency SID in SR-MPLS.
After an End.X SID is generated on a node, the node propagates the SID to all the other nodes in the SRv6 domain
through an IGP. Although the other nodes can all obtain the SID, only the node generating the SID knows how to
implement the instruction bound to the SID.

An End.DT4 SID is a PE-specific endpoint SID that identifies an IPv4 VPN instance. The instruction bound to the End.DT4
SID is to decapsulate packets and search the routing table of the corresponding IPv4 VPN instance for packet forwarding.
The End.DT4 SID is equivalent to an IPv4 VPN label and used in L3VPNv4 scenarios. An End.DT4 SID can be either
manually configured or automatically allocated by BGP within the dynamic SID range of the specified locator.
20 Huawei Confidential
SRv6 SID Configuration Commands (1)
1. Enable SRv6 and enter the SRv6 view.

[Huawei] segment-routing ipv6


After running the segment-routing ipv6 command, you can configure an IPv6 SID in the SRv6 view so that an IPv6
local SID forwarding entry can be generated.

2. Configure an SRv6 SID locator.

[Huawei-segment-routing-ipv6] locator locator-name [ ipv6-prefix ipv6-address prefix-length [ [ static


static-length ] | [ args args-length ] ] * ]

An SRv6 SID is a 128-bit IPv6 address expressed in the Locator:Function:Arguments format.


• The Locator field corresponds to the ipv6-prefix ipv6-address parameter and its length is determined by the
prefix-length parameter.
• The Function field is also called opcode, which can be dynamically allocated using an IGP or be configured using
the opcode command. When configuring a locator, you can use the static static-length parameter to specify the
static segment length, which determines the number of static opcodes that can be configured in the locator. In
dynamic opcode allocation, the IGP allocates opcodes outside the range of the static segment, so that no SRv6 SID
conflict occurs.
• The Arguments field is determined by the args args-length parameter. This field is optional in SRv6 SIDs and
depends on command configurations.
21 Huawei Confidential
SRv6 SID Configuration Commands (2)
3. Configure a static End SID opcode.

[Huawei-segment-routing-ipv6] opcode func-opcode end [ no-psp ]

An End SID identifies an SRv6 node. The no-psp parameter is used to disable penultimate segment pop
of the SRH (PSP).

4. Configure a static End.X SID opcode.

[Huawei-segment-routing-ipv6] opcode func-opcode end-x interface { interface-name | interface-type


interface-number } nexthop nexthop-address [ no-psp ]

An End.X SID identifies a Layer 3 adjacency of an SRv6 node. Therefore, you need to specify an
interface and the next hop address of the interface during the configuration.

22 Huawei Confidential
SRv6 SID Configuration Example

SRv6 SIDs can be statically configured or dynamically allocated. In dynamic allocation mode, only the locator command
needs to be run, and the required opcode is dynamically allocated by an IGP. In static configuration mode, you need to
run the opcode command to manually configure an opcode for the SIDs of the corresponding type.

The relationship of parameters in the locator command is as follows:
|--Locator--|--Dynamic Opcode--|--Static
Opcode--|--Args--|
[Router-segment-routing-ipv6] locator srv6_locator1 ipv6-prefix 2001:DB8:ABCD:: 64
static 32

In static configuration mode, SIDs occupy only the static segment with values starting from 1, and the dynamic segment
is set to 0. In dynamic allocation mode, SIDs occupy both the dynamic segment and static segment. The values in the
dynamic segment start from 1, and those in the static segment start from 0.

In this example, the locator 2001:DB8:ABCD:: is configured, and its length is 64 bits. The static segment occupies 32
bits, the dynamic segment 32 bits, and the Args field 0 bits. The value range is as follows:

Static segment: The start value is 2001:DB8:ABCD:0000:0000:0000:0000:0001, and the end value is
2001:DB8:ABCD:0000:0000:0000:FFFF:FFFF.

Dynamic segment: The start value is 2001:DB8:ABCD:0000:0000:0001:0000:0000, and the end value is
Statically configuring End and End.XSIDs is recommended.
2001:DB8:ABCD:0000:FFFF:FFFF:FFFF:FFFF.
Dynamically allocated SIDs will change after a device restart, adversely affecting
maintenance.
23 Huawei Confidential
SRv6 Nodes

RFC 8754 defines three types of SRv6 nodes:

SRv6 source node: a source node that encapsulates packets with SRv6 headers.

Transit node: an IPv6 node that forwards SRv6 packets but does not perform SRv6
processing.

SRv6 segment endpoint node (endpoint node for short): destination node of SRv6 packets.
Source Transit Endpoint Endpoint
Node Node Node Node
FC01::1 FC02::2 FC03::3 FC04::4

CE2: End.DT4
CE R R R R FC04::400 CE
1 1 2 3 4 2

24 Huawei Confidential
SRv6 Source Node

An SRv6 source node steers a packet using an SRv6 segment list. If the SRv6 segment list contains only one SID, and no
Type Length Value (TLV) or other information needs to be added to the packet, the DA field of the packet is set to this
SID.

An SRv6 source node can be either an SRv6-capable host where IPv6 packets originate or an edge device in an SRv6
domain.

The following figure shows an L3VPNv4 over SRv6 Policy scenario where IPv4 traffic is transmitted over SRv6. The SRv6
Policy's explicitSource
path specifies that theTransit
traffic must pass through R3 and R4. The source
Endpoint node R1 is responsible for
Endpoint
steering the IPv4 traffic into the corresponding
Node Node tunnel and encapsulating
Node an SRH. Node
FC01::1 FC02::2 FC03::3 FC04::4

CE2: End.DT4
CE R R R R FC04::400 CE
1 1 2 3 4 2
IPv6 Header
SRH (SL = 2)
FC04:: FC03::
FC04::400
4 3
Payload
SRv6 Policy

25 Huawei Confidential
Transit Node

A transit node is an IPv6 node that does not participate in SRv6 processing on the SRv6 packet forwarding
path. That is, the transit node just performs ordinary IPv6 packet forwarding.

After receiving an SRv6 packet, the node parses the IPv6 DA field in the packet. If the IPv6 DA is neither a
locally configured SRv6 SID nor a local interface address, the node considers the SRv6 packet as an
ordinary IPv6 packet and searches the routing table for packet forwarding without processing the SRH.

A transit node can be either an ordinary IPv6 node or an SRv6-capable node.

Source Transit Endpoint Endpoint


Node Node Node Node
FC01:: FC02:: FC03:: FC04::
1 2 3 4

CE2: End.DT4
CE R R R R FC04::400 CE
1 1 2
IPv6 Header
3 4 2

SRH (SL = 2)
FC04:: FC03::
FC04::400
4 3
Payload

26 Huawei Confidential
Endpoint Node

An endpoint node is a node that receives an SRv6 packet destined for itself (a packet of which the IPv6
destination address is a local SID).

For example, R4 searches its My Local SID table based on the IPv6 DA FC04::4 of the packet and finds a
matching End SID. Then, R4 decrements the SL field by 1 and updates the IPv6 DA to the VPN SID
FF04::400. Based on the VPN SID, R4 searches its My Local SID table, finds a matching End.DT4 SID,
removes the SRH and IPv6 header, and forwards the packet to CE2.
Source Transit Endpoint Endpoint
Node Node Node Node
FC01:: FC02:: FC03:: FC04::
1 2 3 4

CE2: End.DT4
CE R R R R FC04::400 CE
1 1 2 3
IPv6 Header
4
IPv6 Header
2

SRH (SL = 1) SRH (SL = 0)


FC04:: FC03:: FC04:: FC03::
FC04::400 FC04::400
4 3 4 3
Payload Payload

27 Huawei Confidential
SRv6 Packet Forwarding Summary: SRH Processing


In SRv6 forwarding, each time a packet passes through an SRv6 node, the SL field is
decremented by 1 and the IPv6 DA changes. An IPv6 DA is determined by both the SL and
Segment
SRv6 SourceList fields.Segment List Segment List [n – Segment List Segment List
Node [n] 1] [1] [0]

IPv6 DA= IPv6 DA= IPv6 DA= IPv6 DA=


Segment List Segment List [n – Segment List Segment List
[n] 1] [1] [0]
SRH (SL = n) SRH (SL = n – 1) SRH (SL = 1) SRH (SL = 0)
(Segment List [0], (Segment List [0], (Segment List [0], (Segment List [0],
Segment List [1], Segment List [1], Segment List [1], Segment List [1],
…, …, …, …,
Segment List [n – Segment List [n – Segment List [n – Segment List [n –
1], 1], 1], 1],
Segment List [n]) Segment List [n]) Segment List [n]) Segment List [n])


Different from SR-MPLS label processing, SRv6 SRH processing is implemented from the bottom up,
and segments in the SRv6 SRH are not popped after being processed by a node. Therefore, the SRv6
header retains path information, which can be used for path backtracking.

28 Huawei Confidential
Contents

1. SRv6 Overview
2. SRv6 Network Programming
▫ SRv6 Network Programming Overview

▫ SRv6 Segments & SRv6 Nodes


 SRv6 Instruction Sets

3. SRv6 Policy Overview


4. Typical SRv6 Applications
5. Basic SRv6 Configurations
29 Huawei Confidential
SRv6 Instruction Sets

The SRH stores an ordered list of instructions for implementing network services, and it is equivalent to a
computer program. Segment List [0] to Segment List [n] are equivalent to the instructions of the
computer program. The first instruction to be executed is Segment List [n]. The SL field, which is
equivalent to the program counter (PC) of the computer program, points to the instruction that is being
executed

ietf-spring-srv6-network-programming defines many behaviors, which are also called instructions.
Version Traffic Class Flow Label
Payload Length Next=43 Hop Limit
Source Address
Destination Address
Next Routing Segments
Hdr Ext Len
Header Type=4 Left
Last Entry Flags Tag
Segment List [0] (128-bit IPv6 address)
Segment List [1] (128-bit IPv6 address)
Segment List [2] (128-bit IPv6 address)
Optional TLV objects (variable)
IPv6 Payload
IPv6 SRH (IPv6
IPv6 Header IPv6 Payload
Extension Header)

30 Huawei Confidential
SRv6 Instruction Sets: Endpoint Node Behaviors

Behaviors defined by SRv6 instruction sets are classified as endpoint node behaviors and source node
behaviors.

Common endpoint node behaviors
Instruction Function are as follows.
Description Application Scenario
Copies the next SID to the IPv6 DA and searches the Used for packet forwarding through a specified node. An
End
forwarding table for packet forwarding. End SID is similar to an SR-MPLS node segment.
Used for packet forwarding through a specified outbound
End.X Forwards a packet through a specified outbound interface. interface. An End.X SID is similar to an SR-MPLS adjacency
segment.
End.T Searches a specified IPv6 routing table for packet forwarding. Used in scenarios where multiple routing tables exist.
Decapsulates a packet and forwards it through a specified Used in L2VPN scenarios, such as EVPN virtual private wire
End.DX2
Layer 2 outbound interface. service (VPWS).
Decapsulates a packet and forwards it over a specified IPv4 Used in L3VPNv4 scenarios where packets are forwarded
End.DX4
Layer 3 adjacency. to a CE through a specified IPv4 adjacency.
Decapsulates a packet and forwards it over a specified IPv6 Used in L3VPNv6 scenarios where packets are forwarded
End.DX6
Layer 3 adjacency. to a CE through a specified IPv6 adjacency.
Decapsulates a packet and searches a specified IPv6 routing
End.DT6 Used in L3VPNv6 scenarios.
table for packet forwarding.
Decapsulates a packet and searches a specified IPv4 routing
End.DT4 Used in L3VPNv4 scenarios.
table for packet forwarding.
Used in scenarios such as traffic steering into an SRv6
End.B6.Insert Policy in Insert mode, tunnel stitching, and software-
Inserts an SRH and applies a specified SRv6 Policy.
defined networking in a wide area network (SD-WAN) route
selection.
Inserts an MPLS label stack and applies a specified SR-MPLS
End.BM Used in SRv6 and SR-MPLS interworking scenarios.
Policy.
31 Huawei Confidential
Naming Rules for SRv6 Instructions

SRv6 instructions are named according to certain rules. You can quickly determine the instruction function
based on the naming rule combination.

End: the most basic instruction executed by a segment endpoint node, directing the node to terminate the current
instruction and start the next instruction. The corresponding forwarding behavior is to decrement the SL field by 1
and copy the SID pointed by the SL field to the DA field in the IPv6 header.

X: forwards packets through one or a group of Layer 3 outbound interfaces.

T: searches a specified routing table and forwards packets.

D: decapsulates packets by removing the IPv6 header and related extension headers.

V: searches a specified table for packet forwarding based on virtual local area network (VLAN) information.

U: searches a specified table for packet forwarding based on unicast MAC address information.

M: searches a Layer 2 forwarding table for multicast forwarding.

B6: applies a specified SRv6 Policy.

BM: applies a specified SR-MPLS Policy.

32 Huawei Confidential
SRv6 Instruction Sets: Source Node Behaviors

An SRv6 source node steers packets into an SRv6 Policy and, if possible, encapsulates SRHs
into the packets. The following table lists the behaviors of an SRv6 source node.
Source Node
Function Description
Behavior
Inserts an SRH into a received IPv6 packet and searches the
H.Insert
corresponding routing table for packet forwarding.
Inserts a reduced SRH into a received IPv6 packet and searches the
H.Insert.Red
corresponding routing table for packet forwarding.
Encapsulates an outer IPv6 header and SRH for a received IP packet,
H.Encaps
and searches the corresponding routing table for packet forwarding.
Encapsulates an outer IPv6 header and reduced SRH for a received IP
H.Encaps.Red packet, and searches the corresponding routing table for packet
forwarding.
Encapsulates an outer IPv6 header and SRH for a received Layer 2
H.Encaps.L2
frame, and searches the corresponding routing table for forwarding.
Encapsulates an outer IPv6 header and reduced SRH for a received
H.Encaps.L2.Red Layer 2 frame, and searches the corresponding routing table for
forwarding.

33 Huawei Confidential
SRv6 Instruction Sets: Flavors

Flavors are additional behaviors defined to enhance End series instructions. These behaviors
are optional and used to meet diverse service requirements.

SRv6-Network-Programming defines the following additional behaviors: PSP, Ultimate
Segment Pop of the SRH (USP), and Ultimate Segment Decapsulation (USD).

Attached End
Flavor Function Description
Instruction

PSP Removes the SRH on the penultimate endpoint node. End, End.X, and End.T

USP Removes the SRH on the ultimate endpoint node. End, End.X, and End.T

Decapsulates the outer IPv6 header on the ultimate endpoint


USD End, End.X, and End.T
node.

34 Huawei Confidential
Contents

1. SRv6 Overview
2. SRv6 Network Programming
3. SRv6 Policy Overview
4. Typical SRv6 Applications
5. Basic SRv6 Configurations

35 Huawei Confidential
SRv6 Policy Overview

SR-TE Policy is an application of SR Policy in the traffic engineering field. It leverages the source routing
mechanism of SR to guide packet forwarding based on an ordered list of segments encapsulated by the
headend. SR-TE Policy does not involve traditional tunnel interfaces.

SR-TE Policy is classified as SR-MPLS Policy or SRv6 Policy by segment. This document uses SRv6 Policy as
an example.

SR Policy is the SR-TE implementation mode of mainstream vendors. In the following contents, SRv6 Policy
will be used to refer to SRv6 TE Policy.
<PE1>display tunnel-info all
Tunnel ID Type Destination Status
----------------------------------------------------------------------------------------
0x0000000001004c4c04 ldp 1.0.0.12 UP
0x000000002900000004 srbe-lsp 1.0.0.12 UP
0x000000000300002001 sr-te 1.0.0.12 UP
0x00000000320000c001 srtepolicy 1.0.0.12 UP
0x000000003400002001 srv6tepolicy FC01::12 UP

36 Huawei Confidential
SR Policy Standards

• According to RFC draft-ietf-spring-segment-routing-


Controll
er policy, BGP multi-protocol extension supports the BGP
IPv6 SR Policy (SAFI = 73) address family for SR Policy
delivery.
BGP-LS/BGP IPv6 SR
• The controller uses BGP to deliver a
Policy
combination of SR SIDs to the
ingress. A TE tunnel carrying the
policy color and destined for the
Colo
r egress is then created on the
ingress.
Ingres Egres
• If the tunnel needs to be referenced,
s s
it can be located based on the
policy color.

37 Huawei Confidential
SR Policy Solution Architecture

Huawei SR Policy solution architecture involves three key protocols:
Controll BGP-LS, BGP IPv6 SR Policy, and NETCONF.
er 1. BGP-LS collects tunnel topology information used to compute SR Policy
paths and display tunnel status.
2. BGP IPv6 SR Policy is used by the controller to deliver SR Policy information
1. BGP-
(e.g. color, headend, and endpoint).
LS
2. BGP IPv6 SR 3. NETCONF is used to deliver other configurations, such as service interfaces
Policy and route-policies (with the color attribute).
3.
NETCONF

Colo
r

Ingres Egres
s s

38 Huawei Confidential
SRv6 Policy Tuple

An SRv6 Policy is identified by <headend, color, endpoint>. For a specified node, the policy is
identified by <color, endpoint>.

Headend: node where an SRv6 Policy is originated. Generally, it is a globally unique IP address.

Color: 32-bit extended community attribute. It is used to identify a type of service intent (e.g. low
latency).

Endpoint: destination address of an SRv6 Policy. Generally, it is a globally unique IP address.


Color and endpoint are used to identify a forwarding path on the specific headend of an SRv6
Policy.

39 Huawei Confidential
SRv6 Policy Model

One SRv6 Policy may contain multiple candidate paths with the preference attribute. The valid candidate
path with the highest preference functions as the primary path of the SRv6 Policy, and the valid candidate
path with the second highest preference functions as a backup path.

A candidate path is an SRv6 Policy's segment list sent to the headend through PCEP or BGP IPv6 SR Policy.

Weights can be configured for segment lists to control load balancing among SR paths.
Segment list 1
SR policy P1 <headend, color, endpoint>
Primary Weight Candidate-path CP1 <Protocol-Origin, Originator,
path Discriminator>
Candidate
SRv6 Preference 200
path 1 Segment list 2
Policy Weight W1, SID-List1 <SID11...SID1i>
Preference Weight Weight W2, SID-List2 <SID21...SID2j>
<headend, 200 Candidate-path CP2 <Protocol-Origin, Originator,
color,
Discriminator>
endpoint>
Candidate Segment list 1 Preference 100
path 2 Weight W3, SID-List3 <SID31...SID3i>
Weight Weight W4, SID-List4 <SID41...SID4j>
Preference
100
Backup
path
40 Huawei Confidential
Extension: BGP IPv6 SR Policy Routing Table

An SR Policy is represented as [distinguisher][policycolor][endpoint] in the BGP routing table.

<PE1>display bgp sr-policy ipv6 routing-table

BGP Local router ID is 1.0.0.1


Status codes: * - valid, > - best, d - damped, x - best external, a - add path,
h - history, i - internal, s - suppressed, S - Stale
Origin : i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V - valid, I - invalid, N - not-found

Total Number of Routes: 2


Network Nexthop MED LocPrf PrefVal Path/Ogn

*>i [10][5][FC01::12] 2000::102 4294967286 100 0 ?


*>i [14][3][FC01::12] 2000::102 4294967286 100 0 ?

41 Huawei Confidential
Extension: BGP IPv6 SR Policy's Tunnel Encapsulation
Attribute (1)

In a BGP Update message, path attributes carry specific candidate path information.
The following shows the Tunnel Encapsulation Attribute format.

SR Policy SAFI NLRI: <Distinguisher, Policy-Color,


Endpoint>
Attributes:
Tunnel Encaps Attribute (23)
Tunnel Type: SR Policy (15)
Binding SID
Preference
Priority
Policy Name
Explicit NULL Label Policy (ENLP)
Segment List
Weight
Segment
Segment

42 Huawei Confidential
Extension: BGP IPv6 SR Policy‘s Tunnel Encapsulation
Attribute (2)

The BGP IPv6 SR Policy routing table contains complete tunnel encapsulation attribute
information.
<PE1>display bgp sr-policy ipv6 routing-table [10][5] Tunnel Encaps Attribute (23):
[FC01::12] Tunnel Type: SR Policy (15)
Preference: 200
Binding SID: FC00:1::1:1, s-flag(0), i-
BGP local router ID : 1.0.0.1 flag(0)
Local AS number : 100 Segment List
Paths: 1 available, 1 best, 1 select, 0 best-external, 0 add- Weight: 1
path Path MTU: 9600
BGP routing table entry information of [10][5][FC01::12]: Segment: type:2, SID: FC00:1::1:3D
From: 2000::102 (172.21.17.102) Segment: type:2, SID: FC00:2::1:22
Route Duration: 3d22h20m53s Segment: type:2, SID: FC00:6::1:24
Relay IP Nexthop: :: Segment: type:2, SID: FC00:4::1:26
Relay IP Out-Interface:GigabitEthernet0/0/0 Segment List
Original nexthop: 2000::102 Weight: 1
Qos information : 0x0 Path MTU: 9600
Ext-Community: RT <1.0.0.1 : 0>, SoO <172.21.17.102 : 0> Segment: type:2, SID: FC00:11::1:20
AS-path Nil, origin incomplete, MED 4294967286, localpref Segment: type:2, SID: FC00:4::1:20
100, pref-val 0, valid, internal, best, select, pre 255 Segment: type:2, SID: FC00:3::1:24
… Template ID: 4294967279
Not advertised to any peer yet
43 Huawei Confidential
Contents

1. SRv6 Overview
2. SRv6 Network Programming
3. SRv6 Policy Overview
4. Typical SRv6 Applications
5. Basic SRv6 Configurations

44 Huawei Confidential
Fast Service Provisioning

EVPN SRv6 underlay network EVP


N
Services are configured only on edge nodes, simplifying network

management.
Provisioning Cross- Number of
Time department Service
Collaboration Configuration
Months Days 5+ 1 6+
Points 2
An ISP deploys SRv6 over native IPv6 to seize market

45 Huawei Confidential
opportunities.
SRv6 VPN Overlay Native IPv6

R R R R
1 2 3 4
Locator: B8::/96VRF
End.DT4: 100
B8::D100

R R R R
5 6 7 8
The ingress encapsulates data. Transit nodes perform The egress decapsulates the
only IPv6 forwarding. data.
User User Data SA=R5 User SA=R5 User
Data DA=B8::D100 Data DA=B8::D100 Data
The Function field is programmed to identify the VPN: B8::D100. No
SRH is encapsulated, and VPN services are implemented using
native IPv6.
Locator for addressing to Function that identifies a
R8 VPN

46 Huawei Confidential
Flexible Path Control
Controller

Information Path
collection orchestratio Network
n congestion or
fault
R R R R
Computes
2 congestion-free and low-
3 4
1
latency paths based on collected
information.
User R User
Data 6 Data
R R R
5 Network congestion, 7 8
Programmable service
packet loss, and large
path (R2->R7->R8)
latency
SA=R5
DA=R2
R8
R7
R2
User Data Flexible path control improves user experience in data

47 Huawei Confidential services.


Large-Scale Network Slicing

On an SRv6 network, service packets carry slice

information.
Default Default
slice slice

SRv6 Service Slice ID SRv6 Service Slice ID SRv6


slice 1 1 slice 1 1
SID 1 SID 2 SID 3
Service Slice ID Service Slice ID
slice 2 2 slice 2 2

Physical interface on Physical interface on Physical interface on


R1 R2 R3

Control and Forwarding 1000+ Slices Function Like Private


Decoupling
• SRv6 SIDs identify main interface Networks
• A single routing protocol centrally manages 1000+
information. slices.
• Slice IDs identify service slices and are • Services are isolated between slices, providing private
transmitted hop by hop. network-like service experience.
The SRv6+Flex-E solution provides private network guarantee for high-value

services.
48 Huawei Confidential
APN, Enabling Application-Driven Network
Programming
Access and cloud PEs construct high-
quality channels based on
application information.
Carrier Clou
network d

Access Cloud Application


Application ID PE PE ID
Access and cloud PEs implement network
identification identification
IPv6 extension
programming based on application IDs.
Enterprise IPv6 extension header
intranet header Carrier's bearer Cloud bearer
network network

Application-driven network programming:


application ID information transmission hop by hop

HUAWEI CLOUD uses APN to ensure WeLink service


experience, helping enterprises implement borderless
collaboration.

49 Huawei Confidential
Contents

1. SRv6 Overview
2. SRv6 Network Programming
3. SRv6 Policy Overview
4. Typical SRv6 Applications
5. Basic SRv6 Configurations
 SRv6 BE
▫ SRv6 Policy

50 Huawei Confidential
L3VPNv4 over SRv6 BE (1)
AS
100
Loopback0 Loopback0 Loopback0
2001:DB8:1::1/1 2001:DB8:2::2/1 2001:DB8:3::3/1
28 28 28
PE P PE
1 : 2001:DB88:12::/ : : 2001:DB88:23::/ : 2
1 96 2 2 96 3
10.0.14.0/ 10.0.35.0/ Configuration roadmap:
24 24
Loopback Loopback 1.Configure interface IPv6 addresses and IS-IS.
1 1
10.1.4.4/3 10.1.5.5/3 (Configuration details are not provided.)
CE AS AS CE
2 2
1 65000 65001 2 2.Establish an MP-BGP peer relationship between PE1 and
Networking requirements: PE2.
1.Connect PE1 and PE2 to different CEs that belong to 3.Enable SR and establish an SRv6 BE path on the
VPN instance vpna. backbone network.
4.Enable the VPN instance IPv4 address family on each
2.Deploy L3VPN service recursion to SRv6 BE paths on
PE.
the backbone network to enable CE1 and CE2 to
5.Establish an MP-IBGP peer relationship between the
communicate through Loopback1.
PEs.
6.Verify the configuration.
51 Huawei Confidential
L3VPNv4 over SRv6 BE (2)
AS
100
Loopback0 Loopback0 Loopback0 Establish an MP-IBGP peer relationship between the
2001:DB8:1::1/1 2001:DB8:2::2/1 2001:DB8:3::3/1 PEs.
[~PE1] bgp 100
28 28 28 [~PE1-bgp] peer 2001:DB8:3::3 as-number 100
PE P PE
[*PE1-bgp] peer 2001:DB8:3::3 connect-interface loopback 0
1 : 2001:DB88:12::/ : : 2001:DB88:23::/ : 2
[*PE1-bgp] ipv4-family vpnv4
1 96 2 2 96 3 [*PE1-bgp-af-vpnv4] peer 2001:DB8:3::3 enable
10.0.14.0/ 10.0.35.0/ [*PE1-bgp-af-vpnv4] commit
24 24 [~PE1-bgp-af-vpnv4] quit
Loopback Loopback [~PE1-bgp] quit
1 1
10.1.4.4/3 10.1.5.5/3
CE AS
2
AS CE
2
Check the VPNv4 peer relationship on
1 65000 650012 PE1.
<PE1>display bgp vpnv4 all peer
Configuration roadmap:
1.Configure interface IPv6 addresses and IS-IS. BGP local router ID : 10.0.1.1
(Configuration details are not provided.) Local AS number : 100
2.Establish an MP-BGP peer relationship Total number of peers : 1 Peers in established state : 1
between PE1 and PE2.
3.Enable SR and establish an SRv6 BE path on the Peer V AS MsgRcvd MsgSent Up/Down State
backbone network.
2001:DB8:3::3 4 100 3 4 00:00:04
4.Enable the VPN instance IPv4 address family on each Established
PE.
5.Establish an MP-IBGP peer relationship between the
PEs.
6.Verify the configuration.
52 Huawei Confidential
L3VPNv4 over SRv6 BE (3)
AS
100
Loopback0 Loopback0 Loopback0 Establish an SRv6 BE path between the PEs. The
2001:DB8:1::1/1 2001:DB8:2::2/1 2001:DB8:3::3/1 configuration on PE1 is as follows: (The configuration on
28 28 28 PE2 is not provided here, and the P does not require such
PE P PE
configuration.)
1 : 2001:DB88:12::/ : : 2001:DB88:23::/ : 2 [~PE1] segment-routing ipv6
1 96 2 2 96 3 [*PE1-segment-routing-ipv6] encapsulation source-address
10.0.14.0/ 10.0.35.0/ 2001:DB8:1::1
[*PE1-segment-routing-ipv6] locator as100 ipv6-prefix
24 24
Loopback Loopback 2001:DB8:100:: 64 static 32
1 1 [*PE1-segment-routing-ipv6-locator] quit
10.1.4.4/3 10.1.5.5/3 [*PE1-segment-routing-ipv6] quit
CE AS AS CE
2 2 [*PE1] bgp 100
1 65000 65001 2 [*PE1-bgp] ipv4-family vpnv4
Configuration roadmap: [*PE1-bgp-af-vpnv4] peer 2001:DB8:3::3 prefix-sid
1.Configure interface IPv6 addresses and IS-IS. [*PE1-bgp-af-vpnv4] quit
(Configuration details are not provided.) [~PE1-bgp] quit
[~PE1] isis 1
2.Establish an MP-BGP peer relationship between PE1 [~PE1-isis-1] segment-routing ipv6 locator as100
and PE2. [*PE1-isis-1] commit
3.Enable SR and establish an SRv6 BE path on [~PE1-isis-1] quit
the backbone network.
4.Enable the VPN instance IPv4 address family on each
PE.
5.Establish an MP-IBGP peer relationship between the
PEs.
6.Verify
53 the Confidential
Huawei configuration.
L3VPNv4 over SRv6 BE (4)
AS
100
Loopback0 Loopback0 Loopback0 Enable the VPN instance IPv4 address family on each PE.
2001:DB8:1::1/1 2001:DB8:2::2/1 2001:DB8:3::3/1 PE1 configurations are as follows: (PE2 configurations
28 28 28 are not provided.)
PE P PE
1 : 2001:DB88:12::/ : : 2001:DB88:23::/ : 2 [~PE1] ip vpn-instance vpna
1 96 2 2 96 3 [*PE1-vpn-instance-vpna] ipv4-family
10.0.14.0/ 10.0.35.0/ [*PE1-vpn-instance-vpna-af-ipv4] route-distinguisher 100:1
[*PE1-vpn-instance-vpna-af-ipv4] vpn-target 111:1 both
24 24
Loopback Loopback [*PE1-vpn-instance-vpna-af-ipv4] quit
1 1 [*PE1-vpn-instance-vpna] quit
10.1.4.4/3 10.1.5.5/3 [~PE1] bgp 100
CE AS AS CE
2 2 [*PE1-bgp] ipv4-family vpn-instance vpna
1 65000 65001 2 [*PE1-bgp-vpna] peer 10.0.14.4 as-number 65000
[*PE1-bgp-vpna] segment-routing ipv6 best-effort
Configuration roadmap: [*PE1-bgp-vpna] segment-routing ipv6 locator as100
1.Configure interface IPv6 addresses and IS-IS. [*PE1-bgp-vpna] commit
(Configuration details are not provided.) [~PE1-bgp-vpna] quit
2.Establish an MP-BGP peer relationship between PE1 and [~PE1-bgp] quit
PE2.
3.Enable SR and establish an SRv6 BE path on the
backbone network.
4.Enable the VPN instance IPv4 address family on
each PE.
5.Establish an MP-IBGP peer relationship between
the PEs.
55 Huawei Confidential
6.Verify the configuration.
L3VPNv4 over SRv6 BE (5)
AS
100 Check the local SID table containing all types of SRv6 SIDs
Loopback0 Loopback0 Loopback0 on PE2.
2001:DB8:1::1/1 2001:DB8:2::2/1 2001:DB8:3::3/1 <PE2>display segment-routing ipv6 local-sid forwarding
28 28 28
PE P PE
My Local-SID Forwarding Table
1 : 2001:DB88:12::/ : : 2001:DB88:23::/ : 2
-------------------------------------
1 96 2 2 96 3 SID : 2001:DB8:300::1:0:0/128 FuncType : End
10.0.14.0/ 10.0.35.0/ LocatorName: as100 LocatorID: 2
24 24
Loopback Loopback SID : 2001:DB8:300::1:0:1/128 FuncType : End
1 1 LocatorName: as100 LocatorID: 2
10.1.4.4/3 10.1.5.5/3
CE AS AS CE
2 2 SID : 2001:DB8:300::1:0:2/128 FuncType :
1 65000 65001 2 End.X
Configuration roadmap: LocatorName: as100 LocatorID: 2
1.Configure interface IPv6 addresses and IS-IS.
(Configuration details are not provided.) SID : 2001:DB8:300::1:0:3/128 FuncType :
End.X
2.Establish an MP-BGP peer relationship between PE1
LocatorName: as100 LocatorID: 2
and PE2.
3.Enable SR and establish an SRv6 BE path on the SID : 2001:DB8:300::1:0:20/128 FuncType :
backbone network. End.DT4
4.Enable the VPN instance IPv4 address family on each PE2 locally generates
LocatorName: as100 an End.DT4 SID and advertises
PE. the SID to PE1.
5.Establish an MP-IBGP peer relationship between the
PEs.
6.Verify
56 the
Huawei configuration.
Confidential
L3VPNv4 over SRv6 BE (6)
AS Check VPNv4 routing information on
100
Loopback0 Loopback0 Loopback0 PE1.
2001:DB8:1::1/1 2001:DB8:2::2/1 2001:DB8:3::3/1 <PE1>display bgp vpnv4 al routing-table 10.1.5.5
28 28 28 BGP local router ID : 10.0.1.1
PE P PE
Local AS number : 100
1 : 2001:DB88:12::/ : : 2001:DB88:23::/ : 2
Total routes of Route Distinguisher(100:1): 1
1 96 2 2 96 3 BGP routing table entry information of 10.1.5.5/32:
10.0.14.0/ 10.0.35.0/ Label information (Received/Applied): 3/NULL
24 24 From: 2001:DB8:3::3 (10.0.3.3)
Loopback Loopback Route Duration: 0d00h15m54s
1 1 Relay IP Nexthop: FE80::DE99:14FF:FE7A:C301
10.1.4.4/3 10.1.5.5/3 Relay IP Out-Interface: GigabitEthernet0/3/0.12
CE AS AS CE
2 2 Relay Tunnel Out-Interface:
1 65000 65001 2 Original nexthop: 2001:DB8:3::3
Configuration roadmap: Qos information : 0x0
1.Configure interface IPv6 addresses and IS-IS. Ext-Community: RT <111 : 1>
(Configuration details are not provided.) Prefix-sid: 2001:DB8:300::1:0:20
2.Establish an MP-BGP peer relationship between PE1 AS-path Nil, origin incomplete, MED 0, localpref 100, pref-val 0,
valid, internal, best, select, pre 255, IGP cost 20
and PE2. Not advertised to any peer yet
3.Enable SR and establish an SRv6 BE path on the
backbone network.
4.Enable the VPN instance IPv4 address family on each IPv6 address of the peer;
PE. SID corresponding to 10.1.5.5 (the same as that
5.Establish an MP-IBGP peer relationship between the locally allocated on PE2)
PEs.
6.Verify
57 the
Huawei configuration.
Confidential
L3VPNv4 over SRv6 BE (7)
AS Check vpna's routing information on
100
Loopback0 Loopback0 Loopback0 PE1.
2001:DB8:1::1/1 2001:DB8:2::2/1 2001:DB8:3::3/1 <PE1> display ip routing-table vpn-instance vpna 10.1.5.5
28 28 28 verbose
PE P PE
Route Flags: R - relay, D - download to fib, T - to vpn-instance, B -
1 : 2001:DB88:12::/ : : 2001:DB88:23::/ : 2
black hole route
1 96 2 2 96 3 ------------------------------------------------------------------------------
10.0.14.0/ 10.0.35.0/ Routing Table : vpna
24 24 Summary Count : 1
Loopback Loopback
1 1 Destination: 10.1.5.5/32
10.1.4.4/3 10.1.5.5/3 Protocol: IBGP Process ID: 0
CE AS AS CE
2 2 Preference: 255 Cost: 0
1 65000 65001 2 NextHop: 2001:DB8:300::1:0:20 Neighbour: 2001:DB8:3::3
Configuration roadmap: State: Active Adv Relied Age: 00h17m40s
1.Configure interface IPv6 addresses and IS-IS. Tag: 0 Priority: low
(Configuration details are not provided.) Label: 3 QoSInfo: 0x0
IndirectID: 0x1000177 Instance:
2.Establish an MP-BGP peer relationship between PE1
RelayNextHop: 2001:DB8:300::1:0:20 Interface: SRv6 BE
and PE2. TunnelID: 0x0 Flags: RD
3.Enable SR and establish an SRv6 BE path on the
Interface type: SRv6
backbone network.
BE
4.Enable the VPN instance IPv4 address family on each PE1 uses this IPv6 address as the next-hop address to
PE. forward packets destined for 10.1.5.5.
5.Establish an MP-IBGP peer relationship between the
PEs.
6.Verify
58 the
Huawei configuration.
Confidential
L3VPNv4 over SRv6 BE (8)
AS
100
Loopback0 Loopback0 Loopback0
2001:DB8:1::1/1 2001:DB8:2::2/1 2001:DB8:3::3/1 Verify the configuration on
28 28 28 CE1.
<CE1>ping -a 10.1.4.4 10.1.5.5
PE P PE
PING 10.1.5.5: 56 data bytes, press CTRL_C to break
1 : 2001:DB88:12::/ : : 2001:DB88:23::/ : 2 Reply from 10.1.5.5: bytes=56 Sequence=1 ttl=254 time=1
1 96 2 2 96 3 ms
10.0.14.0/ 10.0.35.0/ Reply from 10.1.5.5: bytes=56 Sequence=2 ttl=254 time=1
ms
24 24
Loopback Loopback Reply from 10.1.5.5: bytes=56 Sequence=3 ttl=254 time=1
1 1 ms
10.1.4.4/3 10.1.5.5/3 Reply from 10.1.5.5: bytes=56 Sequence=4 ttl=254 time=1
CE AS AS CE
2 2 ms
1 65000 65001 2 Reply from 10.1.5.5: bytes=56 Sequence=5 ttl=254 time=1
Configuration roadmap: ms
1.Configure interface IPv6 addresses and IS-IS.
(Configuration details are not provided.)
2.Establish an MP-BGP peer relationship between PE1
and PE2.
3.Enable SR and establish an SRv6 BE path on the
backbone network.
4.Enable the VPN instance IPv4 address family on each
PE.
5.Establish an MP-IBGP peer relationship between the
PEs.
6.Verify
59 the
Huawei configuration.
Confidential
Contents

1. SRv6 Overview
2. SRv6 Network Programming
3. SRv6 Policy Overview
4. Typical SRv6 Applications
5. Basic SRv6 Configurations
▫ SRv6 BE
 SRv6 Policy

60 Huawei Confidential
L3VPNv4 over SRv6 Policy (1)
AS
100
Loopback0 Loopback0 Loopback0
2001:DB8:1::1/1 2001:DB8:2::2/1 2001:DB8:3::3/1
28 28 28
PE P PE
1 : 2001:DB88:12::/ : : 2001:DB88:23::/ : 2 Configuration roadmap:
1 96 2 2 96 3
1.Configure interface IPv6 addresses and IS-IS.
10.0.14.0/ 10.0.35.0/
(Configuration details are not provided.)
24 24
Loopback Loopback
1 1
2.Establish an MP-BGP peer relationship between PE1
10.1.4.4/3 10.1.5.5/3 and PE2.
CE AS AS CE
2 2
1 65000 65001 2 3.Enable SR and establish an SRv6 Policy on the

Networking requirements: backbone network.


4.Enable the VPN instance IPv4 address family on each
1.Connect PE1 and PE2 to different CEs that belong to
PE and establish an MP-IBGP peer relationship between
VPN instance vpna.
the PEs.
2.Deploy L3VPN service recursion to SRv6 Policies on
5.Configure a tunnel policy and import VPN traffic.
the backbone network to enable CE1 and CE2 to
6.Verify the configuration.
communicate through Loopback1.

61 Huawei Confidential
L3VPNv4 over SRv6 Policy (2)
AS
100 End End End
2001:DB8:1000: 2001:DB8:2000: 2001:DB8:3000: Establish an MP-IBGP peer relationship between the
:111 :222 :333 PEs.
PE P PE [~PE1] bgp 100
1 : 2001:DB88:12::/ : 2 [~PE1-bgp] peer 2001:DB8:3::3 as-number 100
: 2001:DB88:23::/ :
[*PE1-bgp] peer 2001:DB8:3::3 connect-interface loopback 0
1 96 2 2 96 3
[*PE1-bgp] ipv4-family vpnv4
10.0.14.0/ 10.0.35.0/ [*PE1-bgp-af-vpnv4] peer 2001:DB8:3::3 enable
24 24 [*PE1-bgp-af-vpnv4] commit
Loopback Loopback [~PE1-bgp-af-vpnv4] quit
1 1 [~PE1-bgp] quit
10.1.4.4/3 10.1.5.5/3
CE AS AS CE
2 2
1 65000 65001 2 Check the VPNv4 peer relationship on
Configuration roadmap: PE1.
<PE1>display bgp vpnv4 all peer
1.Configure interface IPv6 addresses and IS-IS.
BGP local router ID : 10.0.1.1
(Configuration details are not provided.)
Local AS number : 100
2.Establish an MP-BGP peer relationship between Total number of peers : 1 Peers in established state : 1
PE1 and PE2.
3.Enable SR and establish an SRv6 Policy on the backbone Peer V AS MsgRcvd MsgSent Up/Down State
network.
4.Enable the VPN instance IPv4 address family on each PE 2001:DB8:3::3 4 100 3 4 00:00:04
Established
and establish an MP-IBGP peer relationship between the
PEs.
5.Configure a tunnel policy and import VPN traffic.
6.Verify the configuration.
62 Huawei Confidential
L3VPNv4 over SRv6 Policy (3)
Configure an SRv6 SID. PE1 configurations are as
AS follows: (P and PE2 configurations are not provided.)
100 End End End
2001:DB8:1000: 2001:DB8:2000: 2001:DB8:3000: [~PE1] segment-routing ipv6
:111 :222 :333 [*PE1-segment-routing-ipv6] encapsulation source-address
PE P PE
2001:DB8:1::1
1 : 2001:DB88:12::/ : : 2001:DB88:23::/ : 2
[*PE1-segment-routing-ipv6] locator as1000 ipv6-prefix
1 96 2 2 96 3 2001:DB8:1000:: 64 static 32
10.0.14.0/ 10.0.35.0/ [*PE1-segment-routing-ipv6-locator] opcode ::111 end
24 24 [*PE1-segment-routing-ipv6-locator] quit
Loopback Loopback [*PE1-segment-routing-ipv6] quit
1 1 [*PE1] bgp 100
10.1.4.4/3 10.1.5.5/3 [*PE1-bgp] ipv4-family vpnv4
CE AS AS CE
2 2 [*PE1-bgp-af-vpnv4] peer 2001:DB8:3::3 prefix-sid
1 65000 65001 2 [*PE1-bgp-af-vpnv4] quit
Configuration roadmap: [~PE1-bgp] quit
1.Configure interface IPv6 addresses and IS-IS. [~PE1] isis 1
(Configuration details are not provided.) [~PE1-isis-1] segment-routing ipv6 locator as1000 auto-sid-
2.Establish an MP-BGP peer relationship between PE1 and disable
PE2. [*PE1-isis-1] commit
[~PE1-isis-1] quit
3.Enable SR and establish an SRv6 Policy on the
Manually configure an SRv6 End
backbone network.
SID.
4.Enable the VPN instance IPv4 address family on each PE
and establish an MP-IBGP peer relationship between the
PEs.
5.Configure a tunnel policy and import VPN traffic.
6.Verify
63
the configuration.
Huawei Confidential
L3VPNv4 over SRv6 Policy (4)
Configure an SRv6 Policy. PE1 configurations are as
AS follows: (PE2 configurations are not provided.)
100 End End End
2001:DB8:1000: 2001:DB8:2000: 2001:DB8:3000: [~PE1] segment-routing ipv6
:111 :222 :333 [~PE1-segment-routing-ipv6] segment-list list1
PE P PE [*PE1-segment-routing-ipv6-segment-list-list1] index 5 sid ipv6
1 : 2001:DB88:12::/ : : 2001:DB88:23::/ : 2 2001:DB8:2000::222
1 96 2 2 96 3 [*PE1-segment-routing-ipv6-segment-list-list1] index 10 sid ipv6
2001:DB8:3000::333
10.0.14.0/ 10.0.35.0/
[*PE1-segment-routing-ipv6-segment-list-list1] commit
24 24 [~PE1-segment-routing-ipv6-segment-list-list1] quit
Loopback Loopback
1 1 [~PE1-segment-routing-ipv6] srv6-te-policy locator as1000
10.1.4.4/3 10.1.5.5/3 [*PE1-segment-routing-ipv6] srv6-te policy policy1 endpoint
CE AS AS CE 2001:DB8:3::3 color 101
2 2
1 65000 65001 2 [*PE1-segment-routing-ipv6-policy-policy1] binding-sid
Configuration roadmap: 2001:DB8:1000::100
1.Configure interface IPv6 addresses and IS-IS. [*PE1-segment-routing-ipv6-policy-policy1] candidate-path
preference 100
(Configuration details are not provided.)
[*PE1-segment-routing-ipv6-policy-policy1-path] segment-list
2.Establish an MP-BGP peer relationship between PE1 and list1
PE2. [*PE1-segment-routing-ipv6-policy-policy1-path] commit
3.Enable SR and establish an SRv6 Policy on the [~PE1-segment-routing-ipv6-policy-policy1-path] quit
backbone network. [~PE1-segment-routing-ipv6-policy-policy1] quit
4.Enable the VPN instance IPv4 address family on each [~PE1-segment-routing-ipv6] quit
Specify SRv6 End SIDs for the P and PE2 in
PE and establish an MP-IBGP peer relationship between sequence.
the PEs. Specify the color and endpoint.
5.Configure a tunnel policy and import VPN traffic.
6.Verify
64 the Confidential
Huawei configuration.
L3VPNv4 over SRv6 Policy (5)
AS
100 Enable the VPN instance IPv4 address family on each
End End End
2001:DB8:1000: 2001:DB8:2000: 2001:DB8:3000: PE. PE1 configurations are as follows: (PE2
:111 :222 :333 configurations are not provided.)
PE P PE
1 : 2001:DB88:12::/ : : 2001:DB88:23::/ : 2 [~PE1] ip vpn-instance vpna
1 96 2 2 96 3 [*PE1-vpn-instance-vpna] ipv4-family
10.0.14.0/ 10.0.35.0/ [*PE1-vpn-instance-vpna-af-ipv4] route-distinguisher 100:1
[*PE1-vpn-instance-vpna-af-ipv4] vpn-target 111:1 both
24 24
Loopback Loopback [*PE1-vpn-instance-vpna-af-ipv4] quit
1 1 [*PE1-vpn-instance-vpna] quit
10.1.4.4/3 10.1.5.5/3 [*PE1-bgp] ipv4-family vpn-instance vpna
CE AS AS CE
2 2 [*PE1-bgp-vpna] segment-routing ipv6 traffic-engineer best-effort
1 65000 65001 2 [*PE1-bgp-vpna] segment-routing ipv6 locator as1000
Configuration roadmap: [*PE1-bgp-vpna] commit
1.Configure interface IPv6 addresses and IS-IS. [~PE1-bgp-vpna] quit
(Configuration details are not provided.) [~PE1-bgp] quit
2.Establish an MP-BGP peer relationship between PE1 and
PE2.
3.Enable SR and establish an SRv6 Policy on the backbone
network.
4.Enable the VPN instance IPv4 address family on
each PE and establish an MP-IBGP peer
relationship between the PEs.
5.Configure a tunnel policy and import VPN traffic.
6.Verify
66 the Confidential
Huawei configuration.
L3VPNv4 over SRv6 Policy (6)
AS
100 End End End Configure a tunnel policy and import VPN traffic. PE1
2001:DB8:1000: 2001:DB8:2000: 2001:DB8:3000: configurations are as follows: (PE2 configurations are
PE
:111 :222
P
:333
PE not provided.)
1 : 2001:DB88:12::/ : : 2001:DB88:23::/ : 2 [~PE1] route-policy p1 permit node 10
1 96 2 2 96 3 [*PE1-route-policy] apply extcommunity color 0:101
[*PE1-route-policy] quit
10.0.14.0/ 10.0.35.0/ [*PE1] bgp 100
24 24 [*PE1-bgp] ipv4-family vpnv4
Loopback Loopback
1 1 [*PE1-bgp-af-vpnv4] peer 2001:DB8:3::3 route-policy p1 import
10.1.4.4/3 10.1.5.5/3 [*PE1-bgp-af-vpnv4] quit
CE AS AS CE [*PE1-bgp] quit
2 2
1 65000 65001 2 [*PE1] tunnel-policy p1
Configuration roadmap: [*PE1-tunnel-policy-p1] tunnel select-seq ipv6 srv6-te-policy
load-balance-number 1
1.Configure interface IPv6 addresses and IS-IS.
[*PE1-tunnel-policy-p1] quit
(Configuration details are not provided.) [*PE1] ip vpn-instance vpna
2.Establish an MP-BGP peer relationship between PE1 and [*PE1-vpn-instance-vpna] ipv4-family
PE2. [*PE1-vpn-instance-vpna-af-ipv4] tnl-policy p1
3.Enable SR and establish an SRv6 Policy on the backbone [*PE1-vpn-instance-vpna-af-ipv4] commit
network. [~PE1-vpn-instance-vpna-af-ipv4] quit
[~PE1-vpn-instance-vpna] quit
4.Enable the VPN instance IPv4 address family on each PE
and establish an MP-IBGP peer relationship between the
PEs.
5.Configure a tunnel policy and import VPN traffic.
6.Verify
67 the Confidential
Huawei configuration.
L3VPNv4 over SRv6 Policy (7)
AS
100 Check SRv6 TE Policy information on
End End End
2001:DB8:1000: 2001:DB8:2000: 2001:DB8:3000: PE1.
<PE1>display srv6-te policy
:111 :222 :333 PolicyName : policy1
PE P PE
Color : 101 Endpoint : 2001:DB8:3::3
1 : 2001:DB88:12::/ : : 2001:DB88:23::/ : 2
TunnelId :1 Binding SID :
1 96 2 2 96 3 2001:DB8:1000::100
10.0.14.0/ 10.0.35.0/ TunnelType : SRv6-TE Policy DelayTimerRemain
24 24 :
Loopback Loopback Policy State : Up
1 1 Admin State : UP Traffic Statistics :
10.1.4.4/3 10.1.5.5/3 Disable
CE AS AS CE
2 2 Candidate-path Count : 1
1 65000 65001 2 Candidate-path Preference : 100
Configuration roadmap: Path State : Active Path Type :
1.Configure interface IPv6 addresses and IS-IS. Primary
(Configuration details are not provided.) Protocol-Origin : Configuration(30) Originator : 0,
2.Establish an MP-BGP peer relationship between PE1 and 0.0.0.0
Discriminator : 100 Binding SID :
PE2.
2001:DB8:1000::100
3.Enable SR and establish an SRv6 Policy on the GroupId :1 Policy Name :
backbone network. policy1
4.Enable the VPN instance IPv4 address family on each PE DelayTimerRemain :- Segment-List Count
and establish an MP-IBGP peer relationship between the :1
PEs. Segment-List
Color : list1 SRv6
of the specified
Segment-List ID :1 XcIndex :1
5.Configure a tunnel policy and import VPN traffic. Policy
List State : Up DelayTimerRemain :-
6.Verify
68 the
Huawei configuration.
Confidential Weight :1 BFD State :-
SID :
L3VPNv4 over SRv6 Policy (8)
AS
100 End Check VPNv4 routing information on
End End
2001:DB8:1000: 2001:DB8:2000: 2001:DB8:3000: PE1.
<PE1> display bgp vpnv4 all routing-table 10.1.5.5
:111 :222 :333 BGP local router ID : 10.0.1.1
PE P PE
Local AS number : 100
1 : 2001:DB88:12::/ : : 2001:DB88:23::/ : 2
Total routes of Route Distinguisher(100:1): 1
1 96 2 2 96 3 BGP routing table entry information of 10.1.5.5/32:
10.0.14.0/ 10.0.35.0/ Label information (Received/Applied): 3/NULL
24 24 From: 2001:DB8:3::3 (10.0.13.3)
Loopback Loopback Route Duration: 0d00h03m30s
1 1 Relay IP Nexthop: FE80::DE99:14FF:FE7A:C301
10.1.4.4/3 10.1.5.5/3 Relay IP Out-Interface: GigabitEthernet0/3/0.12
CE AS AS CE
2 2 Relay Tunnel Out-Interface:
1 65000 65001 2 Original nexthop: 2001:DB8:3::3
Configuration roadmap: Qos information : 0x0
1.Configure interface IPv6 addresses and IS-IS. Ext-Community: RT <111 : 1>, Color <0 : 101>
(Configuration details are not provided.) Prefix-sid: 2001:DB8:3000::1:0:1E
2.Establish an MP-BGP peer relationship between PE1 and AS-path 65000, origin incomplete, MED 0, localpref 100, pref-val
PE2. 0, valid, internal, best, select, pre 255, IGP cost 20
Not advertised to any peer yet
3.Enable SR and establish an SRv6 Policy on the
backbone network.
4.Enable the VPN instance IPv4 address family on each PE The route recurses to the
and establish an MP-IBGP peer relationship between the corresponding SRv6 Policy based on
PEs. the color attribute.
5.Configure a tunnel policy and import VPN traffic.
6.Verify
69
the configuration.
Huawei Confidential
L3VPNv4 over SRv6 Policy (9)
Check vpna's routing information on
AS PE1.
100 End <PE1>display ip routing-table vpn-instance vpna 10.1.5.5
End End
verbose
2001:DB8:1000: 2001:DB8:2000: 2001:DB8:3000:
Routing Table : vpna
:111 :222 :333
PE P PE Summary Count : 1
1 : 2001:DB88:12::/ : : 2001:DB88:23::/ : 2 Destination: 10.1.5.5/32
1 96 2 2 96 3 Protocol: IBGP Process ID: 0
Preference: 255 Cost: 0
10.0.14.0/ 10.0.35.0/ NextHop: 2001:DB8:3::3 Neighbour: 2001:DB8:3::3
24 24 State: Active Adv Relied Age: 00h08m38s
Loopback Loopback Tag: 0 Priority: low
1 1 Label: 3 QoSInfo: 0x0
10.1.4.4/3 10.1.5.5/3 IndirectID: 0x1000174 Instance:
CE AS AS CE
2 2 RelayNextHop: :: Interface: policy1
1 65000 65001 2
TunnelID: 0x000000003400000001 Flags: RD
Configuration roadmap:
The outbound interface is
1.Configure interface IPv6 addresses and IS-IS.
an SRv6 Policy interface.
(Configuration details are not provided.)
2.Establish an MP-BGP peer relationship between PE1 and Verify the configuration on
PE2. CE1.
<CE1>ping -a 10.1.4.4 10.1.5.5
3.Enable SR and establish an SRv6 Policy on the PING 10.1.5.5: 56 data bytes, press CTRL_C to break
backbone network. Reply from 10.1.5.5: bytes=56 Sequence=1 ttl=254 time=1
4.Enable the VPN instance IPv4 address family on each PE ms
Reply from 10.1.5.5: bytes=56 Sequence=2 ttl=254 time=1
and establish an MP-IBGP peer relationship between the
ms
PEs. Reply from 10.1.5.5: bytes=56 Sequence=3 ttl=254 time=1
5.Configure a tunnel policy and import VPN traffic. ms
6.Verify
70 the
Huawei configuration.
Confidential Reply from 10.1.5.5: bytes=56 Sequence=4 ttl=254 time=1
ms
Reply from 10.1.5.5: bytes=56 Sequence=5 ttl=254 time=1
Quiz

1. (Short-answer question) An SRv6 SID has 128 bits. What are the three
fields of an SRv6 SID?
2. (Short-answer question) In SIDs corresponding to SRv6 endpoint
behaviors, which types of SIDs are similar to the node segments and
adjacency segments in SR-MPLS?

71 Huawei Confidential
Summary

This course describes the concept of SRv6 network programming, SRv6 instruction sets
(endpoint node behaviors, source node behaviors, and flavors), SRv6 Policy, and basic SRv6
SID configurations on Huawei NetEngine series routers.

Leveraging the programmability of 128-bit IPv6 addresses, SRv6 enriches the network
functions expressed by SRv6 instructions. For example, in addition to identifying an instruction
that can indicate a forwarding path, a network function can identify a VAS device, such as a
firewall, application acceleration gateway, or user gateway. To deploy a new network function,
you only need to define a new instruction, without the need to change the protocol mechanism
or deployment.

SRv6 Policy information is carried by extending new NLRIs based on MP-BGP. The controller
establishes BGP IPv6 SR Policy peer relationships with forwarders to deliver SRv6 Policies to
them.
72 Huawei Confidential
Thank you. 把数字世界带入每个人、每个家庭、
每个组织,构建万物互联的智能世界。
Bring digital to every person, home, and
organization for a fully connected,
intelligent world.

Copyright©2021 Huawei Technologies Co., Ltd.


All Rights Reserved.

The information in this document may contain predictive


statements including, without limitation, statements regarding
the future financial and operating results, future product
portfolio, new technology, etc. There are a number of factors that
could cause actual results and developments to differ materially
from those expressed or implied in the predictive statements.
Therefore, such information is provided for reference purpose
only and constitutes neither an offer nor an acceptance. Huawei
may change the information at any time without notice.

You might also like