Hi,
Maybe I'm misreading it, but it seems to me that netfront doesn't slice
up the linear buffer at all, just blindly sends it. In xennet_start_xmit:
unsigned int offset = offset_in_page(data);
unsigned int len = skb_headlen(skb);
...
tx->offset = offset;
tx->size = len;
Although in the slot counting it calculates it correctly:
DIV_ROUND_UP(offset + len, PAGE_SIZE)
Am I missing something?
Zoli
On 04/12/14 15:53, David Vrabel wrote:
On 04/12/14 15:36, Anthony Wright wrote:
On 01/12/14 14:22, David Vrabel wrote:
This VIF protocol is weird. The first slot contains a txreq with a
size
for the total length of the packet, subsequent slots have sizes for
that
fragment only.
netback then has to calculate how long the first slot is, by
subtracting
all the size from the following slots.
So something has gone wrong but it's not obvious what it is. Any
chance
you can dump the ring state when it happens?
We think we've worked out how to dump the ring state, please see below.
We need the full contents of the ring which isn't currently available
via debugfs and I haven't had time to put together a debug patch to make
it available.
David
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel