From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50797) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b5B5M-00028f-5o for qemu-devel@nongnu.org; Tue, 24 May 2016 08:05:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b5B5H-0006DY-1U for qemu-devel@nongnu.org; Tue, 24 May 2016 08:05:19 -0400 Received: from jessie.kos.to ([212.47.231.226]:49616 helo=pilvi.kos.to) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b5B5G-0006DE-Mf for qemu-devel@nongnu.org; Tue, 24 May 2016 08:05:14 -0400 Date: Tue, 24 May 2016 15:05:08 +0300 From: Riku Voipio Message-ID: <20160524120508.GA7582@beaming.home> References: <1463936181-23683-1-git-send-email-laurent@vivier.eu> <20160524082923.GA4784@beaming.home> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v2 0/3] linux-user: netlink support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laurent Vivier Cc: qemu-devel@nongnu.org, Peter Maydell On Tue, May 24, 2016 at 10:42:01AM +0200, Laurent Vivier wrote: > Le 24/05/2016 =C3=A0 10:29, Riku Voipio a =C3=A9crit : > > 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. > >=20 > > Ok, I can wait for V3. >=20 > Well, I've forgotten to remove this part from the first series version = :) =20 > So, if it doesn't break anything and bring some improvements, I think > you can apply it. Ok, fair enough, applied. > There are two remaining problems: > - missing nested types on ppc64 > - some unknown IFA types on ppc64le/debian 8.3 (could be unimplemented > flags management) > > But I think this can wait. Since it's new stuff, I agree > ppc64/ppc64le can also be broken because of missing instructions, not > because netlink implementation. >=20 > >=20 > >> 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. > >=20 > > Tested on arm64 and seems to work fine (didn't test dhcp). >=20 > Thanks >=20 > >=20 > >> * 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(-) > >> > >> --=20 > >> 2.5.5 > >> > Laurent