]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
tcp: populate inet->cork.fl.u.ip6 in tcp_v6_syn_recv_sock()
authorEric Dumazet <edumazet@google.com>
Fri, 6 Feb 2026 17:34:25 +0000 (17:34 +0000)
committerJakub Kicinski <kuba@kernel.org>
Wed, 11 Feb 2026 04:57:50 +0000 (20:57 -0800)
commita6eee39cc2b95db3ae8ec92120f50aa899eb6652
tree84437e75ce41fe57cfa64398951328f3a376991c
parent19bdb267f733ac92dcf5cf126bfcec1f9281c8c5
tcp: populate inet->cork.fl.u.ip6 in tcp_v6_syn_recv_sock()

As explained in commit 85d05e281712 ("ipv6: change inet6_sk_rebuild_header()
to use inet->cork.fl.u.ip6"):

TCP v6 spends a good amount of time rebuilding a fresh fl6 at each
transmit in inet6_csk_xmit()/inet6_csk_route_socket().

TCP v4 caches the information in inet->cork.fl.u.ip4 instead.

After this patch, passive TCP ipv6 flows have correctly initialized
inet->cork.fl.u.ip6 structure.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
Link: https://patch.msgid.link/20260206173426.1638518-7-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/inet6_connection_sock.h
net/ipv6/inet6_connection_sock.c
net/ipv6/tcp_ipv6.c