How to test Segment routing path via traceroute
We will be using the below topology and configuration for our testing:
Topology:
Focus is on router1 to router4 reachability via loopback [SR-TE is being sourced from router1's loopback and destined towards router4's loopback]:
Shortest IGP Path: router1 router2 router4
SR-TE PATH: router1 router2 router3 router4
Loopback addresses
router1 - 10.10.3.135
router2 - 10.10.3.130
router3 - 10.10.3.131
router4 - 10.10.3.132
A snippet of the configuration for reference:
set groups TEST-SR-TE protocols isis traffic-engineering l3-unicast-topology
set groups TEST-SR-TE protocols source-packet-routing segment-list SL-router01-to-router02-P-01 hop1 label 201401
set groups TEST-SR-TE protocols source-packet-routing segment-list SL-router01-to-router02-P-01 hop2 label 201101
set groups TEST-SR-TE protocols source-packet-routing segment-list SL-router01-to-router02-P-01 hop3 label 201202
set groups TEST-SR-TE protocols source-packet-routing source-routing-path PATH-router01-to-router02-IP-01 primary SL-router01-to-router02-P-01
root@router1# run show isis adjacency detail
router2
Interface: xe-1/1/6.0, Level: 2, State: Up, Expires in 23 secs
Priority: 0, Up/Down transitions: 1, Last transition: 6d 09:07:04 ago
Circuit type: 2, Speaks: IP, IPv6
Topologies: Unicast
Restart capable: Yes, Adjacency advertisement: Advertise
IP addresses: 10.10.16.12
Level 2 IPv4 protected Adj-SID: 201401, Flags: -BVL-P
Level 2 IPv4 unprotected Adj-SID: 200401, Flags: --VL-P
Trace route to a remote host for a segment routing label-switched path added by segment routing traffic-engineered (SPRING-TE) tunnel. Use traceroute mpls segment-routing spring-te as a debugging tool to locate MPLS label-switched path forwarding issues in a network. Here is a snippet of the output for the above example config/set-up:
traceroute mpls segment-routing spring-te
root@router1# run show route table inet.3
inet.3: 3 destinations, 4 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.10.3.130/32 *[L-ISIS/14] 2d 08:05:52, metric 200
> to 10.10.16.12 via xe-1/1/6.0
10.10.3.131/32 *[L-ISIS/14] 2d 08:05:52, metric 400
> to 10.10.16.12 via xe-1/1/6.0, Push 401011
10.10.3.132/32 *[SPRING-TE/8] 00:01:15, metric 1, metric2 400
> to 10.10.16.12 via xe-1/1/6.0, Push 201202, Push 201101(top)
[L-ISIS/14] 2d 08:05:52, metric 400
> to 10.10.16.12 via xe-1/1/6.0, Push 401012
root@router1# run show spring-traffic-engineering lsp detail
Name: PATH-router01-to-router02-IP-01
Tunnel-source: Static configuration
To: 10.10.3.132
State: Up
Path: SL-router01-to-router02-P-01
Outgoing interface: NA
Auto-translate status: Disabled Auto-translate result: N/A
Compute Status:Disabled , Compute Result:N/A , Compute-Profile Name:N/A
BFD status: N/A BFD name: N/A
ERO Valid: true
SR-ERO hop count: 3
Hop 1 (Strict):
NAI: None
SID type: 20-bit label, Value: 201401
Hop 2 (Strict):
SID type: 20-bit label, Value: 201101
Hop 3 (Strict):
SID type: 20-bit label, Value: 201202
Total displayed LSPs: 1 (Up: 1, Down: 0)
root@router1# run traceroute mpls segment-routing spring-te source-routing-path PATH-router01-to-router02-IP-01
Probe options: retries 3, exp 7
ttl Label Protocol Address Previous Hop Probe Status
1 201101 ISIS 10.10.16.12 (null) Egress
FEC-Stack-Sent: ISIS,ISIS,ISIS FEC-Change-Recieved: POP-ISIS
1 201101 ISIS 10.10.16.12 (null) Success
FEC-Stack-Sent: ISIS,ISIS
ttl Label Protocol Address Previous Hop Probe Status --> where 10.10.16.7 is the directly connected link [router2 router3] ip on router3 towards router2
1 3 ISIS 10.10.16.7 10.10.16.12 Egress
FEC-Stack-Sent: ISIS,ISIS FEC-Change-Recieved: POP-ISIS
1 3 ISIS 10.10.16.7 10.10.16.12 Success
FEC-Stack-Sent: ISIS
ttl Label Protocol Address Previous Hop Probe Status --> where 10.10.16.1 is the directly connected link [router3 router4] ip on router4 towards router3
2 3 ISIS 10.10.16.1 10.10.16.7 Egress
Path 1 via xe-1/1/6.0 destination 192.168.0.64
root@router1# run traceroute mpls segment-routing spring-te source-routing-path PATH-router01-to-router02-IP-01 segment-list SL-router01-to-router02-P-01 detail
Hop 10.10.16.12 Depth 1
Probe status: Egress
Parent: (null)
Return code: Egress-ok at stack-depth 1
Response time: 3697.97 msec
MTU: Unknown
Multipath type: IP bitmask
Address Range 1: 192.168.0.64 ~ 192.168.0.127
Label Stack:
Label 1 Value 201101 Protocol ISIS
Label 2 Value 201202 Protocol Unknown
FEC-Stack-Sent: ISIS,ISIS,ISIS
FEC-Change-Recieved: POP-ISIS
Probe status: Success
Return code: Label switched at stack-depth 1
Response time: 142691.70 msec
Hop 10.10.16.7 Depth 1
Parent: 10.10.16.12
Response time: 7099.58 msec
MTU: 9500
Label 1 Value 3 Protocol ISIS
Response time: 106089.99 msec
Hop 10.10.16.1 Depth 2
Parent: 10.10.16.7
Response time: 2594.16 msec
Check out the document link below for more details on traceroute mpls segment-routing spring-te:
https://www.juniper.net/documentation/us/en/software/junos/cli-reference/topics/ref/command/traceroute-mpls-segment-routing-spring-te.html