@@ -24,6 +24,18 @@ config BR2_PACKAGE_IPTABLES_NFTABLES
help
Build nftables compat utilities.
+if BR2_PACKAGE_IPTABLES_NFTABLES
+
+config BR2_PACKAGE_IPTABLES_NFTABLES_DEFAULT
+ bool "use nftables compat by default"
+ help
+ Make the nftables compat variant of iptables, iptables-save,
+ and iptables-restore the default. This only adjusts symlinks
+ in /usr/sbin, the legacy variants can still be called
+ directly.
+
+endif
+
comment "nftables compat needs a toolchain w/ wchar, dynamic library, headers >= 3.12"
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 || \
!BR2_USE_WCHAR || BR2_STATIC_LIBS
@@ -62,4 +62,13 @@ define IPTABLES_INSTALL_INIT_SYSV
touch $(TARGET_DIR)/etc/iptables.conf
endef
+ifeq ($(BR2_PACKAGE_IPTABLES_NFTABLES_DEFAULT),y)
+define IPTABLES_MAKE_NFTABLES_DEFAULT
+ ln -sf xtables-nft-multi $(TARGET_DIR)/usr/sbin/iptables
+ ln -sf xtables-nft-multi $(TARGET_DIR)/usr/sbin/iptables-restore
+ ln -sf xtables-nft-multi $(TARGET_DIR)/usr/sbin/iptables-save
+endef
+IPTABLES_POST_INSTALL_TARGET_HOOKS += IPTABLES_MAKE_NFTABLES_DEFAULT
+endif
+
$(eval $(autotools-package))