test suite reviews and discussions
 help / color / mirror / Atom feed
* [DTS][PATCH V2 0/3] update test plans and tests to support represented port action and port representor action from deprecated vf action in ice_dcf_acl_filter
@ 2022-12-02  3:27 Ke Xu
  2022-12-02  3:27 ` [DTS][PATCH V2 1/3] test_plans/ice_dcf_acl_filter: update test plan to support represented port action from deprecated vf action Ke Xu
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Ke Xu @ 2022-12-02  3:27 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, ke1.xu

A new API is introduced to replace the VF actions in DPDK 22.11.

New API covers deprecated TO_VF action on DCFs by port representor and
 represented port actions. These patches checks the existing use of vf id
 action and vf original action and replace them with new API.

Methods create_testpmd_command, launch_testpmd and common_process are
 updated to support appyling representor to the existing testpmd setup.

Testpmd args are modified to support appyling representors for the new API.

Rules are modified for the old API being deprecated, changing to the new API.

Ports id are modified corresponding to the port representors and modified API.

Duplicated whitespaces are removed and extra whitespaces are added to formate
 the document.

Jin Ling (3):
  test_plans/ice_dcf_acl_filter: update test plan to support represented
    port action from deprecated vf action
  test_plans/ice_dcf_acl_filter: remove redundant white space
  tests/ice_dcf_acl_filter: update test plan to support represented port
    action from deprecated vf action

 test_plans/ice_dcf_acl_filter_test_plan.rst |  74 ++++++-------
 tests/TestSuite_ice_dcf_acl_filter.py       | 110 +++++++++++---------
 2 files changed, 97 insertions(+), 87 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [DTS][PATCH V2 1/3] test_plans/ice_dcf_acl_filter: update test plan to support represented port action from deprecated vf action
  2022-12-02  3:27 [DTS][PATCH V2 0/3] update test plans and tests to support represented port action and port representor action from deprecated vf action in ice_dcf_acl_filter Ke Xu
@ 2022-12-02  3:27 ` Ke Xu
  2022-12-02  3:27 ` [DTS][PATCH V2 2/3] test_plans/ice_dcf_acl_filter: remove redundant white space Ke Xu
  2022-12-02  3:27 ` [DTS][PATCH V2 3/3] tests/ice_dcf_acl_filter: update test plan to support represented port action from deprecated vf action Ke Xu
  2 siblings, 0 replies; 5+ messages in thread
From: Ke Xu @ 2022-12-02  3:27 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, ke1.xu, Jin Ling

Testpmd args are modified to support appyling representors for the new API. Rules
 are modified for the old API being deprecated, changing to the new API. Ports id
 are modified corresponding to the port representors and modified API.

Signed-off-by: Jin Ling <jin.ling@intel.com>
Signed-off-by: Ke Xu <ke1.xu@intel.com>
---
 test_plans/ice_dcf_acl_filter_test_plan.rst | 64 ++++++++++-----------
 1 file changed, 32 insertions(+), 32 deletions(-)

diff --git a/test_plans/ice_dcf_acl_filter_test_plan.rst b/test_plans/ice_dcf_acl_filter_test_plan.rst
index a6d038a0..0e7427b6 100644
--- a/test_plans/ice_dcf_acl_filter_test_plan.rst
+++ b/test_plans/ice_dcf_acl_filter_test_plan.rst
@@ -1,5 +1,5 @@
 .. SPDX-License-Identifier: BSD-3-Clause
-   Copyright(c) 2020 Intel Corporation
+   Copyright(c) 2020-2022 Intel Corporation
 
 ==================
 ICE DCF ACL filter
@@ -90,7 +90,7 @@ Prerequisites
 
 or launch one testpmd on VF0 and VF1::
 
-    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:86:01.0,cap=dcf -a 86:01.1 --file-prefix=vf0 --log-level="ice,7" -- -i
+    ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:86:01.0,cap=dcf,representor=vf[1] -a 86:01.1 --file-prefix=vf0 --log-level="ice,7" -- -i
 
 Common steps of basic cases
 ===========================
@@ -134,9 +134,9 @@ Then the ACL filter can filter the packet with dst mac address.
 
 1. rule::
 
-    flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / end actions vf id 1 / end
-    flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / end actions vf id 1 / end
-    flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / end actions vf id 1 / end
+    flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / end actions represented_port ethdev_port_id 1 / end
     flow create 0 ingress pattern eth dst spec 00:11:22:33:44:55 dst mask ff:ff:ff:ff:ff:00 / ipv4 / end actions drop / end
 
 2. matched packets::
@@ -223,9 +223,9 @@ Subcase 6: src mac + dst mac + src ipv4 + dst ipv4(only 2port NIC support)
 --------------------------------------------------------------------------
 1. rule::
 
-    flow create 0 ingress pattern eth dst is 33:00:00:00:00:01 / ipv4 / end actions vf id 1 / end
-    flow create 0 ingress pattern eth dst is 33:00:00:00:00:02 / ipv4 / end actions vf id 1 / end
-    flow create 0 ingress pattern eth dst is 33:00:00:00:00:03 / ipv4 / end actions vf id 1 / end
+    flow create 0 ingress pattern eth dst is 33:00:00:00:00:01 / ipv4 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth dst is 33:00:00:00:00:02 / ipv4 / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth dst is 33:00:00:00:00:03 / ipv4 / end actions represented_port ethdev_port_id 1 / end
     flow create 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask ff:ff:ff:ff:ff:00 dst spec 33:00:00:00:00:02 dst mask ff:ff:ff:ff:ff:fe \
     / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 / end actions drop / end
 
@@ -277,9 +277,9 @@ Then the ACL filter can filter the packet with dst mac address.
 
 1. rule::
 
-    flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / tcp / end actions vf id 1 / end
-    flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / tcp / end actions vf id 1 / end
-    flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / tcp / end actions vf id 1 / end
+    flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end
     flow create 0 ingress pattern eth dst spec 00:11:22:33:44:55 dst mask ff:ff:ff:ff:ff:00 / ipv4 / tcp / end actions drop / end
 
 2. matched packets::
@@ -383,9 +383,9 @@ Subcase 8: src mac + dst mac + src ip + dst ip + src port + dst port(only 2ports
 ---------------------------------------------------------------------------------------------
 1. rule::
 
-    flow create 0 ingress pattern eth dst is 00:01:23:45:67:89 / ipv4 / tcp / end actions vf id 1 / end
-    flow create 0 ingress pattern eth dst is 5E:8E:8B:4D:89:06 / ipv4 / tcp / end actions vf id 1 / end
-    flow create 0 ingress pattern eth dst is 5E:8E:8B:4D:90:05 / ipv4 / tcp / end actions vf id 1 / end
+    flow create 0 ingress pattern eth dst is 00:01:23:45:67:89 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth dst is 5E:8E:8B:4D:89:06 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth dst is 5E:8E:8B:4D:90:05 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end
     flow create 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask ff:ff:ff:ff:ff:00 dst spec 00:01:23:45:67:89 dst mask ff:ff:ff:ff:00:ff \
     / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 \
     / tcp src spec 8010 src mask 65520 dst spec 8017 dst mask 65520 / end actions drop / end
@@ -878,15 +878,15 @@ Test Case 11: switch/acl/fdir/rss rules combination
 
 2. create rules::
 
-    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.20 / tcp / end actions vf id 1 / end
-    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.20 / tcp / end actions vf id 1 / end
-    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.3 dst is 192.168.0.20 / tcp / end actions vf id 1 / end
-    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.4 dst is 192.168.0.20 / tcp / end actions vf id 1 / end
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.20 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.20 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.3 dst is 192.168.0.20 / tcp / end actions represented_port ethdev_port_id 1 / end
+    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.4 dst is 192.168.0.20 / tcp / end actions represented_port ethdev_port_id 1 / end
     flow create 0 ingress pattern eth / ipv4 src spec 192.168.0.2 src mask 255.255.255.254 / tcp / end actions drop / end
     flow create 0 ingress pattern eth / ipv4 dst spec 192.168.0.21 dst mask 255.255.0.255 / tcp / end actions drop / end
-    flow create 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end
-    flow create 1 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end
-    flow create 1 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end
+    flow create 2 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end
+    flow create 2 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end
+    flow create 2 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end
 
 3. check the rule list::
 
@@ -898,7 +898,7 @@ Test Case 11: switch/acl/fdir/rss rules combination
     3       0       0       i--     ETH IPV4 TCP => VF
     4       0       0       i--     ETH IPV4 TCP => DROP
     5       0       0       i--     ETH IPV4 TCP => DROP
-    testpmd> flow list 1
+    testpmd> flow list 2
     ID      Group   Prio    Attr    Rule
     0       0       0       i--     ETH IPV4 TCP => QUEUE MARK
     1       0       0       i--     ETH IPV4 TCP => QUEUE MARK
@@ -915,14 +915,14 @@ Test Case 11: switch/acl/fdir/rss rules combination
     sendp(Ether(src="00:11:22:33:44:55", dst="00:01:23:45:67:89")/IP(src="192.168.1.1", dst="192.168.0.20")/TCP(sport=22,dport=23)/Raw(load="x"*30), iface="enp216s0f0")
     sendp(Ether(src="00:11:22:33:44:55", dst="00:01:23:45:67:89")/IP(src="192.168.1.1", dst="192.168.0.21")/TCP(sport=22,dport=23)/Raw(load="x"*30), iface="enp216s0f0")
 
-5. check packet 1 is received by port 1 and redirected to queue 3 with FDIR matched ID=0x0.
-   packet 2 is received by port 1 and distributed by RSS without mark ID.
-   packet 3 is dropped by port 1.
-   packet 4 is dropped by port 1.
-   packet 5 is received by port 1 and distributed by RSS without mark ID.
-   packet 6 is can't received by port 0 and port 1.
-   packet 7 is received by port 1 and redirected to queue 3 with FDIR matched ID=0x0.
-   packet 8 is dropped by port 1.
+5. check packet 1 is received by port 2 and redirected to queue 3 with FDIR matched ID=0x0.
+   packet 2 is received by port 2 and distributed by RSS without mark ID.
+   packet 3 is dropped by port 2.
+   packet 4 is dropped by port 2.
+   packet 5 is received by port 2 and distributed by RSS without mark ID.
+   packet 6 is can't received by port 0 and port 2.
+   packet 7 is received by port 2 and redirected to queue 3 with FDIR matched ID=0x0.
+   packet 8 is dropped by port 2.
 
 6. delete rule ID 4 from port 0 and list the rules::
 
@@ -941,5 +941,5 @@ Test Case 11: switch/acl/fdir/rss rules combination
     sendp(Ether(src="00:11:22:33:44:55", dst="00:01:23:45:67:88")/IP(src="192.168.0.2", dst="192.168.0.20")/TCP(sport=22,dport=23)/Raw(load="x"*30), iface="enp216s0f0")
     sendp(Ether(src="00:11:22:33:44:55", dst="00:01:23:45:67:88")/IP(src="192.168.0.3", dst="192.168.0.20")/TCP(sport=22,dport=23)/Raw(load="x"*30), iface="enp216s0f0")
 
-8. check packet 1 is received by port 1 and redirected to queue 3 with FDIR matched ID=0x0.
-   packet 2 is received by port 1 and distributed by RSS without mark ID.
+8. check packet 1 is received by port 2 and redirected to queue 3 with FDIR matched ID=0x0.
+   packet 2 is received by port 2 and distributed by RSS without mark ID.
-- 
2.25.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [DTS][PATCH V2 2/3] test_plans/ice_dcf_acl_filter: remove redundant white space
  2022-12-02  3:27 [DTS][PATCH V2 0/3] update test plans and tests to support represented port action and port representor action from deprecated vf action in ice_dcf_acl_filter Ke Xu
  2022-12-02  3:27 ` [DTS][PATCH V2 1/3] test_plans/ice_dcf_acl_filter: update test plan to support represented port action from deprecated vf action Ke Xu
@ 2022-12-02  3:27 ` Ke Xu
  2022-12-02  3:27 ` [DTS][PATCH V2 3/3] tests/ice_dcf_acl_filter: update test plan to support represented port action from deprecated vf action Ke Xu
  2 siblings, 0 replies; 5+ messages in thread
From: Ke Xu @ 2022-12-02  3:27 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, ke1.xu, Jin Ling

Signed-off-by: Jin Ling <jin.ling@intel.com>
Signed-off-by: Ke Xu <ke1.xu@intel.com>
---
 test_plans/ice_dcf_acl_filter_test_plan.rst | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/test_plans/ice_dcf_acl_filter_test_plan.rst b/test_plans/ice_dcf_acl_filter_test_plan.rst
index 0e7427b6..47f39660 100644
--- a/test_plans/ice_dcf_acl_filter_test_plan.rst
+++ b/test_plans/ice_dcf_acl_filter_test_plan.rst
@@ -522,14 +522,14 @@ while we can create 256 ipv4-udp/ipv4-tcp/ipv4-sctp rules at most.
     sendp([Ether(dst="00:01:23:45:67:89")/IP(src="192.168.1.0", dst="192.168.100.2")/UDP(sport=8010,dport=8017)/Raw(load='X'*30)], iface="enp134s0f1")
 
    check the packet can't be received by VF1. stop the forward::
- 
+
     ---------------------- Forward statistics for port 1  ----------------------
     RX-packets: 0              RX-dropped: 0             RX-total: 0
     TX-packets: 0              TX-dropped: 0             TX-total: 0
     ----------------------------------------------------------------------------
 
 8. delete the rule 256 and 257::
- 
+
     flow destroy 0 rule 256
     flow destroy 0 rule 257
 
@@ -542,7 +542,7 @@ while we can create 256 ipv4-udp/ipv4-tcp/ipv4-sctp rules at most.
 9. create the rule in the step6 again,
    check the rule can be created as acl rule successfully.
    list the rules, there are rule 0-256 listed.
- 
+
 10.send packet2 again, check the packet dropped. stop the forward::
 
     ---------------------- Forward statistics for port 1  ----------------------
@@ -565,7 +565,7 @@ Test Case 6: max entry number ipv4-other
     flow create 0 ingress pattern eth / ipv4 src spec 192.168.0.1 src mask 255.255.255.255 / end actions drop / end
 
 3. create 64 ipv4-other ACL rules::
- 
+
     flow create 0 ingress pattern eth / ipv4 src spec 192.168.1.1 src mask 255.255.0.255 / end actions drop / end
     flow create 0 ingress pattern eth / ipv4 src spec 192.168.1.2 src mask 255.255.0.255 / end actions drop / end
     flow create 0 ingress pattern eth / ipv4 src spec 192.168.1.3 src mask 255.255.0.255 / end actions drop / end
@@ -599,12 +599,12 @@ Test Case 6: max entry number ipv4-other
     sendp([Ether(dst="00:01:23:45:67:89")/IP(src="192.168.0.2", dst="192.168.1.2")/Raw(load='X'*30)], iface="enp134s0f1")
 
    check the packet can't be received by vf1. stop forward::
- 
+
     ---------------------- Forward statistics for port 1  ----------------------
     RX-packets: 0              RX-dropped: 0             RX-total: 0
     TX-packets: 0              TX-dropped: 0             TX-total: 0
     ----------------------------------------------------------------------------
- 
+
 8. delete the rule 64 and 65::
 
     flow destroy 0 rule 64
-- 
2.25.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [DTS][PATCH V2 3/3] tests/ice_dcf_acl_filter: update test plan to support represented port action from deprecated vf action
  2022-12-02  3:27 [DTS][PATCH V2 0/3] update test plans and tests to support represented port action and port representor action from deprecated vf action in ice_dcf_acl_filter Ke Xu
  2022-12-02  3:27 ` [DTS][PATCH V2 1/3] test_plans/ice_dcf_acl_filter: update test plan to support represented port action from deprecated vf action Ke Xu
  2022-12-02  3:27 ` [DTS][PATCH V2 2/3] test_plans/ice_dcf_acl_filter: remove redundant white space Ke Xu
@ 2022-12-02  3:27 ` Ke Xu
  2022-12-13  6:10   ` lijuan.tu
  2 siblings, 1 reply; 5+ messages in thread
From: Ke Xu @ 2022-12-02  3:27 UTC (permalink / raw)
  To: dts; +Cc: lijuan.tu, ke1.xu, Jin Ling

Methods create_testpmd_command, launch_testpmd and common_process are updated to
 support appyling representor to the existing testpmd setup.

Testpmd args are modified to support appyling representors for the new API. Rules
 are modified for the old API being deprecated, changing to the new API. Ports id
 are modified corresponding to the port representors and modified API.

Signed-off-by: Jin Ling <jin.ling@intel.com>
Signed-off-by: Ke Xu <ke1.xu@intel.com>
---
 tests/TestSuite_ice_dcf_acl_filter.py | 112 ++++++++++++++------------
 1 file changed, 61 insertions(+), 51 deletions(-)

diff --git a/tests/TestSuite_ice_dcf_acl_filter.py b/tests/TestSuite_ice_dcf_acl_filter.py
index 4fcca800..3fb0b163 100644
--- a/tests/TestSuite_ice_dcf_acl_filter.py
+++ b/tests/TestSuite_ice_dcf_acl_filter.py
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: BSD-3-Clause
-# Copyright(c) 2020 Intel Corporation
+# Copyright(c) 2020-2022 Intel Corporation
 #
 
 import copy
@@ -540,9 +540,9 @@ tv_mac_ipv4_pay_src_mac = {
 tv_mac_ipv4_pay_dst_mac = {
     "name": "test_mac_ipv4_pay_dst_mac",
     "rules": [
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / end actions vf id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
         "flow create 0 ingress pattern eth dst spec 00:11:22:33:44:55 dst mask ff:ff:ff:ff:ff:00 / ipv4 / end actions drop / end",
     ],
     "scapy_str": MAC_IPV4_PAY_DST_MAC,
@@ -573,9 +573,9 @@ tv_mac_ipv4_pay_src_dst_ip = {
 tv_mac_ipv4_pay_src_dst_mac_src_dst_ip = {
     "name": "test_mac_ipv4_pay_src_dst_mac_src_dst_ip",
     "rules": [
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:01 / ipv4 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:02 / ipv4 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:03 / ipv4 / end actions vf id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:01 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:02 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:03 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
         "flow create 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask ff:ff:ff:ff:ff:00 dst spec 33:00:00:00:00:02 dst mask ff:ff:ff:ff:ff:fe / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 / end actions drop / end",
     ],
     "scapy_str": MAC_IPV4_PAY_SRC_DST_MAC_SRC_DST_IP,
@@ -592,9 +592,9 @@ tv_mac_ipv4_tcp_src_mac = {
 tv_mac_ipv4_tcp_dst_mac = {
     "name": "test_mac_ipv4_tcp_dst_mac",
     "rules": [
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / tcp / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / tcp / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / tcp / end actions vf id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / tcp / end actions represented_port ethdev_port_id 1 / end",
         "flow create 0 ingress pattern eth dst spec 00:11:22:33:44:55 dst mask ff:ff:ff:ff:ff:00 / ipv4 / tcp / end actions drop / end",
     ],
     "scapy_str": MAC_IPV4_TCP_DST_MAC,
@@ -639,9 +639,9 @@ tv_mac_ipv4_tcp_src_dst_ip_src_dst_port = {
 tv_mac_ipv4_tcp_src_dst_mac_src_dst_ip_src_dst_port = {
     "name": "test_mac_ipv4_tcp_src_dst_mac_src_dst_ip_src_dst_port",
     "rules": [
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:01 / ipv4 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:02 / ipv4 / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:03 / ipv4 / end actions vf id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:01 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:02 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:03 / ipv4 / end actions represented_port ethdev_port_id 1 / end",
         "flow create 0 priority 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask ff:ff:ff:ff:ff:00 dst spec 33:00:00:00:00:02 dst mask ff:ff:ff:ff:ff:fe / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 / tcp src spec 8010 src mask 65520 dst spec 8017 dst mask 65520 / end actions drop / end",
     ],
     "scapy_str": MAC_IPV4_TCP_SRC_DST_MAC_SRC_DST_IP_SRC_DST_PORT,
@@ -658,9 +658,9 @@ tv_mac_ipv4_udp_src_mac = {
 tv_mac_ipv4_udp_dst_mac = {
     "name": "test_mac_ipv4_udp_dst_mac",
     "rules": [
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / udp / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / udp / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / udp / end actions vf id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:44:66 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 00:11:22:33:66:55 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end",
         "flow create 0 ingress pattern eth dst spec 00:11:22:33:44:55 dst mask ff:ff:ff:ff:ff:00 / ipv4 / udp / end actions drop / end",
     ],
     "scapy_str": MAC_IPV4_UDP_DST_MAC,
@@ -705,9 +705,9 @@ tv_mac_ipv4_udp_src_dst_ip_src_dst_port = {
 tv_mac_ipv4_udp_src_dst_mac_src_dst_ip_src_dst_port = {
     "name": "test_mac_ipv4_udp_src_dst_mac_src_dst_ip_src_dst_port",
     "rules": [
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:01 / ipv4 / udp / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:02 / ipv4 / udp / end actions vf id 1 / end",
-        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:03 / ipv4 / udp / end actions vf id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:01 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:02 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end",
+        "flow create 0 ingress pattern eth dst is 33:00:00:00:00:03 / ipv4 / udp / end actions represented_port ethdev_port_id 1 / end",
         "flow create 0 priority 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask ff:ff:ff:ff:ff:00 dst spec 33:00:00:00:00:03 dst mask ff:ff:ff:ff:ff:fe / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 / udp src spec 8010 src mask 65520 dst spec 8017 dst mask 65520 / end actions drop / end",
     ],
     "scapy_str": MAC_IPV4_UDP_SRC_DST_MAC_SRC_DST_IP_SRC_DST_PORT,
@@ -930,28 +930,36 @@ class ICEDCFACLFilterTest(TestCase):
         Run before each test case.
         """
 
-    def create_testpmd_command(self, param):
+    def create_testpmd_command(self, param="", repre_vf=False):
         """
         Create testpmd command
         """
-        # Prepare testpmd EAL and parameters
-        all_eal_param = self.dut.create_eal_parameters(
-            cores="1S/4C/1T",
-            ports=[self.vf0_pci, self.vf1_pci],
-            port_options={self.vf0_pci: "cap=dcf"},
-        )
+        if repre_vf:
+            all_eal_param = self.dut.create_eal_parameters(
+                cores="1S/4C/1T",
+                ports=[self.vf0_pci, self.vf1_pci],
+                port_options={self.vf0_pci: "cap=dcf,representor=vf[1]"},
+            )
+        else:
+            # Prepare testpmd EAL and parametes
+            all_eal_param = self.dut.create_eal_parameters(
+                cores="1S/4C/1T",
+                ports=[self.vf0_pci, self.vf1_pci],
+                port_options={self.vf0_pci: "cap=dcf"},
+            )
         command = self.path + all_eal_param + "--log-level='ice,7'" + " -- -i" + param
         return command
 
-    def launch_testpmd(self, param=""):
+    def launch_testpmd(self, param="", repre_vf=False):
         """
         launch testpmd with the command
         """
         time.sleep(5)
-        command = self.create_testpmd_command(param)
+        command = self.create_testpmd_command(param, repre_vf)
+        port_id = 2 if repre_vf else 1
         out = self.dut.send_expect(command, "testpmd> ", 20)
         self.testpmd_status = "running"
-        self.dut.send_expect("set portlist 1", "testpmd> ", 15)
+        self.dut.send_expect("set portlist {}".format(port_id), "testpmd> ", 15)
         self.dut.send_expect("set fwd rxonly", "testpmd> ", 15)
         self.dut.send_expect("set verbose 1", "testpmd> ", 15)
         self.pmd_output.execute_cmd("start")
@@ -1115,15 +1123,17 @@ class ICEDCFACLFilterTest(TestCase):
         else:
             return destroy_list
 
-    def common_process(self, vectors, launch_testpmd=True):
+    def common_process(self, vectors, launch_testpmd=True, repre_vf=False):
 
         if launch_testpmd:
             # launch testpmd
-            self.launch_testpmd()
+            self.launch_testpmd(repre_vf=repre_vf)
 
         test_results = {}
         for test_vector in vectors:
             try:
+                if repre_vf:
+                    test_vector["check_param"]["port_id"] = 2
                 self.dut.send_expect("flow flush 0", "testpmd> ", 120)
 
                 # create a rule
@@ -1169,19 +1179,19 @@ class ICEDCFACLFilterTest(TestCase):
         if self.nic == "ICE_25G-E810C_SFP":
             self.common_process(vectors_ipv4_pay_4ports)
         else:
-            self.common_process(vectors_ipv4_pay_2ports)
+            self.common_process(vectors_ipv4_pay_2ports, repre_vf=True)
 
     def test_mac_ipv4_tcp(self):
         if self.nic == "ICE_25G-E810C_SFP":
             self.common_process(vectors_ipv4_tcp_4ports)
         else:
-            self.common_process(vectors_ipv4_tcp_2ports)
+            self.common_process(vectors_ipv4_tcp_2ports, repre_vf=True)
 
     def test_mac_ipv4_udp(self):
         if self.nic == "ICE_25G-E810C_SFP":
             self.common_process(vectors_ipv4_udp_4ports)
         else:
-            self.common_process(vectors_ipv4_udp_2ports)
+            self.common_process(vectors_ipv4_udp_2ports, repre_vf=True)
 
     def test_mac_ipv4_sctp(self):
         if self.nic == "ICE_25G-E810C_SFP":
@@ -1289,7 +1299,7 @@ class ICEDCFACLFilterTest(TestCase):
 
         # start testpmd with creating 512 ACL rules
         param = " --cmdline-file=%s" % (self.dut_file_dir + src_file)
-        out_testpmd = self.launch_testpmd(param)
+        out_testpmd = self.launch_testpmd(param=param)
         self.check_dcf_status(out_testpmd, stats=True)
         rule_list = self.dut.send_expect("flow list 0", "testpmd> ", 15)
         self.verify("159" in rule_list, "160 rules failed to be created")
@@ -1341,7 +1351,7 @@ class ICEDCFACLFilterTest(TestCase):
 
         # start testpmd with creating 255 ACL rules
         param = " --cmdline-file=%s" % (self.dut_file_dir + src_file)
-        out_testpmd = self.launch_testpmd(param)
+        out_testpmd = self.launch_testpmd(param=param)
         self.check_dcf_status(out_testpmd, stats=True)
         rule_list = self.dut.send_expect("flow list 0", "testpmd> ", 15)
         self.verify("254" in rule_list, "255 rules failed to be created")
@@ -1636,23 +1646,23 @@ class ICEDCFACLFilterTest(TestCase):
         create switch, acl and fdir rules simultaneously.
         """
         param = " --rxq=16 --txq=16"
-        out_testpmd = self.launch_testpmd(param)
+        out_testpmd = self.launch_testpmd(repre_vf=True, param=param)
         self.check_dcf_status(out_testpmd, stats=True)
         rules = {
             "switch": [
-                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.20 / tcp / end actions vf id 1 / end",
-                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.20 / tcp / end actions vf id 1 / end",
-                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.3 dst is 192.168.0.20 / tcp / end actions vf id 1 / end",
-                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.4 dst is 192.168.0.20 / tcp / end actions vf id 1 / end",
+                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.20 / tcp / end actions represented_port ethdev_port_id 1 / end",
+                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.20 / tcp / end actions represented_port ethdev_port_id 1 / end",
+                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.3 dst is 192.168.0.20 / tcp / end actions represented_port ethdev_port_id 1 / end",
+                "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.4 dst is 192.168.0.20 / tcp / end actions represented_port ethdev_port_id 1 / end",
             ],
             "acl": [
                 "flow create 0 ingress pattern eth / ipv4 src spec 192.168.0.2 src mask 255.255.255.254 / tcp / end actions drop / end",
                 "flow create 0 ingress pattern eth / ipv4 dst spec 192.168.0.21 dst mask 255.255.0.255 / tcp / end actions drop / end",
             ],
             "fdir": [
-                "flow create 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end",
-                "flow create 1 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end",
-                "flow create 1 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end",
+                "flow create 2 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end",
+                "flow create 2 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end",
+                "flow create 2 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 192.168.0.20 / tcp src is 22 dst is 23 / end actions queue index 3 / mark / end",
             ],
         }
         switch_rule_list = self.create_other_filter_rule(
@@ -1662,7 +1672,7 @@ class ICEDCFACLFilterTest(TestCase):
         acl_rule_list = self.create_acl_filter_rule(rules["acl"], check_stats=True)
         self.check_filter_rule_list(0, switch_rule_list + acl_rule_list)
         fdir_rule_list = self.create_other_filter_rule(rules["fdir"], check_stats=True)
-        self.check_filter_rule_list(1, fdir_rule_list)
+        self.check_filter_rule_list(2, fdir_rule_list)
 
         packets = {
             "drop": [
@@ -1687,7 +1697,7 @@ class ICEDCFACLFilterTest(TestCase):
         rfc.check_drop(
             out_drop,
             pkt_num=len(packets["drop"]),
-            check_param={"port_id": 1, "drop": 1},
+            check_param={"port_id": 2, "drop": 1},
             stats=True,
         )
 
@@ -1695,19 +1705,19 @@ class ICEDCFACLFilterTest(TestCase):
         rfc.check_iavf_fdir_mark(
             out_mark,
             pkt_num=len(packets["mark"]),
-            check_param={"port_id": 1, "queue": 3, "mark_id": 0},
+            check_param={"port_id": 2, "queue": 3, "mark_id": 0},
         )
 
         out_rss = self.send_pkts_getouput(pkts=packets["rss"])
         rfc.check_iavf_fdir_mark(
             out_rss,
             pkt_num=len(packets["rss"]),
-            check_param={"port_id": 1, "passthru": 1},
+            check_param={"port_id": 2, "passthru": 1},
         )
 
         out_noreceived = self.send_pkts_getouput(pkts=packets["noreceived"])
         rfc.check_iavf_fdir_mark(
-            out_noreceived, pkt_num=0, check_param={"port_id": 1, "passthru": 1}
+            out_noreceived, pkt_num=0, check_param={"port_id": 2, "passthru": 1}
         )
 
         self.dut.send_expect("flow destroy 0 rule 4", "testpmd> ", 15)
@@ -1719,12 +1729,12 @@ class ICEDCFACLFilterTest(TestCase):
 
         out_mark = self.send_pkts_getouput(pkts=packets["mark"])
         rfc.check_iavf_fdir_mark(
-            out_mark, pkt_num=1, check_param={"port_id": 1, "queue": 3, "mark_id": 0}
+            out_mark, pkt_num=1, check_param={"port_id": 2, "queue": 3, "mark_id": 0}
         )
 
         out_rss = self.send_pkts_getouput(pkts=packets["rss"])
         rfc.check_iavf_fdir_mark(
-            out_rss, pkt_num=1, check_param={"port_id": 1, "passthru": 1}
+            out_rss, pkt_num=1, check_param={"port_id": 2, "passthru": 1}
         )
 
     def check_dcf_status(self, out_testpmd, stats=True):
-- 
2.25.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [DTS][PATCH V2 3/3] tests/ice_dcf_acl_filter: update test plan to support represented port action from deprecated vf action
  2022-12-02  3:27 ` [DTS][PATCH V2 3/3] tests/ice_dcf_acl_filter: update test plan to support represented port action from deprecated vf action Ke Xu
@ 2022-12-13  6:10   ` lijuan.tu
  0 siblings, 0 replies; 5+ messages in thread
From: lijuan.tu @ 2022-12-13  6:10 UTC (permalink / raw)
  To: dts, Ke Xu; +Cc: lijuan.tu, ke1.xu, Jin Ling

On Fri,  2 Dec 2022 11:27:31 +0800, Ke Xu <ke1.xu@intel.com> wrote:
> Methods create_testpmd_command, launch_testpmd and common_process are updated to
>  support appyling representor to the existing testpmd setup.
> 
> Testpmd args are modified to support appyling representors for the new API. Rules
>  are modified for the old API being deprecated, changing to the new API. Ports id
>  are modified corresponding to the port representors and modified API.
> 
> Signed-off-by: Jin Ling <jin.ling@intel.com>
> Signed-off-by: Ke Xu <ke1.xu@intel.com>

Acked-by: Lijuan Tu <lijuan.tu@intel.com>
Series applied, thanks

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-12-13  6:10 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-12-02  3:27 [DTS][PATCH V2 0/3] update test plans and tests to support represented port action and port representor action from deprecated vf action in ice_dcf_acl_filter Ke Xu
2022-12-02  3:27 ` [DTS][PATCH V2 1/3] test_plans/ice_dcf_acl_filter: update test plan to support represented port action from deprecated vf action Ke Xu
2022-12-02  3:27 ` [DTS][PATCH V2 2/3] test_plans/ice_dcf_acl_filter: remove redundant white space Ke Xu
2022-12-02  3:27 ` [DTS][PATCH V2 3/3] tests/ice_dcf_acl_filter: update test plan to support represented port action from deprecated vf action Ke Xu
2022-12-13  6:10   ` lijuan.tu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).