Protocol Extension for Network Slicing

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.

Control Plane Extension for Network Slicing

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.

The content of an SRv6 TE Policy is encoded using the new Tunnel-Type TLV in tunnel encapsulation attributes. The format is as follows:
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.

Figure 1 Slice ID sub-TLV

Table 1 describes the fields in the Slice ID sub-TLV.

Table 1 Fields in the Slice ID sub-TLV

Field

Length

Description

Type

8 bits

Type of the sub-TLV. Currently, the value is 126.

Length

8 bits

Length of the sub-TLV.

Flags

8 bits

Flags, which are reserved for future use.

Slice ID

32 bits

Slice ID.

Forwarding Plane Extension for Network Slicing

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.

Figure 2 HBH 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.

Figure 3 Options

Table 2 describes the fields in Options.

Table 2 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:

  1. The first and second most significant bits specify the action to be taken when a node does not support the processing of this option. The values and their meanings are as follows:
    • 00: ignores this option and continues processing the next option.
    • 01: discards the packet.
    • 10: discards the packet and sends an ICMP Parameter Problem message to the source address.
    • 11: discards the packet and, only if the IPv6 destination address of the packet is not a multicast address, sends an ICMP Parameter Problem message to the source address.
  2. The third most significant bit indicates whether the option can be modified during packet forwarding. The value 1 indicates that the option can be modified, and the value 0 indicates that the option cannot be modified.
  3. The remaining five bits are reserved for future use.

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.

Figure 4 Format of an IPv6 packet encapsulated with an HBH header

The HBH header carries the standard header and 32-bit slice ID.

Table 3 describes the fields in an HBH header.

Table 3 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.

Copyright © Huawei Technologies Co., Ltd.
Copyright © Huawei Technologies Co., Ltd.
< Previous topic Next topic >