From: Yan Xia <yanx.xia@intel.com>
To: dts@dpdk.org
Cc: Yan Xia <yanx.xia@intel.com>
Subject: [dts] [PATCH V1 2/3] test_plans/generic_flow_api: add and modify test plan of test cases
Date: Mon, 6 Sep 2021 17:36:09 +0000 [thread overview]
Message-ID: <20210906173609.24015-1-yanx.xia@intel.com> (raw)
modify test cases about legcay command and move these to generic_flow_api_test_plan
Signed-off-by: Yan Xia <yanx.xia@intel.com>
---
test_plans/generic_flow_api_test_plan.rst | 160 ++++++++++++++++++++--
1 file changed, 150 insertions(+), 10 deletions(-)
diff --git a/test_plans/generic_flow_api_test_plan.rst b/test_plans/generic_flow_api_test_plan.rst
index d1fa33bd..519f0453 100644
--- a/test_plans/generic_flow_api_test_plan.rst
+++ b/test_plans/generic_flow_api_test_plan.rst
@@ -831,14 +831,6 @@ Test case: IXGBE L2-tunnel(supported by x552 and x550)
testpmd> set verbose 1
testpmd> start
- Enabling ability of parsing E-tag packet, set on pf::
-
- testpmd> port config 0 l2-tunnel E-tag enable
-
- Enable E-tag packet forwarding, set on pf::
-
- testpmd> E-tag set forwarding on port 0
-
2. create filter rules::
testpmd> flow create 0 ingress pattern e_tag grp_ecid_b is 0x1309 / end actions queue index 0 / end
@@ -850,10 +842,8 @@ Test case: IXGBE L2-tunnel(supported by x552 and x550)
pkt1 = Ether(dst="00:11:22:33:44:55")/Dot1BR(GRP=0x1, ECIDbase=0x309)/Raw('x' * 20)
pkt2 = Ether(dst="00:11:22:33:44:55")/Dot1BR(GRP=0x1, ECIDbase=0x308)/Raw('x' * 20)
pkt3 = Ether(dst="00:11:22:33:44:55")/Dot1BR(GRP=0x1, ECIDbase=0x307)/Raw('x' * 20)
- pkt4 = Ether(dst="00:11:22:33:44:55")/Dot1BR(GRP=0x2, ECIDbase=0x309)/Raw('x' * 20)
verify pkt1 to vf0 queue0, pkt2 to vf1 queue0, pkt3 to pf queue0,
- pkt4 can't received by pf and vfs.
4. verify rules can be listed and destroyed::
@@ -2042,3 +2032,153 @@ Test case: create different rule after destroy
pkt2 = Ether()/IP()/UDP(dport=32)/Raw('x' * 20)
verify match pkt2 to queue 2, verify mismatch pkt1 to queue 0.
+
+Test Case: 10GB Multiple filters
+======================================
+
+1. config testpmd on DUT
+
+ 1. set up testpmd with Fortville NICs::
+
+ ./testpmd -l 1,2,3,4,5,6,7,8 -n 4 -- -i --disable-rss --rxq=16 --txq=16
+
+ 2. verbose configuration::
+
+ testpmd> set verbose 1
+
+ 3. PMD fwd only receive the packets::
+
+ testpmd> set fwd rxonly
+
+ 4. start packet receive::
+
+ testpmd> start
+
+ 5. create rule,Enable ethertype filter, SYN filter and 5-tuple Filter on the port 0 at same
+ time. Assigning different filters to different queues on port 0::
+
+ testpmd> flow validate 0 ingress pattern eth / ipv4 / tcp flags spec 0x02 flags mask 0x02 / end actions queue index 1 / end
+ testpmd> flow validate 0 ingress pattern eth type is 0x0806 / end actions queue index 2 / end
+ testpmd> flow validate 0 ingress pattern eth / ipv4 dst is 2.2.2.5 src is 2.2.2.4 proto is 17 / udp dst is 1 src is 1 / end actions queue index 3 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 / tcp flags spec 0x02 flags mask 0x02 / end actions queue index 1 / end
+ testpmd> flow create 0 ingress pattern eth type is 0x0806 / end actions queue index 2 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 2.2.2.5 src is 2.2.2.4 proto is 17 / udp dst is 1 src is 1 / end actions queue index 3 / end
+
+2. Configure the traffic generator to send different packets. Such as,SYN packets, ARP packets, IP packets and
+packets with(`dst_ip` = 2.2.2.5 `src_ip` = 2.2.2.4 `dst_port` = 1 `src_port` = 1 `protocol` = udp)::
+
+ sendp([Ether(dst="90:e2:ba:36:99:34")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(dport=80,flags="S")/Raw("x" * 20)],iface="ens224f0",count=1,inter=0,verbose=False)
+ sendp([Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst="192.168.1.1")/Raw("x" * 20)],iface="ens224f0",count=1,inter=0,verbose=False)
+ sendp([Ether(dst="90:e2:ba:36:99:34")/Dot1Q(prio=3)/IP(src="2.2.2.4",dst="2.2.2.5")/UDP(sport=1,dport=1)],iface="ens224f0",count=1,inter=0,verbose=False)
+
+3. Verify that all packets are received (RX-packets incremented)on the assigned
+queue, remove 5-tuple filter::
+
+ testpmd> stop
+ testpmd> start
+ testpmd> flow destroy 0 rule 2
+
+4. Send different packets such as,SYN packets, ARP packets, packets with
+(`dst_ip` = 2.2.2.5 `src_ip` = 2.2.2.4 `dst_port` = 1 `src_port` = 1
+`protocol` = udp)::
+
+ testpmd> stop
+
+5. Verify that different packets are received (RX-packets incremented)on the
+assigned queue export 5-tuple filter, remove ethertype filter::
+
+ testpmd> start
+ testpmd> flow destroy 0 rule 1
+
+Send different packets such as,SYN packets, ARP packets, packets with
+(`dst_ip` = 2.2.2.5 `src_ip` = 2.2.2.4 `dst_port` = 1 `src_port` = 1
+`protocol` = udp)::
+
+ testpmd>stop
+
+Verify that only SYN packets are received (RX-packets incremented)on the
+assigned queue set off SYN filter,remove syn filter::
+
+ testpmd>start
+ testpmd>flow destroy 0 rule 0
+
+Configure the traffic generator to send SYN packets::
+
+ testpmd>stop
+
+Verify that the packets are not received (RX-packets do not increased)on the
+queue 1.
+
+Test Case: 128 queues
+========================
+
+This case is designed for NIC(niantic). Since NIC(niantic) has 128 transmit
+queues, it should be supports 128 kinds of filter if Hardware have enough
+cores.
+DPDK enable 64 queues in ixgbe driver by default. Enlarge queue number to 128
+for 128 queues test::
+
+ sed -i -e 's/#define IXGBE_NONE_MODE_TX_NB_QUEUES 64$/#define IXGBE_NONE_MODE_TX_NB_QUEUES 128/' drivers/net/ixgbe/ixgbe_ethdev.h
+
+Launch the app ``testpmd`` with the following arguments::
+
+ ./testpmd -l 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53 -n 4 -- -i --disable-rss --rxq=128 --txq=128 --portmask=0x3 --nb-cores=4 --total-num-mbufs=263168
+
+ testpmd>set stat_qmap rx 0 0 0
+ testpmd>set stat_qmap rx 1 0 0
+ testpmd>vlan set strip off 0
+ testpmd>vlan set strip off 1
+ testpmd>vlan set filter off 0
+ testpmd>vlan set filter off 1
+
+Create the 5-tuple Filters with different queues (64,127) on port 0 for
+niantic::
+
+ testpmd> set stat_qmap rx 0 64 1
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 2.2.2.5 src is 2.2.2.4 / tcp dst is 1 src is 1 / end actions queue index 64 / end
+ testpmd> set stat_qmap rx 0 127 2
+ testpmd> flow create 0 ingress pattern eth / ipv4 dst is 2.2.2.5 src is 2.2.2.4 / tcp dst is 2 src is 1 / end actions queue index 127 / end
+
+Send packets(`dst_ip` = 2.2.2.5 `src_ip` = 2.2.2.4 `dst_port` = 1 `src_port` =
+1 `protocol` = tcp) and (`dst_ip` = 2.2.2.5 `src_ip` = 2.2.2.4 `dst_port` = 2
+`src_port` = 1 `protocol` = tcp ). Then reading the stats for port 0 after
+sending packets. packets are received on the queue 64 and queue 127 When
+setting 5-tuple Filter with queue(128), it will display failure because the
+number of queues no more than 128.
+
+Test Case: jumbo framesize filter
+===================================
+
+This case is designed for NIC (niantic,I350, 82576 and 82580). Since
+``Testpmd`` could transmits packets with jumbo frame size , it also could
+transmit above packets on assigned queue. Launch the app ``testpmd`` with the
+following arguments::
+
+ testpmd -l 1,2,3,4,5,6,7,8 -n 4 -- -i --disable-rss --rxq=4 --txq=4 --portmask=0x3 --nb-cores=4 --nb-ports=1 --mbcache=200 --mbuf-size=2048 --max-pkt-len=9600
+ testpmd> set fwd rxonly
+ testpmd> set verbose 1
+ testpmd> start
+
+Enable the syn filters with large size::
+
+ testpmd> flow validate 0 ingress pattern eth / ipv4 / tcp flags spec 0x02 flags mask 0x02 / end actions queue index 2 / end
+ testpmd> flow create 0 ingress pattern eth / ipv4 / tcp flags spec 0x02 flags mask 0x02 / end actions queue index 2 / end
+
+Configure the traffic generator to send syn packets::
+
+ sendp([Ether(dst="90:e2:ba:36:99:34")/IP(src="2.2.2.5",dst="2.2.2.4")/TCP(dport=80,flags="S")/Raw(load="P"*8962)],iface="ens224f0",count=1,inter=0,verbose=False)
+ testpmd> stop
+
+Then Verify that the packet are received on the queue 2. Configure the traffic generator to send arp packets::
+
+ testpmd> start
+ sendp([Ether(dst="ff:ff:ff:ff:ff:ff")/ARP(pdst="192.168.1.1")],iface="ens224f0",count=1,inter=0,verbose=False)
+
+Then Verify that the packet are not received on the queue 2. Remove the filter::
+
+ testpmd> flow destroy 0 rule 0
+
+Configure the traffic generator to send syn packets. Then Verify that
+the packet are not received on the queue 2::
+
+ testpmd> stop
--
2.17.1
reply other threads:[~2021-09-06 9:04 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210906173609.24015-1-yanx.xia@intel.com \
--to=yanx.xia@intel.com \
--cc=dts@dpdk.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).