Hi, This patchset extends the netdev family to allow for hooking multiple devices to basechains, eg. nft add table netdev x nft add chain netdev x y { \ type filter hook ingress devices = { eth0, eth1 } priority 0\; } Hence you can apply the same policy to packet coming in from eth0 and eth1 netdevices. 1) Add nft_flow_block_chain() helper function. 2) Pass callback list to nft_setup_cb_call(). 3) Add nft_flow_cls_offload_setup() helper function. 4) Iterate over list of callbacks that belongs to the netdevices that is being unregister to remove the rules from the netdevice. This patches comes in preparation for: 5) Allow for hooking multiple devices to the same netdev basechain. Pablo Neira Ayuso (5): netfilter: nf_tables_offload: add nft_flow_block_chain() netfilter: nf_tables_offload: Pass callback list to nft_setup_cb_call() netfilter: nf_tables_offload: add nft_flow_cls_offload_setup() netfilter: nf_tables_offload: remove rules on unregistered device only netfilter: nf_tables: support for multiple devices per netdev hook include/net/netfilter/nf_tables.h | 4 +- include/uapi/linux/netfilter/nf_tables.h | 2 + net/netfilter/nf_tables_api.c | 296 ++++++++++++++++++++++++------- net/netfilter/nf_tables_offload.c | 98 ++++++---- net/netfilter/nft_chain_filter.c | 45 +++-- 5 files changed, 325 insertions(+), 120 deletions(-) -- 2.11.0