]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
iptables: use nft backend with libnftnl PACKAGECONFIG
authorTrevor Gamblin <trevor.gamblin@windriver.com>
Thu, 17 Mar 2022 19:22:27 +0000 (15:22 -0400)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 18 Mar 2022 23:32:01 +0000 (23:32 +0000)
Currently, when the libnftnl (part of meta-networking) PACKAGECONFIG is
enabled for iptables, both legacy and nft-based binaries are built and
installed in the image. However, the "iptables" symlink in this case
still points to xtables-legacy-multi, rather than xtables-nft-multi.
This patch adds a conditional check to replace the symlink to point to
the latter if iptables is built with libnftnl support, which is
consistent with other major distros (e.g. Fedora). The "iptables-legacy"
symlink remains present and unmodified.

Signed-off-by: tgamblin <trevor.gamblin@windriver.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-extended/iptables/iptables_1.8.7.bb

index 839733aaa8c1ac6f45a6ca649e52aab32875994a..3b4188284113ed5ece5efe724ccd4d0d37c16e5d 100644 (file)
@@ -66,6 +66,11 @@ do_install:append() {
             -e 's,@RULESDIR@,${IPTABLES_RULES_DIR},g' \
             ${D}${systemd_system_unitdir}/ip6tables.service
     fi
+
+    # if libnftnl is included, make the iptables symlink point to the nft-based binary by default
+    if ${@bb.utils.contains('PACKAGECONFIG', 'libnftnl', 'true', 'false', d)} ; then
+        ln -sf ${sbindir}/xtables-nft-multi ${D}${sbindir}/iptables 
+    fi
 }
 
 PACKAGES =+ "${PN}-modules ${PN}-apply"