search for: dev_uc_sync_multiple

Displaying 20 results from an estimated 24 matches for "dev_uc_sync_multiple".

2018 May 07
1
[PATCH net-next v10 2/4] net: Introduce generic failover module
...t; + err = dev_open(slave_dev); > + if (err && (err != -EBUSY)) { > + netdev_err(failover_dev, "Opening slave %s failed err:%d\n", > + slave_dev->name, err); > + goto err_dev_open; > + } > + } > + > + netif_addr_lock_bh(failover_dev); > + dev_uc_sync_multiple(slave_dev, failover_dev); > + dev_uc_sync_multiple(slave_dev, failover_dev); > + netif_addr_unlock_bh(failover_dev); > + The order of these is backwards, you want to sync addresses before bringing up. Also, doing it this way does not allow udev/systemd the chance to rename VF devices. Th...
2018 May 22
0
[PATCH net-next v11 3/5] net: Introduce net_failover driver
...+ dev->mtu = new_mtu; + + return 0; +} + +static void net_failover_set_rx_mode(struct net_device *dev) +{ + struct net_failover_info *nfo_info = netdev_priv(dev); + struct net_device *slave_dev; + + rcu_read_lock(); + + slave_dev = rcu_dereference(nfo_info->primary_dev); + if (slave_dev) { + dev_uc_sync_multiple(slave_dev, dev); + dev_mc_sync_multiple(slave_dev, dev); + } + + slave_dev = rcu_dereference(nfo_info->standby_dev); + if (slave_dev) { + dev_uc_sync_multiple(slave_dev, dev); + dev_mc_sync_multiple(slave_dev, dev); + } + + rcu_read_unlock(); +} + +static int net_failover_vlan_rx_add_vid(stru...
2018 May 07
0
[PATCH net-next v10 2/4] net: Introduce generic failover module
...+ dev->mtu = new_mtu; + + return 0; +} + +static void net_failover_set_rx_mode(struct net_device *dev) +{ + struct net_failover_info *nfo_info = netdev_priv(dev); + struct net_device *slave_dev; + + rcu_read_lock(); + + slave_dev = rcu_dereference(nfo_info->primary_dev); + if (slave_dev) { + dev_uc_sync_multiple(slave_dev, dev); + dev_mc_sync_multiple(slave_dev, dev); + } + + slave_dev = rcu_dereference(nfo_info->standby_dev); + if (slave_dev) { + dev_uc_sync_multiple(slave_dev, dev); + dev_mc_sync_multiple(slave_dev, dev); + } + + rcu_read_unlock(); +} + +static int net_failover_vlan_rx_add_vid(stru...
2018 Apr 06
0
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...ruct net_device *dev) >> +{ >> + struct virtnet_bypass_info *vbi = netdev_priv(dev); >> + struct net_device *child_netdev; >> + >> + rcu_read_lock(); >> + >> + child_netdev = rcu_dereference(vbi->active_netdev); >> + if (child_netdev) { >> + dev_uc_sync_multiple(child_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);...
2018 Apr 06
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...gt;+static void virtnet_bypass_set_rx_mode(struct net_device *dev) >+{ >+ struct virtnet_bypass_info *vbi = netdev_priv(dev); >+ struct net_device *child_netdev; >+ >+ rcu_read_lock(); >+ >+ child_netdev = rcu_dereference(vbi->active_netdev); >+ if (child_netdev) { >+ dev_uc_sync_multiple(child_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_unloc...
2018 Apr 06
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...gt;+static void virtnet_bypass_set_rx_mode(struct net_device *dev) >+{ >+ struct virtnet_bypass_info *vbi = netdev_priv(dev); >+ struct net_device *child_netdev; >+ >+ rcu_read_lock(); >+ >+ child_netdev = rcu_dereference(vbi->active_netdev); >+ if (child_netdev) { >+ dev_uc_sync_multiple(child_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_unloc...
2018 May 07
9
[PATCH net-next v10 0/4] Enable virtio_net to act as a standby 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_STANDBY that can be used
2018 Apr 05
0
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...ev->mtu = new_mtu; + return 0; +} + +static void virtnet_bypass_set_rx_mode(struct net_device *dev) +{ + struct virtnet_bypass_info *vbi = netdev_priv(dev); + struct net_device *child_netdev; + + rcu_read_lock(); + + child_netdev = rcu_dereference(vbi->active_netdev); + if (child_netdev) { + dev_uc_sync_multiple(child_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_devic...
2018 Apr 25
5
[PATCH net-next v8 0/4] Enable virtio_net to act as a standby for a passthru device
This is another update based on feedback from MST and Stephen on the last patchset. Hopefully this series can be integrated and any further enhancements can be made on top of this patchset. v8: - Made the failover managment routines more robust by updating the feature bits/other fields in the failover netdev when slave netdevs are registered/unregistered. (mst) - added support for handling
2018 Apr 20
2
[PATCH v7 net-next 2/4] net: Introduce generic failover module
...> + > +static void failover_set_rx_mode(struct net_device *dev) > +{ > + struct failover_info *finfo = netdev_priv(dev); > + struct net_device *slave_dev; > + > + rcu_read_lock(); > + > + slave_dev = rcu_dereference(finfo->primary_dev); > + if (slave_dev) { > + dev_uc_sync_multiple(slave_dev, dev); > + dev_mc_sync_multiple(slave_dev, dev); > + } > + > + slave_dev = rcu_dereference(finfo->standby_dev); > + if (slave_dev) { > + dev_uc_sync_multiple(slave_dev, dev); > + dev_mc_sync_multiple(slave_dev, dev); > + } > + > + rcu_read_unlock(); &gt...
2018 Apr 20
2
[PATCH v7 net-next 2/4] net: Introduce generic failover module
...> + > +static void failover_set_rx_mode(struct net_device *dev) > +{ > + struct failover_info *finfo = netdev_priv(dev); > + struct net_device *slave_dev; > + > + rcu_read_lock(); > + > + slave_dev = rcu_dereference(finfo->primary_dev); > + if (slave_dev) { > + dev_uc_sync_multiple(slave_dev, dev); > + dev_mc_sync_multiple(slave_dev, dev); > + } > + > + slave_dev = rcu_dereference(finfo->standby_dev); > + if (slave_dev) { > + dev_uc_sync_multiple(slave_dev, dev); > + dev_mc_sync_multiple(slave_dev, dev); > + } > + > + rcu_read_unlock(); &gt...
2018 Apr 11
2
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...pass_change_mtu); >+ >+void bypass_set_rx_mode(struct net_device *dev) >+{ >+ struct bypass_info *bi = netdev_priv(dev); >+ struct net_device *slave_netdev; >+ >+ rcu_read_lock(); >+ >+ slave_netdev = rcu_dereference(bi->active_netdev); >+ if (slave_netdev) { >+ dev_uc_sync_multiple(slave_netdev, dev); >+ dev_mc_sync_multiple(slave_netdev, dev); >+ } >+ >+ slave_netdev = rcu_dereference(bi->backup_netdev); >+ if (slave_netdev) { >+ dev_uc_sync_multiple(slave_netdev, dev); >+ dev_mc_sync_multiple(slave_netdev, dev); >+ } >+ >+ rcu_read_unlock...
2018 Apr 11
2
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...pass_change_mtu); >+ >+void bypass_set_rx_mode(struct net_device *dev) >+{ >+ struct bypass_info *bi = netdev_priv(dev); >+ struct net_device *slave_netdev; >+ >+ rcu_read_lock(); >+ >+ slave_netdev = rcu_dereference(bi->active_netdev); >+ if (slave_netdev) { >+ dev_uc_sync_multiple(slave_netdev, dev); >+ dev_mc_sync_multiple(slave_netdev, dev); >+ } >+ >+ slave_netdev = rcu_dereference(bi->backup_netdev); >+ if (slave_netdev) { >+ dev_uc_sync_multiple(slave_netdev, dev); >+ dev_mc_sync_multiple(slave_netdev, dev); >+ } >+ >+ rcu_read_unlock...
2018 Apr 10
0
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...ew_mtu; + return 0; +} +EXPORT_SYMBOL_GPL(bypass_change_mtu); + +void bypass_set_rx_mode(struct net_device *dev) +{ + struct bypass_info *bi = netdev_priv(dev); + struct net_device *slave_netdev; + + rcu_read_lock(); + + slave_netdev = rcu_dereference(bi->active_netdev); + if (slave_netdev) { + dev_uc_sync_multiple(slave_netdev, dev); + dev_mc_sync_multiple(slave_netdev, dev); + } + + slave_netdev = rcu_dereference(bi->backup_netdev); + if (slave_netdev) { + dev_uc_sync_multiple(slave_netdev, dev); + dev_mc_sync_multiple(slave_netdev, dev); + } + + rcu_read_unlock(); +} +EXPORT_SYMBOL_GPL(bypass_set_rx_...
2018 Apr 20
0
[PATCH v7 net-next 2/4] net: Introduce generic failover module
...ret; + } + } + + dev->mtu = new_mtu; + return 0; +} + +static void failover_set_rx_mode(struct net_device *dev) +{ + struct failover_info *finfo = netdev_priv(dev); + struct net_device *slave_dev; + + rcu_read_lock(); + + slave_dev = rcu_dereference(finfo->primary_dev); + if (slave_dev) { + dev_uc_sync_multiple(slave_dev, dev); + dev_mc_sync_multiple(slave_dev, dev); + } + + slave_dev = rcu_dereference(finfo->standby_dev); + if (slave_dev) { + dev_uc_sync_multiple(slave_dev, dev); + dev_mc_sync_multiple(slave_dev, dev); + } + + rcu_read_unlock(); +} + +static const struct net_device_ops failover_dev...
2018 Apr 20
0
[PATCH v7 net-next 2/4] net: Introduce generic failover module
...et_rx_mode(struct net_device *dev) >> +{ >> + struct failover_info *finfo = netdev_priv(dev); >> + struct net_device *slave_dev; >> + >> + rcu_read_lock(); >> + >> + slave_dev = rcu_dereference(finfo->primary_dev); >> + if (slave_dev) { >> + dev_uc_sync_multiple(slave_dev, dev); >> + dev_mc_sync_multiple(slave_dev, dev); >> + } >> + >> + slave_dev = rcu_dereference(finfo->standby_dev); >> + if (slave_dev) { >> + dev_uc_sync_multiple(slave_dev, dev); >> + dev_mc_sync_multiple(slave_dev, dev); >> + } >...
2018 Apr 11
0
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...rx_mode(struct net_device *dev) >> +{ >> + struct bypass_info *bi = netdev_priv(dev); >> + struct net_device *slave_netdev; >> + >> + rcu_read_lock(); >> + >> + slave_netdev = rcu_dereference(bi->active_netdev); >> + if (slave_netdev) { >> + dev_uc_sync_multiple(slave_netdev, dev); >> + dev_mc_sync_multiple(slave_netdev, dev); >> + } >> + >> + slave_netdev = rcu_dereference(bi->backup_netdev); >> + if (slave_netdev) { >> + dev_uc_sync_multiple(slave_netdev, dev); >> + dev_mc_sync_multiple(slave_netdev, dev);...
2018 May 22
7
[PATCH net-next v11 0/5] Enable virtio_net to act as a standby 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 failover module that provides a generic interface for
2018 Apr 10
6
[RFC PATCH net-next v6 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
2018 May 24
11
[PATCH net-next v12 0/5] Enable virtio_net to act as a standby 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 failover module that provides a generic interface for