Checking L2/L3VPN traffic path through SP network (for ECMP)

Answered Question
Jan 12th, 2010
User Badges:

Folks,


Scenario:


CE1-----PE1=====P1=====P2=====PE2-------CE2


Lets say CE1 and CE2 are doing L2VPN and all hops between PE1, P1,P2 and PE2 have more than one equal cost paths (ECMP).


I am trying to ascertain a way of knowing what path the EoMPLS traffic would take inside the SP core.


Some vendors say the way the hashing works is that if a PE finds its got more than one path to the egress PE, it would do hashing based on src/dst MAC and in other cases if a P device finds its got more than one path to egress PE, it would do hashing based on VC-label.


In either case, lets say we know what hashing method the P or PE device is using, obviously we would need an easier method to determine what path a pseudowire would take inside the provider network - Again, some vendors use what is called a "pseudowire traceroute" to determine this path. A pre-requisite of this is that at the time of setting up of the PW, the control word needs to be turned on.


I am looking for more knowledge on whether someone knows how the pseudowire traceroute would work and the process behind the PW traceroute which uses the control word ? more like how we know a normal traceroute works is through UDP pakcets with incremenyting TTL... and so forth


Anyone ??

Correct Answer by Laurent Aubert about 7 years 5 months ago

Hi,


For L3VPN, load-balancing is based on the IP source and destination addresses of the packet to find which path will be chosen you can use the following commands:



On PE:
IP2IP: sh ip cef exact-route
IP2tag: sh ip cef vrf  exact-route

Note: use sh mls cef instead of sh ip cef for 7600 platform

On P (12.0S only) :
tag2tag: sh mpls forwarding-table labels  exact-path ipv4  


For L2PVN, load-balancing is based only on the VC label.



On PE:
show mpls l2transport vc  detail


On P (XR only):

sh mpls forwarding exact-route label  bottom-label


HTH


Laurent.

  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 5 (1 ratings)
Loading.
Giuseppe Larosa Wed, 01/13/2010 - 07:11
User Badges:
  • Super Silver, 17500 points or more
  • Hall of Fame,

    Founding Member

Hello Ulatif,

according to previous posts on this forum cisco devices should use the internal label to decide out which link to send traffic for L2 or L3 VPN traffic.


I wonder if MPLS OAM can be of help for what you would like to achieve


http://www.cisco.com/en/US/docs/switches/metro/catalyst3750m/software/release/12.2_52_se/configuration/guide/swmpls.pdf


Hope to help

Giuseppe

ulatif Wed, 01/13/2010 - 15:08
User Badges:

Hi Giuseppe,


In regards to L2VPN, the only thing that comes close to the OAM feature of interest to me is "ping mpls pseudowire..." which I think invokes VCCV.

However this is fine as far as verifying connectivity goes, but to trace the actual hops that the pseudowire takes through the SP core still remains an issue... what I would be looking for is something similar but instead of ping, a "trace mpls pseudowire ..."??

And if something like that exists, what is the actual underlying process that is used to perform such a trace...?


Giuseppe Larosa Mon, 01/18/2010 - 05:18
User Badges:
  • Super Silver, 17500 points or more
  • Hall of Fame,

    Founding Member

Hello Ulatif,

it looks like that mpls traceroute for a pseudowire is not possible.

Actually the VCCV should be under the implementation of ping mpls and ping mpls pseudowire. The following document is a little old but explains the basic concepts under ping mpls and traceroute mpls.


http://www.cisco.com/en/US/docs/ios/12_0s/feature/guide/gslsppt.html#wp1156080


However, sh mpls l2transport vc detail provides the choice for a specific pseudowire between two parallel paths


see this example from our network:


sh mpls forw 10.80.0.25
Local  Outgoing      Prefix            Bytes Label   Outgoing   Next Hop   
Label  Label or VC   or Tunnel Id      Switched      interface             
21     295           10.80.0.25/32     0             Te1/2      10.82.0.233
       341           10.80.0.25/32     0             Te1/6      10.82.0.237


sh mpls l2transport vc det
Local interface: Te1/7 up, line protocol up, Ethernet up
  Destination address: 10.80.0.25, VC ID: 1, VC status: up
    Output interface: Te1/2, imposed label stack {295 372}
    Preferred path: not configured 
    Default path: active
   Next hop: 10.82.0.233
  Create time: 7w4d, last status change time: 6w4d
  Signaling protocol: LDP, peer 10.80.0.25:0 up
    Targeted Hello: 10.80.0.24(LDP Id) -> 10.80.0.25
    Status TLV support (local/remote)   : enabled/supported
      Label/status state machine        : established, LruRru
      Last local dataplane   status rcvd: no fault
      Last local SSS circuit status rcvd: no fault
      Last local SSS circuit status sent: no fault
      Last local  LDP TLV    status sent: no fault
      Last remote LDP TLV    status rcvd: no fault
    MPLS VC labels: local 1429, remote 372
    Group ID: local 0, remote 0
    MTU: local 9216, remote 9216
    Remote interface description:
  Sequencing: receive disabled, send disabled
  VC statistics:
    packet totals: receive 5172156, send 5361948
    byte totals:   receive 676971483, send 917397631
    packet drops:  receive 0, seq error 0, send 610


This solves the question at source PE or destination PE of the pseudowire but I agree that in the middle in your scenario there are other possible choices of intermediate nodes.

All I can say is that once a path is chosen by source PE it determines a complete path because intermediate nodes will make a choice and keep it.


Hope to help

Giuseppe

Correct Answer
Laurent Aubert Tue, 01/19/2010 - 07:29
User Badges:
  • Cisco Employee,

Hi,


For L3VPN, load-balancing is based on the IP source and destination addresses of the packet to find which path will be chosen you can use the following commands:



On PE:
IP2IP: sh ip cef exact-route
IP2tag: sh ip cef vrf  exact-route

Note: use sh mls cef instead of sh ip cef for 7600 platform

On P (12.0S only) :
tag2tag: sh mpls forwarding-table labels  exact-path ipv4  


For L2PVN, load-balancing is based only on the VC label.



On PE:
show mpls l2transport vc  detail


On P (XR only):

sh mpls forwarding exact-route label  bottom-label


HTH


Laurent.

ulatif Thu, 01/21/2010 - 05:00
User Badges:

Laurent,


That definitely would help but would require user to hop on to every device in the path and run the "cef exact-route" command. I was looking more of a dynamic way like a L2VPN traceroute... ?


Anyway, thanks for your reply it was helpful.



rgds

Usman

Laurent Aubert Thu, 01/21/2010 - 10:05
User Badges:
  • Cisco Employee,

Hi Usman,


These commands will be helpful to find out the results of the hash algorithm in case of load-balancing so you need to use them only on the device which has several path used for load-balancing.


I agree it may end with a different results as the one shown by a LSP traceroute where you specify only the PE loopback address.


HTH


Laurent.

Actions

This Discussion