You need to specify
the fec type specifically when performing the ping or traceroute for the
prefixes which span across IGP boundaries. For example, when a prefix is
redistributed to OSPF from ISIS domain then specify the fec type ISIS. When the
ping or traceroute is performed within the IGP domain then you do not need to
mention fec type explicitly. Provide generic fec type generic when the user
does not know the IGP protocol on the destination node. When SR path type is
not mentioned, default SR path type IP is taken.
The following topology
is an example of a SR path type:
The following ping
commands are used to illustrate SR OAM when the underlying network is OSPF.
As per the above
topology example, at the head end R1, SR-TE tunnel is created with the
destination as R3. The SR-TE tunnel is created with explicit path option to
pass through R6 and R7. The SR-TE path is, R1---R6----R7----R3, when the IP
traffic ingress at R1.
Device#ping mpls ipv4 4.4.4.4/32 fec-type ospf sr-path-type ip verbose
Sending 2, 72-byte MPLS Echos to IGP Prefix SID(OSPF) FEC 5.5.5.5/32,
timeout is 2 seconds, send interval is 0 msec:
Select segment routing IP imposition path.
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
'L' - labeled output interface, 'B' - unlabeled output interface,
'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry,
'P' - no rx intf label prot, 'p' - premature termination of LSP,
'R' - transit router, 'I' - unknown upstream index,
'l' - Label switched with FEC change, 'd' - see DDMAP for return code,
'X' - unknown return code, 'x' - return code 0
Type escape sequence to abort.
! size 72, reply addr 2.4.0.4, return code 3
! size 72, reply addr 2.4.0.4, return code 3
Success rate is 100 percent (2/2), round-trip min/avg/max = 1/1/1 ms
Total Time Elapsed 4 ms
In the same topology,
when the incoming traffic is labeled traffic, then the following two ECMP paths
are chosen for the forwarding:
-
R1---R6----R7----R3
-
R1---R4----R5----R3
Note |
Using the multipath
option, both the paths can be traced for the destination.
|
Device# ping mpls ipv4 4.4.4.4/32 fec-type ospf sr-path-type sid verbose
Sending 1, 72-byte MPLS Echos to IGP Prefix SID(OSPF) FEC 5.5.5.5/32,
timeout is 2 seconds, send interval is 0 msec:
Select segment routing prefix SID path.
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
'L' - labeled output interface, 'B' - unlabeled output interface,
'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry,
'P' - no rx intf label prot, 'p' - premature termination of LSP,
'R' - transit router, 'I' - unknown upstream index,
'l' - Label switched with FEC change, 'd' - see DDMAP for return code,
'X' - unknown return code, 'x' - return code 0
Type escape sequence to abort.
! size 72, reply addr 2.4.0.4, return code 3
Success rate is 100 percent (1/1), round-trip min/avg/max = 1/1/1 ms
Total Time Elapsed 3 ms
The following
traceroute commands display SR OAM when the
underlying network is OSPF.
To trace the IP route
path when the incoming traffic to R1 is the native IP, the below command is
used at the end of R1.
Device#traceroute mpls ipv4 4.4.4.4/32 fec-type ospf sr-path-type ip verbose
Tracing MPLS Label Switched Path to IGP Prefix SID(OSPF) FEC 4.4.4.4/32, timeout is 2 seconds
Select segment routing IP imposition path.
Codes: '!' - success, 'Q' - request not sent, '.' - timeout,
'L' - labeled output interface, 'B' - unlabeled output interface,
'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,
'M' - malformed request, 'm' - unsupported tlvs, 'N' - no label entry,
'P' - no rx intf label prot, 'p' - premature termination of LSP,
'R' - transit router, 'I' - unknown upstream index,
'l' - Label switched with FEC change, 'd' - see DDMAP for return code,
'X' - unknown return code, 'x' - return code 0
Type escape sequence to abort.
0 1.2.0.1 1.2.0.2 MRU 1500 [Labels: 16002/16005 Exp: 0/0], RSC 0
L 1 1.2.0.2 3.3.3.3 MRU 1500 [Labels: 16005 Exp: 0] 2 ms, ret code 8, RSC 0
L 2 3.3.3.3 3.4.0.4 MRU 1500 [Labels: implicit-null Exp: 0] 1 ms, ret code 8, RSC 0
! 3 3.4.0.4 1 ms, ret code 3
Device#traceroute mpls ipv4 4.4.4.4/32 fec-type ospf sr-path-type sid verbose
Device#traceroute mpls multipath ipv4 4.4.4.4/32 fec-type ospf sr-path-type ip verbose
Type escape sequence to abort.
LL!
Path 0 found,
output interface Et0/1 nexthop 1.2.0.2 //path R1-R6-R7-R3
source 1.1.1.1 destination 127.0.0.0
0 1.2.0.1 1.2.0.2 MRU 1500 [Labels: 16666 Exp: 0] multipaths 0
L 1 1.2.0.2 2.4.0.4 MRU 1500 [Labels: 16666 Exp: 0] ret code 8, RSC 0 multipaths 1
L 2 2.4.0.4 4.6.0.6 MRU 1500 [Labels: implicit-null Exp: 0] ret code 8, RSC 0 multipaths 1
! 3 4.6.0.6, ret code 3 multipaths 0
LL!
Path 1 found,
output interface Et0/2 nexthop 1.3.0.3 //path R1-R4-R5-R3
source 1.1.1.1 destination 127.0.0.0
0 1.3.0.1 1.3.0.3 MRU 1500 [Labels: 16666 Exp: 0] multipaths 0
L 1 1.3.0.3 3.4.0.4 MRU 1500 [Labels: 16666 Exp: 0] ret code 8, RSC 0 multipaths 1
L 2 3.4.0.4 4.6.0.6 MRU 1500 [Labels: implicit-null Exp: 0] ret code 8, RSC 0 multipaths 1
! 3 4.6.0.6, ret code 3 multipaths 0
Paths (found/broken/unexplored) (2/0/0)
Echo Request (sent/fail) (6/0)
Echo Reply (received/timeout) (6/0)
Total Time Elapsed 23 ms
Device#traceroute mpls multipath ipv4 4.4.4.4/32 fec-type ospf sr-path-type sid verbose