In SRv6 network slicing scenarios, slice IDs are essential for connecting the control and forwarding planes. The control and forwarding planes are extended to include slice IDs.
On the control plane, an SRv6 TE Policy is associated with a slice ID. After recursing to an SRv6 TE Policy, a service enters the corresponding slice based on the slice ID of the SRv6 TE Policy.
An SRv6 TE Policy can be statically configured or delivered by a controller through BGP IPv6 SR-Policy extension. In cases of the former, slice IDs are statically configured. In cases of the latter, the controller delivers SRv6 TE Policy routes carrying slice IDs.
The NLRI containing SRv6 TE Policy information is carried in a BGP Update message, which must carry mandatory BGP attributes and can also carry any optional BGP attributes.
SRv6 TE Policy SAFI NLRI: <Distinguisher, Policy Color, Endpoint> Attributes: Tunnel Encaps Attribute (23) Tunnel Type: SRv6 TE Policy Binding SID Preference Priority Policy Name ... Segment List Weight Segment Segment ... Slice ID ...
A slice ID is carried as a new sub-TLV. Figure 1 shows the format of the Slice ID sub-TLV.
Table 1 describes the fields in the Slice ID sub-TLV.
On the forwarding plane, the Hop-by-Hop Options header (HBH header) of an IPv6 packet carries slice ID information to specify the slice over which the packet is carried.
The HBH header is used to carry information that needs to be processed by each device on a forwarding path. It is identified by a Next Header value of 0. Figure 2 shows the header format.
The Value field of an HBH header consists of a series of options that allow this header to carry different types of information. Figure 3 shows TLV-encoded options.
Table 2 describes the fields in Options.
Field |
Length |
Description |
---|---|---|
Option Type |
8 bits |
Type of the current option. The data format in the Option Data field varies according to the option type. The requirements for using the Option Type field are as follows:
All the eight bits are together used as the type identifier value of an option. |
Option Data Len |
8 bits |
Length of the Option Data field of the current option, in octets. |
Option Data |
Variable |
Data of the current option. The length of the HBH header must be an integral multiple of 8 octets. If the data length is insufficient, a padding option can be used. |
The HBH header is also encapsulated between the IPv6 header and SRH on the SRv6 ingress, as shown in Figure 4.
The HBH header carries the standard header and 32-bit slice ID.
Table 3 describes the fields in an HBH header.
Field |
Length |
Description |
---|---|---|
Next Header |
8 bits |
Type of the header immediately following the SRH. |
Hdr Ext Len |
8 bits |
Length of the HBH header. |
Option Type |
8 bits |
Type of the current option. The data format in the Value field varies according to the option type. |
Option Data Len |
8 bits |
Length of the Value field of the current option, in octets. In the HBH header, the length of this field is the total length of the Flags, Reserved, and Slice ID fields, excluding the Padding options field. |
Flags |
8 bits |
Flags of the HBH header. The most significant bit F indicates ForceSlice, which is mainly used in ping, tracert, U-BFD, and SBFD scenarios. In these scenarios, F is set to force packets to be forwarded along the slice path. |
Reserved |
24 bits |
Reserved field. |
Slice ID |
32 bits |
Slice ID, which is essential for connecting the control and forwarding planes. On the forwarding plane, a node searches for the corresponding slice interface based on the slice ID. |
Padding options |
Variable |
Padding options, which are used for 8-octet alignment of packets. |