From AbarikWiki
Jump to: navigation, search

MPLS Embedded Management

aka MPLS/OAM (Operation and Management)

traceroute mpls

  • Used to check if there exists a MPLS labeled path to a prefix
  • Doesn't work with VPN
  • Uses only one path (in case of multiple equal-cost paths) #Test Load Balancing
  • MPLS#Lab1#Goal4

ping mpls

Ping Working

  • Send ends Echo Request
  • MPLS Ping packet is UDP with dport 3503 containing Router Alert Option
  • Dst IP is always from with IP TTL=1

debug mpls lspv

Display info related to MPLS MPLS Embedded Management

Test Load Balancing

  1. 1

<source lang="html4strict"> ! - R1 - Nw - R2 ! There are 3 equal costs to from R2 ! Load balancing case R2#show mpls forwarding-table 16 Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or VC or Tunnel Id Switched interface 26 28 0 Fa0/0

      27         0             Fa1/0
      27         0             Fa0/1


! Not a Load balancing case R2#show mpls forwarding-table 8 Local Outgoing Prefix Bytes Label Outgoing Next Hop Label Label or VC or Tunnel Id Switched interface 23 Pop Label 0 Fa0/0 R2# </source>

  1. 2
  • Using #ping mpls with #debug mpls lspv enabled and see if pathindex (seen in debug msgs) changes for every ping to different 127.0.0.* loopback (even though loopback don't exist)
    • If pathindex is changing, that indicates that there are multiple paths
    • MPLS#Lab1#Goal9
    • "An ICMP ping or trace follows one path from the originating router to the target router. Round robin load balancing of IP packets from a source router is used to discover the various output paths to the target IP address." #Ref200

no host route

Using command, show mpls discovery

  • This message is seen when loopback used for LDP ID is not /32
  • MPLS#Lab1#Goal5

No Label seen instead of Pop Label

  • Seen in MPLS/Config#LFIB
  • Expected behaviour is that Pop Label should be seen on PHP, for a particular prefix present on neighboring router
  • This is generally seen in case of OSPF loopback being advertised as /32 because of LOOPBACK type (e.i no ip ospf point-to-point configured)
  • MPLS#Lab1#Goal7

LDP Authentication

  • LDP/Config#LDP Authentication
  • If configured after session is up already, the password is not used by looking at MPLS/Config#show mpls ldp neighbor detail command and the Password shows as - stale
  • If password is configured wrong or one side is configured and other side is not, the session will not come up and log message will be seen as %TCP-6-BADAUTH
  • MPLS#Lab1#Goal11

<source lang="html4strict"> R1#show mpls ldp neighbor $NEIGHBOR detail ! include Password ! Its because - "mpls ldp password required" is not configured

! Without password Password: not required, none, in use

! With password configured, but not in use Password: not required, neighbor, stale

! With password in use Password: not required, neighbor, in use </source>

Testing MPLS Traffic

debug mpls packet

  • This will allow user to see what MPLS packets are arriving/leaving the local router with following information: {$LABEL $EXP $NO}
    • $LABEL - Labels
    • $EXP - EXP Value
    • $NO - TODO
  • This command will not show anything on MPLS#Ingress LSR (but it will show packets on egress and intermediate LSRs)
  • MPLS#Lab5#Goal4
  • Example: On the $INT1, MPLS Packet is received with Label L1 as top most label and on $INT2 its being sent with Label L2 as top most label

<source lang="html4strict"> $INT1: {Top Label L1} {Inside Label} ==> {Transport Label} {VPN Label} $INT2: {Top Label L2} {Inside Label} ==> {Transport Label} {VPN Label}

  • May 8 13:07:34.307: MPLS turbo: Fa1/1: rx: Len 64 Stack {17 3 3} - ipv4 data
  • May 8 13:07:34.311: MPLS turbo: Fa1/0: tx: Len 64 Stack {0 3 2} - ipv4 data



Incase of multiple equal-cost paths or load balancing Why does a simple traceroute indicate that multiple paths are used but traceroute mpls ipv4 indicates that only one path is used

Because #MPLS Embedded Management uses round robin fashion, e.i 1 path at a time, whereas normal traffic uses multiple equal paths at same time (#Test Load Balancing)