All of lore.kernel.org
 help / color / mirror / Atom feed
* [RFC PATCH 0/3] Userspace compatible driver model for virtio_bypass
@ 2018-04-01  9:13 ` Si-Wei Liu
  0 siblings, 0 replies; 109+ messages in thread
From: Si-Wei Liu @ 2018-04-01  9:13 UTC (permalink / raw)
  To: mst, jiri, stephen, alexander.h.duyck, davem, jesse.brandeburg,
	kubakici, jasowang, sridhar.samudrala, netdev, virtualization,
	virtio-dev

This RFC patch series attempts to hide the lower netdevs for virtio_bypass
from userspace visibility, and tighten up the association between virtio_bypass
and the lower passthrough netdev to be enslaved by binding to a specific device
identifier explicitly. This in turn has the benefits of taking the merit of the
2-netdev driver model from netvsc (userspace compliance) to a perfect sense,
while keeping the internal implementation still a 3-netdev model. There's no
loss of feature such as XDP, and continously adding improvements for performance
and features thanks to the good bypass nature of the 3-netdev model are also
possible in the long run.

As said, this change should make the code sharing between netvsc and virtio_bypass
easier and more approachable, as I think the concerns Stephen pointed out was
mainly regarding userspace compatibility and not the hardware offloading
tunables on the VF slave that had to be exposed to netvsc users today, if I'm
not mistaken.

Jiri expressed concerns around the weak check depending on MAC address only
during enslavement and we really need to do strict checks more than that. With
the change to requiring user explicitly specifying the passthrough device
to which virtio_bypass is expected to be bound, virtio_bypass now would match
device based on the PCI slot info in device tree, rather than rely on MAC
address inadvertently. In addition, the PCI slot info passed in will be helpful
to accommodate udevd to name the virtio_bypass interface specifically, making
a transparent and automatic upgrade from existing VF setup to virtio_bypass
possible (expect udevd patch to come later on).

Since I'd like to get the discussion going as early as possible, this series
just shows essential changes to a minimal set. Although not included in the
series, I would like to remind ahead that a few neccessary pieces must be built
upon the assumption of hidden lower netdevs and explicit binding. Such as
sysfs interfaces for udev's naming of virtio_bypass interace. Such as passing
down HW offloading configs to the active lower slave, and making it persistent
across live migration. And so on..

The current patch series is based on Sridhar's v4 patch "Enable virtio to act
as a backup for a passthru device", but I can resync anyway to his upcoming
version once posted.


Si-Wei Liu (1):
  qemu: virtio-bypass should explicitly bind to a passthrough device

 hw/net/virtio-net.c                         | 29 ++++++++++++-
 include/hw/pci/pci.h                        |  3 ++
 include/hw/virtio/virtio-net.h              |  2 +
 include/standard-headers/linux/virtio_net.h |  1 +
 qdev-monitor.c                              | 64 +++++++++++++++++++++++++++++
 5 files changed, 97 insertions(+), 2 deletions(-)

Si-Wei Liu (2):
  netdev: kernel-only IFF_HIDDEN netdevice
  virtio_net: make lower netdevs for virtio_bypass hidden

 drivers/net/virtio_net.c        | 159 +++++++++++++++++++++--
 include/linux/netdevice.h       |  12 ++
 include/net/net_namespace.h     |   2 +
 include/uapi/linux/virtio_net.h |   2 +
 net/core/dev.c                  | 281 +++++++++++++++++++++++++++++++++++-----
 net/core/net_namespace.c        |   1 +
 6 files changed, 411 insertions(+), 46 deletions(-)

-- 
1.8.3.1

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

end of thread, other threads:[~2018-04-19  6:44 UTC | newest]

Thread overview: 109+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-01  9:13 [RFC PATCH 0/3] Userspace compatible driver model for virtio_bypass Si-Wei Liu
2018-04-01  9:13 ` [virtio-dev] " Si-Wei Liu
2018-04-01  9:13 ` [RFC PATCH 1/3] qemu: virtio-bypass should explicitly bind to a passthrough device Si-Wei Liu
2018-04-01  9:13   ` [virtio-dev] " Si-Wei Liu
2018-04-03 12:25   ` Michael S. Tsirkin
2018-04-03 12:25   ` Michael S. Tsirkin
2018-04-03 12:25     ` [virtio-dev] " Michael S. Tsirkin
2018-04-04  8:02     ` Siwei Liu
2018-04-04  8:02     ` Siwei Liu
2018-04-04  8:02       ` Siwei Liu
2018-04-05 15:31       ` Paolo Bonzini
2018-04-07  2:54         ` Siwei Liu
2018-04-07  2:54         ` Siwei Liu
2018-04-07  2:54           ` [virtio-dev] " Siwei Liu
2018-04-01  9:13 ` [RFC PATCH 2/3] netdev: kernel-only IFF_HIDDEN netdevice Si-Wei Liu
2018-04-01  9:13   ` [virtio-dev] " Si-Wei Liu
2018-04-01 16:11   ` David Ahern
2018-04-03  7:40     ` Siwei Liu
2018-04-03  7:40     ` Siwei Liu
2018-04-03  7:40       ` [virtio-dev] " Siwei Liu
2018-04-03 14:57       ` David Ahern
2018-04-03 15:42     ` Jiri Pirko
2018-04-03 15:42     ` Jiri Pirko
2018-04-03 19:23       ` Siwei Liu
2018-04-03 19:23       ` Siwei Liu
2018-04-03 19:23         ` [virtio-dev] " Siwei Liu
2018-04-04  1:04       ` David Ahern
2018-04-04  6:19         ` Jiri Pirko
2018-04-04  8:01           ` Siwei Liu
2018-04-04  8:01             ` [virtio-dev] " Siwei Liu
2018-04-04  8:01           ` Siwei Liu
2018-04-04  6:19         ` Jiri Pirko
2018-04-04  7:36         ` Siwei Liu
2018-04-04  7:36         ` Siwei Liu
2018-04-04  7:36           ` [virtio-dev] " Siwei Liu
2018-04-04 17:21           ` David Ahern
2018-04-04 17:37             ` David Miller
2018-04-04 18:20               ` Jiri Pirko
2018-04-04 18:20               ` Jiri Pirko
2018-04-07  2:32               ` Siwei Liu
2018-04-07  2:32                 ` [virtio-dev] " Siwei Liu
2018-04-07  3:19                 ` Andrew Lunn
2018-04-09 22:07                   ` Siwei Liu
2018-04-09 22:07                   ` Siwei Liu
2018-04-09 22:07                     ` [virtio-dev] " Siwei Liu
2018-04-09 22:15                     ` Andrew Lunn
2018-04-09 22:15                     ` Andrew Lunn
2018-04-09 22:30                       ` Siwei Liu
2018-04-09 22:30                         ` [virtio-dev] " Siwei Liu
2018-04-09 23:03                         ` Stephen Hemminger
2018-04-09 23:31                           ` Siwei Liu
2018-04-09 23:31                           ` Siwei Liu
2018-04-09 23:31                             ` [virtio-dev] " Siwei Liu
2018-04-09 23:03                         ` Stephen Hemminger
2018-04-08 16:32                 ` David Miller
2018-04-10  6:48                   ` Siwei Liu
2018-04-10  6:48                     ` [virtio-dev] " Siwei Liu
2018-04-18  0:26                     ` Siwei Liu
2018-04-18  0:26                     ` Siwei Liu
2018-04-18  0:26                       ` [virtio-dev] " Siwei Liu
2018-04-18 23:33                       ` Samudrala, Sridhar
2018-04-18 23:33                       ` Samudrala, Sridhar
2018-04-18 23:33                         ` [virtio-dev] " Samudrala, Sridhar
2018-04-19  4:41                         ` Michael S. Tsirkin
2018-04-19  4:41                           ` [virtio-dev] " Michael S. Tsirkin
2018-04-19  5:00                           ` Samudrala, Sridhar
2018-04-19  5:00                             ` Samudrala, Sridhar
2018-04-19  5:07                             ` Michael S. Tsirkin
2018-04-19  5:07                             ` Michael S. Tsirkin
2018-04-19  5:07                               ` [virtio-dev] " Michael S. Tsirkin
2018-04-19  6:10                               ` Samudrala, Sridhar
2018-04-19  6:10                               ` Samudrala, Sridhar
2018-04-19  6:10                                 ` Samudrala, Sridhar
2018-04-19  6:43                                 ` Siwei Liu
2018-04-19  6:43                                 ` Siwei Liu
2018-04-19  6:43                                   ` Siwei Liu
2018-04-19  6:31                             ` Siwei Liu
2018-04-19  6:31                             ` Siwei Liu
2018-04-19  6:31                               ` [virtio-dev] " Siwei Liu
2018-04-19  5:00                           ` Samudrala, Sridhar
2018-04-19  4:41                         ` Michael S. Tsirkin
2018-04-10  6:48                   ` Siwei Liu
2018-04-08 16:32                 ` David Miller
2018-04-04 17:37             ` David Miller
2018-04-04 18:02             ` Siwei Liu
2018-04-04 18:02             ` Siwei Liu
2018-04-04  8:28         ` Siwei Liu
2018-04-04  8:28           ` [virtio-dev] " Siwei Liu
2018-04-04 17:37           ` David Ahern
2018-04-04 17:42             ` David Miller
2018-04-04 17:42             ` David Miller
2018-04-04 17:44             ` Stephen Hemminger
2018-04-04 17:44             ` Stephen Hemminger
2018-04-04 20:08             ` Andrew Lunn
2018-04-04 20:08             ` Andrew Lunn
2018-04-04  8:28         ` Siwei Liu
2018-04-03 17:35   ` Stephen Hemminger
     [not found]     ` <CADGSJ23vZdtQzWdc_6M_Hr4MUej--wgvJ785DwRF3VaPWS1rpA@mail.gmail.com>
     [not found]       ` <20180403160834.51594373@xeon-e3>
2018-04-06 21:29         ` Siwei Liu
2018-04-06 21:29         ` Siwei Liu
2018-04-06 21:29           ` [virtio-dev] " Siwei Liu
2018-04-03 17:35   ` Stephen Hemminger
2018-04-01  9:13 ` [RFC PATCH 3/3] virtio_net: make lower netdevs for virtio_bypass hidden Si-Wei Liu
2018-04-01  9:13   ` [virtio-dev] " Si-Wei Liu
2018-04-03 12:20   ` Michael S. Tsirkin
2018-04-03 12:20   ` Michael S. Tsirkin
2018-04-03 12:20     ` [virtio-dev] " Michael S. Tsirkin
2018-04-04  8:03     ` Siwei Liu
2018-04-04  8:03     ` Siwei Liu
2018-04-04  8:03       ` Siwei Liu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.