search for: unregister_child

Displaying 7 results from an estimated 7 matches for "unregister_child".

2018 Apr 06
1
[RFC PATCH net-next v5 2/4] net: Introduce generic bypass module
...net_device *child_netdev); We have master/slave upper/lower netdevices. This adds "child". Consider using some existing names. Not sure if possible without loss of meaning. >+ int (*join_child)(struct net_device *bypass_netdev, >+ struct net_device *child_netdev); >+ int (*unregister_child)(struct net_device *bypass_netdev, >+ struct net_device *child_netdev); >+ int (*release_child)(struct net_device *bypass_netdev, >+ struct net_device *child_netdev); >+ int (*update_link)(struct net_device *bypass_netdev, >+ struct net_device *child_netdev); >+ rx_...
2018 Apr 05
0
[RFC PATCH net-next v5 2/4] net: Introduce generic bypass module
...ET_BYPASS_H +#define _NET_BYPASS_H + +#include <linux/netdevice.h> + +struct bypass_ops { + int (*register_child)(struct net_device *bypass_netdev, + struct net_device *child_netdev); + int (*join_child)(struct net_device *bypass_netdev, + struct net_device *child_netdev); + int (*unregister_child)(struct net_device *bypass_netdev, + struct net_device *child_netdev); + int (*release_child)(struct net_device *bypass_netdev, + struct net_device *child_netdev); + int (*update_link)(struct net_device *bypass_netdev, + struct net_device *child_netdev); + rx_handler_result_t (*handl...
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
2018 Apr 06
0
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...f (child_netdev != active_netdev && child_netdev != backup_netdev) >> + return -EINVAL; >> + >> + netdev_info(bypass_netdev, "child:%s released\n", child_netdev->name); >> + >> + return 0; >> +} >> + >> +static int virtnet_bypass_unregister_child(struct net_device *bypass_netdev, >> + struct net_device *child_netdev) >> +{ >> + struct net_device *backup_netdev, *active_netdev; >> + struct virtnet_bypass_info *vbi; >> + >> + vbi = netdev_priv(bypass_netdev); >> + active_netdev = rtnl_dereferen...
2018 Apr 06
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...ce(vbi->backup_netdev); >+ >+ if (child_netdev != active_netdev && child_netdev != backup_netdev) >+ return -EINVAL; >+ >+ netdev_info(bypass_netdev, "child:%s released\n", child_netdev->name); >+ >+ return 0; >+} >+ >+static int virtnet_bypass_unregister_child(struct net_device *bypass_netdev, >+ struct net_device *child_netdev) >+{ >+ struct net_device *backup_netdev, *active_netdev; >+ struct virtnet_bypass_info *vbi; >+ >+ vbi = netdev_priv(bypass_netdev); >+ active_netdev = rtnl_dereference(vbi->active_netdev); >+ ba...
2018 Apr 06
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...ce(vbi->backup_netdev); >+ >+ if (child_netdev != active_netdev && child_netdev != backup_netdev) >+ return -EINVAL; >+ >+ netdev_info(bypass_netdev, "child:%s released\n", child_netdev->name); >+ >+ return 0; >+} >+ >+static int virtnet_bypass_unregister_child(struct net_device *bypass_netdev, >+ struct net_device *child_netdev) >+{ >+ struct net_device *backup_netdev, *active_netdev; >+ struct virtnet_bypass_info *vbi; >+ >+ vbi = netdev_priv(bypass_netdev); >+ active_netdev = rtnl_dereference(vbi->active_netdev); >+ ba...
2018 Apr 05
0
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...etdev); + backup_netdev = rtnl_dereference(vbi->backup_netdev); + + if (child_netdev != active_netdev && child_netdev != backup_netdev) + return -EINVAL; + + netdev_info(bypass_netdev, "child:%s released\n", child_netdev->name); + + return 0; +} + +static int virtnet_bypass_unregister_child(struct net_device *bypass_netdev, + struct net_device *child_netdev) +{ + struct net_device *backup_netdev, *active_netdev; + struct virtnet_bypass_info *vbi; + + vbi = netdev_priv(bypass_netdev); + active_netdev = rtnl_dereference(vbi->active_netdev); + backup_netdev = rtnl_dereference(v...