By default, the router minimizes the number of stacked labels to be managed by generating a single label for all BGP routes advertised by a given VRF; this is a per-VRF label. Upon receiving traffic for a per-VRF label, the router performs a label pop and a route lookup to forward the traffic to the next hop.
You can use the ip mpls forwarding-mode label-switched command to configure the router to generate a label for each different FEC that a BGP route points to in the VPN; this is a per-FEC label. Issuing this command enables you to avoid a route lookup for traffic destined for CE routers, because in this mode traffic is label switched to the corresponding next hop over that interface; a route lookup is not performed.
The route for which a label is allocated can be an ECMP route; in that case, the label-switched traffic uses ECMP.
For the following types of routes, the router always generates a per-VRF label and forwards traffic after a route lookup (rather than label switching the traffic without a route lookup) regardless of the status of this command:
The following commands configure a router where BGP is running in VRF pe11 and static and connected routes are redistributed into the VRF:
- host1(config)#ip vrf pe11
- host1(config-vrf)#ip mpls forwarding-mode
label-switched
- host1(config-vrf)#ip route vrf pe11 10.3.4.5
255.255.255.255 fastEthernet 0/1
- host1(config-vrf)#ip route vrf pe11 10.1.1.1
255.255.255.255 loopback 1
- host1(config-vrf)#exit
- host1(config)#router bgp 100
- host1(config-router)#address-family ipv4 unicast
vrf pe11
- host1(config-router-af)#exit
- host1(config-router)#no auto-summary
- host1(config-router)#no synchronization
- host1(config-router)#redistribute static
- host1(config-router)#redistribute connected
For each connected route that is redistributed into the VRF and advertised across the BGP/MPLS VPN, the router assigns a per-VRF label rather than a per-FEC label.
The static route 10.1.1.1/32 points to loopback interface 1. BGP therefore advertises this static route with a per-VRF label.
ip mpls forwarding-mode label-switched
- host1:vr1(config-vrf)#ip mpls forwarding-mode
label-switched