SR-MPLS configuration on the IS-IS instance

To configure SR-MPLS on an IS-IS instance, you must specify the node SID, define the Segment Routing Label Block (SRLB), and enable SR-MPLS on the IS-IS instance. SR-MPLS is configurable on one IS-IS instance only (on the default network-instance).

Configuring the node SID

  • Configure the primary address of a loopback (loN.n) or system0.0 subinterface with the required node SID prefix, and set the subinterface as an IS-IS interface.

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.

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.

Configure node SID

The following example adds IPv4 node SID index 1 to loopback subinterface lo0.1.

--{ * candidate shared default }--[  ]--
# info network-instance default protocols isis instance sr-isis-1 interface lo0.1
    network-instance default {
        protocols {
            isis {
                instance sr-isis-1 {
                    interface lo0.1 {
                        segment-routing {
                            mpls {
                                ipv4-node-sid {
                                    index 1
                                }
                            }
                        }
                    }
                }
            }
        }
    }

Defining the dynamic SRLB

To enable MPLS segment routing in the single IS-IS instance of the default network-instance, you must configure the IS-IS instance with an SRLB. The SRLB references a dynamic, dedicated (non-shared) label range that must be one contiguous block of labels.

This label block sets aside labels for future use. SR Linux does not actually allocate labels from this block in the current release.

Note: Adjacency SID functionality is not currently supported. However, to enable segment routing on the IS-IS instance, you must configure an SRLB to reserve labels for future use.

To configure the SRLB, you must first define a dynamic MPLS label range. You must then assign that MPLS label range to be available for use by the SRLB.

Define the MPLS label range for the SRLB

The following example defines a dynamic MPLS label range (srlb-dynamic-1) for use by the SRLB.

--{ * candidate shared default }--[ ]--
# info system mpls label-ranges dynamic srlb-dynamic-1
    system {
        mpls {
            label-ranges {
                dynamic srlb-dynamic-1 {
                    start-label 15001
                    end-label 15999
                }
            }
        }
    }

Assign the MPLS label range to the SRLB

The following example assigns the defined MPLS label range (srlb-dynamic-1) to the SRLB.

--{ * candidate shared default }--[ ]--
# info network-instance default protocols isis dynamic-label-block
    network-instance default {
        protocols {
            isis {
                dynamic-label-block srlb-dynamic-1
            }
        }
    }

Enabling SR-MPLS on the IS-IS instance

  • Configure IS-IS as the IGP on the segment routing nodes in your network. See the SR Linux Configuration Basics Guide.
  • Define the dynamic SRLB.

To enable the IS-IS extensions for advertisement of segment routing capabilities, you must enable SR-MPLS on the IS-IS instance.

Enable SR-MPLS

The following example shows the SR-MPLS configuration on IS-IS instance sr-isis-1.

--{ * candidate shared default }--[ ]--
# info network-instance default protocols isis instance sr-is-1 segment-routing mpls
    network-instance default {
        protocols {
            isis {
                instance sr-isis-1 {
                    segment-routing {
                        mpls {
                        }
                    }
                }
            }
        }
    }