Nokia Segment Routing Guide 22.11
Nokia Segment Routing Guide 22.11
© 2022 Nokia.
Use subject to Terms available at: [Link]/terms/.
Nokia is committed to diversity and inclusion. We are continuously reviewing our customer
documentation and consulting with standards bodies to ensure that terminology is inclusive and
aligned with the industry. Our future customer documentation will be updated accordingly.
This document includes Nokia proprietary and confidential information, which may not be distributed
or disclosed to any third parties without the prior written consent of Nokia.
This document is intended for use by Nokia’s customers (“You”/”Your”) in connection with a product
purchased or licensed from any company within Nokia Group of Companies. Use this document
as agreed. You agree to notify Nokia of any errors you may find in this document; however, should
you elect to use this document for any purpose(s) for which it is not intended, You understand and
warrant that any determinations You may make or actions You may take will be based upon Your
independent judgment and analysis of the content of this document.
Nokia reserves the right to make changes to this document without notice. At all times, the
controlling version is the one available on Nokia’s site.
Copyright and trademark: Nokia is a registered trademark of Nokia Corporation. Other product
names mentioned in this document may be trademarks of their respective owners.
The registered trademark Linux® is used pursuant to a sublicense from the Linux Foundation, the
exclusive licensee of Linus Torvalds, owner of the mark on a worldwide basis.
© 2022 Nokia.
SEGMENT ROUTING GUIDE RELEASE 22.11 Table of contents
Table of contents
1 About this guide.................................................................................................................................. 5
1.1 Precautionary and information messages...................................................................................5
1.2 Conventions................................................................................................................................. 5
2 What's new........................................................................................................................................... 7
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 Table of contents
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 About this guide
Note:
This manual covers the current release and may also contain some content that will be released
in later maintenance loads. See the SR Linux Release Notes for information on features
supported in each load.
DANGER: Danger warns that the described activity or situation may result in serious personal
injury or death. An electric shock hazard could exist. Before you begin work on this equipment,
be aware of hazards involving electrical circuitry, be familiar with networking environments, and
implement accident prevention procedures.
WARNING: Warning indicates that the described activity or situation may, or will, cause
equipment damage, serious performance problems, or loss of data.
Caution: Caution indicates that the described activity or situation may reduce your component or
system performance.
1.2 Conventions
Nokia SR Linux documentation uses the following command conventions.
• Bold type indicates a command that the user must enter.
• Input and output examples are displayed in Courier text.
• An open right-angle bracket indicates a progression of menu choices or simple command sequence
(often selected from a user interface). Example: start > connect to.
• A vertical bar (|) indicates a mutually exclusive argument.
• Square brackets ([ ]) indicate optional elements.
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 About this guide
• Braces ({ }) indicate a required choice. When braces are contained within square brackets, they indicate
a required choice within an optional element.
• Italic type indicates a variable.
Generic IP addresses are used in examples. Replace these with the appropriate IP addresses used in the
system.
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 What's new
2 What's new
There have been no updates in this document since it was last released.
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 About segment routing
SR-MPLS
When segment routing is instantiated over the MPLS data plane (referred to as SR-MPLS), a SID is
represented by a standard MPLS label or an index that maps to an MPLS label. To route a packet to a
destination, the source router pushes onto the packet one or more MPLS labels representing the required
SIDs. Each subsequent node forwards the packet based on the outer label, removes the outer label, and
forwards the packet to the next segment on the path.
The MPLS data plane requires no modifications to support SR-MPLS.
SR Linux supports SR-MPLS over both IPv4 (SR-MPLS IPv4) and IPv6 (SR-MPLS over IPv6).
Node SID
A prefix SID is a segment type that represents the ECMP-aware shortest path to reach a particular IP
prefix from any IGP topology location. A node SID is a type of prefix SID that identifies a specific node
in the IGP topology using a loopback address as the prefix. When a node SID is included in an MPLS
label stack, it instructs the receiving node to forward the packet to the destination along the ECMP-aware
shortest path determined by the IGP.
You allocate the node SIDs to use in the network in a similar fashion as the loopback IP addresses. Like all
prefix SIDs, node SIDs must be unique within the domain, and are allocated in the form of an MPLS label
(or index). The range of labels available for prefix and node SIDs is defined in the SRGB.
Note: As an alternative, you can also define a node SID under the IS-IS configuration context. In
that case, the node SID is not protocol-independent, but is specific to that IGP. However, in that
case the node SID flag cannot be disabled.
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 About segment routing
It is possible to configure on a single interface an IS-IS node SID and a protocol-independent prefix SID. In
this case, the IS-IS IGP overrides the protocol independent prefix SID configuration, and only the IGP node
SID is advertised.
A protocol-independent prefix SID provides more flexiblity over an IS-IS node SID. If required, you can
override the protocol-independent prefix SID with an IGP node SID.
SRGB
The Segment Routing Global Block (SRGB) defines the range of MPLS labels available for global
segments, such as prefix and node SIDs. The SRGB is defined as one contiguous block of MPLS labels.
Nokia strongly recommends using identical SRGBs on all nodes within the SR domain. The use of identical
SRGBs simplifies troubleshooting because the same MPLS label represents the same prefix or node SID
on each node.
The SRGB configuration is supported on the default network-instance only.
SRLB
While the SRGB defines a range of MPLS labels for global segments, the Segment Routing Label Block
(SRLB) defines a range of MPLS labels for local segments, such as adjacency SIDs. An adjacency SID
is a segment type that represents an instruction to forward packets over a specific (one-hop) adjacency
between two nodes in the IGP.
The SRLB is configurable per IGP protocol instance (on the default network-instance only). It is defined as
one contiguous block of MPLS labels per IGP instance.
SR Linux can support a dynamic SRLB, a static SRLB, or a combination of both.
With a dynamic SRLB, SR Linux dynamically assigns adjacency SIDs as required. With a static SRLB, you
must define the static adjacency SID values manually.
Note: Static adjacency SID configuration is not supported for broadcast interfaces.
See the SR Linux MPLS Guide for more information about MPLS and MPLS labels.
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 About segment routing
The following sections describes the behaviors and limitations of the SR-ISIS TLV and sub-TLVs.
Sub-TLVs Description
SR Capabilities sub-TLV Advertises one SRGB block and data plane capability:
• If the SRGB block is not configured, the entire SR Capabilities sub-
TLV is suppressed.
• SR Linux does not support multiple, discontinuous SRGB blocks.
• I =1 indicates support for IPv4.
• V=1 indicates support for IPv6.
SR Algorithm sub-TLV The algorithm field is set to 0, indicating shortest path first (SPF)
algorithm based on link metric.
(The value is not checked on receive.)
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 About segment routing
R=0 R=0 initially, but his setting can change to R=1 during propagation by
(for prefix SID) other routers.
Algorithm field algorithm 0 Always set to 0 to indicate shortest path first (SPF) algorithm based on
link metric. This field is not checked on a received Prefix SID sub-TLV.
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 About segment routing
• Ignores Prefix SID sub-TLVs received in TLVs 235 and 237 for further processing. They do not appear
in the state representation of the local SID database (only in the LSDB).
• If the local flag is set or the algorithm is not 0, deems a Prefix SID sub-TLV in a received TLV 135 or
TLV‑236 invalid and makes it inactive.
– If the MPLS label value implied by the received Prefix SID sub-TLV falls outside the range of the
SRGB block, deems the node SID invalid and makes it inactive (reason = sid-index-out-of-range).
No forwarding state is created for invalid entries.
• Resolves a Prefix SID sub-TLV received without the N-flag set as long as the prefix length is 32 (for
IPv4) or 128 (for IPv6).
• Does not resolve a Prefix SID sub-TLV received with the N-flag set and a prefix length different than 32
(for IPv4) or 128 (for IPv6).
• Does not resolve a Prefix SID sub-TLV received in TLV 135 or TLV 236 if the L-flag is set.
• Resolves a Prefix SID received within an IP reachability TLV based on the following route preference:
– SID received via L1 in a Prefix SID sub-TLV part of the IP reachability TLV
– SID received via L2 in a Prefix SID sub-TLV part of the IP reachability TLV
• Processes only the first Prefix SID sub-TLV if multiple are received within the same IS-IS IP reachability
TLV.
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 About segment routing
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 About segment routing
V-flag V=1 Value flag. Always set to 1, indicating that the adjacency SID carries a
value.
L-flag L=1 Local flag. Always set to 1, indicating that the adjacency SID has local
significance.
S-flag S=0 Set flag. Always set to zero because assigning adjacency SIDs to
parallel links between neighbors is not supported.
A received adjacency SID with the S-flag set is not processed.
P-Flag P=1 (static) Set to 1 when static adjacency-sid is configured on the interface,
indicating that the adjacency SID allocation is persistent
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 About segment routing
SR-MPLS over IPv4 and SR-MPLS over IPv6 dataplane on 7250 IXR-6/10
• Maximum of one label pushed per packet (corresponding to a remote node SID)
• Maximum of one label popped per packet (corresponding to a local node SID)
• Transit and egress LSR ECMP hashing
• Ingress LSR ECMP hashing
• Prefix/node SID (IPv4/IPv6)
• Adjacency SID (IPv4/IPv6)
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 About segment routing
SR-MPLS OAM
• ICMP tunneling
• RFC 4950 extensions
ICMP tunneling
SR Linux supports ICMP extensions for MPLS to support debugging and tracing in MPLS and SR-MPLS
networks. With ICMP tunneling enabled, ICMP messages can be tunneled to the endpoint of the tunnel
and then returned through IP routing. For more information, see the SR Linux MPLS Guide.
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 SR-MPLS configuration on the
default network-instance
Note: Nokia strongly recommends to use identical SRGBs on all nodes within the SR domain.
Procedure
Step 1. Define a static MPLS label range in the system context.
Step 2. Assign that MPLS label range to be available for use by the SRGB.
Example: Define the MPLS label range for the SRGB
The following example defines static shared MPLS label range srgb-range-1 for the SRGB.
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 SR-MPLS configuration on the
default network-instance
mpls {
global-block {
label-range srgb-range-1
}
}
}
}
Note: As an alternative, you can define a node SID under the IS-IS configuration context. In that
case, the node SID is not protocol-independent, but is specific to that IGP. However, in that case
the node SID flag cannot be disabled.
A single interface can be configured with both an IS-IS node SID and a protocol-independent prefix SID. In
this case, the IS-IS IGP overrides the protocol independent prefix SID configuration, and only the IGP node
SID is advertised.
A protocol-independent prefix SID is typically preferred over an IS-IS node SID because the protocol-
independent prefix SID provides more flexibility. If required, you can override the protocol-independent
prefix SID with an IGP node SID.
Prerequisites
• Configure the primary address of a loopback (loN.n) or system0.0 subinterface with the required node
SID prefix.
Procedure
Step 1. To configure the local prefix SID, you must specify the following:
• The local-prefix SID index (1 to 4).
• The loopback subinterface that owns the advertised prefixes.
• The IPv4 or IPv6 (or both) label index for the SID, referencing the SRGB base, using one of
the following options:
ipv4-label-index | ipv6-label-index
Step 2. Optionally, you can disable the node SID flag on the defined prefix SID, using the following
option:
node-sid {true | false}
If the referenced interface is system0.0, the node SID flag cannot be set to false.
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 SR-MPLS configuration on the
default network-instance
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 SR-MPLS configuration on the IS-
IS instance
Note: The IS-IS node SID configuration is optional if you have already defined a protocol-
independent prefix SID. If both are applied to the same interface, the IS-IS IGP node SID
configuration overrides the protocol-independent prefix SID configuration.
To define the node SID in the IS-IS interface configuration, you must specify an index value that is relative
to the SRGB. In this case, the MPLS label value is calculated as follows:
Local Label (Prefix/Node SID) = SRGB start-label + {SID index}
For example, if the SRGB range starts at 16000, and the index value is 1, the resulting MPLS label value
for the SID is 16001.
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 SR-MPLS configuration on the IS-
IS instance
Procedure
To configure the node SID corresponding to an IPv4 or IPv6 prefix, assign an index value to the loopback
(or system) subinterface in the IS-IS instance.
Example: Configure node SID
The following example adds IPv4 node SID index 1 to loopback subinterface lo0.1.
Note: You can optionally override the dynamic adjacency SID setting for the IS-IS instance
by configuring individual interfaces to use static adjacency SIDs, or to use no adjacency SID
assignment at all. See: Overriding adjacency SID assignment mode on an interface.
Procedure
Step 1. Define a dynamic MPLS label range.
Step 2. Assign that MPLS label range to the SRLB.
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 SR-MPLS configuration on the IS-
IS instance
Example: Define the dynamic MPLS label range for the SRLB
The following example defines a dynamic MPLS label range (srlb-dynamic-1) for use by the
SRLB.
5.2.2 Enabling dynamic adjacency SID assignment for the IS-IS instance
About this task
You can enable dynamic adjacency SID allocation for the network-instance. The default setting is disabled
(false). When enabled, IS-IS assigns a dynamic adjacency SID to all IS-IS interfaces in all levels, except
for interfaces configured at the interface level with an adjacency SID assignment of none or static. You
can also set the hold time that is applied to the dynamically allocated adjacency SIDs.
Procedure
To enable dynamic adjacency SID assignment, in the IS-IS instance configuration set the segment routing
dynamic-adjacency-sids option to: all-interfaces true.
Example: Enable dynamic adjacency SIDs for all interfaces
The following example enables dynamic adjacency SIDs for IS-IS instance sr-isis-1, and sets the
hold-time to 20 seconds.
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 SR-MPLS configuration on the IS-
IS instance
instance sr-isis-1 {
segment-routing {
mpls {
dynamic-adjacency-sids {
all-interfaces true
hold-time 20
}
}
}
}
}
}
}
Note:
• Static adjacency SID configuration is not supported for broadcast interfaces.
• You can optionally override the static adjacency SID setting by configuring individual interfaces
to use dynamic adjacency SIDs. See Overriding adjacency SID assignment mode on an
interface.
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 SR-MPLS configuration on the IS-
IS instance
start-label 14001
end-label 14999
}
}
}
}
5.3.2 Configuring static adjacency SID assignment for the IS-IS instance
About this task
You can configure the IS-IS instance to use static adjacency SID assignment. In this case, IS-IS does not
assigns any dynamic adjacency SIDs to any interfaces.
Procedure
To specify static adjacency SID assignment for all interfaces in the IS-IS instance, set the segment routing
dynamic-adjacency-sids option to all-interfaces false.
Example: Enable static adjacency SIDs for all interfaces
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 SR-MPLS configuration on the IS-
IS instance
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 SR-MPLS configuration on the IS-
IS instance
LAN. In this case, you must also configure a dynamic SRLB to automatically assign the adjacency SIDs
to the dynamic interfaces.
• static
IS-IS does not assigns dynamic adjacency SIDs. Instead, you must statically configure an adjacency
SID for the interface. In this case, you must also configure a static SRLB. This option is not available if
the interface type is broadcast (LAN).
• none
No adjacency SIDs are allocated. If no SR-MPLS traffic is flowing on a particular interface, set the
adjacency SID assignment to none to save resources that the dynamic adjacency SIDs would
otherwise consume.
Procedure
Under the IS-IS interface, set the following segment routing options:
• ipv4-adjacency-sid assignment [static | none | dynamic]
• ipv6-adjacency-sid assignment [static | none | dynamic]
Example: Set IPv4 and IPv6 adjacency SID assignments to static
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 SR-MPLS configuration on the IS-
IS instance
}
}
}
}
}
}
}
}
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 BGP shortcuts configuration over
segment routing tunnels
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 BGP shortcuts configuration over
segment routing tunnels
tunnel-resolution {
mode prefer
allowed-tunnel-types [
sr-isis
]
}
}
}
}
}
}
}
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 Segment routing display
commands
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 Segment routing display
commands
}
prefix-sid 2001:10:20:1::3/128 sid-label-value 3630 protocol isis protocol-
instance 0 protocol-multi-topology 0 algorithm 0 {
active true
}
prefix-sid 2001:10:20:1::4/128 sid-label-value 3640 protocol isis protocol-
instance 0 protocol-multi-topology 0 algorithm 0 {
active true
}
prefix-sid 2001:10:20:1::5/128 sid-label-value 3650 protocol isis protocol-
instance 0 protocol-multi-topology 0 algorithm 0 {
active true
}
prefix-sid 2001:10:20:1::6/128 sid-label-value 3660 protocol isis protocol-
instance 0 protocol-multi-topology 0 algorithm 0 {
active true
}
}
}
}
}
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 Segment routing display
commands
re-advertised true
node-sid true
penultimate-hop-popping true
explicit-null false
local false
}
}
}
}
}
}
}
}
}
}
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 Segment routing display
commands
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 Segment routing display
commands
| | | | | | | |14:19:38.140Z| (mpls) | |
+------------+------+-------+------+---+------+----------+-------------+-----------+-----------------+
------------------------------------------------------------------------------------------------------
5 SR-ISIS tunnels, 5 active, 0 inactive
------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Show report for network instance "default" tunnel table
----------------------------------------------------------------------------------------------------
====================================================================================================
Destination : 2001:10:20:1::6/128
SPACER TEXT
SEGMENT ROUTING GUIDE RELEASE 22.11 Segment routing display
commands
Encapsulation : mpls
Tunnel Type : sr-isis
Metric : 10
Preference : 11
Last Update : 2021-11-10T14:19:43.545Z
FIB Status : active
Next-hops
fe80::201:6ff:feff:4 (mpls) via [ethernet-1/11.1]
pushed MPLS labels : [53660]
===================================================================================================
SPACER TEXT
Customer document and product support
Customer documentation
Customer documentation welcome page
Technical support
Product support portal
Documentation feedback
Customer documentation feedback