Displaying 7 results from an estimated 7 matches for "bypass_register_inst".
2018 Apr 06
1
[RFC PATCH net-next v5 2/4] net: Introduce generic bypass module
...tance_list;
>+ struct mutex lock;
>+};
>+
>+#if IS_ENABLED(CONFIG_NET_BYPASS)
>+
>+struct bypass *bypass_register_driver(const 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...
2018 Apr 05
0
[RFC PATCH net-next v5 2/4] net: Introduce generic bypass module
..._ops *netdev_ops;
+ struct list_head instance_list;
+ struct mutex lock;
+};
+
+#if IS_ENABLED(CONFIG_NET_BYPASS)
+
+struct bypass *bypass_register_driver(const 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,
+...
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
...>> +
>> + res = register_netdev(bypass_netdev);
>> + if (res < 0) {
>> + dev_err(dev, "Unable to register bypass_netdev!\n");
>> + goto err_register_netdev;
>> + }
>> +
>> + netif_carrier_off(bypass_netdev);
>> +
>> + res = bypass_register_instance(virtnet_bypass, bypass_netdev);
>> + if (res < 0)
>> + goto err_bypass;
>> +
>> + rcu_assign_pointer(vi->bypass_netdev, bypass_netdev);
>> +
>> + return 0;
>> +
>> +err_bypass:
>> + unregister_netdev(bypass_netdev);
>> +err_regi...
2018 Apr 06
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...ss_netdev->max_mtu = backup_netdev->max_mtu;
>+
>+ res = register_netdev(bypass_netdev);
>+ if (res < 0) {
>+ dev_err(dev, "Unable to register bypass_netdev!\n");
>+ goto err_register_netdev;
>+ }
>+
>+ netif_carrier_off(bypass_netdev);
>+
>+ res = bypass_register_instance(virtnet_bypass, bypass_netdev);
>+ if (res < 0)
>+ goto err_bypass;
>+
>+ rcu_assign_pointer(vi->bypass_netdev, bypass_netdev);
>+
>+ return 0;
>+
>+err_bypass:
>+ unregister_netdev(bypass_netdev);
>+err_register_netdev:
>+ free_netdev(bypass_netdev);
>...
2018 Apr 06
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...ss_netdev->max_mtu = backup_netdev->max_mtu;
>+
>+ res = register_netdev(bypass_netdev);
>+ if (res < 0) {
>+ dev_err(dev, "Unable to register bypass_netdev!\n");
>+ goto err_register_netdev;
>+ }
>+
>+ netif_carrier_off(bypass_netdev);
>+
>+ res = bypass_register_instance(virtnet_bypass, bypass_netdev);
>+ if (res < 0)
>+ goto err_bypass;
>+
>+ rcu_assign_pointer(vi->bypass_netdev, bypass_netdev);
>+
>+ return 0;
>+
>+err_bypass:
>+ unregister_netdev(bypass_netdev);
>+err_register_netdev:
>+ free_netdev(bypass_netdev);
>...
2018 Apr 05
0
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
..._mtu = backup_netdev->min_mtu;
+ bypass_netdev->max_mtu = backup_netdev->max_mtu;
+
+ res = register_netdev(bypass_netdev);
+ if (res < 0) {
+ dev_err(dev, "Unable to register bypass_netdev!\n");
+ goto err_register_netdev;
+ }
+
+ netif_carrier_off(bypass_netdev);
+
+ res = bypass_register_instance(virtnet_bypass, bypass_netdev);
+ if (res < 0)
+ goto err_bypass;
+
+ rcu_assign_pointer(vi->bypass_netdev, bypass_netdev);
+
+ return 0;
+
+err_bypass:
+ unregister_netdev(bypass_netdev);
+err_register_netdev:
+ free_netdev(bypass_netdev);
+
+ return res;
+}
+
+static void virtnet_bypas...