Re: Making NM portable



On Sep 26, 2008, at 5:17 AM, Dan Williams wrote:

On Fri, 2008-09-26 at 10:22 +0530, Debarshi Ray wrote:
I'd actually rather just link to libnl on Linux and libroute on *BSD I
think, abstracting the two inside NM.  Because unless you want to
basically copy the functionality of libnl into libroute (which might
take a while) it's probably easier to just abstract it in NM.

Going to agree with Dan here. Not really a need to make libroute do what
libnl does... we already have libnl.  We can create the necessary
abstractions inside NetworkManager so we can work with either libnl or
libroute.

Looking at it from the Inetutils aspect, there is a plan to implement
a portable 'route' using 'libroute', so if 'libroute' has support for
various kernels (including Linux), it makes it easy to write 'route'
as a client program using 'libroute'. Since I am trying to keep the
same interface for adding, deleting, showing, etc. across different
backends it would become really easy to write portable client
applications.

Yeah, but NM uses libnl for all address operations too.  So unless
libroute adds addressing abstractions, NM will still use libnl code
internally.


libnl exposes the kernel Netlink API to us in userspace. Address operations and routing table manipulation are a tiny subset of what it can do. We can also work with interfaces directly and modify settings, such as the MTU.

If you want routing functionality for Linux in libroute, I'd say just have libroute link with libnl. All of the hard work is done for you. Then we can use libnl and libroute in NM and gain FreeBSD support and still have all of the Linux support we need/want.

--
David Cantrell <dcantrell redhat com>
Red Hat / Honolulu, HI



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]