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...