[c-nsp] How does the egress PE determine which VRF the VPN label is for?

Rodney Dunn rodunn at cisco.com
Wed Sep 24 10:45:09 EDT 2008


On Wed, Sep 24, 2008 at 11:17:27AM +1000, Andy Saykao wrote:
> Argh  cool. Thanks for that explaination Rodney.
> 
> You wrote: "based on the local VPN label allocated for either all
> connected or that specific route. A table is maintained to map them. "
> 
> Is there a command to view this "table" to check the mappings or is this
> something internal to the PE router?

sh mpls for 
sh ip bgp 

for the global and VRF.

Rodney

> 
> Thanks.
> 
> Andy
>  
> 
> -----Original Message-----
> From: Rodney Dunn [mailto:rodunn at cisco.com] 
> Sent: Wednesday, 24 September 2008 11:01 AM
> To: Andy Saykao
> Cc: cisco-nsp at puck.nether.net
> Subject: Re: [c-nsp] How does the egress PE determine which VRF the VPN
> label is for?
> 
> On Wed, Sep 24, 2008 at 09:57:12AM +1000, Andy Saykao wrote:
> > Given the scenario in which the packet has reached the egress PE, how 
> > does the router then determine which VRF the packet is destined for 
> > based on the remaining VPN label? I understand the concept of there 
> > being two labels, an IGP label and a VPN label. I'm just not sure how 
> > the egress PE is able to deduce that the VPN label is for a particular
> 
> > VRF.
> > 
> > Eg:
> > 
> > PE1 -> P1 -> P2 -> PE2
> > 
> > *** First, a CEF lookup is performed on PE1 at the time the IP packet 
> > enters the ingress PE from an interface belonging to VRF TEST and 
> > shows that the following tags/labels {4771 44169} are pushed onto the 
> > IP packet.
> > 
> > PE1#sh ip cef vrf TEST 172.16.66.2
> > 172.16.66.2/32, version 58, epoch 0, cached adjacency 203.10.x.x 0 
> > packets, 0 bytes
> >   tag information set
> >     local tag: VPN-route-head
> >     fast tag rewrite with Gi0/0.11, 203.10.x.x, tags imposed: {4771 
> > 44169}
> >   Flow: Origin AS 0, Peer AS 0, mask 32
> >   via 210.15.x.x, 0 dependencies, recursive
> >     next hop 203.10.x.x, GigabitEthernet0/0.11 via 210.15.x.x/32
> >     valid cached adjacency
> >     tag rewrite with Gi0/0.11, 203.10.x.x, tags imposed: {4771 44169}
> > 
> > *** The label packet then uses the IGP label to determine the LSP and 
> > ends up at PE2 with just the VPN label left {44169}.
> > 
> > *** PE2 checks it's mpls forwarding table and finds the following
> entry:
> > 
> > PE2#sh mpls forwarding-table label 44169
> > Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop
> > tag    tag or VC   or Tunnel Id      switched   interface
> > 44169  Aggregate   172.16.66.2/32[V] 5752
> > 
> > *** From the book "MPLS Fundamentals", it says - "Aggregate means that
> 
> > the aggregating LSR needs to remove the label of the incoming packet 
> > and must do an IP lookup to determine the more specific prefix to use 
> > for forwarding this IP packet."
> > 
> > What I don't get from that explaination is:
> > 
> > - What is involved in doing an "IP lookup" as the next step?
> 
> It means the aggregate just tells the PE that the ip address is
> connected and in a particular VRF. There are different ways to implement
> it. per prefix lables, aggregats for only connected in a vrf, etc.
> 
> 
> > - How does the router figure out that the prefix 172.16.66.2 is a 
> > route belonging to VRF TEST?
> 
> based on the local VPN label allocated for either all connected or that
> specific route. A table is maintained to map them. That's why you can do
> 'sh ip bgp vpnv4 vrf blah and it show the vpnv4 label.
> 
> > - Is it something to do with MP-BGP because when I do a BGP lookup on 
> > the prefix, I see the word "aggregate" followed by the VRF name. How 
> > does this information then tie in with what's contained in the mpls 
> > forwarding table to deduce that it's VRF TEST we want.
> 
> Different protocols can insert labels in the lfib. ie: ldp, bgp, etc.
> BGP can allocate a lable for VPNV4 prefixes and then advertise that to
> remote PE's to tell them what label to send with. Then ldp sends labels
> hop by hop to get to the PE's loopback (outer label as we call it).
> 
> > 
> > PE2#sh ip bgp vpnv4 rd 4854:100660 172.16.66.2 BGP routing table entry
> 
> > for 4854:100660:172.16.66.2/32, version 811
> > Paths: (1 available, best #1, table TEST)
> >   Advertised to peer-groups:
> >      NS-MPLS-VPN
> >   Local
> >     0.0.0.0 from 0.0.0.0 (203.17.x.x)
> >       Origin incomplete, metric 0, localpref 100, weight 32768, valid,
> 
> > sourced, best
> >       Extended Community: RT:4854:100660,
> >       mpls labels in/out 44169/aggregate(TEST)
> > 
> > Everything is working fine - I'm just trying to understand the little 
> > intricate details of MPLS VPN's that make them work, so I can picture 
> > it in my mind.
> > 
> > Thanks.
> > 
> > Andy
> 
> This email and any files transmitted with it are confidential and intended
>  solely for the use of the individual or entity to whom they are addressed. 
> Please notify the sender immediately by email if you have received this 
> email by mistake and delete this email from your system. Please note that
>  any views or opinions presented in this email are solely those of the
>  author and do not necessarily represent those of the organisation. 
> Finally, the recipient should check this email and any attachments for 
> the presence of viruses. The organisation accepts no liability for any 
> damage caused by any virus transmitted by this email.
> 


More information about the cisco-nsp mailing list