Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 

Welcome to Cisco Support Community. We would love to have your feedback.

For an introduction to the new site, click here. And see here for current known issues.

forwarding does not work if "label-allocation-mode per-vrf" is not set using BVI interfaces

Appreciate your helps making me understand the use of the following command:

label-allocation-mode per-vrf

The issue I have is that without that command configured under the vrf under the bgp process, forwarding to destinations configured under static routing as  the pe-ce vrf routing does not work.

Once I enable that command, forwarding starts working. I want to understand why? and what change I can see in the LFIB or cef table if that command is set or not set??

I tryed looking at the mpls labels assigned to the destinations under vrf (with and without the command configured), I can see labels are always assigned, so apparently no difference there.

The routers is an ASR9k (IOS XR) router with BVI interface facing the CE side attached to a vrf "test", and TENG 0/0/0/0 attached to the mpls core.

In the vrf "test" static routing is configured to reach customer routes by a next-hop. As a BVI interface is configured, it is the outbound interface to route/reach the next hop and destination networks.


Carlos Trujillo.


forwarding does not work if "label-allocation-mode per-vrf" is n

Sample config

interface BVI303

vrf Ga

ipv4 address

router static

vrf Ga

  address-family ipv4 unicast


router bgp xxxx

vrf Ga

  rd 22047:258

  label-allocation-mode per-vrf

  address-family ipv4 unicast

   redistribute connected

   redistribute static

New Member

forwarding does not work if "label-allocation-mode per-vrf" is n

Hi Carlos,

The reason it doesn't work is because label switching on a VRF aware BVI is only supported in the per-vrf label allocation mode. There's a mention of this in the configuration guide shown here;

"VRFs for IPv4 (Per-VPN label VRFs only—not per prefix)"

The change you should be able to observe is that if you create a second route, for example It will be allocated the same label as the .65/32 prefix. When using per-prefix label allocation mode the label for each prefix would be unique.

You should be able to verify this with "show mpls forwarding vrf Ga" after adding an additonal route.


Matt Ayre

New Member

Hi Maayre.

Hi Maayre.

Does this command only affect routes from PE-to-CE using BVI?

What about routes from PE-to-CE using physical interface?

Are they still going to be per-vrf label allocation?

Can I configured this say in PE1, but PE2 remains in default per-prefix?

I found this problem for just

I found this problem for just 1 node, why other nodes don't need to change?

New Member

I came across this forums

I came across this forums from a link provided from the CLI analyzer version 3.0 system diagnostics on our ASR9k network.  We are running just a couple of VRFs default, MGMT, and a VOICE VRF that is in MP-BGP / L3VPN.  We also have some ME3600 boxes in the network.

We are not having any issues running per-prefix allocation mode (default on both the 9k and ME3600).

We are running 5.1.3 on our 9k network, and a mix of 15.2.4.S1 and 15.4.3.S4 on our ME3600 boxes.  Looks like per-vrf labels are not supported on 15.2.4.S1 as the command is not available.  The command is also unavailable on 5.1.3 on the 9k.

I'm just trying to understand what per-vrf labels buys us and what to look out for if we do have a traffic loss issue.  We already found a bug in 15.4.3.S4 where random IP addresses are blackholed when the interface is configured as a trunk (workaround is to use service instance).


New Member

Hi Benjamin,

Hi Benjamin,

In my understanding the per-vrf label method is meant to save resource on a PE devices on label allocation. Imagine there is a PE devices with only a few VPN but a lot of local prefixes, under per-VRF label allocation this device would use less memory?

-- Best Regards