All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH nf 0/5] netfilter: ipset fixes and rhastable prep work
@ 2026-07-30 18:38 Florian Westphal
  2026-07-30 18:38 ` [PATCH nf 1/5] netfilter: ipset: rework cidr bookkeeping Florian Westphal
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Florian Westphal @ 2026-07-30 18:38 UTC (permalink / raw)
  To: netfilter-devel; +Cc: kadlec, Florian Westphal

This series contains a few fixes and prepation work for the
ipset rhashtable conversion.  The rhashtable conversion patch set is
too large to post in one pile and has one external dependency that is not
yet in nf (queued in crypto tree).

I discussed this with Jozsef and we think that targeting the rhashtable
conversion to nf tree is preferrable to nf-next due to the volume of LLM
reports.

1) Rework ipset CIDR bookkeeping with an RCU-based method to ensure
safety on weakly-ordered architectures. Replace in-place updates with
structure replacement. From Jozsef Kadlecsik.

2) Switch ext_size to atomic64_t in ipset to prevent races during parallel
updates.  Also from Jozsef.

3) Add small wrappers for hash and bucket sizes in netfilter ipset. Prepare
for rhashtable conversion.

4) Add and use mtype_del_cidr_all helper in netfilter ipset. Reduce size of
upcoming rhashtable conversion.

5) Switch ipset destruction to use RCU work. Fix a bug where rhashtable
destruction triggered a sleeping function. Enable future decoupling of set
destruction and GC work.

Florian Westphal (3):
  netfilter: ipset: add small wrappers for hash and bucket sizes
  netfilter: ipset: add and use mtype_del_cidr_all helper
  netfilter: ipset: switch to rcu work

Jozsef Kadlecsik (2):
  netfilter: ipset: rework cidr bookkeeping
  netfilter: ipset: switch ext_size to atomic64_t

 include/linux/netfilter/ipset/ip_set.h       |   6 +-
 net/netfilter/ipset/ip_set_bitmap_gen.h      |   4 +-
 net/netfilter/ipset/ip_set_core.c            |  52 ++--
 net/netfilter/ipset/ip_set_hash_gen.h        | 304 +++++++++++++------
 net/netfilter/ipset/ip_set_hash_ipportnet.c  |   4 +-
 net/netfilter/ipset/ip_set_hash_net.c        |   4 +-
 net/netfilter/ipset/ip_set_hash_netiface.c   |   4 +-
 net/netfilter/ipset/ip_set_hash_netnet.c     |  12 +-
 net/netfilter/ipset/ip_set_hash_netport.c    |   4 +-
 net/netfilter/ipset/ip_set_hash_netportnet.c |  12 +-
 net/netfilter/ipset/ip_set_list_set.c        |   4 +-
 11 files changed, 266 insertions(+), 144 deletions(-)

-- 
2.54.0

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2026-07-30 19:55 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-30 18:38 [PATCH nf 0/5] netfilter: ipset fixes and rhastable prep work Florian Westphal
2026-07-30 18:38 ` [PATCH nf 1/5] netfilter: ipset: rework cidr bookkeeping Florian Westphal
2026-07-30 18:38 ` [PATCH nf 2/5] netfilter: ipset: switch ext_size to atomic64_t Florian Westphal
2026-07-30 18:38 ` [PATCH nf 3/5] netfilter: ipset: add small wrappers for hash and bucket sizes Florian Westphal
2026-07-30 18:38 ` [PATCH nf 4/5] netfilter: ipset: add and use mtype_del_cidr_all helper Florian Westphal
2026-07-30 18:38 ` [PATCH nf 5/5] netfilter: ipset: switch to rcu work Florian Westphal
2026-07-30 19:55 ` [PATCH nf 0/5] netfilter: ipset fixes and rhastable prep work Florian Westphal

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.