Here's a current version of my IOV tail and some cleanups to TCP buffer handling based on it. Now rebased on top of v14 of the vhost-user patches. This was aimed at sharing more code between the "buffer" and vhost-user paths, but that turned out to be trickier than I anticipated, so it hasn't really been accomplished. Nonetheless I think these are reasonable cleanups on their own merits, and may yet make sharing some more code between the paths easier in future. David Gibson (7): iov: iov tail helpers iov, checksum: Replace csum_iov() with csum_iov_tail() tcp: Pass TCP header and payload separately to tcp_update_check_tcp[46]() tcp: Pass TCP header and payload separately to tcp_fill_headers[46]() tcp: Merge tcp_update_check_tcp[46]() tcp: Merge tcp_fill_headers[46]() with each other tcp_vu: Remove unnecessary tcp_vu_update_check() function checksum.c | 58 +++++-------- checksum.h | 8 +- iov.c | 91 ++++++++++++++++++++ iov.h | 76 ++++++++++++++++ tap.c | 6 +- tcp.c | 229 +++++++++++++------------------------------------ tcp_buf.c | 33 ++++--- tcp_internal.h | 21 ++--- tcp_vu.c | 120 ++++++++++---------------- udp.c | 7 +- udp_vu.c | 9 +- 11 files changed, 338 insertions(+), 320 deletions(-) -- 2.47.0