diff --git a/package/iptables/Config.in b/package/iptables/Config.in index e6b12603e0..ef02c26242 100644 --- a/package/iptables/Config.in +++ b/package/iptables/Config.in @@ -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 diff --git a/package/iptables/iptables.mk b/package/iptables/iptables.mk index 533f56a992..8d23dca249 100644 --- a/package/iptables/iptables.mk +++ b/package/iptables/iptables.mk @@ -62,4 +62,16 @@ 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 + ln -sf xtables-nft-multi $(TARGET_DIR)/usr/sbin/ip6tables + ln -sf xtables-nft-multi $(TARGET_DIR)/usr/sbin/ip6tables-restore + ln -sf xtables-nft-multi $(TARGET_DIR)/usr/sbin/ip6tables-save +endef +IPTABLES_POST_INSTALL_TARGET_HOOKS += IPTABLES_MAKE_NFTABLES_DEFAULT +endif + $(eval $(autotools-package))