Download PDF
Home

1. Introduction

Segment Routing (SR) allows for a flexible definition of end-to-end paths within IGP topologies by encoding paths as sequences of topological sub-paths, called "segments". These “segments” need to be advertised by a routing protocol such as IS-IS. Prefix segments represent a shortest-path to a prefix (or a node), as per the state of the IGP topology. Adjacency segments represent a hop over a specific adjacency between two nodes in the IGP.

1.1. Supported Hardware

  • Edgecore AS5916-XKS

  • RBFS Virtual Service Router

1.2. Guidelines and Limitations

  • Support only Prefix SID with Node Flag, that is, SID can be configured only on Loopback interfaces.

  • Support only for configuration of single SRGB block.

1.3. Prerequisites

  • All the nodes in the network are SR enabled. So, if the intermediate router has no SR enabled, the previous SR-enabled router will not install SID for that node. So, the path can be incomplete.

1.4. System Overview

This section shows the interaction of this ISIS-SR feature with various daemons in RBFS. The figure below shows the interaction on with respect to this feature.

CONFD

Confd is RBFS configuration daemon. It stores ISIS SR configurations. ISIS IOD and ISIS APPD daemons subscribes for the following configuration:

  • ISIS SR enable/disable information.

  • Global SRGB configuration.

  • Segment Index for loopback interfaces.

HALD

ISIS IOD interacts with HALD to send and receive ISIS packets. All ISIS SR related information is sent and received from other routers through HALD.

FWDD

ISIS APPD interacts with FWDD to download the SR routes. FWDD subscribes labeled unicast table with ISIS APPD.

2. Configuring Segment Routing for IS-IS Protocol

Segment routing on the IS-IS control plane supports the following:

  • IPv4 control plane

  • Level 1 and level 2 routing

  • Prefix SIDs for host prefixes on loopback interfaces

To configure segment routing for the IS-IS protocol, perform the following steps:

  1. Enter into the IS-IS default instance mode, and enable IS-IS routing for the specified routing instance.

    root@is-is-router:confd> edit instance red
    [ instance red ]
    root@is-is-router:confd> edit protocol isis
    [ instance red protocol isis ]
  2. Enter into the IS-IS configuration mode.

    root@rtbrick:confd> edit instance protocol isis
    [ instance protocol isis ]
  3. Configure SRGB (base label and range).

    [ instance protocol isis ]
    set segment-routing srgb start-label <base-value> index-range <range-value>
  4. Configure index (either ipv4 or ipv6) on an interface.

    [ instance protocol isis ]
    set interface <ifl-name> segment-routing <ipv4 | ipv6> index <sid-value>

For more information about the configuration and show commands, see the chapters below.

3. Configuration Commands

3.1. Instance Level Commands

  • srgb start-label

3.1.1. srgb start-label

This command assigns a segment routing SRGB global block.

Syntax

set instance protocol isis segment-routing srgb start-label <base-value> index-range <range-value>

Command arguments

<base-value>

SRGB Start Label

<index-range>

SRGB range value

Command modes
[instance protocol isis]
Example

The following example shows how to configure SRGB with start-label 5000 and index-range 100. The start label of the label block is 5000 and the end of the label block is 5099.

Note The SRGB label values 0 to 15 are reserved.
[ ]
root@rtbrick:confd> edit instance protocol isis

[ instance protocol isis ]
root@rtbrick:confd> set segment-routing start-label 5000 index-range 100

To delete the operation that you performed, enter the following command:

delete instance isisvrf protocol isis segment-routing srgb

3.2. Interface Level Commands

  • segment-routing index

3.2.1. segment-routing index

This command assigns a label from the configured global SRGB range for address assigned to this interface.

Syntax

set instance protocol isis interface <ifl-name> segment-routing <ipv4 | ipv6> index <sid-value>

Command arguments

<ifl-name>

Interface name

<ipv4 | ipv6>

Specifies ipv4 or ipv6 address family

<sid-value>

Segment routing index from the SRGB range assigned to this interface

Command modes
[instance protocol isis]
[instance protocol isis interface <ifl-name>]
Example
[ ]
root@rtbrick:confd> edit instance protocol isis
[ instance protocol isis ]
root@rtbrick:confd> edit interface lo-0/0/0/1/0

[ instance protocol isis interface lo-0/0/0/1/0]
root@rtbrick:confd> set segment-routing ipv4 index 100

To delete the operation that you performed, enter the following command:

delete instance protocol isis interface <ifl-name> segment-routing <ipv4 | ipv6> index

4. Show Commands

  • show isis overview

  • show isis route

4.1. show isis overview

You can use this command to view the IS-IS SRGB-related information.

Syntax

show isis overview

Example
ubuntu@blr:~$ rtb isis.iod.1 show  isis overview
Instance: default
  System-ID: 1921.6800.1002, Areas: 49.0001/24
  SRGB start-label: 100, index-range: 100
  Neighbor Hold Time: 30000ms, LSP Lifetime Interval: 65535ms
  System OverLoad: false, System OverLoad Timeout: 60000ms
  Current Up Neighbors Count : 2, Neighbors Flap Count : 0
ubuntu@blr:~$

4.2. show isis route

This command displays all the labelled unicast (SR) prefixes for the IPv4 Address Family Identifiers (AFI).

Syntax

show isis route instance <instance-name> <afi> <safi>

Command arguments

<instance-name>

Name of the instance

<afi>

IPv4 Address Family Identifier (AFI)

<safi>

Subsequent address family identifier (unicast | labeled-unicast | multicast)

Command modes
rtb isis.appd
Example
ubuntu@blr:~/development/libisis$ rtb isis.appd.1 show isis route instance default ipv4 unicast
Table: default.isis.fib-local.ipv4.unicast
 Prefix                  Metric Nexthop
 12.1.1.0/24                 10 via local
 23.1.1.0/24                 10 via local
 2.2.2.2/32                  10 via local
ubuntu@blr:~/development/libisis$

4.3. show isis database

This command displays the entries in the IS-IS link-state database.

Syntax

show isis database <level 1|2> detail

show isis database instance <instance name>

Command arguments

<level 1|2>

Displays the IS-IS link-state database entries for the specified IS-IS level

<instance name>

Displays the IS-IS link-state database entries for the specified instance

Example
ubuntu@blr:~/development/libisis$ rtb isis.iod.1 show  isis database detail
 1921.6800.1001.00-00, Instance: default, Level: 1
  Sequence no: 0x3, Checksum: 0x8, Remaining Lifetime: 65534ms
  Attached bit: 0, Overload bit: 0
  Last received time: 2019-12-10T14:45:15.610799+0530
  Expiry time: expires in 17h 58m 4s 672416us
    Supported Protocols:
      Protocol supported: IPv6
      Protocol supported: IPv4
    Neighbor List:
      Node ID: 1921.6800.1002.00, Metric: 10
    IPv4 Prefix List:
      Prefix: 12.1.1.0/24, Metric: 10
      Prefix: 1.1.1.1/32, Metric: 10
    IPv6 Prefix List:
    SRGB List:
 1921.6800.1003.00-00, Instance: default, Level: 1
  Sequence no: 0x3, Checksum: 0xd, Remaining Lifetime: 65534ms
  Attached bit: 0, Overload bit: 0
  Last received time: 2019-12-10T14:45:15.610884+0530
  Expiry time: expires in 17h 58m 4s 671564us
    Supported Protocols:
      Protocol supported: IPv6
      Protocol supported: IPv4
    Neighbor List:
      Node ID: 1921.6800.1002.00, Metric: 10
    IPv4 Prefix List:
      Prefix: 23.1.1.0/24, Metric: 10
      Prefix: 3.3.3.3/32, Metric: 10
    IPv6 Prefix List:
    SRGB List:
 1921.6800.1002.00-00, Instance: default, Level: 1
  Sequence no: 0x5, Checksum: 0xb, Remaining Lifetime: 65535ms
  Attached bit: 0, Overload bit: 0
  Last received time: 2019-12-10T14:47:07.340859+0530
  Expiry time: expires in 17h 59m 57s 400741us
    Supported Protocols:
      Protocol supported: IPv6
      Protocol supported: IPv4
    Neighbor List:
      Node ID: 1921.6800.1001.00, Metric: 10
      Node ID: 1921.6800.1003.00, Metric: 10
    IPv4 Prefix List:
      Prefix: 12.1.1.0/24, Metric: 10
      Prefix: 23.1.1.0/24, Metric: 10
      Prefix: 2.2.2.2/32, Metric: 10, Segment-Index: 10, Flags: Node
    IPv6 Prefix List:
    SRGB List:
      SRGB start-label: 100, index-range: 100

©Copyright 2020 RtBrick, Inc. All rights reserved. The information contained herein is subject to change without notice. The trademarks, logos and service marks ("Marks") displayed in this documentation are the property of RtBrick in the United States and other countries. Use of the Marks are subject to RtBrick’s Term of Use Policy, available at https://www.rtbrick.com/privacy. Use of marks belonging to other parties is for informational purposes only.