IS-IS Control Plane Extensions

The following CLI enables SRv6 in the IS-IS instance and assigns a locator to each algorithm (zero or flexible algorithm).

configure
+--router
+---isis <0..31>
|   +---segment-routing-v6
|   |   +---locator <locator-name>
|   |   |   +--level-capability <level-1|level-2|level-1/2>
|   |   |   +---level <1|2>
|   |   |   |   +---metric <1..16777215>
|   |   |   +---tag <1..4294967295>
|   |   +---shutdown
|   |   |   no shutdown

The IS-IS control plane extensions in support of SRv6 are defined in draft-ietf-lsr-isis-srv6-extensions.

The IS-IS control plane advertises the SRv6 capabilities sub-TLV and the SRv6 Locator TLV. This includes the End function sub-TLV (equivalent to the prefix SID sub-TLV in SR-MPLS) and the End.X function sub-TLV (equivalent to the adjacency SID sub-TLV for a P2P link and a LAN in SR-MPLS).

The weight field in the End.X or LAN End.X sub-TLVs is not filled in on transmit and is ignored on receipt of the link TLV.

Table 1 desribes the supported IS-IS SRv6 TLVs in SR OS.

Table 1. SRv6 IS-IS TLVs

SRv6 TLV/Sub-TLV

Codepoint

IS-IS Context TLV

Description

SR OS Support

SRv6 Capabilities sub-TLV

25

Router CAPABILITY TLV (242)

Indicates SRv6 support

Yes

SR-Algorithm sub-TLV

19

Router CAPABILITY TLV (242)

Indicates base algorithm 0 and Flex-Alogo 128-255 support

Yes

Maximum Segments Left MSD Type sub-TLV

41

Router CAPABILITY TLV (242)

Indicates how deep a node terminating current segment can process the SRH (Segments-Left field) to move the next SID to outer IPv6 header DA field

Yes

(advertised value = 11 SIDs)

Received TLV is displayed in Link State DB but is not used for any purpose.

Maximum End Pop MSD Type sub-TLV

42

Router CAPABILITY TLV (242)

Maximum number of SIDs in a SRH when a node removes SRH (PSP or USP modes of SRH)

Yes

(advertised value = 11 SIDs)

Received TLV is displayed in Link State DB but is not used for any purpose.

Maximum H.Encaps MSD type sub-TLV

44

Router CAPABILITY TLV (242)

Indicates maximum number of SIDs in an SRH a router can push when forwarding a IP or L2 packet over a SRv6 policy

Yes

(advertised value = 1 SID)

Received TLV is displayed in Link State DB but is not used for any purpose.

Maximum End D MSD Type Sub-TLV

45

Router CAPABILITY TLV (242)

Maximum number of SIDs in a SRH when a node removes SRH and performs the End.DX2/4/6 or End.DT4/6 function (USP mode of SRH)

Yes

(advertised value = 8 SIDs)

Received TLV is displayed in Link State DB but is not used for any purpose.

SRv6 Locator TLV

27

Is a top Level IS-IS TLV

Advertises the locator prefix configured on this node to terminate SIDs in algorithm 0 and flex-algo 128-255

Yes

SRv6 End SID sub-TLV

5

SRv6 Locator TLV

Advertises the SID for the endpoint or End function (equivalent of prefix SID sub-TLV in SR-MPLS)

Yes

Prefix Attribute Flags Sub-TLV

4

SRv6 Locator TLV

(also in IP Reach TLV 236)

Provides attributes of a prefix which is leaked between IS-IS levels

Yes

SRv6 End.X SID sub-TLV

43

Top level Extended IS reachability TLV (22)

Advertises the SID for the adjacency over a P2P link (equivalent of adjacency SID sub-TLV for P2P link in SR-MPLS)

Yes

SRv6 LAN End.X SID sub-TLV

44

Top level Extended IS reachability TLV (22)

Advertises the SID for the adjacency over a LAN (equivalent of adjacency SID sub-TLV for LAN in SR-MPLS)

Yes

SRv6 SID Structure Sub-Sub-TLV

5

SRv6 End SID Sub-TLV,

SRv6 End.X SID Sub-TLV,

SRv6 LAN End.X SID Sub-TLV

Provides the length of each field (Block, Locator, Function, and Argument) of the SRv6 SID it is advertised with

No

SR OS does not advertise this sub-sub-TLV. If received from other vendor's implementation, it is not displayed in Link-State database and is also not propagated with the locator TLV.

When both SR-MPLS and SRv6 are enabled on the same IS-IS instance, an MPLS node SID cannot be configured for a prefix of the locator or an End SID. This is because the SRv6 locator subnet cannot be added to a network interface and an MPLS node SID is configurable against a network interface only.

However, both the SRv6 locator route and the SR-MPLS tunnel are programmed if IS-IS receives from a third-party router implementation, a /128 prefix that has both a locator TLV and a prefix SID TLV (with node flag enabled). If the prefix SID is for a subnet larger than /128, only the locator route is programmed and the SR-MPLS tunnel is not.

Each SID function encoded in a SRv6 SID has its own endpoint behavior codepoint as listed in Table 2.

Note: SRv6 standards provide the flexibility to advertise transport and service SIDs in both IS-IS and BGP. In SR OS, the IS-IS control plane only advertises the transport SID functions shown in Table 2 and only uses the transport SID for building the LFA repair tunnels.

SR OS advertises service SID functions in the BGP control plane only as described in BGP Service control plane extensions.

For the SRH processing and removal at the SID termination , the following modes of operation are associated with the termination of the End or End.X SID. These modes are sometimes referred to as SID flavours and IS-IS assigns a unique codepoint for each mode of the same End or End.X SID.

Basic or unflavored mode
The router that terminates an End or End.X SID and the Segments-Left field in the received packet is 0 before decrementing, keeps the SRH in the packet, and processes the packet identified by the next-header in the SRH.Typically, the next-header indicates another SRH and the packet is then forwarded based on the lookup of that next-SID; SR OS does not support this mode.
Ultimate SRH Popping (USP) mode
The egress PE terminates the last End or End.X segment in the outer IPv6 header and then processes the service SID in the SRH. SR OS supports this mode.
Penultimate SRH Popping (PSP) mode
The router that terminates the End or End.X segment before the last in the segment list, meaning the Segments-Left field before decrementing has a value of 1, removes the SRH on behalf of the egress PE. SR OS supports this mode.
PSP&USP mode
This is a combination of both the USP and PSP modes. The router that terminates the End or End.X segment applies the corresponding behavior for value 0 and 1 of the Segments-Left field. SR OS does not support this mode.
Ultimate Segment Decapsulation (USD) mode
This is a variant of the USP in which the node skips the SRH and moves directly to process the next header indicated in the SRH. SR OS does not support this mode.
Table 2. SRv6 SID Function Endpoint Behavior Codepoints

SID Function Endpoint Behavior

Codepoint

RFC 8986

SID Type: End.SID

SID Type: End.X SID

SID Type: LAN End.X SID

Advertising Protocol

Supported

End

(PSP, USP, USD)

1-4, 28-31

Yes

No

No

IS-IS

Yes

IS-IS only {PSP value=2, USP value=3}

End.X

(PSP, USP, USD)

5-8, 32-35

No

Yes

Yes

IS-IS

Yes

IS-IS only {PSP value=6, USP value=7} }

End.T

(PSP, USP, USD)

9-12, 36-39

Yes

No

No

IS-IS

No (1)

End.DX6

16

No

Yes

Yes

BGP or IS-IS

No (1)

End.DX4

17

No

Yes

Yes

BGP or IS-IS

No (1)

End.DT6

18

Yes

No

No

BGP or static

Yes(1)

BGP only.

End.DT4

19

Yes

No

No

BGP or static

Yes(1)

BGP only.

End.DT46

20

Yes

No

No

BGP or static

Yes(1)

BGP only.

End.DX2

21

Yes

No

No

BGP or static

No(1)

BGP only.

Note:
  1. IS-IS saves SID sub-TLVs for endpoint behavior values that it does not support if received from a third-party implementation. However, it only uses End and End.X endpoint behaviors in RLFA and TI-LFA.

    BGP advertises the supported endpoint behaviors End.DT4, End.DT6, End.DT46, and End.DX2 and accepts any behavior codepoint as long as the NLRI type is supported.