* [dts][PATCH V3 1/3] test_plans/fortville_rss_granularity_config: delete the test plan
@ 2021-12-02 11:14 Yan Xia
2021-12-02 11:14 ` [dts][PATCH V3 2/3] test_plans/index: delete fortville_rss_granularity_config Yan Xia
2021-12-02 11:14 ` [dts][PATCH V3 3/3] tests/fortville_rss_granularity_config: delete the suite Yan Xia
0 siblings, 2 replies; 5+ messages in thread
From: Yan Xia @ 2021-12-02 11:14 UTC (permalink / raw)
To: dts; +Cc: Yan Xia
delete fortville_rss_granularity_config test plan
dpdk commit id: 81db321da ethdev: remove legacy HASH filter type support
Signed-off-by: Yan Xia <yanx.xia@intel.com>
---
| 321 ------------------
1 file changed, 321 deletions(-)
delete mode 100644 test_plans/fortville_rss_granularity_config_test_plan.rst
diff --git a/test_plans/fortville_rss_granularity_config_test_plan.rst b/test_plans/fortville_rss_granularity_config_test_plan.rst
deleted file mode 100644
index 18592b1e..00000000
--- a/test_plans/fortville_rss_granularity_config_test_plan.rst
+++ /dev/null
@@ -1,321 +0,0 @@
-.. Copyright (c) <2015-2017>, 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 Granularity Configuration of RSS and 32-bit GRE key Tests
-===================================================================
-
-Description
-===========
-
-This document provides test plan for testing the function of Fortville:
-
-1. Support granularity configuration of RSS
-
- By default Fortville uses hash input set preloaded from NVM image which
- includes all fields IPv4/v6+TCP/UDP port. Potential problem for this is
- global configuration per device and can affect all ports. It is required
- that hash input set can be configurable, such as using IPv4 only or IPv6
- only or IPv4/v6+TCP/UDP.
-
-2. support 32-bit GRE keys
-
- By default Fortville extracts only 24 bits of GRE key to FieldVector (NVGRE
- use case) but for Telco use cases full 32-bit GRE key is needed. It is
- required that both 24-bit and 32-bit keys for GRE should be supported. the
- test plan is to test the API to switch between 24-bit and 32-bit keys
-
-
-Prerequisites
--------------
-
-1. Hardware:
-
- * 1x Fortville_eagle NIC (4x 10G)
- * 1x Fortville_spirit NIC (2x 40G)
- * 2x Fortville_spirit_single NIC (1x 40G)
-
-2. Software:
-
- * dpdk: http://dpdk.org/git/dpdk
- * scapy: http://www.secdev.org/projects/scapy/
-
-3. Bind one port to DPDK driver::
-
- ./usertools/dpdk-devbind.py -b igb_uio 05:00.0
-
- Suppose the MAC address of the port is "00:00:00:00:01:00".
-
-
-Test Case 1: test with flow type ipv4-tcp
-=========================================
-
-1. config testpmd on DUT
-
- 1. set up testpmd with Fortville NICs::
-
- ./testpmd -c 0x1ffff -n 4 -- -i --coremask=0x1fffe --portmask=0x1 --rxq=16 --txq=16 --tx-offloads=0x8fff
-
- 2. Reta Configuration(optional, if not set, will use default)::
-
- testpmd> port config 0 rss reta (hash_index,queue_id)
-
- 3. PMD fwd only receive the packets::
-
- testpmd> set fwd rxonly
-
- 4. rss received package type configuration::
-
- testpmd> port config all rss tcp
-
- 5. set hash function::
-
- testpmd>set_hash_global_config 0 toeplitz ipv4-tcp enable
-
- 6. verbose configuration::
-
- testpmd> set verbose 8
-
- 7. start packet receive::
-
- testpmd> start
-
-2. using scapy to send packets with ipv4-tcp on tester::
-
- sendp([Ether(dst="00:00:00:00:01:00")/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=1024,dport=1025)], iface=tester_itf)
-
- then got hash value and queue value that output from the testpmd on DUT.
-
-3. set hash input set to "none" by testpmd on dut::
-
- testpmd> set_hash_input_set 0 ipv4-tcp none select
-
- send packet as step 2, got hash value and queue value that output from the
- testpmd on DUT, the values should be different from the values in step 2.
-
-4. set hash input set by testpmd on dut, enable src-ipv4 & dst-ipv4::
-
- testpmd> set_hash_input_set 0 ipv4-tcp src-ipv4 add
- testpmd> set_hash_input_set 0 ipv4-tcp dst-ipv4 add
-
- send packet as step 2, got hash value and queue value that output from the testpmd on DUT, the values should be
- different from the values in step 2.
-
-5. set hash input set by testpmd on dut, enable src-ipv4, dst-ipv4, tcp-src-port, tcp-dst-port::
-
- testpmd> set_hash_input_set 0 ipv4-tcp tcp-src-port add
- testpmd> set_hash_input_set 0 ipv4-tcp tcp-dst-port add
-
- send packet as step 2, got hash value and queue value that output from the testpmd on DUT, the values
- should be different with the values from step 3 & step 4, should be same as step 2.
-
-6. set hash input set by testpmd on dut, enable tcp-src-port, tcp-dst-port::
-
- testpmd> set_hash_input_set 0 ipv4-tcp none select
- testpmd> set_hash_input_set 0 ipv4-tcp tcp-src-port add
- testpmd> set_hash_input_set 0 ipv4-tcp tcp-dst-port add
-
- send packet as step 2, got hash value and queue value that output from the testpmd on DUT, the values should be
- should be different with the values from step2 & step 3 & step 4 & step 5.
-
- So it can be approved that with flow type ipv4-tcp, rss hash can be calculated by only included IPv4 fields
- or only included TCP fields or both IPv4+TCP fields.
-
-
-Test Case 2: test with flow type ipv4-udp
-=========================================
-
-1. config testpmd on DUT
-
- 1. set up testpmd with Fortville NICs::
-
- ./testpmd -c 0x1ffff -n 4 -- -i --coremask=0x1fffe --portmask=0x1 --rxq=16 --txq=16 --tx-offloads=0x8fff
-
- 2. Reta Configuration(optional, if not set, will use default)::
-
- testpmd> port config 0 rss reta (hash_index,queue_id)
-
- 3. PMD fwd only receive the packets::
-
- testpmd> set fwd rxonly
-
- 4. rss received package type configuration::
-
- testpmd> port config all rss udp
-
- 5. set hash function::
-
- testpmd>set_hash_global_config 0 toeplitz ipv4-udp enable
-
- 6. verbose configuration::
-
- testpmd> set verbose 8
-
- 7. start packet receive::
-
- testpmd> start
-
-2. using scapy to send packets with ipv4-udp on tester::
-
-
- sendp([Ether(dst="00:00:00:00:01:00")/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=1024,dport=1025)], iface=tester_itf))
-
- then got hash value and queue value that output from the testpmd on DUT.
-
-3. set hash input set to "none" by testpmd on dut::
-
- testpmd> set_hash_input_set 0 ipv4-udp none select
-
- send packet as step 2, got hash value and queue value that output from the testpmd on DUT, the values should be
- different from the values in step 2.
-
-4. set hash input set by testpmd on dut, enable src-ipv4 and dst-ipv4::
-
- testpmd> set_hash_input_set 0 ipv4-udp src-ipv4 add
- testpmd> set_hash_input_set 0 ipv4-udp dst-ipv4 add
-
- send packet as step 2, got hash value and queue value that output from the testpmd on DUT, the values should be
- different from the values in step 2 & step 3.
-
-5. set hash input set by testpmd on dut, enable src-ipv4, dst-ipv4, udp-src-port, udp-dst-port::
-
- testpmd> set_hash_input_set 0 ipv4-udp udp-src-port add
- testpmd> set_hash_input_set 0 ipv4-udp udp-dst-port add
-
- send packet as step 2, got hash value and queue value that output from the testpmd on DUT, the values should be
- should be different with the values from step 3 & step 4, should be same as step 2.
-
-6. set hash input set by testpmd on dut, enable udp-src-port, udp-dst-port::
-
- testpmd> set_hash_input_set 0 ipv4-udp none select
- testpmd> set_hash_input_set 0 ipv4-udp udp-src-port add
- testpmd> set_hash_input_set 0 ipv4-udp udp-dst-port add
-
- send packet as step 2, got hash value and queue value that output from the testpmd on DUT, the values should be
- should be different with the values from step2 & step 3 & step 4 & step 5.
-
- So it can be approved that with flow type ipv4-udp, rss hash can be calculated by only included IPv4 fields
- or only included UDP fields or both IPv4+UDP fields.
-
-Test Case 3: test with flow type ipv6-tcp
-=========================================
-
-test method is same as Test Case 1, but it need change all ipv4 to ipv6,
-and using scapy to send packets with ipv6-tcp on tester::
-
- sendp([Ether(dst="00:00:00:00:01:00")/IPv6(src="3ffe:2501:200:1fff::1", dst="3ffe:2501:200:3::2")/TCP(sport=1024,dport=1025)], iface=tester_itf)
-
-and the test result should be same as Test Case 1.
-
-
-Test Case 4: test with flow type ipv6-udp
-=========================================
-
-test method is same as Test Case 2, but it need change all ipv4 to ipv6,
-and using scapy to send packets with ipv6-udp on tester::
-
- sendp([Ether(dst="00:00:00:00:01:00")/IPv6(src="3ffe:2501:200:1fff::1", dst="3ffe:2501:200:3::2")/UDP(sport=1024,dport=1025)], iface=tester_itf)
-
-and the test result should be same as Test Case 2.
-
-
-Test Case 6: 32-bit GRE keys and 24-bit GRE keys test
-=====================================================
-
-1. config testpmd on DUT
-
- 1. set up testpmd with Fortville NICs::
-
- ./testpmd -c 0x1ffff -n 4 -- -i --coremask=0x1fffe --portmask=0x1 --rxq=16 --txq=16 --tx-offloads=0x8fff
-
- 2. Reta Configuration(optional, if not set, will use default)::
-
- testpmd> port config 0 rss reta (hash_index,queue_id)
-
- 3. PMD fwd only receive the packets::
-
- testpmd> set fwd rxonly
-
- 4. rss received package type configuration::
-
- testpmd> port config all rss all
-
- 5. set hash function::
-
- testpmd>set_hash_global_config 0 toeplitz ipv4-other enable
-
- 6. verbose configuration::
-
- testpmd> set verbose 8
-
- 7. start packet receive::
-
- testpmd> start
-
-2. using scapy to send packets with GRE header on tester::
-
- sendp([Ether(dst="00:00:00:00:01:00")/IP(src="192.168.0.1",dst="192.168.0.2",proto=47)/GRE(key_present=1,proto=2048,key=67108863)/IP()], iface=tester_itf)
-
- then got hash value and queue value that output from the testpmd on DUT.
-
-3. set hash input set to "none" by testpmd on dut::
-
- testpmd> set_hash_input_set 0 ipv4-other none select
-
- send packet as step 2, got hash value and queue value that output from the testpmd on DUT, the value should be
- different with the values in step 2.
-
-4. set hash input set by testpmd on dut, enable src-ipv4, dst-ipv4::
-
- testpmd> set_hash_input_set 0 ipv4-other src-ipv4 add
- testpmd> set_hash_input_set 0 ipv4-other dst-ipv4 add
-
- send packet as step 2, got hash value and queue value that output from the testpmd on DUT, the value should be
- same with the values in step 2.
-
-5. set hash input set and gre-key-len=3 by testpmd on dut, enable gre-key::
-
- testpmd> global_config 0 gre-key-len 3
- testpmd> set_hash_input_set 0 ipv4-other gre-key add
-
- send packet as step 2, got hash value and queue value that output from the testpmd on DUT, the values should be
- different with the values in step 2 & step3.
-
-6. set gre-key-len=4 by testpmd on dut, enable gre-key::
-
- testpmd> global_config 0 gre-key-len 4
-
- send packet as step 2, got hash value and queue value that output from the testpmd on DUT, the values should be
- different with the values in step 2 & step3 & step 5.
-
- So with gre-key-len=3 (24bit gre key) or gre-key-len=4 (32bit gre key), different rss hash value and queue value
- can be got, it can be proved that 32bit & 24bit gre key are supported by Fortville.
--
2.33.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [dts][PATCH V3 2/3] test_plans/index: delete fortville_rss_granularity_config
2021-12-02 11:14 [dts][PATCH V3 1/3] test_plans/fortville_rss_granularity_config: delete the test plan Yan Xia
@ 2021-12-02 11:14 ` Yan Xia
2021-12-02 11:14 ` [dts][PATCH V3 3/3] tests/fortville_rss_granularity_config: delete the suite Yan Xia
1 sibling, 0 replies; 5+ messages in thread
From: Yan Xia @ 2021-12-02 11:14 UTC (permalink / raw)
To: dts; +Cc: Yan Xia
delete fortville_rss_granularity_config
dpdk commit id: 81db321da ethdev: remove legacy HASH filter type support
Signed-off-by: Yan Xia <yanx.xia@intel.com>
---
test_plans/index.rst | 1 -
1 file changed, 1 deletion(-)
diff --git a/test_plans/index.rst b/test_plans/index.rst
index 0c2a94d0..ab5a1d31 100644
--- a/test_plans/index.rst
+++ b/test_plans/index.rst
@@ -87,7 +87,6 @@ The following are the test plans for the DPDK DTS automated test system.
firmware_version_test_plan
floating_veb_test_plan
flow_classify_softnic_test_plan
- fortville_rss_granularity_config_test_plan
fortville_rss_input_test_plan
generic_flow_api_test_plan
hotplug_mp_test_plan
--
2.33.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* [dts][PATCH V3 3/3] tests/fortville_rss_granularity_config: delete the suite
2021-12-02 11:14 [dts][PATCH V3 1/3] test_plans/fortville_rss_granularity_config: delete the test plan Yan Xia
2021-12-02 11:14 ` [dts][PATCH V3 2/3] test_plans/index: delete fortville_rss_granularity_config Yan Xia
@ 2021-12-02 11:14 ` Yan Xia
2021-12-06 2:25 ` Peng, Yuan
1 sibling, 1 reply; 5+ messages in thread
From: Yan Xia @ 2021-12-02 11:14 UTC (permalink / raw)
To: dts; +Cc: Yan Xia
delete fortville_rss_granularity_config testsuite
dpdk commit id: 81db321da ethdev: remove legacy HASH filter type support
Signed-off-by: Yan Xia <yanx.xia@intel.com>
---
| 563 ------------------
1 file changed, 563 deletions(-)
delete mode 100644 tests/TestSuite_fortville_rss_granularity_config.py
diff --git a/tests/TestSuite_fortville_rss_granularity_config.py b/tests/TestSuite_fortville_rss_granularity_config.py
deleted file mode 100644
index b397cf37..00000000
--- a/tests/TestSuite_fortville_rss_granularity_config.py
+++ /dev/null
@@ -1,563 +0,0 @@
-# BSD LICENSE
-#
-# Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
-# 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.
-
-"""
-DPDK Test suite.
-
-Test DPDK2.3 feature:
-1.Fortville support granularity configuration of RSS.
-By default Fortville uses hash input set preloaded from NVM image which includes all fields
-- IPv4/v6+TCP/UDP port. Potential problem for this is global configuration per device and can
-affect all ports. It is required that hash input set can be configurable, such as using IPv4
-only or IPv6 only or IPv4/v6+TCP/UDP.
-
-2.Fortville support 32-bit GRE keys.
-By default Fortville extracts only 24 bits of GRE key to FieldVector (NVGRE use case) but
-for Telco use cases full 32-bit GRE key is needed. It is required that both 24-bit and 32-bit
-keys for GRE should be supported. the test plan is to test the API to switch between 24-bit and
-32-bit keys
-
-Support 4*10G, 1*40G and 2*40G NICs.
-"""
-import random
-import re
-import time
-
-import framework.dut as dut
-import framework.utils as utils
-from framework.pmd_output import PmdOutput
-
-testQueues = [16]
-reta_entries = []
-reta_lines = []
-
-# Use scapy to send packets with different source and dest ip.
-# and collect the hash result of five tuple and the queue id.
-from framework.test_case import TestCase
-
-#
-#
-# Test class.
-#
-
-
-class TestFortvilleRssGranularityConfig(TestCase):
- #
- #
- # Utility methods and other non-test code.
- #
-
- def set_up_all(self):
- """
- Run at the start of each test suite.
- """
-
- self.verify(self.nic in ["fortville_eagle", "fortville_spirit",
- "fortville_spirit_single", "fortville_25g", "carlsville"],
- "NIC Unsupported: " + str(self.nic))
- ports = self.dut.get_ports(self.nic)
- self.verify(len(ports) >= 1, "Not enough ports available")
- dutPorts = self.dut.get_ports(self.nic)
- localPort = self.tester.get_local_port(dutPorts[0])
- self.itf = self.tester.get_interface(localPort)
- self.pmdout = PmdOutput(self.dut)
-
- def set_up(self):
- """
- Run before each test case.
- """
- global reta_lines
- reta_lines = []
-
- def send_packet(self, itf, tran_type):
- """
- Sends packets.
- """
- global reta_lines
- self.tester.scapy_foreground()
- self.dut.send_expect("start", "testpmd>")
- mac = self.dut.get_mac_address(0)
-
- # send packet with different source and dest ip
- if tran_type == "ipv4-other":
- packet = r'sendp([Ether(dst="%s", src=get_if_hwaddr("%s"))/IP(src="192.168.0.1", dst="192.168.0.2", proto=47)/GRE(key_present=1,proto=2048,key=67108863)/IP()], iface="%s")' % (
- mac, itf, itf)
- self.tester.scapy_append(packet)
- self.tester.scapy_execute()
- time.sleep(.5)
- elif tran_type == "ipv4-tcp":
- packet = r'sendp([Ether(dst="%s", src=get_if_hwaddr("%s"))/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=1024,dport=1025)], iface="%s")' % (
- mac, itf, itf)
- self.tester.scapy_append(packet)
- self.tester.scapy_execute()
- time.sleep(.5)
- elif tran_type == "ipv4-udp":
- packet = r'sendp([Ether(dst="%s", src=get_if_hwaddr("%s"))/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=1024,dport=1025)], iface="%s")' % (
- mac, itf, itf)
- self.tester.scapy_append(packet)
- self.tester.scapy_execute()
- time.sleep(.5)
- elif tran_type == "l2_payload":
- packet = r'sendp([Ether(dst="%s", src=get_if_hwaddr("%s"))/Dot1Q(id=0x8100,vlan=1)/Dot1Q(id=0x8100,vlan=2)], iface="%s")' % (
- mac, itf, itf)
- self.tester.scapy_append(packet)
- self.tester.scapy_execute()
- time.sleep(.5)
- elif tran_type == "ipv6-tcp":
- packet = r'sendp([Ether(dst="%s", src=get_if_hwaddr("%s"))/IPv6(src="3ffe:2501:200:1fff::1", dst="3ffe:2501:200:3::2")/TCP(sport=1024,dport=1025)], iface="%s")' % (
- mac, itf, itf)
- self.tester.scapy_append(packet)
- self.tester.scapy_execute()
- time.sleep(.5)
- elif tran_type == "ipv6-udp":
- packet = r'sendp([Ether(dst="%s", src=get_if_hwaddr("%s"))/IPv6(src="3ffe:2501:200:1fff::1", dst="3ffe:2501:200:3::2")/UDP(sport=1024,dport=1025)], iface="%s")' % (
- mac, itf, itf)
- self.tester.scapy_append(packet)
- self.tester.scapy_execute()
- time.sleep(.5)
- else:
- print("\ntran_type error!\n")
-
- out = self.dut.get_session_output(timeout=1)
- self.dut.send_expect("stop", "testpmd>")
- lines = out.split("\r\n")
- reta_line = {}
- # collect the hash result and the queue id
- for line in lines:
- line = line.strip()
- if len(line) != 0 and line.strip().startswith("port "):
- reta_line = {}
- rexp = r"port (\d)/queue (\d{1,2}): received (\d) packets"
- m = re.match(rexp, line.strip())
- if m:
- reta_line["port"] = m.group(1)
- reta_line["queue"] = m.group(2)
-
- elif len(line) != 0 and line.startswith(("src=",)):
- for item in line.split("-"):
- item = item.strip()
- if(item.startswith("RSS hash")):
- name, value = item.split("=", 1)
-
- reta_line[name.strip()] = value.strip()
- reta_lines.append(reta_line)
-
- self.append_result_table()
-
- def append_result_table(self):
- """
- Append the hash value and queue id into table.
- """
-
- global reta_lines
-
- # append the the hash value and queue id into table
- self.result_table_create(
- ['packet index', 'hash value', 'hash index', 'queue id'])
- i = 0
-
- for tmp_reta_line in reta_lines:
-
- # compute the hash result of five tuple into the 7 LSBs value.
- hash_index = int(tmp_reta_line["RSS hash"], 16)
- self.result_table_add(
- [i, tmp_reta_line["RSS hash"], hash_index, tmp_reta_line["queue"]])
- i = i + 1
-
- def test_ipv4_tcp(self):
- """
- Test with flow type ipv4-tcp.
- """
- flag = 1
-
- # test with different rss queues
- for queue in testQueues:
- self.pmdout.start_testpmd(
- "Default", " --portmask=0x1 --rxq=%d --txq=%d" % (queue, queue))
- self.dut.send_expect("set verbose 8", "testpmd> ")
- self.dut.send_expect("set fwd rxonly", "testpmd> ")
-
- self.dut.send_expect("port stop all", "testpmd> ")
- self.dut.send_expect(
- "set_hash_global_config 0 toeplitz ipv4-tcp enable", "testpmd> ")
- self.dut.send_expect("port start all", "testpmd> ")
- res = self.pmdout.wait_link_status_up("all")
- self.verify(res is True, "link is donw")
-
- self.dut.send_expect(
- "port config all rss tcp", "testpmd> ")
- self.send_packet(self.itf, "ipv4-tcp")
-
- # set hash input set to "none" by testpmd on dut
- self.dut.send_expect("set_hash_input_set 0 ipv4-tcp none select", "testpmd> ")
- self.send_packet(self.itf, "ipv4-tcp")
-
- # set hash input set by testpmd on dut, enable src-ipv4 & dst-ipv4
- self.dut.send_expect("set_hash_input_set 0 ipv4-tcp src-ipv4 add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-tcp dst-ipv4 add", "testpmd> ")
- self.send_packet(self.itf, "ipv4-tcp")
-
- # set hash input set by testpmd on dut, enable src-ipv4, dst-ipv4, tcp-src-port, tcp-dst-port
- self.dut.send_expect("set_hash_input_set 0 ipv4-tcp tcp-src-port add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-tcp tcp-dst-port add", "testpmd> ")
- self.send_packet(self.itf, "ipv4-tcp")
-
- # set hash input set by testpmd on dut, enable tcp-src-port, tcp-dst-port
- self.dut.send_expect("set_hash_input_set 0 ipv4-tcp none select", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-tcp tcp-src-port add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-tcp tcp-dst-port add", "testpmd> ")
- self.send_packet(self.itf, "ipv4-tcp")
-
- self.dut.send_expect("quit", "# ", 30)
-
- self.result_table_print()
- result_rows = self.result_table_getrows()
- self.verify(len(result_rows) > 1, "There is no data in the table, testcase failed!")
-
- if ((result_rows[1][1] == result_rows[2][1]) or (result_rows[1][3] == result_rows[2][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[3][1]) or (result_rows[1][3] == result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[2][1] == result_rows[3][1]) or (result_rows[2][3] == result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[5][1]) or (result_rows[1][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[2][1] == result_rows[5][1]) or (result_rows[2][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[3][1] == result_rows[5][1]) or (result_rows[3][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] != result_rows[4][1]) or (result_rows[1][3] != result_rows[4][3])):
- flag = 0
- self.verify(flag, "The two hash values are different, rss_granularity_config failed!")
-
- def test_ipv4_udp(self):
- """
- Test with flow type ipv4-udp.
- """
- flag = 1
-
- # test with different rss queues
- for queue in testQueues:
- self.pmdout.start_testpmd(
- "Default", " --portmask=0x1 --rxq=%d --txq=%d" % (queue, queue))
-
- self.dut.send_expect("set verbose 8", "testpmd> ")
- self.dut.send_expect("set fwd rxonly", "testpmd> ")
-
- self.dut.send_expect("port stop all", "testpmd> ")
- self.dut.send_expect(
- "set_hash_global_config 0 toeplitz ipv4-udp enable", "testpmd> ")
- self.dut.send_expect("port start all", "testpmd> ")
- res = self.pmdout.wait_link_status_up("all")
- self.verify(res is True, "link is donw")
-
- self.dut.send_expect(
- "port config all rss udp", "testpmd> ")
- self.send_packet(self.itf, "ipv4-udp")
-
- # set hash input set to "none" by testpmd on dut
- self.dut.send_expect("set_hash_input_set 0 ipv4-udp none select", "testpmd> ")
- self.send_packet(self.itf, "ipv4-udp")
-
- # set hash input set by testpmd on dut, enable src-ipv4 & dst-ipv4
- self.dut.send_expect("set_hash_input_set 0 ipv4-udp src-ipv4 add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-udp dst-ipv4 add", "testpmd> ")
- self.send_packet(self.itf, "ipv4-udp")
-
- # set hash input set by testpmd on dut, enable src-ipv4, dst-ipv4, udp-src-port, udp-dst-port
- self.dut.send_expect("set_hash_input_set 0 ipv4-udp udp-src-port add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-udp udp-dst-port add", "testpmd> ")
- self.send_packet(self.itf, "ipv4-udp")
-
- # set hash input set by testpmd on dut, enable udp-src-port, udp-dst-port
- self.dut.send_expect("set_hash_input_set 0 ipv4-udp none select", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-udp udp-src-port add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-udp udp-dst-port add", "testpmd> ")
- self.send_packet(self.itf, "ipv4-udp")
-
- self.dut.send_expect("quit", "# ", 30)
-
- self.result_table_print()
- result_rows = self.result_table_getrows()
- self.verify(len(result_rows) > 1, "There is no data in the table, testcase failed!")
-
- # check the results
- if ((result_rows[1][1] == result_rows[2][1])or(result_rows[1][3] == result_rows[2][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[3][1])or(result_rows[1][3] == result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[2][1] == result_rows[3][1])or(result_rows[2][3] == result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[5][1])or(result_rows[1][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[2][1] == result_rows[5][1])or(result_rows[2][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[3][1] == result_rows[5][1])or(result_rows[3][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] != result_rows[4][1])or(result_rows[1][3] != result_rows[4][3])):
- flag = 0
- self.verify(flag, "The two hash values are different, rss_granularity_config failed!")
-
- def test_ipv6_tcp(self):
- """
- Test with flow type ipv6-tcp.
- """
- flag = 1
-
- # test with different rss queues
- for queue in testQueues:
- self.pmdout.start_testpmd(
- "Default", " --portmask=0x1 --rxq=%d --txq=%d" % (queue, queue))
-
- self.dut.send_expect("set verbose 8", "testpmd> ")
- self.dut.send_expect("set fwd rxonly", "testpmd> ")
-
- self.dut.send_expect("port stop all", "testpmd> ")
- self.dut.send_expect(
- "set_hash_global_config 0 toeplitz ipv6-tcp enable", "testpmd> ")
- self.dut.send_expect("port start all", "testpmd> ")
- res = self.pmdout.wait_link_status_up("all")
- self.verify(res is True, "link is donw")
-
- self.dut.send_expect(
- "port config all rss tcp", "testpmd> ")
- self.send_packet(self.itf, "ipv6-tcp")
-
- # set hash input set to "none" by testpmd on dut
- self.dut.send_expect("set_hash_input_set 0 ipv6-tcp none select", "testpmd> ")
- self.send_packet(self.itf, "ipv6-tcp")
-
- # set hash input set by testpmd on dut, enable src-ipv6 & dst-ipv6
- self.dut.send_expect("set_hash_input_set 0 ipv6-tcp src-ipv6 add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv6-tcp dst-ipv6 add", "testpmd> ")
- self.send_packet(self.itf, "ipv6-tcp")
-
- # set hash input set by testpmd on dut, enable src-ipv6, dst-ipv6, tcp-src-port, tcp-dst-port
- self.dut.send_expect("set_hash_input_set 0 ipv6-tcp tcp-src-port add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv6-tcp tcp-dst-port add", "testpmd> ")
- self.send_packet(self.itf, "ipv6-tcp")
-
- # set hash input set by testpmd on dut, enable tcp-src-port, tcp-dst-port
- self.dut.send_expect("set_hash_input_set 0 ipv6-tcp none select", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv6-tcp tcp-src-port add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv6-tcp tcp-dst-port add", "testpmd> ")
- self.send_packet(self.itf, "ipv6-tcp")
-
- self.dut.send_expect("quit", "# ", 30)
-
- self.result_table_print()
- result_rows = self.result_table_getrows()
- self.verify(len(result_rows) > 1, "There is no data in the table, testcase failed!")
-
- # check the results
- if ((result_rows[1][1] == result_rows[2][1])or(result_rows[1][3] == result_rows[2][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[3][1])or(result_rows[1][3] == result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[2][1] == result_rows[3][1])or(result_rows[2][3] == result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[5][1])or(result_rows[1][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[2][1] == result_rows[5][1])or(result_rows[2][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[3][1] == result_rows[5][1])and(result_rows[3][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] != result_rows[4][1])or(result_rows[1][3] != result_rows[4][3])):
- flag = 0
- self.verify(flag, "The two hash values are different, rss_granularity_config failed!")
-
- def test_ipv6_udp(self):
- """
- Test with flow type ipv6-udp.
- """
- flag = 1
-
- # test with different rss queues
- for queue in testQueues:
- self.pmdout.start_testpmd(
- "Default", " --portmask=0x1 --rxq=%d --txq=%d" % (queue, queue))
-
- self.dut.send_expect("set verbose 8", "testpmd> ")
- self.dut.send_expect("set fwd rxonly", "testpmd> ")
-
- self.dut.send_expect("port stop all", "testpmd> ")
- self.dut.send_expect(
- "set_hash_global_config 0 toeplitz ipv6-udp enable", "testpmd> ")
- self.dut.send_expect("port start all", "testpmd> ")
- res = self.pmdout.wait_link_status_up("all")
- self.verify(res is True, "link is donw")
-
- self.dut.send_expect(
- "port config all rss udp", "testpmd> ")
- self.send_packet(self.itf, "ipv6-udp")
-
- # set hash input set to "none" by testpmd on dut
- self.dut.send_expect("set_hash_input_set 0 ipv6-udp none select", "testpmd> ")
- self.send_packet(self.itf, "ipv6-udp")
-
- # set hash input set by testpmd on dut, enable src-ipv6 & dst-ipv6
- self.dut.send_expect("set_hash_input_set 0 ipv6-udp src-ipv6 add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv6-udp dst-ipv6 add", "testpmd> ")
- self.send_packet(self.itf, "ipv6-udp")
-
- # set hash input set by testpmd on dut, enable src-ipv6, dst-ipv6, udp-src-port, udp-dst-port
- self.dut.send_expect("set_hash_input_set 0 ipv6-udp udp-src-port add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv6-udp udp-dst-port add", "testpmd> ")
- self.send_packet(self.itf, "ipv6-udp")
-
- # set hash input set by testpmd on dut, enable udp-src-port, udp-dst-port
- self.dut.send_expect("set_hash_input_set 0 ipv6-udp none select", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv6-udp udp-src-port add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv6-udp udp-dst-port add", "testpmd> ")
- self.send_packet(self.itf, "ipv6-udp")
-
- self.dut.send_expect("quit", "# ", 30)
-
- self.result_table_print()
- result_rows = self.result_table_getrows()
- self.verify(len(result_rows) > 1, "There is no data in the table, testcase failed!")
-
- # check the results
- if ((result_rows[1][1] == result_rows[2][1])or(result_rows[1][3] == result_rows[2][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[3][1])or(result_rows[1][3] == result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[2][1] == result_rows[3][1])or(result_rows[2][3] == result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[5][1])or(result_rows[1][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[2][1] == result_rows[5][1])or(result_rows[2][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[3][1] == result_rows[5][1])and(result_rows[3][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] != result_rows[4][1])or(result_rows[1][3] != result_rows[4][3])):
- flag = 0
- self.verify(flag, "The two hash values are different, rss_granularity_config failed!")
-
- def test_GRE_keys(self):
- """
- Test with 32-bit GRE keys and 24-bit GRE keys.
- """
- flag = 1
-
- # test with different rss queues
- for queue in testQueues:
- self.pmdout.start_testpmd(
- "Default", " --portmask=0x1 --rxq=%d --txq=%d" % (queue, queue))
-
- self.dut.send_expect("set verbose 8", "testpmd> ")
- self.dut.send_expect("set fwd rxonly", "testpmd> ")
-
- self.dut.send_expect("port stop all", "testpmd> ")
- self.dut.send_expect(
- "set_hash_global_config 0 toeplitz ipv4-other enable", "testpmd> ")
- self.dut.send_expect("port start all", "testpmd> ")
- res = self.pmdout.wait_link_status_up("all")
- self.verify(res is True, "link is donw")
-
- self.dut.send_expect(
- "port config all rss all", "testpmd> ")
- self.send_packet(self.itf, "ipv4-other")
-
- # set hash input set to "none" by testpmd on dut
- self.dut.send_expect("set_hash_input_set 0 ipv4-other none select", "testpmd> ")
- self.send_packet(self.itf, "ipv4-other")
-
- # set hash input set by testpmd on dut, enable src-ipv4 & dst-ipv4
- self.dut.send_expect("set_hash_input_set 0 ipv4-other src-ipv4 add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-other dst-ipv4 add", "testpmd> ")
- self.send_packet(self.itf, "ipv4-other")
-
- # set hash input set by testpmd on dut, enable src-ipv4, dst-ipv4, gre-key-len 3
- self.dut.send_expect("global_config 0 gre-key-len 3", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-other gre-key add", "testpmd> ")
- self.send_packet(self.itf, "ipv4-other")
-
- # set hash input set by testpmd on dut, enable src-ipv4, dst-ipv4, gre-key-len 4
- self.dut.send_expect("global_config 0 gre-key-len 4", "testpmd> ")
- self.send_packet(self.itf, "ipv4-other")
-
- self.dut.send_expect("quit", "# ", 30)
-
- self.result_table_print()
- result_rows = self.result_table_getrows()
- self.verify(len(result_rows) > 1, "There is no data in the table, testcase failed!")
-
- # check the results
- if ((result_rows[1][1] == result_rows[2][1])or(result_rows[1][3] == result_rows[2][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] != result_rows[3][1])or(result_rows[1][3] != result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are different, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[4][1])or(result_rows[1][3] == result_rows[4][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[4][1] == result_rows[5][1])or(result_rows[4][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
-
- def tear_down(self):
- """
- Run after each test case.
- """
- self.dut.kill_all()
-
- def tear_down_all(self):
- """
- Run after each test suite.
- """
- pass
-
--
2.33.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [dts][PATCH V3 3/3] tests/fortville_rss_granularity_config: delete the suite
2021-12-02 11:14 ` [dts][PATCH V3 3/3] tests/fortville_rss_granularity_config: delete the suite Yan Xia
@ 2021-12-06 2:25 ` Peng, Yuan
2021-12-16 10:56 ` Tu, Lijuan
0 siblings, 1 reply; 5+ messages in thread
From: Peng, Yuan @ 2021-12-06 2:25 UTC (permalink / raw)
To: Xia, YanX, dts
Acked-by Peng, Yuan <yuan.peng@intel.com>
-----Original Message-----
From: Yan Xia <yanx.xia@intel.com>
Sent: Thursday, December 2, 2021 7:15 PM
To: dts@dpdk.org
Cc: Xia, YanX <yanx.xia@intel.com>
Subject: [dts][PATCH V3 3/3] tests/fortville_rss_granularity_config: delete the suite
delete fortville_rss_granularity_config testsuite dpdk commit id: 81db321da ethdev: remove legacy HASH filter type support
Signed-off-by: Yan Xia <yanx.xia@intel.com>
---
| 563 ------------------
1 file changed, 563 deletions(-)
delete mode 100644 tests/TestSuite_fortville_rss_granularity_config.py
diff --git a/tests/TestSuite_fortville_rss_granularity_config.py b/tests/TestSuite_fortville_rss_granularity_config.py
deleted file mode 100644
index b397cf37..00000000
--- a/tests/TestSuite_fortville_rss_granularity_config.py
+++ /dev/null
@@ -1,563 +0,0 @@
-# BSD LICENSE
-#
-# Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
-# 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.
-
-"""
-DPDK Test suite.
-
-Test DPDK2.3 feature:
-1.Fortville support granularity configuration of RSS.
-By default Fortville uses hash input set preloaded from NVM image which includes all fields
-- IPv4/v6+TCP/UDP port. Potential problem for this is global configuration per device and can -affect all ports. It is required that hash input set can be configurable, such as using IPv4 -only or IPv6 only or IPv4/v6+TCP/UDP.
-
-2.Fortville support 32-bit GRE keys.
-By default Fortville extracts only 24 bits of GRE key to FieldVector (NVGRE use case) but -for Telco use cases full 32-bit GRE key is needed. It is required that both 24-bit and 32-bit -keys for GRE should be supported. the test plan is to test the API to switch between 24-bit and -32-bit keys
-
-Support 4*10G, 1*40G and 2*40G NICs.
-"""
-import random
-import re
-import time
-
-import framework.dut as dut
-import framework.utils as utils
-from framework.pmd_output import PmdOutput
-
-testQueues = [16]
-reta_entries = []
-reta_lines = []
-
-# Use scapy to send packets with different source and dest ip.
-# and collect the hash result of five tuple and the queue id.
-from framework.test_case import TestCase
-
-#
-#
-# Test class.
-#
-
-
-class TestFortvilleRssGranularityConfig(TestCase):
- #
- #
- # Utility methods and other non-test code.
- #
-
- def set_up_all(self):
- """
- Run at the start of each test suite.
- """
-
- self.verify(self.nic in ["fortville_eagle", "fortville_spirit",
- "fortville_spirit_single", "fortville_25g", "carlsville"],
- "NIC Unsupported: " + str(self.nic))
- ports = self.dut.get_ports(self.nic)
- self.verify(len(ports) >= 1, "Not enough ports available")
- dutPorts = self.dut.get_ports(self.nic)
- localPort = self.tester.get_local_port(dutPorts[0])
- self.itf = self.tester.get_interface(localPort)
- self.pmdout = PmdOutput(self.dut)
-
- def set_up(self):
- """
- Run before each test case.
- """
- global reta_lines
- reta_lines = []
-
- def send_packet(self, itf, tran_type):
- """
- Sends packets.
- """
- global reta_lines
- self.tester.scapy_foreground()
- self.dut.send_expect("start", "testpmd>")
- mac = self.dut.get_mac_address(0)
-
- # send packet with different source and dest ip
- if tran_type == "ipv4-other":
- packet = r'sendp([Ether(dst="%s", src=get_if_hwaddr("%s"))/IP(src="192.168.0.1", dst="192.168.0.2", proto=47)/GRE(key_present=1,proto=2048,key=67108863)/IP()], iface="%s")' % (
- mac, itf, itf)
- self.tester.scapy_append(packet)
- self.tester.scapy_execute()
- time.sleep(.5)
- elif tran_type == "ipv4-tcp":
- packet = r'sendp([Ether(dst="%s", src=get_if_hwaddr("%s"))/IP(src="192.168.0.1", dst="192.168.0.2")/TCP(sport=1024,dport=1025)], iface="%s")' % (
- mac, itf, itf)
- self.tester.scapy_append(packet)
- self.tester.scapy_execute()
- time.sleep(.5)
- elif tran_type == "ipv4-udp":
- packet = r'sendp([Ether(dst="%s", src=get_if_hwaddr("%s"))/IP(src="192.168.0.1", dst="192.168.0.2")/UDP(sport=1024,dport=1025)], iface="%s")' % (
- mac, itf, itf)
- self.tester.scapy_append(packet)
- self.tester.scapy_execute()
- time.sleep(.5)
- elif tran_type == "l2_payload":
- packet = r'sendp([Ether(dst="%s", src=get_if_hwaddr("%s"))/Dot1Q(id=0x8100,vlan=1)/Dot1Q(id=0x8100,vlan=2)], iface="%s")' % (
- mac, itf, itf)
- self.tester.scapy_append(packet)
- self.tester.scapy_execute()
- time.sleep(.5)
- elif tran_type == "ipv6-tcp":
- packet = r'sendp([Ether(dst="%s", src=get_if_hwaddr("%s"))/IPv6(src="3ffe:2501:200:1fff::1", dst="3ffe:2501:200:3::2")/TCP(sport=1024,dport=1025)], iface="%s")' % (
- mac, itf, itf)
- self.tester.scapy_append(packet)
- self.tester.scapy_execute()
- time.sleep(.5)
- elif tran_type == "ipv6-udp":
- packet = r'sendp([Ether(dst="%s", src=get_if_hwaddr("%s"))/IPv6(src="3ffe:2501:200:1fff::1", dst="3ffe:2501:200:3::2")/UDP(sport=1024,dport=1025)], iface="%s")' % (
- mac, itf, itf)
- self.tester.scapy_append(packet)
- self.tester.scapy_execute()
- time.sleep(.5)
- else:
- print("\ntran_type error!\n")
-
- out = self.dut.get_session_output(timeout=1)
- self.dut.send_expect("stop", "testpmd>")
- lines = out.split("\r\n")
- reta_line = {}
- # collect the hash result and the queue id
- for line in lines:
- line = line.strip()
- if len(line) != 0 and line.strip().startswith("port "):
- reta_line = {}
- rexp = r"port (\d)/queue (\d{1,2}): received (\d) packets"
- m = re.match(rexp, line.strip())
- if m:
- reta_line["port"] = m.group(1)
- reta_line["queue"] = m.group(2)
-
- elif len(line) != 0 and line.startswith(("src=",)):
- for item in line.split("-"):
- item = item.strip()
- if(item.startswith("RSS hash")):
- name, value = item.split("=", 1)
-
- reta_line[name.strip()] = value.strip()
- reta_lines.append(reta_line)
-
- self.append_result_table()
-
- def append_result_table(self):
- """
- Append the hash value and queue id into table.
- """
-
- global reta_lines
-
- # append the the hash value and queue id into table
- self.result_table_create(
- ['packet index', 'hash value', 'hash index', 'queue id'])
- i = 0
-
- for tmp_reta_line in reta_lines:
-
- # compute the hash result of five tuple into the 7 LSBs value.
- hash_index = int(tmp_reta_line["RSS hash"], 16)
- self.result_table_add(
- [i, tmp_reta_line["RSS hash"], hash_index, tmp_reta_line["queue"]])
- i = i + 1
-
- def test_ipv4_tcp(self):
- """
- Test with flow type ipv4-tcp.
- """
- flag = 1
-
- # test with different rss queues
- for queue in testQueues:
- self.pmdout.start_testpmd(
- "Default", " --portmask=0x1 --rxq=%d --txq=%d" % (queue, queue))
- self.dut.send_expect("set verbose 8", "testpmd> ")
- self.dut.send_expect("set fwd rxonly", "testpmd> ")
-
- self.dut.send_expect("port stop all", "testpmd> ")
- self.dut.send_expect(
- "set_hash_global_config 0 toeplitz ipv4-tcp enable", "testpmd> ")
- self.dut.send_expect("port start all", "testpmd> ")
- res = self.pmdout.wait_link_status_up("all")
- self.verify(res is True, "link is donw")
-
- self.dut.send_expect(
- "port config all rss tcp", "testpmd> ")
- self.send_packet(self.itf, "ipv4-tcp")
-
- # set hash input set to "none" by testpmd on dut
- self.dut.send_expect("set_hash_input_set 0 ipv4-tcp none select", "testpmd> ")
- self.send_packet(self.itf, "ipv4-tcp")
-
- # set hash input set by testpmd on dut, enable src-ipv4 & dst-ipv4
- self.dut.send_expect("set_hash_input_set 0 ipv4-tcp src-ipv4 add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-tcp dst-ipv4 add", "testpmd> ")
- self.send_packet(self.itf, "ipv4-tcp")
-
- # set hash input set by testpmd on dut, enable src-ipv4, dst-ipv4, tcp-src-port, tcp-dst-port
- self.dut.send_expect("set_hash_input_set 0 ipv4-tcp tcp-src-port add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-tcp tcp-dst-port add", "testpmd> ")
- self.send_packet(self.itf, "ipv4-tcp")
-
- # set hash input set by testpmd on dut, enable tcp-src-port, tcp-dst-port
- self.dut.send_expect("set_hash_input_set 0 ipv4-tcp none select", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-tcp tcp-src-port add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-tcp tcp-dst-port add", "testpmd> ")
- self.send_packet(self.itf, "ipv4-tcp")
-
- self.dut.send_expect("quit", "# ", 30)
-
- self.result_table_print()
- result_rows = self.result_table_getrows()
- self.verify(len(result_rows) > 1, "There is no data in the table, testcase failed!")
-
- if ((result_rows[1][1] == result_rows[2][1]) or (result_rows[1][3] == result_rows[2][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[3][1]) or (result_rows[1][3] == result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[2][1] == result_rows[3][1]) or (result_rows[2][3] == result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[5][1]) or (result_rows[1][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[2][1] == result_rows[5][1]) or (result_rows[2][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[3][1] == result_rows[5][1]) or (result_rows[3][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] != result_rows[4][1]) or (result_rows[1][3] != result_rows[4][3])):
- flag = 0
- self.verify(flag, "The two hash values are different, rss_granularity_config failed!")
-
- def test_ipv4_udp(self):
- """
- Test with flow type ipv4-udp.
- """
- flag = 1
-
- # test with different rss queues
- for queue in testQueues:
- self.pmdout.start_testpmd(
- "Default", " --portmask=0x1 --rxq=%d --txq=%d" % (queue, queue))
-
- self.dut.send_expect("set verbose 8", "testpmd> ")
- self.dut.send_expect("set fwd rxonly", "testpmd> ")
-
- self.dut.send_expect("port stop all", "testpmd> ")
- self.dut.send_expect(
- "set_hash_global_config 0 toeplitz ipv4-udp enable", "testpmd> ")
- self.dut.send_expect("port start all", "testpmd> ")
- res = self.pmdout.wait_link_status_up("all")
- self.verify(res is True, "link is donw")
-
- self.dut.send_expect(
- "port config all rss udp", "testpmd> ")
- self.send_packet(self.itf, "ipv4-udp")
-
- # set hash input set to "none" by testpmd on dut
- self.dut.send_expect("set_hash_input_set 0 ipv4-udp none select", "testpmd> ")
- self.send_packet(self.itf, "ipv4-udp")
-
- # set hash input set by testpmd on dut, enable src-ipv4 & dst-ipv4
- self.dut.send_expect("set_hash_input_set 0 ipv4-udp src-ipv4 add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-udp dst-ipv4 add", "testpmd> ")
- self.send_packet(self.itf, "ipv4-udp")
-
- # set hash input set by testpmd on dut, enable src-ipv4, dst-ipv4, udp-src-port, udp-dst-port
- self.dut.send_expect("set_hash_input_set 0 ipv4-udp udp-src-port add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-udp udp-dst-port add", "testpmd> ")
- self.send_packet(self.itf, "ipv4-udp")
-
- # set hash input set by testpmd on dut, enable udp-src-port, udp-dst-port
- self.dut.send_expect("set_hash_input_set 0 ipv4-udp none select", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-udp udp-src-port add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-udp udp-dst-port add", "testpmd> ")
- self.send_packet(self.itf, "ipv4-udp")
-
- self.dut.send_expect("quit", "# ", 30)
-
- self.result_table_print()
- result_rows = self.result_table_getrows()
- self.verify(len(result_rows) > 1, "There is no data in the table, testcase failed!")
-
- # check the results
- if ((result_rows[1][1] == result_rows[2][1])or(result_rows[1][3] == result_rows[2][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[3][1])or(result_rows[1][3] == result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[2][1] == result_rows[3][1])or(result_rows[2][3] == result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[5][1])or(result_rows[1][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[2][1] == result_rows[5][1])or(result_rows[2][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[3][1] == result_rows[5][1])or(result_rows[3][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] != result_rows[4][1])or(result_rows[1][3] != result_rows[4][3])):
- flag = 0
- self.verify(flag, "The two hash values are different, rss_granularity_config failed!")
-
- def test_ipv6_tcp(self):
- """
- Test with flow type ipv6-tcp.
- """
- flag = 1
-
- # test with different rss queues
- for queue in testQueues:
- self.pmdout.start_testpmd(
- "Default", " --portmask=0x1 --rxq=%d --txq=%d" % (queue, queue))
-
- self.dut.send_expect("set verbose 8", "testpmd> ")
- self.dut.send_expect("set fwd rxonly", "testpmd> ")
-
- self.dut.send_expect("port stop all", "testpmd> ")
- self.dut.send_expect(
- "set_hash_global_config 0 toeplitz ipv6-tcp enable", "testpmd> ")
- self.dut.send_expect("port start all", "testpmd> ")
- res = self.pmdout.wait_link_status_up("all")
- self.verify(res is True, "link is donw")
-
- self.dut.send_expect(
- "port config all rss tcp", "testpmd> ")
- self.send_packet(self.itf, "ipv6-tcp")
-
- # set hash input set to "none" by testpmd on dut
- self.dut.send_expect("set_hash_input_set 0 ipv6-tcp none select", "testpmd> ")
- self.send_packet(self.itf, "ipv6-tcp")
-
- # set hash input set by testpmd on dut, enable src-ipv6 & dst-ipv6
- self.dut.send_expect("set_hash_input_set 0 ipv6-tcp src-ipv6 add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv6-tcp dst-ipv6 add", "testpmd> ")
- self.send_packet(self.itf, "ipv6-tcp")
-
- # set hash input set by testpmd on dut, enable src-ipv6, dst-ipv6, tcp-src-port, tcp-dst-port
- self.dut.send_expect("set_hash_input_set 0 ipv6-tcp tcp-src-port add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv6-tcp tcp-dst-port add", "testpmd> ")
- self.send_packet(self.itf, "ipv6-tcp")
-
- # set hash input set by testpmd on dut, enable tcp-src-port, tcp-dst-port
- self.dut.send_expect("set_hash_input_set 0 ipv6-tcp none select", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv6-tcp tcp-src-port add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv6-tcp tcp-dst-port add", "testpmd> ")
- self.send_packet(self.itf, "ipv6-tcp")
-
- self.dut.send_expect("quit", "# ", 30)
-
- self.result_table_print()
- result_rows = self.result_table_getrows()
- self.verify(len(result_rows) > 1, "There is no data in the table, testcase failed!")
-
- # check the results
- if ((result_rows[1][1] == result_rows[2][1])or(result_rows[1][3] == result_rows[2][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[3][1])or(result_rows[1][3] == result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[2][1] == result_rows[3][1])or(result_rows[2][3] == result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[5][1])or(result_rows[1][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[2][1] == result_rows[5][1])or(result_rows[2][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[3][1] == result_rows[5][1])and(result_rows[3][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] != result_rows[4][1])or(result_rows[1][3] != result_rows[4][3])):
- flag = 0
- self.verify(flag, "The two hash values are different, rss_granularity_config failed!")
-
- def test_ipv6_udp(self):
- """
- Test with flow type ipv6-udp.
- """
- flag = 1
-
- # test with different rss queues
- for queue in testQueues:
- self.pmdout.start_testpmd(
- "Default", " --portmask=0x1 --rxq=%d --txq=%d" % (queue, queue))
-
- self.dut.send_expect("set verbose 8", "testpmd> ")
- self.dut.send_expect("set fwd rxonly", "testpmd> ")
-
- self.dut.send_expect("port stop all", "testpmd> ")
- self.dut.send_expect(
- "set_hash_global_config 0 toeplitz ipv6-udp enable", "testpmd> ")
- self.dut.send_expect("port start all", "testpmd> ")
- res = self.pmdout.wait_link_status_up("all")
- self.verify(res is True, "link is donw")
-
- self.dut.send_expect(
- "port config all rss udp", "testpmd> ")
- self.send_packet(self.itf, "ipv6-udp")
-
- # set hash input set to "none" by testpmd on dut
- self.dut.send_expect("set_hash_input_set 0 ipv6-udp none select", "testpmd> ")
- self.send_packet(self.itf, "ipv6-udp")
-
- # set hash input set by testpmd on dut, enable src-ipv6 & dst-ipv6
- self.dut.send_expect("set_hash_input_set 0 ipv6-udp src-ipv6 add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv6-udp dst-ipv6 add", "testpmd> ")
- self.send_packet(self.itf, "ipv6-udp")
-
- # set hash input set by testpmd on dut, enable src-ipv6, dst-ipv6, udp-src-port, udp-dst-port
- self.dut.send_expect("set_hash_input_set 0 ipv6-udp udp-src-port add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv6-udp udp-dst-port add", "testpmd> ")
- self.send_packet(self.itf, "ipv6-udp")
-
- # set hash input set by testpmd on dut, enable udp-src-port, udp-dst-port
- self.dut.send_expect("set_hash_input_set 0 ipv6-udp none select", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv6-udp udp-src-port add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv6-udp udp-dst-port add", "testpmd> ")
- self.send_packet(self.itf, "ipv6-udp")
-
- self.dut.send_expect("quit", "# ", 30)
-
- self.result_table_print()
- result_rows = self.result_table_getrows()
- self.verify(len(result_rows) > 1, "There is no data in the table, testcase failed!")
-
- # check the results
- if ((result_rows[1][1] == result_rows[2][1])or(result_rows[1][3] == result_rows[2][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[3][1])or(result_rows[1][3] == result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[2][1] == result_rows[3][1])or(result_rows[2][3] == result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[5][1])or(result_rows[1][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[2][1] == result_rows[5][1])or(result_rows[2][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[3][1] == result_rows[5][1])and(result_rows[3][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] != result_rows[4][1])or(result_rows[1][3] != result_rows[4][3])):
- flag = 0
- self.verify(flag, "The two hash values are different, rss_granularity_config failed!")
-
- def test_GRE_keys(self):
- """
- Test with 32-bit GRE keys and 24-bit GRE keys.
- """
- flag = 1
-
- # test with different rss queues
- for queue in testQueues:
- self.pmdout.start_testpmd(
- "Default", " --portmask=0x1 --rxq=%d --txq=%d" % (queue, queue))
-
- self.dut.send_expect("set verbose 8", "testpmd> ")
- self.dut.send_expect("set fwd rxonly", "testpmd> ")
-
- self.dut.send_expect("port stop all", "testpmd> ")
- self.dut.send_expect(
- "set_hash_global_config 0 toeplitz ipv4-other enable", "testpmd> ")
- self.dut.send_expect("port start all", "testpmd> ")
- res = self.pmdout.wait_link_status_up("all")
- self.verify(res is True, "link is donw")
-
- self.dut.send_expect(
- "port config all rss all", "testpmd> ")
- self.send_packet(self.itf, "ipv4-other")
-
- # set hash input set to "none" by testpmd on dut
- self.dut.send_expect("set_hash_input_set 0 ipv4-other none select", "testpmd> ")
- self.send_packet(self.itf, "ipv4-other")
-
- # set hash input set by testpmd on dut, enable src-ipv4 & dst-ipv4
- self.dut.send_expect("set_hash_input_set 0 ipv4-other src-ipv4 add", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-other dst-ipv4 add", "testpmd> ")
- self.send_packet(self.itf, "ipv4-other")
-
- # set hash input set by testpmd on dut, enable src-ipv4, dst-ipv4, gre-key-len 3
- self.dut.send_expect("global_config 0 gre-key-len 3", "testpmd> ")
- self.dut.send_expect("set_hash_input_set 0 ipv4-other gre-key add", "testpmd> ")
- self.send_packet(self.itf, "ipv4-other")
-
- # set hash input set by testpmd on dut, enable src-ipv4, dst-ipv4, gre-key-len 4
- self.dut.send_expect("global_config 0 gre-key-len 4", "testpmd> ")
- self.send_packet(self.itf, "ipv4-other")
-
- self.dut.send_expect("quit", "# ", 30)
-
- self.result_table_print()
- result_rows = self.result_table_getrows()
- self.verify(len(result_rows) > 1, "There is no data in the table, testcase failed!")
-
- # check the results
- if ((result_rows[1][1] == result_rows[2][1])or(result_rows[1][3] == result_rows[2][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[1][1] != result_rows[3][1])or(result_rows[1][3] != result_rows[3][3])):
- flag = 0
- self.verify(flag, "The two hash values are different, rss_granularity_config failed!")
- elif ((result_rows[1][1] == result_rows[4][1])or(result_rows[1][3] == result_rows[4][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
- elif ((result_rows[4][1] == result_rows[5][1])or(result_rows[4][3] == result_rows[5][3])):
- flag = 0
- self.verify(flag, "The two hash values are the same, rss_granularity_config failed!")
-
- def tear_down(self):
- """
- Run after each test case.
- """
- self.dut.kill_all()
-
- def tear_down_all(self):
- """
- Run after each test suite.
- """
- pass
-
--
2.33.1
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [dts][PATCH V3 3/3] tests/fortville_rss_granularity_config: delete the suite
2021-12-06 2:25 ` Peng, Yuan
@ 2021-12-16 10:56 ` Tu, Lijuan
0 siblings, 0 replies; 5+ messages in thread
From: Tu, Lijuan @ 2021-12-16 10:56 UTC (permalink / raw)
To: Peng, Yuan, Xia, YanX, dts
> -----Original Message-----
> From: Peng, Yuan <yuan.peng@intel.com>
> Sent: 2021年12月6日 10:26
> To: Xia, YanX <yanx.xia@intel.com>; dts@dpdk.org
> Subject: RE: [dts][PATCH V3 3/3] tests/fortville_rss_granularity_config: delete
> the suite
>
> Acked-by Peng, Yuan <yuan.peng@intel.com>
>
> -----Original Message-----
> From: Yan Xia <yanx.xia@intel.com>
> Sent: Thursday, December 2, 2021 7:15 PM
> To: dts@dpdk.org
> Cc: Xia, YanX <yanx.xia@intel.com>
> Subject: [dts][PATCH V3 3/3] tests/fortville_rss_granularity_config: delete the
> suite
>
> delete fortville_rss_granularity_config testsuite dpdk commit id: 81db321da
> ethdev: remove legacy HASH filter type support
>
> Signed-off-by: Yan Xia <yanx.xia@intel.com>
Series applied
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2021-12-16 10:56 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-02 11:14 [dts][PATCH V3 1/3] test_plans/fortville_rss_granularity_config: delete the test plan Yan Xia
2021-12-02 11:14 ` [dts][PATCH V3 2/3] test_plans/index: delete fortville_rss_granularity_config Yan Xia
2021-12-02 11:14 ` [dts][PATCH V3 3/3] tests/fortville_rss_granularity_config: delete the suite Yan Xia
2021-12-06 2:25 ` Peng, Yuan
2021-12-16 10:56 ` Tu, Lijuan
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).