Displaying 7 results from an estimated 7 matches for "bypass_register_driv".
Did you mean:
bypass_register_driver
2018 Apr 06
1
[RFC PATCH net-next v5 2/4] net: Introduce generic bypass module
...s *bypass;
>+};
>+
>+struct bypass {
>+ struct list_head list;
>+ const struct bypass_ops *ops;
>+ const struct net_device_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, stru...
2018 Apr 05
0
[RFC PATCH net-next v5 2/4] net: Introduce generic bypass module
...ruct net_device __rcu *bypass_netdev;
+ struct bypass *bypass;
+};
+
+struct bypass {
+ struct list_head list;
+ const struct bypass_ops *ops;
+ const struct net_device_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);...
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
...etdev(vi->dev);
>>
>> + virtnet_bypass_destroy(vi);
>> +
>> remove_vq_common(vi);
>>
>> free_netdev(vi->dev);
>> @@ -2996,6 +3598,11 @@ static __init int virtio_net_driver_init(void)
>> {
>> int ret;
>>
>> + virtnet_bypass = bypass_register_driver(&virtnet_bypass_ops,
>> + &virtnet_bypass_netdev_ops);
>> + if (!virtnet_bypass)
>> + return -ENOMEM;
> If CONFIG_NET_BYPASS is undefined, you will always return -ENOMEM here.
Will fix.
>
>
>> +
>> ret = cpuhp_setup_state_multi(CPUHP_AP_ONL...
2018 Apr 06
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...virtio_device *vdev)
>
> unregister_netdev(vi->dev);
>
>+ virtnet_bypass_destroy(vi);
>+
> remove_vq_common(vi);
>
> free_netdev(vi->dev);
>@@ -2996,6 +3598,11 @@ static __init int virtio_net_driver_init(void)
> {
> int ret;
>
>+ virtnet_bypass = bypass_register_driver(&virtnet_bypass_ops,
>+ &virtnet_bypass_netdev_ops);
>+ if (!virtnet_bypass)
>+ return -ENOMEM;
If CONFIG_NET_BYPASS is undefined, you will always return -ENOMEM here.
>+
> ret = cpuhp_setup_state_multi(CPUHP_AP_ONLINE_DYN, "virtio/net:online",
>...
2018 Apr 06
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...virtio_device *vdev)
>
> unregister_netdev(vi->dev);
>
>+ virtnet_bypass_destroy(vi);
>+
> remove_vq_common(vi);
>
> free_netdev(vi->dev);
>@@ -2996,6 +3598,11 @@ static __init int virtio_net_driver_init(void)
> {
> int ret;
>
>+ virtnet_bypass = bypass_register_driver(&virtnet_bypass_ops,
>+ &virtnet_bypass_netdev_ops);
>+ if (!virtnet_bypass)
>+ return -ENOMEM;
If CONFIG_NET_BYPASS is undefined, you will always return -ENOMEM here.
>+
> ret = cpuhp_setup_state_multi(CPUHP_AP_ONLINE_DYN, "virtio/net:online",
>...
2018 Apr 05
0
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...2913,6 +3513,8 @@ static void virtnet_remove(struct virtio_device *vdev)
unregister_netdev(vi->dev);
+ virtnet_bypass_destroy(vi);
+
remove_vq_common(vi);
free_netdev(vi->dev);
@@ -2996,6 +3598,11 @@ static __init int virtio_net_driver_init(void)
{
int ret;
+ virtnet_bypass = bypass_register_driver(&virtnet_bypass_ops,
+ &virtnet_bypass_netdev_ops);
+ if (!virtnet_bypass)
+ return -ENOMEM;
+
ret = cpuhp_setup_state_multi(CPUHP_AP_ONLINE_DYN, "virtio/net:online",
virtnet_cpu_online,
virtnet_cpu_down_prep);
@@ -3010,12 +3617,14 @@ static __init...