Skip to content

Establish MPLS Transport Label Distribution via Segment-Routing

Topology

Preparing The Lab

  1. Log into the LabAccess jumpserver:
    1. Type labs, or select Option 97 to get to the Additional Labs menu.
    2. Type or select the option for mesh-topology-evpn-labs in order to get to the EVPN labs.
    3. Type sr in this menu to configure the topology with the necessary prerequisites.

Lab Tasks

  1. With IS-IS in place as the IGP for Loopback reachability, enable IS-IS Segment Routing on EOS1.

    1. First, we must enable MPLS forwarding.

      mpls ip
      
    2. Enable the Segment Routing extensions with IS-IS and assign a router-id based on the router’s Loopback0 address.

      Info

      You will see a notification when setting the router-id. This simply means that if a global router-id is set, it will override this setting. For now, this can be ignored.

      router isis 100
      !
      segment-routing mpls
          router-id 1.1.1.1
          no shutdown
      
    3. Assign a Node Segment-ID, or SID, to the Loopback0 interface based on the EOS node ID.

      Info

      The Node SID is a globally unique and globally significant value, similar in nature to an IP address, that is assigned to each router in the SP network. Traditionally, MPLS labels are locally significant to each router. With the node SID, an MPLS label is advertised that has consistent meaning on each router in the topology.

      interface Loopback0
          node-segment ipv4 index 1
      
    4. Verify local ISIS-SR configuration and MPLS label allocation on EOS1.

      1. Display the configured Node SID and other ISIS-SR information.

        show isis segment-routing prefix-segments self-originated
        
      2. Verify the MPLS label range assigned for use with ISIS-SR.

        Info

        EOS has a default allocation range for each type of MPLS label, which you can view. Of interest here is the isis-sr label range, called the Segment Routing Global Block, or SRGB which must match on all routers in the topology.

        show mpls label ranges
        show isis segment-routing global-blocks
        
        Info

        EOS takes the configured Node SID and adds that to the base value of the SRGB to get the MPLS label associated with router. In this case, EOS1 will be assigned 900,000 (from the SRGB) + 1 (from the configured Node SID Index) or 900,0001 which we will see later.

  2. Repeat the above configuration steps on the other Service Provider nodes (EOS2 - EOS8) while assigning a unique Node SID and router-id to each router based on the EOS ID and Loopback0 IP (i.e. EOS2 will have a Node SID index of 2).

Testing

Now that the ISIS-SR topology is deployed, verify MPLS label advertisement and reachability. These steps can be performed on any of the Service Provider EOS nodes.

  1. Verify that all router Node SIDs are successfully advertised. You should see an entry for each ISIS-SR enabled router.

    show isis segment-routing prefix-segments
    
  2. Now display the tunnel information ISIS-SR will use to inform the data-plane which MPLS labels and interfaces to use to reach the other routers in the topology.

    Info

    An MPLS label value of the 3 represents the implicit-null label, which signifies the destination or endpoint router is adjacent to this node.

    show isis segment-routing tunnel
    
  3. Verify the Adjacency Segment IDs dynamically allocated to interfaces attached to ISIS-SR enabled peers.

    Info

    As mentioned, these labels are dynamically allocated by EOS out of the isis (dynamic) label range. Also note that unlike Node SIDs, Adj. SIDs are only locally significant to the router, so they may overlap between the various nodes in the topology.

    show isis segment-routing adjacency-segments
    
  4. Test MPLS LSP reachability between routers by using MPLS ping and traceroute functions. This example is from EOS1 to EOS8.

    ping mpls segment-routing ip 8.8.8.8/32 source 1.1.1.1
    traceroute mpls segment-routing ip 8.8.8.8/32 source 1.1.1.1
    
Success

Lab Complete!