From ba38e67cf405c5fd4c0fc043af453fa23a55fb35 Mon Sep 17 00:00:00 2001 From: Jon Maloy Date: Mon, 28 Oct 2024 22:14:00 -0400 Subject: tcp: unify l2 TCPv4 and TCPv6 queues and structures Following the preparations in the previous commit, we can now remove the payload and flag queues dedicated for TCPv6 and TCPv4 and move all traffic into common queues handling both protocol types. Apart from reducing code and memory footprint, this change reduces a potential risk for TCPv4 traffic starving out TCPv6 traffic. Since we always flush out the TCPv4 frame queue before the TCPv6 queue, the latter will never be handled if the former fails to send all its frames. Tests with iperf3 shows no measurable change in performance after this change. Signed-off-by: Jon Maloy Reviewed-by: David Gibson Signed-off-by: Stefano Brivio --- tcp_buf.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'tcp_buf.h') diff --git a/tcp_buf.h b/tcp_buf.h index 8d4b615..49c04d4 100644 --- a/tcp_buf.h +++ b/tcp_buf.h @@ -6,8 +6,7 @@ #ifndef TCP_BUF_H #define TCP_BUF_H -void tcp_sock4_iov_init(const struct ctx *c); -void tcp_sock6_iov_init(const struct ctx *c); +void tcp_sock_iov_init(const struct ctx *c); void tcp_flags_flush(const struct ctx *c); void tcp_payload_flush(const struct ctx *c); int tcp_buf_data_from_sock(const struct ctx *c, struct tcp_tap_conn *conn); -- cgit v1.2.3