Note: New PR excluding SCTP nfqueue updates.
-o-
Hi,
The following patchset contains Netfilter/IPVS updates for net-next:
Patch #1 to #11 to shrink memory consumption for transaction objects:
struct nft_trans_chain { /* size: 120 (-32), cachelines: 2, members: 10 */
struct nft_trans_elem { /* size: 72 (-40), cachelines: 2, members: 4 */
struct nft_trans_flowtable { /* size: 80 (-48), cachelines: 2, members: 5 */
struct nft_trans_obj { /* size: 72 (-40), cachelines: 2, members: 4 */
struct nft_trans_rule { /* size: 80 (-32), cachelines: 2, members: 6 */
struct nft_trans_set { /* size: 96 (-24), cachelines: 2, members: 8 */
struct nft_trans_table { /* size: 56 (-40), cachelines: 1, members: 2 */
struct nft_trans_elem can now be allocated from kmalloc-96 instead of
kmalloc-128 slab.
Series from Florian Westphal. For the record, I have mangled patch #1
to add nft_trans_container_*() and use if for every transaction object.
I have also added BUILD_BUG_ON to ensure struct nft_trans always comes
at the beginning of the container transaction object. And few minor
cleanups, any new bugs are of my own.
Patch #12 simplify check for SCTP GSO in IPVS, from Ismael Luceno.
Patch #13 nf_conncount key length remains in the u32 bound, from Yunjian Wang.
Patch #14 removes unnecessary check for CTA_TIMEOUT_L3PROTO when setting
default conntrack timeouts via nfnetlink_cttimeout API, from
Lin Ma.
Patch #15 updates NFT_SECMARK_CTX_MAXLEN to 4096, SELinux could use
larger secctx names than the existing 256 bytes length.
Patch #16 adds a selftest to exercise nfnetlink_queue listeners leaving
nfnetlink_queue, from Florian Westphal.
Patch #17 increases hitcount from 255 to 65535 in xt_recent, from Phil Sutter.
Please, pull these changes from:
git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf-next.git nf-next-24-06-28
Thanks.
----------------------------------------------------------------
The following changes since commit c4532232fa2a4f8d9b9a88135a666545157f3d13:
selftests: net: remove unneeded IP_GRE config (2024-06-25 08:37:55 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf-next.git nf-next-24-06-28
for you to fetch changes up to f4ebd03496f6b67940b0af92ce885c1d0dc9e121:
netfilter: xt_recent: Lift restrictions on max hitcount value (2024-06-28 17:57:50 +0200)
----------------------------------------------------------------
netfilter pull request 24-06-28
----------------------------------------------------------------
Florian Westphal (12):
netfilter: nf_tables: make struct nft_trans first member of derived subtypes
netfilter: nf_tables: move bind list_head into relevant subtypes
netfilter: nf_tables: compact chain+ft transaction objects
netfilter: nf_tables: reduce trans->ctx.table references
netfilter: nf_tables: pass nft_chain to destroy function, not nft_ctx
netfilter: nf_tables: pass more specific nft_trans_chain where possible
netfilter: nf_tables: avoid usage of embedded nft_ctx
netfilter: nf_tables: store chain pointer in rule transaction
netfilter: nf_tables: reduce trans->ctx.chain references
netfilter: nf_tables: pass nft_table to destroy function
netfilter: nf_tables: do not store nft_ctx in transaction objects
selftests: netfilter: nft_queue.sh: add test for disappearing listener
Ismael Luceno (1):
ipvs: Avoid unnecessary calls to skb_is_gso_sctp
Lin Ma (1):
netfilter: cttimeout: remove 'l3num' attr check
Pablo Neira Ayuso (1):
netfilter: nf_tables: rise cap on SELinux secmark context
Phil Sutter (1):
netfilter: xt_recent: Lift restrictions on max hitcount value
Yunjian Wang (1):
netfilter: nf_conncount: fix wrong variable type
include/net/netfilter/nf_tables.h | 222 +++++++----
include/uapi/linux/netfilter/nf_tables.h | 2 +-
net/netfilter/ipvs/ip_vs_proto_sctp.c | 4 +-
net/netfilter/nf_conncount.c | 8 +-
net/netfilter/nf_tables_api.c | 411 ++++++++++++---------
net/netfilter/nf_tables_offload.c | 40 +-
net/netfilter/nfnetlink_cttimeout.c | 3 +-
net/netfilter/nft_immediate.c | 2 +-
net/netfilter/xt_recent.c | 8 +-
tools/testing/selftests/net/netfilter/nft_queue.sh | 37 ++
10 files changed, 459 insertions(+), 278 deletions(-)