cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
678
Views
9
Helpful
7
Replies

BGP Ladel Distribution

zikalamc
Level 1
Level 1

Hi,

Does BGP distribute a single label for each route in its global rouring table?

In the case of vrf routes how does this happen?

7 Replies 7

mheusinger
Level 10
Level 10

Hi,

A LSR does not distribute a label for each BGP route in the global routing table. The router will use recursive lookup and take the LDP label for the BGP next hop to transport packets.

For IP routes in a VRF things are more complicated assuming MPLS transport. There will be two labels

1) the top label is the LDP label for the BGP next hop ("transport the packet to the proper PE")

2) there is an additional VPN label ("identify to the receiving PE the proper CE the packet should be sent to". IP destination can not decide this because of possibly overlapping addresses)

That is why you have typically two labels in a MPLS VPN environment, though penultimate hop popping leads to only one label - the VPN label - for the receiving PE.

Everything described above is done automatically (assuming proper configuration) and boiled down to the data plane through CEF.

kind regards

Martin

What is the VPN label actually allocated to?

Does it a perform a similar function to the route target?

The VPN label is a 4 Byte label allocated from the PE allowed label space. Any value unique to the allocating PE will be ok. Labels are USED in the data plane, i.e. they are part of the label stack in the packets sent over the MPLS backbone. The VPN label allows proper delivery of packets in a MPLS L3VPN.

A route target is only used by the control plane. As such it is solely found in MBGP table and updates of VPNv4 NLRI. The purpose of a route target is to identify which VRF should get the route.

Both, VPN label and route target are extended communities and part of a MBGP VPNv4 update.

So in receiving a MBGP update a PE can decide who should get the route through the route target (route-target import ...). Additionally the PE also knows how to forward packets to this destination network by building a label stack consisting of two labels: LDP-for-BGP-next-hop and VPN

regards

Martin

"So in receiving a MBGP update a PE can decide who should get the route through the route target (route-target import ...)." I happy with this.

But what will the receiving PE use the VPN label for? Since to "identify to the receiving PE the proper CE the packet should be sent to" a layer lookup should be performed in the PE.

The VPN label (or inner label) is used to direct the packet to the appropriate VRF interface. A Layer 3 lookup is not performed unless the VPN label is an aggregate label.

Hope this helps,

Harold Ritter
Sr Technical Leader
CCIE 4168 (R&S, SP)
harold@cisco.com
México móvil: +52 1 55 8312 4915
Cisco México
Paseo de la Reforma 222
Piso 19
Cuauhtémoc, Juárez
Ciudad de México, 06600
México

Oh, sorry for causing confusion. Lets assume X-CE1-PE1-P-PE2-CE2 is our network with IP prefix X behind CE1. Routing information about X (control plane) is travelling from CE1 all the way to CE2, whereas IP packets with destination X are flowing in the opposite direction from CE2 all the way to CE1. PE1 sends to PE2 MBGP updates about network X learned from CE1. The MBGP updates contain the route target and the VPN label to reach X choosen by PE1.

PE2 receives the MBGP update, extracts the VPN label and hands this - together with the LDP label to reach PE1 - over to CEF building the label stack. Additionally CE2 will get a routing update about X.

In my example PE2 is the receiving router with respect to control plane information, i.e. MBGP routing updates.

PE1 is the receiving router with respect to the data plane, i.e. labeled packets. It will make a LFIB lookup when handling packets.

Hopefully this clarifies more than it confuses.

regards

Martin

Thanks again Martin,

That really put things in perspective!!!