search for: virtio_vsock_op_rw

Displaying 20 results from an estimated 80 matches for "virtio_vsock_op_rw".

2023 Sep 02
1
[PATCH] virtio-vsock: add VIRTIO_VSOCK_F_DGRAM feature bit
...use by datagram > > > +sockets. These fields are not used for datagram buffer space management. > > > + > > > \drivernormative{\paragraph}{Device Operation: Buffer Space Management}{Device Types / Socket Device / Device Operation / Buffer Space Management} > > > -VIRTIO_VSOCK_OP_RW data packets MUST only be transmitted when the peer has > > > -sufficient free buffer space for the payload. > > > +For stream and seqpacket flows, VIRTIO_VSOCK_OP_RW data packets MUST only be > > > +transmitted when the peer has sufficient free buffer space for the paylo...
2023 Sep 02
1
[PATCH] virtio-vsock: add VIRTIO_VSOCK_F_DGRAM feature bit
...use by datagram > > > +sockets. These fields are not used for datagram buffer space management. > > > + > > > \drivernormative{\paragraph}{Device Operation: Buffer Space Management}{Device Types / Socket Device / Device Operation / Buffer Space Management} > > > -VIRTIO_VSOCK_OP_RW data packets MUST only be transmitted when the peer has > > > -sufficient free buffer space for the payload. > > > +For stream and seqpacket flows, VIRTIO_VSOCK_OP_RW data packets MUST only be > > > +transmitted when the peer has sufficient free buffer space for the paylo...
2023 Sep 02
0
[PATCH] virtio-vsock: add VIRTIO_VSOCK_F_DGRAM feature bit
...start message pair doesn't have this > issue. > > > > > > > > > + > > > > > \drivernormative{\paragraph}{Device Operation: Buffer Space Management}{Device Types / Socket Device / Device Operation / Buffer Space Management} > > > > > -VIRTIO_VSOCK_OP_RW data packets MUST only be transmitted when the peer has > > > > > -sufficient free buffer space for the payload. > > > > > +For stream and seqpacket flows, VIRTIO_VSOCK_OP_RW data packets MUST only be > > > > > +transmitted when the peer has sufficient f...
2023 Sep 02
0
[PATCH] virtio-vsock: add VIRTIO_VSOCK_F_DGRAM feature bit
...start message pair doesn't have this > issue. > > > > > > > > > + > > > > > \drivernormative{\paragraph}{Device Operation: Buffer Space Management}{Device Types / Socket Device / Device Operation / Buffer Space Management} > > > > > -VIRTIO_VSOCK_OP_RW data packets MUST only be transmitted when the peer has > > > > > -sufficient free buffer space for the payload. > > > > > +For stream and seqpacket flows, VIRTIO_VSOCK_OP_RW data packets MUST only be > > > > > +transmitted when the peer has sufficient f...
2023 Sep 06
0
[PATCH] virtio-vsock: add VIRTIO_VSOCK_F_DGRAM feature bit
...> issue. > > > > > > > > > > > > > + > > > > > > > \drivernormative{\paragraph}{Device Operation: Buffer Space Management}{Device Types / Socket Device / Device Operation / Buffer Space Management} > > > > > > > -VIRTIO_VSOCK_OP_RW data packets MUST only be transmitted when the peer has > > > > > > > -sufficient free buffer space for the payload. > > > > > > > +For stream and seqpacket flows, VIRTIO_VSOCK_OP_RW data packets MUST only be > > > > > > > +transmitted...
2019 Aug 01
2
[PATCH v4 1/5] vsock/virtio: limit the memory used per-socket
...> VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE) pkt_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; /* virtio_transport_get_credit might return less than pkt_len credit */ pkt_len = virtio_transport_get_credit(vvs, pkt_len); /* Do not send zero length OP_RW pkt */ if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) return pkt_len; ... } then it queues the packet for the TX worker calling .send_pkt() [vhost_transport_send_pkt() in the vhost_transport case] The main function executed by the TX worker is vhost_transport_do_send_pkt() that picks up a buffer from the virtqueue and it tries to copy the packet...
2019 Aug 01
2
[PATCH v4 1/5] vsock/virtio: limit the memory used per-socket
...> VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE) pkt_len = VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE; /* virtio_transport_get_credit might return less than pkt_len credit */ pkt_len = virtio_transport_get_credit(vvs, pkt_len); /* Do not send zero length OP_RW pkt */ if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) return pkt_len; ... } then it queues the packet for the TX worker calling .send_pkt() [vhost_transport_send_pkt() in the vhost_transport case] The main function executed by the TX worker is vhost_transport_do_send_pkt() that picks up a buffer from the virtqueue and it tries to copy the packet...
2019 Aug 01
2
[PATCH v4 1/5] vsock/virtio: limit the memory used per-socket
...SOCK_DEFAULT_RX_BUF_SIZE; > > > > /* virtio_transport_get_credit might return less than pkt_len credit */ > > pkt_len = virtio_transport_get_credit(vvs, pkt_len); > > > > /* Do not send zero length OP_RW pkt */ > > if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) > > return pkt_len; > > ... > > } > > > > then it queues the packet for the TX worker calling .send_pkt() > > [vhost_transport_send_pkt() in the vhost_transport case] > > > > The main function executed by the TX worker is > > vhost_transpo...
2019 Aug 01
2
[PATCH v4 1/5] vsock/virtio: limit the memory used per-socket
...SOCK_DEFAULT_RX_BUF_SIZE; > > > > /* virtio_transport_get_credit might return less than pkt_len credit */ > > pkt_len = virtio_transport_get_credit(vvs, pkt_len); > > > > /* Do not send zero length OP_RW pkt */ > > if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) > > return pkt_len; > > ... > > } > > > > then it queues the packet for the TX worker calling .send_pkt() > > [vhost_transport_send_pkt() in the vhost_transport case] > > > > The main function executed by the TX worker is > > vhost_transpo...
2019 May 16
2
[PATCH v2 1/8] vsock/virtio: limit the memory used per-socket
...@ -841,20 +882,24 @@ virtio_transport_recv_connected(struct sock *sk, > { > struct vsock_sock *vsk = vsock_sk(sk); > struct virtio_vsock_sock *vvs = vsk->trans; > + struct virtio_vsock_buf *buf; > int err = 0; > > switch (le16_to_cpu(pkt->hdr.op)) { > case VIRTIO_VSOCK_OP_RW: > pkt->len = le32_to_cpu(pkt->hdr.len); > - pkt->off = 0; > + buf = virtio_transport_alloc_buf(pkt, true); > > - spin_lock_bh(&vvs->rx_lock); > - virtio_transport_inc_rx_pkt(vvs, pkt); > - list_add_tail(&pkt->list, &vvs->rx_queue); >...
2019 May 16
2
[PATCH v2 1/8] vsock/virtio: limit the memory used per-socket
...@ -841,20 +882,24 @@ virtio_transport_recv_connected(struct sock *sk, > { > struct vsock_sock *vsk = vsock_sk(sk); > struct virtio_vsock_sock *vvs = vsk->trans; > + struct virtio_vsock_buf *buf; > int err = 0; > > switch (le16_to_cpu(pkt->hdr.op)) { > case VIRTIO_VSOCK_OP_RW: > pkt->len = le32_to_cpu(pkt->hdr.len); > - pkt->off = 0; > + buf = virtio_transport_alloc_buf(pkt, true); > > - spin_lock_bh(&vvs->rx_lock); > - virtio_transport_inc_rx_pkt(vvs, pkt); > - list_add_tail(&pkt->list, &vvs->rx_queue); >...
2019 Sep 01
3
[PATCH v4 1/5] vsock/virtio: limit the memory used per-socket
...; > /* virtio_transport_get_credit might return less than pkt_len credit */ > > > > pkt_len = virtio_transport_get_credit(vvs, pkt_len); > > > > > > > > /* Do not send zero length OP_RW pkt */ > > > > if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) > > > > return pkt_len; > > > > ... > > > > } > > > > > > > > then it queues the packet for the TX worker calling .send_pkt() > > > > [vhost_transport_send_pkt() in the vhost_transport case] > > > > > >...
2019 Sep 01
3
[PATCH v4 1/5] vsock/virtio: limit the memory used per-socket
...; > /* virtio_transport_get_credit might return less than pkt_len credit */ > > > > pkt_len = virtio_transport_get_credit(vvs, pkt_len); > > > > > > > > /* Do not send zero length OP_RW pkt */ > > > > if (pkt_len == 0 && info->op == VIRTIO_VSOCK_OP_RW) > > > > return pkt_len; > > > > ... > > > > } > > > > > > > > then it queues the packet for the TX worker calling .send_pkt() > > > > [vhost_transport_send_pkt() in the vhost_transport case] > > > > > >...
2013 Jun 27
1
[RFC 2/5] VSOCK: Introduce virtio-vsock-common.ko
...+ __u8 op; > + __u8 shut; > + __u64 fwd_cnt; > + __u64 buf_alloc; > +} __packed; > + > +enum { > + VIRTIO_VSOCK_OP_INVALID = 0, > + VIRTIO_VSOCK_OP_REQUEST = 1, > + VIRTIO_VSOCK_OP_NEGOTIATE = 2, > + VIRTIO_VSOCK_OP_OFFER = 3, > + VIRTIO_VSOCK_OP_ATTACH = 4, > + VIRTIO_VSOCK_OP_RW = 5, > + VIRTIO_VSOCK_OP_CREDIT = 6, > + VIRTIO_VSOCK_OP_RST = 7, > + VIRTIO_VSOCK_OP_SHUTDOWN = 8, > +}; > + > +#endif /* _UAPI_LINUX_VIRTIO_VSOCK_H */ > diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c > new file mode 100644 &g...
2013 Jun 27
1
[RFC 2/5] VSOCK: Introduce virtio-vsock-common.ko
...+ __u8 op; > + __u8 shut; > + __u64 fwd_cnt; > + __u64 buf_alloc; > +} __packed; > + > +enum { > + VIRTIO_VSOCK_OP_INVALID = 0, > + VIRTIO_VSOCK_OP_REQUEST = 1, > + VIRTIO_VSOCK_OP_NEGOTIATE = 2, > + VIRTIO_VSOCK_OP_OFFER = 3, > + VIRTIO_VSOCK_OP_ATTACH = 4, > + VIRTIO_VSOCK_OP_RW = 5, > + VIRTIO_VSOCK_OP_CREDIT = 6, > + VIRTIO_VSOCK_OP_RST = 7, > + VIRTIO_VSOCK_OP_SHUTDOWN = 8, > +}; > + > +#endif /* _UAPI_LINUX_VIRTIO_VSOCK_H */ > diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c > new file mode 100644 &g...
2014 Jul 05
0
[RFC V2 3/7] VSOCK: Introduce virtio-vsock-common.ko
...e32 flags; + __le32 buf_alloc; + __le32 fwd_cnt; +}; + +enum { + VIRTIO_VSOCK_OP_INVALID = 0, + + /* Connect operations */ + VIRTIO_VSOCK_OP_REQUEST = 1, + VIRTIO_VSOCK_OP_RESPONSE = 2, + VIRTIO_VSOCK_OP_ACK = 3, + VIRTIO_VSOCK_OP_RST = 4, + VIRTIO_VSOCK_OP_SHUTDOWN = 5, + + /* To send payload */ + VIRTIO_VSOCK_OP_RW = 6, + + /* Tell the peer our credit info */ + VIRTIO_VSOCK_OP_CREDIT_UPDATE = 7, + /* Request the peer to send the credit info to us */ + VIRTIO_VSOCK_OP_CREDIT_REQUEST = 8, +}; + +#endif /* _UAPI_LINUX_VIRTIO_VSOCK_H */ diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_t...
2013 Jun 27
13
[RFC 0/5] Introduce VM Sockets virtio transport
...CK_DGRAM. op: specifies the operation of the packet, it is defined as follows. enum { VIRTIO_VSOCK_OP_INVALID = 0, VIRTIO_VSOCK_OP_REQUEST = 1, VIRTIO_VSOCK_OP_NEGOTIATE = 2, VIRTIO_VSOCK_OP_OFFER = 3, VIRTIO_VSOCK_OP_ATTACH = 4, VIRTIO_VSOCK_OP_RW = 5, VIRTIO_VSOCK_OP_CREDIT = 6, VIRTIO_VSOCK_OP_RST = 7, VIRTIO_VSOCK_OP_SHUTDOWN = 8, }; shut: specifies the shutdown mode when the socket is being shutdown. 1 is for receive shutdown, 2 is for transmit shutdown, 3 is for both receive and transmit shutdown. fw...
2013 Jun 27
13
[RFC 0/5] Introduce VM Sockets virtio transport
...CK_DGRAM. op: specifies the operation of the packet, it is defined as follows. enum { VIRTIO_VSOCK_OP_INVALID = 0, VIRTIO_VSOCK_OP_REQUEST = 1, VIRTIO_VSOCK_OP_NEGOTIATE = 2, VIRTIO_VSOCK_OP_OFFER = 3, VIRTIO_VSOCK_OP_ATTACH = 4, VIRTIO_VSOCK_OP_RW = 5, VIRTIO_VSOCK_OP_CREDIT = 6, VIRTIO_VSOCK_OP_RST = 7, VIRTIO_VSOCK_OP_SHUTDOWN = 8, }; shut: specifies the shutdown mode when the socket is being shutdown. 1 is for receive shutdown, 2 is for transmit shutdown, 3 is for both receive and transmit shutdown. fw...
2013 Jun 27
0
[RFC 2/5] VSOCK: Introduce virtio-vsock-common.ko
...+ __u32 dst_cid; + __u32 dst_port; + __u32 len; + __u8 type; + __u8 op; + __u8 shut; + __u64 fwd_cnt; + __u64 buf_alloc; +} __packed; + +enum { + VIRTIO_VSOCK_OP_INVALID = 0, + VIRTIO_VSOCK_OP_REQUEST = 1, + VIRTIO_VSOCK_OP_NEGOTIATE = 2, + VIRTIO_VSOCK_OP_OFFER = 3, + VIRTIO_VSOCK_OP_ATTACH = 4, + VIRTIO_VSOCK_OP_RW = 5, + VIRTIO_VSOCK_OP_CREDIT = 6, + VIRTIO_VSOCK_OP_RST = 7, + VIRTIO_VSOCK_OP_SHUTDOWN = 8, +}; + +#endif /* _UAPI_LINUX_VIRTIO_VSOCK_H */ diff --git a/net/vmw_vsock/virtio_transport_common.c b/net/vmw_vsock/virtio_transport_common.c new file mode 100644 index 0000000..0482eb1 --- /dev/null +++ b...
2014 Jul 05
9
[RFC V2 0/7] Introduce VM Sockets virtio transport
...f the packet, it can be SOCK_STREAM or SOCK_DGRAM. op: specifies the operation of the packet, it is defined as follows. enum { VIRTIO_VSOCK_OP_INVALID = 0, VIRTIO_VSOCK_OP_REQUEST = 1, VIRTIO_VSOCK_OP_RESPONSE = 2, VIRTIO_VSOCK_OP_ACK = 3, VIRTIO_VSOCK_OP_RW = 4, VIRTIO_VSOCK_OP_CREDIT = 5, VIRTIO_VSOCK_OP_WANTCREDIT = 6, VIRTIO_VSOCK_OP_RST = 7, VIRTIO_VSOCK_OP_SHUTDOWN = 8, }; /*FIXME*/ flags: has different meanings for differentdifferent operations. When op is VIRTIO_VSOCK_OP_REQUEST or VIRTIO_VSOC...