test suite reviews and discussions
 help / color / mirror / Atom feed
* [dts] [PATCH V1 1/2] test_plans/iavf_fdir: replace rules with less consumption TCAM rule
@ 2021-08-31  3:27 Jiale Song
  2021-08-31  3:27 ` [dts] [PATCH V1 2/2] tests/iavf_fdir: create rules with less consumption of TCAM rule in suite Jiale Song
  2021-09-01  2:47 ` [dts] [PATCH V1 1/2] test_plans/iavf_fdir: replace rules with less consumption TCAM rule Peng, Yuan
  0 siblings, 2 replies; 6+ messages in thread
From: Jiale Song @ 2021-08-31  3:27 UTC (permalink / raw)
  To: dts; +Cc: yuan.peng, Jiale Song

the number of rules created is affected by the profile and TCAM. the maximum profile is 128 and 
the maximum TCAM is 512. in order to test the maximum profile, need to create rules that consume 
less TCAM to ensure that the profile will reach the maximum before TCAM exhausted

Signed-off-by: Jiale Song <songx.jiale@intel.com>
---
 test_plans/iavf_fdir_test_plan.rst | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/test_plans/iavf_fdir_test_plan.rst b/test_plans/iavf_fdir_test_plan.rst
index ac42390..51cebfe 100644
--- a/test_plans/iavf_fdir_test_plan.rst
+++ b/test_plans/iavf_fdir_test_plan.rst
@@ -4420,20 +4420,19 @@ Subcase 1: 128 profiles
 
 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
-    flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / sctp src is 22 dst is 23 / end actions queue index 1 / mark / end
-    flow create 0 ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 / udp src is 22 dst is 23 / end actions queue index 1 / mark / end
-    flow create 0 ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 / tcp src is 22 dst is 23 / end actions queue index 1 / mark / end
-    flow create 0 ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 / sctp src is 22 dst is 23 / end actions queue index 1 / mark / end
-    flow create 0 ingress pattern eth type is 0x8863 / end actions queue index 1 / mark id 1 / end
-    flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions queue index 2 / end
+    flow create 0 ingress pattern eth / ipv4 / l2tpv3oip session_id is 1 / end actions queue index 1 / mark / end
+    flow create 0 ingress pattern eth / ipv6 / l2tpv3oip session_id is 2 / end actions queue index 1 / mark / end
+    flow create 0 ingress pattern eth / ipv4 / tcp / end actions queue index 2 / mark / end
+    flow create 0 ingress pattern eth / ipv6 / tcp / end actions queue index 2 / mark / end
+    flow create 0 ingress pattern eth / ipv4 / esp spi is 1 / end actions queue index 3 / mark / end
+    flow create 0 ingress pattern eth / ipv6 / esp spi is 2 / end actions queue index 3 / mark / end
+    flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions queue index 4 / mark id 1 / end
+    flow create 0 ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions queue index 4 / end
 
    created successfully on port 0-12,
    failed from rule 6 on port 13::
 
-    testpmd> flow create 13 ingress pattern eth type is 0x8863 / end actions queue index 1 / mark id 1 / end
-    eth
+    testpmd> flow create 0 ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions queue index 4 / mark id 1 / end
     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
@@ -4462,6 +4461,7 @@ Subcase 1: 128 profiles
    profile 0 and profile 1 are default profile for specific packet.
    we design case with 2*100G card, so 110 profiles can be used for vf.
    if we use 4*25G card, only 94 profiles can be used for vf.
+   if card is chapman beach 100g*2, one pf port equals a general 100g*2 card,so 118 profiles can be used for vf
 
 4. send matched packets to vf 12,
    the packets are redirected to the expected queue.
@@ -6429,4 +6429,4 @@ packets::
    pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20)
    pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20)
 
-repeat step 1-12 of subcase 1.
\ No newline at end of file
+repeat step 1-12 of subcase 1.
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* [dts] [PATCH V1 2/2] tests/iavf_fdir: create rules with less consumption of TCAM rule in suite
  2021-08-31  3:27 [dts] [PATCH V1 1/2] test_plans/iavf_fdir: replace rules with less consumption TCAM rule Jiale Song
@ 2021-08-31  3:27 ` Jiale Song
  2021-09-01  2:48   ` Peng, Yuan
  2021-09-29  3:29   ` Tu, Lijuan
  2021-09-01  2:47 ` [dts] [PATCH V1 1/2] test_plans/iavf_fdir: replace rules with less consumption TCAM rule Peng, Yuan
  1 sibling, 2 replies; 6+ messages in thread
From: Jiale Song @ 2021-08-31  3:27 UTC (permalink / raw)
  To: dts; +Cc: yuan.peng, Jiale Song

modify the suite according to the testplan

Signed-off-by: Jiale Song <songx.jiale@intel.com>
---
 tests/TestSuite_iavf_fdir.py | 59 +++++++++++++++++++++++++++-----------------
 1 file changed, 36 insertions(+), 23 deletions(-)

diff --git a/tests/TestSuite_iavf_fdir.py b/tests/TestSuite_iavf_fdir.py
index d79829e..a737331 100644
--- a/tests/TestSuite_iavf_fdir.py
+++ b/tests/TestSuite_iavf_fdir.py
@@ -8453,6 +8453,14 @@ class TestIAVFFdir(TestCase):
             nex_cnt = 94 // 8
         elif len(self.dut_ports) == 2:
             nex_cnt = 110 // 8
+            # check the card is chapman beach 100g*2 or not
+            pf_pci = self.dut.ports_info[0]['pci']
+            out = self.dut.send_expect('lspci -s {} -vvv |grep "Product Name"'.format(pf_pci), '#')
+            res = re.search(r"Network Adapter\s+(?P<product_name>E810-.*)", out)
+            self.verify(res, "product name not found'")
+            # if card is chapman beach 100g*2, one pf port equals a general 100g*2 card,so 118 profiles can be used for vf
+            if 'E810-2CQDA2' in res.group('product_name'):
+                nex_cnt = 118 // 8
         else:
             self.verify(False, 'The number of ports is not supported')
 
@@ -8462,43 +8470,48 @@ class TestIAVFFdir(TestCase):
         self.config_testpmd()
 
         for port_id in range(nex_cnt):
+            #The number of rules created is affected by the profile and TCAM. The maximum profile is 128 and the maximum
+            #TCAM is 512. In order to test the maximum profile, need to create rules that consume less TCAM to ensure
+            #that the profile will reach the maximum before TCAM exhausted
             rules = [
-                "flow create %d 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" % port_id,
-                "flow create %d 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" % port_id,
-                "flow create %d ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / sctp src is 22 dst is 23 / end actions queue index 1 / mark / end" % port_id,
-                "flow create %d ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 / udp src is 22 dst is 23 / end actions queue index 1 / mark / end" % port_id,
-                "flow create %d ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 / tcp src is 22 dst is 23 / end actions queue index 1 / mark / end" % port_id,
-                "flow create %d ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 / sctp src is 22 dst is 23 / end actions queue index 1 / mark / end" % port_id,
-                "flow create %d ingress pattern eth type is 0x8863 / end actions queue index 1 / mark id 1 / end" % port_id,
-                "flow create %d ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions queue index 2 / end" % port_id]
-            self.create_fdir_rule(rules, check_stats=True)
+                "flow create {} ingress pattern eth / ipv4 / l2tpv3oip session_id is 1 / end actions queue index 1 / mark / end",
+                "flow create {} ingress pattern eth / ipv6 / l2tpv3oip session_id is 2 / end actions queue index 1 / mark / end",
+                "flow create {} ingress pattern eth / ipv4 / tcp / end actions queue index 2 / mark / end",
+                "flow create {} ingress pattern eth / ipv6 / tcp / end actions queue index 2 / mark / end",
+                "flow create {} ingress pattern eth / ipv4 / esp spi is 1 / end actions queue index 3 / mark / end",
+                "flow create {} ingress pattern eth / ipv6 / esp spi is 2 / end actions queue index 3 / mark / end",
+                "flow create {} ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions queue index 4 / mark id 1 / end",
+                "flow create {} ingress pattern eth / ipv6 / udp / pfcp s_field is 1 / end actions queue index 4 / end"
+            ]
+            self.create_fdir_rule([rule.format(port_id) for rule in rules], check_stats=True)
 
         rules = [
-            "flow create {} 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".format(nex_cnt),
-            "flow create {} 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".format(nex_cnt),
-            "flow create {} ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / sctp src is 22 dst is 23 / end actions queue index 1 / mark / end".format(nex_cnt),
-            "flow create {} ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 / udp src is 22 dst is 23 / end actions queue index 1 / mark / end".format(nex_cnt),
-            "flow create {} ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 / tcp src is 22 dst is 23 / end actions queue index 1 / mark / end".format(nex_cnt),
-            "flow create {} ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 / sctp src is 22 dst is 23 / end actions queue index 1 / mark / end".format(nex_cnt)]
-        self.create_fdir_rule(rules, check_stats=True)
+            "flow create {} ingress pattern eth / ipv4 / l2tpv3oip session_id is 1 / end actions queue index 1 / mark / end",
+            "flow create {} ingress pattern eth / ipv6 / l2tpv3oip session_id is 2 / end actions queue index 1 / mark / end",
+            "flow create {} ingress pattern eth / ipv4 / tcp / end actions queue index 2 / mark / end",
+            "flow create {} ingress pattern eth / ipv6 / tcp / end actions queue index 2 / mark / end",
+            "flow create {} ingress pattern eth / ipv4 / esp spi is 1 / end actions queue index 3 / mark / end",
+            "flow create {} ingress pattern eth / ipv6 / esp spi is 2 / end actions queue index 3 / mark / end"
+        ]
+        self.create_fdir_rule([rule.format(nex_cnt) for rule in rules], check_stats=True)
 
-        rule = "flow create {} ingress pattern eth type is 0x8863 / end actions queue index 1 / mark id 1 / end".format(nex_cnt)
+        rule = "flow create {} ingress pattern eth / ipv4 / udp / pfcp s_field is 0 / end actions queue index 4 / mark id 1 / end".format(nex_cnt)
         self.create_fdir_rule(rule, check_stats=False)
-        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)'
+        pkt1 =  'Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.20",dst="192.168.0.21")/TCP()/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)'
+        rfc.check_iavf_fdir_mark(out, pkt_num=1, check_param={"port_id": nex_cnt, "mark_id": 0, "queue": 2}, stats=True)
+        pkt2 = 'Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.20",dst="192.168.0.21")/UDP(dport=8805)/PFCP(S=0)/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)
+        rfc.check_iavf_fdir_mark(out, pkt_num=1, check_param={"port_id": nex_cnt, "mark_id": 1, "queue": 4}, 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=pkt1)
-        rfc.check_iavf_fdir_mark(out, pkt_num=1, check_param={"port_id": nex_cnt, "mark_id": 0, "queue": 1}, stats=False)
+        rfc.check_iavf_fdir_mark(out, pkt_num=1, check_param={"port_id": nex_cnt, "mark_id": 0, "queue": 2}, 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)
+        rfc.check_iavf_fdir_mark(out, pkt_num=1, check_param={"port_id": nex_cnt, "mark_id": 1, "queue": 4}, stats=True)
 
     def test_stress_port_stop_start(self):
         """
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dts] [PATCH V1 1/2] test_plans/iavf_fdir: replace rules with less consumption TCAM rule
  2021-08-31  3:27 [dts] [PATCH V1 1/2] test_plans/iavf_fdir: replace rules with less consumption TCAM rule Jiale Song
  2021-08-31  3:27 ` [dts] [PATCH V1 2/2] tests/iavf_fdir: create rules with less consumption of TCAM rule in suite Jiale Song
@ 2021-09-01  2:47 ` Peng, Yuan
  1 sibling, 0 replies; 6+ messages in thread
From: Peng, Yuan @ 2021-09-01  2:47 UTC (permalink / raw)
  To: Jiale, SongX, dts

Acked-by Peng, Yuan <yuan.peng@intel.com>

-----Original Message-----
From: Jiale, SongX <songx.jiale@intel.com> 
Sent: Tuesday, August 31, 2021 11:28 AM
To: dts@dpdk.org
Cc: Peng, Yuan <yuan.peng@intel.com>; Jiale, SongX <songx.jiale@intel.com>
Subject: [dts] [PATCH V1 1/2] test_plans/iavf_fdir: replace rules with less consumption TCAM rule

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dts] [PATCH V1 2/2] tests/iavf_fdir: create rules with less consumption of TCAM rule in suite
  2021-08-31  3:27 ` [dts] [PATCH V1 2/2] tests/iavf_fdir: create rules with less consumption of TCAM rule in suite Jiale Song
@ 2021-09-01  2:48   ` Peng, Yuan
  2021-09-29  3:20     ` Tu, Lijuan
  2021-09-29  3:29   ` Tu, Lijuan
  1 sibling, 1 reply; 6+ messages in thread
From: Peng, Yuan @ 2021-09-01  2:48 UTC (permalink / raw)
  To: Jiale, SongX, dts

Acked-by Peng, Yuan <yuan.peng@intel.com>

-----Original Message-----
From: Jiale, SongX <songx.jiale@intel.com> 
Sent: Tuesday, August 31, 2021 11:28 AM
To: dts@dpdk.org
Cc: Peng, Yuan <yuan.peng@intel.com>; Jiale, SongX <songx.jiale@intel.com>
Subject: [dts] [PATCH V1 2/2] tests/iavf_fdir: create rules with less consumption of TCAM rule in suite

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dts] [PATCH V1 2/2] tests/iavf_fdir: create rules with less consumption of TCAM rule in suite
  2021-09-01  2:48   ` Peng, Yuan
@ 2021-09-29  3:20     ` Tu, Lijuan
  0 siblings, 0 replies; 6+ messages in thread
From: Tu, Lijuan @ 2021-09-29  3:20 UTC (permalink / raw)
  To: Peng, Yuan, Jiale, SongX, dts



> -----Original Message-----
> From: dts <dts-bounces@dpdk.org> On Behalf Of Peng, Yuan
> Sent: 2021年9月1日 10:48
> To: Jiale, SongX <songx.jiale@intel.com>; dts@dpdk.org
> Subject: Re: [dts] [PATCH V1 2/2] tests/iavf_fdir: create rules with less
> consumption of TCAM rule in suite
> 
> Acked-by Peng, Yuan <yuan.peng@intel.com>
> 
> -----Original Message-----
> From: Jiale, SongX <songx.jiale@intel.com>
> Sent: Tuesday, August 31, 2021 11:28 AM
> To: dts@dpdk.org
> Cc: Peng, Yuan <yuan.peng@intel.com>; Jiale, SongX <songx.jiale@intel.com>
> Subject: [dts] [PATCH V1 2/2] tests/iavf_fdir: create rules with less consumption
> of TCAM rule in suite

Applied, thanks

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [dts] [PATCH V1 2/2] tests/iavf_fdir: create rules with less consumption of TCAM rule in suite
  2021-08-31  3:27 ` [dts] [PATCH V1 2/2] tests/iavf_fdir: create rules with less consumption of TCAM rule in suite Jiale Song
  2021-09-01  2:48   ` Peng, Yuan
@ 2021-09-29  3:29   ` Tu, Lijuan
  1 sibling, 0 replies; 6+ messages in thread
From: Tu, Lijuan @ 2021-09-29  3:29 UTC (permalink / raw)
  To: Jiale, SongX, dts; +Cc: Peng, Yuan, Jiale, SongX

> -----Original Message-----
> From: dts <dts-bounces@dpdk.org> On Behalf Of Jiale Song
> Sent: 2021年8月31日 11:28
> To: dts@dpdk.org
> Cc: Peng, Yuan <yuan.peng@intel.com>; Jiale, SongX <songx.jiale@intel.com>
> Subject: [dts] [PATCH V1 2/2] tests/iavf_fdir: create rules with less consumption
> of TCAM rule in suite
> 
> modify the suite according to the testplan
> 
> Signed-off-by: Jiale Song <songx.jiale@intel.com>

Sorry, apply failed, could you please rework your patches on latest dts.

CONFLICT (content): Merge conflict in test_plans/iavf_fdir_test_plan.rst

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2021-09-29  3:29 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-31  3:27 [dts] [PATCH V1 1/2] test_plans/iavf_fdir: replace rules with less consumption TCAM rule Jiale Song
2021-08-31  3:27 ` [dts] [PATCH V1 2/2] tests/iavf_fdir: create rules with less consumption of TCAM rule in suite Jiale Song
2021-09-01  2:48   ` Peng, Yuan
2021-09-29  3:20     ` Tu, Lijuan
2021-09-29  3:29   ` Tu, Lijuan
2021-09-01  2:47 ` [dts] [PATCH V1 1/2] test_plans/iavf_fdir: replace rules with less consumption TCAM rule Peng, Yuan

test suite reviews and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.dpdk.org/dts/0 dts/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dts dts/ http://inbox.dpdk.org/dts \
		dts@dpdk.org
	public-inbox-index dts

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dts


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git