mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 01:04:41 +01:00
As explained in commit 85d05e2817 ("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>
29 lines
765 B
C
29 lines
765 B
C
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
/*
|
|
* NET Generic infrastructure for INET6 connection oriented protocols.
|
|
*
|
|
* Authors: Many people, see the TCPv6 sources
|
|
*
|
|
* From code originally in TCPv6
|
|
*/
|
|
#ifndef _INET6_CONNECTION_SOCK_H
|
|
#define _INET6_CONNECTION_SOCK_H
|
|
|
|
#include <linux/types.h>
|
|
|
|
struct flowi;
|
|
struct flowi6;
|
|
struct request_sock;
|
|
struct sk_buff;
|
|
struct sock;
|
|
struct sockaddr;
|
|
|
|
struct dst_entry *inet6_csk_route_req(const struct sock *sk,
|
|
struct dst_entry *dst,
|
|
struct flowi6 *fl6,
|
|
const struct request_sock *req, u8 proto);
|
|
|
|
int inet6_csk_xmit(struct sock *sk, struct sk_buff *skb, struct flowi *fl);
|
|
|
|
struct dst_entry *inet6_csk_update_pmtu(struct sock *sk, u32 mtu);
|
|
#endif /* _INET6_CONNECTION_SOCK_H */
|