[quagga-dev 10150] Re: Zebra and Netlink (for LDP)
equinox at opensourcerouting.org
Mon Jan 7 14:31:36 GMT 2013
On Wed, Dec 19, 2012 at 01:51:36PM +0200, Timo Teras wrote:
> It appears that Renato just somehow pulled in the netlink libraries
> from iproute2. But since we have most of that zebra/rt_netlink.c. And
> seems that in commit 78deec4 "zebra: extern/extract some functions from
> rt_netlink.c" some of those were already exposed.
> I would need even more additional functions and things from there. So
> would it be feasible to separate those to "libnetlink.c" or some
> similar thing? Or just keep exporting stuff from rt_netlink.c?
I'd say it's preferable to reduce the amount of code maintained in
Quagga where reasonably possible. In this case we could either try and
pull entire files from iproute2 (whole files are easiest to keep in sync
in case someone fixes something upstream...) or alternatively remove it
from Quagga and use an external library. Picking one instead of mixing
would certainly be appreciated...
Renato had asked about libmnl, I think that was a good idea since it
mimics the kernel API and is relatively low-level. With libnl on the
other hand I've made very negative experiences myself. iproute2's
libnetlink, OTOH, is supposed to be an internal library and isn't
installed by default. Debian doesn't have it in the package, Gentoo
So, order of prettyness:
2. libnetlink, linked as external library
3. 1:1 import copy of libnetlink
4. partial import copy of libnetlink
5. mixture of any of the above
More input very welcome, in particular my opinion about libmnl is rather
weak and based on superficial inspection...
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 230 bytes
Desc: Digital signature
More information about the Quagga-dev