change 128 profiles case due to dpdk code update
Commit Message
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
> 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
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
@@ -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
======================
@@ -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):
"""