search for: bypass_master_list

Displaying 14 results from an estimated 14 matches for "bypass_master_list".

2018 Apr 18
0
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...ct bypass_ops **ops) >>>>> +{ >>>>> + struct bypass_master *bypass_master; >>>>> + struct net_device *bypass_netdev; >>>>> + >>>>> + spin_lock(&bypass_lock); >>>>> + list_for_each_entry(bypass_master, &bypass_master_list, list) { >>>>>>> As I wrote the last time, you don't need this list, spinlock. >>>>>>> You can do just something like: >>>>>>> for_each_net(net) { >>>>>>> for_each_netdev(net, dev)...
2018 Apr 18
4
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...> + struct bypass_ops **ops) >> >> +{ >> >> + struct bypass_master *bypass_master; >> >> + struct net_device *bypass_netdev; >> >> + >> >> + spin_lock(&bypass_lock); >> >> + list_for_each_entry(bypass_master, &bypass_master_list, list) { >> >> > > As I wrote the last time, you don't need this list, spinlock. >> >> > > You can do just something like: >> >> > > for_each_net(net) { >> >> > > for_each_netdev(net, dev) { >...
2018 Apr 18
4
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...> + struct bypass_ops **ops) >> >> +{ >> >> + struct bypass_master *bypass_master; >> >> + struct net_device *bypass_netdev; >> >> + >> >> + spin_lock(&bypass_lock); >> >> + list_for_each_entry(bypass_master, &bypass_master_list, list) { >> >> > > As I wrote the last time, you don't need this list, spinlock. >> >> > > You can do just something like: >> >> > > for_each_net(net) { >> >> > > for_each_netdev(net, dev) { >...
2018 Apr 11
2
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...> >+#include <linux/netpoll.h> >+#include <linux/rtnetlink.h> >+#include <linux/if_vlan.h> >+#include <linux/pci.h> >+#include <net/sch_generic.h> >+#include <uapi/linux/if_arp.h> >+#include <net/bypass.h> >+ >+static LIST_HEAD(bypass_master_list); >+static DEFINE_SPINLOCK(bypass_lock); >+ >+static int bypass_slave_pre_register(struct net_device *slave_netdev, >+ struct net_device *bypass_netdev, >+ struct bypass_ops *bypass_ops) >+{ >+ struct bypass_info *bi; >+ bool backup; >+ >+ if (bypass_op...
2018 Apr 11
2
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...> >+#include <linux/netpoll.h> >+#include <linux/rtnetlink.h> >+#include <linux/if_vlan.h> >+#include <linux/pci.h> >+#include <net/sch_generic.h> >+#include <uapi/linux/if_arp.h> >+#include <net/bypass.h> >+ >+static LIST_HEAD(bypass_master_list); >+static DEFINE_SPINLOCK(bypass_lock); >+ >+static int bypass_slave_pre_register(struct net_device *slave_netdev, >+ struct net_device *bypass_netdev, >+ struct bypass_ops *bypass_ops) >+{ >+ struct bypass_info *bi; >+ bool backup; >+ >+ if (bypass_op...
2018 Apr 18
2
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...etlink.h> >> > +#include <linux/if_vlan.h> >> > +#include <linux/pci.h> >> > +#include <net/sch_generic.h> >> > +#include <uapi/linux/if_arp.h> >> > +#include <net/bypass.h> >> > + >> > +static LIST_HEAD(bypass_master_list); >> > +static DEFINE_SPINLOCK(bypass_lock); >> > + >> > +static int bypass_slave_pre_register(struct net_device *slave_netdev, >> > + struct net_device *bypass_netdev, >> > + struct bypass_ops *bypass_ops) >> > +{ >> >...
2018 Apr 18
2
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...etlink.h> >> > +#include <linux/if_vlan.h> >> > +#include <linux/pci.h> >> > +#include <net/sch_generic.h> >> > +#include <uapi/linux/if_arp.h> >> > +#include <net/bypass.h> >> > + >> > +static LIST_HEAD(bypass_master_list); >> > +static DEFINE_SPINLOCK(bypass_lock); >> > + >> > +static int bypass_slave_pre_register(struct net_device *slave_netdev, >> > + struct net_device *bypass_netdev, >> > + struct bypass_ops *bypass_ops) >> > +{ >> >...
2018 Apr 11
0
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...t; >> +#include <linux/rtnetlink.h> >> +#include <linux/if_vlan.h> >> +#include <linux/pci.h> >> +#include <net/sch_generic.h> >> +#include <uapi/linux/if_arp.h> >> +#include <net/bypass.h> >> + >> +static LIST_HEAD(bypass_master_list); >> +static DEFINE_SPINLOCK(bypass_lock); >> + >> +static int bypass_slave_pre_register(struct net_device *slave_netdev, >> + struct net_device *bypass_netdev, >> + struct bypass_ops *bypass_ops) >> +{ >> + struct bypass_info *bi; >>...
2018 Apr 18
2
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...ruct net_device *bypass_master_get_bymac(u8 *mac, >> + struct bypass_ops **ops) >> +{ >> + struct bypass_master *bypass_master; >> + struct net_device *bypass_netdev; >> + >> + spin_lock(&bypass_lock); >> + list_for_each_entry(bypass_master, &bypass_master_list, list) { >> > > As I wrote the last time, you don't need this list, spinlock. >> > > You can do just something like: >> > > for_each_net(net) { >> > > for_each_netdev(net, dev) { >> > > if (netif_is_bypas...
2018 Apr 18
2
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...ruct net_device *bypass_master_get_bymac(u8 *mac, >> + struct bypass_ops **ops) >> +{ >> + struct bypass_master *bypass_master; >> + struct net_device *bypass_netdev; >> + >> + spin_lock(&bypass_lock); >> + list_for_each_entry(bypass_master, &bypass_master_list, list) { >> > > As I wrote the last time, you don't need this list, spinlock. >> > > You can do just something like: >> > > for_each_net(net) { >> > > for_each_netdev(net, dev) { >> > > if (netif_is_bypas...
2018 Apr 10
0
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...> +#include <linux/netdevice.h> +#include <linux/netpoll.h> +#include <linux/rtnetlink.h> +#include <linux/if_vlan.h> +#include <linux/pci.h> +#include <net/sch_generic.h> +#include <uapi/linux/if_arp.h> +#include <net/bypass.h> + +static LIST_HEAD(bypass_master_list); +static DEFINE_SPINLOCK(bypass_lock); + +static int bypass_slave_pre_register(struct net_device *slave_netdev, + struct net_device *bypass_netdev, + struct bypass_ops *bypass_ops) +{ + struct bypass_info *bi; + bool backup; + + if (bypass_ops) { + if (!bypass_ops->slave_pre_re...
2018 Apr 18
0
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...gt; > + > +static struct net_device *bypass_master_get_bymac(u8 *mac, > + struct bypass_ops **ops) > +{ > + struct bypass_master *bypass_master; > + struct net_device *bypass_netdev; > + > + spin_lock(&bypass_lock); > + list_for_each_entry(bypass_master, &bypass_master_list, list) { >>> As I wrote the last time, you don't need this list, spinlock. >>> You can do just something like: >>> for_each_net(net) { >>> for_each_netdev(net, dev) { >>> if (netif_is_bypass_master(dev)) { >> This...
2018 Apr 18
0
[RFC PATCH net-next v6 2/4] net: Introduce generic bypass module
...bymac(u8 *mac, > >> + struct bypass_ops **ops) > >> +{ > >> + struct bypass_master *bypass_master; > >> + struct net_device *bypass_netdev; > >> + > >> + spin_lock(&bypass_lock); > >> + list_for_each_entry(bypass_master, &bypass_master_list, list) { > >> > > As I wrote the last time, you don't need this list, spinlock. > >> > > You can do just something like: > >> > > for_each_net(net) { > >> > > for_each_netdev(net, dev) { > >> > &...
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