OSDN Git Service
(root)
/
qmiga
/
qemu.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
280598b
)
virtio-net: first s/g is always at start of buf
author
Michael S. Tsirkin
<mst@redhat.com>
Mon, 24 Sep 2012 11:26:55 +0000
(13:26 +0200)
committer
Michael S. Tsirkin
<mst@redhat.com>
Mon, 29 Oct 2012 16:25:23 +0000
(18:25 +0200)
We know offset is 0, assert that.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/virtio-net.c
patch
|
blob
|
history
diff --git
a/hw/virtio-net.c
b/hw/virtio-net.c
index
5128a2a
..
59ab674
100644
(file)
--- a/
hw/virtio-net.c
+++ b/
hw/virtio-net.c
@@
-631,6
+631,7
@@
static ssize_t virtio_net_receive(NetClientState *nc, const uint8_t *buf, size_t
}
if (i == 0) {
+ assert(offset == 0);
if (n->mergeable_rx_bufs) {
mhdr_cnt = iov_copy(mhdr_sg, ARRAY_SIZE(mhdr_sg),
sg, elem.in_num,
@@
-638,8
+639,8
@@
static ssize_t virtio_net_receive(NetClientState *nc, const uint8_t *buf, size_t
sizeof(mhdr.num_buffers));
}
- receive_header(n, sg, elem.in_num, buf
+ offset, size - offset
);
- offset
+
= n->host_hdr_len;
+ receive_header(n, sg, elem.in_num, buf
, size
);
+ offset = n->host_hdr_len;
total += n->guest_hdr_len;
guest_offset = n->guest_hdr_len;
} else {