You are on page 1of 3

IS-IS Segment Routing static adjacency SID

eos.arista.com/eos-4-20-5f/is-is-sr-static-adj-sid

By Przemyslaw Jacak

Contents [hide]

Introduction
Configuration
Status
Troubleshooting
Tracing

Introduction
This feature allows a user to configure adjacency SID for IS-IS adjacencies so that we have
deterministic values of them that would persist after switch restarts.
This feature is extension to IS-IS Segment Routing, core functionality is described in its TOI
document. This feature modifies only SIDs allocation for adjacencies.
Static adjacency SID can be configured per address family on any interface (including Port-
Channel, VLANs and SVIs). They are configured and advertised as labels.

Configuration
Static adjacency SID can be configured at interface configuration level with the command:

[no|default] adjacency-segment <ipv4|ipv6> p2p label <label-value>

Where label-value must be within the SR Local Block (SRLB) that can be found in the output
of show mpls label range command:

Start End Size Usage


------------------------------------------------
0 15 16 reserved
16 99999 99984 static mpls
100000 362143 262144 free (dynamic)
362144 899999 537856 unassigned
900000 965535 65536 isis-sr
900000 965535 65536 bgp-sr
965536 1031071 65536 srlb
1031072 1036287 5216 unassigned
1036288 1048575 12288 l2evpn

Some rules should be taken into account when working with static adjacency SIDs:

The same label can be configured on multiple interfaces so that MPLS can form ECMP,
the same value can be applied to ipv4 and ipv6 adjacency.

1/3
Static adjacency SID applies only to p2p interface and has local scope. When interface
type changes to LAN automatic adjacency SID is used.
Static adjacency SIDs, if configured, simply replace automatic adjacency SIDs which
are advertised to other routers and installed in the local LFIB. Static adjacency SID is
applied regardless of Adjacency Segment Allocation Mode.
When static adjacency SID gets disabled, normal rules for automatic adjacency SID
apply (automatic value is applied based on Adjacency Segment Allocation Mode as
described in IS-IS Segment Routing TOI document).

Status
When static adjacency SID is applied, you can see it in the output of show isis segment-
routing adjacency-segments command, for interface configured like this:

interface Ethernet1
ip address 1.1.1.101/24
isis enable isis1
isis network point-to-point
adjacency-segment ipv4 p2p label 965551
adjacency-segment ipv6 p2p label 965550

This show command will give output like that:

System ID: 1111.1111.1102 Instance: isis2


SR supported Data-plane: MPLS SR Router ID: 1.1.1.102
Adj-SID allocation mode: all-adjacencies
Adj-SID allocation pool: Base: 0 Size: 0
Adjacency Segment Count: 2
Flag Descriptions: F: Ipv6 address family, B: Backup, V: Value
L: Local, S: Set

Segment Status codes: L1 - Level-1 adjacency, L2 - Level-2 adjacency, P2P - Point-to-


Point adjacency, LAN - Broadcast adjacency

Adj IP Address Local Intf Label SID Source Flags Type


------------------- ------------ -------- ------------ --------------------- ------
fe80::1:ff:fe65:0 Et1 965550 Configured F:1 B:0 V:1 L:1 S:0 P2P L2
1.1.1.101 Et1 965551 Configured F:0 B:0 V:1 L:1 S:0 P2P L2

Troubleshooting
First hint about static adjacency SID misconfiguration is part of the output of show isis
segment-routing adjacency-segments like here when label (1000) is outside of SRLB range
and interface is not p2p type:

2/3
! Some of configured Adj-SIDs are not within SRLB Range [965536, 1031071] and
interfaces are not p2p type

System ID: 1111.1111.1102 Instance: isis2


SR supported Data-plane: MPLS SR Router ID: 1.1.1.102
Adj-SID allocation mode: all-adjacencies
Adj-SID allocation pool: Base: 0 Size: 0
Adjacency Segment Count: 0
Flag Descriptions: F: Ipv6 address family, B: Backup, V: Value
L: Local, S: Set

Segment Status codes: L1 - Level-1 adjacency, L2 - Level-2 adjacency, P2P - Point-to-


Point adjacency, LAN - Broadcast adjacency

Adj IP Address Local Intf Label SID Source Flags Type


-------------------- ---------------- ----------- ---------------- ----------- ----

Misconfigured Adj SIDs


Local Intf AF Label Invalid reason
---------------- ---------- ----------- ------------------------
Et3 ipv4 1000 Out of static mpls range
Et3 ipv4 1000 Static Adj-SID is supported only on P2P
interface

Tracing
Some more details can be found in logs.
Disclaimer: In some cases, enabling tracing can seriously impact the performance of the
switch. Please use it cautiously and seek advice from an Arista representative before
enabling this in any production environments.
Use trace Rib enable Rib::Isis-::Sr all command to enable IS-IS SR traces in Rib. These
traces could come handy in understanding events in IS-IS SR.
If you do that you can find logs like those:

2018-03-13 07:47:11.783801 0 00303.612892054, +7401 “SR: ERROR Static Adj-SID 1000 is


not in range [965536, 1031071]”

When label is successfully allocated you should see log entry like that

2018-03-13 07:59:42.741713 6 01054.570804223, +1908571701 “SR: adding adj-SID 965540


to xngb with id 1111.1111.1102.0000”

3/3

You might also like