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 messagesThanks, 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. -- Stefano