new file mode 100644
@@ -0,0 +1,35 @@
+From 956e7d89865b497f889483c90bc7fed9bec4e030 Mon Sep 17 00:00:00 2001
+From: Gyorgy Sarvari <skandigraun@gmail.com>
+Date: Sun, 26 Oct 2025 18:55:06 +0100
+Subject: [PATCH 1/2] fix typo in test script
+
+While executing the test suite from tests/shell/testcases folder, a lot of errors
+are displayed:
+
+tests/shell/testcases/maps/vmap_timeout: line 48: [: : integer expected
+
+Looking at the script, a non-existing variable (expires) is tested instead of
+the existing one (expire).
+
+This change corrects this.
+
+Upstream-Status: Submitted [https://lore.kernel.org/netfilter-devel/20251026204107.2438565-1-skandigraun@gmail.com/T/#u]
+
+Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com>
+---
+ tests/shell/testcases/maps/vmap_timeout | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/shell/testcases/maps/vmap_timeout b/tests/shell/testcases/maps/vmap_timeout
+index 8ac7e8e7..55d1c1b9 100755
+--- a/tests/shell/testcases/maps/vmap_timeout
++++ b/tests/shell/testcases/maps/vmap_timeout
+@@ -45,7 +45,7 @@ for i in $(seq 1 100) ; do
+ expire=$((RANDOM%utimeout))
+
+ expire_str=""
+- if [ "$expires" -gt 0 ]; then
++ if [ "$expire" -gt 0 ]; then
+ expire_str="expires ${expire}s"
+ fi
+
@@ -12,6 +12,7 @@ DEPENDS = "libmnl libnftnl bison-native \
${@bb.utils.contains('PACKAGECONFIG', 'mini-gmp', '', 'gmp', d)}"
SRC_URI = "http://www.netfilter.org/projects/nftables/files/${BP}.tar.xz \
+ file://0001-fix-typo-in-test-script.patch \
file://run-ptest \
"
SRC_URI[sha256sum] = "1daf10f322e14fd90a017538aaf2c034d7cc1eb1cc418ded47445d714ea168d4"
@@ -67,6 +68,9 @@ do_install() {
RDEPENDS:${PN}-ptest += " ${PN}-python bash coreutils make iproute2 iputils-ping procps python3-core python3-ctypes python3-json python3-misc sed util-linux"
+
+# For ptests compile the kernel with CONFIG_NFT_TPROXY
+
RRECOMMENDS:${PN}-ptest += "\
kernel-module-nft-chain-nat kernel-module-nft-queue \
kernel-module-nft-compat kernel-module-nft-quota \
@@ -79,7 +83,7 @@ kernel-module-nft-log kernel-module-nft-socket \
kernel-module-nft-masq kernel-module-nft-synproxy \
kernel-module-nft-nat kernel-module-nft-tunnel \
kernel-module-nft-numgen kernel-module-nft-xfrm \
-kernel-module-nft-osf \
+kernel-module-nft-osf kernel-module-nft-tproxy \
kernel-module-nf-flow-table \
kernel-module-nf-flow-table-inet \
kernel-module-nf-nat \
@@ -102,6 +106,7 @@ do_install_ptest() {
cp -rf ${S}/${TESTDIR} ${D}${PTEST_PATH}/${TESTDIR}
sed -i 's#/usr/bin/python#/usr/bin/python3#' ${D}${PTEST_PATH}/${TESTDIR}/json_echo/run-test.py
sed -i 's#/usr/bin/env python#/usr/bin/env python3#' ${D}${PTEST_PATH}/${TESTDIR}/py/nft-test.py
+ sed -i 's#exec python -c#exec python3 -c#' ${D}${PTEST_PATH}/${TESTDIR}/shell/helpers/json-pretty.sh
# handle multilib
sed -i s:@libdir@:${libdir}:g ${D}${PTEST_PATH}/run-ptest
}
Add missing kernel module dependencies, fix a script that is trying to run python instead of python3, and add a patch that fixes a test (submitted upstream). There are 2 notes: 1. For the tests to succeed the kernel must be compiled with CONFIG_NFT_TPROXY 2. There is 1 testcase that seems to be flaky: 0002-persist testcase randomly fails. When it is comparing the test output with the expected output, sometimes there is a comment present, and sometimes there isn't. Couldn't get to the bottom of this. The second point is the reason why the recipe remains on the PTESTS_PROBLEMS_META_NETWORKING list. Signed-off-by: Gyorgy Sarvari <skandigraun@gmail.com> --- .../0001-fix-typo-in-test-script.patch | 35 +++++++++++++++++++ .../recipes-filter/nftables/nftables_1.1.5.bb | 7 +++- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 meta-networking/recipes-filter/nftables/nftables/0001-fix-typo-in-test-script.patch