On Sun, May 22, 2016 at 06:56:18PM +0200, Laurent Vivier wrote: > It is now possible to register handlers to a file descriptor > to translate a data stream transiting by this file descriptor. > > We can now decode netlink information coming from the guest > and inject a translated one into the host, and vice-versa. > > This series is an "RFC" because it works (we can boot a > container using systemd and use iproute tools) but some > problems remain.
Ok, I can wait for V3. > Some results (x86_64 host) with some guests: > > * ppc: it can boot a debian 8.2/8.3 (Jessie) LXC container > and networking works fine (dhcp and "apt-get upgrade"). > > "ip link" generates some traces in the kernel log: > "netlink: 8 bytes leftover after parsing attributes in process `ip'." > > * ppc64: it can boot a fedora 21 LXC container. > > Some issues with dhclient and "dnf update" > -> missing netlink nested types 18 and 26 > -> uniplemented instruction "evmheumiaaw" > > "ip link" generates some traces in the kernel log: > "netlink: 8 bytes leftover after parsing attributes in process `ip'." > > * ppc64le: Debian 8.3 (Jessie). > > ip commands work fine, but "apt-get update" generates some netlink > invalid types (and fails): > Unknown target IFA type: 130 > Unknown target IFA type: 59722 > Unknown target IFA type: 59657 > Unknown target IFA type: 15648 > Unknown target IFA type: 32008 > Unknown target IFA type: 16590 > > * sh4: container doesn't work but 'ip' in a chroot works well. > > * arm: Raspbian 8.3 (Jessie) works fine. Tested on arm64 and seems to work fine (didn't test dhcp). > * s390x: container Debian 8.1 boots well, but "apt-get" hangs on > networking (name resolution?). > > "ip link" generates some traces in the kernel log: > "netlink: 8 bytes leftover after parsing attributes in process `ip'." > > v2: > > Check domain before opening socket > Remove cast to int of sizeof() > Move NLMSG_DONE into the switch() > Fix '{' in 'case:' > Reorder data types by type size > Add new conversions (IFLA_STATS, IFLA_STATS64, IFLA_MAP) > Add warning for nested type (not supported) > Add logs with gemu_log() > Don't convert rta_len and rta_type in the error case > > Laurent Vivier (3): > linux-user: add rtnetlink(7) support > linux-user: support netlink protocol NETLINK_KOBJECT_UEVENT > linux-user: add netlink audit > > linux-user/syscall.c | 643 > ++++++++++++++++++++++++++++++++++++++++++++++++++- > 1 file changed, 637 insertions(+), 6 deletions(-) > > -- > 2.5.5 >