Hi, Gábor Boskovits <boskov...@gmail.com> skribis:
> Ludovic Courtès <l...@gnu.org> ezt írta (időpont: 2019. márc. 13., Sze, > 16:21): >> >> Hello Guix! > >> • IPv6 support in ‘static-networking-service’: as discussed at the >> Guix Days, we’ll probably need to Linux Netlink sockets to do that >> rather than the old ioctls currently used in (guix build syscalls). >> >> The netlink interface for network config is vaguely documented at >> <https://wiki.linuxfoundation.org/networking/generic_netlink_howto>. >> Writing bindings for ‘sendmsg’ and the associated data structures >> looks reasonable… it just needs to be done. >> > > I am interested in doing this. Awesome! > However, there are a few points that needs to be clarified: 1. I came > to the same conclusion regarding the netlink stuff, but the old ioctl > cannot be fully dropped. (It still provides funcions that are needed > to get the netlink working) Yes, I think we can keep it. > 2. This might be linux specific. What do we do on other kernels? > (It might be reasonable to provide the abstractions in a module, and > from there select an available implementation, or signal an error that > the functionality is not yet implemented for this system...) > Wdyt? For now, we’ll have to ignore the other kernel. Longer-term, I suppose we should provide an abstraction over network configuration and have it translated to Netlink messages or Hurd RPCs. > Also a nice low level binding written in C is available as libmnl: > https://netfilter.org/projects/libmnl/index.html Or libnl also. Though if it’s not too hard, I’d rather have us directly bind to ‘sendmsg’, ‘struct msghdr’, and so on. Thanks, Ludo’.