Changes since v6: - Misc changes in patch 5 (described in there) - New patch 10 - Patch 11 adjusted to new patch 10 - Patch 12 adds new NFNLGRP_NFT_DEV for the new notifications - Fix typo in patch 12's subject line Patches 1-5 prepare for and implement nf_hook_ops lists in nft_hook objects. This is crucial for wildcard interface specs and convenient with dynamic netdev hook registration upon NETDEV_REGISTER events. Patches 6-9 leverage the new infrastructure to correctly handle NETDEV_REGISTER and NETDEV_CHANGENAME events. Patch 11 prepares the code for non-NUL-terminated interface names passed by user space which resemble prefixes to match on. As a side-effect, hook allocation code becomes tolerant to non-matching interface specs. The final two patches implement netlink notifications for netdev add/remove events and add a kselftest. Phil Sutter (13): netfilter: nf_tables: Introduce functions freeing nft_hook objects netfilter: nf_tables: Introduce nft_hook_find_ops{,_rcu}() netfilter: nf_tables: Introduce nft_register_flowtable_ops() netfilter: nf_tables: Pass nf_hook_ops to nft_unregister_flowtable_hook() netfilter: nf_tables: Have a list of nf_hook_ops in nft_hook netfilter: nf_tables: Prepare for handling NETDEV_REGISTER events netfilter: nf_tables: Respect NETDEV_REGISTER events netfilter: nf_tables: Wrap netdev notifiers netfilter: nf_tables: Handle NETDEV_CHANGENAME events netfilter: nf_tables: Sort labels in nft_netdev_hook_alloc() netfilter: nf_tables: Support wildcard netdev hook specs netfilter: nf_tables: Add notifications for hook changes selftests: netfilter: Torture nftables netdev hooks include/linux/netfilter.h | 3 + include/net/netfilter/nf_tables.h | 12 +- include/uapi/linux/netfilter/nf_tables.h | 10 + include/uapi/linux/netfilter/nfnetlink.h | 2 + net/netfilter/nf_tables_api.c | 402 ++++++++++++++---- net/netfilter/nf_tables_offload.c | 51 ++- net/netfilter/nfnetlink.c | 1 + net/netfilter/nft_chain_filter.c | 94 +++- net/netfilter/nft_flow_offload.c | 2 +- .../testing/selftests/net/netfilter/Makefile | 1 + .../net/netfilter/nft_interface_stress.sh | 151 +++++++ 11 files changed, 593 insertions(+), 136 deletions(-) create mode 100755 tools/testing/selftests/net/netfilter/nft_interface_stress.sh -- 2.49.0