change 128 profiles case due to dpdk code update

Message ID 1599036748-32869-1-git-send-email-yuan.peng@intel.com (mailing list archive)
State Accepted
Headers
Series change 128 profiles case due to dpdk code update |

Commit Message

Peng, Yuan Sept. 2, 2020, 8:52 a.m. UTC
  iavf_fdir test plan and script update due to DPDK code update:
if there is not corresponding rule existing, the profile will be
deleted.

Signed-off-by: Peng Yuan <yuan.peng@intel.com>
  

Comments

Tu, Lijuan Sept. 2, 2020, 3:28 a.m. UTC | #1
> Subject: [dts] [PATCH] change 128 profiles case due to dpdk code update
> 
> iavf_fdir test plan and script update due to DPDK code update:
> if there is not corresponding rule existing, the profile will be deleted.
> 
> Signed-off-by: Peng Yuan <yuan.peng@intel.com>

Applied
  
Yu, PingX Sept. 2, 2020, 5:24 a.m. UTC | #2
Tested-by: Yu, PingX <PingX.Yu@intel.com>

Regards,
Yu Ping

> -----Original Message-----
> From: dts <dts-bounces@dpdk.org> On Behalf Of Peng Yuan
> Sent: Wednesday, September 2, 2020 4:52 PM
> To: dts@dpdk.org
> Cc: Peng, Yuan <yuan.peng@intel.com>
> Subject: [dts] [PATCH] change 128 profiles case due to dpdk code update
> 
> iavf_fdir test plan and script update due to DPDK code update:
> if there is not corresponding rule existing, the profile will be deleted.
> 
> Signed-off-by: Peng Yuan <yuan.peng@intel.com>
> 
> diff --git a/test_plans/iavf_fdir_test_plan.rst
> b/test_plans/iavf_fdir_test_plan.rst
> index 82e2c2d2..feec2bb5 100644
> --- a/test_plans/iavf_fdir_test_plan.rst
> +++ b/test_plans/iavf_fdir_test_plan.rst
> @@ -3972,7 +3972,7 @@ Subcase 5: 128 profiles
> 
>      ./testpmd -c 0xf -n 6 --file-prefix=vf -- -i --rxq=4 --txq=4
> 
> -2. create 10 rules with different patterns on each port::
> +2. create 8 rules with different patterns on each port::
> 
>      flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is
> 192.168.0.21 / udp src is 22 dst is 23 / end actions queue index 1 / mark / end
>      flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is
> 192.168.0.21 / tcp src is 22 dst is 23 / end actions queue index 1 / mark / end
> @@ -3995,7 +3995,7 @@ Subcase 5: 128 profiles
> 
>  3. list the rules on port 0-12::
> 
> -    testpmd> flow list 10
> +    testpmd> flow list 12
>      ID      Group   Prio    Attr    Rule
>      0       0       0       i--     ETH IPV4 UDP => QUEUE MARK
>      1       0       0       i--     ETH IPV4 TCP => QUEUE MARK
> @@ -4020,7 +4020,7 @@ Subcase 5: 128 profiles  4. send matched packets
> to vf 12,
>     the packets are redirected to the expected queue.
> 
> -5. flush rules on port 12::
> +5. flush rules on vf port 12::
> 
>      flow flush 12
> 
> @@ -4032,13 +4032,10 @@ Subcase 5: 128 profiles  6. create rule on port 13
> again::
> 
>      testpmd> flow create 13 ingress pattern eth type is 0x8863 / end actions
> queue index 1 / mark id 1 / end
> -    eth
> -    iavf_execute_vf_cmd(): No response or return failure (-5) for cmd 47
> -    iavf_fdir_add(): fail to execute command OP_ADD_FDIR_FILTER
> -    iavf_flow_create(): Failed to create flow
> -    port_flow_complain(): Caught PMD error type 2 (flow rule (handle)): Add
> filter rule failed.: Operation not permitted
> 
> -   still failed.
> +   the rule can be created successfully.
> +   send the matched packet port 13,
> +   the packets are redirected to the expected queue.
> 
>  Test case: Stress test
>  ======================
> diff --git a/tests/TestSuite_iavf_fdir.py b/tests/TestSuite_iavf_fdir.py index
> 553d4bf0..eaea13fc 100644
> --- a/tests/TestSuite_iavf_fdir.py
> +++ b/tests/TestSuite_iavf_fdir.py
> @@ -3357,16 +3357,21 @@ class TestIAVFFdir(TestCase):
> 
>          rule = "flow create {} ingress pattern eth type is 0x8863 / end actions
> queue index 1 / mark id 1 / end".format(nex_cnt)
>          self.create_fdir_rule(rule, check_stats=False)
> -        pkt =
> 'Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.20",dst="192.168.0.21"
> )/UDP(sport=22, dport=23)/ Raw("x" * 80)'
> -        out = self.send_pkts_getouput(pkts=pkt)
> +        pkt1 =
> 'Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.20",dst="192.168.0.21"
> )/UDP(sport=22, dport=23)/ Raw("x" * 80)'
> +        out = self.send_pkts_getouput(pkts=pkt1)
>          rfc.check_iavf_fdir_mark(out, pkt_num=1, check_param={"port_id":
> nex_cnt, "mark_id": 0, "queue": 1}, stats=True)
> +        pkt2 = 'Ether(dst="00:11:22:33:44:55", type=0x8863)/IP()/Raw("x" *
> 80)'
> +        out = self.send_pkts_getouput(pkts=pkt2)
> +        rfc.check_iavf_fdir_mark(out, pkt_num=1,
> + check_param={"port_id": nex_cnt, "mark_id": 1, "queue": 1},
> + stats=False)
> 
>          self.dut.send_expect("flow flush {}".format(nex_cnt), "testpmd> ")
>          self.check_fdir_rule(port_id=(nex_cnt), stats=False)
> -        out = self.send_pkts_getouput(pkts=pkt)
> +        out = self.send_pkts_getouput(pkts=pkt1)
>          rfc.check_iavf_fdir_mark(out, pkt_num=1, check_param={"port_id":
> nex_cnt, "mark_id": 0, "queue": 1}, stats=False)
> 
> -        self.create_fdir_rule(rule, check_stats=False)
> +        self.create_fdir_rule(rule, check_stats=True)
> +        out = self.send_pkts_getouput(pkts=pkt2)
> +        rfc.check_iavf_fdir_mark(out, pkt_num=1,
> + check_param={"port_id": nex_cnt, "mark_id": 1, "queue": 1},
> + stats=True)
> 
>      def test_stress_port_stop_start(self):
>          """
> --
> 2.17.1
  

Patch

diff --git a/test_plans/iavf_fdir_test_plan.rst b/test_plans/iavf_fdir_test_plan.rst
index 82e2c2d2..feec2bb5 100644
--- a/test_plans/iavf_fdir_test_plan.rst
+++ b/test_plans/iavf_fdir_test_plan.rst
@@ -3972,7 +3972,7 @@  Subcase 5: 128 profiles
 
     ./testpmd -c 0xf -n 6 --file-prefix=vf -- -i --rxq=4 --txq=4
 
-2. create 10 rules with different patterns on each port::
+2. create 8 rules with different patterns on each port::
 
     flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp src is 22 dst is 23 / end actions queue index 1 / mark / end
     flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / tcp src is 22 dst is 23 / end actions queue index 1 / mark / end
@@ -3995,7 +3995,7 @@  Subcase 5: 128 profiles
 
 3. list the rules on port 0-12::
 
-    testpmd> flow list 10
+    testpmd> flow list 12
     ID      Group   Prio    Attr    Rule
     0       0       0       i--     ETH IPV4 UDP => QUEUE MARK
     1       0       0       i--     ETH IPV4 TCP => QUEUE MARK
@@ -4020,7 +4020,7 @@  Subcase 5: 128 profiles
 4. send matched packets to vf 12,
    the packets are redirected to the expected queue.
 
-5. flush rules on port 12::
+5. flush rules on vf port 12::
 
     flow flush 12
 
@@ -4032,13 +4032,10 @@  Subcase 5: 128 profiles
 6. create rule on port 13 again::
 
     testpmd> flow create 13 ingress pattern eth type is 0x8863 / end actions queue index 1 / mark id 1 / end
-    eth
-    iavf_execute_vf_cmd(): No response or return failure (-5) for cmd 47
-    iavf_fdir_add(): fail to execute command OP_ADD_FDIR_FILTER
-    iavf_flow_create(): Failed to create flow
-    port_flow_complain(): Caught PMD error type 2 (flow rule (handle)): Add filter rule failed.: Operation not permitted
 
-   still failed.
+   the rule can be created successfully.
+   send the matched packet port 13,
+   the packets are redirected to the expected queue.
 
 Test case: Stress test
 ======================
diff --git a/tests/TestSuite_iavf_fdir.py b/tests/TestSuite_iavf_fdir.py
index 553d4bf0..eaea13fc 100644
--- a/tests/TestSuite_iavf_fdir.py
+++ b/tests/TestSuite_iavf_fdir.py
@@ -3357,16 +3357,21 @@  class TestIAVFFdir(TestCase):
 
         rule = "flow create {} ingress pattern eth type is 0x8863 / end actions queue index 1 / mark id 1 / end".format(nex_cnt)
         self.create_fdir_rule(rule, check_stats=False)
-        pkt = 'Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.20",dst="192.168.0.21")/UDP(sport=22, dport=23)/ Raw("x" * 80)'
-        out = self.send_pkts_getouput(pkts=pkt)
+        pkt1 = 'Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.20",dst="192.168.0.21")/UDP(sport=22, dport=23)/ Raw("x" * 80)'
+        out = self.send_pkts_getouput(pkts=pkt1)
         rfc.check_iavf_fdir_mark(out, pkt_num=1, check_param={"port_id": nex_cnt, "mark_id": 0, "queue": 1}, stats=True)
+        pkt2 = 'Ether(dst="00:11:22:33:44:55", type=0x8863)/IP()/Raw("x" * 80)'
+        out = self.send_pkts_getouput(pkts=pkt2)
+        rfc.check_iavf_fdir_mark(out, pkt_num=1, check_param={"port_id": nex_cnt, "mark_id": 1, "queue": 1}, stats=False)
 
         self.dut.send_expect("flow flush {}".format(nex_cnt), "testpmd> ")
         self.check_fdir_rule(port_id=(nex_cnt), stats=False)
-        out = self.send_pkts_getouput(pkts=pkt)
+        out = self.send_pkts_getouput(pkts=pkt1)
         rfc.check_iavf_fdir_mark(out, pkt_num=1, check_param={"port_id": nex_cnt, "mark_id": 0, "queue": 1}, stats=False)
 
-        self.create_fdir_rule(rule, check_stats=False)
+        self.create_fdir_rule(rule, check_stats=True)
+        out = self.send_pkts_getouput(pkts=pkt2)
+        rfc.check_iavf_fdir_mark(out, pkt_num=1, check_param={"port_id": nex_cnt, "mark_id": 1, "queue": 1}, stats=True)
 
     def test_stress_port_stop_start(self):
         """