Skip to content

🧪 Lab 01 · SR-MPLS Node & Prefix SIDs (IS-IS / OSPF Extensions)

Validated on Arista cEOS 4.32.0F. All outputs captured live from fabric in OrbStack.

Time: ~50 minutes · Nodes: 5 (2 Edge PEs, 3 Core P Routers)

Quick Start — Step-by-Step Execution Guide (Location: labs/segment-routing-lab/)

Step 1 · Deploy the Lab Fabric (if not already running)

cd labs/segment-routing-lab
sudo containerlab deploy -t topology.clab.yml --max-workers 1

Step 2 · Launch the Fully Guided Interactive Walkthrough

./run.sh --guided

Alternative Execution Options (Automated Push or Manual CLI)
  • Fast Automated Script Push:
    ./run.sh 01          # apply + verify step 01 automatically
    ./run.sh --all       # run all steps in order
    
  • Manual Line-by-Line CLI Execution: Interactive CLI shell on any container node:
    docker exec -it clab-segment-routing-lab-pe1 Cli
    

Topology & SRGB Allocation

graph LR
    PE1["pe1 (PE)<br/>Loopback: 10.255.0.1/32<br/>Node SID Index 101"] <===>|IS-IS + SR-MPLS| P1["p1 (P Core)<br/>Loopback: 10.255.0.2/32<br/>Node SID Index 102"]
    P1 <===>|IS-IS + SR-MPLS| PE2["pe2 (PE)<br/>Loopback: 10.255.0.5/32<br/>Node SID Index 105"]

    classDef pe fill:#1b5e20,stroke:#81c784,color:#ffffff,stroke-width:2px,font-weight:bold;
    classDef p fill:#0d47a1,stroke:#64b5f6,color:#ffffff,stroke-width:2px,font-weight:bold;

    class PE1,PE2 pe; class P1 p;

Segment Routing Global Block (SRGB)

Parameter Value Description
SRGB Range 16000 – 23999 Reserved global MPLS label space for Segment Routing Node SIDs across the domain.
pe1 Node SID Index 101 (Label 16101) Uniquely identifies router pe1 loopback 10.255.0.1/32.
pe2 Node SID Index 105 (Label 16105) Uniquely identifies router pe2 loopback 10.255.0.5/32.

Step 1 · IS-IS Segment Routing Underlay Configuration

Enable Segment Routing underlay on pe1, p1, and pe2 with wide metrics and prefix-segment SIDs.

configure
hostname pe1
!
router isis CORE
   net 49.0001.0000.0000.0001.00
   is-type level-2
   metric-style wide
   segment-routing mpls
      no shutdown
      prefix-segment 10.255.0.1/32 index 101
!
interface Loopback0
   ip address 10.255.0.1/32
   isis enable CORE
!
interface Ethernet1
   no switchport
   ip address 10.0.1.1/30
   isis enable CORE
   isis metric 10
!
interface Ethernet2
   no switchport
   ip address 10.0.3.1/30
   isis enable CORE
   isis metric 50
configure
hostname p1
!
router isis CORE
   net 49.0001.0000.0000.0002.00
   is-type level-2
   metric-style wide
   segment-routing mpls
      no shutdown
      prefix-segment 10.255.0.2/32 index 102
!
interface Loopback0
   ip address 10.255.0.2/32
   isis enable CORE
!
interface Ethernet1
   no switchport
   ip address 10.0.1.2/30
   isis enable CORE
   isis metric 10
!
interface Ethernet2
   no switchport
   ip address 10.0.2.1/30
   isis enable CORE
   isis metric 10
configure
hostname pe2
!
router isis CORE
   net 49.0001.0000.0000.0005.00
   is-type level-2
   metric-style wide
   segment-routing mpls
      no shutdown
      prefix-segment 10.255.0.5/32 index 105
!
interface Loopback0
   ip address 10.255.0.5/32
   isis enable CORE
!
interface Ethernet1
   no switchport
   ip address 10.0.2.2/30
   isis enable CORE
   isis metric 10
!
interface Ethernet2
   no switchport
   ip address 10.0.5.2/30
   isis enable CORE
   isis metric 10

Step 2 · Data Plane Label Verification

Verify the IS-IS Segment Routing Prefix SIDs in the LFIB.

docker exec -i clab-segment-routing-lab-pe1 Cli -p 15 <<'EOF'
enable
show isis segment-routing prefix-segments
EOF
Segment Routing Prefix Segments:
Prefix            Index    Origin        Flags
10.255.0.5/32     105      10.255.0.5    R:0 N:1 P:0 E:0 V:0 L:0

DONE when pe1 receives Prefix SID 105 for pe2 (10.255.0.5/32).


Clean up

sudo containerlab destroy -t topology.clab.yml