Displaying 20 results from an estimated 58 matches for "virtio_vsock_op_request".
2013 Jun 28
1
[RFC 0/5] Introduce VM Sockets virtio transport
...d.
The cid is present in DGRAM packets and STREAM _control_ packets
(connection handshake, signal read/write and so forth). I don't
think the intent here is for it to be in STREAM _data_ packets,
but Asias can clarify.
> > Virtio VM socket connection creation:
> > 1) Client sends VIRTIO_VSOCK_OP_REQUEST to server
> > 2) Server reponses with VIRTIO_VSOCK_OP_NEGOTIATE to client
> > 3) Client sends VIRTIO_VSOCK_OP_OFFER to server
> > 4) Server responses with VIRTIO_VSOCK_OP_ATTACH to client
>
> What's the reason for a 4 stage setup? Most transports
> make do with 3.
I...
2013 Jun 28
1
[RFC 0/5] Introduce VM Sockets virtio transport
...d.
The cid is present in DGRAM packets and STREAM _control_ packets
(connection handshake, signal read/write and so forth). I don't
think the intent here is for it to be in STREAM _data_ packets,
but Asias can clarify.
> > Virtio VM socket connection creation:
> > 1) Client sends VIRTIO_VSOCK_OP_REQUEST to server
> > 2) Server reponses with VIRTIO_VSOCK_OP_NEGOTIATE to client
> > 3) Client sends VIRTIO_VSOCK_OP_OFFER to server
> > 4) Server responses with VIRTIO_VSOCK_OP_ATTACH to client
>
> What's the reason for a 4 stage setup? Most transports
> make do with 3.
I...
2013 Jun 27
0
[RFC 0/5] Introduce VM Sockets virtio transport
...d, it could be zero if no data
> payload is transferred.
> type: specifies the type of 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_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...
2013 Jun 27
0
[RFC 0/5] Introduce VM Sockets virtio transport
...oad, it could be zero if no data
> payload is transferred.
> type: specifies the type of 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_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_SHU...
2013 Jun 27
13
[RFC 0/5] Introduce VM Sockets virtio transport
...specifies the size of the data payload, it could be zero if no data
payload is transferred.
type: specifies the type of 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_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 t...
2013 Jun 27
13
[RFC 0/5] Introduce VM Sockets virtio transport
...specifies the size of the data payload, it could be zero if no data
payload is transferred.
type: specifies the type of 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_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 t...
2016 Dec 07
0
[PATCH v2 1/4] vsock: track pkt owner vsock
...,
struct virtio_vsock_pkt_info info = {
.op = VIRTIO_VSOCK_OP_CREDIT_UPDATE,
.type = type,
+ .vsk = vsk,
};
return virtio_transport_send_pkt_info(vsk, &info);
@@ -519,6 +521,7 @@ int virtio_transport_connect(struct vsock_sock *vsk)
struct virtio_vsock_pkt_info info = {
.op = VIRTIO_VSOCK_OP_REQUEST,
.type = VIRTIO_VSOCK_TYPE_STREAM,
+ .vsk = vsk,
};
return virtio_transport_send_pkt_info(vsk, &info);
@@ -534,6 +537,7 @@ int virtio_transport_shutdown(struct vsock_sock *vsk, int mode)
VIRTIO_VSOCK_SHUTDOWN_RCV : 0) |
(mode & SEND_SHUTDOWN ?
VIRTIO_VSOCK_SHUTDOW...
2016 Dec 08
0
[PATCH v3 1/4] vsock: track pkt owner vsock
...,
struct virtio_vsock_pkt_info info = {
.op = VIRTIO_VSOCK_OP_CREDIT_UPDATE,
.type = type,
+ .vsk = vsk,
};
return virtio_transport_send_pkt_info(vsk, &info);
@@ -519,6 +521,7 @@ int virtio_transport_connect(struct vsock_sock *vsk)
struct virtio_vsock_pkt_info info = {
.op = VIRTIO_VSOCK_OP_REQUEST,
.type = VIRTIO_VSOCK_TYPE_STREAM,
+ .vsk = vsk,
};
return virtio_transport_send_pkt_info(vsk, &info);
@@ -534,6 +537,7 @@ int virtio_transport_shutdown(struct vsock_sock *vsk, int mode)
VIRTIO_VSOCK_SHUTDOWN_RCV : 0) |
(mode & SEND_SHUTDOWN ?
VIRTIO_VSOCK_SHUTDOW...
2016 Dec 12
0
[PATCH v4 1/4] vsock: track pkt owner vsock
...,
struct virtio_vsock_pkt_info info = {
.op = VIRTIO_VSOCK_OP_CREDIT_UPDATE,
.type = type,
+ .vsk = vsk,
};
return virtio_transport_send_pkt_info(vsk, &info);
@@ -519,6 +521,7 @@ int virtio_transport_connect(struct vsock_sock *vsk)
struct virtio_vsock_pkt_info info = {
.op = VIRTIO_VSOCK_OP_REQUEST,
.type = VIRTIO_VSOCK_TYPE_STREAM,
+ .vsk = vsk,
};
return virtio_transport_send_pkt_info(vsk, &info);
@@ -534,6 +537,7 @@ int virtio_transport_shutdown(struct vsock_sock *vsk, int mode)
VIRTIO_VSOCK_SHUTDOWN_RCV : 0) |
(mode & SEND_SHUTDOWN ?
VIRTIO_VSOCK_SHUTDOW...
2017 Mar 01
0
[PATCH-v4-RESEND 1/4] vsock: track pkt owner vsock
...,
struct virtio_vsock_pkt_info info = {
.op = VIRTIO_VSOCK_OP_CREDIT_UPDATE,
.type = type,
+ .vsk = vsk,
};
return virtio_transport_send_pkt_info(vsk, &info);
@@ -518,6 +520,7 @@ int virtio_transport_connect(struct vsock_sock *vsk)
struct virtio_vsock_pkt_info info = {
.op = VIRTIO_VSOCK_OP_REQUEST,
.type = VIRTIO_VSOCK_TYPE_STREAM,
+ .vsk = vsk,
};
return virtio_transport_send_pkt_info(vsk, &info);
@@ -533,6 +536,7 @@ int virtio_transport_shutdown(struct vsock_sock *vsk, int mode)
VIRTIO_VSOCK_SHUTDOWN_RCV : 0) |
(mode & SEND_SHUTDOWN ?
VIRTIO_VSOCK_SHUTDOW...
2023 Mar 21
0
[RFC PATCH v2] virtio/vsock: allocate multiple skbuffs on tx
...pare separate patch which adds zero argument check to this function.
Yep, I agree.
>As i see, the only function suitable for such 'if' condition is
>'virtio_transport_put_credit()'.
Why not even for virtio_transport_get_credit() ?
When we send packets without payload (e.g. VIRTIO_VSOCK_OP_REQUEST,
VIRTIO_VSOCK_OP_SHUTDOWN) we call virtio_transport_get_credit()
with `credit` parameter equal to 0, then we acquire the spinlock but
in the end we do nothing.
>Anyway - for future use this check won't be bad.
Yep, these are minor improvements ;-)
Thanks,
Stefano
2013 Jun 27
1
[RFC 2/5] VSOCK: Introduce virtio-vsock-common.ko
..._vsock_hdr {
> + __u32 src_cid;
> + __u32 src_port;
> + __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_V...
2013 Jun 27
1
[RFC 2/5] VSOCK: Introduce virtio-vsock-common.ko
..._vsock_hdr {
> + __u32 src_cid;
> + __u32 src_port;
> + __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_V...
2015 Dec 09
0
[PATCH v3 1/4] VSOCK: Introduce virtio-vsock-common.ko
...en;
+ __le16 type; /* enum virtio_vsock_type */
+ __le16 op; /* enum virtio_vsock_op */
+ __le32 flags;
+ __le32 buf_alloc;
+ __le32 fwd_cnt;
+};
+
+enum virtio_vsock_type {
+ VIRTIO_VSOCK_TYPE_STREAM = 1,
+};
+
+enum virtio_vsock_op {
+ VIRTIO_VSOCK_OP_INVALID = 0,
+
+ /* Connect operations */
+ VIRTIO_VSOCK_OP_REQUEST = 1,
+ VIRTIO_VSOCK_OP_RESPONSE = 2,
+ VIRTIO_VSOCK_OP_RST = 3,
+ VIRTIO_VSOCK_OP_SHUTDOWN = 4,
+
+ /* To send payload */
+ VIRTIO_VSOCK_OP_RW = 5,
+
+ /* Tell the peer our credit info */
+ VIRTIO_VSOCK_OP_CREDIT_UPDATE = 6,
+ /* Request the peer to send the credit info to us */
+ VIRTIO_VSOCK_OP_C...
2014 Jul 05
9
[RFC V2 0/7] Introduce VM Sockets virtio transport
...th of this pkt. When the payload is for SOCK_STREAM,
len specifies the length of the pkt.
type: specifies the type of 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:...
2014 Jul 05
9
[RFC V2 0/7] Introduce VM Sockets virtio transport
...th of this pkt. When the payload is for SOCK_STREAM,
len specifies the length of the pkt.
type: specifies the type of 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:...
2013 Jun 27
0
[RFC 2/5] VSOCK: Introduce virtio-vsock-common.ko
...__u32 guest_cid;
+ __u32 max_virtqueue_pairs;
+} __packed;
+
+struct virtio_vsock_hdr {
+ __u32 src_cid;
+ __u32 src_port;
+ __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_transp...
2019 Dec 13
3
[PATCH net 0/2] vsock/virtio: fix null-pointer dereference and related precautions
This series mainly solves a possible null-pointer dereference in
virtio_transport_recv_listen() introduced with the multi-transport
support [PATCH 1].
PATCH 2 adds a WARN_ON check for the same potential issue
and a returned error in the virtio_transport_send_pkt_info() function
to avoid crashing the kernel.
Stefano Garzarella (2):
vsock/virtio: fix null-pointer dereference in
2015 Dec 10
1
[PATCH v3 1/4] VSOCK: Introduce virtio-vsock-common.ko
...virtio_vsock_op */
> + __le32 flags;
> + __le32 buf_alloc;
> + __le32 fwd_cnt;
> +};
> +
> +enum virtio_vsock_type {
> + VIRTIO_VSOCK_TYPE_STREAM = 1,
> +};
> +
> +enum virtio_vsock_op {
> + VIRTIO_VSOCK_OP_INVALID = 0,
> +
> + /* Connect operations */
> + VIRTIO_VSOCK_OP_REQUEST = 1,
> + VIRTIO_VSOCK_OP_RESPONSE = 2,
> + VIRTIO_VSOCK_OP_RST = 3,
> + VIRTIO_VSOCK_OP_SHUTDOWN = 4,
> +
> + /* To send payload */
> + VIRTIO_VSOCK_OP_RW = 5,
> +
> + /* Tell the peer our credit info */
> + VIRTIO_VSOCK_OP_CREDIT_UPDATE = 6,
> + /* Request the peer to...
2015 Dec 10
1
[PATCH v3 1/4] VSOCK: Introduce virtio-vsock-common.ko
...virtio_vsock_op */
> + __le32 flags;
> + __le32 buf_alloc;
> + __le32 fwd_cnt;
> +};
> +
> +enum virtio_vsock_type {
> + VIRTIO_VSOCK_TYPE_STREAM = 1,
> +};
> +
> +enum virtio_vsock_op {
> + VIRTIO_VSOCK_OP_INVALID = 0,
> +
> + /* Connect operations */
> + VIRTIO_VSOCK_OP_REQUEST = 1,
> + VIRTIO_VSOCK_OP_RESPONSE = 2,
> + VIRTIO_VSOCK_OP_RST = 3,
> + VIRTIO_VSOCK_OP_SHUTDOWN = 4,
> +
> + /* To send payload */
> + VIRTIO_VSOCK_OP_RW = 5,
> +
> + /* Tell the peer our credit info */
> + VIRTIO_VSOCK_OP_CREDIT_UPDATE = 6,
> + /* Request the peer to...