MPLS Layer 3 VPNs Inter-AS and CSC Configuration Guide, Cisco IOS XE Release 3S
MPLS VPN eBGP Multipath Support for CSC and Inter-AS MPLS VPNs
Downloads: This chapterpdf (PDF - 1.38MB) The complete bookPDF (PDF - 4.9MB) | The complete bookePub (ePub - 1.15MB) | Feedback

MPLS VPN eBGP Multipath Support for CSC and Inter-AS MPLS VPNs

Contents

MPLS VPN eBGP Multipath Support for CSC and Inter-AS MPLS VPNs

The MPLS VPN eBGP Multipath Support for CSC and Inter-AS MPLS VPNs feature enables you to configure external Border Gateway Protocol (eBGP) multipath with IPv4 labels. This creates an entry in the Multiprotocol Label Switching (MPLS) forwarding table with label information for each outgoing path installed in the routing table thereby allowing redundant connectivity and load balancing. Without this feature, the MPLS forwarding table contains the labels only for the BGP best path even though the routing table has more than one path for the prefix.

Finding Feature Information

Your software release may not support all the features documented in this module. For the latest caveats and feature information, see Bug Search Tool and the release notes for your platform and software release. To find information about the features documented in this module, and to see a list of the releases in which each feature is supported, see the feature information table at the end of this module.

Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

Prerequisites for MPLS VPN eBGP Multipath Support for CSC and Inter-AS MPLS VPNs

Ensure that your Multiprotocol Label Switching (MPLS) virtual private network (VPN) network, including MPLS VPN interautonomous system (Inter-AS) or Carrier Supporting Carrier (CSC), is configured and working properly.

Restrictions for MPLS VPN eBGP Multipath Support for CSC and Inter-AS MPLS VPNs

The MPLS VPN eBGP Multipath Support for CSC and Inter-AS MPLS VPNs feature is not supported on Multiprotocol Label Switching (MPLS) virtual private network (VPN) interautonomous system (Inter-AS) with Autonomous System Boundary Routers (ASBRs) that exchange VPNv4 routes.

When you configure static routes in an MPLS or MPLS virtual private network (VPN) environment, some variations of the ip route and ip route vrf commands are not supported. These variations of the commands are not supported in Cisco software releases that support the Tag Forwarding Information Base (TFIB. The TFIB cannot resolve prefixes when the recursive route over which the prefixes travel disappears and then reappears. However, the command variations are supported in Cisco software releases that support the MPLS Forwarding Infrastructure (MFI). Use the following guidelines when configuring static routes.

Supported Static Routes in an MPLS Environment

The following ip route command is supported when you configure static routes in an MPLS environment:

  • ip route destination-prefix mask interface next-hop-address

The following ip route commands are supported when you configure static routes in an MPLS environment and configure load sharing with static nonrecursive routes and a specific outbound interface:

  • ip route destination-prefix mask interface1 next-hop1
  • ip route destination-prefix mask interface2 next-hop2

Unsupported Static Routes in an MPLS Environment That Uses the TFIB

The following ip route command is not supported when you configure static routes in an MPLS environment:

  • ip route destination-prefix mask next-hop-address

The following ip route command is not supported when you configure static routes in an MPLS VPN environment and enable load sharing where the next hop can be reached through two paths:

  • ip route destination-prefix mask next-hop-address

The following ip route command is not supported when you configure static routes in an MPLS VPN environment and enable load sharing where the destination can be reached through two next hops:

  • ip route destination-prefix mask next-hop1
  • ip route destination-prefix mask next-hop2

Use the interface and next-hop arguments when specifying static routes.

Supported Static Routes in an MPLS VPN Environment

The following ip route vrf commands are supported when you configure static routes in an MPLS VPN environment, and the next hop and interface are associated with the same virtual routing and forwarding (VRF) instance:

  • ip route vrf vrf-name destination-prefix mask next-hop-address
  • ip route vrf vrf-name destination-prefix mask interface next-hop-address
  • ip route vrf vrf-name destination-prefix mask interface1 next-hop1
  • ip route vrf vrf-name destination-prefix mask interface2 next-hop2

The following ip route vrf commands are supported when you configure static routes in an MPLS VPN environment, and the next hop is in the global table in the MPLS cloud in the global routing table. For example, these commands are supported when the next hop is pointing to the internet gateway.

  • ip route vrf vrf-name destination-prefix mask next-hop-address global
  • ip route vrf vrf-name destination-prefix mask interface next-hop-address (This command is supported when the next hop and the interface are in the core.)

The following ip route commands are supported when you configure static routes in an MPLS VPN environment and enable load sharing with static nonrecursive routes and a specific outbound interfaces:

  • ip route destination-prefix mask interface1 next-hop1
  • ip route destination-prefix mask interface2 next-hop2

Unsupported Static Routes in an MPLS VPN Environment That Uses the TFIB

The following ip route command is not supported when you configure static routes in an MPLS VPN environment, the next hop is in the global table in the MPLS cloud within the core, and you enable load sharing where the next hop can be reached through two paths:

  • ip route vrf destination-prefix mask next-hop-address global

The following ip route commands are not supported when you configure static routes in an MPLS VPN environment, the next hop is in the global table in the MPLS cloud within the core, and you enable load sharing where the destination can be reached through two next hops:

  • ip route vrf destination-prefix mask next-hop1 global
  • ip route vrf destination-prefix mask next-hop2 global

The following ip route vrf commands are not supported when you configure static routes in an MPLS VPN environment, and the next hop and interface are in the same VRF:

  • ip route vrf vrf-name destination-prefix mask next-hop1
  • ip route vrf vrf-name destination-prefix mask next-hop2

Supported Static Routes in an MPLS VPN Environment Where the Next Hop Resides in the Global Table on the CE Device

The following ip route vrf command is supported when you configure static routes in an MPLS VPN environment, and the next hop is in the global table on the customer edge (CE) side. For example, the following command is supported when the destination-prefix is the CE device’s loopback address, as in external Border Gateway Protocol (eBGP) multihop cases.

  • ip route vrf vrf-name destination-prefix mask interface next-hop-address

The following ip route commands are supported when you configure static routes in an MPLS VPN environment, the next hop is in the global table on the CE side, and you enable load sharing with static nonrecursive routes and a specific outbound interfaces:

  • ip route destination-prefix mask interface1 nexthop1
  • ip route destination-prefix mask interface2 nexthop2

Information About MPLS VPN eBGP Multipath Support for CSC and Inter-AS MPLS VPNs

Overview of MPLS VPN eBGP Multipath Support for CSC and Inter-AS MPLS VPNs

When a device learns two identical external Border Gateway Protocol (eBGP) paths for a prefix from a neighboring autonomous system, it chooses the path with the lower route ID as the best path. This best path is installed in the IP routing table. You can enable eBGP multipath, which installs multiple paths in the IP routing table (instead of picking one best path) when the eBGP paths are learned from a neighboring autonomous system.

During packet switching, depending on the switching mode, either per-packet or per-destination load sharing is performed among the multiple paths. The maximum-paths router configuration command controls the number of paths allowed. By default, BGP installs only one path to the IP routing table.

How to Configure MPLS VPN eBGP Multipath Support for CSC and Inter-AS MPLS VPNs

Configuring MPLS VPN eBGP Multipath Load Sharing with Inter-AS MPLS VPNs

Perform this task on the Autonomous System Boundary Routers (ASBRs) to configure external Border Gateway Protocol (eBGP) multipath for Multiprotocol Label Switching (MPLS) virtual private network (VPN) interautonomous systems with ASBRs exchanging IPv4 routes and MPLS labels.

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    router bgp as-number

    4.    neighbor {ip-address | peer-group-name} remote-as as-number

    5.    address-family ipv4 [multicast | unicast | vrf vrf-name]

    6.    maximum-paths number-paths

    7.    neighbor {ip-address | peer-group-name} activate

    8.    neighbor ip-address send-label

    9.    exit-address-family

    10.    end


DETAILED STEPS
     Command or ActionPurpose
    Step 1 enable


    Example:
    Device> enable
     

    Enables privileged EXEC mode.

    • Enter your password if prompted.
     
    Step 2 configure terminal


    Example:
    Device# configure terminal
     

    Enters global configuration mode.

     
    Step 3 router bgp as-number


    Example:
    Device(config)# router bgp 100
     

    Configures a BGP routing process and places the device in router configuration mode.

    • The as-number argument indicates the number of an autonomous system that identifies the device to other BGP routers and tags the routing information passed along. The range is 0 to 65535. Private autonomous system numbers that can be used in internal networks range from 64512 to 65535.
     
    Step 4 neighbor {ip-address | peer-group-name} remote-as as-number


    Example:
    Device(config-router)# neighbor 10.0.0.1 remote-as 200
     

    Adds an entry to the BGP or multiprotocol BGP neighbor table.

    • The ip-address argument specifies the IP address of the neighbor.
    • The peer-group-name argument specifies the name of a BGP peer group.
    • The as-number argument specifies the autonomous system to which the neighbor belongs.
     
    Step 5 address-family ipv4 [multicast | unicast | vrf vrf-name]


    Example:
    Device(config-router)# address-family ipv4 
     

    Enters address family configuration mode for configuring routing sessions such as BGP that use standard IPv4 address prefixes.

    • The multicast keyword specifies IPv4 multicast address prefixes.
    • The unicast keyword specifies IPv4 unicast address prefixes.
    • The vrf vrf-name keyword and argument specify the name of the VRF to associate with subsequent IPv4 address family configuration mode commands.
     
    Step 6 maximum-paths number-paths


    Example:
    Device(config-router-af)# maximum-paths 2
     

    (Optional) Controls the maximum number of parallel routes an IP routing protocol can support.

    • The number-paths argument specifies the maximum number of parallel routes an IP routing protocol installs in a routing table.
     
    Step 7 neighbor {ip-address | peer-group-name} activate


    Example:
    Device(config-router-af)# neighbor 10.0.0.1 activate
     

    Enables the exchange of information with a neighboring device.

    • The ip-address argument specifies the IP address of the neighbor.
    • The peer-group-name argument specifies the name of a BGP peer group.
     
    Step 8 neighbor ip-address send-label


    Example:
    Device(config-router-af)# neighbor 10.0.0.1 send-label
     

    Enables a BGP device to send MPLS labels with BGP routes to a neighboring BGP device.

    • The ip-address argument specifies the IP address of the neighboring device.
     
    Step 9 exit-address-family


    Example:
    Device(config-router-af)# exit-address-family
     

    Exits address family configuration mode.

     
    Step 10 end


    Example:
    Device(config-router-af)# end
     

    (Optional) Exits to privileged EXEC mode.

     

    Configuring MPLS VPN eBGP Multipath Load Sharing with Carrier Supporting Carrier on the CSC-PE Devices

    Perform this task to configure external Border Gateway Protocol (eBGP) multipath load sharing on the carrier supporting carrier-provider edge (CSC-PE) devices that distribute BGP routes with Multiprotocol Label Switching (MPLS) labels.

    SUMMARY STEPS

      1.    enable

      2.    configure terminal

      3.    router bgp as-number

      4.    address-family ipv4 [multicast | unicast | vrf vrf-name]

      5.    maximum-paths number-paths

      6.    neighbor {ip-address | peer-group-name} remote-as as-number

      7.    neighbor {ip-address | peer-group-name} activate

      8.    neighbor ip-address as-override

      9.    neighbor ip-address send-label

      10.    exit-address-family

      11.    end


    DETAILED STEPS
       Command or ActionPurpose
      Step 1 enable


      Example:
      Device> enable
       

      Enables privileged EXEC mode.

      • Enter your password if prompted.
       
      Step 2 configure terminal


      Example:
      Device# configure terminal
       

      Enters global configuration mode.

       
      Step 3 router bgp as-number


      Example:
      Device(config)# router bgp 100
       

      Configures a BGP routing process and enters router configuration mode.

      • The as-number argument indicates the number of an autonomous system that identifies the device to other BGP routers and tags the routing information passed along. The range is 0 to 65535. Private autonomous system numbers that can be used in internal networks range from 64512 to 65535.
       
      Step 4 address-family ipv4 [multicast | unicast | vrf vrf-name]


      Example:
      Device(config-router)# address-family ipv4 vrf vpn1
       

      Specifies the IPv4 address family type and enters address family configuration mode.

      • The multicast keyword specifies IPv4 multicast address prefixes.
      • The unicast keyword specifies IPv4 unicast address prefixes.
      • The vrf vrf-name keyword and argument specify the name of the VRF to associate with subsequent IPv4 address family configuration mode commands.
       
      Step 5 maximum-paths number-paths


      Example:
      Device(config-router-af)# maximum-paths 2
       

      (Optional) Controls the maximum number of parallel routes an IP routing protocol can support.

      • On the CSC-PE device, this command is enabled in address family configuration mode.
      • The number-paths argument specifies the maximum number of parallel routes an IP routing protocol installs in a routing table.
       
      Step 6 neighbor {ip-address | peer-group-name} remote-as as-number


      Example:
      Device(config-router-af)# neighbor 10.0.0.1 remote-as 200
       

      Adds an entry to the BGP or multiprotocol BGP neighbor table.

      • The ip-address argument specifies the IP address of the neighbor.
      • The peer-group-name argument specifies the name of a BGP peer group.
      • The as-number argument specifies the autonomous system to which the neighbor belongs.
       
      Step 7 neighbor {ip-address | peer-group-name} activate


      Example:
      Device(config-router-af)# neighbor 10.0.0.1 activate
       

      Enables the exchange of information with a neighboring BGP device.

      • The ip-address argument specifies the IP address of the neighbor.
      • The peer-group-name argument specifies the name of a BGP peer group.
       
      Step 8 neighbor ip-address as-override


      Example:
      Device(config-router-af)# neighbor 10.0.0.1 as-override
       

      Configures a PE device to override the autonomous system number (ASN) of a site with the ASN of a provider.

      • The ip-address argument specifies the IP address of the device that is to be overridden with the ASN provided.
       
      Step 9 neighbor ip-address send-label


      Example:
      Device(config-router-af)# neighbor 10.0.0.1 send-label
       

      Enables a BGP device to send MPLS labels with BGP routes to a neighboring BGP device.

      • The ip-address argument specifies the IP address of the neighboring device.
       
      Step 10 exit-address-family


      Example:
      Device(config-router-af)# exit-address-family
       

      Exits address family configuration mode.

       
      Step 11 end


      Example:
      Device(config-router)# end
       

      (Optional) Exits to privileged EXEC mode.

       

      Configuring MPLS VPN eBGP Multipath Load Sharing with Carrier Supporting Carrier on the CSC-CE Devices

      Perform this task to configure external Border Gateway Protocol (eBGP) multipath load sharing on the carrier supporting carrier-customer edge (CSC-CE) devices.

      SUMMARY STEPS

        1.    enable

        2.    configure terminal

        3.    router bgp as-number

        4.    maximum-paths number-paths

        5.    address-family ipv4 [multicast | unicast | vrf vrf-name]

        6.    redistribute protocol

        7.    neighbor {ip-address | peer-group-name} remote-as as-number

        8.    neighbor {ip-address | peer-group-name} activate

        9.    neighbor ip-address send-label

        10.    exit-address-family

        11.    end


      DETAILED STEPS
         Command or ActionPurpose
        Step 1 enable


        Example:
        Device> enable
         

        Enables privileged EXEC mode.

        • Enter your password if prompted.
         
        Step 2 configure terminal


        Example:
        Device# configure terminal
         

        Enters global configuration mode.

         
        Step 3 router bgp as-number


        Example:
        Device(config)# router bgp 200
         

        Configures a BGP routing process and enters router configuration mode.

        • The as-number argument indicates the number of an autonomous system that identifies the device to other BGP routers and tags the routing information passed along. The range is 0 to 65535. Private autonomous system numbers that can be used in internal networks range from 64512 to 65535.
         
        Step 4 maximum-paths number-paths


        Example:
        Device(config-router)# maximum-paths 2
         

        (Optional) Controls the maximum number of parallel routes an IP routing protocol can support.

        • On the CSC-CE routers, this command is issued in router configuration mode.
        • The number-paths argument specifies the maximum number of parallel routes an IP routing protocol installs in a routing table.
         
        Step 5 address-family ipv4 [multicast | unicast | vrf vrf-name]


        Example:
        Device(config-router)# address-family ipv4 
         

        Specifies the IPv4 address family type and enters address family configuration mode.

        • The multicast keyword specifies IPv4 multicast address prefixes.
        • The unicast keyword specifies IPv4 unicast address prefixes.
        • The vrf vrf-name keyword and argument specify the name of the VRF to associate with subsequent IPv4 address family configuration mode commands.
         
        Step 6 redistribute protocol


        Example:
        Device(config-router-af)# redistribute static
         

        Redistributes routes from one routing domain into another routing domain.

        • The protocol argument specifies the source protocol from which routes are being redistributed. It can be one of the following keywords: bgp, connected, egp, igrp, isis, mobile, ospf, rip, and static [ip].
          • The static [ip] keyword redistributes IP static routes.
        Note   

        The optional ip keyword is used when you redistribute static routes into Intermediate System- to-Intermediate System (IS-IS).

          • The connected keyword refers to routes that are established automatically when IP is enabled on an interface.
          • For routing protocols such as Open Shortest Path First (OSPF) and Intermediate System-to-Intermediate System (IS-IS), these routes are redistributed as external to the autonomous system.
         
        Step 7 neighbor {ip-address | peer-group-name} remote-as as-number


        Example:
        Device(config-router-af)# neighbor 10.0.0.2 remote-as 100
         

        Adds an entry to the BGP or multiprotocol BGP neighbor table.

        • The ip-address argument specifies the IP address of the neighbor.
        • The peer-group-name argument specifies the name of a BGP peer group.
        • The as-number argument specifies the autonomous system to which the neighbor belongs.
         
        Step 8 neighbor {ip-address | peer-group-name} activate


        Example:
        Device(config-router-af)# neighbor 10.0.0.2 activate
         

        Enables the exchange of information with a neighboring BGP device.

        • The ip-address argument specifies the IP address of the neighbor.
        • The peer-group-name argument specifies the name of a BGP peer group.
         
        Step 9 neighbor ip-address send-label


        Example:
        Device(config-router-af)# neighbor 10.0.0.2 send-label
         

        Enables a BGP device to send Multiprotocol Label Switching (MPLS) labels with BGP routes to a neighboring BGP device.

        • The ip-address argument specifies the IP address of the neighboring device.
         
        Step 10 exit-address-family


        Example:
        Device(config-router-af)# exit-address-family
         

        Exits address family configuration mode.

         
        Step 11 end


        Example:
        Device(config-router)# end
         

        (Optional) Exits to privileged EXEC mode.

         

        Configuration Examples for MPLS VPN eBGP Multipath Support for CSC and Inter-AS MPLS VPNs

        Example: Configuring MPLS VPN eBGP Multipath Load Sharing with MPLS VPN Inter-AS

        The following example shows how to configure external Border Gateway Protocol (eBGP) multipath for Multiprotocol Label Switching (MPLS) virtual private network (VPN) interautonomous systems with Autonomous System Boundary Routers (ASBRs) exchanging IPv4 routes and MPLS labels:

        Device# configure terminal       
        Device(config)# router bgp 100
        Device(config-router)# neighbor 10.0.0.1 remote-as 200
        Device(config-router)# address-family ipv4
        Device(config-router-af)# maximum-paths 2
        Device(config-router-af)# neighbor 10.0.0.1 activate
        Device(config-router-af)# neighbor 10.0.0.1 send-label
        Device(config-router-af)# exit-address-family 
        Device(config-router-af)# end

        Example: Configuring MPLS VPN eBGP Multipath Load Sharing with MPLS VPN Carrier Supporting Carrier on the CSC-PE Devices

        The following example shows how to configure external Border Gateway Protocol (eBGP) multipath load sharing on the carrier supporting carrier-provider edge (CSC-PE) devices that distribute BGP routes with Multiprotocol Label Switching (MPLS) labels:

        Device# configure terminal
        Device(config)# router bgp 100
        Device(config-router)# address-family ipv4 vrf vpn1
        Device(config-router-af)# maximum-paths 2
        Device(config-router-af)# neighbor 10.0.0.1 remote-as 200
        Device(config-router-af)# neighbor 10.0.0.1 activate
        Device(config-router-af)# neighbor 10.0.0.1 as-override
        Device(config-router-af)# neighbor 10.0.0.1 send-label
        Device(config-router-af)# exit-address-family
        Device(config-router)# end

        Example: Configuring MPLS VPN eBGP Multipath Load Sharing with MPLS VPN Carrier Supporting Carrier on the CSC-CE Devices

        The following example shows how to configure external Border Gateway Protocol (eBGP) multipath load sharing on the carrier supporting carrier-customer edge (CSC-CE) devices:

        Device# configure terminal
        Device(config)# router bgp 200
        Device(config-router)# maximum-paths 2
        Device(config-router)# address-family ipv4 
        Device(config-router-af)# redistribute static
        Device(config-router-af)# neighbor 10.0.0.2 remote-as 100
        Device(config-router-af)# neighbor 10.0.0.2 activate
        Device(config-router-af)# neighbor 10.0.0.2 send-label
        Device(config-router-af)# exit-address-family
        Device(config-router)# end 

        Additional References

        Related Documents

        Related Topic

        Document Title

        Cisco IOS commands

        Cisco IOS Master Command List, All Releases

        MPLS commands

        Cisco IOS Multiprotocol Label Switching Command Reference

        Configuring MPLS VPN CSC with BGP

        “MPLS VPN Carrier Supporting Carrier with BGP” module in the MPLS: Layer 3 VPNs: Inter-AS and CSC Configuration Guide

        Configuring BGP

        “Configuring BGP” module in the IP Routing: BGP Configuration Guide

        Configuring BGP Multipath Load Sharing for Both eBGP and iBGP in an MPLS VPN

        “BGP Multipath Load Sharing for Both eBGP and iBGP in an MPLS VPN” module in the IP Routing: BGP Configuration Guide

        RFCs

        RFC

        Title

        RFC 1164

        Application of the Border Gateway Protocol in the Internet

        RFC 1171

        A Border Gateway Protocol 4

        RFC 1700

        Assigned Numbers

        RFC 1966

        BGP Route Reflection: An Alternative to Full Mesh IBGP

        RFC 2283

        Multiprotocol Extensions for BGP-4

        RFC 2373

        IP Version 6 Addressing Architecture

        RFC 2547

        BGP/MPLS VPNs

        RFC 2842

        Capabilities Advertisement with BGP-4

        RFC 2858

        Multiprotocol Extensions for BGP-4

        RFC 3107

        Carrying Label Information in BGP-4

        Technical Assistance

        Description

        Link

        The Cisco Support and Documentation website provides online resources to download documentation, software, and tools. Use these resources to install and configure the software and to troubleshoot and resolve technical issues with Cisco products and technologies. Access to most tools on the Cisco Support and Documentation website requires a Cisco.com user ID and password.

        http:/​/​www.cisco.com/​cisco/​web/​support/​index.html

        Feature Information for MPLS VPN eBGP Multipath Support for CSC and Inter-AS MPLS VPNs

        The following table provides release information about the feature or features described in this module. This table lists only the software release that introduced support for a given feature in a given software release train. Unless noted otherwise, subsequent releases of that software release train also support that feature.

        Use Cisco Feature Navigator to find information about platform support and Cisco software image support. To access Cisco Feature Navigator, go to www.cisco.com/​go/​cfn. An account on Cisco.com is not required.

        Table 1 Feature Information for MPLS VPN eBGP Multipath Support for CSC and Inter-AS MPLS VPNs

        Feature Name

        Releases

        Feature Information

        MPLS VPN eBGP Multipath Support for CSC and Inter-AS MPLS VPNs

        12.0(27)S

        12.2(30)S

        12.2(33)SRA

        12.2(33)SXH

        Cisco IOS XE Release 2.2

        The MPLS VPN eBGP Multipath Support for CSC and Inter-AS MPLS VPNs feature installs multiple paths in the IP routing table when the eBGP paths are learned from a neighboring Autonomous System (AS), instead of picking one best path.

        In Cisco IOS Release 12.0(27)S, this feature was introduced.

        In Cisco IOS Release 12.2(30)S, 12.2(33)SRA, and 12.2(33)SXH, this feature was integrated.

        In Cisco IOS XE Release 2.2, this feature was implemented on the Cisco ASR 1000 Series Routers.

        No commands were introduced or modified.