SR OAM DPM

Load top2.sdn.transport.init.cfg in topology1.

#XR1-11
configure
load top2.sdn.transport.init.cfg
commit replace
y

#IOS-XE
config replace bootflash:top2.sdn.transport.init.cfg

SR-MPLS using ISIS is already configured.

Configure data plane monitoring on XR3 so that all adjacency SIDs and prefix SIDs are tested every 1 minute for correct ingress and egress forwarding. Limit the testing to 20 pps.

Note that this lab requires XRv9000 to fully work properly (at least for XR3).

Answer

#All XR routers
mpls oam

#XR3
mpls oam
 dpm
  pps 20
  interval 1

Explanation

MPLS OAM DPM for SR is a fairly simple mechanism used to detect forwarding issues. DPM stands for data plane monitoring. First the process will perform an Adj-SID check for every Adj-SID of its directly connected neighbors. The router simply sends an LSP Ping with the top label as the Adj-SID for the neighbor’s adjacency with itself.

For example, on the XR3-XR2 link, XR3 sends an LSP ping to XR2 with the top label as XR2’s Adj-SID for that link. This causes XR2 to simply loop the packet back to XR3.

TI-LFA is not enabled, so XR3 only tests the single non-FRR Adj-SID. On XR2, we see that this is 24005:

XR3 sends an LSP ping with label 24005:

XR2 replies to XR3 with a successful result:

We can see the results of the adjacency SID tests using the following command on XR3:

Next, XR3 validates every prefix SID in its RIB. It verifies both the ingress and egress forwarding path in a clever way. It sets the TTL to 2 and sends the LSP Ping “backwards” to an upstream client with the client’s Adj-SID for itself. This causes the LSP Ping to be received inbound to XR3. Then XR3 forwards it egress to a downstream router, and verifies that it gets a successful reply.

For example, XR3 sends an LSP Ping to XR4 with top label as XR4’s Adj-SID with XR3, and then a subsequent label for the prefix SID for 10.0.0.1/32.

XR4 pops the top label and loops this back to XR3:

Now XR3 forwards this to XR1 on vlan 101 after popping the top label:

XR1 sends a successful reply:

This process is iterated for every upstream/downstream combination for every prefix SID. We can see the results using the following show command:

To see the details of the upstream/downstream combinations, we can specify a particular prefix:

DPM is ECMP aware, so in te case that multiple ECMP paths exist, all will be tested. For example, 10.0.0.11/32 is ECMP with two downstream nexthops:

Last updated