No relevant resource is found in the selected language.

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies. Read our privacy policy>Search


To have a better experience, please upgrade your IE browser.


NE40E V800R010C10SPC500 Feature Description - Segment Routing 01

This is NE40E V800R010C10SPC500 Feature Description - Segment Routing
Rate and give feedback:
Huawei uses machine translation combined with human proofreading to translate this document to different languages in order to help you better understand the content of this document. Note: Even the most advanced machine translation cannot match the quality of professional translators. Huawei shall not bear any responsibility for translation accuracy and it is recommended that you refer to the English document (a link for which has been provided).
Segment Routing IPv6 Fundamentals

Segment Routing IPv6 Fundamentals


An IPv6 packet consists of a standard IPv6 header, extended headers (0...n), and payload. To implement Segment Routing IPv6 (SRv6) based on the IPv6 forwarding plane, an IPv6 extension header, called segment routing header (SRH), is added. An SRH specifies an explicit path and stores IPv6 segment list information. The contained IPv6 segment lists function the same as those contained in SR MPLS.

The ingress adds an SRH to an IPv6 packet, and each transit node forwards the packet based on path information carried in the SRH. Figure 3-1 shows the SRH header format.
Figure 3-1 SRH format
Table 3-1 describes the meanings of fields carried in an SRH.
Table 3-1 Meanings of fields in an SRH

Field Name



Next Header

8 bits

Header type following an SRH.

Hdr Ext Len

8 bits

SRH header length. It covers the length from Segment List [0] to Segment List [n].

Routing Type

8 bits

Route header type. Value 4 identifies an SRH type.

Segments Left

8 bits

Number of transit nodes between the existing node and the egress.

Last Entry

8 bits

Index of the last segment in a segment list.


8 bits

Identifiers in a data packet.


16 bits

Same group of packets.

Segment List[n]

128xn bits

Label segment list. A segment list is numbered from the last segment of a path. The Segment List is in the format of an IPv6 address.

Figure 3-2 shows the abstract SRH format.
Figure 3-2 Abstract SRH format
The meaning of each field is as follows:
  • IPv6 Destination Address: IPv6 destination address in a packet. It is also called IPv6 DA. The IPv6 DA is a fixed value in an ordinary IPv6 packet. In SRv6, an IPv6 DA only identifies a next hop of an existing packet and is changeable.
  • <Segment List [0], Segment List [1], Segment List [2],..., Segment List [n]>: SRv6 packet segment list. Similar to an MPLS label stack in SR MPLS, it is generated on the ingress. A segment list is numbered from the last segment on a path. Segment List [0] identifies the last segment of a patch; Segment List [1] path is the penultimate segment of the path; Segment List [n] path of the last n+1st segment, and so on. These lists are pushed into a label stack in a down-top order and numbered in an ascending order.
In SRv6, each time a packet passes through an SRv6 node, the Segments Left (SL) field value decreases by 1, and the IPv6 DA changes. Both the Segments Left and Segments List fields determine IPv6 DA information.
  • If the SL value is n, the IPv6 DA value is equal to the Segments List [n] value.
  • ...
  • If the SL value is 1, the IPv6 DA value is equal to the Segments List [1] value.
  • If the SL value is 0, the IPv6 DA value is equal to the Segments List [0] value.

SRv6 Segment

An SRv6 Segment is a 128-bit number, which is also called an SRv6 SID or SID. A SID is an instantiated IPv6 address that is assigned a unique function. An SRv6 SID identifies a node, a link, an L2VPN or L3VPN, or a service. The SRv6 SID can define any network function.

An SRv6 SID is a network instruction that consists of the locator and function. The locator is responsible for routing and must be unique within an SR domain. The function identifies any function on a device. For example, the function identifies a forwarding action or a service. The SRv6 SID structure facilitates network programming. Figure 3-3 shows the SRv6 SID structure.
Figure 3-3 SRv6 SID
SRv6 SIDs are of various types. Each type of SRv6 SID indicates a specific function. End SID and End.X SID are the most common SRv6 SIDs. An End.DT4 SID stands for an IPv4 VPN. Table 3-2 lists SRv6 segment types.
Table 3-2 SRv6 segment types


Generation Mode




Manually configured.

Endpoint SID, which is used to identify the prefix of a destination address on a network. The End SID is similar to the Prefix Segment in SR MPLS.

An IGP floods the End SID to the other NEs. The End SID is visible globally and takes effect globally.

Figure 3-4


Manually configured.

Endpoint SID of a Layer 3 cross-connection, which is used to identify a link on a network. The End.X SID is similar to Adjacency Segment in SR MPLS.

An IGP floods the End.X SID to the other NEs. The End.X SID visible globally and takes effect locally.

Figure 3-5


Automatically generated path name.

An End.DT4 SID stands for a PE endpoint SID that identifies an IPv4 VPN instance on a network. The forwarding behavior mapped to an End.DT4 SID is to decapsulate packets and searches the routing table of an IPv4 VPN instance for an entry to forward the packets. The End.DT4 SID is an equivalence to an IPv4 VPN label used in L3VPN scenarios.

Figure 3-6
Figure 3-4 End SID
Figure 3-5 End.X SID
Figure 3-6 End.DT4 SID
An SRv6-capable node maintains a local SID table. This table contains all SRv6 segment information generated by the local node. Based on the table, the local node generates an SRv6 forwarding table (FIB). The local SID table provides the following functions:
  • Defines a locally generated SID, for example, End.X SID.
  • Specifies bindings to the SID.
  • Stores related parameters.
Updated: 2019-01-03

Document ID: EDOC1100055048

Views: 6032

Downloads: 69

Average rating:
This Document Applies to these Products
Related Version
Related Documents
Previous Next