Displaying 7 results from an estimated 7 matches for "bypass_unregister_child".
2018 Apr 06
1
[RFC PATCH net-next v5 2/4] net: Introduce generic bypass module
...;+ const struct net_device_ops *netdev_ops);
>+void bypass_unregister_driver(struct bypass *bypass);
>+
>+int bypass_register_instance(struct bypass *bypass, struct net_device *dev);
>+int bypass_unregister_instance(struct bypass *bypass, struct net_device *dev);
>+
>+int bypass_unregister_child(struct net_device *child_netdev);
>+
>+#else
>+
>+static inline
>+struct bypass *bypass_register_driver(const struct bypass_ops *ops,
>+ const struct net_device_ops *netdev_ops)
>+{
>+ return NULL;
>+}
>+
>+static inline void bypass_unregister_driver(struct...
2018 Apr 05
0
[RFC PATCH net-next v5 2/4] net: Introduce generic bypass module
...struct bypass_ops *ops,
+ const struct net_device_ops *netdev_ops);
+void bypass_unregister_driver(struct bypass *bypass);
+
+int bypass_register_instance(struct bypass *bypass, struct net_device *dev);
+int bypass_unregister_instance(struct bypass *bypass, struct net_device *dev);
+
+int bypass_unregister_child(struct net_device *child_netdev);
+
+#else
+
+static inline
+struct bypass *bypass_register_driver(const struct bypass_ops *ops,
+ const struct net_device_ops *netdev_ops)
+{
+ return NULL;
+}
+
+static inline void bypass_unregister_driver(struct bypass *bypass)
+{
+}
+
+static inline int...
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
...gt; + 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_dereferen...
2018 Apr 06
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...reference(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
...reference(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
...ctive_netdev);
+ 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...