The headend can orchestrate network paths only if SIDs are allocated to adjacencies and nodes on the network.
SRv6 paths are established based on SIDs. These SIDs can be configured manually, or they can be generated dynamically using IS-IS. Use either of the following configuration methods:
ipv6-prefix ipv6-address prefix-length specifies the locator prefix and prefix length.
static static-length specifies the static segment length, which determines the number of static SIDs that can be configured in the locator.
args args-length specifies the argument segment length. Arguments can be used to define flow, service, and other information for packets.
flex-algo flexAlgoId specifies the Flex-Algo associated with the locator. An IGP advertises the locator together with the associated Flex-Algo through the SRv6 Locator TLV. Other nodes calculate locator routes based on constraints defined by the Flex-Algo.
If the no-flavor parameter is specified, SRv6 SIDs carry only the ultimate segment POP of the SRH (USP) flavor.
If the psp parameter is specified, SRv6 SIDs carry only the penultimate segment POP of the SRH (PSP) flavor.
If the psp-usp-usd parameter is specified, SRv6 SIDs carry all the PSP, USP, and ultimate segment decapsulation (USD) flavors. The USD flavor is often used in SRv6 TE Policy scenarios without service SIDs (for example, a scenario where IPv4 public network services without End.DT4 SIDs are redirected to an SRv6 TE Policy). When the packets of such services are forwarded to the device identified by the last SID and the SID is an SRv6 SID carrying the USD flavor, the device can properly decapsulate the packets.
The functions of the no-flavor, psp, and psp-usp-usd parameters are the same as those in the opcode end command described in the previous step.
interface interface-name can be used to configure a GRE tunnel interface.
Exit the Segment Routing IPv6 locator view.
A delay in delivering a static End.X SID to an FES table is configured.
The timer end-x update-delay command is mainly used in scenarios where the outbound interface associated with a static End.X SID changes from down to up and IS-IS routes reconverge.
Exit the SRv6 view.
The IS-IS view is displayed.
IPv6 is enabled for the IS-IS process.
IS-IS wide metric is configured.
IS-IS SRv6 is enabled.
The configuration is committed.
ipv6-prefix ipv6-address prefix-length specifies the locator prefix and prefix length.
static static-length specifies the static segment length, which determines the number of static SIDs that can be configured in the locator.
args args-length specifies the argument segment length. Arguments can be used to define flow, service, and other information for packets.
flex-algo flexAlgoId specifies the Flex-Algo associated with the locator. An IGP advertises the locator together with the associated Flex-Algo through the SRv6 Locator TLV. Other nodes calculate locator routes based on constraints defined by the Flex-Algo.
Exit the Segment Routing IPv6 locator view.
Exit the SRv6 view.
The IS-IS view is displayed.
IPv6 is enabled for the IS-IS process.
IS-IS wide metric is configured.
IS-IS SRv6 is enabled.
The configuration is committed.
SRv6 paths are established based on SIDs. These SIDs can be configured manually, or they can be generated dynamically using IS-IS. Use either of the following configuration methods:
ipv6-prefix ipv6-address prefix-length specifies the locator prefix and prefix length.
static static-length specifies the static segment length, which determines the number of static SIDs that can be configured in the locator.
args args-length specifies the argument segment length. Arguments can be used to define flow, service, and other information for packets.
flex-algo flexAlgoId specifies the Flex-Algo associated with the locator. An IGP advertises the locator together with the associated Flex-Algo through the SRv6 Locator TLV. Other nodes calculate locator routes based on constraints defined by the Flex-Algo.
compress block block-length specifies a block length. The NodeID length is obtained by subtracting block-length from prefix-length.
To implement SRv6 SRH compression, an SRv6 SID needs to be divided using the Locator:Compression Function:Non-compression Function:Args format. For this format:
The Locator field is divided into the Block and NodeID parts. The Block part indicates the address space of an SRv6 domain, in which different nodes typically have the same block. The NodeID part uniquely identifies a node in an SRv6 domain.
The Function field is divided into the Compression Function and Non-compression Function parts. The NodeID and Compression Function parts form a 32-bit generalized SID (G-SID). The Compression Function part is divided into the Compression Dynamic segment and Compression Static segment. When configuring SRv6 SRH compression, you can use the compress-static compress-length parameter to specify the length of the Compression Static segment to determine the range of compression static opcodes that can be configured in the corresponding locator. During SRv6 SRH compression, an IGP dynamically allocates opcodes outside the range of the Compression Function part's Compression Static segment to ensure that no SRv6 SID conflict occurs. The Non-compression Function part also consists of a dynamic opcode segment and a static opcode segment, with the ranges of the segments changed.
The relationship between the preceding fields is expressed as follows:
|-Block-|-NodeID-|-Compression Dynamic-|-Compression Static-|-Dynamic-|-Static-|-Args-|
The command carries the compress parameter, indicating that an opcode with the compression function is manually configured. The NodeID and opcode form a 32-bit G-SID.
If the no-flavor parameter is specified, SRv6 SIDs carry only the USP flavor.
If the psp parameter is specified, SRv6 SIDs carry only the PSP flavor.
If the psp-usp-usd parameter is specified, SRv6 SIDs carry all the PSP, USP, and USD flavors. The USD flavor is often used in SRv6 TE Policy scenarios without service SIDs (for example, a scenario where IPv4 public network services without End.DT4 SIDs are redirected to an SRv6 TE Policy). When the packets of such services are forwarded to the device identified by the last SID and the SID is an SRv6 SID carrying the USD flavor, the device can properly decapsulate the packets.
If the psp-usp-usd-coc parameter is specified, SRv6 SIDs carry all the PSP, USP, USD, and continuation of compression (COC) flavors. COC is a new flavor related to compressed SIDs (C-SIDs). It is installed in the local SID table to identify whether the current C-SID is the last C-SID of the current block.
The functions of the no-flavor, psp, psp-usp-usd, and psp-usp-usd-coc parameters are the same as those in the opcode compress end command described in the previous step.
interface interface-name can be used to configure a GRE tunnel interface.
Exit the Segment Routing IPv6 locator view.
A delay in delivering a static End.X SID to an FES table is configured.
The timer end-x update-delay command is mainly used in scenarios where the outbound interface associated with a static End.X SID changes from down to up and IS-IS routes reconverge.
Exit the SRv6 view.
The IS-IS view is displayed.
IPv6 is enabled for the IS-IS process.
IS-IS wide metric is configured.
IS-IS SRv6 is enabled.
The configuration is committed.
ipv6-prefix ipv6-address prefix-length specifies the locator prefix and prefix length.
static static-length specifies the static segment length, which determines the number of static SIDs that can be configured in the locator.
args args-length specifies the argument segment length. Arguments can be used to define flow, service, and other information for packets.
flex-algo flexAlgoId specifies the Flex-Algo associated with the locator. An IGP advertises the locator together with the associated Flex-Algo through the SRv6 Locator TLV. Other nodes calculate locator routes based on constraints defined by the Flex-Algo.
compress block block-length specifies a block length. The NodeID length is obtained by subtracting block-length from prefix-length.
To implement SRv6 SRH compression, an SRv6 SID needs to be divided using the Locator:Compression Function:Non-compression Function:Args format. For this format:
The Locator field is divided into the Block and NodeID parts. The Block part indicates the address space of an SRv6 domain, in which different nodes typically have the same block. The NodeID part uniquely identifies a node in an SRv6 domain.
The Function field is divided into the Compression Function and Non-compression Function parts. The NodeID and Compression Function parts form a 32-bit generalized SID (G-SID). The Compression Function part is divided into the Compression Dynamic segment and Compression Static segment. When configuring SRv6 SRH compression, you can use the compress-static compress-length parameter to specify the length of the Compression Static segment to determine the range of compression static opcodes that can be configured in the corresponding locator. During SRv6 SRH compression, an IGP dynamically allocates opcodes outside the range of the Compression Function part's Compression Static segment to ensure that no SRv6 SID conflict occurs. The Non-compression Function part also consists of a dynamic opcode segment and a static opcode segment, with the ranges of the segments changed.
The relationship between the preceding fields is expressed as follows:
|-Block-|-NodeID-|-Compression Dynamic-|-Compression Static-|-Dynamic-|-Static-|-Args-|
Exit the Segment Routing IPv6 locator view.
Exit the SRv6 view.
The IS-IS view is displayed.
IPv6 is enabled for the IS-IS process.
IS-IS wide metric is configured.
IS-IS SRv6 is enabled.
The configuration is committed.