The redesign of UDP flows required (or at least, suggested) a new batch of prelininary changes that don't rely on the core of the flow table rework. Changes since v1: * Assorted minor fixes based on Stefano's feedback * Moved test programs from contrib/ to doc/ David Gibson (11): util: sock_l4() determine protocol from epoll type rather than the reverse flow: Add flow_sidx_valid() helper udp: Pass full epoll reference through more of sock handler path udp: Rename IOV and mmsghdr arrays udp: Unify udp[46]_mh_splice udp: Unify udp[46]_l2_iov udp: Don't repeatedly initialise udp[46]_eth_hdr udp: Move some more of sock_handler tasks into sub-functions udp: Consolidate datagram batching doc: Add program to document and test assumptions about SO_REUSEADDR doc: Test behaviour of zero length datagram recv()s doc/platform-requirements/.gitignore | 2 + doc/platform-requirements/Makefile | 45 +++ doc/platform-requirements/README | 18 + doc/platform-requirements/common.c | 66 ++++ doc/platform-requirements/common.h | 47 +++ doc/platform-requirements/recv-zero.c | 74 ++++ .../reuseaddr-priority.c | 240 ++++++++++++ epoll_type.h | 41 ++ flow.h | 11 + flow_table.h | 2 +- icmp.c | 2 +- passt.h | 32 -- tcp.c | 17 +- udp.c | 365 +++++++++--------- util.c | 48 +-- util.h | 3 +- 16 files changed, 756 insertions(+), 257 deletions(-) create mode 100644 doc/platform-requirements/.gitignore create mode 100644 doc/platform-requirements/Makefile create mode 100644 doc/platform-requirements/README create mode 100644 doc/platform-requirements/common.c create mode 100644 doc/platform-requirements/common.h create mode 100644 doc/platform-requirements/recv-zero.c create mode 100644 doc/platform-requirements/reuseaddr-priority.c create mode 100644 epoll_type.h -- 2.45.2