[c-nsp] MPLS Label propagation and/or MP-BGP and/or route-reflecting, oh my.

Jason Lixfeld jason at lixfeld.ca
Fri Jan 21 14:05:28 EST 2011


I'm seeing some odd stuff in my MPLS lab (that consists of 7200s running 12.2(33)SRE2) so I'd like to poll the list to try and see what I might be missing.

As far as I understand, if I have a PE that receives an IPv4 route from a CE through some routing protocol, the route is, among other things, installed into the vpnv4 AF and announced through MP-BGP to other PEs (so long as the requisite RT and RDs are added prior).  Further, the PE does what it needs to do to the label stack for the prefix and that prefix/label info is distributed through LDP to the P and PE routers.

If that understanding is correct, I'd like to try and figure out why I'm seeing some peculiar behaviour on a a couple of P/PE routers in my lab.

Setup:

- PE1 is directly connected to, and peers with PE2 via a vpnv4 peering session.
- PE3 is directly connected to, and is a RR client of PE1 and PE2 via vpnv4.
- PE1 has two interfaces in vrf "INTERNET", fa0/0 and pos2/0.
- Pos2/0 is facing CE1, which is in the same AS as my own, call it AS100.
- Fa0/0 is facing CE2, which is in AS65535.
- In behind CE1, a router is peering with two another AS', call them AS1 and AS2.
- PE1 has an LDP adjacency with PE2 and PE3.

Scenario:

- PE1 sees the prefix 100.0.0.0/24 from AS1 via CE1 in vrf INTERNET.
- PE1 sees the prefix 200.0.0.0/24 from AS2 via CE1 in vrf INTERNET.
- PE1 sees the prefix 65.53.50.0/24 from AS65535 via CE2 in vrf INTERNET.

P1>show ip bgp vpnv4 rd 21949:0 | i 100.0|200.0|65.53  
*> 65.53.50.0/24    10.0.0.13                0             0 65535 i
*>i100.0.0.0/24     12.12.12.12              0    100      0 1 i
*>i200.0.0.0        13.13.13.13              0    100      0 2 i
P1>show ip bgp vpnv4 vrf INTERNET | i 100.0|200.0|65.53  
*> 65.53.50.0/24    10.0.0.13                0             0 65535 i
*>i100.0.0.0/24     12.12.12.12              0    100      0 1 i
*>i200.0.0.0        13.13.13.13              0    100      0 2 i
P1>

- PE1 has created labels for the three aforementioned prefixes.

P1>show mpls forwarding-table vrf INTERNET | i 100|200|65
37         No Label   200.0.0.0/24[V]  0             PO2/0      point2point 
38         No Label   100.0.0.0/24[V]  0             PO2/0      point2point 
45         No Label   65.53.50.0/24[V] 0             Fa0/0      10.0.0.13   
P1>

Problem:

1. PE2 and PE3 both see prefix 65.53.50.0/24 from AS65535 via CE2 in vrf INTERNET.  This is good.
2. PE2 sees prefixes 100.0.0.0/24 and 200.0.0.0/24 from AS1 and AS2 via CE1 in vrf INTERNET.  This is good too, however...
3. PE3 do not see prefix 100.0.0.0/24 or 200.0.0.0/24.  I had a feeling this might have something to do with iBGP propagation rules, but I'm route-reflecting all the way through from where these two prefixes enter the network to the point where they are announced to PE1, so unless passing it through a VRF does something funky to iBGP propagation rules, I can't understand what's going on there.
4. PE2 see MPLS forwarding table entries for 65.53.50.0/24, 100.0.0.0/24 or 200.0.0.0/24.  This is good, however...
5. PE3 does not see MPLS forwarding table entries for 65.53.50.0/24, 100.0.0.0/24 or 200.0.0.0/24.  Because PE3 sees 65.53.50.0/24, I'd expect it to have a label entry for that prefix at least (the fact that it doesn't even see 100.0.0.0/24 or 200.0.0.0/24 probably needs to get sorted out before I worry about why it doesn't see label entries for those two prefixes).

I have a feeling that there's some fundamental concept of how this is all supposed to work that I'm just not getting.  If anyone sees anything that warrants a slap with the clue-bat, I'd be grateful.




More information about the cisco-nsp mailing list