diff options
author | Jon Maloy <jmaloy@redhat.com> | 2024-10-28 22:14:00 -0400 |
---|---|---|
committer | Stefano Brivio <sbrivio@redhat.com> | 2024-10-29 12:44:08 +0100 |
commit | ba38e67cf405c5fd4c0fc043af453fa23a55fb35 (patch) | |
tree | 4dd24787bf1d857faed9e1394d4f25182dd18b42 /tcp.c | |
parent | 2053c36dec4ce3e5bfddb52f5f2957165a692f1d (diff) | |
download | passt-ba38e67cf405c5fd4c0fc043af453fa23a55fb35.tar passt-ba38e67cf405c5fd4c0fc043af453fa23a55fb35.tar.gz passt-ba38e67cf405c5fd4c0fc043af453fa23a55fb35.tar.bz2 passt-ba38e67cf405c5fd4c0fc043af453fa23a55fb35.tar.lz passt-ba38e67cf405c5fd4c0fc043af453fa23a55fb35.tar.xz passt-ba38e67cf405c5fd4c0fc043af453fa23a55fb35.tar.zst passt-ba38e67cf405c5fd4c0fc043af453fa23a55fb35.zip |
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 <jmaloy@redhat.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
Diffstat (limited to 'tcp.c')
-rw-r--r-- | tcp.c | 6 |
1 files changed, 1 insertions, 5 deletions
@@ -2611,11 +2611,7 @@ int tcp_init(struct ctx *c) { ASSERT(!c->no_tcp); - if (c->ifi4) - tcp_sock4_iov_init(c); - - if (c->ifi6) - tcp_sock6_iov_init(c); + tcp_sock_iov_init(c); memset(init_sock_pool4, 0xff, sizeof(init_sock_pool4)); memset(init_sock_pool6, 0xff, sizeof(init_sock_pool6)); |