qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v2 0/3] linux-user: netlink support
@ 2016-05-22 16:56 Laurent Vivier
  2016-05-22 16:56 ` [Qemu-devel] [PATCH v2 1/3] linux-user: add rtnetlink(7) support Laurent Vivier
                   ` (3 more replies)
  0 siblings, 4 replies; 20+ messages in thread
From: Laurent Vivier @ 2016-05-22 16:56 UTC (permalink / raw)
  To: Riku Voipio; +Cc: qemu-devel, Peter Maydell, Laurent Vivier

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

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2016-06-14 10:03 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-22 16:56 [Qemu-devel] [PATCH v2 0/3] linux-user: netlink support Laurent Vivier
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

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).