Displaying 20 results from an estimated 28 matches for "skb_recv_datagram".
2016 Apr 19
1
[PATCH] VSOCK: Only check error on skb_recv_datagram when skb is NULL
If skb_recv_datagram returns an skb, we should ignore the err
value returned. Otherwise, datagram receives will return EAGAIN
when they have to wait for a datagram.
Acked-by: Adit Ranadive <aditr at vmware.com>
Signed-off-by: Jorgen Hansen <jhansen at vmware.com>
---
net/vmw_vsock/vmci_transport.c | 7...
2016 Apr 19
1
[PATCH] VSOCK: Only check error on skb_recv_datagram when skb is NULL
If skb_recv_datagram returns an skb, we should ignore the err
value returned. Otherwise, datagram receives will return EAGAIN
when they have to wait for a datagram.
Acked-by: Adit Ranadive <aditr at vmware.com>
Signed-off-by: Jorgen Hansen <jhansen at vmware.com>
---
net/vmw_vsock/vmci_transport.c | 7...
2013 Jun 27
1
[RFC 2/5] VSOCK: Introduce virtio-vsock-common.ko
...rr;
> +
> + noblock = flags & MSG_DONTWAIT;
> +
> + if (flags & MSG_OOB || flags & MSG_ERRQUEUE)
> + return -EOPNOTSUPP;
> +
> + msg->msg_namelen = 0;
> +
> + /* Retrieve the head sk_buff from the socket's receive queue. */
> + err = 0;
> + skb = skb_recv_datagram(&vsk->sk, flags, noblock, &err);
> + if (err)
> + return err;
> + if (!skb)
> + return -EAGAIN;
> +
> + pkt = (struct virtio_vsock_pkt *)skb->data;
> + if (!pkt)
> + goto out;
> +
> + /* FIXME: check payload_len */
> + payload_len = pkt->len;
>...
2013 Jun 27
1
[RFC 2/5] VSOCK: Introduce virtio-vsock-common.ko
...rr;
> +
> + noblock = flags & MSG_DONTWAIT;
> +
> + if (flags & MSG_OOB || flags & MSG_ERRQUEUE)
> + return -EOPNOTSUPP;
> +
> + msg->msg_namelen = 0;
> +
> + /* Retrieve the head sk_buff from the socket's receive queue. */
> + err = 0;
> + skb = skb_recv_datagram(&vsk->sk, flags, noblock, &err);
> + if (err)
> + return err;
> + if (!skb)
> + return -EAGAIN;
> +
> + pkt = (struct virtio_vsock_pkt *)skb->data;
> + if (!pkt)
> + goto out;
> +
> + /* FIXME: check payload_len */
> + payload_len = pkt->len;
>...
2013 Jun 27
0
[RFC 2/5] VSOCK: Introduce virtio-vsock-common.ko
...buff *skb;
+ size_t payload_len;
+ int noblock;
+ int err;
+
+ noblock = flags & MSG_DONTWAIT;
+
+ if (flags & MSG_OOB || flags & MSG_ERRQUEUE)
+ return -EOPNOTSUPP;
+
+ msg->msg_namelen = 0;
+
+ /* Retrieve the head sk_buff from the socket's receive queue. */
+ err = 0;
+ skb = skb_recv_datagram(&vsk->sk, flags, noblock, &err);
+ if (err)
+ return err;
+ if (!skb)
+ return -EAGAIN;
+
+ pkt = (struct virtio_vsock_pkt *)skb->data;
+ if (!pkt)
+ goto out;
+
+ /* FIXME: check payload_len */
+ payload_len = pkt->len;
+
+ /* Place the datagram payload in the user's iovec....
2008 Dec 14
5
[PATCH] AF_VMCHANNEL address family for guest<->host communication.
...vmc_dev.recv_posted);
+ }
+ spin_unlock_bh(&vmc->backlog_skb_q.lock);
+
+ BUG_ON(atomic_read(&vmc_dev.recv_posted) < 0);
+
+ /* this will repost buffers */
+ if (atomic_read(&vmc_dev.recv_posted) < max_ring_len / 2)
+ tasklet_schedule(&vmc_dev.rx_tasklet);
+
+ skb = skb_recv_datagram(sk, flags, noblock, &err);
+ if (!skb) {
+ if (sk->sk_shutdown & RCV_SHUTDOWN)
+ err = 0;
+ return err;
+ }
+
+ chunk = min_t(unsigned int, skb->len, len);
+
+ err = memcpy_toiovec(msg->msg_iov, skb->data, chunk);
+ if (err) {
+ if (!(flags & MSG_PEEK))
+ sk...
2008 Dec 14
5
[PATCH] AF_VMCHANNEL address family for guest<->host communication.
...vmc_dev.recv_posted);
+ }
+ spin_unlock_bh(&vmc->backlog_skb_q.lock);
+
+ BUG_ON(atomic_read(&vmc_dev.recv_posted) < 0);
+
+ /* this will repost buffers */
+ if (atomic_read(&vmc_dev.recv_posted) < max_ring_len / 2)
+ tasklet_schedule(&vmc_dev.rx_tasklet);
+
+ skb = skb_recv_datagram(sk, flags, noblock, &err);
+ if (!skb) {
+ if (sk->sk_shutdown & RCV_SHUTDOWN)
+ err = 0;
+ return err;
+ }
+
+ chunk = min_t(unsigned int, skb->len, len);
+
+ err = memcpy_toiovec(msg->msg_iov, skb->data, chunk);
+ if (err) {
+ if (!(flags & MSG_PEEK))
+ sk...
2014 Jul 05
0
[RFC V2 3/7] VSOCK: Introduce virtio-vsock-common.ko
...t sk_buff *skb;
+ int noblock;
+ int err;
+ int dgram_len;
+
+ noblock = flags & MSG_DONTWAIT;
+
+ if (flags & MSG_OOB || flags & MSG_ERRQUEUE)
+ return -EOPNOTSUPP;
+
+ msg->msg_namelen = 0;
+
+ /* Retrieve the head sk_buff from the socket's receive queue. */
+ err = 0;
+ skb = skb_recv_datagram(&vsk->sk, flags, noblock, &err);
+ if (err)
+ return err;
+ if (!skb)
+ return -EAGAIN;
+
+ hdr = (struct virtio_vsock_hdr *)skb->data;
+ if (!hdr)
+ goto out;
+
+ dgram_len = le32_to_cpu(hdr->len) >> 16;
+ /* Place the datagram payload in the user's iovec. */
+ err =...
2013 Jun 27
13
[RFC 0/5] Introduce VM Sockets virtio transport
Hello guys,
In commit d021c344051af91 (VSOCK: Introduce VM Sockets), VMware added VM
Sockets support. VM Sockets allows communication between virtual
machines and the hypervisor. VM Sockets is able to use different
hyervisor neutral transport to transfer data. Currently, only VMware
VMCI transport is supported.
This series introduces virtio transport for VM Sockets.
Any comments are
2013 Jun 27
13
[RFC 0/5] Introduce VM Sockets virtio transport
Hello guys,
In commit d021c344051af91 (VSOCK: Introduce VM Sockets), VMware added VM
Sockets support. VM Sockets allows communication between virtual
machines and the hypervisor. VM Sockets is able to use different
hyervisor neutral transport to transfer data. Currently, only VMware
VMCI transport is supported.
This series introduces virtio transport for VM Sockets.
Any comments are
2015 Dec 09
1
[PATCH v2] Revert "Merge branch 'vsock-virtio'"
...irtio_vsock_hdr *hdr;
- struct sk_buff *skb;
- int noblock;
- int err;
- int dgram_len;
-
- noblock = flags & MSG_DONTWAIT;
-
- if (flags & MSG_OOB || flags & MSG_ERRQUEUE)
- return -EOPNOTSUPP;
-
- /* Retrieve the head sk_buff from the socket's receive queue. */
- err = 0;
- skb = skb_recv_datagram(&vsk->sk, flags, noblock, &err);
- if (err)
- return err;
- if (!skb)
- return -EAGAIN;
-
- hdr = (struct virtio_vsock_hdr *)skb->data;
- if (!hdr)
- goto out;
-
- dgram_len = le32_to_cpu(hdr->len) >> 16;
- /* Place the datagram payload in the user's iovec. */
- err =...
2015 Dec 09
1
[PATCH v2] Revert "Merge branch 'vsock-virtio'"
...irtio_vsock_hdr *hdr;
- struct sk_buff *skb;
- int noblock;
- int err;
- int dgram_len;
-
- noblock = flags & MSG_DONTWAIT;
-
- if (flags & MSG_OOB || flags & MSG_ERRQUEUE)
- return -EOPNOTSUPP;
-
- /* Retrieve the head sk_buff from the socket's receive queue. */
- err = 0;
- skb = skb_recv_datagram(&vsk->sk, flags, noblock, &err);
- if (err)
- return err;
- if (!skb)
- return -EAGAIN;
-
- hdr = (struct virtio_vsock_hdr *)skb->data;
- if (!hdr)
- goto out;
-
- dgram_len = le32_to_cpu(hdr->len) >> 16;
- /* Place the datagram payload in the user's iovec. */
- err =...
2015 Dec 08
8
[PATCH 0/6] VSOCK: revert virtio-vsock until device spec is finalized
The virtio-vsock device specification is not finalized yet. Michael Tsirkin
voiced concerned about merging this code when the hardware interface (and
possibly the userspace interface) could still change.
Please revert for now.
I am working to finalize the virtio-vsock device specification and at that
point the interfaces will be stable.
Stefan Hajnoczi (6):
Revert "VSOCK: fix
2015 Dec 08
8
[PATCH 0/6] VSOCK: revert virtio-vsock until device spec is finalized
The virtio-vsock device specification is not finalized yet. Michael Tsirkin
voiced concerned about merging this code when the hardware interface (and
possibly the userspace interface) could still change.
Please revert for now.
I am working to finalize the virtio-vsock device specification and at that
point the interfaces will be stable.
Stefan Hajnoczi (6):
Revert "VSOCK: fix
2015 May 27
6
[RFC 0/6] Add virtio transport for AF_VSOCK
This patch series adds a virtio transport for AF_VSOCK (net/vmw_vsock/).
AF_VSOCK is designed for communication between virtual machines and
hypervisors. It is currently only implemented for VMware's VMCI transport.
This series implements the proposed virtio-vsock device specification from
here:
http://comments.gmane.org/gmane.comp.emulators.virtio.devel/855
Most of the work was done by
2015 May 27
6
[RFC 0/6] Add virtio transport for AF_VSOCK
This patch series adds a virtio transport for AF_VSOCK (net/vmw_vsock/).
AF_VSOCK is designed for communication between virtual machines and
hypervisors. It is currently only implemented for VMware's VMCI transport.
This series implements the proposed virtio-vsock device specification from
here:
http://comments.gmane.org/gmane.comp.emulators.virtio.devel/855
Most of the work was done by
2014 Jul 05
9
[RFC V2 0/7] Introduce VM Sockets virtio transport
Hello guys,
This was V2 of the virtio-vsock back in last October. I do not have time to
work on it since then. People are asking the latest status of virtio-vsock from
time to time, so I'm sending out the code for people who are interested in.
Feel free to grab the code and work on it if you want.
In commit d021c344051af91 (VSOCK: Introduce VM Sockets), VMware added VM
Sockets support. VM
2014 Jul 05
9
[RFC V2 0/7] Introduce VM Sockets virtio transport
Hello guys,
This was V2 of the virtio-vsock back in last October. I do not have time to
work on it since then. People are asking the latest status of virtio-vsock from
time to time, so I'm sending out the code for people who are interested in.
Feel free to grab the code and work on it if you want.
In commit d021c344051af91 (VSOCK: Introduce VM Sockets), VMware added VM
Sockets support. VM
2015 Dec 02
8
[PATCH v2 0/5] Add virtio transport for AF_VSOCK
v2:
* Rebased onto Linux v4.4-rc2
* vhost: Refuse to assign reserved CIDs
* vhost: Refuse guest CID if already in use
* vhost: Only accept correctly addressed packets (no spoofing!)
* vhost: Support flexible rx/tx descriptor layout
* vhost: Add missing total_tx_buf decrement
* virtio_transport: Fix total_tx_buf accounting
* virtio_transport: Add virtio_transport global mutex to prevent
2015 Dec 02
8
[PATCH v2 0/5] Add virtio transport for AF_VSOCK
v2:
* Rebased onto Linux v4.4-rc2
* vhost: Refuse to assign reserved CIDs
* vhost: Refuse guest CID if already in use
* vhost: Only accept correctly addressed packets (no spoofing!)
* vhost: Support flexible rx/tx descriptor layout
* vhost: Add missing total_tx_buf decrement
* virtio_transport: Fix total_tx_buf accounting
* virtio_transport: Add virtio_transport global mutex to prevent