diff mbox series

[meta-networking,3/3] nftables: fix ptests

Message ID 20251026205118.2439308-3-skandigraun@gmail.com
State New
Headers show
Series [meta-networking,1/3] lksctp-tools: move ptest from problem-list to slow-list | expand

Commit Message

Gyorgy Sarvari Oct. 26, 2025, 8:51 p.m. UTC
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
diff mbox series

Patch

diff --git a/meta-networking/recipes-filter/nftables/nftables/0001-fix-typo-in-test-script.patch b/meta-networking/recipes-filter/nftables/nftables/0001-fix-typo-in-test-script.patch
new file mode 100644
index 0000000000..c0d1e33b5e
--- /dev/null
+++ b/meta-networking/recipes-filter/nftables/nftables/0001-fix-typo-in-test-script.patch
@@ -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
+ 
diff --git a/meta-networking/recipes-filter/nftables/nftables_1.1.5.bb b/meta-networking/recipes-filter/nftables/nftables_1.1.5.bb
index a1954c0814..a2c6ce0e23 100644
--- a/meta-networking/recipes-filter/nftables/nftables_1.1.5.bb
+++ b/meta-networking/recipes-filter/nftables/nftables_1.1.5.bb
@@ -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
 }