On 19/11/2021 20:46, Andriy Gapon wrote:
I think that this was the case and that I was able to find the corresponding descriptors in the completion ring.

Please see https://people.freebsd.org/~avg/vmxnet3-fragment-overrun.txt

$54 is the SOP, it has qid of 6.
It is followed by many fragments with qid 14 (there are 8 queues / queue sets) and zero length.
But not all of them are zero length, some have length of 4096, e.g. $77, $86, 
etc.
$124 is the last fragment, its has eop = 1 and error = 1.
So, there are 71 fragments in total.

So, it is clear that VMWare produced 71 segments for a single packet before giving up on it.

I wonder why it did that.
Perhaps it's a bug, perhaps it does not count zero-length segments against the limit, maybe something else.

In any case, it happens.


This is what I am currently testing at work: https://reviews.freebsd.org/D33189
So far so good.

Finally, the packet looks interesting: udp = 0, tcp = 0, ipcsum_ok = 0, ipv6 = 0, ipv4 = 0.  I wonder what kind of a packet it could be -- being rather large and not an IP packet.


--
Andriy Gapon

Reply via email to