VRF/MPLS on Linux

Glen Turner gdt at gdt.id.au
Wed Aug 24 03:16:54 UTC 2011

On Tue, 2011-08-23 at 13:45 +0000, nanog at rhemasound.org wrote:
> While I have found some information on a project called linux-mpls I am having a hard time finding any solid VRF framework for Linux.

The Linux kernel as shipped by Linus supports multiple routing tables
and allows you to forward traffic from interfaces to differing tables --
that is, can implement VRF. The abstraction is better than on most
routers, with policy routing allowing the selection of the routing table
(to implement a VRF the policy is a simple "if received on interface X
then use realm N"). Searching "realms" or running "man ip" will get you

The Linus kernel does not have support for MPLS. You could patch the
kernel, and then use Quagga as the router to populate the MPLS
forwarding table. But personally, if you have a MPLS-speaking router
upstream I'd simply bridge each MPLS tunnel into a VLAN to the Linux
computer. Then you can use a stock vendor kernel, with its lack of
maintenance hassles.

 Glen Turner <http://www.gdt.id.au/~gdt/>

More information about the NANOG mailing list