On Thu, Jan 05, 2023 at 10:50:03PM +0100, Stefano Brivio wrote:
On Thu, 5 Jan 2023 15:26:17 +1100 David Gibson
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_! http://www.ozlabs.org/~dgibson