[quagga-dev 10231] Dummy FPM route generator, and MPLS FPM route updates

Oliver Fisher ofisher at google.com
Fri Jan 25 03:40:16 GMT 2013

*Hi there. Over the past 12 weeks I have been working as an intern for
Google contributing to RouteFlow https://sites.google.com/site/routeflow/,
and to a lesser extent Quagga.

In particular I have been working on getting RouteFlow connecting to the
new FPM interface in Quagga.

This has been done for IP routes, and I have been working on extending this
to MPLS routes, however this work is incomplete, but I want to share what I
have so that anyone who wishes to do the same thing may use it as a
starting point.

I created a program, which I call FPMSim, which is a small command line
program that can create arbitrary IP route updates and sends them to a FPM
server. So if you want to be able to connect to Quagga via the FPM
interface you can connect to FPMSim and use FPMSim.

So if you are working on something to connect to Quagga via the FPM
interface you can use FPMSim to test how it handles arbitrary FPM updates.

In addition I have worked on implementing sending MPLS updates via FPMSim.
There is however no corresponding implementation of sending MPLS updates
via the FPM interface in Quagga. I had hoped to work with Renato, who has
been working on a MPLS daemon for Quagga (which not yet part of the
official branch), to do this. But I ran out of time.

You can find the FPMSim here https://github.com/ofisher/FIMSim

I have been in touch with the author of the FPM interface when defining the
MPLS FPM extension (defined in mpls.h in FPMSim), so what I have should be
a good starting point, maybe even usable as is if someone wants to do the
same thing. I have taken into consideration endianness (everything is in
network order), IPv6 support and alignment.

The intention was that mpls.h and fpm.h would live in the fpm directory in
zebra, obviously this will require someone picking this up and running with
it and getting it accepted into Quagga

There is also some preliminary work which I have done with RouteFlow to
accept messages encoded in the format defined in mpls.h

If anyone has any questions they can email me at ofisherATgmailDOTcom
*Oliver Fisher*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quagga.net/pipermail/quagga-dev/attachments/20130125/83f53415/attachment-0001.html>

More information about the Quagga-dev mailing list