From: Trevor Gamblin Date: Thu, 17 Mar 2022 19:22:27 +0000 (-0400) Subject: iptables: use nft backend with libnftnl PACKAGECONFIG X-Git-Tag: lucaceresoli/bug-15201-perf-libtraceevent-missing~4690 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bc41682ab2a259b7bc6a56fa3ba42907f4c8bf25;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git iptables: use nft backend with libnftnl PACKAGECONFIG 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 Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-extended/iptables/iptables_1.8.7.bb b/meta/recipes-extended/iptables/iptables_1.8.7.bb index 839733aaa8c..3b418828411 100644 --- a/meta/recipes-extended/iptables/iptables_1.8.7.bb +++ b/meta/recipes-extended/iptables/iptables_1.8.7.bb @@ -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"