[quagga-dev 10018] Re: MPLS, LDP, etc.

David Lamparter equinox at opensourcerouting.org
Thu Nov 22 14:16:28 GMT 2012

Hi Timo,

On Mon, Nov 19, 2012 at 08:46:46AM +0200, Timo Teras wrote:
> I noted that there's been some queries on the MPLS support of Quagga.
> It is also mentioned that MPLS support for Quagga "is going on" [1].
> I did find two separate LDP implementations:
> - the original work of J.Leu [2]
> - the OpenBSD LDPd ported to Quagga, by Renato Westphal [3]
> It would appear that J.Leu's work is more complete, including BGP
> changes, and that Renatos tree contains only the OpenBSD LDP ported
> to Quagga.
> I will probably be interested to get one of these upstreamed, and a
> working MPLS+LDP+OSPF(+BGP) stack using Quagga on Linux (so yes, I would
> be also working with the kernel patch set at [4]).
> Is someone else already working on similar?

Yes and no - there's some work going into keeping LDP up to date;  other
than that things are mostly in a planning stage.

> Which one of the two above LDP implementations would be more likely to
> get upstreamed?

For LDP, that would be Renato's version;  the history is that Renato did
start off with James Leu's code but ended up throwing that away as it
seemed more work to fix that than to redo LDP.  It may be interesting to
look at the old work to get the protocols (re-)integrated.

The Linux kernel part is more problematic.  Igor Maravić is currently
maintaining it, but it's nowhere near kernel-mergeable quality.  As far
as I remember, it had been submitted to netdev several times and gotten
smacked down rather hard.  It seems that for now, Free/OpenBSD would be
the best choice to get a soft MPLS implementation.  Relatedly, with
OpenFlow integration, the idea is to bypass the kernel and have Quagga
directly configure labels in the switch.

NB: I don't know if the Free/OpenBSD MPLS kernel API is actually
compatible to the Linux one.

My overview is somewhat limited here, so please contact Renato/Igor. I
may inadvertedly have told some lies ;)

From an OpenSourceRouting point of view I can add that we have several
parties interested in getting MPLS in, and we hope to start tackling it
Q2 2013 (e.g. in about 4 months).  Our plan was to base off Renato's
work, (re-)integrate the other daemons, add OpenFlow.

If you start working on this now, we'd be very happy to keep in sync and
see how we can help.  We do, in particular, have LDP testsuites from
commerical test system vendors.

Also, if you want to coordinate with Renato and submit a LDP branch for
merging into Quagga, I would be very happy to pick that up, even without
working kernel backend.  Need to start somewhere...

Hope this helps,

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 230 bytes
Desc: Digital signature
URL: <http://lists.quagga.net/pipermail/quagga-dev/attachments/20121122/696a3931/attachment-0001.sig>

More information about the Quagga-dev mailing list