summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2024-04-10 15:49:13 -0700
committerKhem Raj <raj.khem@gmail.com>2024-04-10 16:06:30 -0700
commit614956c5d7904ae55558a0294630323359d3197c (patch)
tree531496daebadf3331edb325c27662adcd3813ef4
parent13c554605557b06ba09e54ce7ecad01a31f0c02d (diff)
downloadmeta-openembedded-614956c5d7904ae55558a0294630323359d3197c.tar.gz
nftables: Fix ptest runs
It gets OOMs with memory < 2G on x86_64 qemu Export NFT variable in run-ptest script its used by few tests Add required runtime dependencies for ptests to pass This also requires changes to kernel config features/nf_tables/nft_test.scc and CONFIG_VETH Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-networking/recipes-core/images/meta-networking-image-ptest.bb1
-rw-r--r--meta-networking/recipes-filter/nftables/nftables/run-ptest1
-rw-r--r--meta-networking/recipes-filter/nftables/nftables_1.0.9.bb26
3 files changed, 25 insertions, 3 deletions
diff --git a/meta-networking/recipes-core/images/meta-networking-image-ptest.bb b/meta-networking/recipes-core/images/meta-networking-image-ptest.bb
index f458b761f..295da982e 100644
--- a/meta-networking/recipes-core/images/meta-networking-image-ptest.bb
+++ b/meta-networking/recipes-core/images/meta-networking-image-ptest.bb
@@ -27,6 +27,7 @@ IMAGE_ROOTFS_EXTRA_SPACE = "324288"
27QB_MEM = "-m 1024" 27QB_MEM = "-m 1024"
28# If a particular ptest needs more memroy, it can be customized: 28# If a particular ptest needs more memroy, it can be customized:
29#QB_MEM:virtclass-mcextend-<pn> = "-m 4096" 29#QB_MEM:virtclass-mcextend-<pn> = "-m 4096"
30QB_MEM:virtclass-mcextend-nftables = "-m 2048"
30 31
31TEST_SUITES = "ping ssh parselogs ptest" 32TEST_SUITES = "ping ssh parselogs ptest"
32 33
diff --git a/meta-networking/recipes-filter/nftables/nftables/run-ptest b/meta-networking/recipes-filter/nftables/nftables/run-ptest
index 363a1ee25..32ddf9f45 100644
--- a/meta-networking/recipes-filter/nftables/nftables/run-ptest
+++ b/meta-networking/recipes-filter/nftables/nftables/run-ptest
@@ -4,6 +4,7 @@ NFTABLESLIB=@libdir@/nftables
4cd ${NFTABLESLIB}/ptest || exit 1 4cd ${NFTABLESLIB}/ptest || exit 1
5 5
6LOG="${NFTABLESLIB}/ptest/nftables_ptest_$(date +%Y%m%d-%H%M%S).log" 6LOG="${NFTABLESLIB}/ptest/nftables_ptest_$(date +%Y%m%d-%H%M%S).log"
7NFT=nft
7tests/shell/run-tests.sh -v | sed -E '/I: \[OK\]/ s/^/PASS: / ; /W: \[(CHK DUMP|VALGRIND|TAINTED|DUMP FAIL|FAILED)\]/ s/^/FAIL: /' | sed "s,\x1B\[[0-9;]*[a-zA-Z],,g" | tee -a "${LOG}" 8tests/shell/run-tests.sh -v | sed -E '/I: \[OK\]/ s/^/PASS: / ; /W: \[(CHK DUMP|VALGRIND|TAINTED|DUMP FAIL|FAILED)\]/ s/^/FAIL: /' | sed "s,\x1B\[[0-9;]*[a-zA-Z],,g" | tee -a "${LOG}"
8 9
9passed=$(grep -c PASS: "${LOG}") 10passed=$(grep -c PASS: "${LOG}")
diff --git a/meta-networking/recipes-filter/nftables/nftables_1.0.9.bb b/meta-networking/recipes-filter/nftables/nftables_1.0.9.bb
index ad99a80a6..771892274 100644
--- a/meta-networking/recipes-filter/nftables/nftables_1.0.9.bb
+++ b/meta-networking/recipes-filter/nftables/nftables_1.0.9.bb
@@ -37,8 +37,6 @@ SETUPTOOLS_SETUP_PATH = "${S}/py"
37 37
38inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'setuptools3', '', d)} 38inherit ${@bb.utils.contains('PACKAGECONFIG', 'python', 'setuptools3', '', d)}
39 39
40RRECOMMENDS:${PN} += "kernel-module-nf-tables"
41
42PACKAGES =+ "${PN}-python" 40PACKAGES =+ "${PN}-python"
43FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}" 41FILES:${PN}-python = "${PYTHON_SITEPACKAGES_DIR}"
44RDEPENDS:${PN}-python = "python3-core python3-json ${PN}" 42RDEPENDS:${PN}-python = "python3-core python3-json ${PN}"
@@ -66,7 +64,29 @@ do_install() {
66 fi 64 fi
67} 65}
68 66
69RDEPENDS:${PN}-ptest += " ${PN}-python bash make iproute2 iputils-ping procps python3-core python3-ctypes python3-json python3-misc sed util-linux" 67RDEPENDS:${PN}-ptest += " ${PN}-python bash coreutils make iproute2 iputils-ping procps python3-core python3-ctypes python3-json python3-misc sed util-linux"
68
69RRECOMMENDS:${PN}-ptest += "\
70kernel-module-nft-chain-nat kernel-module-nft-queue \
71kernel-module-nft-compat kernel-module-nft-quota \
72kernel-module-nft-connlimit kernel-module-nft-redir \
73kernel-module-nft-ct kernel-module-nft-reject \
74kernel-module-nft-flow-offload kernel-module-nft-reject-inet \
75kernel-module-nft-hash kernel-module-nft-reject-ipv4 \
76kernel-module-nft-limit kernel-module-nft-reject-ipv6 \
77kernel-module-nft-log kernel-module-nft-socket \
78kernel-module-nft-masq kernel-module-nft-synproxy \
79kernel-module-nft-nat kernel-module-nft-tunnel \
80kernel-module-nft-numgen kernel-module-nft-xfrm \
81kernel-module-nft-osf \
82kernel-module-nf-flow-table \
83kernel-module-nf-flow-table-inet \
84kernel-module-nf-nat \
85kernel-module-nf-log-syslog \
86kernel-module-nf-nat-ftp \
87kernel-module-nf-nat-sip \
88kernel-module-8021q \
89kernel-module-dummy"
70 90
71TESTDIR = "tests" 91TESTDIR = "tests"
72 92