forked from Minki/linux
VSOCK: transport-specific vsock_transport functions
struct vsock_transport contains function pointers called by AF_VSOCK core code. The transport may want its own transport-specific function pointers and they can be added after struct vsock_transport. Allow the transport to fetch vsock_transport. It can downcast it to access transport-specific function pointers. The virtio transport will use this. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
6190efb08c
commit
0b01aeb3d2
@ -165,6 +165,9 @@ static inline int vsock_core_init(const struct vsock_transport *t)
|
|||||||
}
|
}
|
||||||
void vsock_core_exit(void);
|
void vsock_core_exit(void);
|
||||||
|
|
||||||
|
/* The transport may downcast this to access transport-specific functions */
|
||||||
|
const struct vsock_transport *vsock_core_get_transport(void);
|
||||||
|
|
||||||
/**** UTILS ****/
|
/**** UTILS ****/
|
||||||
|
|
||||||
void vsock_release_pending(struct sock *pending);
|
void vsock_release_pending(struct sock *pending);
|
||||||
|
@ -1995,6 +1995,15 @@ void vsock_core_exit(void)
|
|||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(vsock_core_exit);
|
EXPORT_SYMBOL_GPL(vsock_core_exit);
|
||||||
|
|
||||||
|
const struct vsock_transport *vsock_core_get_transport(void)
|
||||||
|
{
|
||||||
|
/* vsock_register_mutex not taken since only the transport uses this
|
||||||
|
* function and only while registered.
|
||||||
|
*/
|
||||||
|
return transport;
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(vsock_core_get_transport);
|
||||||
|
|
||||||
MODULE_AUTHOR("VMware, Inc.");
|
MODULE_AUTHOR("VMware, Inc.");
|
||||||
MODULE_DESCRIPTION("VMware Virtual Socket Family");
|
MODULE_DESCRIPTION("VMware Virtual Socket Family");
|
||||||
MODULE_VERSION("1.0.1.0-k");
|
MODULE_VERSION("1.0.1.0-k");
|
||||||
|
Loading…
Reference in New Issue
Block a user