[V1,2/2] tests/l3fwdacl: merge l3fwd-acl with l3fwd and fix to support different force-max-simd-bitwidth

Message ID 20220615124821.1582235-3-yux.jiang@intel.com (mailing list archive)
State Accepted
Headers
Series l3fwdacl: merge l3fwd-acl with l3fwd |

Checks

Context Check Description
ci/Intel-dts-format-test success Testing OK
ci/Intel-dts-pylama-test success Testing OK
ci/Intel-dts-doc-test success Testing OK
ci/Intel-dts-suite-test success Testing OK

Commit Message

Yu Jiang June 15, 2022, 12:48 p.m. UTC
  1, According to dpdk22.07rc1 commit id 6de0ea50e("examples/l3fwd: merge l3fwd-acl example"),
modify l3fwdacl suite.
2, Since DTS commit "7eaf4b60 tests/l3fwdacl: modify pmd param for acl" has incorrect usage,
 fix script to support different rx_mode.

Signed-off-by: Lingli Chen <linglix.chen@intel.com>
Signed-off-by: Yu Jiang <yux.jiang@intel.com>
---
 conf/app_name.cfg           |  3 +--
 tests/TestSuite_l3fwdacl.py | 49 ++++++++++++++++++++++---------------
 2 files changed, 30 insertions(+), 22 deletions(-)
  

Comments

Lingli Chen June 15, 2022, 8:52 a.m. UTC | #1
> -----Original Message-----
> From: Jiang, YuX <yux.jiang@intel.com>
> Sent: Wednesday, June 15, 2022 8:48 PM
> To: Tu, Lijuan <lijuan.tu@intel.com>; dts@dpdk.org
> Cc: Jiang, YuX <yux.jiang@intel.com>; Chen, LingliX <linglix.chen@intel.com>
> Subject: [dts][PATCH V1 2/2] tests/l3fwdacl: merge l3fwd-acl with l3fwd and fix
> to support different force-max-simd-bitwidth
> 
> 1, According to dpdk22.07rc1 commit id 6de0ea50e("examples/l3fwd: merge
> l3fwd-acl example"), modify l3fwdacl suite.
> 2, Since DTS commit "7eaf4b60 tests/l3fwdacl: modify pmd param for acl" has
> incorrect usage,  fix script to support different rx_mode.
> 
> Signed-off-by: Lingli Chen <linglix.chen@intel.com>
> Signed-off-by: Yu Jiang <yux.jiang@intel.com>

Tested-by: Lingli Chen <linglix.chen@intel.com>
  
Tu, Lijuan June 15, 2022, 9:07 a.m. UTC | #2
On Wed, 15 Jun 2022 12:48:21 +0000, Yu Jiang <yux.jiang@intel.com> wrote:
> 1, According to dpdk22.07rc1 commit id 6de0ea50e("examples/l3fwd: merge l3fwd-acl example"),
> modify l3fwdacl suite.
> 2, Since DTS commit "7eaf4b60 tests/l3fwdacl: modify pmd param for acl" has incorrect usage,
>  fix script to support different rx_mode.
> 
> Signed-off-by: Lingli Chen <linglix.chen@intel.com>
> Signed-off-by: Yu Jiang <yux.jiang@intel.com>


Series applied, thanks
  
Tu, Lijuan June 21, 2022, 7:13 a.m. UTC | #3
On Wed, 15 Jun 2022 12:48:21 +0000, Yu Jiang <yux.jiang@intel.com> wrote:
> 1, According to dpdk22.07rc1 commit id 6de0ea50e("examples/l3fwd: merge l3fwd-acl example"),
> modify l3fwdacl suite.
> 2, Since DTS commit "7eaf4b60 tests/l3fwdacl: modify pmd param for acl" has incorrect usage,
>  fix script to support different rx_mode.
> 
> Signed-off-by: Lingli Chen <linglix.chen@intel.com>
> Signed-off-by: Yu Jiang <yux.jiang@intel.com>


Series applied, thanks
  

Patch

diff --git a/conf/app_name.cfg b/conf/app_name.cfg
index 5d3244da..84f65c92 100644
--- a/conf/app_name.cfg
+++ b/conf/app_name.cfg
@@ -37,7 +37,6 @@  l2fwd-event=target/examples/dpdk-l2fwd-event
 l2fwd-jobstats=target/examples/dpdk-l2fwd-jobstats
 l2fwd-keepalive=target/examples/dpdk-l2fwd-keepalive
 l3fwd=target/examples/dpdk-l3fwd
-l3fwd-acl=target/examples/dpdk-l3fwd-acl
 l3fwd-power=target/examples/dpdk-l3fwd-power
 link_status_interrupt=target/examples/dpdk-link_status_interrupt
 ntb=target/examples/dpdk-ntb
@@ -68,4 +67,4 @@  node=target/examples/dpdk-efd_node
 server=target/examples/dpdk-efd_server
 testpmd_vf=target/app/dpdk-testpmd-vf
 vm_power_manager=target/examples/dpdk-vm_power_manager
-guest_cli=target/examples/dpdk-guest_cli
\ No newline at end of file
+guest_cli=target/examples/dpdk-guest_cli
diff --git a/tests/TestSuite_l3fwdacl.py b/tests/TestSuite_l3fwdacl.py
index 0876b978..58e23886 100644
--- a/tests/TestSuite_l3fwdacl.py
+++ b/tests/TestSuite_l3fwdacl.py
@@ -355,7 +355,7 @@  class TestL3fwdacl(TestCase):
             extra_args = '--alg="scalar"'
 
         cmdline = (
-            '%s %s -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" %s'
+            '%s %s -- -p %s --lookup acl --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" %s --parse-ptype'
             % (
                 self.app_l3fwd_acl_path,
                 self.eal_para,
@@ -447,6 +447,9 @@  class TestL3fwdacl(TestCase):
         """
         tx_interface = self.tester.get_interface(tx_port)
         rx_interface = self.tester.get_interface(rx_port)
+        # wait tester's interface up
+        for intfx in [tx_interface, rx_interface]:
+            self.tester.is_interface_up(intf=intfx)
         if rule["sIpAddr"] != "ALL":
             rule["sIpAddr"] = self.create_ipv4_ip_not_match(rule["sIpAddr"])
         if rule["dIpAddr"] != "ALL":
@@ -478,6 +481,9 @@  class TestL3fwdacl(TestCase):
         """
         tx_interface = self.tester.get_interface(tx_port)
         rx_interface = self.tester.get_interface(rx_port)
+        # wait tester's interface up
+        for intfx in [tx_interface, rx_interface]:
+            self.tester.is_interface_up(intf=intfx)
         if rule["sIpAddr"] != "ALL":
             rule["sIpAddr"] = self.create_ipv6_ip_not_match(rule["sIpAddr"])
         if rule["dIpAddr"] != "ALL":
@@ -499,7 +505,6 @@  class TestL3fwdacl(TestCase):
         pkt = packet.Packet()
         pkt.append_pkt(ethernet_str)
         pkt.send_pkt(crb=self.tester, tx_port=tx_interface, timeout=30)
-
         out = self.remove_dhcp_from_revpackets(inst)
         return len(out)
 
@@ -509,6 +514,9 @@  class TestL3fwdacl(TestCase):
         """
         tx_interface = self.tester.get_interface(tx_port)
         rx_interface = self.tester.get_interface(rx_port)
+        # wait tester's interface up
+        for intfx in [tx_interface, rx_interface]:
+            self.tester.is_interface_up(intf=intfx)
         etherStr = self.create_ipv4_rule_string(rule, "Ether")
 
         dst_filter = {"layer": "ether", "config": {"dst": "not ff:ff:ff:ff:ff:ff"}}
@@ -526,6 +534,9 @@  class TestL3fwdacl(TestCase):
         """
         tx_interface = self.tester.get_interface(tx_port)
         rx_interface = self.tester.get_interface(rx_port)
+        # wait tester's interface up
+        for intfx in [tx_interface, rx_interface]:
+            self.tester.is_interface_up(intf=intfx)
         etherStr = self.create_ipv6_rule_string(rule, "Ether")
 
         fil = [{"layer": "ether", "config": {"dst": "not ff:ff:ff:ff:ff:ff"}}]
@@ -533,7 +544,6 @@  class TestL3fwdacl(TestCase):
         pkt = packet.Packet()
         pkt.append_pkt(etherStr)
         pkt.send_pkt(crb=self.tester, tx_port=tx_interface, timeout=30)
-
         out = self.remove_dhcp_from_revpackets(inst)
         return len(out)
 
@@ -807,7 +817,7 @@  class TestL3fwdacl(TestCase):
         self.create_acl_ipv4_db(rule_list)
 
         cmdline = (
-            '%s %s -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s"'
+            '%s %s -- -p %s --lookup acl --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" --parse-ptype'
             % (
                 self.app_l3fwd_acl_path,
                 self.eal_para,
@@ -834,7 +844,7 @@  class TestL3fwdacl(TestCase):
         self.create_acl_ipv6_db(rule_list)
 
         cmdline = (
-            '%s %s -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s"'
+            '%s %s -- -p %s --lookup acl --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" --parse-ptype'
             % (
                 self.app_l3fwd_acl_path,
                 self.eal_para,
@@ -867,14 +877,17 @@  class TestL3fwdacl(TestCase):
         cores = self.get_core_list()
         self.verify(cores is not None, "Insufficient cores for speed testing")
 
-        self.eal_para = self.dut.create_eal_parameters(
-            cores=self.get_core_list(), other_eal_param="force-max-simd-bitwidth"
-        )
+        self.eal_para = self.dut.create_eal_parameters(cores=self.get_core_list())
         self.core_mask = utils.create_mask(cores)
         print("Core mask: %s" % self.core_mask)
-
-        if self.dut.dpdk_version >= "20.11.0":
-            self.eal_para += " --force-max-simd-bitwidth=0"
+        # When execution.cfg set rx_mode=xxx, it should have priority.
+        print("eal_para = {}".format(self.eal_para))
+        if "force-max-simd-bitwidth" in self.eal_para:
+            pass
+        else:
+            # DTS commit 68bb1b92("tests/l3fwdacl: try to use highest available method") when dpdk > 20.11.0 by konstantin.ananyev@intel.com
+            if self.dut.dpdk_version >= "20.11.0":
+                self.eal_para += " --force-max-simd-bitwidth=0"
 
         valid_ports = [port for port in ports if self.tester.get_local_port(port) != -1]
         self.verify(
@@ -889,11 +902,8 @@  class TestL3fwdacl(TestCase):
 
         TestL3fwdacl.default_rule["Port"] = self.dut_ports[1]
 
-        # compile l3fwd-acl
-        out = self.dut.build_dpdk_apps("examples/l3fwd-acl")
-        self.app_l3fwd_acl_path = self.dut.apps_name["l3fwd-acl"]
-        self.verify("Error" not in out, "compilation error 1")
-        self.verify("No such file" not in out, "compilation error 2")
+        # dpdk22.07-rc1 commit 6de0ea50("examples/l3fwd: merge l3fwd-acl example"), compile l3fwd example.
+        self.app_l3fwd_acl_path = self.dut.build_dpdk_apps("examples/l3fwd")
 
     def test_l3fwdacl_acl_rule(self):
         """
@@ -1025,8 +1035,7 @@  class TestL3fwdacl(TestCase):
             TestL3fwdacl.lpm_rule_list_ipv6[1], tx_port, rx_port
         )
 
-        self.dut.send_expect("^C", "#", 20)
-
+        self.dut.send_expect("^C", "#", 30)
         self.verify(out1 >= 1, "Rx port0 not receive expected packet")
         self.verify(out2 >= 1, "Rx port1 not receive expected packet")
 
@@ -1103,7 +1112,7 @@  class TestL3fwdacl(TestCase):
         self.create_acl_ipv4_db(rule_list_ipv4)
 
         cmdline = (
-            '%s %s -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" --alg="scalar"'
+            '%s %s -- -p %s --lookup acl --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" --alg="scalar" --parse-ptype'
             % (
                 self.app_l3fwd_acl_path,
                 self.eal_para,
@@ -1123,7 +1132,7 @@  class TestL3fwdacl(TestCase):
         self.create_acl_ipv6_db(rule_list_ipv6)
 
         cmdline = (
-            '%s %s -- -p %s --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" --alg="scalar"'
+            '%s %s -- -p %s --lookup acl --config="(%d,0,2),(%d,0,3)" --rule_ipv4="%s" --rule_ipv6="%s" --alg="scalar" --parse-ptype'
             % (
                 self.app_l3fwd_acl_path,
                 self.eal_para,