* [dts][PATCH V1 1/5] test_plans/vf_macfilter: change "igb_uio" to "vfio-pci" in kernel pf cases
2023-04-20 7:05 [dts][PATCH V1 0/5] skip DPDK PF as host related cases Lingli Chen
@ 2023-04-20 7:05 ` Lingli Chen
2023-04-20 7:05 ` [dts][PATCH V1 2/5] test_plans/ddp_gtp: add note Lingli Chen
` (3 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Lingli Chen @ 2023-04-20 7:05 UTC (permalink / raw)
To: dts; +Cc: zhiminx.huang, Lingli Chen
change "igb_uio" to "vfio-pci" in kernel pf cases in the testplan
Signed-off-by: Lingli Chen <linglix.chen@intel.com>
---
test_plans/vf_macfilter_test_plan.rst | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/test_plans/vf_macfilter_test_plan.rst b/test_plans/vf_macfilter_test_plan.rst
index 583d4cae..bcb0ee6a 100644
--- a/test_plans/vf_macfilter_test_plan.rst
+++ b/test_plans/vf_macfilter_test_plan.rst
@@ -66,10 +66,10 @@ Test Case 1: test_kernel_2pf_2vf_1vm_iplink_macfilter
-device pci-assign,host=81:0a.0,id=pt_1
5. Login vm0, got VFs pci device id in vm0, assume they are 00:06.0 & 00:07.0,
- bind them to igb_uio driver, and then start testpmd, enable CRC strip,
+ bind them to vfio-pci driver, and then start testpmd, enable CRC strip,
disable promisc mode,set it in mac forward mode::
- ./usertools/dpdk-devbind.py --bind=igb_uio 00:06.0 00:07.0
+ ./usertools/dpdk-devbind.py --bind=vfio-pci 00:06.0 00:07.0
if test IAVF, start up VF port::
@@ -155,10 +155,10 @@ Test Case 2: test_kernel_2pf_2vf_1vm_mac_add_filter
-device pci-assign,host=81:0a.0,id=pt_1
5. login vm0, got VFs pci device id in vm0, assume they are 00:06.0 & 00:07.0,
- bind them to igb_uio driver, and then start testpmd, enable CRC strip on
+ bind them to vfio-pci driver, and then start testpmd, enable CRC strip on
VF, disable promisc mode, add a new MAC to VF0 and then start::
- ./usertools/dpdk-devbind.py --bind=igb_uio 00:06.0 00:07.0
+ ./usertools/dpdk-devbind.py --bind=vfio-pci 00:06.0 00:07.0
if test IAVF, start up VF port::
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts][PATCH V1 2/5] test_plans/ddp_gtp: add note
2023-04-20 7:05 [dts][PATCH V1 0/5] skip DPDK PF as host related cases Lingli Chen
2023-04-20 7:05 ` [dts][PATCH V1 1/5] test_plans/vf_macfilter: change "igb_uio" to "vfio-pci" in kernel pf cases Lingli Chen
@ 2023-04-20 7:05 ` Lingli Chen
2023-04-20 7:05 ` [dts][PATCH V1 3/5] tests/ddp_gtp: skip igb_uio cases Lingli Chen
` (2 subsequent siblings)
4 siblings, 0 replies; 9+ messages in thread
From: Lingli Chen @ 2023-04-20 7:05 UTC (permalink / raw)
To: dts; +Cc: zhiminx.huang, Lingli Chen
add bind port note
Signed-off-by: Lingli Chen <linglix.chen@intel.com>
---
test_plans/ddp_gtp_test_plan.rst | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/test_plans/ddp_gtp_test_plan.rst b/test_plans/ddp_gtp_test_plan.rst
index 2dd44640..8275e355 100644
--- a/test_plans/ddp_gtp_test_plan.rst
+++ b/test_plans/ddp_gtp_test_plan.rst
@@ -55,6 +55,10 @@ Prerequisites
./<build>/app/dpdk-testpmd -c f -n 4 -- -i --port-topology=chained --txq=64 --rxq=64
+.. note::
+
+ if test DPDK PF + DPDK VF, bind port to igb_uio,
+ if only test PF, bind pf port to vfio-pci or igb_uio.
Test Case: Load dynamic device personalization
================================================
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts][PATCH V1 3/5] tests/ddp_gtp: skip igb_uio cases
2023-04-20 7:05 [dts][PATCH V1 0/5] skip DPDK PF as host related cases Lingli Chen
2023-04-20 7:05 ` [dts][PATCH V1 1/5] test_plans/vf_macfilter: change "igb_uio" to "vfio-pci" in kernel pf cases Lingli Chen
2023-04-20 7:05 ` [dts][PATCH V1 2/5] test_plans/ddp_gtp: add note Lingli Chen
@ 2023-04-20 7:05 ` Lingli Chen
2023-04-20 7:05 ` [dts][PATCH V1 4/5] test_plans/ddp_mpls: add note Lingli Chen
2023-04-20 7:05 ` [dts][PATCH V1 5/5] tests/ddp_mpls: skip igb_uio cases Lingli Chen
4 siblings, 0 replies; 9+ messages in thread
From: Lingli Chen @ 2023-04-20 7:05 UTC (permalink / raw)
To: dts; +Cc: zhiminx.huang, Lingli Chen
skip DPDK PF + DPDK VF case, modify dts code to run pf case
Signed-off-by: Lingli Chen <linglix.chen@intel.com>
---
tests/TestSuite_ddp_gtp.py | 63 ++++++++++++++++++++------------------
1 file changed, 34 insertions(+), 29 deletions(-)
diff --git a/tests/TestSuite_ddp_gtp.py b/tests/TestSuite_ddp_gtp.py
index 22e73318..ba1e4566 100644
--- a/tests/TestSuite_ddp_gtp.py
+++ b/tests/TestSuite_ddp_gtp.py
@@ -11,7 +11,7 @@ import framework.utils as utils
from framework.pmd_output import PmdOutput
from framework.qemu_kvm import QEMUKvm
from framework.settings import get_nic_name
-from framework.test_case import TestCase
+from framework.test_case import TestCase, skip_unsupported_host_driver
VM_CORES_MASK = "all"
@@ -48,9 +48,11 @@ class TestDdpGtp(TestCase):
self.vf_assign_method = "vfio-pci"
self.dut.send_expect("modprobe vfio-pci", "#")
- def insmod_modprobe(self, modename=""):
+ def setup_vf_env(self, modename=""):
"""
Insmod modProbe before run test case
+ bind VF0 device to igb_uio driver
+ Start testpmd on host and vm0
"""
if modename == "igb_uio":
self.dut.send_expect("modprobe uio", "#", 10)
@@ -63,26 +65,24 @@ class TestDdpGtp(TestCase):
out = self.dut.send_expect("lsmod | grep igb_uio", "#")
assert "igb_uio" in out, "Failed to insmod igb_uio"
+ self.bind_nic_driver(self.dut_ports, "igb_uio")
+ self.setup_vm_env()
+ self.load_profile()
+ self.vm0_testpmd.start_testpmd(
+ VM_CORES_MASK,
+ "--port-topology=chained --txq=%s --rxq=%s"
+ % (self.VF_QUEUE, self.VF_QUEUE),
+ )
+ self.vm0_testpmd.execute_cmd("set fwd rxonly")
+ self.vm0_testpmd.execute_cmd("set verbose 1")
+ self.vm0_testpmd.execute_cmd("start")
def set_up(self):
self.dut_testpmd = PmdOutput(self.dut)
self.used_dut_port = self.dut_ports[0]
tester_port = self.tester.get_local_port(self.used_dut_port)
self.tester_intf = self.tester.get_interface(tester_port)
- if "vf" in self._suite_result.test_case:
- self.insmod_modprobe("igb_uio")
- self.bind_nic_driver(self.dut_ports, "igb_uio")
- self.setup_vm_env()
- self.load_profile()
- self.vm0_testpmd.start_testpmd(
- VM_CORES_MASK,
- "--port-topology=chained --txq=%s --rxq=%s"
- % (self.VF_QUEUE, self.VF_QUEUE),
- )
- self.vm0_testpmd.execute_cmd("set fwd rxonly")
- self.vm0_testpmd.execute_cmd("set verbose 1")
- self.vm0_testpmd.execute_cmd("start")
- else:
+ if "pf" in self._suite_result.test_case:
self.load_profile()
def search_queue_number(self, Q_strip):
@@ -443,39 +443,44 @@ class TestDdpGtp(TestCase):
self.gtp_test(type="clfter", port="pf", tunnel_pkt="gtpu", inner_L3="ipv4")
self.gtp_test(type="clfter", port="pf", tunnel_pkt="gtpu", inner_L3="ipv6")
+ @skip_unsupported_host_driver(["vfio-pci"])
def test_clfter_gtpc_vf(self):
"""
GTP is supported by NVM with profile updated. Select cloud filter,
send gtpc packet to VF, check PF could receive packet using configured
queue, checksum is good.
"""
+ self.setup_vf_env("igb_uio")
self.gtp_test(type="clfter", port="vf id 0", tunnel_pkt="gtpc", inner_L3=None)
+ self.destroy_vm_env()
+ @skip_unsupported_host_driver(["vfio-pci"])
def test_clfter_gtpu_vf(self):
"""
GTP is supported by NVM with profile updated. Select cloud filter,
send gtpu packet to VF, check PF could receive packet using configured
queue, checksum is good.
"""
+ self.setup_vf_env("igb_uio")
self.gtp_test(type="clfter", port="vf id 0", tunnel_pkt="gtpu", inner_L3=None)
self.gtp_test(type="clfter", port="vf id 0", tunnel_pkt="gtpu", inner_L3="ipv4")
self.gtp_test(type="clfter", port="vf id 0", tunnel_pkt="gtpu", inner_L3="ipv6")
+ self.destroy_vm_env()
def tear_down(self):
- if "vf" in self._suite_result.test_case:
- self.destroy_vm_env()
- self.dut_testpmd.execute_cmd("stop")
- out = self.dut_testpmd.execute_cmd("ddp get list 0")
- if "Profile number is: 0" not in out:
- self.dut_testpmd.execute_cmd("port stop all")
- time.sleep(1)
- self.dut_testpmd.execute_cmd("ddp del 0 /tmp/gtp.bak")
+ if "vf" not in self._suite_result.test_case:
+ self.dut_testpmd.execute_cmd("stop")
out = self.dut_testpmd.execute_cmd("ddp get list 0")
- self.verify(
- "Profile number is: 0" in out, "Failed to delete ddp profile!!!"
- )
- self.dut_testpmd.execute_cmd("port start all")
- self.dut_testpmd.quit()
+ if "Profile number is: 0" not in out:
+ self.dut_testpmd.execute_cmd("port stop all")
+ time.sleep(1)
+ self.dut_testpmd.execute_cmd("ddp del 0 /tmp/gtp.bak")
+ out = self.dut_testpmd.execute_cmd("ddp get list 0")
+ self.verify(
+ "Profile number is: 0" in out, "Failed to delete ddp profile!!!"
+ )
+ self.dut_testpmd.execute_cmd("port start all")
+ self.dut_testpmd.quit()
def tear_down_all(self):
if self.env_done:
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts][PATCH V1 4/5] test_plans/ddp_mpls: add note
2023-04-20 7:05 [dts][PATCH V1 0/5] skip DPDK PF as host related cases Lingli Chen
` (2 preceding siblings ...)
2023-04-20 7:05 ` [dts][PATCH V1 3/5] tests/ddp_gtp: skip igb_uio cases Lingli Chen
@ 2023-04-20 7:05 ` Lingli Chen
2023-04-20 7:05 ` [dts][PATCH V1 5/5] tests/ddp_mpls: skip igb_uio cases Lingli Chen
4 siblings, 0 replies; 9+ messages in thread
From: Lingli Chen @ 2023-04-20 7:05 UTC (permalink / raw)
To: dts; +Cc: zhiminx.huang, Lingli Chen
add test PF note
Signed-off-by: Lingli Chen <linglix.chen@intel.com>
---
test_plans/ddp_mpls_test_plan.rst | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/test_plans/ddp_mpls_test_plan.rst b/test_plans/ddp_mpls_test_plan.rst
index a070d48d..299b8e78 100644
--- a/test_plans/ddp_mpls_test_plan.rst
+++ b/test_plans/ddp_mpls_test_plan.rst
@@ -25,9 +25,11 @@ Only 25G NIC supports DDP and MPLS so far.
Prerequisites
=============
+if test DPDK PF + DPDK VF, bind port to igb_uio:
+
1. Host PF in DPDK driver. Create 1 VF from 1 PF with DPDK driver::
- ./tools/dpdk-devbind.py -b igb_uio 81:00.0
+ ./usertools/dpdk-devbind.py -b igb_uio 81:00.0
echo 1 >/sys/bus/pci/devices/0000:81:00.0/max_vfs
2. Detach VF from the host::
@@ -45,6 +47,16 @@ Prerequisites
./<build>/app/dpdk-testpmd -c f -n 4 -- -i --port-topology=chained
--txq=4 --rxq=4
+if only test PF:
+
+1. bind pf port to vfio-pci::
+
+ ./usertools/dpdk-devbind.py -b vfio-pci 81:00.0
+
+2. Start testpmd on host::
+
+ ./<build>/app/dpdk-testpmd -c f -n 4 -- -i --port-topology=chained --txq=64 --rxq=64
+
Test Case 1: Load dynamic device personalization
================================================
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts][PATCH V1 5/5] tests/ddp_mpls: skip igb_uio cases
2023-04-20 7:05 [dts][PATCH V1 0/5] skip DPDK PF as host related cases Lingli Chen
` (3 preceding siblings ...)
2023-04-20 7:05 ` [dts][PATCH V1 4/5] test_plans/ddp_mpls: add note Lingli Chen
@ 2023-04-20 7:05 ` Lingli Chen
2023-04-21 2:43 ` Huang, ZhiminX
` (2 more replies)
4 siblings, 3 replies; 9+ messages in thread
From: Lingli Chen @ 2023-04-20 7:05 UTC (permalink / raw)
To: dts; +Cc: zhiminx.huang, Lingli Chen
skip DPDK PF + DPDK VF case, modify dts code to run pf case
Signed-off-by: Lingli Chen <linglix.chen@intel.com>
---
tests/TestSuite_ddp_mpls.py | 60 ++++++++++++++++++++++++-------------
1 file changed, 40 insertions(+), 20 deletions(-)
diff --git a/tests/TestSuite_ddp_mpls.py b/tests/TestSuite_ddp_mpls.py
index f0d4ef7d..756d6e8e 100644
--- a/tests/TestSuite_ddp_mpls.py
+++ b/tests/TestSuite_ddp_mpls.py
@@ -12,7 +12,7 @@ import framework.utils as utils
from framework.pmd_output import PmdOutput
from framework.qemu_kvm import QEMUKvm
from framework.settings import get_nic_name
-from framework.test_case import TestCase
+from framework.test_case import TestCase, skip_unsupported_host_driver
VM_CORES_MASK = "all"
PF_MAX_QUEUE = 64
@@ -45,11 +45,21 @@ class Testddp_mpls(TestCase):
self.dut.send_expect("modprobe vfio-pci", "#")
def set_up(self):
- self.setup_vm_env()
+ if "vf" not in self._suite_result.test_case:
+ self.used_dut_port = self.dut_ports[0]
+ tester_port = self.tester.get_local_port(self.used_dut_port)
+ self.tester_intf = self.tester.get_interface(tester_port)
+ self.dut_testpmd = PmdOutput(self.dut)
+ self.dut_testpmd.start_testpmd(
+ "Default",
+ "--port-topology=chained --txq=%s --rxq=%s"
+ % (PF_MAX_QUEUE, PF_MAX_QUEUE),
+ )
- def setup_vm_env(self, driver="default"):
+ def setup_vf_env(self, driver="default"):
"""
Create testing environment with VF generated from 1PF
+ Start testpmd on host and vm0
"""
if self.env_done == False:
self.bind_nic_driver(self.dut_ports[:1], driver="igb_uio")
@@ -91,8 +101,11 @@ class Testddp_mpls(TestCase):
% (VF_MAX_QUEUE, VF_MAX_QUEUE),
)
- def destroy_vm_env(self):
-
+ def destroy_vf_env(self):
+ self.vm0_testpmd.execute_cmd("stop")
+ self.dut_testpmd.execute_cmd("stop")
+ self.vm0_testpmd.quit()
+ self.dut_testpmd.quit()
if getattr(self, "vm0", None):
self.vm0_dut.kill_all()
self.vm0_testpmd = None
@@ -211,38 +224,45 @@ class Testddp_mpls(TestCase):
self.load_profile()
self.mpls_test(port="pf", pkt="gre")
+ @skip_unsupported_host_driver(["vfio-pci"])
def test_mpls_udp_vf(self):
"""
MPLS is supported by NVM with profile updated. Send mpls udp packet to VF,
check VF could receive packet using configured queue, checksum is good.
"""
+ self.setup_vf_env()
self.load_profile()
self.mpls_test(port="vf id 0", pkt="udp")
+ self.destroy_vf_env()
+ @skip_unsupported_host_driver(["vfio-pci"])
def test_mpls_gre_vf(self):
"""
MPLS is supported by NVM with profile updated. Send mpls gre packet to VF,
check VF could receive packet using configured queue, checksum is good.
"""
+ self.setup_vf_env()
self.load_profile()
self.mpls_test(port="vf id 0", pkt="gre")
+ self.destroy_vf_env()
def tear_down(self):
- self.vm0_testpmd.execute_cmd("stop")
- self.dut_testpmd.execute_cmd("stop")
- out = self.dut_testpmd.execute_cmd("ddp get list 0")
- if "Profile number is: 0" not in out:
- self.dut_testpmd.execute_cmd("port stop all")
- time.sleep(1)
- self.dut_testpmd.execute_cmd("ddp del 0 /tmp/mpls.bak")
+
+ if "vf" not in self._suite_result.test_case:
+ self.dut_testpmd.execute_cmd("stop")
out = self.dut_testpmd.execute_cmd("ddp get list 0")
- self.verify(
- "Profile number is: 0" in out, "Failed to delete mpls profile!!!"
- )
- self.dut_testpmd.execute_cmd("port start all")
- self.vm0_testpmd.quit()
- self.dut_testpmd.quit()
+ if "Profile number is: 0" not in out:
+ self.dut_testpmd.execute_cmd("port stop all")
+ time.sleep(1)
+ self.dut_testpmd.execute_cmd("ddp del 0 /tmp/mpls.bak")
+ out = self.dut_testpmd.execute_cmd("ddp get list 0")
+ self.verify(
+ "Profile number is: 0" in out, "Failed to delete mpls profile!!!"
+ )
+ self.dut_testpmd.execute_cmd("port start all")
+
+ self.dut_testpmd.quit()
def tear_down_all(self):
- self.destroy_vm_env()
- pass
+ if self.env_done:
+ self.destroy_vf_env()
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [dts][PATCH V1 5/5] tests/ddp_mpls: skip igb_uio cases
2023-04-20 7:05 ` [dts][PATCH V1 5/5] tests/ddp_mpls: skip igb_uio cases Lingli Chen
@ 2023-04-21 2:43 ` Huang, ZhiminX
2023-04-24 1:29 ` Li, WeiyuanX
2023-04-26 3:02 ` lijuan.tu
2 siblings, 0 replies; 9+ messages in thread
From: Huang, ZhiminX @ 2023-04-21 2:43 UTC (permalink / raw)
To: Chen, LingliX, dts
> -----Original Message-----
> From: Chen, LingliX <linglix.chen@intel.com>
> Sent: Thursday, April 20, 2023 3:05 PM
> To: dts@dpdk.org
> Cc: Huang, ZhiminX <zhiminx.huang@intel.com>; Chen, LingliX
> <linglix.chen@intel.com>
> Subject: [dts][PATCH V1 5/5] tests/ddp_mpls: skip igb_uio cases
>
> skip DPDK PF + DPDK VF case, modify dts code to run pf case
>
> Signed-off-by: Lingli Chen <linglix.chen@intel.com>
> ---
Acked-by: Zhimin Huang <zhiminx.huang@intel.com >
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: [dts][PATCH V1 5/5] tests/ddp_mpls: skip igb_uio cases
2023-04-20 7:05 ` [dts][PATCH V1 5/5] tests/ddp_mpls: skip igb_uio cases Lingli Chen
2023-04-21 2:43 ` Huang, ZhiminX
@ 2023-04-24 1:29 ` Li, WeiyuanX
2023-04-26 3:02 ` lijuan.tu
2 siblings, 0 replies; 9+ messages in thread
From: Li, WeiyuanX @ 2023-04-24 1:29 UTC (permalink / raw)
To: Chen, LingliX, dts; +Cc: Huang, ZhiminX, Chen, LingliX
> -----Original Message-----
> From: Lingli Chen <linglix.chen@intel.com>
> Sent: Thursday, April 20, 2023 3:05 PM
> To: dts@dpdk.org
> Cc: Huang, ZhiminX <zhiminx.huang@intel.com>; Chen, LingliX
> <linglix.chen@intel.com>
> Subject: [dts][PATCH V1 5/5] tests/ddp_mpls: skip igb_uio cases
>
> skip DPDK PF + DPDK VF case, modify dts code to run pf case
>
> Signed-off-by: Lingli Chen <linglix.chen@intel.com>
> ---
Tested-by: Weiyuan Li <weiyuanx.li@intel.com>
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts][PATCH V1 5/5] tests/ddp_mpls: skip igb_uio cases
2023-04-20 7:05 ` [dts][PATCH V1 5/5] tests/ddp_mpls: skip igb_uio cases Lingli Chen
2023-04-21 2:43 ` Huang, ZhiminX
2023-04-24 1:29 ` Li, WeiyuanX
@ 2023-04-26 3:02 ` lijuan.tu
2 siblings, 0 replies; 9+ messages in thread
From: lijuan.tu @ 2023-04-26 3:02 UTC (permalink / raw)
To: dts, Lingli Chen; +Cc: zhiminx.huang, Lingli Chen
On Thu, 20 Apr 2023 03:05:06 -0400, Lingli Chen <linglix.chen@intel.com> wrote:
> skip DPDK PF + DPDK VF case, modify dts code to run pf case
>
> Signed-off-by: Lingli Chen <linglix.chen@intel.com>
Series applied, thanks
^ permalink raw reply [flat|nested] 9+ messages in thread