* [dts] [PATCH V1 2/8] test_plans/cvl_advanced_rss_test_plan:fix build warnings and errors
2020-01-09 6:05 [dts] [PATCH V1 1/8] test_plans/index: add new test plans into toctree Haiyang Zhao
@ 2020-01-09 6:05 ` Haiyang Zhao
2020-01-09 6:05 ` [dts] [PATCH V1 3/8] test_plans/cvl_fdir_test_plan:fix " Haiyang Zhao
` (6 subsequent siblings)
7 siblings, 0 replies; 9+ messages in thread
From: Haiyang Zhao @ 2020-01-09 6:05 UTC (permalink / raw)
To: dts; +Cc: Haiyang Zhao
Signed-off-by: Haiyang Zhao <haiyangx.zhao@intel.com>
---
| 377 ++++++++++++++++++------------
1 file changed, 230 insertions(+), 147 deletions(-)
--git a/test_plans/cvl_advanced_rss_test_plan.rst b/test_plans/cvl_advanced_rss_test_plan.rst
index e15daac..8a9af1b 100644
--- a/test_plans/cvl_advanced_rss_test_plan.rst
+++ b/test_plans/cvl_advanced_rss_test_plan.rst
@@ -48,113 +48,113 @@ Pattern and input set
---------------------
Table 1:
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | Default hash function: Non Symmetric_toeplitz |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | Default hash function: Non Symmetric_toeplitz |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | Packet Type | Pattern | Input Set |
+ +===============================+====================================+=================================================================================+
+ | IPv4/IPv6 + TCP/UDP/SCTP/ICMP | MAC_IPV4_SRC_ONLY |[Dest MAC],[Source IP] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_DST_ONLY_FRAG |[Dest MAC],[Dest IP] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_PAY |[Dest MAC],[Source IP], [Dest IP] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_SRC_ICMP |[Dest MAC],[Source IP] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_DST_ICMP |[Dest MAC],[Source IP] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_UDP_L3SRC_L4DST |[Dest MAC],[Source IP],[Dest Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_UDP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_TCP_L3SRC_L4DST |[Dest MAC],[Source IP],[Dest Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_TCP_L3DST_L4SRC |[Dest MAC],[Dest IP],[Source Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_TCP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_SCTP_L3SRC_L4DST |[Dest MAC],[Source IP],[Dest Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_SCTP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_NVGRE_ICMP |[Inner Source IP], [Inner Dest IP] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_NVGRE_L3SRC_ICMP |[Inner MAC][Inner Source IP] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_NVGRE_L3DST_ICMP |[Inner MAC][Inner Dest IP] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_NVGRE_TCP |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_NVGRE_SCTP |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_VXLAN_ICMP |[Inner Source IP], [Inner Dest IP] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_VXLAN_L3SRC_ICMP |[Inner MAC][Inner Source IP] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_VXLAN_L3DST_ICMP |[Inner MAC][Inner Dest IP] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_VXLAN_TCP |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_VXLAN_SCTP |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_VXLAN_UDP |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV6_SRC_ONLY |[Dest MAC],[Source IP] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV6_DST_ONLY_FRAG |[Dest MAC],[Dest IP] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV6_PAY |[Dest MAC],[Source IP], [Dest IP], |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV6_UDP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV6_TCP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV6_SCTP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_PPPOE_PPPOD |[Dest MAC],[Session ID],[Proto] ,[Source IP] ,[Dest IP] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_PPPOE_TCP |[Dest MAC],[Session ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_PPPOE_UDP |[Dest MAC],[Session ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_PPPOE_TCP |[Dest MAC],[Session ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_PPPOE_ICMP |[Dest MAC],[Session ID],[Proto],[Source IP],[Dest IP] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_GTP | [TEID] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+ | | MAC_IPV4_GTPU_IPV4_TCP | [TEID] |
+ +-------------------------------+------------------------------------+---------------------------------------------------------------------------------+
+
+Table 2:
+ +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
+ | Hash function: Symmetric_toeplitz |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
| Packet Type | Pattern | Input Set |
+===============================+====================================+===============================================================================+
- | IPv4/IPv6 + TCP/UDP/SCTP/ICMP | MAC_IPV4_SRC_ONLY |[Dest MAC],[Source IP] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_DST_ONLY_FRAG |[Dest MAC],[Dest IP] |
+ | IPV4/IPV6 | MAC_IPV4_SRC_ONLY |[Dest MAC],[Source IP] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_PAY |[Dest MAC],[Source IP], [Dest IP] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_SRC_ICMP |[Dest MAC],[Source IP] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_DST_ICMP |[Dest MAC],[Source IP] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_UDP_L3SRC_L4DST |[Dest MAC],[Source IP],[Dest Port] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_UDP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_TCP_L3SRC_L4DST |[Dest MAC],[Source IP],[Dest Port] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_TCP_L3DST_L4SRC |[Dest MAC],[Dest IP],[Source Port] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_TCP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_SCTP_L3SRC_L4DST |[Dest MAC],[Source IP],[Dest Port] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_SCTP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_NVGRE_ICMP |[Inner Source IP], [Inner Dest IP] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_NVGRE_L3SRC_ICMP |[Inner MAC][Inner Source IP] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_NVGRE_L3DST_ICMP |[Inner MAC][Inner Dest IP] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_NVGRE_TCP |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_NVGRE_SCTP |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_VXLAN_ICMP |[Inner Source IP], [Inner Dest IP] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_VXLAN_L3SRC_ICMP |[Inner MAC][Inner Source IP] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_VXLAN_L3DST_ICMP |[Inner MAC][Inner Dest IP] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_VXLAN_TCP |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_VXLAN_SCTP |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_VXLAN_UDP |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV6_SRC_ONLY |[Dest MAC],[Source IP] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV6_DST_ONLY_FRAG |[Dest MAC],[Dest IP] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV6_PAY |[Dest MAC],[Source IP], [Dest IP], |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV6_UDP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV6_TCP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV6_SCTP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_PPPOE_PPPOD |[Dest MAC],[Session ID],[Proto] ,[Source IP] ,[Dest IP] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_PPPOE_TCP |[Dest MAC],[Session ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port]|
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_PPPOE_UDP |[Dest MAC],[Session ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port]|
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_PPPOE_TCP |[Dest MAC],[Session ID],[Proto],[Source IP],[Dest IP],[Source Port],[Dest Port]|
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_PPPOE_ICMP |[Dest MAC],[Session ID],[Proto],[Source IP],[Dest IP] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_GTP | [TEID] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_GTPU_IPV4_TCP | [TEID] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
-
-Table 2:
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | Hash function: Symmetric_toeplitz |
+ | | MAC_IPV4_DST_ONLY_FRAG |[Dest MAC],[Dest IP] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | Packet Type | Pattern | Input Set |
- +===============================+====================================+===============================================================================+
- | IPV4/IPV6 | MAC_IPV4_SRC_ONLY |[Dest MAC],[Source IP] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_DST_ONLY_FRAG |[Dest MAC],[Dest IP] |
- +-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_PAY |[Dest MAC],[Source IP], [Dest IP] |
+ | | MAC_IPV4_PAY |[Dest MAC],[Source IP], [Dest IP] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_SRC_ICMP |[Dest MAC],[Source IP] |
+ | | MAC_IPV4_SRC_ICMP |[Dest MAC],[Source IP] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_DST_ICMP |[Dest MAC],[Source IP] |
+ | | MAC_IPV4_DST_ICMP |[Dest MAC],[Source IP] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_UDP_L3SRC_L4DST |[Dest MAC],[Source IP],[Dest Port] |
+ | | MAC_IPV4_UDP_L3SRC_L4DST |[Dest MAC],[Source IP],[Dest Port] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_UDP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+ | | MAC_IPV4_UDP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_TCP_L3SRC_L4DST |[Dest MAC],[Source IP],[Dest Port] |
+ | | MAC_IPV4_TCP_L3SRC_L4DST |[Dest MAC],[Source IP],[Dest Port] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_TCP_L3DST_L4SRC |[Dest MAC],[Dest IP],[Source Port] |
+ | | MAC_IPV4_TCP_L3DST_L4SRC |[Dest MAC],[Dest IP],[Source Port] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_TCP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+ | | MAC_IPV4_TCP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_SCTP_L3SRC_L4DST |[Dest MAC],[Source IP],[Dest Port] |
+ | | MAC_IPV4_SCTP_L3SRC_L4DST |[Dest MAC],[Source IP],[Dest Port] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_SCTP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+ | | MAC_IPV4_SCTP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
| | MAC_IPV4_NVGRE_ICMP |[Inner Source IP], [Inner Dest IP] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
@@ -178,21 +178,21 @@ Table 2:
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
| | MAC_IPV4_VXLAN_UDP |[Inner Source IP], [Inner Dest IP],[Inner Source Port], [Inner Dest Port] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV6_SRC_ONLY |[Dest MAC],[Source IP] |
+ | | MAC_IPV6_SRC_ONLY |[Dest MAC],[Source IP] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV6_DST_ONLY_FRAG |[Dest MAC],[Dest IP] |
+ | | MAC_IPV6_DST_ONLY_FRAG |[Dest MAC],[Dest IP] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV6_PAY |[Dest MAC],[Source IP], [Dest IP], |
+ | | MAC_IPV6_PAY |[Dest MAC],[Source IP], [Dest IP], |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV6_UDP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+ | | MAC_IPV6_UDP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV6_TCP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+ | | MAC_IPV6_TCP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV6_SCTP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+ | | MAC_IPV6_SCTP |[Dest MAC],[Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV4_SIMPLE_XOR |[Dest MAC],[Source IP], [Dest IP] |
+ | | MAC_IPV4_SIMPLE_XOR |[Dest MAC],[Source IP], [Dest IP] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
- | | MAC_IPV6_SIMPLE_XOR |[Dest MAC],[Source IP], [Dest IP] |
+ | | MAC_IPV6_SIMPLE_XOR |[Dest MAC],[Source IP], [Dest IP] |
+-------------------------------+------------------------------------+-------------------------------------------------------------------------------+
Default parameters
@@ -255,11 +255,11 @@ Note: This rss feature designed for CVL NIC 25G and 100g, so below the case only
Note: The kernel must be >= 3.6+ and VT-d must be enabled in bios.
4. Launch the testpmd to configuration queue of rx and tx number 64 in DUT::
-
- testpmd>./x86_64-native-linuxapp-gcc/app/testpmd -c 0xff -n 4 -- -i --rxq=64 --txq=64 --port-topology=loop
- testpmd>set fwd rxonly
- testpmd>set verbose 1
- testpmd>rx_vxlan_port add 4789 0
+
+ testpmd>./x86_64-native-linuxapp-gcc/app/testpmd -c 0xff -n 4 -- -i --rxq=64 --txq=64 --port-topology=loop
+ testpmd>set fwd rxonly
+ testpmd>set verbose 1
+ testpmd>rx_vxlan_port add 4789 0
3. start scapy and configuration NVGRE and GTP profile in tester
scapy::
@@ -272,13 +272,13 @@ Test case: MAC_IPV4_L3SRC
=========================
#. create rule for the rss type for l3 src only::
- testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
- testpmd>start
+ testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
+ testpmd>start
#. send the 100 IP pkts::
-
- sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP())/("X"*480)], iface="enp175s0f0", count=100)
- testpmd> stop
+
+ sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP())/("X"*480)], iface="enp175s0f0", count=100)
+ testpmd> stop
#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
differently RSS random value,and check the pkts typ is “L2_ETHER L3_IPV4 NONFRAG”
@@ -287,7 +287,7 @@ Test case: MAC_IPV4_L3SRC
Once rule has created and receive related packets,
Check the rss hash value and rss queue, make sure the different hash value and cause to related packets enter difference queue::
- src=00:00:00:00:00:00 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0x60994f6e - RSS queue=0x2e - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV 4 - l2_len=14 - l3_len=20 - Receive queue=0x2e ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
+ src=00:00:00:00:00:00 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0x60994f6e - RSS queue=0x2e - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV 4 - l2_len=14 - l3_len=20 - Receive queue=0x2e ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
statistics log:
------- Forward Stats for RX Port= 0/Queue= 0 -> TX Port= 0/Queue= 0 -------
@@ -295,7 +295,6 @@ Test case: MAC_IPV4_L3SRC
------- Forward Stats for RX Port= 0/Queue= 1 -> TX Port= 0/Queue= 1 -------
RX-packets: 2 TX-packets: 0 TX-dropped: 0
-
......
------- Forward Stats for RX Port= 0/Queue=63 -> TX Port= 0/Queue=63 -------
@@ -315,13 +314,13 @@ Test case: MAC_IPV4_L3SRC_FRAG
==============================
#. create rule for the rss type for l3 src only::
- testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end
- testpmd> start
+ testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end
+ testpmd> start
#. send the 100 IP +frag type pkts::
- sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(), frag=5)/SCTP(sport=RandShort())/("X" * 80)], iface="enp175s0f0", count=100)
- testpmd> stop
+ sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(), frag=5)/SCTP(sport=RandShort())/("X" * 80)], iface="enp175s0f0", count=100)
+ testpmd> stop
#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
differently RSS random value,and check the pkts typ is L2_ETHER L3_IPV4 "FRAG"
@@ -332,13 +331,13 @@ Test case: MAC_IPV4_L3DST:
testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end
testpmd> start
#. send the 100 IP +frag type pkts::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP())/("X"*480)], iface="enp175s0f0", count=100)
-
testpmd> stop
-#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
+#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
differently RSS random value,and check the pkts typ is L2_ETHER L3_IPV4 "FRAG"
-
-
+
+
Test case: MAC_IPV4_L3DST_FRAG:
===============================
#. create rule for the rss type for l3 dst only::
@@ -382,9 +381,11 @@ Test case: MAC_IPV4_L3DST_FRAG_ICMP:
Test case: MAC_IPV4_PAY:
========================
#. create rule for the rss type for l3 all keywords::
+
testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 end key_len 0 queues end / end
testpmd> start
#. send the 100 IP pkts::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/("X"*480)], iface="enp175s0f0", count=100)
testpmd>stop
#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -397,6 +398,7 @@ Test case: MAC_IPV4_PAY_FRAG_ICMP:
flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 end key_len 0 queues end / end
#. send the 100 IP pkts::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/ICMP()/("X"*480)], iface="enp175s0f0", count=100)
testpmd>stop
@@ -409,6 +411,7 @@ Test case: MAC_IPV4_NVGRE_L3SRC:
testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
testpmd> start
#. send the 100 IP nvgre pkts::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src=RandIP())/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -420,6 +423,7 @@ Test case: MAC_IPV4_NVGRE_L3DST:
testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end
testpmd> start
#. send the 100 IP nvgre pkts::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(dst=RandIP())/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
@@ -517,7 +521,8 @@ Test case: MAC_IPV4_UDP:
#. create rule for the rss type is ipv4 UDP +l3 src and dst::
testpmd>flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp l3-src-only l4-dst-only end key_len 0 queues end / end
testpmd>start
-#. send the 100 IP+UDP pkts::
+#. send the 100 IP+UDP pkts::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP())/UDP(dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -530,11 +535,14 @@ Test case: MAC_IPV4_UDP_FRAG:
testpmd> flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end key_len 0 queues end / end
testpmd> start
#. send the 100 IP src IP +UDP port pkts::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/UDP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
#. send the 100 IP +UDP port pkts::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
#. send the 100 IP src and dst IP +UDP port pkts::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/UDP()/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
@@ -548,6 +556,7 @@ Test case: MAC_NVGRE_IPV4_UDP_FRAG:
testpmd>start
#. send the 100 NVGRE IP pkts::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src=RandIP(),dst=RandIP())/UDP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -559,6 +568,7 @@ Test case: MAC_VXLAN_IPV4_UDP_FRAG:
testpmd> flow create 0 ingress pattern eth / ipv4 / udp / end actions rss types ipv4-udp end key_len 0 queues end / end
testpmd> start
#. To send VXLAN pkts with IP src and dst,UDP port::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(src=RandIP(),dst=RandIP())/UDP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -587,9 +597,11 @@ Test case: MAC_IPV4_TCP_FRAG:
#. create rule for the rss type is IPV4 + TCP L3 src and L4 dst type hash::
testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l3-src-only l4-dst-only end key_len 0 queues end / end
#. To send IPV4 pkts with scr IP and TCP dst port::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP())/TCP(dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l3-src-only l4-src-only end key_len 0 queues end / end
#. To send IPV4 pkts with scr IP and TCP src port::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP())/TCP(sport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -601,12 +613,16 @@ Test case: MAC_IPV4_TCP_PAY
testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end key_len 0 queues end / end
testpmd>start
#. To send IPV4 pkts with IP src and dst ip and TCP ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/TCP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
#. To send IPV4 pkts without IP src and dst ip and includ TCP ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/TCP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
#. To send IPV4 pkts with IP src and dst ip and without TCP port::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/TCP()/("X"*480)], iface="enp175s0f0", count=100)
#. To send IPV4 pkts with IP src and dst +frag and without TCP port::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP(),frag=4)/TCP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -619,6 +635,7 @@ Test case: MAC_IPV6_UDP_FRAG:
testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end key_len 0 queues end / end
testpmd>start
#. To send NVGRE ip pkts::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src=RandIP(),dst=RandIP())/TCP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -630,6 +647,7 @@ Test case: MAC_VXLAN_IPV4_TCP
testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end key_len 0 queues end / end
testpmd>start
#. To send VXLAN pkts includ src and dst ip and TCP ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/TCP()/VXLAN()/Ether()/IP(src=RandIP(),dst=RandIP())/TCP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -664,8 +682,10 @@ Test case: MAC_IPV4_SCTP:
testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss types ipv4-sctp l3-src-only l4-dst-only end key_len 0 queues end / end
testpmd>start
#. To send IP pkts includ SCTP dport::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP())/SCTP(dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
#. To send IP pkts includ SCTP sport::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(dst=RandIP())/SCTP(sport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -678,6 +698,7 @@ Test case: MAC_IPV4_SCTP_FRAG:
testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss types ipv4-sctp end key_len 0 queues end / end
testpmd>start
#. To send IPV4 pkt include SCTP ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/SCTP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/SCTP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src=RandIP(),dst=RandIP())/SCTP()/("X"*480)], iface="enp175s0f0", count=100)
@@ -693,6 +714,7 @@ Test case: MAC_NVGRE_IPV4_SCTP:
testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss types ipv4-sctp end key_len 0 queues end / end
testpmd>start
#. To send NVGRE ip pkts and sctp ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src=RandIP(),dst=RandIP())/SCTP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -705,19 +727,21 @@ Test case: MAC_VXLAN_IPV4_SCTP:
testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss types ipv4-sctp end key_len 0 queues end / end
testpmd>start
#. To send VXLAN ip pkts and sctp ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/SCTP()/VXLAN()/Ether()/IP(src=RandIP(),dst=RandIP())/SCTP(sport=RandShort(),dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
differently RSS random value
Test case: MAC_IPV6_SCTP_PAY:
-============================
+=============================
#. Create rule for the rss type IPV6 and hash keywords ipv4 sctp src and dst type::
testpmd>flow create 0 ingress pattern eth / ipv6 / sctp / end actions rss types ipv6-sctp end key_len 0 queues end / end
testpmd>start
#. To send IPV6 pkts and sctp ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/SCTP(sport=RandShort(),dport=RandShort())/("X" * 80)], iface="enp175s0f0", count=100)
- MAC IPV6 SCTP all+frag:
+ MAC IPV6 SCTP all+frag:
#. to send IPV6 pkts includ frag::
sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6(src=RandIP6())/IPv6ExtHdrFragment()/SCTP(sport=RandShort(),dport=RandShort())/("X" * 80)], iface="enp175s0f0", count=100)
testpmd> stop
@@ -731,6 +755,7 @@ Test case: MAC_IPV4_PPPOD_PPPOE:
testpmd>flow create 0 ingress pattern eth / pppoes / ipv4 / end actions rss types ipv4 end key_len 0 queues end / end
testpmd>start
#. To send pppoe 100pkts::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/PPPoE(sessionid=RandShort())/PPP(proto=0x21)/IP(src=RandIP())/UDP(sport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -738,11 +763,12 @@ Test case: MAC_IPV4_PPPOD_PPPOE:
Test case: MAC_IPV4_PPPOD_PPPOE:
-===============================
+================================
#. Create rule for the rss type pppoes::
testpmd>flow create 0 ingress pattern eth / pppoes / ipv4 / end actions rss types ipv4 end key_len 0 queues end / end
testpmd>start
#. To send pppoe pkts::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/PPPoE(sessionid=RandShort())/PPP(proto=0x21)/IP(src=RandIP())/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. Verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -750,11 +776,12 @@ Test case: MAC_IPV4_PPPOD_PPPOE:
Test case: MAC_IPV4_PPPOD_PPPOE_UDP:
-===================================
+====================================
#. Create rule for the rss type pppoes and hash l3 src , l4 dst port::
testpmd>flow create 0 ingress pattern eth / pppoes / ipv4 / udp / end actions rss types ipv4-udp l3-src-only l4-dst-only end key_len 0 queues end / end
testpmd>start
#. To send pppoe pkt and include the UPD ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/PPPoE(sessionid=RandShort())/PPP(proto=0x21)/IP(src=RandIP())/UDP(dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. Verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -767,6 +794,7 @@ Test case: MAC_IPV4_PPPOD_PPPOE_SCTP:
testpmd>flow create 0 ingress pattern eth / pppoes / ipv4 / sctp / end actions rss types ipv4-sctp end key_len 0 queues end / end
testpmd>start
#. To send pppoe pkt and include the SCTP ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/PPPoE(sessionid=RandShort())/PPP(proto=0x21)/IP(src=RandIP())/SCTP(dport=RandShort())/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. Verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -779,6 +807,7 @@ Test case: MAC_IPV4_PPPOD_PPPOE_ICMP:
testpmd> flow create 0 ingress pattern eth / pppoes / ipv4 / end actions rss types ipv4 end key_len 0 queues end / end
testpmd>start
#. To send pppoe pkt and include the ICMP ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/PPPoE(sessionid=RandShort())/PPP(proto=0x21)/IP(src=RandIP())/ICMP()/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. Verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -786,13 +815,15 @@ Test case: MAC_IPV4_PPPOD_PPPOE_ICMP:
Test case: MAC_IPV4_GTPU_FRAG:
-=============================
+==============================
#. Create rule for the rss type GTPU and hash l3 src keywords::
testpmd>flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
testpmd>start
#. To send GTPU pkts::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Header(teid=0x123456)/IP(src=RandIP())/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
#. To send GTPU PKTS and IPV4 frag::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Header(teid=0x123456)/IP(src=RandIP(),frag=6)/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
#. Verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -805,6 +836,7 @@ Test case: MAC_IPV4_GTPU_FRAG_UDP:
testpmd>flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / udp / end actions rss types ipv4 end key_len 0 queues end / end
testpmd>start
#. to send GTP pkts and include IP pkts and UDP::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Header(teid=0x123456)/IP(src=RandIP(),frag=6)/UDP(dport=RandShort())/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -812,11 +844,12 @@ Test case: MAC_IPV4_GTPU_FRAG_UDP:
Test case: MAC_IPV4_GTPU_FRAG_TCP:
-===============================
+==================================
#. create rule for the rss type GTPU and hash l3 src and dst keywords::
testpmd>flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
testpmd>start
#. to send GTP pkts and include IP pkts and tcp::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Header(teid=0x123456)/IP(src=RandIP(),frag=6)/TCP(dport=RandShort())/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
#. verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
@@ -825,29 +858,32 @@ Test case: MAC_IPV4_GTPU_FRAG_TCP:
Test case: MAC_IPV4_GTPU_FRAG_ICMP:
===================================
- create rule for the rss type GTPU and hash l3 src and dst keywords::
+#. create rule for the rss type GTPU and hash l3 src and dst keywords::
+
testpmd>flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end
testpmd>start
- to send GTP pkts and include IP pkts and ICMP::
+#. to send GTP pkts and include IP pkts and ICMP::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP(dport=2152)/GTP_U_Header(teid=0x123456)/IP(src=RandIP(),frag=6)/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
- verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
- differently RSS random value
+ verify 100 pkts has sent, and to check the 100 pkts has send to differently totaly 64 queues evenly with
+ differently RSS random value
Test case: SYMMETRIC_TOEPLITZ_IPV4_PAY:
-======================================
+=======================================
#. create rule for the rss type symmetric_toeplitz and hash ipv4 src and dst keywords::
testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end
testpmd>start
-#. to send ip pkts with fix IP::
+#. to send ip pkts with fix IP::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2")/("X"*480)], iface="enp175s0f0", count=100)
#. to send ip pkts with fix IP and switch src and dst ip address::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1")/("X"*480)], iface="enp175s0f0", count=100)
-
-
+
Verbos log:
src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0xf84ccd9b - RSS queue=0x1b - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x1b ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
-
+
src=A4:BF:01:68:D2:03 - dst=68:05:CA:A3:28:94 - type=0x0800 - length=514 - nb_segs=1 - RSS hash=0xf84ccd9b - RSS queue=0x1b - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_NONFRAG - sw ptype: L2_ETHER L3_IPV4 - l2_len=14 - l3_len=20 - Receive queue=0x1b ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
#. To verify the hash value keep with a same value when the IP has exchanged.
@@ -856,8 +892,10 @@ Test case: SYMMETRIC_TOEPLITZ_IPV4_PAY:
hash=0xf84ccd9b - RSS queue=0
#. to send ip pkts with fix IP::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="8.8.8.2",dst="5.6.7.8")/("X"*480)], iface="enp175s0f0", count=100)
#. to send ip pkts with fix IP and switch src and dst ip address::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="5.6.7.8",dst="8.8.8.2")/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
@@ -890,11 +928,14 @@ Test case: SYMMETRIC_TOEPLITZ_IPV4_PAY:
Test case: SYMMETRIC_TOEPLITZ_IPV4_PAY_FRAG:
============================================
#. create rule for the rss type symmetric_toeplitz and hash ipv4 src and dst keywords::
+
testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end
testpmd>start
#. to send ip pkts with fix IP includ frag::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2",frag=6)/("X"*480)], iface="enp175s0f0", count=100)
#. to send ip pkts with fix IP includ frag and switch src and dst ip address::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1",frag=6)/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. verify 100 pkts has sent, and check the rss has has fixed with a same value.
@@ -903,11 +944,14 @@ Test case: SYMMETRIC_TOEPLITZ_IPV4_PAY_FRAG:
Test case: SYMMETRIC_TOEPLITZ_IPV4_UDP:
=======================================
#. create rule for the rss type symmetric_toeplitz and hash UDP src and dst keywords::
+
testpmd>flow create 0 ingress pattern eth / ipv4 / udp / end actions rss func symmetric_toeplitz types ipv4-udp end key_len 0 queues end / end
testpmd>start
#. to send ip pkts with fix IP includ frag and UDP::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2",frag=6)/UDP(sport=20,dport=22)/("X"*480)], iface="enp175s0f0", count=100)
#. to send ip pkts with fix IP includ frag and switch src and dst ip address and UDP ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1",frag=6)/UDP(sport=22,dport=20)/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. verify 100 pkts has sent, and check the rss hash with a fixed value.
@@ -915,11 +959,14 @@ Test case: SYMMETRIC_TOEPLITZ_IPV4_UDP:
Test case: SYMMETRIC_TOEPLITZ_IPV4_UDP_L3SRC_L3DST_L4SRC_L4DST:
===============================================================
#. create rule for the rss type symmetric_toeplitz and hash l3 l4 keywords::
+
testpmd>flow create 0 ingress pattern eth / ipv4 / udp / end actions rss func symmetric_toeplitz types ipv4-udp l3-src-only l3-dst-only l4-src-only l4-dst-only end key_len 0 queues end / end
testpmd>start
#. to send ip pkts with fix IP includ frag and UDP::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="1.1.4.1",dst="2.2.2.3")/UDP(sport=20,dport=22)/("X"*480)], iface="enp175s0f0", count=100)
#. to send ip pkts with fix IP includ frag and switch src and dst ip address and UDP ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="2.2.2.3",dst="1.1.4.1")/UDP(sport=22,dport=20)/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. verify 100 pkts has sent, and check the rss hash with a fixed value.
@@ -927,11 +974,14 @@ Test case: SYMMETRIC_TOEPLITZ_IPV4_UDP_L3SRC_L3DST_L4SRC_L4DST:
Test case: SYMMETRIC_TOEPLITZ_IPV4_TCP:
=======================================
#. create rule for the rss type symmetric_toeplitz and hash TCP keywords::
+
testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss func symmetric_toeplitz types ipv4-tcp end key_len 0 queues end / end
testpmd>start
#. to send ip pkts with fix IP includ frag and TCP::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2",frag=6)/TCP(sport=20,dport=22)/("X"*480)], iface="enp175s0f0", count=100)
#. to send ip pkts with fix IP includ frag and switch src and dst ip address and tcp ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1",frag=6)/TCP(sport=22,dport=20)/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. verify 100 pkts has sent, and check the rss hash with a fixed value.
@@ -940,24 +990,30 @@ Test case: SYMMETRIC_TOEPLITZ_IPV4_TCP:
Test case: SYMMETRIC_TOEPLITZ_IPV4_SCTP:
========================================
#. create rule for the rss type symmetric_toeplitz and hash SCTP keywords::
+
testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss func symmetric_toeplitz types ipv4-sctp end key_len 0 queues end / end
testpmd>start
#. to send ip pkts with fix IP includ frag and SCTP::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2",frag=6)/SCTP(sport=20,dport=22)/("X"*480)], iface="enp175s0f0", count=100)
#. to send ip pkts with fix IP includ frag and switch src and dst ip address and sctp ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1",frag=6)/SCTP(sport=22,dport=20)/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
-
+
#. verify 100 pkts has sent, and check the has rssh hash keep a fixed value.
Test case: SYMMETRIC_TOEPLITZ_IPV4_ICMP:
========================================
#. create rule for the rss type symmetric_toeplitz and hash ICMP keywords::
+
testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end
testpmd>start
#. to send ip pkts with fix IP includ frag and ICMP::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.1",dst="192.168.0.2",frag=6)/ICMP()/("X"*480)], iface="enp175s0f0", count=100)
#. to send ip pkts with fix IP includ frag and switch src and dst ip address and ICMP ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="192.168.0.2",dst="192.168.0.1",frag=6)/ICMP()/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
#. verify 100 pkts has sent, and check the rss hash value with a fixed value .
@@ -993,7 +1049,7 @@ Test case: SYMMETRIC_TOEPLITZ_IPV6_PAY:
Test case: SYMMETRIC_TOEPLITZ_IPV6_UDP:
-======================================
+=======================================
#. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
testpmd>flow create 0 ingress pattern eth / ipv6 / udp / end actions rss func symmetric_toeplitz types ipv6-udp end key_len 0 queues end / end
testpmd>start
@@ -1017,7 +1073,7 @@ Test case: SYMMETRIC_TOEPLITZ_IPV6_TCP:
Test case: SYMMETRIC_TOEPLITZ_IPV6_SCTP:
-=======================================
+========================================
#. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
testpmd>flow create 0 ingress pattern eth / ipv6 / sctp / end actions rss func symmetric_toeplitz types ipv6-sctp end key_len 0 queues end / end
testpmd>start
@@ -1041,11 +1097,12 @@ Test case: SYMMETRIC_TOEPLITZ_IPV6_ICMP:
Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV4:
-=======================================
+=========================================
#. create rule for the rss type symmetric_toeplitz and hash IPV4 keywords::
testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end
testpmd>start
#. to send ip pkts with fix nvgre pkts with fixed address and includ frag::
+
sendp([Ether()/IP()/NVGRE()/Ether()/IP(src="192.168.0.8",dst="192.168.0.69",frag=6)/("X"*480)], iface="enp175s0f0", count=100)
sendp([Ether()/IP()/NVGRE()/Ether()/IP(src="192.168.0.69",dst="192.168.0.8",frag=6)/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
@@ -1057,6 +1114,7 @@ Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV4:
testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end
testpmd>start
#. to send ip pkts with fix vxlan pkts with fixed address and includ frag::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(src="192.168.0.1",dst="192.168.0.2",frag=6)/("X"*480)], iface="enp175s0f0", count=100)
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IP(src="192.168.0.2",dst="192.168.0.1",frag=6)/("X"*480)], iface="enp175s0f0", count=100)
testpmd> stop
@@ -1069,6 +1127,7 @@ Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV4_UDP:
testpmd>flow create 0 ingress pattern eth / ipv4 / udp / end actions rss func symmetric_toeplitz types ipv4-udp end key_len 0 queues end / end
testpmd>start
#. to send ip pkts with fix nvgre pkts with fixed address and includ frag and udp ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:28:94")/IP(src="8.8.8.1",dst="5.6.8.2")/UDP(sport=20,dport=22)/("X"*480)],iface="enp175s0f0",count=100)
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:28:94")/IP(src="5.6.8.2",dst="8.8.8.1")/UDP(sport=22,dport=20)/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
@@ -1080,41 +1139,46 @@ Test case: SYMMETRIC_TOEPLITZ_NVGRE_SCTP:
testpmd>flow create 0 ingress pattern eth / ipv4 / sctp / end actions rss func symmetric_toeplitz types ipv4-sctp end key_len 0 queues end / end
testpmd>start
#. to send ip pkts with fix nvgre pkts with fixed address and includ frag and sctp ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:28:94")/IP(src="8.8.8.1",dst="5.6.8.2")/SCTP(sport=20,dport=22)/("X"*480)],iface="enp175s0f0",count=100)
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:28:94")/IP(src="5.6.8.2",dst="8.8.8.1")/SCTP(sport=22,dport=20)/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
#. verify 100 pkts has sent, and check the rss hash with a fixed value.
Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV4_TCP:
-============================================
+=============================================
#. create rule for the rss type symmetric_toeplitz and hash IPV4 keywords::
testpmd>flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss func symmetric_toeplitz types ipv4-tcp end key_len 0 queues end / end
testpmd>start
#. to send ip pkts with fix nvgre pkts with fixed address and includ frag and tcp ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:28:94")/IP(src="8.8.8.1",dst="5.6.8.2")/TCP(sport=20,dport=22)/("X"*480)],iface="enp175s0f0",count=100)
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether(dst="68:05:ca:a3:28:94")/IP(src="5.6.8.2",dst="8.8.8.1")/TCP(sport=22,dport=20)/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
#. verify 100 pkts has sent, and check the rss hash with a fixed value.
Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV4_ICMP:
-=============================================
+==============================================
#. create rule for the rss type symmetric_toeplitz and hash IPV4 keywords::
testpmd>flow create 0 ingress pattern eth / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end
testpmd>start
#. to send ip pkts with fix nvgre pkts with fixed address and includ frag and icmp ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src="8.8.8.1",dst="5.6.8.2")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IP(src="5.6.8.2",dst="8.8.8.1")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
#. verify 100 pkts has sent, and check the rss hash with a fixed value.
Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV6:
-========================================
+=========================================
#. create rule for the rss type symmetric_toeplitz and hash IPV6 keywords::
testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func symmetric_toeplitz types ipv6 end key_len 0 queues end / end
testpmd>start
-#. to send ipv6 pkts with fix nvgre pkts with fixed address::
+#. to send ipv6 pkts with fix nvgre pkts with fixed address::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/("X"*480)],iface="enp175s0f0",count=100)
#. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
#. verify 100 pkts has sent, and check the rss hash with a fixed value.
@@ -1125,8 +1189,10 @@ Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV6_UDP:
testpmd>flow create 0 ingress pattern eth / ipv6 / udp / end actions rss func symmetric_toeplitz types ipv6-udp end key_len 0 queues end / end
testpmd>start
#. to send ipv6 pkts with fix nvgre pkts with fixed address and includ ipv6 frag and UDP ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/UDP(sport=30,dport=32)/("X"*480)],iface="enp175s0f0",count=100)
#. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address and udp ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=32,dport=33)/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
#. verify 100 pkts has sent, and check the rss hash with a fixed value.
@@ -1138,11 +1204,13 @@ Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV6_TCP:
testpmd>flow create 0 ingress pattern eth / ipv6 / tcp / end actions rss func symmetric_toeplitz types ipv6-tcp end key_len 0 queues end / end
testpmd>start
#. to send ipv6 pkts with fix nvgre pkts with fixed address and includ ipv6 frag and tcp ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/TCP(sport=30,dport=32)/("X"*480)],iface="enp175s0f0",count=100)
- to send ip pkts with fix IPv6 includ frag and switch src and dst ip address and tcp ports::
+#. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address and tcp ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=32,dport=33)/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
- verify 100 pkts has sent, and check the rss hash with a fixed value.
+ verify 100 pkts has sent, and check the rss hash with a fixed value.
Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV6_SCTP
==============================================
@@ -1150,8 +1218,10 @@ Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV6_SCTP
testpmd>flow create 0 ingress pattern eth / ipv6 / sctp / end actions rss func symmetric_toeplitz types ipv6-sctp end key_len 0 queues end / end
testpmd>start
#. to send ipv6 pkts with fix nvgre pkts with fixed address and includ ipv6 frag and SCTP ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/SCTP(sport=30,dport=32)/("X"*480)],iface="enp175s0f0",count=100)
#. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address and SCTP ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/SCTP(sport=32,dport=33)/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
#. verify 100 pkts has sent, and check the rss hash with a fixed value.
@@ -1163,8 +1233,10 @@ Test case: SYMMETRIC_TOEPLITZ_NVGRE_IPV6_ICMP:
testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func symmetric_toeplitz types ipv6 end key_len 0 queues end / end
testpmd>start
#. to send ipv6 pkts with fix nvgre pkts with fixed address and includ ipv6 frag and ICMP ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
#. to send ip pkts with fix IPv6 includ frag and switch src and dst ip address and ICMP ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/NVGRE()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
#. verify 100 pkts has sent, and check the rss hash with a fixed value.
@@ -1175,8 +1247,10 @@ Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV6_UDP:
testpmd>flow create 0 ingress pattern eth / ipv6 / udp / end actions rss func symmetric_toeplitz types ipv6-udp end key_len 0 queues end / end
testpmd>start
#. to send ipv6 pkts with fix vxlan pkts with fixed address and includ ipv6 frag and UDP ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/UDP(sport=30,dport=32)/("X"*480)],iface="enp175s0f0",count=100)
#. to send VXLAN pkts with fix IPv6 includ frag and switch src and dst ip address and UDP ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=32,dport=33)/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
#. verify 100 pkts has sent, and check the rss hash with a fixed value.
@@ -1187,8 +1261,10 @@ Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV6:
testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func symmetric_toeplitz types ipv6 end key_len 0 queues end / end
testpmd>start
#. to send ipv6 pkts with fix vxlan pkts with fixed address and includ ipv6 frag::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/("X"*480)],iface="enp175s0f0",count=100)
#. to send VXLAN pkts with fix IPv6 includ frag and switch src and dst ip address::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP()/UDP()/VXLAN()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
#. verify 100 pkts has sent, and check the rss hash with a fixed value.
@@ -1199,8 +1275,10 @@ Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV6_TCP:
testpmd>flow create 0 ingress pattern eth / ipv6 / tcp / end actions rss func symmetric_toeplitz types ipv6-tcp end key_len 0 queues end / end
testpmd>start
#. to send ipv6 pkts with fix vxlan pkts with fixed address and includ ipv6 frag and tcp ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/TCP(sport=30,dport=32)/("X"*480)],iface="enp175s0f0",count=100)
#. to send VXLAN pkts with fix IPv6 includ frag and switch src and dst ip address and tcp ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=32,dport=33)/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
#. verify 100 pkts has sent, and check the rss hash with a fixed value.
@@ -1211,8 +1289,10 @@ Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV6_SCTP:
testpmd>flow create 0 ingress pattern eth / ipv6 / sctp / end actions rss func symmetric_toeplitz types ipv6-sctp end key_len 0 queues end / end
testpmd>start
#. to send ipv6 pkts with fix vxlan pkts with fixed address and includ ipv6 frag and sctp ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/SCTP(sport=30,dport=32)/("X"*480)],iface="enp175s0f0",count=100)
#. to send VXLAN pkts with fix IPv6 includ frag and switch src and dst ip address and sctp ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/SCTP(sport=32,dport=30)/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
#. verify 100 pkts has sent, and check the rss hash with a fixed value.
@@ -1223,8 +1303,10 @@ Test case: SYMMETRIC_TOEPLITZ_VXLAN_IPV6_ICMP:
testpmd>flow create 0 ingress pattern eth / ipv6 / end actions rss func symmetric_toeplitz types ipv6 end key_len 0 queues end / end
testpmd>start
#. to send ipv6 pkts with fix vxlan pkts with fixed address and includ ipv6 frag and ICMP ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:2020",dst="ABAB:910B:6666:3457:8295:3333:1800:2929")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
#. to send VXLAN pkts with fix IPv6 includ frag and switch src and dst ip address and icmp ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IPv6()/UDP()/VXLAN()/Ether()/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/ICMP()/("X"*480)],iface="enp175s0f0",count=100)
testpmd> stop
#. verify 100 pkts has sent, and check the rss hash with a fixed value
@@ -1239,6 +1321,7 @@ Test case: SIMPLE_XOR:
Test case: SIMPLE_XOR_IPV4:
===========================
#. to send IPV4 pkt with fixed IP and switch IP src and dst address and switch the upd, tcp, sctp, icpm ports::
+
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="1.1.4.1",dst="2.2.2.3")/("X"*480)], iface="enp175s0f0", count=100)
sendp([Ether(dst="68:05:ca:a3:28:94")/IP(src="2.2.2.3",dst="1.1.4.1")/("X"*480)], iface="enp175s0f0", count=100)
--
1.8.3.1
^ permalink raw reply [flat|nested] 9+ messages in thread
* [dts] [PATCH V1 8/8] test_plans/rteflow_priority_test_plan:fix build warnings and errors
2020-01-09 6:05 [dts] [PATCH V1 1/8] test_plans/index: add new test plans into toctree Haiyang Zhao
` (5 preceding siblings ...)
2020-01-09 6:05 ` [dts] [PATCH V1 7/8] test_plans/pvp_packed_ring_vhost_user_reconnect_test_plan:fix " Haiyang Zhao
@ 2020-01-09 6:05 ` Haiyang Zhao
2020-01-09 8:45 ` [dts] [PATCH V1 1/8] test_plans/index: add new test plans into toctree Tu, Lijuan
7 siblings, 0 replies; 9+ messages in thread
From: Haiyang Zhao @ 2020-01-09 6:05 UTC (permalink / raw)
To: dts; +Cc: Haiyang Zhao
Signed-off-by: Haiyang Zhao <haiyangx.zhao@intel.com>
---
test_plans/rteflow_priority_test_plan.rst | 222 +++++++++++++++---------------
1 file changed, 111 insertions(+), 111 deletions(-)
diff --git a/test_plans/rteflow_priority_test_plan.rst b/test_plans/rteflow_priority_test_plan.rst
index 3f1e65b..ff49cdb 100644
--- a/test_plans/rteflow_priority_test_plan.rst
+++ b/test_plans/rteflow_priority_test_plan.rst
@@ -67,45 +67,45 @@ Test Case: Setting Priority in Non-pipeline Mode
Priority is not active in non-pipeline mode. The default value of priority is 0 but it will be ignored.
Patterns in this case:
- MAC_IPV4
+ MAC_IPV4
#. Start the ``testpmd`` application as follows::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -w 0000:af:00.0 --log-level="ice,7" -- -i --txq=8 --rxq=8
- set fwd rxonly
- set verbose 1
+ ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -w 0000:af:00.0 --log-level="ice,7" -- -i --txq=8 --rxq=8
+ set fwd rxonly
+ set verbose 1
#. Create a rule with priority 0, Check the flow can be created but it will map to fdir filter::
- testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / end actions queue index 2 / end
- ice_interrupt_handler(): OICR: MDD event
- ice_flow_create(): Succeeded to create (1) flow
- Flow rule #0 created
+ testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / end actions queue index 2 / end
+ ice_interrupt_handler(): OICR: MDD event
+ ice_flow_create(): Succeeded to create (1) flow
+ Flow rule #0 created
#. Create a rule with priority 1, check the flow can not be created for the vallue of priority is 0 in non-pipeline mode::
- testpmd> flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / end actions queue index 2 / end
- ice_flow_create(): Failed to create flow
- Caught error type 4 (priority field): cause: 0x7ffe24e65738, Not support priority.: Invalid argument
+ testpmd> flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / end actions queue index 2 / end
+ ice_flow_create(): Failed to create flow
+ Caught error type 4 (priority field): cause: 0x7ffe24e65738, Not support priority.: Invalid argument
#. Start the ``testpmd`` application as follows::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -w 0000:af:00.0,pipeline-mode-support=0 --log-level="ice,7" -- -i --txq=8 --rxq=8
- set fwd rxonly
- set verbose 1
+ ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -w 0000:af:00.0,pipeline-mode-support=0 --log-level="ice,7" -- -i --txq=8 --rxq=8
+ set fwd rxonly
+ set verbose 1
#. Create a rule with priority 0, Check the flow can be created but it will map to fdir filter::
- testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / end actions queue index 2 / end
- ice_interrupt_handler(): OICR: MDD event
- ice_flow_create(): Succeeded to create (1) flow
- Flow rule #0 created
+ testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / end actions queue index 2 / end
+ ice_interrupt_handler(): OICR: MDD event
+ ice_flow_create(): Succeeded to create (1) flow
+ Flow rule #0 created
#. Create a rule with priority 1, check the flow can not be created for the vallue of priority is 0 in non-pipeline mode::
-
- testpmd> flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / end actions queue index 2 / end
- ice_flow_create(): Failed to create flow
- Caught error type 4 (priority field): cause: 0x7ffe24e65738, Not support priority.: Invalid argument
+
+ testpmd> flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / end actions queue index 2 / end
+ ice_flow_create(): Failed to create flow
+ Caught error type 4 (priority field): cause: 0x7ffe24e65738, Not support priority.: Invalid argument
Test Case: Create Flow Rules with Priority in Pipeline Mode
============================================================
@@ -114,55 +114,55 @@ Priority is active in pipeline mode.
Creating flow rules and setting priority 0/1 will map switch/fdir filter separately.
Patterns in this case:
- MAC_IPV4_TCP
- MAC_IPV4_VXLAN_IPV4_UDP_PAY
+ MAC_IPV4_TCP
+ MAC_IPV4_VXLAN_IPV4_UDP_PAY
#. Start the ``testpmd`` application as follows::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -w 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
- set fwd rxonly
- set verbose 1
- rx_vxlan_port add 4789 0
+ ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -w 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
+ set fwd rxonly
+ set verbose 1
+ rx_vxlan_port add 4789 0
#. Create switch filter rules::
- flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / tcp src is 25 dst is 23 / end actions queue index 1 / end
+ flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / tcp src is 25 dst is 23 / end actions queue index 1 / end
- flow create 0 priority 0 ingress pattern eth / ipv4 / udp / vxlan / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / udp src is 25 dst is 23 / end actions queue index 2 / end
+ flow create 0 priority 0 ingress pattern eth / ipv4 / udp / vxlan / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / udp src is 25 dst is 23 / end actions queue index 2 / end
#. Create fdir filter rules::
- flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.4 dst is 192.168.0.7 tos is 4 ttl is 20 / tcp src is 25 dst is 23 / end actions queue index 3 / end
+ flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.4 dst is 192.168.0.7 tos is 4 ttl is 20 / tcp src is 25 dst is 23 / end actions queue index 3 / end
- flow create 0 priority 1 ingress pattern eth / ipv4 / udp / vxlan / eth / ipv4 src is 192.168.0.4 dst is 192.168.0.7 / udp src is 25 dst is 23 / end actions queue index 4 / end
+ flow create 0 priority 1 ingress pattern eth / ipv4 / udp / vxlan / eth / ipv4 src is 192.168.0.4 dst is 192.168.0.7 / udp src is 25 dst is 23 / end actions queue index 4 / end
#. Check flow list with commands "flow list 0", all flows are created correctly::
- +-----+--------+--------+--------+-----------------------+
- |ID | Group | Prio | Attr | Rul |
- +=====+========+========+========+=======================+
- | 0 | 0 | 0 | i- | ETH IPV4 TCP => QUEUE |
- +-----+--------+--------+--------+-----------------------+
- | 1 ... |
- +-----+--------+--------+--------+-----------------------+
- | 2 ... |
- +-----+--------+--------+--------+-----------------------+
- | 3 ... |
- +-----+--------+--------+--------+-----------------------+
+ +-----+--------+--------+--------+-----------------------+
+ |ID | Group | Prio | Attr | Rul |
+ +=====+========+========+========+=======================+
+ | 0 | 0 | 0 | i- | ETH IPV4 TCP => QUEUE |
+ +-----+--------+--------+--------+-----------------------+
+ | 1 ... |
+ +-----+--------+--------+--------+-----------------------+
+ | 2 ... |
+ +-----+--------+--------+--------+-----------------------+
+ | 3 ... |
+ +-----+--------+--------+--------+-----------------------+
#. Send packets according to the created rules in tester::
- sendp([Ether(dst="00:00:00:00:11:00",src="11:22:33:44:55:66")/IP(src="192.168.0.2",dst="192.168.0.3",tos=4)/TCP(sport=25,dport=23)/Raw('x'*80)],iface="enp134s0f0")
- sendp([Ether(dst="00:00:00:00:11:00",src="11:22:33:44:55:66")/IP()/UDP()/VXLAN()/Ether()/IP(src="192.168.0.2",dst="192.168.0.3",tos=4)/UDP(sport=25,dport=23)/Raw('x'*80)],iface="enp134s0f0")
- sendp([Ether(dst="00:00:00:00:11:00",src="11:22:33:44:55:66")/IP(src="192.168.0.4",dst="192.168.0.7",tos=4,ttl=20)/TCP(sport=25,dport=23)/Raw('x'*80)],iface="enp134s0f0")
- sendp([Ether(dst="00:00:00:00:11:00",src="11:22:33:44:55:66")/IP()/UDP()/VXLAN()/Ether()/IP(src="192.168.0.4 ",dst="192.168.0.7")/UDP(sport=25,dport=23)/Raw('x'*80)],iface="enp134s0f0")
+ sendp([Ether(dst="00:00:00:00:11:00",src="11:22:33:44:55:66")/IP(src="192.168.0.2",dst="192.168.0.3",tos=4)/TCP(sport=25,dport=23)/Raw('x'*80)],iface="enp134s0f0")
+ sendp([Ether(dst="00:00:00:00:11:00",src="11:22:33:44:55:66")/IP()/UDP()/VXLAN()/Ether()/IP(src="192.168.0.2",dst="192.168.0.3",tos=4)/UDP(sport=25,dport=23)/Raw('x'*80)],iface="enp134s0f0")
+ sendp([Ether(dst="00:00:00:00:11:00",src="11:22:33:44:55:66")/IP(src="192.168.0.4",dst="192.168.0.7",tos=4,ttl=20)/TCP(sport=25,dport=23)/Raw('x'*80)],iface="enp134s0f0")
+ sendp([Ether(dst="00:00:00:00:11:00",src="11:22:33:44:55:66")/IP()/UDP()/VXLAN()/Ether()/IP(src="192.168.0.4 ",dst="192.168.0.7")/UDP(sport=25,dport=23)/Raw('x'*80)],iface="enp134s0f0")
#. Check the packets are recieved in right queues by dut::
- testpmd> port 0/queue 1: received 1 packets
+ testpmd> port 0/queue 1: received 1 packets
src=11:22:33:44:55:66 - dst=00:00:00:00:11:00 - type=0x0800 - length=134 - nb_segs=1 - RSS hash=0x96803f93 - RSS queue=0x1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER L3_IPV4 L4_TCP - l2_len=14 - l3_len=20 - l4_len=20 - Receive queue=0x1
ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
- ......
+ ......
#. Create rules without priority, Check only patterns supported by switch can be created for the default priorty is 0.
So the first flow can be created and the second flow can not be created::
@@ -180,20 +180,20 @@ Test case: Create No Destination High Priority Flow Rule
A no destination high priority rule is not acceptable. Destination here means exact actions.
Patterns in this case:
- MAC_IPV4_TCP
+ MAC_IPV4_TCP
#. Start the ``testpmd`` application as follows::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -w 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
- set fwd rxonly
- set verbose 1
+ ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -w 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
+ set fwd rxonly
+ set verbose 1
#. Create a rule without exact actions, check the flows can not be created::
- testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / tcp src is 25 dst is 23 / end actions / end
- Bad arguments
- testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / tcp src is 25 dst is 23 / end
- Bad arguments
+ testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / tcp src is 25 dst is 23 / end actions / end
+ Bad arguments
+ testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / tcp src is 25 dst is 23 / end
+ Bad arguments
Test case: Create Flow Rules Only Supported by Fdir Filter with Priority 0
===========================================================================
@@ -201,24 +201,24 @@ Test case: Create Flow Rules Only Supported by Fdir Filter with Priority 0
Creating a rule only supported by fdir filter with priority 0, it is not acceptable.
Patterns in this case:
- MAC_IPV6_SCTP
- MAC_IPV4_SCTP
+ MAC_IPV6_SCTP
+ MAC_IPV4_SCTP
#. Start the ``testpmd`` application as follows::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -w 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
- set fwd rxonly
- set verbose 1
+ ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -w 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
+ set fwd rxonly
+ set verbose 1
#. Create rules, check the flows can not be created::
- testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 src is 1111:2222:3333:4444:5555:6666:7777:8888 dst is 1111:2222:3333:4444:5555:6666:7777:9999 / sctp src is 25 dst is 23 / end actions queue index 1 / end
- ice_flow_create(): Failed to create flow
- Caught error type 2 (flow rule (handle)): Invalid input pattern: Invalid argument
+ testpmd> flow create 0 priority 0 ingress pattern eth / ipv6 src is 1111:2222:3333:4444:5555:6666:7777:8888 dst is 1111:2222:3333:4444:5555:6666:7777:9999 / sctp src is 25 dst is 23 / end actions queue index 1 / end
+ ice_flow_create(): Failed to create flow
+ Caught error type 2 (flow rule (handle)): Invalid input pattern: Invalid argument
- testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 ttl is 20 / sctp src is 25 dst is 23 / end actions queue index 1 / end
- ice_flow_create(): Failed to create flow
- Caught error type 2 (flow rule (handle)): Invalid input pattern: Invalid argument
+ testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 ttl is 20 / sctp src is 25 dst is 23 / end actions queue index 1 / end
+ ice_flow_create(): Failed to create flow
+ Caught error type 2 (flow rule (handle)): Invalid input pattern: Invalid argument
Test case: Create flow rules only supported by switch filter with priority 1
@@ -227,24 +227,24 @@ Test case: Create flow rules only supported by switch filter with priority 1
Create a rule only supported by fdir switch with priority 1, it is not acceptable.
Patterns in this case:
- MAC_IPV4_NVGRE_MAC_IPV4
- MAC_IPV4_NVGRE_MAC_IPV4_UDP
+ MAC_IPV4_NVGRE_MAC_IPV4
+ MAC_IPV4_NVGRE_MAC_IPV4_UDP
#. Start the ``testpmd`` application as follows::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -w 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
- set fwd rxonly
- set verbose 1
+ ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -w 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
+ set fwd rxonly
+ set verbose 1
#. Create rules, check the flows can not be created::
- testpmd> flow create 0 priority 1 ingress pattern eth / ipv4 / nvgre / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / end actions queue index 3 / end
- ice_flow_create(): Failed to create flow
- Caught error type 13 (specific pattern item): cause: 0x7fffe65b8128, Unsupported pattern: Invalid argument
+ testpmd> flow create 0 priority 1 ingress pattern eth / ipv4 / nvgre / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / end actions queue index 3 / end
+ ice_flow_create(): Failed to create flow
+ Caught error type 13 (specific pattern item): cause: 0x7fffe65b8128, Unsupported pattern: Invalid argument
- testpmd> flow create 0 priority 1 ingress pattern eth / ipv4 / nvgre / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / udp src is 25 dst is 23 / end actions queue index 3 / end
- ice_flow_create(): Failed to create flow
- Caught error type 13 (specific pattern item): cause: 0x7fffe65b8128, Unsupported pattern: Invalid argument
+ testpmd> flow create 0 priority 1 ingress pattern eth / ipv4 / nvgre / eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / udp src is 25 dst is 23 / end actions queue index 3 / end
+ ice_flow_create(): Failed to create flow
+ Caught error type 13 (specific pattern item): cause: 0x7fffe65b8128, Unsupported pattern: Invalid argument
Test case: Create flow rules with same parameter but differenet actions
==========================================================================
@@ -257,57 +257,57 @@ Patterns in this case:
#. Start the ``testpmd`` application as follows::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -w 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
- set fwd rxonly
- set verbose 1
+ ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -w 0000:af:00.0,pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
+ set fwd rxonly
+ set verbose 1
#. Create switch rule then fdir rule with the same parameter, check two flows can be created::
- testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / tcp src is 25 dst is 23 / end actions queue index 1 / end
- ice_flow_create(): Succeeded to create (2) flow
- Flow rule #0 created
+ testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / tcp src is 25 dst is 23 / end actions queue index 1 / end
+ ice_flow_create(): Succeeded to create (2) flow
+ Flow rule #0 created
- testpmd> flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / tcp src is 25 dst is 23 / end actions queue index 3 / end
- ice_interrupt_handler(): OICR: MDD event
- ice_flow_create(): Succeeded to create (1) flow
- Flow rule #1 created
+ testpmd> flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / tcp src is 25 dst is 23 / end actions queue index 3 / end
+ ice_interrupt_handler(): OICR: MDD event
+ ice_flow_create(): Succeeded to create (1) flow
+ Flow rule #1 created
#. Tester send a pkt to dut::
- sendp([Ether(dst="00:00:00:00:11:00",src="11:22:33:44:55:66")/IP(src="192.168.0.2",dst="192.168.0.3",tos=4)/TCP(sport=25,dport=23)/Raw('x'*80)],iface="enp134s0f0")
+ sendp([Ether(dst="00:00:00:00:11:00",src="11:22:33:44:55:66")/IP(src="192.168.0.2",dst="192.168.0.3",tos=4)/TCP(sport=25,dport=23)/Raw('x'*80)],iface="enp134s0f0")
#. Check the packets are recieved by dut in queue 1::
- testpmd> port 0/queue 1: received 1 packets
- src=11:22:33:44:55:66 - dst=00:00:00:00:11:00 - type=0x0800 - length=134 - nb_segs=1 - RSS hash=0xf12811f1 - RSS queue=0x1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER L3_IPV4 L4_TCP - l2_len=14 - l3_len=20 - l4_len=20 - Receive queue=0x1
- ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
+ testpmd> port 0/queue 1: received 1 packets
+ src=11:22:33:44:55:66 - dst=00:00:00:00:11:00 - type=0x0800 - length=134 - nb_segs=1 - RSS hash=0xf12811f1 - RSS queue=0x1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER L3_IPV4 L4_TCP - l2_len=14 - l3_len=20 - l4_len=20 - Receive queue=0x1
+ ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
#. Remove the switch rule::
-
- testpmd>flow destroy 0 rule 0
+
+ testpmd>flow destroy 0 rule 0
#. Tester send a pkt to dut::
- sendp([Ether(dst="00:00:00:00:11:00",src="11:22:33:44:55:66")/IP(src="192.168.0.2",dst="192.168.0.3",tos=4)/TCP(sport=25,dport=23)/Raw('x'*80)],iface="enp134s0f0")
+ sendp([Ether(dst="00:00:00:00:11:00",src="11:22:33:44:55:66")/IP(src="192.168.0.2",dst="192.168.0.3",tos=4)/TCP(sport=25,dport=23)/Raw('x'*80)],iface="enp134s0f0")
#. Check the packets are recieved in queue 3::
- testpmd> port 0/queue 3: received 1 packets
- src=11:22:33:44:55:66 - dst=00:00:00:00:11:00 - type=0x0800 - length=134 - nb_segs=1 - RSS hash=0xf12811f1 - RSS queue=0x3 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER L3_IPV4 L4_TCP - l2_len=14 - l3_len=20 - l4_len=20 - Receive queue=0x3
- ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
+ testpmd> port 0/queue 3: received 1 packets
+ src=11:22:33:44:55:66 - dst=00:00:00:00:11:00 - type=0x0800 - length=134 - nb_segs=1 - RSS hash=0xf12811f1 - RSS queue=0x3 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER L3_IPV4 L4_TCP - l2_len=14 - l3_len=20 - l4_len=20 - Receive queue=0x3
+ ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
#. Restart the ``testpmd`` application as follows::
- ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -w 0000:af:00.0, pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
- set fwd rxonly
- set verbose 1
+ ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -w 0000:af:00.0, pipeline-mode-support=1 --log-level="ice,7" -- -i --txq=8 --rxq=8
+ set fwd rxonly
+ set verbose 1
#. Create fdir rule then switch rule with the same parameter, check two flows can be created::
- testpmd> flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / tcp src is 25 dst is 23 / end actions queue index 3 / end
- ice_interrupt_handler(): OICR: MDD event
- ice_flow_create(): Succeeded to create (1) flow
- Flow rule #0 created
+ testpmd> flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / tcp src is 25 dst is 23 / end actions queue index 3 / end
+ ice_interrupt_handler(): OICR: MDD event
+ ice_flow_create(): Succeeded to create (1) flow
+ Flow rule #0 created
testpmd> flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.2 dst is 192.168.0.3 tos is 4 / tcp src is 25 dst is 23 / end actions queue index 1 / end
ice_flow_create(): Succeeded to create (2) flow
@@ -315,24 +315,24 @@ Patterns in this case:
#. Tester send a pkt to dut::
- sendp([Ether(dst="00:00:00:00:11:00",src="11:22:33:44:55:66")/IP(src="192.168.0.2",dst="192.168.0.3",tos=4)/TCP(sport=25,dport=23)/Raw('x'*80)],iface="enp134s0f0")
+ sendp([Ether(dst="00:00:00:00:11:00",src="11:22:33:44:55:66")/IP(src="192.168.0.2",dst="192.168.0.3",tos=4)/TCP(sport=25,dport=23)/Raw('x'*80)],iface="enp134s0f0")
#. Check the packets are recieved by dut in queue 1::
- testpmd> port 0/queue 1: received 1 packets
+ testpmd> port 0/queue 1: received 1 packets
src=11:22:33:44:55:66 - dst=00:00:00:00:11:00 - type=0x0800 - length=134 - nb_segs=1 - RSS hash=0xf12811f1 - RSS queue=0x1 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER L3_IPV4 L4_TCP - l2_len=14 - l3_len=20 - l4_len=20 - Receive queue=0x1
ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
#. Remove the switch rule::
- testpmd>flow destroy 0 rule 1
+ testpmd>flow destroy 0 rule 1
#. Tester send a pkt to dut::
- sendp([Ether(dst="00:00:00:00:11:00",src="11:22:33:44:55:66")/IP(src="192.168.0.2",dst="192.168.0.3",tos=4)/TCP(sport=25,dport=23)/Raw('x'*80)],iface="enp134s0f0")
+ sendp([Ether(dst="00:00:00:00:11:00",src="11:22:33:44:55:66")/IP(src="192.168.0.2",dst="192.168.0.3",tos=4)/TCP(sport=25,dport=23)/Raw('x'*80)],iface="enp134s0f0")
#. Check the packets are recieved in queue 3::
- testpmd> port 0/queue 3: received 1 packets
+ testpmd> port 0/queue 3: received 1 packets
src=11:22:33:44:55:66 - dst=00:00:00:00:11:00 - type=0x0800 - length=134 - nb_segs=1 - RSS hash=0xf12811f1 - RSS queue=0x3 - hw ptype: L2_ETHER L3_IPV4_EXT_UNKNOWN L4_TCP - sw ptype: L2_ETHER L3_IPV4 L4_TCP - l2_len=14 - l3_len=20 - l4_len=20 - Receive queue=0x3
ol_flags: PKT_RX_RSS_HASH PKT_RX_L4_CKSUM_GOOD PKT_RX_IP_CKSUM_GOOD PKT_RX_OUTER_L4_CKSUM_UNKNOWN
--
1.8.3.1
^ permalink raw reply [flat|nested] 9+ messages in thread