Hello everybody, First of all, let me introduce myself. I am Renato Westphal, I work as a computer engineer in Brazil and I'm a maintainer of the MPLS-Linux project. A couple of years ago I accidentally found that OpenBSD already had built-in support for MPLS and, surprisingly, a fully working implementation of the LDP daemon. I decided to checkout the code and I really liked what I saw, the code was beautiful and easy to work with. After that, I took the decision to port that code to Quagga/Linux and, after some time, it worked out well*. This year I decided to work again on ldpd to fix all the existing bugs and make the code more robust. Instead of working directly on my Quagga port, I decided to fix all the existing bugs in the original implementation and then re-start the port to Quagga/Linux. This way both projects would benefit from my work.
With that said, the patches below are the first part of my work: https://github.com/rwestphal/openbsd-ldpd/commits/renato Summary of the patches: * Added support for hello adjacencies and targeted hellos (which is half the way to implement the draft martini L2VPN and VPLS control plane); * Added support for multiple addresses per interface; * Major improvements on session convergence time; * Many bug fixes, code simplification and removal of dead code. My next priorities: * Implement the "reload configuration" (sighup) functionality; * Review the label mapping algorithms. I would like to get these patches reviewed and hopefully integrated. Any comments would be appreciated ;) Regards, Renato. [*] https://github.com/rwestphal/quagga-public/commits/mpls -- Renato Westphal