* Re: [dts] [PATCH V1 0/6] Remove 8 duplicate cases
2020-11-20 10:45 [dts] [PATCH V1 0/6] Remove 8 duplicate cases sunqin
@ 2020-11-20 2:16 ` Sun, QinX
2020-11-20 10:45 ` [dts] [PATCH V1 1/6] tests/iavf_fdir remove 6 cases sunqin
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Sun, QinX @ 2020-11-20 2:16 UTC (permalink / raw)
To: dts
[-- Attachment #1: Type: text/plain, Size: 295 bytes --]
Tested-by: Sun, QinX <qinx.sun@intel.com>
Regards,
Sun Qin
> -----Original Message-----
> From: sunqin <qinx.sun@intel.com>
> Sent: Friday, November 20, 2020 6:46 PM
> To: dts@dpdk.org
> Cc: Sun, QinX <qinx.sun@intel.com>
> Subject: [dts] [PATCH V1 0/6] Remove 8 duplicate cases
[-- Attachment #2: TestIAVFFdir.log --]
[-- Type: application/octet-stream, Size: 5131523 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts] [PATCH V1 0/6] Remove 8 duplicate cases
@ 2020-11-20 10:45 sunqin
2020-11-20 2:16 ` Sun, QinX
` (7 more replies)
0 siblings, 8 replies; 9+ messages in thread
From: sunqin @ 2020-11-20 10:45 UTC (permalink / raw)
To: dts; +Cc: sunqin
Remove 8 duplicate cases from 3 suite and plan.
iavf_fdir: 6 cases
cvl_fdir: 1 case
cvl_dcf_switch_filter: 1 case
These 8 cases have been made as a new test suite 'cvl_limit_value_test',
so remove them from original suite and plan
sunqin (6):
tests/iavf_fdir remove 6 cases
test_plans/iavf_fdir remove 6 subcases
tests/cvl_fdir remove 1 case
test_plans/cvl_fdir remove 1 subcase
tests/cvl_dcf_switch_filter remove 1 case
test_plans/cvl_dcf_switch_filter remove 1 case
.../cvl_dcf_switch_filter_test_plan.rst | 57 ---
test_plans/cvl_fdir_test_plan.rst | 38 +-
test_plans/iavf_fdir_test_plan.rst | 304 +-------------
tests/TestSuite_cvl_dcf_switch_filter.py | 73 ----
tests/TestSuite_cvl_fdir.py | 39 --
tests/TestSuite_iavf_fdir.py | 393 ------------------
6 files changed, 8 insertions(+), 896 deletions(-)
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts] [PATCH V1 1/6] tests/iavf_fdir remove 6 cases
2020-11-20 10:45 [dts] [PATCH V1 0/6] Remove 8 duplicate cases sunqin
2020-11-20 2:16 ` Sun, QinX
@ 2020-11-20 10:45 ` sunqin
2020-11-20 10:45 ` [dts] [PATCH V1 2/6] test_plans/iavf_fdir remove 6 subcases sunqin
` (5 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: sunqin @ 2020-11-20 10:45 UTC (permalink / raw)
To: dts; +Cc: sunqin
Remove 6 cases:
test_maxnum_14336rules_1vf
test_maxnum_14336rules_2vf
test_maxnum_15360rules_1pf_2vf
test_maxnum_15360rules_1pf_0_rules_vf
test_stress_add_delete_rules_1vf
test_stress_add_delete_rules_2vf
The 6 cases have been moved to 'cvl_limit_value_test' suite
Signed-off-by: sunqin <qinx.sun@intel.com>
---
tests/TestSuite_iavf_fdir.py | 393 -----------------------------------
1 file changed, 393 deletions(-)
diff --git a/tests/TestSuite_iavf_fdir.py b/tests/TestSuite_iavf_fdir.py
index 7ee6f4a2..e53f55e8 100644
--- a/tests/TestSuite_iavf_fdir.py
+++ b/tests/TestSuite_iavf_fdir.py
@@ -2989,328 +2989,6 @@ class TestIAVFFdir(TestCase):
self.dut.close_session(self.session_secondary)
self.dut.close_session(self.session_third)
- def test_maxnum_14336rules_1vf(self):
- """
- vfs share 14336 rules table
- """
- self.dut.kill_all()
- src_file = 'create_14336_rules'
- flows=open(self.src_file_dir + src_file,mode='w')
- count=0
- for i in range(56):
- for j in range(256):
- flows.write('flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.%d.%d / end actions queue index 5 / mark / end \n'%(i,j))
- count=count+1
- flows.close()
- self.verify(count == 14336, "failed to create 14336 fdir rules on vf.")
- self.dut.session.copy_file_to(self.src_file_dir + src_file, self.dut_file_dir)
-
- eal_param = "-c f -n 6 -w %s -w %s" % (self.sriov_vfs_pf0[0].pci,self.sriov_vfs_pf0[1].pci)
- command = self.path + eal_param + " -- -i --rxq=%s --txq=%s" % (self.cvlq_num, self.cvlq_num) + " --cmdline-file=%s" % self.dut_file_dir + src_file
- self.dut.send_expect(command, "testpmd> ", 300)
- self.config_testpmd()
-
- # can't create more than 14336 rules on vf0
- rule_14336_vf0 = "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.56.0 / end actions queue index 5 / mark / end"
- self.create_fdir_rule(rule_14336_vf0, check_stats=False)
- #check there are 14336 rules created.
- out = self.check_rule_number(port_id=0, num=14336)
- self.verify("14336" not in out, "more than 14336 rules can be created on 1vf")
-
- # can't create rule on vf1
- rule_0_vf1 = "flow create 1 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.56.0 / end actions queue index 5 / mark / end"
- self.create_fdir_rule(rule_0_vf1, check_stats=False)
- self.check_fdir_rule(port_id=1, stats=False)
-
- pkt_0 = 'Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.20",dst="192.168.0.0")/Raw("x" * 80)'
- pkt_14335 = 'Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.20",dst="192.168.55.255")/Raw("x" * 80)'
- pkt_14336 = 'Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.20",dst="192.168.56.0")/Raw("x" * 80)'
-
- # check packet match rule 0 and rule 14335 can be redirected to expected queue
- out_0 = self.send_pkts_getouput(pkts=pkt_0, pf_id=0)
- rfc.check_iavf_fdir_mark(out_0, pkt_num=1, check_param={"port_id": 0, "mark_id": 0, "queue": 5}, stats=True)
- out_14335 = self.send_pkts_getouput(pkts=pkt_14335, pf_id=0)
- rfc.check_iavf_fdir_mark(out_14335, pkt_num=1, check_param={"port_id": 0, "mark_id": 0, "queue": 5}, stats=True)
- # check packet match rule 14336 can't be redirected to expected queue.
- out_14336 = self.send_pkts_getouput(pkts=pkt_14336, pf_id=0)
- rfc.check_iavf_fdir_mark(out_14336, pkt_num=1, check_param={"port_id": 0, "queue": 5}, stats=False)
-
- # delete one rule of vf0
- self.dut.send_expect("flow destroy 0 rule 0", "testpmd> ", timeout=200)
- self.create_fdir_rule(rule_0_vf1, check_stats=True)
- pkt_0_vf1 = 'Ether(dst="00:11:22:33:44:66")/IP(src="192.168.0.20",dst="192.168.56.0")/Raw("x" * 80)'
- out_0_vf1 = self.send_pkts_getouput(pkts=pkt_0_vf1, pf_id=0)
- rfc.check_iavf_fdir_mark(out_0_vf1, pkt_num=1, check_param={"port_id": 1, "mark_id": 0, "queue": 5}, stats=True)
-
- # flush all the rules
- self.dut.send_expect("flow flush 0", "testpmd> ", timeout=200)
- self.check_fdir_rule(port_id=0, stats=False)
- out_0 = self.send_pkts_getouput(pkts=pkt_0, pf_id=0)
- out_14335 = self.send_pkts_getouput(pkts=pkt_14335, pf_id=0)
- rfc.check_iavf_fdir_mark(out_0, pkt_num=1, check_param={"port_id": 0, "mark_id": 0, "queue": 5}, stats=False)
- rfc.check_iavf_fdir_mark(out_14335, pkt_num=1, check_param={"port_id": 0, "mark_id": 0, "queue": 5}, stats=False)
-
- self.create_fdir_rule(rule_14336_vf0, check_stats=True)
- out_14336 = self.send_pkts_getouput(pkts=pkt_14336, pf_id=0)
- rfc.check_iavf_fdir_mark(out_14336, pkt_num=1, check_param={"port_id": 0, "mark_id": 0, "queue": 5}, stats=True)
-
- def test_maxnum_14336rules_2vf(self):
- """
- vfs share 14336 rules table
- """
- self.dut.kill_all()
- self.session_secondary = self.dut.new_session()
- src_file = 'create_14336_rules_2vf'
- flows=open(self.src_file_dir + src_file,mode='w')
- flows.write('flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.0 / end actions queue index 5 / mark / end \n')
- count=1
- for i in range(55):
- for j in range(256):
- flows.write('flow create 1 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.%d.%d / end actions queue index 5 / mark / end \n'%(i,j))
- count=count+1
- for j in range(255):
- flows.write('flow create 1 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.55.%d / end actions queue index 5 / mark / end \n' % j)
- count=count+1
- flows.close()
- self.verify(count == 14336, "failed to create 14336 fdir rules on 2 vfs.")
- self.dut.session.copy_file_to(self.src_file_dir + src_file, self.dut_file_dir)
-
- eal_param = "-c f -n 6 -w %s -w %s" % (self.sriov_vfs_pf0[0].pci,self.sriov_vfs_pf1[0].pci)
- command = self.path + eal_param + " -- -i --rxq=%s --txq=%s" % (self.cvlq_num, self.cvlq_num) + " --cmdline-file=%s" % self.dut_file_dir + src_file
- self.dut.send_expect(command, "testpmd> ", 300)
-
- self.config_testpmd()
- self.check_fdir_rule(port_id=0, rule_list=['0'])
-
- # can't create more than 14336 rules on 2vf
- rule_14335_vf1 = "flow create 1 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.56.0 / end actions queue index 5 / mark / end"
- self.create_fdir_rule(rule_14335_vf1, check_stats=False)
- #check there are 14336 rules created.
- out = self.check_rule_number(port_id=1, num=14335)
- self.verify("14335" not in out, "more than 14336 rules are created on 2vf")
-
- # can't create new rule on vf0
- rule_1_vf0 = "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.56.0 / end actions queue index 5 / mark / end"
- self.create_fdir_rule(rule_1_vf0, check_stats=False)
- self.check_rule_number(port_id=0, num=1)
-
- pkt_0 = 'Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.20",dst="192.168.0.0")/Raw("x" * 80)'
- pkt_1 = 'Ether(dst="00:11:22:33:44:77")/IP(src="192.168.0.20",dst="192.168.0.0")/Raw("x" * 80)'
- pkt_14335 = 'Ether(dst="00:11:22:33:44:77")/IP(src="192.168.0.20",dst="192.168.55.254")/Raw("x" * 80)'
- pkt_14336 = 'Ether(dst="00:11:22:33:44:77")/IP(src="192.168.0.20",dst="192.168.56.0")/Raw("x" * 80)'
-
- self.session_secondary.send_expect("ifconfig %s up" % self.pf0_intf, "# ", 15)
- self.session_secondary.send_expect("ifconfig %s up" % self.pf1_intf, "# ", 15)
- time.sleep(1)
-
- # check packet match rule 0 and rule 14335 can be redirected to expected queue
- out_0 = self.send_pkts_getouput(pkts=pkt_0, pf_id=0)
- rfc.check_iavf_fdir_mark(out_0, pkt_num=1, check_param={"port_id": 0, "mark_id": 0, "queue": 5}, stats=True)
- out_1 = self.send_pkts_getouput(pkts=pkt_1, pf_id=1)
- rfc.check_iavf_fdir_mark(out_1, pkt_num=1, check_param={"port_id": 1, "mark_id": 0, "queue": 5}, stats=True)
-
- out_14335 = self.send_pkts_getouput(pkts=pkt_14335, pf_id=1)
- rfc.check_iavf_fdir_mark(out_14335, pkt_num=1, check_param={"port_id": 1, "mark_id": 0, "queue": 5}, stats=True)
- # check packet match rule 14336 can't be redirected to expected queue.
- out_14336 = self.send_pkts_getouput(pkts=pkt_14336, pf_id=1)
- rfc.check_iavf_fdir_mark(out_14336, pkt_num=1, check_param={"port_id": 1, "queue": 5}, stats=False)
-
- # destroy rule 0 on vf0, then create a new rule on vf1 successfully.
- self.dut.send_expect("flow flush 0", "testpmd> ")
- self.create_fdir_rule(rule_14335_vf1, check_stats=True)
- out_14336 = self.send_pkts_getouput(pkts=pkt_14336, pf_id=1)
- rfc.check_iavf_fdir_mark(out_14336, pkt_num=1, check_param={"port_id": 1, "mark_id": 0, "queue": 5}, stats=True)
-
- self.dut.send_expect("flow flush 1", "testpmd> ", timeout=300)
-
- self.check_fdir_rule(port_id=0, stats=False)
- self.check_fdir_rule(port_id=1, stats=False)
-
- out_0 = self.send_pkts_getouput(pkts=pkt_0, pf_id=0)
- out_1 = self.send_pkts_getouput(pkts=pkt_1, pf_id=1)
- out_14335 = self.send_pkts_getouput(pkts=pkt_14335, pf_id=1)
- rfc.check_iavf_fdir_mark(out_0, pkt_num=1, check_param={"port_id": 0, "mark_id": 0, "queue": 5}, stats=False)
- rfc.check_iavf_fdir_mark(out_1, pkt_num=1, check_param={"port_id": 1, "mark_id": 0, "queue": 5}, stats=False)
- rfc.check_iavf_fdir_mark(out_14335, pkt_num=1, check_param={"port_id": 1, "mark_id": 0, "queue": 5}, stats=False)
-
- self.dut.close_session(self.session_secondary)
-
- def test_maxnum_15360rules_1pf_2vf(self):
- """
- 2*100G NIC, each pf can create 1024 rules at least, vfs share 14336 rules table
- 4*25G NIC, each pf can create 512 rules at least, vfs share 14336 rules table
- so if 2*25G NIC, max number is 14848 on 1pf and 2vfs.
- """
- self.dut.kill_all()
- self.session_secondary = self.dut.new_session()
-
- #create 1025 rules on pf1
- src_file = 'create_1025_kernel_rules'
- flows=open(self.src_file_dir + src_file,mode='w')
- count=0
- if self.nic in ["columbiaville_100g"]:
- for i in range(4):
- for j in range(256):
- flows.write('ethtool -N %s flow-type tcp4 src-ip 192.168.%d.%d dst-ip 192.168.100.2 src-port 32 dst-port 33 action 8 \n' % (self.pf1_intf,i,j))
- count=count+1
- flows.write('ethtool -N %s flow-type tcp4 src-ip 192.168.100.0 dst-ip 192.168.100.2 src-port 32 dst-port 33 action 8 \n' % self.pf1_intf)
- count=count+1
- flows.close()
- self.verify(count == 1025, "failed to create 1025 fdir rules on pf.")
- elif self.nic in ["columbiaville_25g"]:
- for i in range(2):
- for j in range(256):
- flows.write('ethtool -N %s flow-type tcp4 src-ip 192.168.%d.%d dst-ip 192.168.100.2 src-port 32 dst-port 33 action 8 \n' % (self.pf1_intf,i,j))
- count=count+1
- flows.write('ethtool -N %s flow-type tcp4 src-ip 192.168.100.0 dst-ip 192.168.100.2 src-port 32 dst-port 33 action 8 \n' % self.pf1_intf)
- count=count+1
- flows.close()
- self.verify(count == 513, "failed to create 1025 fdir rules on pf.")
- self.dut.session.copy_file_to(self.src_file_dir + src_file, self.dut_file_dir)
- # create 1025 rules on pf1
- fkr = open(self.src_file_dir + src_file, "r+")
- kernel_rules = fkr.read()
- fkr.close()
- self.dut.send_expect(kernel_rules, "# ")
- time.sleep(15)
-
- #create 1 rule on vf00, and 14334 rules on vf01
- src_file_vf = 'create_14335_rules_on_2vfs'
- flows = open(self.src_file_dir + src_file_vf, mode='w')
- flows.write('flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.0 / end actions queue index 5 / mark / end \n')
- count=1
- for i in range(55):
- for j in range(256):
- flows.write('flow create 1 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.%d.%d / end actions queue index 5 / mark / end \n'%(i,j))
- count=count+1
- for j in range(254):
- flows.write('flow create 1 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.55.%d / end actions queue index 5 / mark / end \n' % j)
- count=count+1
- flows.close()
- self.verify(count == 14335, "failed to create 14335 fdir rules on vfs.")
- self.dut.session.copy_file_to(self.src_file_dir + src_file_vf, self.dut_file_dir)
-
- # start testpmd with creating rules in commandline
- eal_param = "-c f -n 6 -w %s -w %s" % (self.sriov_vfs_pf0[0].pci,self.sriov_vfs_pf0[1].pci)
- command = self.path + eal_param + " -- -i --rxq=%s --txq=%s" % (self.cvlq_num, self.cvlq_num) + " --cmdline-file=%s" % self.dut_file_dir + src_file_vf
- fdw = open("15360_rules_vf_result.txt", "w")
- fdw.write(self.dut.send_expect(command, "testpmd> ", 360))
- fdw.close()
-
- self.config_testpmd()
- # check there is 1 rule created on vf00
- self.check_fdir_rule(port_id=0, rule_list=['0'])
-
- # can't create more than 14335 rules on 2vf, the rule index is from 0
- rule_14334_vf1 = "flow create 1 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.56.0 / end actions queue index 5 / mark / end"
- pkt_14334 = 'Ether(dst="00:11:22:33:44:66")/IP(src="192.168.0.20",dst="192.168.56.0")/Raw("x" * 80)'
- self.create_fdir_rule(rule_14334_vf1, check_stats=False)
-
- #check there are 14334 rules created on vf01
- out = self.check_rule_number(port_id=1, num=14334)
- self.verify("14334" not in out, "more than 15360 rules are created on 2vf")
-
- # delete a rule on pf0
- self.session_secondary.send_expect("ethtool -N %s delete 14847" % self.pf1_intf, "# ")
-
- # then can create one more rule on vf01
- self.create_fdir_rule(rule_14334_vf1, check_stats=True)
- out_14334 = self.send_pkts_getouput(pkts=pkt_14334, pf_id=0)
- rfc.check_iavf_fdir_mark(out_14334, pkt_num=1, check_param={"port_id": 1, "mark_id": 0, "queue": 5}, stats=True)
-
- self.dut.send_expect("flow flush 0", "testpmd> ", timeout=200)
- self.dut.send_expect("flow flush 1", "testpmd> ", timeout=200)
- self.check_fdir_rule(port_id=0, stats=False)
- self.check_fdir_rule(port_id=1, stats=False)
- out_14334 = self.send_pkts_getouput(pkts=pkt_14334, pf_id=0)
- rfc.check_iavf_fdir_mark(out_14334, pkt_num=1, check_param={"port_id": 1, "mark_id": 0, "queue": 5}, stats=False)
-
- self.dut.send_expect("quit", "# ")
- self.dut.close_session(self.session_secondary)
- self.re_load_ice_driver()
- self.setup_2pf_4vf_env()
-
- def test_maxnum_15360rules_1pf_0_rules_vf(self):
- """
- 2*100G NIC, each pf can create 1024 rules at least, vfs share 14336 rules table
- 4*25G NIC, each pf can create 512 rules at least, vfs share 14336 rules table
- so if 2*25G NIC, max number is 14848 on 1pf and vfs.
- create 15360/14848 rules on pf1, check failed to create rule on vf00 and vf10
- """
- self.dut.kill_all()
- self.session_secondary = self.dut.new_session()
-
- #create 15360 rules on pf1
- src_file = 'create_15360_kernel_rules'
- flows=open(self.src_file_dir + src_file,mode='w')
- count=0
- if self.nic in ["columbiaville_100g"]:
- for i in range(60):
- for j in range(256):
- flows.write('ethtool -N %s flow-type tcp4 src-ip 192.168.%d.%d dst-ip 192.168.100.2 src-port 32 dst-port 33 action 8 \n' % (self.pf1_intf,i,j))
- count=count+1
- flows.close()
- self.verify(count == 15360, "failed to create 15360 fdir rules on pf.")
- elif self.nic in ["columbiaville_25g"]:
- for i in range(58):
- for j in range(256):
- flows.write('ethtool -N %s flow-type tcp4 src-ip 192.168.%d.%d dst-ip 192.168.100.2 src-port 32 dst-port 33 action 8 \n' % (self.pf1_intf,i,j))
- count=count+1
- flows.close()
- self.verify(count == 14848, "failed to create 14848 fdir rules on pf.")
- self.dut.session.copy_file_to(self.src_file_dir + src_file, self.dut_file_dir)
- # create 15360 rules on pf1
- fkr = open(self.src_file_dir + src_file, "r+")
- kernel_rules = fkr.read()
- fkr.close()
- self.dut.send_expect(kernel_rules, "# ")
- time.sleep(200)
- # failed to create 1 more rule on pf1
- self.dut.send_expect("ethtool -N %s flow-type tcp4 src-ip 192.168.100.0 dst-ip 192.168.100.2 src-port 32 dst-port 33 action 8" % self.pf1_intf, "Cannot insert RX class rule: No space left on device")
- # start testpmd with creating rules in commandline
- eal_param = "-c f -n 6 -w %s -w %s" % (self.sriov_vfs_pf0[0].pci,self.sriov_vfs_pf1[0].pci)
- command = self.path + eal_param + " -- -i --rxq=%s --txq=%s" % (self.cvlq_num, self.cvlq_num)
- self.dut.send_expect(command, "testpmd> ", 20)
-
- self.config_testpmd()
- rule_0_vf00 = "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.56.0 / end actions queue index 5 / mark / end"
- pkt_0_vf00 = 'Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.20",dst="192.168.56.0")/Raw("x" * 80)'
- rule_0_vf10 = "flow create 1 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.56.0 / end actions queue index 5 / mark / end"
- pkt_0_vf10 = 'Ether(dst="00:11:22:33:44:77")/IP(src="192.168.0.20",dst="192.168.56.0")/Raw("x" * 80)'
-
- #failed to create rule on vf00 and vf10
- self.create_fdir_rule(rule_0_vf00, check_stats=False)
- self.create_fdir_rule(rule_0_vf10, check_stats=False)
- self.check_rule_number(port_id=0, num=0)
- self.check_rule_number(port_id=1, num=0)
-
- # delete a rule on pf1
- self.session_secondary.send_expect("ethtool -N %s delete 14847" % self.pf1_intf, "# ")
-
- # then can create one rule on vf00
- self.create_fdir_rule(rule_0_vf00, check_stats=True)
- self.create_fdir_rule(rule_0_vf10, check_stats=False)
- self.check_rule_number(port_id=0, num=1)
- self.check_rule_number(port_id=1, num=0)
-
- # delete a rule on pf1
- self.session_secondary.send_expect("ethtool -N %s delete 14846" % self.pf1_intf, "# ")
-
- # then can create one rule on vf10
- self.create_fdir_rule(rule_0_vf10, check_stats=True)
- self.check_rule_number(port_id=1, num=1)
-
- out_0_vf00 = self.send_pkts_getouput(pkts=pkt_0_vf00, pf_id=0)
- rfc.check_iavf_fdir_mark(out_0_vf00, pkt_num=1, check_param={"port_id": 0, "mark_id": 0, "queue": 5}, stats=True)
-
- out_0_vf10 = self.send_pkts_getouput(pkts=pkt_0_vf10, pf_id=1)
- rfc.check_iavf_fdir_mark(out_0_vf10, pkt_num=1, check_param={"port_id": 1, "mark_id": 0, "queue": 5}, stats=True)
-
- self.dut.send_expect("quit", "# ")
- self.dut.close_session(self.session_secondary)
- self.re_load_ice_driver()
- self.setup_2pf_4vf_env()
-
def test_maxnum_128_profiles(self):
"""
There are 128 profiles in total.
@@ -3390,77 +3068,6 @@ class TestIAVFFdir(TestCase):
out = self.send_pkts_getouput(pkts=pkt)
rfc.check_iavf_fdir_mark(out, pkt_num=1, check_param={"port_id": 0, "mark_id": 0, "queue": 1}, stats=True)
- def test_stress_add_delete_rules_1vf(self):
- """
- add/delete rules 14336 times on 1 vf
- """
- rules = [
- "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 6 / 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 rss queues 2 3 end / mark id 1 / end"]
- pkts = [
- '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)',
- 'Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.20",dst="192.168.0.21")/TCP(sport=22,dport=23)/Raw("x" * 80)']
- self.dut.kill_all()
- src_file = 'add_delete_rules_1vf'
- flows=open(self.src_file_dir + src_file,mode='w')
- count=0
- for i in range(14336):
- flows.write('%s \n' % rules[0])
- flows.write('%s \n' % rules[1])
- flows.write('flow flush 0\n')
- count=count+1
- flows.close()
- self.verify(count == 14336, "failed to add/delete 14336 times of fdir rules on vf.")
- self.dut.session.copy_file_to(self.src_file_dir + src_file, self.dut_file_dir)
-
- eal_param = "-c f -n 6 -w %s -w %s" % (self.sriov_vfs_pf0[0].pci,self.sriov_vfs_pf0[1].pci)
- command = self.path + eal_param + " -- -i --rxq=%s --txq=%s" % (self.cvlq_num, self.cvlq_num) + " --cmdline-file=%s" % self.dut_file_dir + src_file
- self.dut.send_expect(command, "testpmd> ", 900)
- self.config_testpmd()
- self.check_fdir_rule(port_id=0, stats=False)
- self.create_fdir_rule(rules, check_stats=True)
- out_0 = self.send_pkts_getouput(pkts=pkts[0])
- rfc.check_iavf_fdir_mark(out_0, pkt_num=1, check_param={"port_id": 0, "mark_id": 0, "queue": 6}, stats=True)
- out_1 = self.send_pkts_getouput(pkts=pkts[1])
- rfc.check_iavf_fdir_mark(out_1, pkt_num=1, check_param={"port_id": 0, "mark_id": 1, "queue": [2, 3]}, stats=True)
-
- def test_stress_add_delete_rules_2vf(self):
- """
- add/delete rules 14336 times on 2 vfs
- """
- rules = [
- "flow create 0 ingress pattern eth / ipv4 src is 192.168.56.0 dst is 192.1.0.0 tos is 4 / tcp src is 22 dst is 23 / end actions queue index 5 / end",
- "flow create 1 ingress pattern eth / ipv4 src is 192.168.56.0 dst is 192.1.0.0 tos is 4 / tcp src is 22 dst is 23 / end actions queue index 5 / end"]
- pkts = [
- 'Ether(dst="00:11:22:33:44:55")/IP(src="192.168.56.0",dst="192.1.0.0", tos=4)/TCP(sport=22,dport=23)/Raw("x" * 80)',
- 'Ether(dst="00:11:22:33:44:66")/IP(src="192.168.56.0",dst="192.1.0.0", tos=4)/TCP(sport=22,dport=23)/Raw("x" * 80)']
- self.dut.kill_all()
- src_file = 'add_delete_rules_2vfs'
- flows=open(self.src_file_dir + src_file,mode='w')
- count=0
- for i in range(14336):
- flows.write('%s \n' % rules[0])
- flows.write('%s \n' % rules[1])
- flows.write('flow flush 0\n')
- flows.write('flow flush 1\n')
- count=count+1
- flows.close()
- self.verify(count == 14336, "failed to add/delete 14336 times of fdir rules on 2 vfs.")
- self.dut.session.copy_file_to(self.src_file_dir + src_file, self.dut_file_dir)
-
- eal_param = "-c f -n 6 -w %s -w %s" % (self.sriov_vfs_pf0[0].pci,self.sriov_vfs_pf0[1].pci)
- command = self.path + eal_param + " -- -i --rxq=%s --txq=%s" % (self.cvlq_num, self.cvlq_num) + " --cmdline-file=%s" % self.dut_file_dir + src_file
- self.dut.send_expect(command, "testpmd> ", 900)
- self.config_testpmd()
- self.check_fdir_rule(port_id=0, stats=False)
- self.check_fdir_rule(port_id=1, stats=False)
-
- self.create_fdir_rule(rules, check_stats=True)
- out_0 = self.send_pkts_getouput(pkts=pkts[0], pf_id=0)
- rfc.check_iavf_fdir_mark(out_0, pkt_num=1, check_param={"port_id": 0, "queue": 5}, stats=True)
- out_1 = self.send_pkts_getouput(pkts=pkts[1], pf_id=0)
- rfc.check_iavf_fdir_mark(out_1, pkt_num=1, check_param={"port_id": 1, "queue": 5}, stats=True)
-
def test_stress_delete_rules(self):
"""
delete 1st/2nd/last rule won't affect other rules
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts] [PATCH V1 2/6] test_plans/iavf_fdir remove 6 subcases
2020-11-20 10:45 [dts] [PATCH V1 0/6] Remove 8 duplicate cases sunqin
2020-11-20 2:16 ` Sun, QinX
2020-11-20 10:45 ` [dts] [PATCH V1 1/6] tests/iavf_fdir remove 6 cases sunqin
@ 2020-11-20 10:45 ` sunqin
2020-11-20 10:45 ` [dts] [PATCH V1 3/6] tests/cvl_fdir remove 1 case sunqin
` (4 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: sunqin @ 2020-11-20 10:45 UTC (permalink / raw)
To: dts; +Cc: sunqin
Remove 6 cases:
test_maxnum_14336rules_1vf
test_maxnum_14336rules_2vf
test_maxnum_15360rules_1pf_2vf
test_maxnum_15360rules_1pf_0_rules_vf
test_stress_add_delete_rules_1vf
test_stress_add_delete_rules_2vf
The 6 cases have been moved to 'cvl_limit_value_test' suite
Signed-off-by: sunqin <qinx.sun@intel.com>
---
test_plans/iavf_fdir_test_plan.rst | 304 +----------------------------
1 file changed, 7 insertions(+), 297 deletions(-)
diff --git a/test_plans/iavf_fdir_test_plan.rst b/test_plans/iavf_fdir_test_plan.rst
index ed71d589..64f6dae9 100644
--- a/test_plans/iavf_fdir_test_plan.rst
+++ b/test_plans/iavf_fdir_test_plan.rst
@@ -3742,220 +3742,7 @@ All the max number cases are designed based on 2*100G NIC.
If the hardware is 4*25G NIC, the guaranteed rule number of PF is 512.
So in subcase 3 and subcase 4, there can be created at most 14848 rules on 1pf and 2vfs.
-Subcase 1: 14336 rules on 1 vf
-------------------------------
-
-1. create 14336 rules on vf00::
-
- flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.0 / 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.1 / end actions queue index 1 / mark / end
- ......
- flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.55.255 / end actions queue index 1 / mark / end
-
- all the rules are created successfully.
-
-2. create one more rule::
-
- flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.56.0 / end actions queue index 1 / mark / end
-
- the rule failed to create. return the error message.
-
-3. check the rule list, there are 14336 rules listed.
-
-4. send matched packets for rule 0 and rule 14335::
-
- sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.20",dst="192.168.0.0")/Raw('x' * 80)],iface="enp134s0f1")
- sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.20",dst="192.168.55.255")/Raw('x' * 80)],iface="enp134s0f1")
-
- check all packets are redirected to expected queue with FDIR matched ID=0x0
-
-5. create a rule on vf01, it failed,
- check the error message, the rule number has expired the max rule number.
-
-6. create a rule on vf10, it failed,
- check the error message, the rule number has expired the max rule number.
-
-7. flush all the rules, check the rule list,
- there is no rule listed.
-
-8. verify matched packets for rule 0 and rule 14335 received without FDIR matched ID.
-
-Subcase 2: 14336 rules on 2 vfs of 2pfs
----------------------------------------
-
-1. start testpmd on vf00::
-
- ./testpmd -c 0xf -n 6 -w 86:01.0 --file-prefix=vf00 -- -i --rxq=4 --txq=4
-
- create 1 rule on vf00::
-
- flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.0 / end actions queue index 1 / mark / end
-
- created successfully, check the rule is listed.
-
-2. start testpmd on vf10::
-
- ./testpmd -c 0xf0 -n 6 -w 86:0a.0 --file-prefix=vf10 -- -i --rxq=4 --txq=4
-
- create 14336 rules on vf10::
-
- flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.0 / 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.1 / end actions queue index 1 / mark / end
- ......
- flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.55.255 / end actions queue index 1 / mark / end
-
- all the rules except the last one are created successfully.
- check the rule list, there listed 14335 rules.
-
-3. send matched packet to vf00 and matched packet for rule 14334 to vf10,
- check all packets are redirected to expected queue with FDIR matched ID=0x0
-
-4. flush all the rules, check the rule list,
- there is no rule listed.
-
-5. verify matched packet received without FDIR matched ID.
-
-Subcase 3: 1025 rules on 1pf and 14335 rules on 2vfs
-----------------------------------------------------
-each pf can create 1024 rules at least in 2 ports card.
-each pf can create 512 rules at least in 4 ports card.
-there are 14k rules shared by pfs and vfs.
-so 1 pf and 2 vfs can create 15360 rules at most on 2 ports card.
-1 pf and 2 vfs can create 14848 rules at most on 4 ports card.
-
-1. create 1025 rules on pf0::
-
- ethtool -N enp134s0f0 flow-type tcp4 src-ip 192.168.0.0 dst-ip 192.168.100.2 src-port 32 dst-port 33 action 8
- ethtool -N enp134s0f0 flow-type tcp4 src-ip 192.168.0.1 dst-ip 192.168.100.2 src-port 32 dst-port 33 action 8
- ......
- ethtool -N enp134s0f0 flow-type tcp4 src-ip 192.168.3.255 dst-ip 192.168.100.2 src-port 32 dst-port 33 action 8
- ethtool -N enp134s0f0 flow-type tcp4 src-ip 192.168.4.0 dst-ip 192.168.100.2 src-port 32 dst-port 33 action 8
-
- all the rules can be created successfully::
-
- Added rule with ID <Rule ID>
-
- List the rules on pf0::
-
- ethtool -n enp134s0f0
-
-2. start testpmd on vf00::
-
- ./testpmd -c 0xf -n 6 -w 86:01.0 --file-prefix=vf00 -- -i --rxq=4 --txq=4
-
- create 1 rule on vf00::
-
- flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.0 / end actions queue index 1 / mark / end
-
- created successfully, check the rule is listed.
-
-2. start testpmd on vf10::
-
- ./testpmd -c 0xf0 -n 6 -w 86:0a.0 --file-prefix=vf10 -- -i --rxq=4 --txq=4
-
- create 14335 rules on vf10::
-
- flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.0 / 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.1 / end actions queue index 1 / mark / end
- ......
- flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.55.254 / end actions queue index 1 / mark / end
-
- all the rules except the last one are created successfully.
- check the rule list, there listed 14334 rules.
-
-3. send matched packet to vf00 and matched packet for rule 14333 to vf10,
- check all packets are redirected to expected queue with FDIR matched ID=0x0
-
-4. delete 1 rule on pf0::
-
- ethtool -N enp134s0f0 delete <Rule ID>
-
-5. create one more rule on vf10::
-
- flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.55.254 / end actions queue index 1 / mark / end
-
- the rule can be created successfully.
-
-6. send matched packet to vf10, it can be redirected to queue 1 with FDIR matched ID=0x0.
-
-7. flush all the rules, check the rule list,
- there is no rule listed.
-
-8. verify matched packet received without FDIR matched ID.
-
-Subcase 4: 15360 rules on 1pf and 0 rules on 2vfs
--------------------------------------------------
-each pf can create 1024 rules at least in 2 ports card.
-each pf can create 512 rules at least in 4 ports card.
-there are 14k rules shared by pfs and vfs.
-so 1 pf and 2 vfs can create 15360 rules at most on 2 ports card.
-1 pf and 2 vfs can create 14848 rules at most on 4 ports card.
-so if create 15360/14848 rules on 1 pf, there can't create rule on vf successfully.
-
-1. create 15360 rules on pf0::
-
- ethtool -N enp134s0f0 flow-type tcp4 src-ip 192.168.0.0 dst-ip 192.168.100.2 src-port 32 dst-port 33 action 8
- ethtool -N enp134s0f0 flow-type tcp4 src-ip 192.168.0.1 dst-ip 192.168.100.2 src-port 32 dst-port 33 action 8
- ......
- ethtool -N enp134s0f0 flow-type tcp4 src-ip 192.168.57.255 dst-ip 192.168.100.2 src-port 32 dst-port 33 action 8
-
- all the rules can be created successfully::
-
- Added rule with ID <Rule ID>
-
-2. failed to create one more rule on pf0::
-
- ethtool -N enp134s0f0 flow-type tcp4 src-ip 192.168.58.0 dst-ip 192.168.100.2 src-port 32 dst-port 33 action 8
-
-3. start testpmd on vf00 and vf10::
-
- ./testpmd -c 0xf -n 6 -w 86:01.0 -w 86:11.0 --file-prefix=vf00 -- -i --rxq=4 --txq=4
-
- create 1 rule on vf00::
-
- flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.0 / end actions queue index 1 / mark / end
-
- failed to create the rule, check there is no rule listed.
-
- create 1 rule on vf10::
-
- flow create 1 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.0 / end actions queue index 1 / mark / end
-
- failed to create the rule, check there is no rule listed.
-
-4. delete 1 rule on pf0::
-
- ethtool -N enp134s0f0 delete <Rule ID>
-
-5. create 1 rule on vf00::
-
- flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.55.254 / end actions queue index 1 / mark / end
-
- the rule can be created successfully.
-
- create 1 rule on vf10::
-
- flow create 1 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.0 / end actions queue index 1 / mark / end
-
- failed to create the rule, check there is no rule listed.
-
-6. send matched packet to vf00, it can be redirected to queue 1 with FDIR matched ID=0x0.
- send matched packet to vf10, it is received without FDIR matched ID.
-
-7. delete 1 more rule on pf0::
-
- ethtool -N enp134s0f0 delete <Rule ID>
-
-8. create 1 rule on vf10::
-
- flow create 1 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.0 / end actions queue index 1 / mark / end
-
- the rule can be created successfully.
-
-9. send matched packet to vf00, it can be redirected to queue 1 with FDIR matched ID=0x0.
- send matched packet to vf10, it can be redirected to queue 1 with FDIR matched ID=0x0.
-
-Subcase 5: 128 profiles
+Subcase 1: 128 profiles
-----------------------
1. create 16 vfs on pf0::
@@ -4061,84 +3848,7 @@ Subcase 1: port stop/port start
5. verify matched packet can be still redirected to queue 1 with FDIR matched ID=0x0.
-Subcase 2: add/delete rules
----------------------------
-
-1. create two rules::
-
- 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 id 0 / 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 rss queues 2 3 end / mark id 1 / end
-
- return the message::
-
- Flow rule #0 created
- Flow rule #1 created
-
- list the rules::
-
- testpmd> flow list 0
- ID Group Prio Attr Rule
- 0 0 0 i-- ETH IPV4 UDP => QUEUE MARK
- 1 0 0 i-- ETH IPV4 TCP => RSS MARK
-
-2. delete the rules::
-
- testpmd> flow flush 0
-
-3. repeat the create and delete operations in step1-2 14336 times.
-
-4. create the two rules one more time, check the rules listed.
-
-5. send matched packet::
-
- sendp([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)],iface="enp134s0f1")
- sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.20",dst="192.168.0.21")/TCP(sport=22,dport=23)/Raw('x' * 80)],iface="enp134s0f1")
-
- check packet 1 is redirected to queue 1 with FDIR matched ID=0x0
- check packet 2 is redirected to queue 2 or queue 3 with FDIR matched ID=0x1
-
-Subcase 3: add/delete rules on two VFs
---------------------------------------
-
-1. create a rule on each vf::
-
- flow create 0 ingress pattern eth / ipv4 src is 192.168.0.0 dst is 192.1.0.0 tos is 4 / tcp src is 22 dst is 23 / end actions queue index 5 / end
- flow create 1 ingress pattern eth / ipv4 src is 192.168.0.0 dst is 192.1.0.0 tos is 4 / tcp src is 22 dst is 23 / end actions queue index 5 / end
-
- return the message::
-
- Flow rule #0 created
- Flow rule #0 created
-
- list the rules::
-
- testpmd> flow list 0
- ID Group Prio Attr Rule
- 0 0 0 i-- ETH IPV4 TCP => QUEUE
- testpmd> flow list 1
- ID Group Prio Attr Rule
- 0 0 0 i-- ETH IPV4 TCP => QUEUE
-
-2. delete the rules::
-
- flow destroy 0 rule 0
- flow destroy 1 rule 0
-
-3. repeate the create and delete operations in step1-2 14336 times with different IP src address.
-
-4. create the rule on each vf one more time, check the rules listed::
-
- flow create 0 ingress pattern eth / ipv4 src is 192.168.56.0 dst is 192.1.0.0 tos is 4 / tcp src is 22 dst is 23 / end actions queue index 5 / end
- flow create 1 ingress pattern eth / ipv4 src is 192.168.56.0 dst is 192.1.0.0 tos is 4 / tcp src is 22 dst is 23 / end actions queue index 5 / end
-
-5. send matched packet::
-
- sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.56.0",dst="192.1.0.0",tos=4)/TCP(sport=22,dport=23)/Raw('x' * 80)],iface="enp134s0f1")
- sendp([Ether(dst="00:11:22:33:44:66")/IP(src="192.168.56.0",dst="192.1.0.0",tos=4)/TCP(sport=22,dport=23)/Raw('x' * 80)],iface="enp134s0f1")
-
- check the packet is redirected to queue 5 of two vfs.
-
-Subcase 4: delete rules
+Subcase 2: delete rules
-----------------------
1. create 3 rules and destory the first rule::
@@ -4216,7 +3926,7 @@ Subcase 4: delete rules
send packets match rule 0, rule 1 and rule 2, verify all packets are received without FDIR matched ID.
-Subcase 5: VF port reset and create a new rule
+Subcase 3: VF port reset and create a new rule
----------------------------------------------
1. create a rule on vf00 and vf01::
@@ -4250,7 +3960,7 @@ Subcase 5: VF port reset and create a new rule
7. send matched packets, check them redirected to expected queue with FDIR matched ID.
-Subcase 6: VF port reset and delete the rule
+Subcase 4: VF port reset and delete the rule
--------------------------------------------
1. create a rule on vf00 and vf01::
@@ -4286,7 +3996,7 @@ Subcase 6: VF port reset and delete the rule
7. send matched packets, check them redirected to expected queue with FDIR matched ID.
-Subcase 7: PF reset VF and create a new rule
+Subcase 5: PF reset VF and create a new rule
--------------------------------------------
1. create a rule on vf00 and vf01::
@@ -4331,7 +4041,7 @@ Subcase 7: PF reset VF and create a new rule
8. send matched packets, check them redirected to expected queue with FDIR matched ID.
-Subcase 8: PF reset VF and delete the rule
+Subcase 6: PF reset VF and delete the rule
------------------------------------------
1. create a rule on vf00 and vf01::
@@ -4374,7 +4084,7 @@ Subcase 8: PF reset VF and delete the rule
8. send matched packets, check them redirected to expected queue with FDIR matched ID.
-Subcase 9: check profile delete
+Subcase 7: check profile delete
-------------------------------
1. create ipv4-tcp and ipv6-udp rules::
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts] [PATCH V1 3/6] tests/cvl_fdir remove 1 case
2020-11-20 10:45 [dts] [PATCH V1 0/6] Remove 8 duplicate cases sunqin
` (2 preceding siblings ...)
2020-11-20 10:45 ` [dts] [PATCH V1 2/6] test_plans/iavf_fdir remove 6 subcases sunqin
@ 2020-11-20 10:45 ` sunqin
2020-11-20 10:45 ` [dts] [PATCH V1 4/6] test_plans/cvl_fdir remove 1 subcase sunqin
` (3 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: sunqin @ 2020-11-20 10:45 UTC (permalink / raw)
To: dts; +Cc: sunqin
Remove 1 case:
test_add_delete_rules
The case has been moved to 'cvl_limit_value_test' suite
Signed-off-by: sunqin <qinx.sun@intel.com>
---
tests/TestSuite_cvl_fdir.py | 39 -------------------------------------
1 file changed, 39 deletions(-)
diff --git a/tests/TestSuite_cvl_fdir.py b/tests/TestSuite_cvl_fdir.py
index 50a0236c..31bdfc7d 100644
--- a/tests/TestSuite_cvl_fdir.py
+++ b/tests/TestSuite_cvl_fdir.py
@@ -3018,45 +3018,6 @@ class TestCVLFdir(TestCase):
out3 = self.send_pkts_getouput(pkts='Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.22",dst="192.168.0.23") / Raw("x" * 80)', port_id=0, count=1)
rfc.check_mark(out3, pkt_num=1, check_param={"port_id": 0, "queue": 2, "mark_id": 1}, stats=True)
- def test_add_delete_rules(self):
- self.pmd_output.execute_cmd("stop")
- self.dut.send_command("quit", timeout=2)
- cmd_path = '/tmp/add_delete_rules'
- cmds = [
- '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 rss queues 2 3 end / mark id 1 / end',
- 'flow list 0', 'flow flush 0'] * 15360
- cmds_li = map(lambda x: x + os.linesep, cmds)
- with open(cmd_path, 'w') as f:
- f.writelines(cmds_li)
- self.dut.session.copy_file_to(cmd_path, cmd_path)
- try:
- eal_param = self.dut.create_eal_parameters(cores="1S/4C/1T", ports=[self.pci0, self.pci1], socket=self.ports_socket)
- param = " --log-level='ice,7' -- -i --portmask=%s --rxq=%d --txq=%d --port-topology=loop --cmdline-file=%s" % (
- self.portMask, 64, 64, cmd_path)
- command_line = self.dut.apps_name['test-pmd'] + eal_param + param
- out = self.dut.send_expect(command_line, 'testpmd>', timeout=600)
- self.verify('Failed to create file' not in out, "create some rule failed: %s" % out)
- self.config_testpmd()
- self.pmd_output.execute_cmd('start')
- rules = [
- '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 rss queues 2 3 end / mark id 1 / end']
- rule_li = self.create_fdir_rule(rule=rules, check_stats=True)
- self.check_fdir_rule(port_id=0, stats=True, rule_list=rule_li)
- pkts = [
- '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)',
- 'Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.20",dst="192.168.0.21")/TCP(sport=22,dport=23)/Raw("x" * 80)']
- out1 = self.send_pkts_getouput(pkts=pkts[0], port_id=0, count=1)
- rfc.check_mark(out1, pkt_num=1, check_param={"port_id": 0, "queue": 1, "mark_id": 0}, stats=True)
- out2 = self.send_pkts_getouput(pkts=pkts[1], port_id=0, count=1)
- rfc.check_mark(out2, pkt_num=1, check_param={"port_id": 0, "queue": [2, 3], "mark_id": 1}, stats=True)
- except Exception as e:
- raise Exception(e)
- finally:
- self.dut.kill_all()
- self.launch_testpmd_with_mark()
-
def test_delete_rules(self):
rules = [
'flow create 0 ingress pattern eth / ipv4 src is 192.168.56.0 dst is 192.1.0.0 tos is 4 / tcp src is 22 dst is 23 / end actions queue index 1 / mark / end',
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts] [PATCH V1 4/6] test_plans/cvl_fdir remove 1 subcase
2020-11-20 10:45 [dts] [PATCH V1 0/6] Remove 8 duplicate cases sunqin
` (3 preceding siblings ...)
2020-11-20 10:45 ` [dts] [PATCH V1 3/6] tests/cvl_fdir remove 1 case sunqin
@ 2020-11-20 10:45 ` sunqin
2020-11-20 10:45 ` [dts] [PATCH V1 5/6] tests/cvl_dcf_switch_filter remove 1 case sunqin
` (2 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: sunqin @ 2020-11-20 10:45 UTC (permalink / raw)
To: dts; +Cc: sunqin
Remove 1 case:
test_add_delete_rules
The case has been moved to 'cvl_limit_value_test' suite
Signed-off-by: sunqin <qinx.sun@intel.com>
---
test_plans/cvl_fdir_test_plan.rst | 38 +------------------------------
1 file changed, 1 insertion(+), 37 deletions(-)
diff --git a/test_plans/cvl_fdir_test_plan.rst b/test_plans/cvl_fdir_test_plan.rst
index 740cb37c..c6b6a8c5 100644
--- a/test_plans/cvl_fdir_test_plan.rst
+++ b/test_plans/cvl_fdir_test_plan.rst
@@ -3699,43 +3699,7 @@ Subcase 1: port stop/port start/port reset
check the packet are redirected to queue 2 with FDIR matched ID=0x1
-Subcase 2: add/delete rules
----------------------------
-
-1. create two rules::
-
- 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 rss queues 2 3 end / mark id 1 / end
-
- return the message::
-
- Flow rule #0 created
- Flow rule #1 created
-
- list the rules::
-
- testpmd> flow list 0
- ID Group Prio Attr Rule
- 0 0 0 i-- ETH IPV4 UDP => QUEUE MARK
- 1 0 0 i-- ETH IPV4 TCP => RSS MARK
-
-2. delete the rules::
-
- testpmd> flow flush 0
-
-3. repeate the create and delete operations in step1-2 15360 times.
-
-4. create the two rules one more time, check the rules listed.
-
-5. send matched packet::
-
- sendp([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)],iface="enp175s0f0")
- sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.20",dst="192.168.0.21")/TCP(sport=22,dport=23)/Raw('x' * 80)],iface="enp175s0f0")
-
- check packet 1 is redirected to queue 1 with FDIR matched ID=0x0
- check packet 2 is redirected to queue 2 or queue 3 with FDIR matched ID=0x1
-
-Subcase 3: delete rules
+Subcase 2: delete rules
-----------------------
1. create 3 rules and destory the first rule::
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts] [PATCH V1 5/6] tests/cvl_dcf_switch_filter remove 1 case
2020-11-20 10:45 [dts] [PATCH V1 0/6] Remove 8 duplicate cases sunqin
` (4 preceding siblings ...)
2020-11-20 10:45 ` [dts] [PATCH V1 4/6] test_plans/cvl_fdir remove 1 subcase sunqin
@ 2020-11-20 10:45 ` sunqin
2020-11-20 10:45 ` [dts] [PATCH V1 6/6] test_plans/cvl_dcf_switch_filter " sunqin
2020-11-23 3:14 ` [dts] [PATCH V1 0/6] Remove 8 duplicate cases Tu, Lijuan
7 siblings, 0 replies; 9+ messages in thread
From: sunqin @ 2020-11-20 10:45 UTC (permalink / raw)
To: dts; +Cc: sunqin
Remove 1 case:
test_max_rule_number
The case has been moved to 'cvl_limit_value_test' suite
Signed-off-by: sunqin <qinx.sun@intel.com>
---
tests/TestSuite_cvl_dcf_switch_filter.py | 73 ------------------------
1 file changed, 73 deletions(-)
diff --git a/tests/TestSuite_cvl_dcf_switch_filter.py b/tests/TestSuite_cvl_dcf_switch_filter.py
index 64f50de4..a65b73a3 100644
--- a/tests/TestSuite_cvl_dcf_switch_filter.py
+++ b/tests/TestSuite_cvl_dcf_switch_filter.py
@@ -2025,79 +2025,6 @@ class CVLDCFSwitchFilterTest(TestCase):
destroy_dict["expect_results"]["expect_pkts"] = 0
self.send_and_check_packets(destroy_dict)
- def test_max_rule_number(self):
- #set up 4 vfs on 1 pf environment
- self.setup_1pf_vfs_env()
- #create 32563 rules with the same pattern, but different input set to file
- src_file = 'dep/testpmd_cmds_32k_switch_rules'
- flows = open(src_file, mode='w')
- rule_count = 1
- for i in range(0,255):
- for j in range(0,255):
- if not rule_count > 32563:
- flows.write('flow create 0 ingress pattern eth / ipv4 src is 192.168.%d.%d / end actions vf id 1 / end \n' % (i, j))
- matched_scapy_str = 'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.%d.%d")/TCP(sport=25,dport=23)/Raw("X"*480)' % (i, j)
- tv_max_rule_number["matched"]["scapy_str"].append(matched_scapy_str)
- rule_count += 1
- else:
- break
- if rule_count > 32563:
- break
- flows.close()
- self.dut_file_dir = '/tmp'
- self.dut.session.copy_file_to(src_file, self.dut_file_dir)
- #launch testpmd with 32563 rules
- vf0_pci = self.sriov_vfs_port_0[0].pci
- vf1_pci = self.sriov_vfs_port_0[1].pci
- all_eal_param = self.dut.create_eal_parameters(cores="1S/4C/1T", ports=[vf0_pci, vf1_pci], port_options={vf0_pci:"cap=dcf"})
- command = self.path + all_eal_param + " -- -i --cmdline-file=/tmp/testpmd_cmds_32k_switch_rules"
- out = self.dut.send_expect(command, "testpmd> ", 360)
- self.testpmd_status = "running"
- self.dut.send_expect("set portlist 1", "testpmd> ", 15)
- self.dut.send_expect("set fwd rxonly", "testpmd> ", 15)
- #check the rule list with 32563 rules
- rule_list_num = list(range(0, 32563))
- rule_list = [str(x) for x in rule_list_num]
- self.check_switch_filter_rule_list(0, rule_list)
- #create other rules to make switch filter table full
- m = i
- t = j
- p = re.compile(r"Flow rule #(\d+) created")
- switch_table_full_flag = False
- count = 0
- for i in range(m,255):
- for j in range(t,255):
- rule = 'flow create 0 ingress pattern eth / ipv4 src is 192.168.%d.%d / end actions vf id 1 / end \n' % (i, j)
- matched_packet = 'Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.%d.%d")/TCP(sport=25,dport=23)/Raw("X"*480)' % (i, j)
- out = self.dut.send_expect(rule, "testpmd> ", timeout=2) #create a rule
- m1 = p.search(out)
- if m1:
- rule_list.append(m1.group(1))
- tv_max_rule_number["matched"]["scapy_str"].append(matched_packet)
- count += 1
- else:
- self.verify("Failed to create flow" in out, "Log not provide a friendly output to indicate that the rule failed to create.")
- switch_table_full_flag = True
- break
- if switch_table_full_flag:
- break
- tv_max_rule_number["matched"]["expect_results"]["expect_pkts"] += count
- #check the rule list
- self.check_switch_filter_rule_list(0, rule_list)
- #send matched packets and check
- matched_dic = tv_max_rule_number["matched"]
- self.send_and_check_packets(matched_dic)
- #send mismatched packets and check
- mismatched_dic = tv_max_rule_number["mismatched"]
- self.send_and_check_packets(mismatched_dic)
- #destroy rules and send matched packets
- self.dut.send_expect("flow flush 0", "testpmd> ", 300)
- self.check_switch_filter_rule_list(0, [])
- #send matched packets and check
- destroy_dict = copy.deepcopy(matched_dic)
- destroy_dict["expect_results"]["expect_pkts"] = 0
- self.send_and_check_packets(destroy_dict)
-
def test_dcf_stop_start(self):
#set up 4 vfs on 1 pf environment
self.setup_1pf_vfs_env()
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts] [PATCH V1 6/6] test_plans/cvl_dcf_switch_filter remove 1 case
2020-11-20 10:45 [dts] [PATCH V1 0/6] Remove 8 duplicate cases sunqin
` (5 preceding siblings ...)
2020-11-20 10:45 ` [dts] [PATCH V1 5/6] tests/cvl_dcf_switch_filter remove 1 case sunqin
@ 2020-11-20 10:45 ` sunqin
2020-11-23 3:14 ` [dts] [PATCH V1 0/6] Remove 8 duplicate cases Tu, Lijuan
7 siblings, 0 replies; 9+ messages in thread
From: sunqin @ 2020-11-20 10:45 UTC (permalink / raw)
To: dts; +Cc: sunqin
Remove 1 case:
test_max_rule_number
The case has been moved to 'cvl_limit_value_test' suite
Signed-off-by: sunqin <qinx.sun@intel.com>
---
.../cvl_dcf_switch_filter_test_plan.rst | 57 -------------------
1 file changed, 57 deletions(-)
diff --git a/test_plans/cvl_dcf_switch_filter_test_plan.rst b/test_plans/cvl_dcf_switch_filter_test_plan.rst
index ff7c4454..55ea726f 100644
--- a/test_plans/cvl_dcf_switch_filter_test_plan.rst
+++ b/test_plans/cvl_dcf_switch_filter_test_plan.rst
@@ -4157,63 +4157,6 @@ will not hang and provide a friendly output.
check the rules not exist in the list.
send matched packets, check the packets are not to port 1.
-Test case: max rule number
-==========================
-
-Description: 32k switch filter rules can be created on a CVL card,
-and all PFs and VFs share the 32k rules. But the system will first create
-some MAC_VLAN rules in switch table, and as the number of rules increased,
-the hash conflicts in the switch filter table are increased, so we can
-create a total of 32563 switch filter rules on a DCF.
-
-1. create 32563 rules with the same pattern, but different input set::
-
- testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.0 / end actions vf id 1 / end
- testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 / end actions vf id 1 / end
- ......
- testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.127.177 / end actions vf id 1 / end
- testpmd> flow list 0
-
- check the rules exist in the list.
-
-2. create one more rule::
-
- testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.127.178 / end actions vf id 1 / end
-
- check the rule can not be created successfully, and
- testpmd provide a friendly output, showing::
-
- ice_flow_create(): Failed to create flow
- port_flow_complain(): Caught PMD error type 2 (flow rule (handle)): switch filter create flow fail: Invalid argument
-
-3. check the rule list
-
- testpmd> flow list 0
-
- check the rule in step 2 not exists in the list.
-
-4. send 32563 matched packets for rule 0-32562::
-
- sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.0")/TCP(sport=25,dport=23)/("X"*480)], iface="ens786f0", count=1)
- sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1")/TCP(sport=25,dport=23)/("X"*480)], iface="ens786f0", count=1)
- ......
- sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.127.177")/TCP(sport=25,dport=23)/("X"*480)], iface="ens786f0", count=1)
-
- check port 1 receive the 32563 packets.
- send 1 mismatched packet::
-
- sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.167.0.1")/TCP(sport=25,dport=23)/("X"*480)], iface="ens786f0", count=1)
-
- check the packet are not to port 1.
-
-5. verify rules can be destroyed::
-
- testpmd> flow flush 0
- testpmd> flow list 0
-
- check the rules not exist in the list.
- send 32563 matched packets, check the packets are not to port 1.
-
Test case: negative cases
=========================
--
2.17.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [dts] [PATCH V1 0/6] Remove 8 duplicate cases
2020-11-20 10:45 [dts] [PATCH V1 0/6] Remove 8 duplicate cases sunqin
` (6 preceding siblings ...)
2020-11-20 10:45 ` [dts] [PATCH V1 6/6] test_plans/cvl_dcf_switch_filter " sunqin
@ 2020-11-23 3:14 ` Tu, Lijuan
7 siblings, 0 replies; 9+ messages in thread
From: Tu, Lijuan @ 2020-11-23 3:14 UTC (permalink / raw)
To: Sun, QinX, dts; +Cc: Sun, QinX
> Remove 8 duplicate cases from 3 suite and plan.
>
> iavf_fdir: 6 cases
> cvl_fdir: 1 case
> cvl_dcf_switch_filter: 1 case
>
> These 8 cases have been made as a new test suite 'cvl_limit_value_test',
>
> so remove them from original suite and plan
>
> sunqin (6):
> tests/iavf_fdir remove 6 cases
> test_plans/iavf_fdir remove 6 subcases
> tests/cvl_fdir remove 1 case
> test_plans/cvl_fdir remove 1 subcase
> tests/cvl_dcf_switch_filter remove 1 case
> test_plans/cvl_dcf_switch_filter remove 1 case
Applied
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2020-11-23 3:14 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-20 10:45 [dts] [PATCH V1 0/6] Remove 8 duplicate cases sunqin
2020-11-20 2:16 ` Sun, QinX
2020-11-20 10:45 ` [dts] [PATCH V1 1/6] tests/iavf_fdir remove 6 cases sunqin
2020-11-20 10:45 ` [dts] [PATCH V1 2/6] test_plans/iavf_fdir remove 6 subcases sunqin
2020-11-20 10:45 ` [dts] [PATCH V1 3/6] tests/cvl_fdir remove 1 case sunqin
2020-11-20 10:45 ` [dts] [PATCH V1 4/6] test_plans/cvl_fdir remove 1 subcase sunqin
2020-11-20 10:45 ` [dts] [PATCH V1 5/6] tests/cvl_dcf_switch_filter remove 1 case sunqin
2020-11-20 10:45 ` [dts] [PATCH V1 6/6] test_plans/cvl_dcf_switch_filter " sunqin
2020-11-23 3:14 ` [dts] [PATCH V1 0/6] Remove 8 duplicate cases Tu, Lijuan
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).