MPLS LDP Local Label Allocation Filtering

Introduction

By default LDP will allocate a label for all IGP networks. When service providers are trying to scale their networks, not every route requires a local label. Local labels are required for MPLS forwarding with applications like MPLS VPNs. Other networks can use IP forwarding. With the MPLS LDP Local Label Allocation Filtering feature, LDP can be controlled which networks are used for local label binding.

Local Label Allocation Filtering

  • This feature is different from MPLS LDP Label Filtering, as it does not control the advertised or incoming labels, but the locally generated ones.
  • Filtering it done with prefix-list. ACLs are not permitted.
  • To improve scalability only the PE loopback address should be used for MPLS forwarding.
  • There are two option for this command:
    • Allocate global Prefix-list - allocates local label for any routes that match the prefix-list.
    • Allocate global Host-routes - only allocates local label for any IGP routes that are /32.
  • Any prefixes that don't have locally generated labels will still have an entry in the LIB as long as they have remote bindings received (see example below)
  • Remember that each LSR needs a local label for the PE's loopback not just the PE. If some P LSR don't have a local label, LSP will be broken. Use Traceroute MPLS to verify end to end LSP. See MPLS-Traceroute for more details.

Relevant IOS Commands

mpls ldp label

Enters the ldp local label allocation filtering configuration mode.

R1(config)#        mpls ldp label
R1(config-ldp-lbl)#

allocate global

Command used to configure the MPLS LDP Local Label Allocation Filtering, works within the special configuration mode config-ldp-lbl.
There are 3 option (both are exclusive).

  • Allocate global Prefix-list - allocates local label for any routes that match the prefix-list.
  • Allocate global Host-routes - only allocates local label for any IGP routes that are /32.
  • Allocate global <cr> - resets the filters to allow all.
R1(config-ldp-lbl)#        allocate global prefix-list (prefix-list-name)
R1(config-ldp-lbl)#        allocate global host-routes
R1(config-ldp-lbl)#        allocate global

sh mpls ldp bindings local

Show only labels with local bindings assigned. Filters any bindings that only have remote and not local labels.

sh mpls ldp bindings local

debug mpls ldp binding filter

debug mpls ldp binding filter

Relevant XR commands

label local allocate for

RP/0/0/CPU0:XR11(config)#mpls ldp
RP/0/0/CPU0:XR11(config-ldp)#address-family ipv4
RP/0/0/CPU0:XR11(config-ldp-af)#label
RP/0/0/CPU0:XR11(config-ldp-af-lbl)#local
RP/0/0/CPU0:XR11(config-ldp-af-lbl-lcl)#allocate  for 2

or
RP/0/0/CPU0:XR11(config)#mpls ldp
RP/0/0/CPU0:XR11(config-ldp)#address-family ipv4 
RP/0/0/CPU0:XR11(config-ldp-af)#    label local allocate for (acl)

allocate for host-route

RP/0/0/CPU0:XR11(config)#mpls ldp
RP/0/0/CPU0:XR11(config-ldp)#address-family ipv4

RP/0/0/CPU0:XR11(config-ldp-af-lbl-lcl)#    allocate for host-routes

Comments

rating: 0+x
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License