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