[dts] [PATCH V1] tests/generic_flow_api: add two test cases

Lin, Xueqin xueqin.lin at intel.com
Mon Aug 2 11:54:00 CEST 2021


> -----Original Message-----
> From: dts <dts-bounces at dpdk.org> On Behalf Of Lingli Chen
> Sent: Friday, July 30, 2021 11:11 PM
> To: dts at dpdk.org
> Cc: Chen, LingliX <linglix.chen at intel.com>
> Subject: [dts] [PATCH V1] tests/generic_flow_api: add two test cases
> 
> add new i40e test cases.
> 
> Signed-off-by: Lingli Chen <linglix.chen at intel.com>
Acked-by: Xueqin Lin <Xueqin.lin at intel.com>
> ---
>  tests/TestSuite_generic_flow_api.py | 54 +++++++++++++++++++++++++++++
>  1 file changed, 54 insertions(+)
> 
> diff --git a/tests/TestSuite_generic_flow_api.py
> b/tests/TestSuite_generic_flow_api.py
> index b97b49f2..546e63a7 100644
> --- a/tests/TestSuite_generic_flow_api.py
> +++ b/tests/TestSuite_generic_flow_api.py
> @@ -2487,6 +2487,60 @@ class TestGeneric_flow_api(TestCase):
>              flag = 0
>              self.verify(flag, "The packet index %d and %d hash values are same,
> rss_granularity_config failed!" %(result_rows[3][0],result_rows[4][0]))
> 
> +     def test_create_same_rule_after_destroy(self):
> +
> +         self.pmdout.start_testpmd("%s" % self.cores, "--disable-rss --rxq=%d --
> txq=%d" % (MAX_QUEUE+1, MAX_QUEUE+1))
> +         self.dut.send_expect("set fwd rxonly", "testpmd> ", 120)
> +         self.dut.send_expect("set verbose 1", "testpmd> ", 120)
> +         self.dut.send_expect("start", "testpmd> ", 120)
> +         time.sleep(2)
> +
> +         self.dut.send_expect(
> +             "flow create 0 ingress pattern eth / ipv4 / udp src is 32 / end actions
> queue index 2 / end", "created")
> +
> +         out = self.dut.send_expect("flow destroy 0 rule 0", "testpmd> ")
> +         p = re.compile(r"Flow rule #(\d+) destroyed")
> +         m = p.search(out)
> +         self.verify(m, "flow rule 0 delete failed" )
> +
> +         self.dut.send_expect(
> +             "flow create 0 ingress pattern eth / ipv4 / udp src is 32 / end actions
> queue index 2 / end", "created")
> +
> +         self.sendpkt(pktstr='Ether(dst="%s")/IP()/UDP(sport=32)/Raw("x" * 20)' %
> self.pf_mac)
> +         self.verify_result("pf", expect_rxpkts="1", expect_queue="2",
> verify_mac=self.pf_mac)
> +         self.sendpkt(pktstr='Ether(dst="%s")/IP()/UDP(dport=32)/Raw("x" * 20)' %
> self.pf_mac)
> +         self.verify_result("pf", expect_rxpkts="1", expect_queue="0",
> verify_mac=self.pf_mac)
> +
> +         self.dut.send_expect("quit", "# ")
> +         time.sleep(2)
> +
> +     def test_create_different_rule_after_destroy(self):
> +
> +         self.pmdout.start_testpmd("%s" % self.cores, "--disable-rss --rxq=%d --
> txq=%d" % (MAX_QUEUE+1, MAX_QUEUE+1))
> +         self.dut.send_expect("set fwd rxonly", "testpmd> ", 120)
> +         self.dut.send_expect("set verbose 1", "testpmd> ", 120)
> +         self.dut.send_expect("start", "testpmd> ", 120)
> +         time.sleep(2)
> +
> +         self.dut.send_expect(
> +             "flow create 0 ingress pattern eth / ipv4 / udp src is 32 / end actions
> queue index 2 / end", "created")
> +
> +         out = self.dut.send_expect("flow destroy 0 rule 0", "testpmd> ")
> +         p = re.compile(r"Flow rule #(\d+) destroyed")
> +         m = p.search(out)
> +         self.verify(m, "flow rule 0 delete failed" )
> +
> +         self.dut.send_expect(
> +             "flow create 0 ingress pattern eth / ipv4 / udp dst is 32 / end actions
> queue index 2 / end", "created")
> +
> +         self.sendpkt(pktstr='Ether(dst="%s")/IP()/UDP(dport=32)/Raw("x" * 20)' %
> self.pf_mac)
> +         self.verify_result("pf", expect_rxpkts="1", expect_queue="2",
> verify_mac=self.pf_mac)
> +         self.sendpkt(pktstr='Ether(dst="%s")/IP()/UDP(sport=32)/Raw("x" * 20)' %
> self.pf_mac)
> +         self.verify_result("pf", expect_rxpkts="1", expect_queue="0",
> verify_mac=self.pf_mac)
> +
> +         self.dut.send_expect("quit", "# ")
> +         time.sleep(2)
> +
>      def tear_down(self):
>          """
>          Run after each test case.
> --
> 2.17.1



More information about the dts mailing list