Displaying 12 results from an estimated 12 matches for "virtio_net_flush_tx".
2012 Jun 25
4
[RFC V2 PATCH 0/4] Multiqueue support for tap and virtio-net/vhost
Hello all:
This seires is an update of last version of multiqueue support to add multiqueue
capability to both tap and virtio-net.
Some kinds of tap backends has (macvatp in linux) or would (tap) support
multiqueue. In such kind of tap backend, each file descriptor of a tap is a
qeueu and ioctls were prodived to attach an exist tap file descriptor to the
tun/tap device. So the patch let qemu to
2012 Jun 25
4
[RFC V2 PATCH 0/4] Multiqueue support for tap and virtio-net/vhost
Hello all:
This seires is an update of last version of multiqueue support to add multiqueue
capability to both tap and virtio-net.
Some kinds of tap backends has (macvatp in linux) or would (tap) support
multiqueue. In such kind of tap backend, each file descriptor of a tap is a
qeueu and ioctls were prodived to attach an exist tap file descriptor to the
tun/tap device. So the patch let qemu to
2012 Jul 06
5
[RFC V3 0/5] Multiqueue support for tap and virtio-net/vhost
Hello all:
This seires is an update of last version of multiqueue support to add multiqueue
capability to both tap and virtio-net.
Some kinds of tap backends has (macvatp in linux) or would (tap) support
multiqueue. In such kind of tap backend, each file descriptor of a tap is a
qeueu and ioctls were prodived to attach an exist tap file descriptor to the
tun/tap device. So the patch let qemu to
2012 Jul 06
5
[RFC V3 0/5] Multiqueue support for tap and virtio-net/vhost
Hello all:
This seires is an update of last version of multiqueue support to add multiqueue
capability to both tap and virtio-net.
Some kinds of tap backends has (macvatp in linux) or would (tap) support
multiqueue. In such kind of tap backend, each file descriptor of a tap is a
qeueu and ioctls were prodived to attach an exist tap file descriptor to the
tun/tap device. So the patch let qemu to
2009 Aug 13
0
[PATCHv2 3/3] qemu-kvm: vhost-net implementation
...iovec *iov, int iovcnt, const void *buf, int count)
while (offset < count && i < iovcnt) {
int len = MIN(iov[i].iov_len, count - offset);
memcpy(iov[i].iov_base, buf + offset, len);
+
offset += len;
i++;
}
@@ -610,6 +624,8 @@ static void virtio_net_flush_tx(VirtIONet *n, VirtQueue *vq)
#else
int has_vnet_hdr = 0;
#endif
+ if (n->vhost_device)
+ return;
if (!(n->vdev.status & VIRTIO_CONFIG_S_DRIVER_OK))
return;
@@ -822,6 +838,18 @@ static void virtio_net_cleanup(VLANClientState *vc)
virtio_cleanup(&n->...
2009 Aug 13
0
[PATCHv2 3/3] qemu-kvm: vhost-net implementation
...iovec *iov, int iovcnt, const void *buf, int count)
while (offset < count && i < iovcnt) {
int len = MIN(iov[i].iov_len, count - offset);
memcpy(iov[i].iov_base, buf + offset, len);
+
offset += len;
i++;
}
@@ -610,6 +624,8 @@ static void virtio_net_flush_tx(VirtIONet *n, VirtQueue *vq)
#else
int has_vnet_hdr = 0;
#endif
+ if (n->vhost_device)
+ return;
if (!(n->vdev.status & VIRTIO_CONFIG_S_DRIVER_OK))
return;
@@ -822,6 +838,18 @@ static void virtio_net_cleanup(VLANClientState *vc)
virtio_cleanup(&n->...
2009 Aug 17
1
[PATCHv3 3/4] qemu-kvm: vhost-net implementation
...iovec *iov, int iovcnt, const void *buf, int count)
while (offset < count && i < iovcnt) {
int len = MIN(iov[i].iov_len, count - offset);
memcpy(iov[i].iov_base, buf + offset, len);
+
offset += len;
i++;
}
@@ -610,6 +624,8 @@ static void virtio_net_flush_tx(VirtIONet *n, VirtQueue *vq)
#else
int has_vnet_hdr = 0;
#endif
+ if (n->vhost_device)
+ return;
if (!(n->vdev.status & VIRTIO_CONFIG_S_DRIVER_OK))
return;
@@ -822,6 +838,18 @@ static void virtio_net_cleanup(VLANClientState *vc)
virtio_cleanup(&n->...
2009 Aug 17
1
[PATCHv3 3/4] qemu-kvm: vhost-net implementation
...iovec *iov, int iovcnt, const void *buf, int count)
while (offset < count && i < iovcnt) {
int len = MIN(iov[i].iov_len, count - offset);
memcpy(iov[i].iov_base, buf + offset, len);
+
offset += len;
i++;
}
@@ -610,6 +624,8 @@ static void virtio_net_flush_tx(VirtIONet *n, VirtQueue *vq)
#else
int has_vnet_hdr = 0;
#endif
+ if (n->vhost_device)
+ return;
if (!(n->vdev.status & VIRTIO_CONFIG_S_DRIVER_OK))
return;
@@ -822,6 +838,18 @@ static void virtio_net_cleanup(VLANClientState *vc)
virtio_cleanup(&n->...
2009 Aug 10
0
[PATCH 3/3] qemu-kvm: vhost-net implementation
...iovec *iov, int iovcnt, const void *buf, int count)
while (offset < count && i < iovcnt) {
int len = MIN(iov[i].iov_len, count - offset);
memcpy(iov[i].iov_base, buf + offset, len);
+
offset += len;
i++;
}
@@ -611,6 +625,8 @@ static void virtio_net_flush_tx(VirtIONet *n, VirtQueue *vq)
#else
int has_vnet_hdr = 0;
#endif
+ if (n->vhost_device)
+ return;
if (!(n->vdev.status & VIRTIO_CONFIG_S_DRIVER_OK))
return;
@@ -823,6 +839,18 @@ static void virtio_net_cleanup(VLANClientState *vc)
virtio_cleanup(&n->...
2009 Aug 10
0
[PATCH 3/3] qemu-kvm: vhost-net implementation
...iovec *iov, int iovcnt, const void *buf, int count)
while (offset < count && i < iovcnt) {
int len = MIN(iov[i].iov_len, count - offset);
memcpy(iov[i].iov_base, buf + offset, len);
+
offset += len;
i++;
}
@@ -611,6 +625,8 @@ static void virtio_net_flush_tx(VirtIONet *n, VirtQueue *vq)
#else
int has_vnet_hdr = 0;
#endif
+ if (n->vhost_device)
+ return;
if (!(n->vdev.status & VIRTIO_CONFIG_S_DRIVER_OK))
return;
@@ -823,6 +839,18 @@ static void virtio_net_cleanup(VLANClientState *vc)
virtio_cleanup(&n->...
2009 Nov 02
2
[PATCHv4 6/6] qemu-kvm: vhost-net implementation
...iovec *iov, int iovcnt, const void *buf, int count)
while (offset < count && i < iovcnt) {
int len = MIN(iov[i].iov_len, count - offset);
memcpy(iov[i].iov_base, buf + offset, len);
+
offset += len;
i++;
}
@@ -611,6 +628,8 @@ static void virtio_net_flush_tx(VirtIONet *n, VirtQueue *vq)
#else
int has_vnet_hdr = 0;
#endif
+ if (n->vhost_device)
+ return;
if (!(n->vdev.status & VIRTIO_CONFIG_S_DRIVER_OK))
return;
@@ -810,6 +829,8 @@ static void virtio_net_cleanup(VLANClientState *vc)
{
VirtIONet *n = vc->o...
2009 Nov 02
2
[PATCHv4 6/6] qemu-kvm: vhost-net implementation
...iovec *iov, int iovcnt, const void *buf, int count)
while (offset < count && i < iovcnt) {
int len = MIN(iov[i].iov_len, count - offset);
memcpy(iov[i].iov_base, buf + offset, len);
+
offset += len;
i++;
}
@@ -611,6 +628,8 @@ static void virtio_net_flush_tx(VirtIONet *n, VirtQueue *vq)
#else
int has_vnet_hdr = 0;
#endif
+ if (n->vhost_device)
+ return;
if (!(n->vdev.status & VIRTIO_CONFIG_S_DRIVER_OK))
return;
@@ -810,6 +829,8 @@ static void virtio_net_cleanup(VLANClientState *vc)
{
VirtIONet *n = vc->o...