[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20231213082029.35149-1-kuniyu@amazon.com>
Date: Wed, 13 Dec 2023 17:20:17 +0900
From: Kuniyuki Iwashima <kuniyu@...zon.com>
To: "David S. Miller" <davem@...emloft.net>, Eric Dumazet
<edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>, Paolo Abeni
<pabeni@...hat.com>, David Ahern <dsahern@...nel.org>
CC: Kuniyuki Iwashima <kuniyu@...zon.com>, Kuniyuki Iwashima
<kuni1840@...il.com>, <netdev@...r.kernel.org>
Subject: [PATCH v2 net-next 00/12] tcp: Refactor bhash2 and remove sk_bind2_node.
This series refactors code around bhash2 and remove some bhash2-specific
fields; sock.sk_bind2_node, and inet_timewait_sock.tw_bind2_node.
patch 1 : optimise bind() for non-wildcard v4-mapped-v6 address
patch 2 - 4 : optimise bind() conflict tests
patch 5 - 12 : Link bhash2 to bhash and unlink sk from bhash2 to
remove sk_bind2_node
The patch 8 will trigger a false-positive error by checkpatch.
After this series, bhash is a wrapper of bhash2:
tb
`-> tb2 -> tb2 -> ...
`-> sk -> sk -> sk ....
Changes:
v2:
* Rebase on latest net-next
* Patch 11
* Add change in inet_diag_dump_icsk() for recent bhash dump patch
v1: https://lore.kernel.org/netdev/20231023190255.39190-1-kuniyu@amazon.com/
Kuniyuki Iwashima (12):
tcp: Use bhash2 for v4-mapped-v6 non-wildcard address.
tcp: Rearrange tests in
inet_bind2_bucket_(addr_match|match_addr_any)().
tcp: Save v4 address as v4-mapped-v6 in
inet_bind2_bucket.v6_rcv_saddr.
tcp: Save address type in inet_bind2_bucket.
tcp: Rename tb in inet_bind2_bucket_(init|create)().
tcp: Link bhash2 to bhash.
tcp: Rearrange tests in inet_csk_bind_conflict().
tcp: Iterate tb->bhash2 in inet_csk_bind_conflict().
tcp: Check hlist_empty(&tb->bhash2) instead of
hlist_empty(&tb->owners).
tcp: Unlink sk from bhash.
tcp: Link sk and twsk to tb2->owners using skc_bind_node.
tcp: Remove dead code and fields for bhash2.
include/net/inet_hashtables.h | 21 +++----
include/net/inet_timewait_sock.h | 4 --
include/net/ipv6.h | 5 --
include/net/sock.h | 14 -----
net/ipv4/inet_connection_sock.c | 73 +++++++++++-------------
net/ipv4/inet_diag.c | 2 +-
net/ipv4/inet_hashtables.c | 98 +++++++++++++++-----------------
net/ipv4/inet_timewait_sock.c | 21 +------
8 files changed, 92 insertions(+), 146 deletions(-)
--
2.30.2
Powered by blists - more mailing lists