search for: bypass_register_driv

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