Warning message

  • Cisco Support Forums is in Read Only mode while the site is being migrated.
  • Cisco Support Forums is in Read Only mode while the site is being migrated.

MPLS VPN over non-MPLS backbone

Unanswered Question
Apr 2nd, 2006
User Badges:


Let's say you have a non-MPLS backbone in which you have two PE routers(maybe it doesn't fit the traditional PE definition, but let's call then customer-facing routers). You have a MP-GP session between the two PEs advertising prefixes and VPN labels.

If you configure GRE tunnel or L2TPv3 tunnel with no LDP over them between the two PEs and make sure that Loopback interfaces (next_hop attribute) are available through the tunnels, will it be possibe to send the traffic and maintain connectivity for VPN customers?

In this case the packet within the backbone would look like (in GRE case):

IP|GRE|VPN Label|Payload

IP is the outer IP header for GRE tunnel endpoints.

GRE will also need to support MPLS in "Protocol Type" field in GRE header, which I suppose it does...



  • 1
  • 2
  • 3
  • 4
  • 5
Overall Rating: 4 (2 ratings)
mheusinger Sun, 04/02/2006 - 15:48
User Badges:
  • Green, 3000 points or more


the problem I do forsee is that on a normal GRE interface (like any other interface) MPLS forwarding is not enabled. Thus the LFIB will contain an "untagged" entry and the VPN label will not be sent.

You will need "mpls ip" on the GRE tunnel interface, something like this:

interface tunnel1

ip unnumbered Loopback0

mpls label protocol ldp

mpls mtu 1504

mpls ip

So in brief: even with PE routers connected back-to-back (tunnel or "real" interface) you need LDP enabled on the interface.

Hope this helps! Please rate al posts.

Regards, Martin

pkhatri Sun, 04/02/2006 - 15:52
User Badges:
  • Purple, 4500 points or more

Hi David,

Section 4.3.2 of draft-ietf-ppvpn-rfc2547bis-03.txt explicitly states that this is possible. In fact, there is (or used to be) an IETF draft describing this very feature:


There might have been a later version of that draft.

I'm not sure if there are any implementations out there, though.

Hope that helps - pls rate the post if it does.



This Discussion