+
+define KernelPackage/ipt-rpfilter
+ SUBMENU:=$(NF_MENU)
+ TITLE:=Netfilter rpfilter match
+ DEPENDS:=+kmod-ipt-core
+ KCONFIG:=$(KCONFIG_IPT_RPFILTER)
+ FILES:=$(realpath \
+ $(LINUX_DIR)/net/ipv4/netfilter/ipt_rpfilter.ko \
+ $(LINUX_DIR)/net/ipv6/netfilter/ip6t_rpfilter.ko)
+ AUTOLOAD:=$(call AutoProbe,ipt_rpfilter ip6t_rpfilter)
+ $(call KernelPackage/ipt)
+endef
+
+define KernelPackage/ipt-rpfilter/description
+ Kernel modules support for the Netfilter rpfilter match
+endef
+
+$(eval $(call KernelPackage,ipt-rpfilter))
+
+
+define KernelPackage/nft-core
+ SUBMENU:=$(NF_MENU)
+ TITLE:=Netfilter nf_tables support
+ DEPENDS:=+kmod-nfnetlink +kmod-nf-conntrack6 +kmod-nf-ipt +kmod-nf-ipt6
+ FILES:=$(foreach mod,$(NFT_CORE-m),$(LINUX_DIR)/net/$(mod).ko)
+ AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_CORE-m)))
+ KCONFIG:= \
+ CONFIG_NETFILTER=y \
+ CONFIG_NETFILTER_ADVANCED=y \
+ CONFIG_NFT_COMPAT=n \
+ CONFIG_NFT_QUEUE=n \
+ CONFIG_NF_TABLES_ARP=n \
+ CONFIG_NF_TABLES_BRIDGE=n \
+ $(KCONFIG_NFT_CORE)
+endef
+
+define KernelPackage/nft-core/description
+ Kernel module support for nftables
+endef
+
+$(eval $(call KernelPackage,nft-core))
+
+
+define KernelPackage/nft-nat
+ SUBMENU:=$(NF_MENU)
+ TITLE:=Netfilter nf_tables NAT support
+ DEPENDS:=+kmod-nft-core +kmod-nf-nat +kmod-nf-nat6
+ FILES:=$(foreach mod,$(NFT_NAT-m),$(LINUX_DIR)/net/$(mod).ko)
+ AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_NAT-m)))
+ KCONFIG:=$(KCONFIG_NFT_NAT)
+endef
+
+$(eval $(call KernelPackage,nft-nat))
+
+
+define KernelPackage/nft-nat6
+ SUBMENU:=$(NF_MENU)
+ TITLE:=Netfilter nf_tables IPv6-NAT support
+ DEPENDS:=+kmod-nft-core +kmod-nf-nat6
+ FILES:=$(foreach mod,$(NFT_NAT6-m),$(LINUX_DIR)/net/$(mod).ko)
+ AUTOLOAD:=$(call AutoProbe,$(notdir $(NFT_NAT6-m)))
+ KCONFIG:=$(KCONFIG_NFT_NAT6)
+endef
+
+$(eval $(call KernelPackage,nft-nat6))
+