Quagga to Click interface for routes pushing
Piotr Jurkiewicz <[email protected]> Thu, 2 May 2013 12:05:19 +0200
| Newsgroups | gmane.network.routing.click |
|---|---|
| Message-ID | <CAEuwjByG3Df9TY73Zb=TYRf2CqGfqNyEb5E4pu6GzB=JxBgg2A@mail.gmail.com> |
I am a MSc student at AGH University of Science and Technology, Krakow, Poland. We are using Click in many research projects here. It is a really great tool. However, as you may know, there is a problem with using dynamic routing protocols together with Click. There are two widespread open source routing protocols daemons: XORP and Quagga. XORP has built in Click support, but integrating it with Click is pretty tricky. Many users are unable to cope with that (basing on opinions found on forums and mailing lists). Quagga is more popular and better maintained suit from XORP. But it lacks of Click support. Last time Quagga has introduced FIB push interface ( http://www.nongnu.org/quagga/docs/docs-info.html#zebra-FIB-push-interface). It could be used for pushing routing information to the (hardware or software) dataplane. Quagga is participating this year in Google Summer of Code. Therefore, I came up with the idea of implementing Quagga -> Click interface as my GSoC project. The plan for now is as follows: - create Click element which will accept connection from Quagga interface, for example: "QuaggaSocket(IPRouteTable rt)" - the element will receive route updates from Quagga and update table rt inside the Click - this will work in case of userlevel Click In case of kernel Click I plan as follows: - implement ability for pushing FIB data through the file socket (in addition to existing TCP socket support) in Quagga's FIB push interface - element "QuaggaSocket(IPRouteTable rt)" in case of kernel will receive data from Quagga through the handler (file in /click filesystem which will Quagga write into) I have already submitted that idea to Quagga developers and I received a moderate enthusiasm. I am very keen on this idea. I think that the implementation of Click -> Quagga interface could be very profitable for both. The choice of the accepted projects will be made by Quagga maintainers. Therefore, I would be very grateful if you could support my proposal. For example you could write a post on the Quagga dev mailing list supporting the idea: http://lists.quagga.net/pipermail/quagga-dev/2013-April/010490.html You can found my proposal here: http://www.google-melange.com/gsoc/proposal/review/google/gsoc2013/piotrjurkiewicz/1