From b43e4483ed4888e1ab0c5195fa3f61bb24bde904 Mon Sep 17 00:00:00 2001 From: David Gibson Date: Tue, 16 Jan 2024 11:50:35 +1100 Subject: flow, tcp: Add flow-centric dispatch for deferred flow handling tcp_defer_handler(), amongst other things, scans the flow table and does some processing for each TCP connection. When we add other protocols to the flow table, they're likely to want some similar scanning. It makes more sense for cache friendliness to perform a single scan of the flow table and dispatch to the protocol specific handlers, rather than having each protocol separately scan the table. To that end, add a new flow_defer_handler() handling all flow-linked deferred operations. Signed-off-by: David Gibson Signed-off-by: Stefano Brivio --- tcp_conn.h | 1 + 1 file changed, 1 insertion(+) (limited to 'tcp_conn.h') diff --git a/tcp_conn.h b/tcp_conn.h index 4846565..72b9ecb 100644 --- a/tcp_conn.h +++ b/tcp_conn.h @@ -158,6 +158,7 @@ extern int init_sock_pool6 [TCP_SOCK_POOL_SIZE]; void tcp_tap_conn_update(const struct ctx *c, struct tcp_tap_conn *old, struct tcp_tap_conn *new); void tcp_splice_conn_update(const struct ctx *c, struct tcp_splice_conn *new); +void tcp_flow_defer(struct ctx *c, union flow *flow); void tcp_splice_flow_defer(struct ctx *c, union flow *flow); void tcp_splice_timer(const struct ctx *c, union flow *flow); int tcp_conn_pool_sock(int pool[]); -- cgit v1.2.3