This allows testing the TCP LRO code using packetdrill in local mode.
Details
Diff Detail
- Repository
- rG FreeBSD src repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
How would you programmatically keep collecting a few packets and flush them at a particular point?
I believe the intended way how to make use of this capability should be documented - at least in the Diff summary.
Am I mistaken to see that this will only excersize a singluar packet via the LRO path at a time?
If this is the case, this is probably not the complete patch, as LRO should also deal with actual coalescing of the mbufs, and extracting various per-packet state, when multiple packets are queued up before sending up...
But it is obviously the way which least infringes on the (current) expected behavior.
That will be added in an upcoming commit, since that will be very tap-specific. The change in this commit adds LRO functionality similar to the one available in other drivers.
I believe the intended way how to make use of this capability should be documented - at least in the Diff summary.
Just use ifconfig tap0 lro. Similar to all other drivers. I think this is documented in the man-page of ifconfig. This is also not mentioned in man igb, for example.
Am I mistaken to see that this will only excersize a singluar packet via the LRO path at a time?
No, that is correct. This change will ensure that that packet handling will be done via the LRO code path. Just each packet individually.
If this is the case, this is probably not the complete patch, as LRO should also deal with actual coalescing of the mbufs, and extracting various per-packet state, when multiple packets are queued up before sending up...
Yes. But that will be specific to this driver, since it will be controlled via ioctl.
But it is obviously the way which least infringes on the (current) expected behavior.
Yes. This is consistent with other drivers supporting lro.