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);
|
||||
|
||||
/* The transport may downcast this to access transport-specific functions */
|
||||
const struct vsock_transport *vsock_core_get_transport(void);
|
||||
|
||||
/**** UTILS ****/
|
||||
|
||||
void vsock_release_pending(struct sock *pending);
|
||||
|
|
|
@ -1995,6 +1995,15 @@ void vsock_core_exit(void)
|
|||
}
|
||||
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_DESCRIPTION("VMware Virtual Socket Family");
|
||||
MODULE_VERSION("1.0.1.0-k");
|
||||
|
|
Loading…
Reference in New Issue