MPLS Inter AS Option B


Inter AS Option B is accomplished using BGP VPNv4 session between ASBRs exchanging labels with eBGP.

MPLS Inter-AS Option B

  • The VPNv4 session between ASBRs is used to exchange the VPNv4 prefixes. The BGP session is used to send the transport label.
  • Route Distinguisher and Route Targets have global significance between adj providers.
  • A labeled switched path has to exist between the PEs or each carrier. Exchange of labels is accomplished using BGP on the Inter-AS link..
  • There are three LSPs (points where next-hop changes):
    • PE to the ASBR1.
    • ASBR1 to ASBR2
    • ASBR2 to the PE
  • LSP is end to end (using three hops), which makes QoS much easier to manage.
  • ASBRs have to have all of the VPN prefixes, which requires it to be as resource intensive as Rotuer Reflectors.
  • By default, forwarding of labled traffic will not work between IOS and XR in option B. On IOS when mpls bgp forwarding command is entered, the router creates a /32 for the peering interface along with a /32 for the neighbor. XR can not label switch traffic to a next-hop that's not learned via a host route /32. XR by default does not do that. On XR to fix it, create a static /32 host route to the neighboring IP on the directly connected ASBR.. If the static points to interface and then next-hop. BGP will consider it as multi-hop, either configure it as multi-hop eBGP or just use interface like "router static address-family w.x.y.z gi0/0/0/0.30"

Routing Between ASBRs

  • ASBRs only use eBGP with VPNv4 address family between each other. There is no need to have local vrfs like in Option A.
  • Service Providers don't need to worry about operting client's IGP protocols.
  • mpls bgp forwarding command is automatically configured when setting VPNv4 eBGP session, it specifies that interfaces connected to the peer could forward labels over it and received labelled frames. Usually any interfaces not running mpls (i.e. LDP/RSVP) will drop all labels and try to forwarding using IP.
  • In XR remember that VPNv4 eBGP session still require route-policies as with any other eBGP session on XR.
  • Because this is an eBGP session, the next hop for VPNv4 prefixes will change. The internal PE routers usually won't have reachability to the ASBR link between carriers. Therefore the next-hop has to be changed to self.

Label Distribution

  • Labels are exchanged using BGP. Usual protocols like LDP or RSVP are not used to exchange labels.
  • Link towards ASBRs require mpls bgp forwarding enabled.
  • The ASBRs will not only have a label for the PE loopbacks, but also for a label for the VPNv4 prefixes.
  • ASBRs peer with each other using VPNv4 eBGP, the LSP is end-to-end, but LDP is not operating over that link. Labels are sent using BGP.
  • ASBRs will change the VPN Label and set it to themselves.
  • The ASBRs will have a label not only for any next-hop addresses, but also VPNv4 prefixes:

Route Target

  • Make sure to disable the RT filtering or else the ASBR won't accept any VPNv4 prefixes:
    • IOS: no bgp default route-target filter
    • XR: address-family vpnv4 unicast
      • retain route-target all
  • RT Filtering feature is automatically disabled on VPNv4 Router Reflectors, but since those are ASBR PEs they will need have it disabled manually.
  • By default the Router Target numbering convention and policy has to be end-to-end and the same between service providers. That's a huge limitation for adaptation between carriers. Route Target rewrite feature can be used on the ASBRs (more:


  • Configure eBGP VPNv4 session between ASBRs.
  • Set the next-hop-self to iBGP VPNv4 sessions.
  • On IOS-XR create a static host route to the neighbor just using the interface (no next-hop ip address, will break MPLS forwarding if next-hop is included).
  • Configure ASBRs to accept all RT by turning off the rt filtering.
  • Configure route-map and/or RPLs to translate RTs.

Relevant IOS Commands

mpls bgp forwarding

R1(config-if)#        mpls bgp forwarding

no bgp default route-target filter

R1(config-router)#        no bgp default route-target filter

Relevant XR Commands

retain route-target all

RP/0/0/CPU0:XR1(config-bgp-af)#  retain route-target all

Additional Resources

Inter-AS MPLS L3VPN – Option B – ASBR + VPNv4 - Darren's Blog
(Dual CCIE #38070 (R&S, SP) and JNCIE-SP #2227)


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