test suite reviews and discussions
 help / color / mirror / Atom feed
* [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>
---
 ...ville_rss_granularity_config_test_plan.rst | 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>
---
 ...tSuite_fortville_rss_granularity_config.py | 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>
---
 ...tSuite_fortville_rss_granularity_config.py | 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).