qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Laurent Vivier <laurent@vivier.eu>
To: Riku Voipio <riku.voipio@iki.fi>
Cc: qemu-devel@nongnu.org, Peter Maydell <peter.maydell@linaro.org>,
	Laurent Vivier <laurent@vivier.eu>
Subject: [Qemu-devel] [PATCH v2 0/3] linux-user: netlink support
Date: Sun, 22 May 2016 18:56:18 +0200	[thread overview]
Message-ID: <1463936181-23683-1-git-send-email-laurent@vivier.eu> (raw)

Since commit:
e36800c linux-user: add signalfd/signalfd4 syscalls

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.

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.

* 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

             reply	other threads:[~2016-05-22 16:56 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-22 16:56 Laurent Vivier [this message]
2016-05-22 16:56 ` [Qemu-devel] [PATCH v2 1/3] linux-user: add rtnetlink(7) support Laurent Vivier
2016-06-14  9:34   ` Peter Maydell
2016-06-14 10:03     ` Laurent Vivier
2016-05-22 16:56 ` [Qemu-devel] [PATCH v2 2/3] linux-user: support netlink protocol NETLINK_KOBJECT_UEVENT Laurent Vivier
2016-05-22 16:56 ` [Qemu-devel] [PATCH v2 3/3] linux-user: add netlink audit Laurent Vivier
2016-05-24  8:29 ` [Qemu-devel] [PATCH v2 0/3] linux-user: netlink support Riku Voipio
2016-05-24  8:34   ` Peter Maydell
2016-05-24  8:50     ` Laurent Vivier
2016-05-24  8:42   ` Laurent Vivier
2016-05-24 12:05     ` Riku Voipio
2016-05-24 12:54       ` Riku Voipio
2016-05-24 13:08         ` Peter Maydell
2016-05-25 11:06           ` Riku Voipio
2016-05-25 12:31             ` Peter Maydell
2016-05-25 13:25               ` Laurent Vivier
2016-06-02 15:34         ` Laurent Vivier
2016-06-02 15:39           ` Peter Maydell
2016-06-02 15:45             ` Laurent Vivier
2016-06-02 15:49               ` Peter Maydell

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1463936181-23683-1-git-send-email-laurent@vivier.eu \
    --to=laurent@vivier.eu \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.org \
    --cc=riku.voipio@iki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).