Segment Routing OAM Support

This chapter describes how to verify the operation with Segment Routing OAM label switched protocol ping and traceroute (SR OAM LSPV).

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

Restrictions for Segment Routing OAM Support

  • Ping and traceroute does not display proper output over SR-TE tunnels using verbatim path option.

  • Ping and traceroute are unsupported with SR-TE Static auto tunnel, BGP Dynamic TE, and On-demand next hop auto tunnels.

Information About Segment Routing-OAM Support

Segment Routing-OAM Support

The Segment Routing-OAM Support feature provides support for Nil-FEC LSP Ping/Trace functionality. Nil-FEC LSP Ping/Trace functionality support Segment Routing and MPLS Static. It also act as an additional diagnostic tool for all other LSP types. This feature allows operators to provide the ability to freely test any label stack by allowing them to specify the following:
  • label stack

  • outgoing interface

  • nexthop address

In the case of segment routing, each segment nodal label and adjacent label along the routing path is put into the label stack of an echo request message from initiator Label Switch Router (LSR); MPLS data plane forward this packet to the label stack target, and the label stack target reply the echo message back.

LSP Ping Operation for Nil FEC target

The LSP Ping/Traceroute is used in identifying LSP breakages. The nil-fec target type can be used to test the connectivity for a known label stack. Follow the existing LSP ping procedure (for more information, refer MPLS LSP Ping/​Traceroute), with the following modifications:
  • Build the echo request packet with the given label stack;

  • Append explicit null label at the bottom of the label stack;

  • Build echo request FTS TLV with target FEC Nil FEC and label value set to the bottom label of the label stack, which is explicit-null.

How to Diagnose Segment Routing with LSP Ping and Trace Route Nil FEC Target

Use LSP Ping for Nil FEC Target

The Nil-FEC LSP ping and traceroute operation are simply extension of regular MPLS ping and trace route. nil-fec labels <label, label…> is added to the ping mpls command. This command sends an echo request message with MPLS label stack as specified, and add another explicit null at bottom of the stack.

ping mpls
   {{ipv4 <target>/<mask> [fec-type {bgp | generic | ldp}] |
    {pseudowire <peer addr> <vc-id> [segment<segment-number>]} |
    {traffic-eng {<tunnel interface> |
    		    {p2p <sender> <endpoint>
			 <tun-id> <ex-tun-id> <lspid>} |
    		    {p2mp <p2mp-id> <sender>
			  <tun-id><ex-tun-id> <lspid>}} |
    {tp <tunnel-tp interface> lsp <working | protect | active>}} |
    {mldp {p2mp | mp2mp}
		{{ipv4 <source> <group>} |
		 {ipv6 <source> <group>} |
		 {vpnv4 <rd> <source> <group>} |
		 {vpnv6 <rd> <source> <group>} |
		 {hex <opaque type> <opaque value>} |
 		 {mdt <vpnid> <mdt-num>} |
		 {static-id <lsp-identifier>} |
		 {global-id <global-identifier>}}} |
   {nil-fec {labels <comma separated labels>}}
   [repeat <count>]
   [size <size> | sweep <min_size> <max_size> <increment>]
   [timeout <seconds>]
   [interval <milliseconds>]
   [destination <addr_start> [<addr_end> [<addr_incr_mask> | <addr_incr>]]]
   [source <addr>]
   [exp <exp-value>]
   [pad <pattern>]
   [ttl <ttl>]
   [reply [mode [ipv4 | router-alert | no-reply]]
	  [dscp <dscp-bits>]
	  [pad-tlv]]
   [verbose]
   [force-explicit-null]
   [force-disposition ra-label]
   [output {interface <tx-interface>} [nexthop <nexthop ip addr>]]
   [{dsmap | ddmap [l2ecmp]} [hashkey {none | {ipv4 | ipv4-label-set {bitmap <bitmap_size>}}]
   [flags {fec | ttl}]
   [segment {all | <lower-segment-number> [upper-segment-number]}
   [jitter <milliseconds>]
   [responder-id <ip addr> | egress <ipaddr>]
	    NOTE: responder-id for mldp/ egress for p2mp te
   [entropy-label <label-value>]

For more information, refer ping mpls.

Use LSP Traceroute for Nil FEC Target

trace mpls
   {{ipv4 <target>/<mask> [fec-type {bgp | generic | ldp}]} |
    {traffic-eng {<tunnel interface> |
    		    {p2p <sender> <endpoint>
			    <tun-id> <ex-tun-id> <lspid>} |
		    {p2mp <p2mp-id> <sender>
			  <tun-id><ex-tun-id> <lspid>}} |
    {mldp {p2mp | mp2mp}
		{{ip <source> <group>} |
		 {vpn <rd> [<source> <group>]} |
		 {hex <opaque type> <opaque value>} |
 		 {mdt <vpnid> <mdt-num>} |
		 {static-id <lsp-identifier>} |
		 {global-id <global-identifier>}}}
    {pseudowire <next-pe-address> <pwid> [segment
	    <segment-number/lower-segment-number>[<upper-segment-limit>]]} |
    {tp <tunnel-tp interface> lsp <working | protect | active>}} |
   {nil-fec {labels <comma separated labels>}}
   [timeout <seconds>]
   [destination <addr_start> [<addr_end> [<addr_incr_mask> | <addr_incr>]]]
   [source <addr> ]
   [exp <exp-value>]
   [ttl <ttl-max>]
   [reply [mode [ipv4 | router-alert | no-reply]]
	  [dscp <dscp-bits>]
	  [pad-tlv]]
   [force-explicit-null]
   [output {interface <tx-interface>} [nexthop <nexthop ip addr>]]
   [flags {fec | ttl}]
   [entropy-label <label-value>]
   [hashkey ipv4 | ipv4-label-set {bitmap <bitmap_size>}]

For more information, refer to the traceroute mpls.

Example: LSP Ping Nil_FEC Target Support

Node loopback IP address: 1.1.1.3               1.1.1.4                 1.1.1.5                1.1.1.7
Node label:                                      16004                   16005                  16007 
Nodes:                    Arizona --------------- Utah  --------------- Wyoming --------------- Texas
Interface:                     Eth1/0        Eth1/0
Interface IP address:         30.1.1.3      30.1.1.4

SR232-utah#sh mpls forwarding-table
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
16         Pop Label  3333.3333.0000-Et1/0-30.1.1.3   \
                                       0             Et1/0      30.1.1.3
17         Pop Label  5555.5555.5555-Et1/1-90.1.1.5   \
                                       0             Et1/1      90.1.1.5
18         Pop Label  3333.3333.0253-Et0/2-102.102.102.2   \
                                       0             Et0/2      102.102.102.2
19         Pop Label  9.9.9.4/32       0             Et0/2      102.102.102.2
20         Pop Label  1.1.1.5/32       0             Et1/1      90.1.1.5
21         Pop Label  1.1.1.3/32       0             Et1/0      30.1.1.3
22         Pop Label  16.16.16.16/32   0             Et1/0      30.1.1.3
23         Pop Label  16.16.16.17/32   0             Et1/0      30.1.1.3
24         Pop Label  17.17.17.17/32   0             Et1/0      30.1.1.3
25         20         9.9.9.3/32       0             Et1/0      30.1.1.3
26         21         1.1.1.6/32       0             Et1/0      30.1.1.3
27         24         1.1.1.2/32       0             Et1/0      30.1.1.3
           28         1.1.1.2/32       0             Et1/1      90.1.1.5
28         18         1.1.1.7/32       0             Et1/1      90.1.1.5
29         27         9.9.9.7/32       0             Et1/1      90.1.1.5
30         Pop Label  55.1.1.0/24      0             Et1/1      90.1.1.5
31         Pop Label  19.1.1.0/24      0             Et1/0      30.1.1.3
Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop
Label      Label      or Tunnel Id     Switched      interface
32         Pop Label  100.1.1.0/24     0             Et1/0      30.1.1.3
33         Pop Label  100.100.100.0/24 0             Et1/0      30.1.1.3
34         Pop Label  110.1.1.0/24     0             Et1/0      30.1.1.3
35         28         10.1.1.0/24      0             Et1/0      30.1.1.3
36         29         101.101.101.0/24 0             Et1/0      30.1.1.3
37         29         65.1.1.0/24      0             Et1/1      90.1.1.5
38         33         104.104.104.0/24 0             Et1/0      30.1.1.3
           39         104.104.104.0/24 0             Et1/1      90.1.1.5
39         30         103.103.103.0/24 0             Et1/1      90.1.1.5
16005      Pop Label  1.1.1.5/32       1782          Et1/1      90.1.1.5
16006      16006      1.1.1.6/32       0             Et1/0      30.1.1.3
16007      16007      1.1.1.7/32       0             Et1/1      90.1.1.5
16017      16017      17.17.17.17/32   0             Et1/0      30.1.1.3
16250      16250      9.9.9.3/32       0             Et1/0      30.1.1.3
16252      16252      9.9.9.7/32       0             Et1/1      90.1.1.5
16253      Pop Label  9.9.9.4/32       0             Et0/2      102.102.102.2
17000      17000      16.16.16.16/32   0             Et1/0      30.1.1.3
17002      17002      1.1.1.2/32       0             Et1/0      30.1.1.3
           17002      1.1.1.2/32       0             Et1/1      90.1.1.5

SR231-arizona#ping mpls nil-fec labels 16005,16007 output interface ethernet 1/0 nexthop 30.1.1.4 repeat 1
Sending 1, 72-byte MPLS Echos with Nil FEC labels 16005,16007,
     timeout is 2 seconds, send interval is 0 msec:

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.
!
Success rate is 100 percent (1/1), round-trip min/avg/max = 1/1/1 ms
 Total Time Elapsed 0 ms


SR231-arizona#traceroute mpls nil-fec labels 16005,16007 output interface ethernet 1/0 nexthop 30.1.1.4
Tracing MPLS Label Switched Path with Nil FEC labels 16005,16007, timeout is 2 seconds

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 30.1.1.3 MRU 1500 [Labels: 16005/16007/explicit-null Exp: 0/0/0]
L 1 30.1.1.4 MRU 1500 [Labels: implicit-null/16007/explicit-null Exp: 0/0/0] 1 ms
L 2 90.1.1.5 MRU 1500 [Labels: implicit-null/explicit-null Exp: 0/0] 1 ms
! 3 55.1.1.7 1 ms

Additional References for Segment Routing-OAM Support

Related Documents

Related Topic

Document Title

Cisco IOS commands

Cisco IOS Master Commands List, All Releases

Technical Assistance

Description

Link

The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

http:/​/​www.cisco.com/​cisco/​web/​support/​index.html

Feature Information for Segment Routing-OAM Support

The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.
Table 1 Feature Information for Segment Routing-OAM Support

Feature Name

Releases

Feature Information

Segment Routing-OAM Support

Cisco IOS XE Release 3.17 S

The Segment Routing-OAM Support feature provides support for Nil-FEC LSP Ping/Trace functionality.