Lines Matching full:transport
141 /* Transport used for host->guest communication */
143 /* Transport used for guest->host communication */
145 /* Transport used for DGRAM communication */
147 /* Transport used for local communication */
339 /* Transport reassignment must not remove the binding. */ in vsock_remove_sock()
347 void vsock_for_each_connected_socket(struct vsock_transport *transport, in vsock_for_each_connected_socket() argument
358 if (vsk->transport != transport) in vsock_for_each_connected_socket()
424 if (!vsk->transport) in vsock_deassign_transport()
427 vsk->transport->destruct(vsk); in vsock_deassign_transport()
428 module_put(vsk->transport->module); in vsock_deassign_transport()
429 vsk->transport = NULL; in vsock_deassign_transport()
432 /* Assign a transport to a socket and call the .init transport callback.
437 * The vsk->remote_addr is used to decide which transport to use:
439 * g2h is not loaded, will use local transport;
441 * includes VMADDR_FLAG_TO_HOST flag value, will use guest->host transport;
442 * - remote CID > VMADDR_CID_HOST will use host->guest transport;
484 if (vsk->transport) { in vsock_assign_transport()
485 if (vsk->transport == new_transport) in vsock_assign_transport()
488 /* transport->release() must be called with sock lock acquired. in vsock_assign_transport()
492 * any transport. in vsock_assign_transport()
494 vsk->transport->release(vsk); in vsock_assign_transport()
497 /* transport's release() and destruct() can touch some socket in vsock_assign_transport()
498 * state, since we are reassigning the socket to a new transport in vsock_assign_transport()
507 /* We increase the module refcnt to prevent the transport unloading in vsock_assign_transport()
527 vsk->transport = new_transport; in vsock_assign_transport()
586 if (!vsk->transport) in vsock_send_shutdown()
589 return vsk->transport->shutdown(vsk, mode); in vsock_send_shutdown()
699 return vsk->transport->dgram_bind(vsk, addr); in __vsock_bind_dgram()
827 * can be removed from the bound_table. Unlike transport reassignment in __vsock_release()
829 * being called from the transport release() callback. in __vsock_release()
833 if (vsk->transport) in __vsock_release()
834 vsk->transport->release(vsk); in __vsock_release()
888 if (WARN_ON(!vsk->transport)) in vsock_stream_has_data()
891 return vsk->transport->stream_has_data(vsk); in vsock_stream_has_data()
899 if (WARN_ON(!vsk->transport)) in vsock_connectible_has_data()
903 return vsk->transport->seqpacket_has_data(vsk); in vsock_connectible_has_data()
911 if (WARN_ON(!vsk->transport)) in vsock_stream_has_space()
914 return vsk->transport->stream_has_space(vsk); in vsock_stream_has_space()
1111 const struct vsock_transport *transport; in vsock_poll() local
1115 transport = vsk->transport; in vsock_poll()
1125 if (transport && transport->stream_is_active(vsk) && in vsock_poll()
1129 int ret = transport->notify_poll_in( in vsock_poll()
1150 if (transport && sk->sk_state == TCP_ESTABLISHED) { in vsock_poll()
1153 int ret = transport->notify_poll_out( in vsock_poll()
1188 if (WARN_ON_ONCE(!vsk->transport)) in vsock_read_skb()
1191 return vsk->transport->read_skb(vsk, read_actor); in vsock_read_skb()
1201 const struct vsock_transport *transport; in vsock_dgram_sendmsg() local
1213 transport = vsk->transport; in vsock_dgram_sendmsg()
1231 remote_addr->svm_cid = transport->get_local_cid(); in vsock_dgram_sendmsg()
1241 remote_addr->svm_cid = transport->get_local_cid(); in vsock_dgram_sendmsg()
1255 if (!transport->dgram_allow(remote_addr->svm_cid, in vsock_dgram_sendmsg()
1261 err = transport->dgram_enqueue(vsk, remote_addr, msg, len); in vsock_dgram_sendmsg()
1296 if (!vsk->transport->dgram_allow(remote_addr->svm_cid, in vsock_dgram_connect()
1326 return vsk->transport->dgram_dequeue(vsk, msg, len, flags); in __vsock_dgram_recvmsg()
1366 const struct vsock_transport *transport = vsk->transport; in vsock_transport_cancel_pkt() local
1368 if (!transport || !transport->cancel_pkt) in vsock_transport_cancel_pkt()
1371 return transport->cancel_pkt(vsk); in vsock_transport_cancel_pkt()
1402 const struct vsock_transport *transport; in vsock_connect() local
1447 transport = vsk->transport; in vsock_connect()
1452 if (!transport || in vsock_connect()
1453 !transport->stream_allow(remote_addr->svm_cid, in vsock_connect()
1465 err = transport->connect(vsk); in vsock_connect()
1667 const struct vsock_transport *transport, in vsock_update_buffer_size() argument
1677 transport && transport->notify_buffer_size) in vsock_update_buffer_size()
1678 transport->notify_buffer_size(vsk, &val); in vsock_update_buffer_size()
1692 const struct vsock_transport *transport; in vsock_connectible_setsockopt() local
1716 transport = vsk->transport; in vsock_connectible_setsockopt()
1721 vsock_update_buffer_size(vsk, transport, val); in vsock_connectible_setsockopt()
1727 vsock_update_buffer_size(vsk, transport, vsk->buffer_size); in vsock_connectible_setsockopt()
1733 vsock_update_buffer_size(vsk, transport, vsk->buffer_size); in vsock_connectible_setsockopt()
1837 const struct vsock_transport *transport; in vsock_connectible_sendmsg() local
1854 transport = vsk->transport; in vsock_connectible_sendmsg()
1871 if (!transport || sk->sk_state != TCP_ESTABLISHED || in vsock_connectible_sendmsg()
1885 err = transport->notify_send_init(vsk, &send_data); in vsock_connectible_sendmsg()
1905 err = transport->notify_send_pre_block(vsk, &send_data); in vsock_connectible_sendmsg()
1939 err = transport->notify_send_pre_enqueue(vsk, &send_data); in vsock_connectible_sendmsg()
1950 written = transport->seqpacket_enqueue(vsk, in vsock_connectible_sendmsg()
1953 written = transport->stream_enqueue(vsk, in vsock_connectible_sendmsg()
1964 err = transport->notify_send_post_enqueue( in vsock_connectible_sendmsg()
1991 const struct vsock_transport *transport; in vsock_connectible_wait_data() local
1998 transport = vsk->transport; in vsock_connectible_wait_data()
2019 err = transport->notify_recv_pre_block(vsk, target, recv_data); in vsock_connectible_wait_data()
2042 /* Internal transport error when checking for available in vsock_connectible_wait_data()
2056 const struct vsock_transport *transport; in __vsock_stream_recvmsg() local
2066 transport = vsk->transport; in __vsock_stream_recvmsg()
2075 if (target >= transport->stream_rcvhiwat(vsk)) { in __vsock_stream_recvmsg()
2082 err = transport->notify_recv_init(vsk, target, &recv_data); in __vsock_stream_recvmsg()
2095 err = transport->notify_recv_pre_dequeue(vsk, target, in __vsock_stream_recvmsg()
2100 read = transport->stream_dequeue(vsk, msg, len - copied, flags); in __vsock_stream_recvmsg()
2108 err = transport->notify_recv_post_dequeue(vsk, target, read, in __vsock_stream_recvmsg()
2134 const struct vsock_transport *transport; in __vsock_seqpacket_recvmsg() local
2142 transport = vsk->transport; in __vsock_seqpacket_recvmsg()
2150 msg_len = transport->seqpacket_dequeue(vsk, msg, flags); in __vsock_seqpacket_recvmsg()
2187 const struct vsock_transport *transport; in __vsock_connectible_recvmsg() local
2200 transport = vsk->transport; in __vsock_connectible_recvmsg()
2202 if (!transport || sk->sk_state != TCP_ESTABLISHED) { in __vsock_connectible_recvmsg()
2267 const struct vsock_transport *transport; in vsock_set_rcvlowat() local
2275 transport = vsk->transport; in vsock_set_rcvlowat()
2277 if (transport && transport->notify_set_rcvlowat) { in vsock_set_rcvlowat()
2280 err = transport->notify_set_rcvlowat(vsk, val); in vsock_set_rcvlowat()
2490 return vsk->transport; in vsock_core_get_transport()