| /linux/net/vmw_vsock/ |
| H A D | vmci_transport_notify.c | 15 #define PKT_FIELD(vsk, field_name) (vmci_trans(vsk)->notify.pkt.field_name) argument 17 static bool vmci_transport_notify_waiting_write(struct vsock_sock *vsk) in vmci_transport_notify_waiting_write() argument 23 if (!PKT_FIELD(vsk, peer_waiting_write)) in vmci_transport_notify_waiting_write() 34 if (!PKT_FIELD(vsk, peer_waiting_write_detected)) { in vmci_transport_notify_waiting_write() 35 PKT_FIELD(vsk, peer_waiting_write_detected) = true; in vmci_transport_notify_waiting_write() 36 if (PKT_FIELD(vsk, write_notify_window) < PAGE_SIZE) { in vmci_transport_notify_waiting_write() 37 PKT_FIELD(vsk, write_notify_window) = in vmci_transport_notify_waiting_write() 38 PKT_FIELD(vsk, write_notify_min_window); in vmci_transport_notify_waiting_write() 40 PKT_FIELD(vsk, write_notify_window) -= PAGE_SIZE; in vmci_transport_notify_waiting_write() 41 if (PKT_FIELD(vsk, write_notify_window) < in vmci_transport_notify_waiting_write() [all …]
|
| H A D | vmci_transport_notify_qstate.c | 15 #define PKT_FIELD(vsk, field_name) \ argument 16 (vmci_trans(vsk)->notify.pkt_q_state.field_name) 18 static bool vmci_transport_notify_waiting_write(struct vsock_sock *vsk) in vmci_transport_notify_waiting_write() argument 23 if (!PKT_FIELD(vsk, peer_waiting_write)) in vmci_transport_notify_waiting_write() 33 if (!PKT_FIELD(vsk, peer_waiting_write_detected)) { in vmci_transport_notify_waiting_write() 34 PKT_FIELD(vsk, peer_waiting_write_detected) = true; in vmci_transport_notify_waiting_write() 35 if (PKT_FIELD(vsk, write_notify_window) < PAGE_SIZE) { in vmci_transport_notify_waiting_write() 36 PKT_FIELD(vsk, write_notify_window) = in vmci_transport_notify_waiting_write() 37 PKT_FIELD(vsk, write_notify_min_window); in vmci_transport_notify_waiting_write() 39 PKT_FIELD(vsk, write_notify_window) -= PAGE_SIZE; in vmci_transport_notify_waiting_write() [all …]
|
| H A D | af_vsock.c | 240 #define vsock_connected_sockets_vsk(vsk) \ argument 241 vsock_connected_sockets(&(vsk)->remote_addr, &(vsk)->local_addr) 251 static int vsock_auto_bind(struct vsock_sock *vsk) in vsock_auto_bind() argument 253 struct sock *sk = sk_vsock(vsk); in vsock_auto_bind() 256 if (vsock_addr_bound(&vsk->local_addr)) in vsock_auto_bind() 274 struct vsock_sock *vsk) in __vsock_insert_bound() argument 276 sock_hold(&vsk->sk); in __vsock_insert_bound() 277 list_add(&vsk->bound_table, list); in __vsock_insert_bound() 281 struct vsock_sock *vsk) in __vsock_insert_connected() argument 283 sock_hold(&vsk->sk); in __vsock_insert_connected() [all …]
|
| H A D | virtio_transport_common.c | 29 static void virtio_transport_cancel_close_work(struct vsock_sock *vsk, 34 virtio_transport_get_ops(struct vsock_sock *vsk) in virtio_transport_get_ops() argument 36 const struct vsock_transport *t = vsock_core_get_transport(vsk); in virtio_transport_get_ops() 63 t_ops = virtio_transport_get_ops(info->vsk); in virtio_transport_can_zcopy() 75 static int virtio_transport_init_zcopy_skb(struct vsock_sock *vsk, in virtio_transport_init_zcopy_skb() argument 89 uarg = msg_zerocopy_realloc(sk_vsock(vsk), in virtio_transport_init_zcopy_skb() 259 struct vsock_sock *vsk; in virtio_transport_alloc_skb() local 275 vsk = info->vsk; in virtio_transport_alloc_skb() 283 WARN_ON_ONCE(!(vsk && (info->msg && payload_len)) && zcopy); in virtio_transport_alloc_skb() 288 if (vsk) in virtio_transport_alloc_skb() [all …]
|
| H A D | vmci_transport.c | 60 static bool vmci_check_transport(struct vsock_sock *vsk); 286 struct vsock_sock *vsk; in vmci_transport_send_control_pkt() local 288 vsk = vsock_sk(sk); in vmci_transport_send_control_pkt() 290 if (!vsock_addr_bound(&vsk->local_addr)) in vmci_transport_send_control_pkt() 293 if (!vsock_addr_bound(&vsk->remote_addr)) in vmci_transport_send_control_pkt() 296 return vmci_transport_alloc_send_control_pkt(&vsk->local_addr, in vmci_transport_send_control_pkt() 297 &vsk->remote_addr, in vmci_transport_send_control_pkt() 319 struct vsock_sock *vsk; in vmci_transport_send_reset() local 324 vsk = vsock_sk(sk); in vmci_transport_send_reset() 326 if (!vsock_addr_bound(&vsk->local_addr)) in vmci_transport_send_reset() [all …]
|
| H A D | hyperv_transport.c | 95 struct vsock_sock *vsk; member 158 static bool hvs_check_transport(struct vsock_sock *vsk); 250 struct vsock_sock *vsk = vsock_sk(sk); in hvs_channel_cb() local 251 struct hvsock *hvs = vsk->trans; in hvs_channel_cb() 261 static void hvs_do_close_lock_held(struct vsock_sock *vsk, in hvs_do_close_lock_held() argument 264 struct sock *sk = sk_vsock(vsk); in hvs_do_close_lock_held() 267 vsk->peer_shutdown = SHUTDOWN_MASK; in hvs_do_close_lock_held() 268 if (vsock_stream_has_data(vsk) <= 0) in hvs_do_close_lock_held() 271 if (vsk->close_work_scheduled && in hvs_do_close_lock_held() 272 (!cancel_timeout || cancel_delayed_work(&vsk->close_work))) { in hvs_do_close_lock_held() [all …]
|
| H A D | diag.c | 17 struct vsock_sock *vsk = vsock_sk(sk); in sk_diag_fill() local 37 rep->vdiag_src_cid = vsk->local_addr.svm_cid; in sk_diag_fill() 38 rep->vdiag_src_port = vsk->local_addr.svm_port; in sk_diag_fill() 39 rep->vdiag_dst_cid = vsk->remote_addr.svm_cid; in sk_diag_fill() 40 rep->vdiag_dst_port = vsk->remote_addr.svm_port; in sk_diag_fill() 51 struct vsock_sock *vsk; in vsock_diag_dump() local 76 list_for_each_entry(vsk, head, bound_table) { in vsock_diag_dump() 77 struct sock *sk = sk_vsock(vsk); in vsock_diag_dump() 106 list_for_each_entry(vsk, head, connected_table) { in vsock_diag_dump() 107 struct sock *sk = sk_vsock(vsk); in vsock_diag_dump() [all …]
|
| H A D | vsock_bpf.c | 27 struct vsock_sock *vsk = vsock_sk(sk); in vsock_has_data() local 30 ret = vsock_connectible_has_data(vsk); in vsock_has_data() 80 struct vsock_sock *vsk; in vsock_bpf_recvmsg() local 88 vsk = vsock_sk(sk); in vsock_bpf_recvmsg() 90 if (WARN_ON_ONCE(!vsk->transport)) { in vsock_bpf_recvmsg() 152 struct vsock_sock *vsk; in vsock_bpf_update_proto() local 160 vsk = vsock_sk(sk); in vsock_bpf_update_proto() 161 if (!vsk->transport) in vsock_bpf_update_proto() 164 if (!vsk->transport->read_skb) in vsock_bpf_update_proto()
|
| H A D | virtio_transport.c | 280 virtio_transport_cancel_pkt(struct vsock_sock *vsk) in virtio_transport_cancel_pkt() argument 292 cnt = virtio_transport_purge_skbs(vsk, &vsock->send_pkt_queue); in virtio_transport_cancel_pkt() 542 bool virtio_transport_stream_allow(struct vsock_sock *vsk, u32 cid, u32 port) in virtio_transport_stream_allow() argument 544 return vsock_net_mode_global(vsk); in virtio_transport_stream_allow() 547 static bool virtio_transport_seqpacket_allow(struct vsock_sock *vsk, 606 virtio_transport_seqpacket_allow(struct vsock_sock *vsk, u32 remote_cid) in virtio_transport_seqpacket_allow() argument 611 if (!vsock_net_mode_global(vsk)) in virtio_transport_seqpacket_allow()
|
| H A D | vmci_transport_notify.h | 40 void (*socket_destruct) (struct vsock_sock *vsk);
|
| /linux/include/linux/ |
| H A D | virtio_vsock.h | 149 /* Per-socket state (accessed via vsk->trans) */ 151 struct vsock_sock *vsk; member 174 struct vsock_sock *vsk; member 202 virtio_transport_stream_dequeue(struct vsock_sock *vsk, 207 virtio_transport_dgram_dequeue(struct vsock_sock *vsk, 212 virtio_transport_seqpacket_enqueue(struct vsock_sock *vsk, 216 virtio_transport_seqpacket_dequeue(struct vsock_sock *vsk, 219 s64 virtio_transport_stream_has_data(struct vsock_sock *vsk); 220 s64 virtio_transport_stream_has_space(struct vsock_sock *vsk); 221 u32 virtio_transport_seqpacket_has_data(struct vsock_sock *vsk); [all...] |
| /linux/include/net/ |
| H A D | af_vsock.h | 79 s64 vsock_connectible_has_data(struct vsock_sock *vsk); 80 s64 vsock_stream_has_data(struct vsock_sock *vsk); 81 s64 vsock_stream_has_space(struct vsock_sock *vsk); 117 int (*cancel_pkt)(struct vsock_sock *vsk); 124 int (*dgram_dequeue)(struct vsock_sock *vsk, struct msghdr *msg, 128 bool (*dgram_allow)(struct vsock_sock *vsk, u32 cid, u32 port); 140 bool (*stream_allow)(struct vsock_sock *vsk, u32 cid, u32 port); 143 ssize_t (*seqpacket_dequeue)(struct vsock_sock *vsk, struct msghdr *msg, 145 int (*seqpacket_enqueue)(struct vsock_sock *vsk, struct msghdr *msg, 147 bool (*seqpacket_allow)(struct vsock_sock *vsk, u32 remote_cid); [all …]
|
| /linux/drivers/vhost/ |
| H A D | vsock.c | 304 vhost_transport_cancel_pkt(struct vsock_sock *vsk) in vhost_transport_cancel_pkt() argument 313 vsock = vhost_vsock_get(vsk->remote_addr.svm_cid, in vhost_transport_cancel_pkt() 314 sock_net(sk_vsock(vsk))); in vhost_transport_cancel_pkt() 318 cnt = virtio_transport_purge_skbs(vsk, &vsock->send_pkt_queue); in vhost_transport_cancel_pkt() 413 static bool vhost_transport_seqpacket_allow(struct vsock_sock *vsk, 417 vhost_transport_stream_allow(struct vsock_sock *vsk, u32 cid, u32 port) in vhost_transport_stream_allow() argument 476 static bool vhost_transport_seqpacket_allow(struct vsock_sock *vsk, in vhost_transport_seqpacket_allow() argument 479 struct net *net = sock_net(sk_vsock(vsk)); in vhost_transport_seqpacket_allow() 723 struct vsock_sock *vsk = vsock_sk(sk); in vhost_vsock_reset_orphans() local 733 if (vhost_vsock_get(vsk->remote_addr.svm_cid, sock_net(sk))) { in vhost_vsock_reset_orphans() [all …]
|