search for: bypass_unregister_driver

Displaying 7 results from an estimated 7 matches for "bypass_unregister_driver".

2018 Apr 06
1
[RFC PATCH net-next v5 2/4] net: Introduce generic bypass module
...st 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); >+ >+int bypass_unregister_child(struct net_device *child_netdev); >+ >+#else >+ >+st...
2018 Apr 05
0
[RFC PATCH net-next v5 2/4] net: Introduce generic bypass module
...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); + +int bypass_unregister_child(struct net_device *child_netdev); + +#else + +static inline +struct bypass *bypass_r...
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
...gister_virtio_driver(&virtio_net_driver); >> if (ret) >> goto err_virtio; >> + >> return 0; >> err_virtio: >> cpuhp_remove_multi_state(CPUHP_VIRT_NET_DEAD); >> err_dead: >> cpuhp_remove_multi_state(virtionet_online); >> out: >> + bypass_unregister_driver(virtnet_bypass); >> return ret; >> } >> module_init(virtio_net_driver_init); >> @@ -3025,6 +3634,7 @@ static __exit void virtio_net_driver_exit(void) >> unregister_virtio_driver(&virtio_net_driver); >> cpuhp_remove_multi_state(CPUHP_VIRT_NET_DEAD); >&gt...
2018 Apr 06
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...et_driver_init(void) > ret = register_virtio_driver(&virtio_net_driver); > if (ret) > goto err_virtio; >+ > return 0; > err_virtio: > cpuhp_remove_multi_state(CPUHP_VIRT_NET_DEAD); > err_dead: > cpuhp_remove_multi_state(virtionet_online); > out: >+ bypass_unregister_driver(virtnet_bypass); > return ret; > } > module_init(virtio_net_driver_init); >@@ -3025,6 +3634,7 @@ static __exit void virtio_net_driver_exit(void) > unregister_virtio_driver(&virtio_net_driver); > cpuhp_remove_multi_state(CPUHP_VIRT_NET_DEAD); > cpuhp_remove_multi_state(v...
2018 Apr 06
2
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...et_driver_init(void) > ret = register_virtio_driver(&virtio_net_driver); > if (ret) > goto err_virtio; >+ > return 0; > err_virtio: > cpuhp_remove_multi_state(CPUHP_VIRT_NET_DEAD); > err_dead: > cpuhp_remove_multi_state(virtionet_online); > out: >+ bypass_unregister_driver(virtnet_bypass); > return ret; > } > module_init(virtio_net_driver_init); >@@ -3025,6 +3634,7 @@ static __exit void virtio_net_driver_exit(void) > unregister_virtio_driver(&virtio_net_driver); > cpuhp_remove_multi_state(CPUHP_VIRT_NET_DEAD); > cpuhp_remove_multi_state(v...
2018 Apr 05
0
[RFC PATCH net-next v5 3/4] virtio_net: Extend virtio to use VF datapath when available
...10,12 +3617,14 @@ static __init int virtio_net_driver_init(void) ret = register_virtio_driver(&virtio_net_driver); if (ret) goto err_virtio; + return 0; err_virtio: cpuhp_remove_multi_state(CPUHP_VIRT_NET_DEAD); err_dead: cpuhp_remove_multi_state(virtionet_online); out: + bypass_unregister_driver(virtnet_bypass); return ret; } module_init(virtio_net_driver_init); @@ -3025,6 +3634,7 @@ static __exit void virtio_net_driver_exit(void) unregister_virtio_driver(&virtio_net_driver); cpuhp_remove_multi_state(CPUHP_VIRT_NET_DEAD); cpuhp_remove_multi_state(virtionet_online); + bypass_u...