search for: failover_op

Displaying 19 results from an estimated 19 matches for "failover_op".

Did you mean: failover_ops
2018 Apr 20
2
[PATCH v7 net-next 2/4] net: Introduce generic failover module
...-- /dev/null > +++ b/include/net/failover.h > @@ -0,0 +1,96 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +/* Copyright (c) 2018, Intel Corporation. */ > + > +#ifndef _NET_FAILOVER_H > +#define _NET_FAILOVER_H > + > +#include <linux/netdevice.h> > + > +struct failover_ops { > + int (*slave_pre_register)(struct net_device *slave_dev, > + struct net_device *failover_dev); > + int (*slave_join)(struct net_device *slave_dev, > + struct net_device *failover_dev); > + int (*slave_pre_unregister)(struct net_device *slave_dev, > + struct n...
2018 Apr 20
2
[PATCH v7 net-next 2/4] net: Introduce generic failover module
...-- /dev/null > +++ b/include/net/failover.h > @@ -0,0 +1,96 @@ > +/* SPDX-License-Identifier: GPL-2.0 */ > +/* Copyright (c) 2018, Intel Corporation. */ > + > +#ifndef _NET_FAILOVER_H > +#define _NET_FAILOVER_H > + > +#include <linux/netdevice.h> > + > +struct failover_ops { > + int (*slave_pre_register)(struct net_device *slave_dev, > + struct net_device *failover_dev); > + int (*slave_join)(struct net_device *slave_dev, > + struct net_device *failover_dev); > + int (*slave_pre_unregister)(struct net_device *slave_dev, > + struct n...
2018 Apr 20
0
[PATCH v7 net-next 2/4] net: Introduce generic failover module
...new file mode 100644 index 000000000000..0b8601043d90 --- /dev/null +++ b/include/net/failover.h @@ -0,0 +1,96 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* Copyright (c) 2018, Intel Corporation. */ + +#ifndef _NET_FAILOVER_H +#define _NET_FAILOVER_H + +#include <linux/netdevice.h> + +struct failover_ops { + int (*slave_pre_register)(struct net_device *slave_dev, + struct net_device *failover_dev); + int (*slave_join)(struct net_device *slave_dev, + struct net_device *failover_dev); + int (*slave_pre_unregister)(struct net_device *slave_dev, + struct net_device *failover_dev); + in...
2018 Apr 20
0
[PATCH v7 net-next 2/4] net: Introduce generic failover module
...over.h >> @@ -0,0 +1,96 @@ >> +/* SPDX-License-Identifier: GPL-2.0 */ >> +/* Copyright (c) 2018, Intel Corporation. */ >> + >> +#ifndef _NET_FAILOVER_H >> +#define _NET_FAILOVER_H >> + >> +#include <linux/netdevice.h> >> + >> +struct failover_ops { >> + int (*slave_pre_register)(struct net_device *slave_dev, >> + struct net_device *failover_dev); >> + int (*slave_join)(struct net_device *slave_dev, >> + struct net_device *failover_dev); >> + int (*slave_pre_unregister)(struct net_device *slave_dev, &g...
2018 Apr 20
13
[PATCH net-next v7 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 May 24
0
[PATCH net-next v12 1/5] net: Introduce generic failover module
...lover.h new file mode 100644 index 000000000000..bb15438f39c7 --- /dev/null +++ b/include/net/failover.h @@ -0,0 +1,36 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* Copyright (c) 2018, Intel Corporation. */ + +#ifndef _FAILOVER_H +#define _FAILOVER_H + +#include <linux/netdevice.h> + +struct failover_ops { + int (*slave_pre_register)(struct net_device *slave_dev, + struct net_device *failover_dev); + int (*slave_register)(struct net_device *slave_dev, + struct net_device *failover_dev); + int (*slave_pre_unregister)(struct net_device *slave_dev, + struct net_device *failover_de...
2018 Apr 22
1
[PATCH v7 net-next 2/4] net: Introduce generic failover module
...ce *standby_dev, > + struct failover **pfailover); Should we rename all these structs net_failover? It's possible to extend the concept to storage I think. > +void failover_destroy(struct failover *failover); > + > +int failover_register(struct net_device *standby_dev, struct failover_ops *ops, > + struct failover **pfailover); > +void failover_unregister(struct failover *failover); > + > +int failover_slave_unregister(struct net_device *slave_dev); > + > +#else > + > +static inline > +int failover_create(struct net_device *standby_dev, > +...
2018 May 25
2
[PATCH net-next v12 1/5] net: Introduce generic failover module
...0700 Sridhar Samudrala <sridhar.samudrala at intel.com> wrote: > + spin_lock(&failover_lock); Since register is not in fast path, this should be a mutex? > +int failover_slave_unregister(struct net_device *slave_dev) > +{ > + struct net_device *failover_dev; > + struct failover_ops *fops; > + > + if (!netif_is_failover_slave(slave_dev)) > + goto done; > + > + ASSERT_RTNL(); > + > + failover_dev = failover_get_bymac(slave_dev->perm_addr, &fops); > + if (!failover_dev) > + goto done; Since the slave device must have a master device set alre...
2018 May 22
7
[PATCH net-next v11 0/5] Enable virtio_net to act as a standby for a passthru device
...static ip and dhcp configurations using 'network' scripts and Network Manager. - To avoid dhcp requests to be sent over the lower 'standby' and 'primary' netdevs, ifcfg-xxx scripts for the lower devices can be created. - Build tested netvsc module. Updates: - fix net_failover_open() to update failover CARRIER correctly based on standby and primary states. - fix net_failover_handle_frame() to handle frames received on standby when primary is present. - replace netdev_upper_dev_link with netdev_master_upper_dev_link and handle lower dev state changes. - fix net_failve...
2018 May 24
11
[PATCH net-next v12 0/5] Enable virtio_net to act as a standby for a passthru device
...lover' module that provides generic failover infrastructure to register a failover instance and listen for slave events. 2. 'net_failover' driver that provides APIs to create/destroy upper netdev and supports 3-netdev model used by virtio-net. - Added documentation v10: - fix net_failover_open() to update failover CARRIER correctly based on standby and primary states. - fix net_failover_handle_frame() to handle frames received on standby when primary is present. - replace netdev_upper_dev_link with netdev_master_upper_dev_link and handle lower dev state changes. - fix net_failve...
2019 Mar 06
0
[RFC PATCH net-next] failover: allow name change on IFF_UP slave interfaces
...S_IWUSR)); >+MODULE_PARM_DESC(slave_rename_ok, >+ "If set allow renaming the slave when failover master is up"); No module parameters please. If you need to set something do it using rtnl_link_ops. Thanks. > > static struct net_device *failover_get_bymac(u8 *mac, struct failover_ops **ops) > { >@@ -81,13 +86,15 @@ static int failover_slave_register(struct net_device *slave_dev) > } > > slave_dev->priv_flags |= IFF_FAILOVER_SLAVE; >+ if (slave_rename_ok) >+ slave_dev->priv_flags |= IFF_SLAVE_RENAME_OK; > > if (fops && fops->sla...
2018 May 22
0
[PATCH net-next v11 2/5] netvsc: refactor notifier/event handling code to use the failover framework
...= get_netvsc_byref(vf_netdev); - if (!ndev) - return NOTIFY_DONE; - net_device_ctx = netdev_priv(ndev); cancel_delayed_work_sync(&net_device_ctx->vf_takeover); @@ -1994,6 +1938,12 @@ static int netvsc_unregister_vf(struct net_device *vf_netdev) return NOTIFY_OK; } +static struct failover_ops netvsc_failover_ops = { + .slave_register = netvsc_register_vf, + .slave_unregister = netvsc_unregister_vf, + .slave_link_change = netvsc_vf_changed, +}; + static int netvsc_probe(struct hv_device *dev, const struct hv_vmbus_device_id *dev_id) { @@ -2083,8 +2033,14 @@ static int netvsc_prob...
2019 Mar 05
0
[RFC PATCH net-next] failover: allow name change on IFF_UP slave interfaces
...tic bool slave_rename_ok = true; > + > +module_param(slave_rename_ok, bool, (S_IRUGO | S_IWUSR)); > +MODULE_PARM_DESC(slave_rename_ok, > + "If set allow renaming the slave when failover master is up"); > > static struct net_device *failover_get_bymac(u8 *mac, struct failover_ops **ops) > { > @@ -81,13 +86,15 @@ static int failover_slave_register(struct net_device *slave_dev) > } > > slave_dev->priv_flags |= IFF_FAILOVER_SLAVE; > + if (slave_rename_ok) > + slave_dev->priv_flags |= IFF_SLAVE_RENAME_OK; > > if (fops && fop...
2019 Mar 05
0
[RFC PATCH net-next] failover: allow name change on IFF_UP slave interfaces
...gt; + > > > +module_param(slave_rename_ok, bool, (S_IRUGO | S_IWUSR)); > > > +MODULE_PARM_DESC(slave_rename_ok, > > > + "If set allow renaming the slave when failover master is up"); > > > static struct net_device *failover_get_bymac(u8 *mac, struct failover_ops **ops) > > > { > > > @@ -81,13 +86,15 @@ static int failover_slave_register(struct net_device *slave_dev) > > > } > > > slave_dev->priv_flags |= IFF_FAILOVER_SLAVE; > > > + if (slave_rename_ok) > > > + slave_dev->priv_flags |= IF...
2018 Apr 20
0
[PATCH v7 net-next 4/4] netvsc: refactor notifier/event handling code to use the failover framework
...evice *ndev) +{ + struct net_device_context *net_device_ctx; + + net_device_ctx = netdev_priv(ndev); + if (vf_netdev != rtnl_dereference(net_device_ctx->vf_netdev)) + return -EINVAL; + + netdev_info(ndev, "VF unregistering: %s\n", vf_netdev->name); + + return 0; +} + +static struct failover_ops netvsc_failover_ops = { + .slave_pre_register = netvsc_vf_pre_register, + .slave_join = netvsc_vf_join, + .slave_pre_unregister = netvsc_vf_pre_unregister, + .slave_release = netvsc_vf_release, + .slave_link_change = netvsc_vf_changed, + .handle_frame = netvsc_vf_handle_frame, +}; + static int...
2018 May 24
0
[PATCH net-next v12 2/5] netvsc: refactor notifier/event handling code to use the failover framework
...+ netdev_info(ndev, "VF unregistering: %s\n", vf_netdev->name); - netdev_rx_handler_unregister(vf_netdev); - netdev_upper_dev_unlink(vf_netdev, ndev); RCU_INIT_POINTER(net_device_ctx->vf_netdev, NULL); dev_put(vf_netdev); - return NOTIFY_OK; + return 0; } +static struct failover_ops netvsc_failover_ops = { + .slave_pre_register = netvsc_pre_register_vf, + .slave_register = netvsc_register_vf, + .slave_pre_unregister = netvsc_pre_unregister_vf, + .slave_unregister = netvsc_unregister_vf, + .slave_link_change = netvsc_vf_changed, + .slave_handle_frame = netvsc_vf_handle_frame,...
2018 Apr 20
6
[PATCH v7 net-next 4/4] netvsc: refactor notifier/event handling code to use the failover framework
On Thu, 19 Apr 2018 18:42:04 -0700 Sridhar Samudrala <sridhar.samudrala at intel.com> wrote: > Use the registration/notification framework supported by the generic > failover infrastructure. > > Signed-off-by: Sridhar Samudrala <sridhar.samudrala at intel.com> Do what you want to other devices but leave netvsc alone. Adding these failover ops does not reduce the code
2018 Apr 20
6
[PATCH v7 net-next 4/4] netvsc: refactor notifier/event handling code to use the failover framework
On Thu, 19 Apr 2018 18:42:04 -0700 Sridhar Samudrala <sridhar.samudrala at intel.com> wrote: > Use the registration/notification framework supported by the generic > failover infrastructure. > > Signed-off-by: Sridhar Samudrala <sridhar.samudrala at intel.com> Do what you want to other devices but leave netvsc alone. Adding these failover ops does not reduce the code
2018 May 22
0
[PATCH net-next v11 3/5] net: Introduce net_failover driver
...lan.h> +#include <linux/pci.h> +#include <net/sch_generic.h> +#include <uapi/linux/if_arp.h> +#include <net/net_failover.h> + +static bool net_failover_xmit_ready(struct net_device *dev) +{ + return netif_running(dev) && netif_carrier_ok(dev); +} + +static int net_failover_open(struct net_device *dev) +{ + struct net_failover_info *nfo_info = netdev_priv(dev); + struct net_device *primary_dev, *standby_dev; + int err; + + primary_dev = rtnl_dereference(nfo_info->primary_dev); + if (primary_dev) { + err = dev_open(primary_dev); + if (err) + goto err_primary_open;...