The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
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.
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.
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.
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.
Procedure
Command or Action
Purpose
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:
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.
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.
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.