search for: virtnet_bypass_netdev_ops

Displaying 9 results from an estimated 9 matches for "virtnet_bypass_netdev_ops".

2018 Feb 17
1
[RFC PATCH v3 2/3] virtio_net: Extend virtio to use VF datapath when available
...mind saying what the challenges/downsides were? > +static struct net_device * > +get_virtnet_bypass_bymac(struct net *net, const u8 *mac) > +{ > + struct net_device *dev; > + > + ASSERT_RTNL(); > + > + for_each_netdev(net, dev) { > + if (dev->netdev_ops != &virtnet_bypass_netdev_ops) > + continue; /* not a virtnet_bypass device */ Is there anything inherently wrong with enslaving another virtio dev now? I was expecting something like a hash map to map MAC addr -> master and then one can check if dev is already enslaved to that master. Just a random thought, I...
2018 Feb 16
0
[RFC PATCH v3 2/3] virtio_net: Extend virtio to use VF datapath when available
...erence(vbi->backup_netdev); + if (child_netdev) { + ret = dev_set_mtu(child_netdev, new_mtu); + if (ret) + netdev_err(child_netdev, + "Unexpected failure to set mtu to %d\n", + new_mtu); + } + + dev->mtu = new_mtu; + return 0; +} + +static const struct net_device_ops virtnet_bypass_netdev_ops = { + .ndo_open = virtnet_bypass_open, + .ndo_stop = virtnet_bypass_close, + .ndo_start_xmit = virtnet_bypass_start_xmit, + .ndo_select_queue = virtnet_bypass_select_queue, + .ndo_get_stats64 = virtnet_bypass_get_stats, + .ndo_change_mtu = virtnet_bypass_change_mtu, + .ndo_validate_addr = eth_v...
2018 Feb 16
8
[RFC PATCH v3 0/3] Enable virtio_net to act as a backup for a passthru device
Patch 1 introduces a new feature bit VIRTIO_NET_F_BACKUP that can be used by hypervisor to indicate that virtio_net interface should act as a backup for another device with the same MAC address. Ppatch 2 is in response to the community request for a 3 netdev solution. However, it creates some issues we'll get into in a moment. It extends virtio_net to use alternate datapath when available
2018 Feb 16
8
[RFC PATCH v3 0/3] Enable virtio_net to act as a backup for a passthru device
Patch 1 introduces a new feature bit VIRTIO_NET_F_BACKUP that can be used by hypervisor to indicate that virtio_net interface should act as a backup for another device with the same MAC address. Ppatch 2 is in response to the community request for a 3 netdev solution. However, it creates some issues we'll get into in a moment. It extends virtio_net to use alternate datapath when available
2018 Apr 06
0
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...t; + rcu_read_unlock(); >> +} > This should be moved to bypass module. Sure. All these bypass ndo_ops can be moved to bypass module and any paravirtual driver that want to go with 3 netdev model can reuse these functions. > > >> + >> +static const struct net_device_ops virtnet_bypass_netdev_ops = { >> + .ndo_open = virtnet_bypass_open, >> + .ndo_stop = virtnet_bypass_close, >> + .ndo_start_xmit = virtnet_bypass_start_xmit, >> + .ndo_select_queue = virtnet_bypass_select_queue, >> + .ndo_get_stats64 = virtnet_bypass_get_stats, >> + .ndo_change_mtu = v...
2018 Apr 06
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...v = rcu_dereference(vbi->backup_netdev); >+ if (child_netdev) { >+ dev_uc_sync_multiple(child_netdev, dev); >+ dev_mc_sync_multiple(child_netdev, dev); >+ } >+ >+ rcu_read_unlock(); >+} This should be moved to bypass module. >+ >+static const struct net_device_ops virtnet_bypass_netdev_ops = { >+ .ndo_open = virtnet_bypass_open, >+ .ndo_stop = virtnet_bypass_close, >+ .ndo_start_xmit = virtnet_bypass_start_xmit, >+ .ndo_select_queue = virtnet_bypass_select_queue, >+ .ndo_get_stats64 = virtnet_bypass_get_stats, >+ .ndo_change_mtu = virtnet_bypass_change_mtu, >...
2018 Apr 06
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...v = rcu_dereference(vbi->backup_netdev); >+ if (child_netdev) { >+ dev_uc_sync_multiple(child_netdev, dev); >+ dev_mc_sync_multiple(child_netdev, dev); >+ } >+ >+ rcu_read_unlock(); >+} This should be moved to bypass module. >+ >+static const struct net_device_ops virtnet_bypass_netdev_ops = { >+ .ndo_open = virtnet_bypass_open, >+ .ndo_stop = virtnet_bypass_close, >+ .ndo_start_xmit = virtnet_bypass_start_xmit, >+ .ndo_select_queue = virtnet_bypass_select_queue, >+ .ndo_get_stats64 = virtnet_bypass_get_stats, >+ .ndo_change_mtu = virtnet_bypass_change_mtu, >...
2018 Apr 05
0
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
..._netdev, dev); + dev_mc_sync_multiple(child_netdev, dev); + } + + child_netdev = rcu_dereference(vbi->backup_netdev); + if (child_netdev) { + dev_uc_sync_multiple(child_netdev, dev); + dev_mc_sync_multiple(child_netdev, dev); + } + + rcu_read_unlock(); +} + +static const struct net_device_ops virtnet_bypass_netdev_ops = { + .ndo_open = virtnet_bypass_open, + .ndo_stop = virtnet_bypass_close, + .ndo_start_xmit = virtnet_bypass_start_xmit, + .ndo_select_queue = virtnet_bypass_select_queue, + .ndo_get_stats64 = virtnet_bypass_get_stats, + .ndo_change_mtu = virtnet_bypass_change_mtu, + .ndo_set_rx_mode = virtnet...
2018 Apr 05
6
[RFC PATCH net-next v5 0/4] Enable virtio_net to act as a backup for a passthru device
The main motivation for this patch is to enable cloud service providers to provide an accelerated datapath to virtio-net enabled VMs in a transparent manner with no/minimal guest userspace changes. This also enables hypervisor controlled live migration to be supported with VMs that have direct attached SR-IOV VF devices. Patch 1 introduces a new feature bit VIRTIO_NET_F_BACKUP that can be used