From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by dpdk.org (Postfix) with ESMTP id C36C52B91 for ; Mon, 29 Oct 2018 13:54:00 +0100 (CET) Received: by mail-wm1-f67.google.com with SMTP id h2-v6so4316868wmb.0 for ; Mon, 29 Oct 2018 05:54:00 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=mhidZG647uywuVO5pMLSYRJYxnk4MfBmhPRBRvcttp8=; b=QEWjC1pV6u9TAELSmUhzN9fDOG3OAvHRRjT+CwpL6E4rdyTfBSzETK+gWRGBRiQ1gw eVYCXVgRVWhPG8FJS03RRWsUZ54TGJDNS0ewL4eA9WEYFT3Gt5ufKw95opCoKDCbVaoO hs8WBFYHDYMEji0ZCsI5heCoJOSj7fD72Po83n9RlSJLk+kaQzhfQuDMKE5QruHP0Nti OC6+qzWOIZ+Hzkoul+oW2iKeEdTe8jEEMdNoX8yu6QmvynEDD1/YJFaDbzTeCAuBnq8U 7BxPRy/NG1oawlpiNmGszKyTiQfiq8Gk/HNqFKqVlzRQkHsWMf7+iZwg1EqP5zlQMEsC nd6Q== X-Gm-Message-State: AGRZ1gK/Fxi7bZFdr1ny//Ulo7AAo6xQeqOI3mTlBKFH9fbxq0StBaU9 eZpAHCwLF3QUg+tlD7eKFLlIzHUP X-Google-Smtp-Source: AJdET5czn1Co1bkhkX+kiap+InXFsCyz2JreqZ+rPPs9xgjtn3lNQ1WkO5mrY9kFI/P1bU/swu5rFg== X-Received: by 2002:a1c:a4c1:: with SMTP id n184-v6mr10086840wme.106.1540817640287; Mon, 29 Oct 2018 05:54:00 -0700 (PDT) Received: from localhost ([2a01:4b00:f419:6f00:8361:8946:ba2b:d556]) by smtp.gmail.com with ESMTPSA id 68-v6sm2998618wmg.26.2018.10.29.05.53.59 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 29 Oct 2018 05:53:59 -0700 (PDT) From: Luca Boccassi To: Naga Suresh Somarowthu Cc: Ferruh Yigit , dpdk stable Date: Mon, 29 Oct 2018 12:53:18 +0000 Message-Id: <20181029125329.17729-9-bluca@debian.org> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20181029125329.17729-1-bluca@debian.org> References: <20181015115144.27626-1-bluca@debian.org> <20181029125329.17729-1-bluca@debian.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dpdk-stable] patch 'test/kni: check module dependency' has been queued to LTS release 16.11.9 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Oct 2018 12:54:01 -0000 Hi, FYI, your patch has been queued to LTS release 16.11.9 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 10/31/18. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. If the code is different (ie: not only metadata diffs), due for example to a change in context or macro names, please double check it. Thanks. Luca Boccassi --- >>From 4761c9cab239f8d7961e762f9cdda91700272cd2 Mon Sep 17 00:00:00 2001 From: Naga Suresh Somarowthu Date: Fri, 14 Sep 2018 14:57:02 +0100 Subject: [PATCH] test/kni: check module dependency [ upstream commit ee1caebc4dea6ae59ef60d2e3cc75338c213207d ] Check the prerequisites to run the test 1.checked whether the rte_kni module is loaded, if not fail testcase 2.checked whether the rte_kni module is loaded with loop back mode, if not skip packet forwarding testcase and log 3.Disabled the test in freebsd as test is not supported Fixes: 5233e5924a ("app/test: update kni") Signed-off-by: Naga Suresh Somarowthu Acked-by: Ferruh Yigit --- app/test/test_kni.c | 48 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 38 insertions(+), 10 deletions(-) diff --git a/app/test/test_kni.c b/app/test/test_kni.c index db17fdf30..c6e34d40f 100644 --- a/app/test/test_kni.c +++ b/app/test/test_kni.c @@ -36,6 +36,7 @@ #include #include #include +#include #include "test.h" @@ -57,6 +58,8 @@ #define IFCONFIG "/sbin/ifconfig " #define TEST_KNI_PORT "test_kni_port" +#define KNI_MODULE_PATH "/sys/module/rte_kni" +#define KNI_MODULE_PARAM_LO KNI_MODULE_PATH"/parameters/lo_mode" #define KNI_TEST_MAX_PORTS 4 /* The threshold number of mbufs to be transmitted or received. */ #define KNI_NUM_MBUF_THRESHOLD 100 @@ -472,13 +475,28 @@ static int test_kni(void) { int ret = -1; - uint8_t nb_ports, port_id; + uint8_t port_id; struct rte_kni *kni; struct rte_mempool *mp; struct rte_kni_conf conf; struct rte_eth_dev_info info; struct rte_kni_ops ops; + FILE *fd; + DIR *dir; + char buf[16]; + + dir = opendir(KNI_MODULE_PATH); + if (!dir) { + if (errno == ENOENT) { + printf("Cannot run UT due to missing rte_kni module\n"); + return -1; + } + printf("opendir: %s", strerror(errno)); + return -1; + } + closedir(dir); + /* Initialize KNI subsytem */ rte_kni_init(KNI_TEST_MAX_PORTS); @@ -493,12 +511,6 @@ test_kni(void) return -1; } - nb_ports = rte_eth_dev_count(); - if (nb_ports == 0) { - printf("no supported nic port found\n"); - return -1; - } - /* configuring port 0 for the test is enough */ port_id = 0; ret = rte_eth_dev_configure(port_id, 1, 1, &port_conf); @@ -527,9 +539,25 @@ test_kni(void) rte_eth_promiscuous_enable(port_id); /* basic test of kni processing */ - ret = test_kni_processing(port_id, mp); - if (ret < 0) - goto fail; + fd = fopen(KNI_MODULE_PARAM_LO, "r"); + if (fd == NULL) { + printf("fopen: %s", strerror(errno)); + return -1; + } + memset(&buf, 0, sizeof(buf)); + if (fgets(buf, sizeof(buf), fd)) { + if (!strncmp(buf, "lo_mode_fifo", strlen("lo_mode_fifo")) || + !strncmp(buf, "lo_mode_fifo_skb", + strlen("lo_mode_fifo_skb"))) { + ret = test_kni_processing(port_id, mp); + if (ret < 0) { + fclose(fd); + goto fail; + } + } else + printf("test_kni_processing skipped because of missing rte_kni module lo_mode argument\n"); + } + fclose(fd); /* test of allocating KNI with NULL mempool pointer */ memset(&info, 0, sizeof(info)); -- 2.19.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2018-10-29 12:48:14.642845895 +0000 +++ 0009-test-kni-check-module-dependency.patch 2018-10-29 12:48:14.446417982 +0000 @@ -1,8 +1,10 @@ -From ee1caebc4dea6ae59ef60d2e3cc75338c213207d Mon Sep 17 00:00:00 2001 +From 4761c9cab239f8d7961e762f9cdda91700272cd2 Mon Sep 17 00:00:00 2001 From: Naga Suresh Somarowthu Date: Fri, 14 Sep 2018 14:57:02 +0100 Subject: [PATCH] test/kni: check module dependency +[ upstream commit ee1caebc4dea6ae59ef60d2e3cc75338c213207d ] + Check the prerequisites to run the test 1.checked whether the rte_kni module is loaded, if not fail testcase 2.checked whether the rte_kni module is loaded with loop back mode, @@ -10,19 +12,18 @@ 3.Disabled the test in freebsd as test is not supported Fixes: 5233e5924a ("app/test: update kni") -Cc: stable@dpdk.org Signed-off-by: Naga Suresh Somarowthu Acked-by: Ferruh Yigit --- - test/test/test_kni.c | 49 ++++++++++++++++++++++++++++++++++---------- - 1 file changed, 38 insertions(+), 11 deletions(-) + app/test/test_kni.c | 48 +++++++++++++++++++++++++++++++++++---------- + 1 file changed, 38 insertions(+), 10 deletions(-) -diff --git a/test/test/test_kni.c b/test/test/test_kni.c -index e38206905..f3c19b5a0 100644 ---- a/test/test/test_kni.c -+++ b/test/test/test_kni.c -@@ -7,10 +7,11 @@ +diff --git a/app/test/test_kni.c b/app/test/test_kni.c +index db17fdf30..c6e34d40f 100644 +--- a/app/test/test_kni.c ++++ b/app/test/test_kni.c +@@ -36,6 +36,7 @@ #include #include #include @@ -30,12 +31,7 @@ #include "test.h" --#ifndef RTE_LIBRTE_KNI -+#if !defined(RTE_EXEC_ENV_LINUXAPP) || !defined(RTE_LIBRTE_KNI) - - static int - test_kni(void) -@@ -40,6 +41,8 @@ test_kni(void) +@@ -57,6 +58,8 @@ #define IFCONFIG "/sbin/ifconfig " #define TEST_KNI_PORT "test_kni_port" @@ -44,19 +40,18 @@ #define KNI_TEST_MAX_PORTS 4 /* The threshold number of mbufs to be transmitted or received. */ #define KNI_NUM_MBUF_THRESHOLD 100 -@@ -530,7 +533,7 @@ static int +@@ -472,13 +475,28 @@ static int test_kni(void) { int ret = -1; -- uint16_t nb_ports, port_id; -+ uint16_t port_id; +- uint8_t nb_ports, port_id; ++ uint8_t port_id; struct rte_kni *kni; struct rte_mempool *mp; struct rte_kni_conf conf; -@@ -538,6 +541,20 @@ test_kni(void) + struct rte_eth_dev_info info; struct rte_kni_ops ops; - const struct rte_pci_device *pci_dev; - const struct rte_bus *bus; + + FILE *fd; + DIR *dir; + char buf[16]; @@ -71,14 +66,15 @@ + return -1; + } + closedir(dir); - ++ /* Initialize KNI subsytem */ rte_kni_init(KNI_TEST_MAX_PORTS); -@@ -553,12 +570,6 @@ test_kni(void) + +@@ -493,12 +511,6 @@ test_kni(void) return -1; } -- nb_ports = rte_eth_dev_count_avail(); +- nb_ports = rte_eth_dev_count(); - if (nb_ports == 0) { - printf("no supported nic port found\n"); - return -1; @@ -87,7 +83,7 @@ /* configuring port 0 for the test is enough */ port_id = 0; ret = rte_eth_dev_configure(port_id, 1, 1, &port_conf); -@@ -587,9 +598,25 @@ test_kni(void) +@@ -527,9 +539,25 @@ test_kni(void) rte_eth_promiscuous_enable(port_id); /* basic test of kni processing */