These reworks are largely aimed at making the vhost-user integration easier, and with luck allowing more logic to be shared between it and the existing "buffer" paths. Of course, in the short term, these will probably conflict with the patches... I hope it ends up as a net positive, Laurent, let me know. I think a number of similar changes should be possible for UDP, but I haven't tackled that yet. David Gibson (7): tcp: Pass TCP header and payload separately to tcp_update_check_tcp[46]() tcp: Move tcp_l2_buf_fill_headers() to tcp_buf.c tcp: Rework tcp_l2_buf_fill_headers() into tcp_buf_make_frame() tcp: Don't use return value from tcp_fill_headers[46] to adjust iov_len tcp: Pass TCP header and payload separately to tcp_fill_headers[46]() tcp: Merge tcp_update_check_tcp[46]() tcp: Fold tcp_update_csum() into tcp_fill_header() tcp.c | 232 +++++++++++-------------------------------------- tcp_buf.c | 48 +++++++--- tcp_internal.h | 15 +++- 3 files changed, 100 insertions(+), 195 deletions(-) -- 2.47.0