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

Instead of using private @fl6 and @final variables
use respectively inet->cork.fl.u.ip6 and np->final.

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, active 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-6-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/ipv6/tcp_ipv6.c