There are still some thing dispatched explicitly in tcp.c and tcp_splice.c that make more sense to dispatch at the flow level, even with the current "stub" version of the flow table. This should be independent of my other outstanding series. David Gibson (8): flow: Make flow_table.h #include the protocol specific headers it needs treewide: Standardise on 'now' for current timestamp variables tcp, tcp_splice: Remove redundant handling from tcp_timer() tcp, tcp_splice: Move per-type cleanup logic into per-type helpers flow, tcp: Add flow-centric dispatch for deferred flow handling flow, tcp: Add handling for per-flow timers epoll: Better handling of number of epoll types tcp, tcp_splice: Avoid double layered dispatch for connected TCP sockets flow.c | 33 +++++++++++++++++++- flow.h | 3 ++ flow_table.h | 2 ++ icmp.c | 12 ++++---- icmp.h | 2 +- log.c | 34 ++++++++++----------- passt.c | 18 ++++++++--- passt.h | 8 +++-- tcp.c | 86 +++++++++++----------------------------------------- tcp.h | 2 +- tcp_conn.h | 5 +-- tcp_splice.c | 33 ++++++++++---------- tcp_splice.h | 4 +-- udp.c | 16 +++++----- udp.h | 2 +- 15 files changed, 129 insertions(+), 131 deletions(-) -- 2.43.0