Laurent's changes to split TCP buffers into various components with IOVs is now merged. This series has a batch of small cleanups to make the handling of this slightly nicer. These are preliminaries to doing something similar with the UDP buffers. Note that patch 10/10 might interfere with the experiments to work out what is going wrong with the odd batching / performance issues we've seen. We can leave it off for the time being if that's a problem. Changes since v1: * Added new patch removing some unused structures * Added two new patches cleaning up some endianness confusion * Added a bunch of missing cases to standardisation of length variable names * Assorted minor revisions based on Stefano's review David Gibson (10): checksum: Use proto_ipv6_header_psum() for ICMPv6 as well tap: Split tap specific and L2 (ethernet) headers tap: Remove unused structs tap_msg, tap_l4_msg treewide: Remove misleading and redundant endianness notes checksum: Make csum_ip4_header() take a host endian length treewide: Standardise variable names for various packet lengths tcp: Simplify packet length calculation when preparing headers tap, tcp: (Re-)abstract TAP specific header handling iov: Helper macro to construct iovs covering existing variables or fields tcp: Update tap specific header too in tcp_fill_headers[46]() arp.c | 6 +- checksum.c | 68 ++++++++++----------- checksum.h | 12 ++-- dhcp.c | 6 +- icmp.c | 12 ++-- iov.h | 3 + ndp.c | 6 +- passt.h | 28 ++------- pcap.c | 14 ++--- pcap.h | 2 +- tap.c | 146 ++++++++++++++++++++++---------------------- tap.h | 60 ++++++++++++------ tcp.c | 176 +++++++++++++++++++++++------------------------------ udp.c | 52 ++++++++-------- 14 files changed, 290 insertions(+), 301 deletions(-) -- 2.44.0