test suite reviews and discussions
 help / color / mirror / Atom feed
From: Chenxu Di <chenxux.di@intel.com>
To: dts@dpdk.org
Cc: yuan.peng@intel.com, Chenxu Di <chenxux.di@intel.com>
Subject: [dts] [PATCH v6 1/2] test_plans/fortville_rss_input: add fortville rss input test plan
Date: Fri, 17 Apr 2020 03:33:33 +0000	[thread overview]
Message-ID: <20200417033334.62166-2-chenxux.di@intel.com> (raw)
In-Reply-To: <20200417033334.62166-1-chenxux.di@intel.com>

Fortville enable setting hash input set in rte flow.
Add test plan for it.

Signed-off-by: Chenxu Di <chenxux.di@intel.com>
---
 test_plans/fortville_rss_input_test_plan.rst | 600 +++++++++++++++++++
 1 file changed, 600 insertions(+)
 create mode 100644 test_plans/fortville_rss_input_test_plan.rst

diff --git a/test_plans/fortville_rss_input_test_plan.rst b/test_plans/fortville_rss_input_test_plan.rst
new file mode 100644
index 0000000..7a68deb
--- /dev/null
+++ b/test_plans/fortville_rss_input_test_plan.rst
@@ -0,0 +1,600 @@
+.. Copyright (c) <2019>, Intel Corporation
+   All rights reserved.
+
+   Redistribution and use in source and binary forms, with or without
+   modification, are permitted provided that the following conditions
+   are met:
+
+   - Redistributions of source code must retain the above copyright
+     notice, this list of conditions and the following disclaimer.
+
+   - Redistributions in binary form must reproduce the above copyright
+     notice, this list of conditions and the following disclaimer in
+     the documentation and/or other materials provided with the
+     distribution.
+
+   - Neither the name of Intel Corporation nor the names of its
+     contributors may be used to endorse or promote products derived
+     from this software without specific prior written permission.
+
+   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+   "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+   FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+   COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+   INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+   (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+   SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+   HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
+   STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+   ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+   OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+====================================================
+Fortville Configuration of RSS in RTE Flow Tests
+====================================================
+
+Description
+===========
+
+The feature remove legacy filter API and switch to rte_flow in driver fm10k,
+i40e, ixgbe, ice. What is need is that remove the function in filter_ctrl 
+ops in drivers and implement functions in rte_flow. Many functions have been
+implemented in rte_flow in the early patches. this feature implement that
+set global configurations of hash filters, set symmetric hash configuration
+enable and Set GRE key length for input set in driver i40e. 
+
+Prerequisites
+=============
+
+1.Bind PF ports to igb_uio driver::
+
+    usertools/dpdk-devbind.py --bind=igb_uio 0000:81:00.0
+
+2.Start testpmd on host::
+
+    ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4  -w 81:00.0 -- -i --txq=8 --rxq=8
+    testpmd>set verbose 1
+    testpmd>start
+
+Test Case: test global configurations of hash filter
+====================================================
+
+create a rule that set global configurations of hash filters is toeplitz::
+
+    testpmd> flow create 0 ingress pattern end actions rss types end queues end func simple_xor / end
+    testpmd> flow list 0
+
+verify the Rule is RSS.
+
+get the status of hash configuration::
+
+    testpmd> get_hash_global_config 0
+
+verify Hash function is simple_xor.
+
+delete the rule::
+
+    testpmd> flow flush 0
+    testpmd> flow list 0
+
+verify the rules have been destroyed.
+
+get the status of hash configuration::
+
+    testpmd> get_hash_global_config 0
+
+verify Hash function is toeplitz.
+
+Test Case: test symmetric hash configuration
+============================================
+
+create a rule that set symmetric hash configuration enable::
+
+    testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end func symmetric_toeplitz queues end / end
+    testpmd> flow list 0
+
+verify the Rule is RSS.
+
+send 2 packets::
+
+    sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1",dst="192.168.0.2")/TCP(sport=1024, dport=1025)/Raw(load='X'*1000)],iface='ens802f3')
+    sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.2",dst="192.168.0.1")/TCP(sport=1025, dport=1024)/Raw(load='X'*1000)],iface='ens802f3')
+
+vefify two packets have the same RSS hash value.
+
+destroy the rule::
+
+    testpmd> flow destroy 0 rule 0
+    testpmd> flow list 0
+
+verify the rule has been destroyed.
+
+create a rule that set symmetric hash configuration disable::
+
+    testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end queues end / end
+    testpmd> flow list 0
+
+verify the Rule is RSS.
+
+send 2 packets::
+
+    sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1",dst="192.168.0.2")/TCP(sport=1024, dport=1025)/Raw(load='X'*1000)],iface='ens802f3')
+    sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.2",dst="192.168.0.1")/TCP(sport=1025, dport=1024)/Raw(load='X'*1000)],iface='ens802f3')
+
+vefify two packets have different RSS hash values
+
+Test Case: test set hash input set for ipv4-tcp
+==============================================
+
+test all different hash input set for ipv4-tcp
+1. Set hash input set for ipv4-tcp l3-src-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l3-src-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 10 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst=RandIP())/TCP(sport=RandShort(),dport=RandShort())],iface='ens802f3',count=10)
+
+   verify 10 packets have the same RSS hash value.
+
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst=RandIP())/TCP(sport=RandShort(),dport=RandShort())],iface='ens802f3')
+
+   verify the packet have different RSS hash value with above.
+
+2. Set hash input set for ipv4-tcp l3-dst-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l3-dst-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 10 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src=RandIP(), dst="192.168.0.2")/TCP(sport=RandShort(),dport=RandShort())],iface='ens802f3',count=10)
+
+   verify 10 packets have the same RSS hash value.
+
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src=RandIP(), dst="192.168.0.2")/TCP(sport=RandShort(),dport=RandShort())],iface='ens802f3')
+
+   verify the packet have different RSS hash value with above.
+
+3. Set hash input set for ipv4-tcp l4-src-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l4-src-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 10 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src=RandIP(), dst=RandIP())/TCP(sport=1024,dport=RandShort())],iface='ens802f3',count=10)
+
+   verify 10 packets have the same RSS hash value.
+
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src=RandIP(), dst=RandIP())/TCP(sport=1024,dport=RandShort())],iface='ens802f3')
+
+   verify the packet have different RSS hash value with above.
+
+4. Set hash input set for ipv4-tcp l4-dst-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l4-dst-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 10 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src=RandIP(), dst=RandIP())/TCP(sport=RandShort(),dport=1025)],iface='ens802f3',count=10)
+
+   verify 10 packets have the same RSS hash value.
+
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src=RandIP(), dst=RandIP())/TCP(sport=RandShort(),dport=1025)],iface='ens802f3')
+
+   verify the packet have different RSS hash value with above.
+
+5. Set hash input set for ipv4-tcp l3-src-only and l3-dst-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l3-src-only l3-dst-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 10 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=RandShort(),dport=RandShort())],iface='ens802f3',count=10)
+
+   verify 10 packets have the same RSS hash value.
+
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=RandShort(),dport=RandShort())],iface='ens802f3')
+
+   verify the packet have different RSS hash value with above.
+
+6. Set hash input set for ipv4-tcp l4-src-only and l4-dst-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l4-src-only l4-dst-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 10 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src=RandIP(), dst=RandIP())/TCP(sport=1024,dport=1025)],iface='ens802f3',count=10)
+
+   verify 10 packets have the same RSS hash value.
+   
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src=RandIP(), dst=RandIP())/TCP(sport=1024,dport=1025)],iface='ens802f3')
+
+   verify the packet have different RSS hash value with above.
+
+7.Set hash input set for ipv4-tcp l4-src-only and l3-src-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l4-src-only l3-src-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 10 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst=RandIP())/TCP(sport=1024,dport=RandShort())],iface='ens802f3',count=10)
+
+   verify 10 packets have the same RSS hash value.
+
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst=RandIP())/TCP(sport=1024,dport=RandShort())],iface='ens802f3')
+
+   verify the packet have different RSS hash value with above.
+
+8. Set hash input set for ipv4-tcp l4-dst-only and l3-dst-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l4-dst-only l3-dst-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 10 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src=RandIP(), dst="192.168.0.2")/TCP(sport=RandShort(),dport=1025)],iface='ens802f3',count=10)
+
+   verify 10 packets have the same RSS hash value.
+
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src=RandIP(), dst="192.168.0.2")/TCP(sport=RandShort(),dport=1025)],iface='ens802f3')
+
+   verify the packet have different RSS hash value with above.
+
+9. Set hash input set for ipv4-tcp l4-src-only and l3-dst-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l4-src-only l3-dst-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 10 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src=RandIP(), dst="192.168.0.2")/TCP(sport=1024,dport=RandShort())],iface='ens802f3',count=10)
+
+   verify 10 packets have the same RSS hash value.
+
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src=RandIP(), dst="192.168.0.2")/TCP(sport=1024,dport=RandShort())],iface='ens802f3')
+
+   verify the packet have different RSS hash value with above.
+
+10. Set hash input set for ipv4-tcp l4-dst-only and l3-src-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l4-dst-only l3-src-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 10 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst=RandIP())/TCP(sport=RandShort(),dport=1025)],iface='ens802f3',count=10)
+
+   verify 10 packets have the same RSS hash value.
+
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst=RandIP())/TCP(sport=RandShort(),dport=1025)],iface='ens802f3')
+
+   verify the packet have different RSS hash value with above.
+
+11. Set hash input set for ipv4-tcp l4-src-only, l4-dst-only and l3-dst-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l4-src-only l4-dst-only l3-dst-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 10 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src=RandIP(), dst="192.168.0.2")/TCP(sport=1024,dport=1025)],iface='ens802f3',count=10)
+
+   verify 10 packets have the same RSS hash value.
+
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src=RandIP(), dst="192.168.0.2")/TCP(sport=1024,dport=1025)],iface='ens802f3')
+
+   verify the packet have different RSS hash value with above.
+
+12. Set hash input set for ipv4-tcp l4-src-only, l4-dst-only and l3-src-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l4-src-only l4-dst-only l3-src-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 10 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst=RandIP())/TCP(sport=1024,dport=1025)],iface='ens802f3',count=10)
+
+   verify 10 packets have the same RSS hash value.
+
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst=RandIP())/TCP(sport=1024,dport=1025)],iface='ens802f3')
+
+   verify the packet have different RSS hash value with above.
+
+13. Set hash input set for ipv4-tcp l4-dst-only, l3-dst-only and l3-src-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l4-dst-only l3-dst-only l3-src-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 10 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=RandShort(),dport=1025)],iface='ens802f3',count=10)
+
+   verify 10 packets have the same RSS hash value.
+
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=RandShort(),dport=1025)],iface='ens802f3')
+
+   verify the packet have different RSS hash value with above.
+
+14. Set hash input set for ipv4-tcp l4-src-only,  l3-src-only and l3-dst-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l4-src-only l3-dst-only l3-src-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 10 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=1024,RandShort())],iface='ens802f3',count=10)
+
+   verify 10 packets have the same RSS hash value.
+
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=1024,RandShort())],iface='ens802f3')
+
+   verify the packet have different RSS hash value with above.
+
+15. Set hash input set for ipv4-tcp l4-src-only, l4-dst-only, l3-src-only and l3-dst-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l4-src-only l4-dst-only l3-src-only l3-dst-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 1 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=1024,dport=1025)],iface='ens802f3')
+
+   verify the RSS hash value valid.
+
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=1024,dport=1025)],iface='ens802f3')
+
+   verify the packet have same RSS hash value as above.
+
+Test Case: test set hash input set for ipv4-udp
+================================================
+
+test all different hash input set for ipv4-udp
+the same steps as step 1-15 for ipv4-tcp, just replace tcp with udp.
+
+Test Case: test set hash input set for ipv4-sctp
+================================================
+
+test all different hash input set for ipv4-sctp
+the same steps as step 1-15 for ipv4-tcp, just replace tcp with sctp.
+
+Test Case: test set hash input set for ipv6-tcp
+================================================
+
+test all different hash input set for ipv6-tcp
+the same steps as step 1-15 for ipv4-tcp, just replace ipv4 with ipv6.
+
+Test Case: test set hash input set for ipv6-udp
+================================================
+
+test all different hash input set for ipv6-udp
+the same steps as step 1-15 for ipv4-tcp, just replace ipv4-tcp with ipv6-udp.
+
+Test Case: test set hash input set for ipv6-sctp
+================================================
+
+test all different hash input set for ipv6-sctp
+the same steps as step 1-15 for ipv4-tcp, just replace ipv4-tcp with ipv6-sctp.
+
+Test Case: test set hash input set for ipv4-other
+================================================
+
+test all different hash input set for ipv4-other
+1. Set hash input set for ipv4-other l3-src-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4-other l3-src-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 10 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst=RandIP())/GRE(key_present=1,proto=2048,key=67108863)/IP()],iface='ens802f3',count=10)
+
+   verify 10 packets have the same RSS hash value.
+
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4-other end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst=RandIP())/GRE(key_present=1,proto=2048,key=67108863)/IP()],iface='ens802f3')
+
+   verify the packet have different RSS hash value with above.
+
+2. Set hash input set for ipv4-other l3-dst-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4-other l3-dst-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 10 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src=RandIP(), dst="192.168.0.2")/GRE(key_present=1,proto=2048,key=67108863)/IP()],iface='ens802f3',count=10)
+
+   verify 10 packets have the same RSS hash value.
+
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4-other end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src=RandIP(), dst="192.168.0.2")/GRE(key_present=1,proto=2048,key=67108863)/IP()],iface='ens802f3')
+
+   verify the packet have different RSS hash value with above.
+
+3. Set hash input set for ipv4-other l3-src-only and l3-dst-only::
+
+        testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4-other l3-src-only l3-dst-only end queues end / end
+
+   verify the Rule create successfully.
+
+   send 1 packets::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst="192.168.0.2")/GRE(key_present=1,proto=2048,key=67108863)/IP()],iface='ens802f3')
+
+   verify the RSS hash value valid.
+
+   destroy the rule and create a new rule with default inputset::
+
+        testpmd> flow destroy 0 rule 0
+        testpmd> flow create 0 ingress pattern eth / ipv4 / end actions rss types ipv4-other end queues end / end
+
+   send 1 packet same as above::
+
+        sendp([Ether(dst="00:11:22:33:44:55")/IP(src="192.168.0.1", dst="192.168.0.2")/GRE(key_present=1,proto=2048,key=67108863)/IP()],iface='ens802f3')
+
+   verify the packet have same RSS hash value as above.
+
+Test Case: test set hash input set for ipv6-other
+================================================
+
+test all different hash input set for ipv6-other
+the same steps as step 1-3 for ipv4-other, just replace ipv4 with ipv6.
+
+Test Case: test flow validate
+=============================
+
+1. validate the rule::
+
+        testpmd> flow validate 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l3-dst-only end queues end / end
+        testpmd> flow validate 0 ingress pattern end actions rss types end queues 0 1 end / end
+
+   verify the rule validate successfully.
+
+2. validate the rule::
+
+         flow validate 0 ingress pattern eth / ipv4 / tcp / end actions rss types ipv4-tcp l3-dst-only end queues 0 1 end / end
+
+   verify the rule validate failed.
-- 
2.17.1


  reply	other threads:[~2020-04-17  3:57 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-17  3:33 [dts] [PATCH v6 0/2] add fortville rss input test Chenxu Di
2020-04-17  3:33 ` Chenxu Di [this message]
2020-04-17  3:33 ` [dts] [PATCH v6 2/2] tests/fortville_rss_input: add fortville rss input Chenxu Di
2020-04-17  7:21 ` [dts] [PATCH v6 0/2] add fortville rss input test Peng, Yuan
2020-04-20  5:23 ` Tu, Lijuan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200417033334.62166-2-chenxux.di@intel.com \
    --to=chenxux.di@intel.com \
    --cc=dts@dpdk.org \
    --cc=yuan.peng@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).