On Thu, 5 Jan 2023 15:26:17 +1100
David Gibson <david(a)gibson.dropbear.id.au> wrote:
At present, the UDP "splice" and
"tap" paths are quite separate. We
have separate sockets to receive packets bound for the tap and splice
paths. This leads to some code duplication, and extra open sockets.
This series partially unifies the two paths, allowing us to use a
single (host side) socket, bound to 0.0.0.0 or :: to receive packets
for both cases.
Changes since v3:
* Fixed really dumb compile error, and actually ran through the tests.
Oops.
Changes since v2:
* Don't receive multiple packets at once for pasta mode - seems to
hurt throughput on balance.
* Add some comments clarifying reasoning here.
Changes since v1:
* Renamed udp_localname[46] to udp[46]_localname
* Allow handling of UDP port 0
* Fix a bug which could misidentify certain v6 packets as v4-spliceable
* Some minor cosmetic fixes to code and commit messages
Thanks, this looks good to me now, and I'm trying to run the tests
before applying it, but for some reason they get invariably stuck at
perf/passt_udp in the host to guest throughput test.
I think it has nothing to do with this series, and it's rather related
to the "new" suspected virtio-net TX timeout issue we started hitting a
while ago, I still need to play with kernel version/workarounds etc.
I'll keep you posted.
Ah, right. I think I hit a similar issue with tx timeouts showing
up. I think I just retried and it managed to get through on the 3rd
or fourth attempt :/.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!