MPLS over GRE

The MPLS over GRE feature provides a mechanism for tunneling Multiprotocol Label Switching (MPLS) packets over a non-MPLS network. This feature utilizes MPLS over generic routing encapsulation (MPLSoGRE) to encapsulate MPLS packets inside IP tunnels. The encapsulation of MPLS packets inside IP tunnels creates a virtual point-to-point link across non-MPLS networks.

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 L3VPN over GRE

  • Ensure that your Multiprotocol Label Switching (MPLS) virtual private network (VPN) is configured and working properly.

  • For PE-to-PE tunneling, configure tunnels with the same source address if you are running a release earlier than Cisco IOS Release 15.2(1)S.

  • For PE-to-PE tunneling, configure tunnels with the same destination address.

  • Ensure that the following routing protocols are configured and working properly:
    • Label Distribution Protocol (LDP)—for MPLS label distribution.
    • Multiprotocol Border Gateway Protocol (MP-BGP)—for VPN route and label distribution.
  • Before configuring a GRE tunnel, configure a loopback interface (that is not attached to a VRF) with an IP address so that the internally created tunnel interface is enabled for IPv4 forwarding by unnumbering itself to this dummy loopback interface. You do not need to configure a loopback interface if the system has at least one interface that is not attached to VRF and that is configured with an IPv4 address.

Restrictions for MPLS VPN 3VPN over GRE

The MPLS VPN L3VPN over GRE feature does not support the following:

  • Quality of service (QoS) service policies that are configured on the tunnel interface; they are supported on the physical or subinterface.

  • GRE options: sequencing, checksum, and source route.

  • IPv6 generic routing encapsulation (GRE).

  • Advanced features such as Carrier Supporting Carrier (CSC).

Information About MPLS VPN L3VPN over GRE

Overview of MPLS VPN L3VPN over GRE

The MPLS VPN L3VPN over GRE feature provides a mechanism for tunneling Multiprotocol Label Switching (MPLS) packets over non-MPLS networks. This feature allows you to create a generic routing encapsulation (GRE) tunnel across a non-MPLS network. The MPLS packets are encapsulated within the GRE tunnel packets, and the encapsulated packets traverse the non-MPLS network through the GRE tunnel. When GRE tunnel packets are received at the other side of the non-MPLS network, the GRE tunnel packet header is removed and the inner MPLS packet is forwarded to its final destination.

PE-to-PE Tunneling

The provider-edge-to-provider-edge (PE-to-PE) tunneling configuration provides a scalable way to connect multiple customer networks across a non-MPLS network. With this configuration, traffic that is destined to multiple customer networks is multiplexed through a single generic routing encapsulation (GRE) tunnel.


Note


A similar nonscalable alternative is to connect each customer network through separate GRE tunnels (for example, connecting one customer network to each GRE tunnel).


As shown in the figure below, the PE devices assign virtual routing and forwarding (VRF) numbers to the customer edge (CE) devices on each side of the non-MPLS network.

The PE devices use routing protocols such as Border Gateway Protocol (BGP), Open Shortest Path First (OSPF), or Routing Information Protocol (RIP) to learn about the IP networks behind the CE devices. The routes to the IP networks behind the CE devices are stored in the associated CE device’s VRF routing table.

The PE device on one side of the non-MPLS network uses the routing protocols (that operate within the non-MPLS network) to learn about the PE device on the other side of the non-MPLS network. The learned routes that are established between the PE devices are then stored in the main or default routing table.

The opposing PE device uses BGP to learn about the routes that are associated with the customer networks that are behind the PE devices. These learned routes are not known to the non-MPLS network.

The following figure shows BGP defining a static route to the BGP neighbor (the opposing PE device) through the GRE tunnel that spans the non-MPLS network. Because routes that are learned by the BGP neighbor include the GRE tunnel next hop, all customer network traffic is sent using the GRE tunnel.

Figure 1. PE-to-PE Tunneling

P-to-PE Tunneling

As shown in the figure below, the provider-to-provider-edge (P-to-PE) tunneling configuration provides a way to connect a PE device (P1) to a Multiprotocol Label Switching (MPLS) segment (PE-2) across a non-MPLS network. In this configuration, MPLS traffic that is destined to the other side of the non-MPLS network is sent through a single generic routing encapsulation (GRE) tunnel.

Figure 2. P-to-PE Tunneling

P-to-P Tunneling

As shown in the figure below, the provider-to-provider (P-to-P) configuration provides a method of connecting two Multiprotocol Label Switching (MPLS) segments (P1 to P2) across a non-MPLS network. In this configuration, MPLS traffic that is destined to the other side of the non-MPLS network is sent through a single generic routing encapsulation (GRE) tunnel.

Figure 3. P-to-P Tunneling

How to Configure MPLS VPN L3VPN over GRE

Configuring the MPLS over GRE Tunnel Interface

To configure the MPLS over GRE feature, you must create a generic routing encapsulation (GRE) tunnel to span the non-MPLS networks. You must perform the following procedure on the devices located at both ends of the GRE tunnel.

SUMMARY STEPS

    1.    enable

    2.    configure terminal

    3.    interface tunnel tunnel-number

    4.    ip address ip-address mask

    5.    tunnel source source-address

    6.    tunnel destination destination-address

    7.    mpls ip

    8.    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 interface tunnel tunnel-number


    Example:
    Device(config)# interface tunnel 1
     

    Creates a tunnel interface and enters interface configuration mode.

     
    Step 4 ip address ip-address mask


    Example:
    Device(config-if)# ip address 10.0.0.1 255.255.255.0 
     

    Assigns an IP address to the tunnel interface.

     
    Step 5 tunnel source source-address


    Example:
    Device(config-if)# tunnel source 10.1.1.1
     

    Specifies the tunnel’s source IP address.

     
    Step 6 tunnel destination destination-address


    Example:
    Device(config-if)# tunnel destination 10.1.1.2
     

    Specifies the tunnel’s destination IP address.

     
    Step 7 mpls ip


    Example:
    Device(config-if)# mpls ip
     

    Enables Multiprotocol Label Switching (MPLS) on the tunnel’s physical interface.

     
    Step 8 end


    Example:
    Device(config-if)# end
     

    Returns to privileged EXEC mode.

     

    Configuration Examples for MPLS VPN L3VPN over GRE

    Example: Configuring a GRE Tunnel That Spans a non-MPLS Network

    The following example shows a generic routing encapsulation (GRE) tunnel configuration that spans a non-MPLS network. This example shows the tunnel configuration on the provider edge (PE) devices (PE1 and PE2) located at both ends of the tunnel:

    PE1 Configuration

    Device# configure terminal
    Device(config)# interface Tunnel 1
    Device(config-if)# ip address 10.1.1.1 255.255.255.0
    Device(config-if)# tunnel source 10.0.0.1
    Device(config-if)# tunnel destination 10.0.0.2
    Device(config-if)# mpls ip
    

    PE2 Configuration

    Device# configure terminal
    Device(config)# interface Tunnel 1
    Device(config-if)# ip address 10.1.1.2 255.255.255.0
    Device(config-if)# tunnel source 10.0.0.2
    Device(config-if)# tunnel destination 10.0.0.1
    Device(config-if)# mpls ip
    

    Example: MPLS Configuration with MPLS VPN L3VPN over GRE

    The following basic Multiprotocol Label Switching (MPLS) configuration example uses a generic routing encapsulation (GRE) tunnel to span a non-MPLS network. This example is similar to the configuration shown in the first figure above.

    PE1 Configuration

    !
    mpls ip
    !
    ip vrf vpn1
    rd 100:1
    route-target import 100:1
    route-target export 100:1
    !
     interface loopback 0
     ip address 10.2.2.2 255.255.255.255
    !
     interface GigabitEthernet 0/1/2
     ip address 10.1.1.1 255.255.255.0
    !
     interface Tunnel 1
     ip address 10.0.0.1 255.255.255.0
     tunnel source 10.1.1.1
     tunnel destination 10.1.1.2
     mpls ip
    !
     interface GigabitEthernet 0/1/3
     ip vrf forwarding vpn1
     ip address 10.10.0.1 255.255.255.0
    !
    router bgp 100
    neighbor 10.5.5.5 remote-as 100
    neighbor 10.5.5.5 update-source loopback0
    !
    address-family vpnv4
    neighbor 10.5.5.5 activate
    neighbor 10.5.5.5 send community-extended
    !
    address-family ipv4 vrf vpn1
    neighbor 10.10.0.2 remote-as 20
    neighbor 10.10.0.2 activate
    !

    PE2 Configuration

    !
    mpls ip
    !
    ip vrf vpn1
    rd 100:1
    route-target import 100:1
    route-target export 100:1
    !
     interface loopback 0
     ip address 10.5.5.5 255.255.255.255
    !
     interface GigabitEthernet 0/1/1
     ip address 10.1.1.2 255.255.255.0
    !
     interface Tunnel 1
     ip address 10.0.0.2 255.255.255.0
     tunnel source 10.1.1.2
     tunnel destination 10.1.1.1
     mpls ip
    !
     interface GigabitEthernet 0/0/5
     ip vrf forwarding vpn1
     ip address 10.1.2.1 255.255.255.0
    !
    router bgp 100
    neighbor 10.2.2.2 remote-as 100
    neighbor 10.2.2.2 update-source loopback0
    !
    address-family vpnv4
    neighbor 10.2.2.2 activate
    neighbor 10.2.2.2 send community-extended
    !
    address-family ipv4 vrf vpn1
    neighbor 10.1.2.2 remote-as 30
    neighbor 10.1.2.2 activate
    !

    Additional References

    Related Documents

    Related Topic

    Document Title

    Cisco IOS commands

    Cisco IOS Master Command List, All Releases

    Multiprotocol Label Switching (MPLS) commands

    Cisco IOS Multiprotocol Label Switching Command Reference

    Setting up MPLS VPN networks for Multiprotocol Border Gateway Protocol (MP-BGP)

    “Multiprotocol BGP MPLS VPN" module

    Label Distribution Protocol

    “Label Distribution Protocol” module in the MPLS Label Distribution Protocol Configuration Guide

    Configuring L3 VPN over mGRE tunnels

    “Dynamic Layer 3 VPNs with Multipoint GRE Tunnels” module

    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 L3VPN over GRE

    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 L3VPN over GRE

    Feature Name

    Releases

    Feature Information

    MPLS VPN L3VPN over GRE feature

    12.0(22)S

    12.0(26)S

    12.2(33)SRE

    15.0(1)S

    15.2(1)S

    15.2(4)S

    Cisco IOS XE Release 2.1

    The MPLS VPN L3VPN over GRE feature provides a mechanism for tunneling Multiprotocol Label Switching (MPLS) packets over a non-MPLS network.

    Depending on your release, you can configure tunnels with the same source address in a PE-to-PE tunneling configuration.

    No commands were introduced or modified.