From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8E7CFA0561; Mon, 20 Apr 2020 09:11:11 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 70A901BFA6; Mon, 20 Apr 2020 09:11:11 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 5BF981BF1B for ; Mon, 20 Apr 2020 09:11:09 +0200 (CEST) IronPort-SDR: S9BICawAT8YCnVuW5HVlfvpF5+azvZJHHqp3r7Os61y+nDwCbFTmXlOGoYHYmcU9afoUpFQrXC Cb1xzUi8ykIQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Apr 2020 00:11:08 -0700 IronPort-SDR: MgfAcThUGOvryN5G7qIiX54O1qB0wE34YbGayfRUBI9kGhLL4VBDM3EQIpR5TCm0W+8956wnnJ l+5fWJR9ZA6w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.72,406,1580803200"; d="scan'208";a="273093783" Received: from unknown (HELO dpdk-xiaoqimai-dut.sh.intel.com) ([10.240.183.52]) by orsmga002.jf.intel.com with ESMTP; 20 Apr 2020 00:11:05 -0700 From: Zhou Jun To: dts@dpdk.org Cc: Zhou jun Date: Mon, 20 Apr 2020 15:05:03 +0800 Message-Id: <1587366303-184653-1-git-send-email-junx.w.zhou@intel.com> X-Mailer: git-send-email 1.8.3.1 Subject: [dts] [PATCH V1] DTS adapts to foxville network card X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" From: Zhou jun DTS adapts to foxville network card Signed-off-by: Zhou jun --- conf/test_case_checklist.json | 428 +++++++++++++++++++++++++++++-- conf/test_case_supportlist.json | 52 ++-- framework/settings.py | 2 + tests/TestSuite_dual_vlan.py | 2 + tests/TestSuite_fdir.py | 8 +- tests/TestSuite_flexible_rxd.py | 5 +- tests/TestSuite_flow_classify.py | 2 +- tests/TestSuite_generic_filter.py | 20 +- tests/TestSuite_generic_flow_api.py | 40 +-- tests/TestSuite_jumboframes.py | 2 +- tests/TestSuite_pmdrss_hash.py | 6 +- tests/TestSuite_pmdrssreta.py | 9 +- tests/TestSuite_qinq_filter.py | 2 +- tests/TestSuite_queue_region.py | 2 +- tests/TestSuite_rss_to_rte_flow.py | 85 ++++-- tests/TestSuite_rxtx_offload.py | 15 +- tests/TestSuite_uni_pkt.py | 6 +- tests/TestSuite_unit_tests_loopback.py | 2 + tests/TestSuite_vlan_ethertype_config.py | 2 +- 19 files changed, 570 insertions(+), 120 deletions(-) diff --git a/conf/test_case_checklist.json b/conf/test_case_checklist.json index 44bf8af..6bd6783 100644 --- a/conf/test_case_checklist.json +++ b/conf/test_case_checklist.json @@ -20,7 +20,8 @@ "cavium_a011", "fortpark_TLV", "fortpark_BASE-T", - "carlsville" + "carlsville", + "foxville" ], "Target": [ "ALL" @@ -40,7 +41,8 @@ "springfountain", "cavium_a034", "cavium_a011", - "twinpond" + "twinpond", + "foxville" ], "Target": [ "ALL" @@ -69,7 +71,8 @@ "cavium_a011", "fortpark_TLV", "fortpark_BASE-T", - "carlsville" + "carlsville", + "foxville" ], "Target": [ "ALL" @@ -98,7 +101,8 @@ "cavium_a011", "fortpark_TLV", "fortpark_BASE-T", - "carlsville" + "carlsville", + "foxville" ], "Target": [ "ALL" @@ -150,7 +154,8 @@ "cavium_a011", "fortpark_TLV", "fortpark_BASE-T", - "carlsville" + "carlsville", + "foxville" ], "Target": [ "ALL" @@ -205,7 +210,8 @@ "cavium_a011", "fortpark_TLV", "fortpark_BASE-T", - "carlsville" + "carlsville", + "foxville" ], "Target": [ "ALL" @@ -232,7 +238,8 @@ "cavium_a011", "fortpark_TLV", "fortpark_BASE-T", - "carlsville" + "carlsville", + "foxville" ], "Target": [ "ALL" @@ -261,7 +268,8 @@ "cavium_a011", "fortpark_TLV", "fortpark_BASE-T", - "carlsville" + "carlsville", + "foxville" ], "Target": [ "ALL" @@ -316,7 +324,8 @@ "powerville", "columbiaville_25g", "columbiaville_100g", - "springville" + "springville", + "foxville" ], "Target": [ "ALL" @@ -359,7 +368,8 @@ "ironpond", "cavium_a034", "cavium_0011", - "cavium_a064" + "cavium_a064", + "foxville" ], "Target": [ "ALL" @@ -455,7 +465,8 @@ "cavium_a034", "cavium_0011", "fortpark_TLV", - "fortpark_BASE-T" + "fortpark_BASE-T", + "foxville" ], "Target": [ "ALL" @@ -491,7 +502,8 @@ "kawela_4", "springville", "cavium_a034", - "cavium_0011" + "cavium_0011", + "foxville" ], "Target": [ "ALL" @@ -510,7 +522,8 @@ "kawela_4", "springville", "cavium_a034", - "cavium_0011" + "cavium_0011", + "foxville" ], "Target": [ "ALL" @@ -701,7 +714,8 @@ "springfountain", "twinpond", "cavium_a034", - "cavium_0011" + "cavium_0011", + "foxville" ], "Target": [ "ALL" @@ -842,7 +856,8 @@ "springfountain", "twinpond", "cavium_a034", - "cavium_0011" + "cavium_0011", + "foxville" ], "Target": [ "ALL" @@ -865,14 +880,13 @@ "twinpond", "niantic", "fortville_spirit_single", - "fortpark_TLV", - "fortpark_BASE-T" + "foxville" ], "Target": [ "ALL" ], "Bug ID": "", - "Comments": "the nic not support this case,(x722 know ND issue,DPDK-15118)" + "Comments": "the nic not support this case" } ], "pmdrss_reta": [ @@ -1452,6 +1466,19 @@ ], "Bug ID": "", "Comments": "32 bit not support this case/not enough queue" + }, + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "nic not support this case" } ], "simple_symmetric": [ @@ -1475,7 +1502,8 @@ "NIC": [ "redrockcanyou", "atwood", - "boulderrapid" + "boulderrapid", + "foxville" ], "Target": [ "ALL" @@ -1506,7 +1534,8 @@ "NIC": [ "redrockcanyou", "atwood", - "boulderrapid" + "boulderrapid", + "foxville" ], "Target": [ "ALL" @@ -1537,7 +1566,8 @@ "NIC": [ "redrockcanyou", "atwood", - "boulderrapid" + "boulderrapid", + "foxville" ], "Target": [ "ALL" @@ -1908,6 +1938,19 @@ ], "Bug ID": "", "Comments": "link_status_interrupt application assumes one certain CPU frequency, test fails on thunder boards" + }, + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "arm64-thunderx-linuxapp-gcc" + ], + "Bug ID": "", + "Comments": "NIC not support this case" } ], "add_remove_mac_address": [ @@ -2279,7 +2322,8 @@ "fortpark_TLV_vf", "cavium_a064", "columbiaville_25g", - "columbiaville_100g" + "columbiaville_100g", + "foxville" ], "Target": [ "ALL" @@ -2315,6 +2359,7 @@ "twinville", "sagepond", "sageville", + "foxville", "springville" ], "Target": [ @@ -2379,7 +2424,8 @@ ], "NIC": [ "cavium_a063", - "cavium_a064" + "cavium_a064", + "foxville" ], "Target": [ "ALL" @@ -2480,7 +2526,8 @@ ], "NIC": [ "cavium_a063", - "cavium_a064" + "cavium_a064", + "foxville" ], "Target": [ "ALL" @@ -2711,7 +2758,8 @@ "powerville", "springville", "columbiaville_25g", - "columbiaville_100g" + "columbiaville_100g", + "foxville" ], "Target": [ "ALL" @@ -2720,6 +2768,126 @@ "Comments": "only i40e and ixgbe driver support this case" } ], + "hash_readwrite_perf": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "NIC not support this case" + } + ], + "ipv6_5tuple_hash_table": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "NIC not support this case" + } + ], + "fdir_for_vlan": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "NIC not support this case" + } + ], + "fdir_for_nvgre": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "NIC not support this case" + } + ], + "L2_tunnel_filter": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "NIC not support this case" + } + ], + "fdir_for_L2_payload": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "NIC not support this case" + } + ], + "n_tuple_filter": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "NIC not support this case" + } + ], + "flexbytes_filter": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "NIC not support this case" + } + ], "perf_pvp_split_ring_dequeue_zero_copy": [ { "OS": [ @@ -2749,5 +2917,215 @@ "Bug ID": "", "Comments": "niantic not support this case" } + ], + "tunnel_filter_nvgre": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "NIC not support this case" + } + ], + "fdir_for_flexbytes": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "NIC not support this case" + } + ], + "fdir_for_mac_vlan": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "NIC not support this case" + } + ], + "tunnel_filter_vxlan": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "NIC not support this case" + } + ], + "fdir_for_ipv4": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "NIC not support this case" + } + ], + "fdir_for_vxlan": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "NIC not support this case" + } + ], + "link_status_interrupt_change": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "NIC not support this case" + } + ], + "load_balancer": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "Feature will be ready in next stage(P3)" + } + ], + "multicast_forwarding": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "Feature will be ready in next stage(P3)" + } + ], + "update_system": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "Feature will be ready in next stage(P3)" + } + ], + "ptpclient": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "Feature will be ready in next stage(P3)" + } + ], + "IPv4_L4": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "NIC not support this case" + } + ], + "l2pkt_detect": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "Feature will be ready in next stage(P3)" + } + ], + "dump_driver_info": [ + { + "OS": [ + "ALL" + ], + "NIC": [ + "foxville" + ], + "Target": [ + "ALL" + ], + "Bug ID": "", + "Comments": "NIC not support this case" + } ] } diff --git a/conf/test_case_supportlist.json b/conf/test_case_supportlist.json index a6300e4..95ca036 100644 --- a/conf/test_case_supportlist.json +++ b/conf/test_case_supportlist.json @@ -130,6 +130,7 @@ ], "NIC": [ "forrpark_TLV", + "foxville", "fortville_eagle", "fortville_spirit", "fortville_spirit_single", @@ -183,7 +184,8 @@ "fortpark_BASE-T", "carlsville", "columbiaville_25g", - "columbiaville_100g" + "columbiaville_100g", + "foxville" ], "Target": [ "ALL" @@ -521,6 +523,7 @@ ], "NIC": [ "fortville_eagle", + "foxville", "fortville_spirit", "fortville_spirit_single", "fortville_25g", @@ -540,6 +543,7 @@ ], "NIC": [ "fortville_eagle", + "foxville", "fortville_spirit", "fortville_spirit_single", "fortville_25g", @@ -559,6 +563,7 @@ ], "NIC": [ "fortville_eagle", + "foxville", "fortville_spirit", "fortville_spirit_single", "fortville_25g", @@ -684,7 +689,8 @@ "niantic", "twinpond", "sagepond", - "sageville" + "sageville", + "foxville" ], "Target": [ "ALL" @@ -700,6 +706,7 @@ ], "NIC": [ "fortville_eagle", + "foxville", "fortville_spirit", "fortville_spirit_single", "fortville_25g", @@ -721,6 +728,7 @@ ], "NIC": [ "fortville_eagle", + "foxville", "fortville_spirit", "fortville_spirit_single", "fortpark_TLV", @@ -740,7 +748,8 @@ ], "NIC": [ "bartonhills", - "powerville" + "powerville", + "foxville" ], "Target": [ "ALL" @@ -757,7 +766,8 @@ "NIC": [ "twinville", "sagepond", - "sageville" + "sageville", + "foxville" ], "Target": [ "ALL" @@ -774,7 +784,8 @@ "NIC": [ "twinville", "sagepond", - "sageville" + "sageville", + "foxville" ], "Target": [ "ALL" @@ -792,7 +803,8 @@ "niantic", "kawela_4", "kawela", - "twinville" + "twinville", + "foxville" ], "Target": [ "ALL" @@ -808,6 +820,7 @@ ], "NIC": [ "niantic", + "foxville", "twinville", "sagepond", "sageville", @@ -834,7 +847,8 @@ "fortville_spirit", "fortville_spirit_single", "fortpark_TLV", - "fortpark_BASE-T" + "fortpark_BASE-T", + "foxville" ], "Target": [ "ALL" @@ -857,7 +871,8 @@ "fortville_spirit", "fortville_spirit_single", "fortpark_TLV", - "fortpark_BASE-T" + "fortpark_BASE-T", + "foxville" ], "Target": [ "ALL" @@ -874,7 +889,8 @@ "NIC": [ "twinville", "sagepond", - "sageville" + "sageville", + "foxville" ], "Target": [ "ALL" @@ -893,7 +909,8 @@ "fortville_spirit", "fortville_spirit_single", "fortpark_TLV", - "fortpark_BASE-T" + "fortpark_BASE-T", + "foxville" ], "Target": [ "ALL" @@ -921,7 +938,8 @@ "fortville_spirit_single", "fortpark_TLV", "fortpark_BASE-T", - "carlsville" + "carlsville", + "foxville" ], "Target": [ "ALL" @@ -937,7 +955,8 @@ ], "NIC": [ "bartonhills", - "powerville" + "powerville", + "foxville" ], "Target": [ "ALL" @@ -953,7 +972,8 @@ ], "NIC": [ "sagepond", - "sageville" + "sageville", + "foxville" ], "Target": [ "ALL" @@ -976,7 +996,8 @@ "fortville_spirit", "fortville_spirit_single", "fortpark_TLV", - "fortpark_BASE-T" + "fortpark_BASE-T", + "foxville" ], "Target": [ "ALL" @@ -995,7 +1016,8 @@ "fortville_spirit", "fortville_spirit_single", "fortpark_TLV", - "fortpark_BASE-T" + "fortpark_BASE-T", + "foxville" ], "Target": [ "ALL" diff --git a/framework/settings.py b/framework/settings.py index c31a937..d82b684 100644 --- a/framework/settings.py +++ b/framework/settings.py @@ -111,6 +111,7 @@ NICS = { 'fastlinq_ql41000_vf': '1077:8090', 'carlsville': '8086:15ff', 'hi1822': '19e5:1822', + 'foxville': '8086:15f2' } DRIVERS = { @@ -176,6 +177,7 @@ DRIVERS = { 'fastlinq_ql41000_vf': 'qede', 'carlsville': 'i40e', 'hi1822': 'hinic', + 'foxville':'igc' } """ diff --git a/tests/TestSuite_dual_vlan.py b/tests/TestSuite_dual_vlan.py index 93ef241..daa23d3 100644 --- a/tests/TestSuite_dual_vlan.py +++ b/tests/TestSuite_dual_vlan.py @@ -361,6 +361,8 @@ class TestDualVlan(TestCase): self.verify("vlan %s" % outvlan not in out, "vlan strip enable error: " + out) self.mode_config(stripq="off") + if self.nic == 'foxville': + self.mode_config(strip="off") self.vlan_send_packet(outvlan) out = self.get_tcpdump_package() self.verify("vlan %s" % outvlan in out, "vlan strip queue disable error: " + out) diff --git a/tests/TestSuite_fdir.py b/tests/TestSuite_fdir.py index ecda94d..a7c98bd 100644 --- a/tests/TestSuite_fdir.py +++ b/tests/TestSuite_fdir.py @@ -235,7 +235,7 @@ class TestFdir(TestCase, IxiaPacketGenerator): Fdir get flexbytes and payload according NIC """ - if(self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortpark_TLV", "fortpark_BASE-T","fortville_25g", "carlsville"]): + if(self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortpark_TLV", "fortpark_BASE-T","fortville_25g", "carlsville", "foxville"]): if not sctp: self.flexbytes = "0x11,0x11,0x22,0x22,0x33,0x33,0x44,0x44,0x55,0x55,0x66,0x66,0x77,0x77,0x77,0x77" else: @@ -784,7 +784,7 @@ class TestFdir(TestCase, IxiaPacketGenerator): """ Expand Flow Director for fortville to support ipv4 TOS, ipv4 PROTO, ipv4 TTL """ - if not self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortville_25g", "carlsville"]: + if not self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortville_25g", "carlsville", "foxville"]: self.verify(False, "This case only support fortville nic") self.dut.kill_all() self.dut.send_expect("./%s/app/testpmd -c %s -n 4 -- -i --portmask=%s --disable-rss --rxq=4 --txq=4 --nb-cores=4 --nb-ports=1 --pkt-filter-mode=perfect" % (self.target, self.coreMask, utils.create_mask([self.dut_ports[0]])), "testpmd>", 120) @@ -905,7 +905,7 @@ class TestFdir(TestCase, IxiaPacketGenerator): """ Expand Flow Director for fortville to support ipv6 TC, next-header, hop-limits """ - if not self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortville_25g", "carlsville"]: + if not self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortville_25g", "carlsville", "foxville"]: self.verify(False, "This case only support fortville nic") self.dut.kill_all() self.dut.send_expect("./%s/app/testpmd -c %s -n 4 -- -i --portmask=%s --disable-rss --rxq=4 --txq=4 --nb-cores=4 --nb-ports=1 --pkt-filter-mode=perfect" % (self.target, self.coreMask, utils.create_mask([self.dut_ports[0]])), "testpmd>", 120) @@ -1026,7 +1026,7 @@ class TestFdir(TestCase, IxiaPacketGenerator): """ Expand Flow Director for fortville to support ipv4 TOS, ipv4 PROTO, ipv4 TTL """ - if not self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortville_25g", "carlsville"]: + if not self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortville_25g", "carlsville", "foxville"]: self.verify(False, "This case only support fortville nic") self.dut.kill_all() self.dut.send_expect("./%s/app/testpmd -c %s -n 4 -- -i --portmask=%s --disable-rss --rxq=4 --txq=4 --nb-cores=4 --nb-ports=1 --pkt-filter-mode=perfect" % (self.target, self.coreMask, utils.create_mask([self.dut_ports[0]])), "testpmd>", 120) diff --git a/tests/TestSuite_flexible_rxd.py b/tests/TestSuite_flexible_rxd.py index 77001ab..108bbc5 100644 --- a/tests/TestSuite_flexible_rxd.py +++ b/tests/TestSuite_flexible_rxd.py @@ -43,7 +43,7 @@ class TestFlexibleRxd(TestCase): """ run at the start of each test suite. """ - self.verify(self.nic in ["columbiaville_25g", "columbiaville_100g"], + self.verify(self.nic in ["columbiaville_25g", "columbiaville_100g", "foxville"], "flexible rxd only supports CVL NIC.") self.nb_core = 2 self.pkg_count = 1 @@ -88,7 +88,8 @@ class TestFlexibleRxd(TestCase): """ start testpmd """ - para = '--rxq=32 --txq=32 --portmask=0x1 --nb-cores=%d' % self.nb_core + num = '4' if self.nic == 'foxville' else '32' + para = '--rxq=%s --txq=%s --portmask=0x1 --nb-cores=%d' % (num, num, self.nb_core) self.pmdout.start_testpmd("1S/3C/1T", param=para, ports=[self.pci_info], port_options={self.pci_info: 'proto_xtr=%s' % proto_xdr}) self.pmdout.execute_cmd("set verbose 1", "testpmd> ", 120) self.pmdout.execute_cmd("set fwd io", "testpmd> ", 120) diff --git a/tests/TestSuite_flow_classify.py b/tests/TestSuite_flow_classify.py index 2853f5d..e6320b0 100644 --- a/tests/TestSuite_flow_classify.py +++ b/tests/TestSuite_flow_classify.py @@ -452,7 +452,7 @@ class TestFlowClassify(TestCase): self.verify_traffic(stm_types=stream_list, flow_type="multi_stream") def verify_supported_nic(self): - supported_drivers = ['i40e', 'ixgbe'] + supported_drivers = ['i40e', 'ixgbe', 'igc'] result = all([self.dut.ports_info[index]['port'].default_driver in supported_drivers for index in self.dut_ports]) diff --git a/tests/TestSuite_generic_filter.py b/tests/TestSuite_generic_filter.py index ddc5eb8..35def99 100644 --- a/tests/TestSuite_generic_filter.py +++ b/tests/TestSuite_generic_filter.py @@ -204,7 +204,8 @@ class TestGeneric_filter(TestCase): """ Enable receipt of SYN packets """ - self.verify(self.nic in ["niantic", "kawela_4", "bartonhills", "powerville"], "%s nic not support syn filter" % self.nic) + self.verify(self.nic in ["niantic", "kawela_4", "bartonhills", "powerville", "foxville"], + "%s nic not support syn filter" % self.nic) self.pmdout.start_testpmd( "%s" % self.cores, "--disable-rss --rxq=4 --txq=4 --portmask=%s --nb-cores=4 --nb-ports=1" % portMask) self.port_config() @@ -285,7 +286,7 @@ class TestGeneric_filter(TestCase): self.filter_send_packet("fivetuple") out = self.dut.send_expect("stop", "testpmd> ") self.verify_result(out, tx_pkts="1", expect_queue="3") - elif self.nic in ["bartonhills", "powerville"]: + elif self.nic in ["bartonhills", "powerville", "foxville"]: self.dut.send_expect( "flex_filter %s add len 16 bytes 0x0123456789abcdef0000000008000000 mask 000C priority 2 queue 1" % (valports[0]), "testpmd> ") self.dut.send_expect( @@ -307,7 +308,7 @@ class TestGeneric_filter(TestCase): """ five tuple filter """ - if self.nic in ["niantic", "kawela_4"]: + if self.nic in ["niantic", "kawela_4", "foxville"]: self.pmdout.start_testpmd( "%s" % self.cores, "--disable-rss --rxq=4 --txq=4 --portmask=%s --nb-cores=4 --nb-ports=1" % portMask) self.port_config() @@ -372,7 +373,7 @@ class TestGeneric_filter(TestCase): self.verify(self.nic in ["niantic", "kawela_4", "bartonhills", "powerville", "fortville_eagle", "fortville_spirit", - "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T", "fortville_25g","cavium_a063", "carlsville"], "%s nic not support syn filter" % self.nic) + "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T", "fortville_25g","cavium_a063", "carlsville", "foxville"], "%s nic not support syn filter" % self.nic) self.pmdout.start_testpmd( "%s" % self.cores, "--disable-rss --rxq=4 --txq=4 --portmask=%s --nb-cores=4 --nb-ports=1" % portMask) self.port_config() @@ -501,7 +502,7 @@ class TestGeneric_filter(TestCase): def test_twotuple_filter(self): - if self.nic in ["powerville", "bartonhills", "cavium_a063"]: + if self.nic in ["powerville", "bartonhills", "cavium_a063", "foxville"]: self.pmdout.start_testpmd( "%s" % self.cores, "--disable-rss --rxq=4 --txq=4 --portmask=%s --nb-cores=4 --nb-ports=1" % portMask) self.port_config() @@ -534,7 +535,8 @@ class TestGeneric_filter(TestCase): self.verify(False, "%s nic not support two tuple filter" % self.nic) def test_flex_filter(self): - self.verify(self.nic in ["powerville", "bartonhills", "cavium_a063"], '%s not support flex filter' % self.nic) + self.verify(self.nic in ["powerville", "bartonhills", "cavium_a063", "foxville"], + '%s not support flex filter' % self.nic) masks = ['000C', '000C'] self.pmdout.start_testpmd( @@ -589,7 +591,7 @@ class TestGeneric_filter(TestCase): def test_multiple_filters_1GB(self): - if self.nic in ["powerville", "kawela_4", "bartonhills"]: + if self.nic in ["powerville", "kawela_4", "bartonhills", "foxville"]: self.pmdout.start_testpmd( "%s" % self.cores, "--disable-rss --rxq=4 --txq=4 --portmask=%s --nb-cores=4 --nb-ports=1" % portMask) self.port_config() @@ -633,8 +635,8 @@ class TestGeneric_filter(TestCase): self.verify(False, "%s nic not support this test" % self.nic) def test_jumbo_frame_size(self): - self.verify(self.nic not in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortville_25g", "fortpark_TLV","fortpark_BASE-T", "carlsville"], "%s nic not support this test" % self.nic) - if (self.nic in ["cavium_a063", "cavium_a064"]): + self.verify(self.nic not in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortville_25g", "fortpark_TLV", "carlsville"], "%s nic not support this test" % self.nic) + if (self.nic in ["cavium_a063", "cavium_a064", "foxville"]): self.pmdout.start_testpmd( "%s" % self.cores, "--disable-rss --rxq=4 --txq=4 --portmask=%s --nb-cores=4 --nb-ports=1 --mbcache=200 --mbuf-size=2048 --max-pkt-len=9200" % portMask) else: diff --git a/tests/TestSuite_generic_flow_api.py b/tests/TestSuite_generic_flow_api.py index 4e82202..5dbf261 100644 --- a/tests/TestSuite_generic_flow_api.py +++ b/tests/TestSuite_generic_flow_api.py @@ -78,7 +78,8 @@ class TestGeneric_flow_api(TestCase): global MAX_QUEUE if self.nic in ["powerville", "bartonhills", "kawela", "kawela_4"]: MAX_QUEUE = 7 - + elif self.nic in ['foxville']: + MAX_QUEUE = 3 # Based on h/w type, choose how many ports to use self.dut_ports = self.dut.get_ports(self.nic) # Verify that enough ports are available @@ -664,7 +665,7 @@ class TestGeneric_flow_api(TestCase): Only supported by ixgbe and igb. """ self.verify(self.nic in ["niantic", "kawela_4", "kawela", "bartonhills", "twinville", "sagepond", "sageville", - "powerville"], "%s nic not support SYN filter" % self.nic) + "powerville", "foxville"], "%s nic not support SYN filter" % self.nic) self.pmdout.start_testpmd("%s" % self.cores, "--disable-rss --rxq=%d --txq=%d" % (MAX_QUEUE+1, MAX_QUEUE+1)) self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) @@ -687,12 +688,13 @@ class TestGeneric_flow_api(TestCase): self.dut.send_expect("flow destroy 0 rule 0", "testpmd> ", 120) # create the flow rules + q_idx = '2' if self.nic == 'foxville' else '4' self.dut.send_expect( - "flow create 0 ingress pattern eth / ipv6 / tcp flags spec 0x02 flags mask 0x02 / end actions queue index 4 / end", + "flow create 0 ingress pattern eth / ipv6 / tcp flags spec 0x02 flags mask 0x02 / end actions queue index %s / end" %(q_idx), "created") # send the packets and verify the results self.sendpkt(pktstr='Ether(dst="%s")/IPv6(src="2001::1", dst="2001::2")/TCP(dport=80,flags="S")/Raw("x" * 20)' % self.pf_mac) - self.verify_result("pf", expect_rxpkts="1", expect_queue="4", verify_mac=self.pf_mac) + self.verify_result("pf", expect_rxpkts="1", expect_queue=q_idx, verify_mac=self.pf_mac) self.sendpkt(pktstr='Ether(dst="%s")/IPv6(src="2001::1", dst="2001::2")/TCP(dport=80,flags="PA")/Raw("x" * 20)' % self.pf_mac) self.verify_result("pf", expect_rxpkts="1", expect_queue="0", verify_mac=self.pf_mac) @@ -704,7 +706,7 @@ class TestGeneric_flow_api(TestCase): only supported by ixgbe and igb """ self.verify(self.nic in ["niantic", "kawela_4", "kawela", - "twinville"], "%s nic not support n-tuple filter" % self.nic) + "twinville", "foxville"], "%s nic not support n-tuple filter" % self.nic) self.pmdout.start_testpmd("%s" % self.cores, "--disable-rss --rxq=%d --txq=%d" % (MAX_QUEUE+1, MAX_QUEUE+1)) self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) @@ -741,7 +743,7 @@ class TestGeneric_flow_api(TestCase): """ only supported by igb """ - self.verify(self.nic in ["bartonhills", "powerville"], "%s nic not support 2-tuple filter" % self.nic) + self.verify(self.nic in ["bartonhills", "powerville", "foxville"], "%s nic not support 2-tuple filter" % self.nic) self.pmdout.start_testpmd("%s" % self.cores, "--disable-rss --rxq=%d --txq=%d" % (MAX_QUEUE+1, MAX_QUEUE+1)) self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) @@ -772,7 +774,7 @@ class TestGeneric_flow_api(TestCase): """ self.verify(self.nic in ["niantic", "columbiaville_25g","columbiaville_100g","kawela_4", "kawela", "bartonhills", "twinville", "sagepond", "sageville", "powerville", "fortville_eagle", "fortville_spirit", - "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T"], "%s nic not support ethertype filter" % self.nic) + "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T", "foxville"], "%s nic not support ethertype filter" % self.nic) self.pmdout.start_testpmd("%s" % self.cores, "--disable-rss --rxq=%d --txq=%d" % (MAX_QUEUE+1, MAX_QUEUE+1), "-w %s --file-prefix=test1" % self.pf_pci) self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) @@ -823,7 +825,7 @@ class TestGeneric_flow_api(TestCase): """ only supported by ixgbe """ - self.verify(self.nic in ["sagepond", "sageville"], "%s nic not support fdir L2 tunnel filter" % self.nic) + self.verify(self.nic in ["sagepond", "sageville", "foxville"], "%s nic not support fdir L2 tunnel filter" % self.nic) self.setup_env() # start testpmd on pf @@ -868,7 +870,7 @@ class TestGeneric_flow_api(TestCase): only supported by i40e """ self.verify(self.nic in ["fortville_eagle", "fortville_spirit", - "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T"], "%s nic not support fdir L2 payload filter" % self.nic) + "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T", "foxville"], "%s nic not support fdir L2 payload filter" % self.nic) self.pmdout.start_testpmd("%s" % self.pf_cores, "--pkt-filter-mode=perfect --rxq=%d --txq=%d" % (MAX_QUEUE+1, MAX_QUEUE+1), "-w %s --file-prefix=test1" % self.pf_pci) self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) @@ -1316,7 +1318,7 @@ class TestGeneric_flow_api(TestCase): only supported by i40e """ self.verify(self.nic in ["fortville_eagle", "fortville_spirit", - "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T"], "%s nic not support fdir vlan filter" % self.nic) + "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T", "foxville"], "%s nic not support fdir vlan filter" % self.nic) self.setup_env() # start testpmd on pf self.pmdout.start_testpmd("%s" % self.pf_cores, "--pkt-filter-mode=perfect --disable-rss --rxq=%d --txq=%d" % (MAX_QUEUE+1, MAX_QUEUE+1), "-w %s --file-prefix=pf --socket-mem 1024,1024 --legacy-mem" % self.pf_pci) @@ -1408,7 +1410,7 @@ class TestGeneric_flow_api(TestCase): """ self.verify(self.nic in ["niantic", "columbiaville_25g","columbiaville_100g","twinville", "sagepond", "sageville", "fortville_eagle", "fortville_spirit", - "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T"], + "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T", "foxville"], "%s nic not support fdir ipv4 filter" % self.nic) # i40e if (self.nic in ["fortville_eagle", "fortville_spirit","columbiaville_25g","columbiaville_100g", @@ -1517,7 +1519,7 @@ class TestGeneric_flow_api(TestCase): """ self.verify(self.nic in ["niantic", "twinville", "sagepond", "sageville","columbiaville_25g","columbiaville_100g", "fortville_eagle", "fortville_spirit", - "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T"], + "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T", "foxville"], "%s nic not support fdir ipv6 filter" % self.nic) # i40e if (self.nic in ["fortville_eagle", "fortville_spirit","columbiaville_25g","columbiaville_100g", @@ -1637,7 +1639,7 @@ class TestGeneric_flow_api(TestCase): """ self.verify(self.nic in ["niantic", "twinville", "sagepond", "sageville", "fortville_eagle", "fortville_spirit", - "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T"], + "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T", "foxville"], "%s nic not support fdir flexbytes filter" % self.nic) # i40e if (self.nic in ["fortville_eagle", "fortville_spirit", @@ -1809,7 +1811,7 @@ class TestGeneric_flow_api(TestCase): """ The filter structure is different between igb, ixgbe and i40e """ - self.verify(self.nic in ["bartonhills", "powerville"], "%s nic not support flexbytes filter" % self.nic) + self.verify(self.nic in ["bartonhills", "powerville", "foxville"], "%s nic not support flexbytes filter" % self.nic) self.pmdout.start_testpmd("%s" % self.pf_cores, "--disable-rss --rxq=%d --txq=%d" % (MAX_QUEUE+1, MAX_QUEUE+1)) self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) @@ -1899,7 +1901,7 @@ class TestGeneric_flow_api(TestCase): """ only supported by ixgbe """ - self.verify(self.nic in ["twinville", "sagepond", "sageville"], "%s nic not support fdir mac vlan filter" % self.nic) + self.verify(self.nic in ["twinville", "sagepond", "sageville", "foxville"], "%s nic not support fdir mac vlan filter" % self.nic) self.pmdout.start_testpmd("%s" % self.cores, "--pkt-filter-mode=perfect-mac-vlan --disable-rss --rxq=%d --txq=%d" % (MAX_QUEUE+1, MAX_QUEUE+1)) self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) @@ -1922,7 +1924,7 @@ class TestGeneric_flow_api(TestCase): """ only supported by ixgbe """ - self.verify(self.nic in ["twinville", "sagepond", "sageville","columbiaville_25g","columbiaville_100g"], "%s nic not support fdir vxlan filter" % self.nic) + self.verify(self.nic in ["twinville", "sagepond", "sageville","columbiaville_25g","columbiaville_100g", "foxville"], "%s nic not support fdir vxlan filter" % self.nic) self.pmdout.start_testpmd("%s" % self.cores, "--pkt-filter-mode=perfect-tunnel --disable-rss --rxq=%d --txq=%d" % (MAX_QUEUE+1, MAX_QUEUE+1)) self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) @@ -1943,7 +1945,7 @@ class TestGeneric_flow_api(TestCase): """ only supported by ixgbe """ - self.verify(self.nic in ["twinville", "sagepond", "sageville"], "%s nic not support fdir nvgre filter" % self.nic) + self.verify(self.nic in ["twinville", "sagepond", "sageville", "foxville"], "%s nic not support fdir nvgre filter" % self.nic) self.pmdout.start_testpmd("%s" % self.cores, "--pkt-filter-mode=perfect-tunnel --disable-rss --rxq=%d --txq=%d" % (MAX_QUEUE+1, MAX_QUEUE+1)) self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) @@ -1965,7 +1967,7 @@ class TestGeneric_flow_api(TestCase): only supported by i40e """ self.verify(self.nic in ["fortville_eagle", "fortville_spirit","columbiaville_25g","columbiaville_100g", - "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T"], + "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T", "foxville"], "%s nic not support tunnel vxlan filter" % self.nic) self.setup_env() @@ -2029,7 +2031,7 @@ class TestGeneric_flow_api(TestCase): only supported by i40e """ self.verify(self.nic in ["fortville_eagle", "fortville_spirit","columbiaville_25g","columbiaville_100g", - "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T"], + "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T", "foxville"], "%s nic not support tunnel nvgre filter" % self.nic) self.setup_env() diff --git a/tests/TestSuite_jumboframes.py b/tests/TestSuite_jumboframes.py index 8555dd9..181908d 100644 --- a/tests/TestSuite_jumboframes.py +++ b/tests/TestSuite_jumboframes.py @@ -218,7 +218,7 @@ class TestJumboframes(TestCase): """ On 1G NICs, when the jubmo frame MTU set as 9000, the software adjust it to 9004. """ - if self.nic in ["powerville", "springville", "kawela_4"]: + if self.nic in ["powerville", "springville", "kawela_4", "foxville"]: self.jumboframes_send_packet(ETHER_JUMBO_FRAME_MTU + 4 + 1, False) else: self.jumboframes_send_packet(ETHER_JUMBO_FRAME_MTU + 1, False) diff --git a/tests/TestSuite_pmdrss_hash.py b/tests/TestSuite_pmdrss_hash.py index 204edd0..e9f1a23 100644 --- a/tests/TestSuite_pmdrss_hash.py +++ b/tests/TestSuite_pmdrss_hash.py @@ -415,14 +415,14 @@ class TestPmdrssHash(TestCase): self.verify(self.nic in ["columbiaville_25g", "columbiaville_100g","fortville_eagle", "fortville_spirit", "fortville_spirit_single", "redrockcanyou", "atwood", - "boulderrapid", "fortpark_TLV", "fortpark_BASE-T","fortville_25g", "niantic", "carlsville"], + "boulderrapid", "fortpark_TLV", "fortpark_BASE-T","fortville_25g", "niantic", "carlsville", "foxville"], "NIC Unsupported: " + str(self.nic)) global reta_num global iptypes if self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortpark_TLV", "fortpark_BASE-T","fortville_25g", "carlsville"]: reta_num = 512 - elif self.nic in ["niantic"]: + elif self.nic in ["niantic", "foxville"]: reta_num = 128 iptypes = {'ipv4-other': 'ip', 'ipv4-frag': 'ip', @@ -614,7 +614,7 @@ class TestPmdrssHash(TestCase): # setup testpmd and finish bond config self.verify(self.nic in ["columbiaville_25g", "columbiaville_100g","fortville_eagle", "fortville_spirit", - "fortpark_TLV","fortpark_BASE-T", "fortville_25g", "carlsville"], + "fortpark_TLV","fortpark_BASE-T", "fortville_25g", "carlsville", "foxville"], "NIC Unsupported: " + str(self.nic)) self.dut.send_expect("./%s/app/testpmd -c %s -n %d -- -i" % (self.target, self.coremask, self.dut.get_memory_channels()), "testpmd> ", 120) diff --git a/tests/TestSuite_pmdrssreta.py b/tests/TestSuite_pmdrssreta.py index 050c753..8227961 100644 --- a/tests/TestSuite_pmdrssreta.py +++ b/tests/TestSuite_pmdrssreta.py @@ -160,7 +160,7 @@ class TestPmdrssreta(TestCase): hash_index = int(hash_index_tmp) % 64 elif(self.nic in ["hi1822"]): hash_index = int(tmp_reta_line["RSS hash"], 16) % 256 - elif (self.nic in ["niantic", "redrockcanyou", "atwood", "boulderrapid"]): + elif (self.nic in ["niantic", "redrockcanyou", "atwood", "boulderrapid", "foxville"]): # compute the hash result of five tuple into the 7 LSBs value. hash_index = int(tmp_reta_line["RSS hash"], 16) % 128 else: @@ -212,7 +212,8 @@ class TestPmdrssreta(TestCase): } self.dut.kill_all() - + if self.nic == 'foxville': + testQueues = [2] # test with different rss queues for queue in testQueues: if(queue == 16): @@ -243,7 +244,7 @@ class TestPmdrssreta(TestCase): reta_entries.insert(i, random.randint(0, queue - 1)) self.dut.send_expect( "port config 0 rss reta (%d,%d)" % (i, reta_entries[i]), "testpmd> ") - elif (self.nic in ["niantic", "redrockcanyou", "atwood", "boulderrapid"]): + elif (self.nic in ["niantic", "redrockcanyou", "atwood", "boulderrapid", "foxville"]): for i in range(128): reta_entries.insert(i, random.randint(0, queue - 1)) self.dut.send_expect( @@ -259,7 +260,7 @@ class TestPmdrssreta(TestCase): self.dut.send_expect("quit", "# ", 30) def test_rss_key_size(self): - nic_rss_key_size = {"columbiaville_25g": 52, "columbiaville_100g": 52, "fortville_eagle": 52, "fortville_spirit": 52, "fortville_spirit_single": 52, "fortville_25g": 52, "niantic": 40, "e1000": 40, "redrockcanyou": 40, "atwood": 40, "boulderrapid": 40, "fortpark_TLV": 52,"fortpark_BASE-T": 52, "hi1822": 40, "cavium_a063": 48, "cavium_a064": 48, "carlsville": 52, "sagepond": 40, "sageville": 40} + nic_rss_key_size = {"columbiaville_25g": 52, "columbiaville_100g": 52, "fortville_eagle": 52, "fortville_spirit": 52, "fortville_spirit_single": 52, "fortville_25g": 52, "niantic": 40, "e1000": 40, "redrockcanyou": 40, "atwood": 40, "boulderrapid": 40, "fortpark_TLV": 52,"fortpark_BASE-T": 52, "hi1822": 40, "cavium_a063": 48, "cavium_a064": 48, "carlsville": 52, "sagepond": 40, "sageville": 40, "foxville": 40} self.verify(self.nic in list(nic_rss_key_size.keys()), "Not supporte rss key on %s" % self.nic) dutPorts = self.dut.get_ports(self.nic) diff --git a/tests/TestSuite_qinq_filter.py b/tests/TestSuite_qinq_filter.py index fac8488..4450ea0 100644 --- a/tests/TestSuite_qinq_filter.py +++ b/tests/TestSuite_qinq_filter.py @@ -51,7 +51,7 @@ class TestQinqFilter(TestCase): global dutRxPortId global dutTxPortId - self.verify(self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortville_25g"], + self.verify(self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortville_25g", 'foxville'], "NIC %s not support this test" % self.nic) print('this case only supports fortville with 6.0.0+ firmware and dpdk17.05+') ports = self.dut.get_ports() diff --git a/tests/TestSuite_queue_region.py b/tests/TestSuite_queue_region.py index 29adaf4..007cb6b 100644 --- a/tests/TestSuite_queue_region.py +++ b/tests/TestSuite_queue_region.py @@ -58,7 +58,7 @@ class TestQueue_region(TestCase): Queue region Prerequisites """ self.verify(self.nic in ["fortville_eagle", "fortville_spirit","fortville_25g", - "fortville_spirit_single", "fortpark_TLV", "fortpark_BASE-T","carlsville"], "NIC Unsupported: " + str(self.nic)) + "fortville_spirit_single", "fortpark_TLV", "fortpark_BASE-T","carlsville", "foxville"], "NIC Unsupported: " + str(self.nic)) # Based on h/w type, choose how many ports to use self.dut_ports = self.dut.get_ports(self.nic) diff --git a/tests/TestSuite_rss_to_rte_flow.py b/tests/TestSuite_rss_to_rte_flow.py index 0eabc98..be2c72e 100644 --- a/tests/TestSuite_rss_to_rte_flow.py +++ b/tests/TestSuite_rss_to_rte_flow.py @@ -190,6 +190,8 @@ class TestRSS_to_Rteflow(TestCase): # Disable RSS hash function self.dut.send_expect( "flow create 0 ingress pattern end actions rss types none end / end", "created") + if self.nic == 'foxville': + self.dut.send_expect("flow flush 0", "testpmd> ") self.dut.send_expect( "show port 0 rss-hash", "RSS disabled") # send the packets and verify the results @@ -264,21 +266,28 @@ class TestRSS_to_Rteflow(TestCase): """ Set valid and invalid parameter. """ - self.pmdout.start_testpmd("%s" % self.cores, "--rxq=8 --txq=8 --port-topology=chained") + num = '4' if self.nic == "foxville" else '8' + self.pmdout.start_testpmd("%s" % self.cores, "--rxq=%s --txq=%s --port-topology=chained" % (num, num)) self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) self.dut.send_expect("set verbose 1", "testpmd> ", 120) self.dut.send_expect("start", "testpmd> ", 120) time.sleep(2) # Create a rss queue rule - self.dut.send_expect( - "flow create 0 ingress pattern end actions rss queues 1 4 7 end / end", "created") + if self.nic == 'foxville': + self.dut.send_expect( + #"flow create 0 ingress pattern end actions rss queues 1 4 7 end / end", "created") + "flow create 0 ingress pattern end actions rss queues 1 2 3 end / end", "created") + else: + self.dut.send_expect( + "flow create 0 ingress pattern end actions rss queues 1 4 7 end / end", "created") + # send the packets and verify the results # ipv4-other and ipv6-other is enabled by default. # i40e + rss_queue = ["1", "4", "7"] if (self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T", "fortville_25g"]): - rss_queue = ["1", "4", "7"] self.send_and_check(self.pkt4, rss_queue) self.send_and_check(self.pkt8, rss_queue) rss_queue = ["0"] @@ -289,7 +298,8 @@ class TestRSS_to_Rteflow(TestCase): self.send_and_check(self.pkt6, rss_queue) self.send_and_check(self.pkt7, rss_queue) else: - rss_queue = ["1", "4", "7"] + if self.nic == 'foxville': + rss_queue = ["1", "2", "3"] self.send_and_check(self.pkt1, rss_queue) self.send_and_check(self.pkt2, rss_queue) self.send_and_check(self.pkt3, rss_queue) @@ -337,26 +347,37 @@ class TestRSS_to_Rteflow(TestCase): self.dut.send_expect( "flow create 0 ingress pattern end actions rss queues 8 end / end", "error") # Set all the queues to the rule - self.dut.send_expect( - "flow create 0 ingress pattern end actions rss queues 0 1 2 3 4 5 6 7 end / end", "created") + if self.nic == 'foxville': + self.dut.send_expect( + "flow create 0 ingress pattern end actions rss queues 0 1 2 3 end / end", "created") + else: + self.dut.send_expect( + "flow create 0 ingress pattern end actions rss queues 0 1 2 3 4 5 6 7 end / end", "created") def test_different_types_rss_queue_rule(self): """ Set valid and invalid parameter. """ - self.pmdout.start_testpmd("%s" % self.cores, "--rxq=8 --txq=8 --port-topology=chained") + num = '4' if self.nic == "foxville" else '8' + self.pmdout.start_testpmd("%s" % self.cores, "--rxq=%s --txq=%s --port-topology=chained" % (num, num)) self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) self.dut.send_expect("set verbose 1", "testpmd> ", 120) self.dut.send_expect("start", "testpmd> ", 120) time.sleep(2) # Create a rss queue rule - self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types udp ipv4-tcp ipv6-sctp ipv4-other end queues 1 4 7 end / end", "created") + if self.nic == 'foxville': + self.dut.send_expect( + #"flow create 0 ingress pattern end actions rss types udp ipv4-tcp ipv6-sctp ipv4-other end queues 1 4 7 end / end", "created") + "flow create 0 ingress pattern end actions rss types udp ipv4-tcp ipv6-sctp ipv4-other end queues 1 2 3 end / end", "created") + else: + self.dut.send_expect( + "flow create 0 ingress pattern end actions rss types udp ipv4-tcp ipv6-sctp ipv4-other end queues 1 4 7 end / end", "created") + # send the packets and verify the results + rss_queue = ["1", "4", "7"] if (self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T", "fortville_25g"]): - rss_queue = ["1", "4", "7"] self.send_and_check(self.pkt2, rss_queue) self.send_and_check(self.pkt3, rss_queue) self.send_and_check(self.pkt4, rss_queue) @@ -367,12 +388,15 @@ class TestRSS_to_Rteflow(TestCase): self.send_and_check(self.pkt7, rss_queue) self.send_and_check(self.pkt8, rss_queue) elif(self.nic in ["cavium_a063", "cavium_a064"]): - rss_queue = ["1", "4", "7"] + self.send_and_check(self.pkt2, rss_queue) + self.send_and_check(self.pkt3, rss_queue) + self.send_and_check(self.pkt6, rss_queue) + elif(self.nic in ["foxville"]): + rss_queue = ["1", "2", "3"] self.send_and_check(self.pkt2, rss_queue) self.send_and_check(self.pkt3, rss_queue) self.send_and_check(self.pkt6, rss_queue) else: - rss_queue = ["1", "4", "7"] self.send_and_check(self.pkt2, rss_queue) self.send_and_check(self.pkt3, rss_queue) self.send_and_check(self.pkt6, rss_queue) @@ -469,7 +493,8 @@ class TestRSS_to_Rteflow(TestCase): """ Set RSS queue rule while disable RSS in command-line. """ - self.pmdout.start_testpmd("%s" % self.cores, "--rxq=8 --txq=8 --disable-rss --port-topology=chained") + num = '4' if self.nic == "foxville" else '8' + self.pmdout.start_testpmd("%s" % self.cores, "--rxq=%s --txq=%s --disable-rss --port-topology=chained" % (num, num)) self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) self.dut.send_expect("set verbose 1", "testpmd> ", 120) self.dut.send_expect("start", "testpmd> ", 120) @@ -483,18 +508,22 @@ class TestRSS_to_Rteflow(TestCase): self.check_packet_queue("all", out) self.dut.send_expect("quit", "# ") - self.pmdout.start_testpmd("%s" % self.cores, "--rxq=8 --txq=8 --disable-rss --port-topology=chained") + self.pmdout.start_testpmd("%s" % self.cores, "--rxq=%s --txq=%s --disable-rss --port-topology=chained" % (num, num)) self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) self.dut.send_expect("set verbose 1", "testpmd> ", 120) self.dut.send_expect("start", "testpmd> ", 120) time.sleep(2) # Create a rss queue rule - self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types ipv6-tcp ipv4-udp sctp ipv6-other end queues 5 6 7 end / end", "created") + if self.nic == 'foxville': + self.dut.send_expect( + "flow create 0 ingress pattern end actions rss types ipv6-tcp ipv4-udp sctp ipv6-other end queues 1 2 3 end / end", "created") + else: + self.dut.send_expect( + "flow create 0 ingress pattern end actions rss types ipv6-tcp ipv4-udp sctp ipv6-other end queues 5 6 7 end / end", "created") # send the packets and verify the results + rss_queue = ["5", "6", "7"] if (self.nic in ["fortville_eagle", "fortville_spirit", "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T", "fortville_25g"]): - rss_queue = ["5", "6", "7"] self.send_and_check(self.pkt1, rss_queue) self.send_and_check(self.pkt2, rss_queue) self.send_and_check(self.pkt5, rss_queue) @@ -505,7 +534,8 @@ class TestRSS_to_Rteflow(TestCase): self.send_and_check(self.pkt4, rss_queue) self.send_and_check(self.pkt6, rss_queue) else: - rss_queue = ["5", "6", "7"] + if self.nic == 'foxville': + rss_queue = ["1", "2", "3"] self.send_and_check(self.pkt2, rss_queue) self.send_and_check(self.pkt7, rss_queue) rss_queue = ["0"] @@ -532,20 +562,25 @@ class TestRSS_to_Rteflow(TestCase): """ Set RSS queue rule and flow director rule in meantime. """ - self.pmdout.start_testpmd("%s" % self.cores, "--rxq=8 --txq=8 --pkt-filter-mode=perfect") + num = '4' if self.nic == "foxville" else '8' + self.pmdout.start_testpmd("%s" % self.cores, "--rxq=%s --txq=%s --pkt-filter-mode=perfect" % (num, num)) self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) self.dut.send_expect("set verbose 1", "testpmd> ", 120) self.dut.send_expect("start", "testpmd> ", 120) time.sleep(2) # Create a rss queue rule - self.dut.send_expect( - "flow create 0 ingress pattern end actions rss types udp end queues 3 4 5 end / end", "created") + if self.nic == 'foxville': + self.dut.send_expect( + "flow create 0 ingress pattern end actions rss types udp end queues 1 2 3 end / end", "created") + else: + self.dut.send_expect( + "flow create 0 ingress pattern end actions rss types udp end queues 3 4 5 end / end", "created") # send the packets and verify the results - rss_queue = ["3", "4", "5"] + rss_queue = ["1", "2", "3"] if self.nic == 'foxville' else ["3", "4", "5"] self.send_and_check(self.pkt2, rss_queue) # Create a flow director rule - if (self.nic in ["bartonhills", "powerville"]): + if (self.nic in ["bartonhills", "powerville", "foxville"]): # Create a flow director rule self.dut.send_expect( "flow create 0 ingress pattern eth / ipv4 proto is 6 / udp dst is 50 / end actions queue index 1 / end", "created") @@ -561,7 +596,7 @@ class TestRSS_to_Rteflow(TestCase): self.send_and_check(self.pkt2, rss_queue) # There can't be more than one RSS queue rule existing. self.dut.send_expect("flow destroy 0 rule 1", "testpmd> ") - rss_queue = ["3", "4", "5"] + rss_queue = ["1", "2", "3"] if self.nic == 'foxville' else ["3", "4", "5"] self.send_and_check(self.pkt2, rss_queue) def test_queue_region_with_rss_rule_api(self): diff --git a/tests/TestSuite_rxtx_offload.py b/tests/TestSuite_rxtx_offload.py index d3ac2da..f387995 100644 --- a/tests/TestSuite_rxtx_offload.py +++ b/tests/TestSuite_rxtx_offload.py @@ -90,7 +90,7 @@ class TestRxTx_Offload(TestCase): # Support i40e/ixgbe NICs self.verify(self.nic in ["fortville_eagle", "fortville_spirit","fortville_25g", "fortville_spirit_single", "fortpark_TLV","fortpark_BASE-T", - "niantic", "twinpond", "sagepond", "sageville"], "NIC Unsupported: " + str(self.nic)) + "niantic", "twinpond", "sagepond", "sageville", "foxville"], "NIC Unsupported: " + str(self.nic)) # Based on h/w type, choose how many ports to use self.dut_ports = self.dut.get_ports(self.nic) # Verify that enough ports are available @@ -345,10 +345,11 @@ class TestRxTx_Offload(TestCase): pkt1_queue = self.get_queue_number(self.jumbo_pkt1) pkt2_queue = self.get_queue_number(self.jumbo_pkt2) - # Failed to disable jumboframe per_queue - self.dut.send_expect("port stop 0", "testpmd> ") - self.dut.send_expect("port 0 rxq %s rx_offload jumbo_frame off" % pkt1_queue, "testpmd> ") - self.verify_result(self.jumbo_pkt1, 1, pkt1_queue) + # Failed to disable jumboframe per_queue, foxvillee 2.5g not support + if self.nic != 'foxville': + self.dut.send_expect("port stop 0", "testpmd> ") + self.dut.send_expect("port 0 rxq %s rx_offload jumbo_frame off" % pkt1_queue, "testpmd> ") + self.verify_result(self.jumbo_pkt1, 1, pkt1_queue) # Succeed to disable jumboframe per_port self.dut.send_expect("port stop 0", "testpmd> ") @@ -430,6 +431,8 @@ class TestRxTx_Offload(TestCase): self.pmdout.start_testpmd("%s" % self.cores, "--rxq=4 --txq=4") capabilities = self.check_port_capability("rx") for capability in capabilities: + if self.nic == 'foxville' and capability == 'sctp_cksum': + continue if capability != "jumboframe": self.dut.send_expect("port stop 0", "testpmd> ") self.dut.send_expect("port config 0 rx_offload %s on" % capability, "testpmd> ") @@ -444,7 +447,7 @@ class TestRxTx_Offload(TestCase): Set Rx offload by queue. """ # Only support ixgbe NICs - self.verify(self.nic in ["niantic", "twinpond", "sagepond", "sageville"], "%s nic not support rx offload setting by queue." % self.nic) + self.verify(self.nic in ["niantic", "twinpond", "sagepond", "sageville", "foxville"], "%s nic not support rx offload setting by queue." % self.nic) # Define the vlan packets self.vlan_pkt1 = r'sendp([Ether(dst="%s")/Dot1Q(vlan=1)/IP(src="192.168.0.1",dst="192.168.0.3")/UDP(sport=33, dport=34)/Raw("x"*20)], iface="%s")' % (self.pf_mac, self.tester_itf0) self.vlan_pkt2 = r'sendp([Ether(dst="%s")/Dot1Q(vlan=1)/IP(src="192.168.0.2",dst="192.168.0.3")/UDP(sport=33, dport=34)/Raw("x"*20)], iface="%s")' % (self.pf_mac, self.tester_itf0) diff --git a/tests/TestSuite_uni_pkt.py b/tests/TestSuite_uni_pkt.py index f664c08..6770f18 100644 --- a/tests/TestSuite_uni_pkt.py +++ b/tests/TestSuite_uni_pkt.py @@ -131,7 +131,7 @@ class TestUniPacket(TestCase): "x722" in self.nic or "fortpark_BASE-T" in self.nic : outerL4Type = "L4_NONFRAG" ipv4_default_packet_type = ["L2_ETHER", "L3_IPV4_EXT_UNKNOWN"] - elif "niantic" in self.nic.lower() or "powerville" in self.nic.lower() or "cavium" in self.nic.lower() or "twinpond" in self.nic.lower() or "twinville" in self.nic.lower() or "sageville" in self.nic.lower() or "sagepond" in self.nic.lower() or "springville" in self.nic.lower(): + elif "niantic" in self.nic.lower() or "powerville" in self.nic.lower() or "cavium" in self.nic.lower() or "twinpond" in self.nic.lower() or "twinville" in self.nic.lower() or "sageville" in self.nic.lower() or "sagepond" in self.nic.lower() or "springville" in self.nic.lower() or 'foxville' in self.nic.lower(): outerL4Type = "" ipv4_default_packet_type = ["L2_ETHER", "L3_IPV4"] pktType = { @@ -166,7 +166,7 @@ class TestUniPacket(TestCase): "x722" in self.nic or "fortpark_BASE-T" in self.nic: outerL4Type = "L4_NONFRAG" ipv6_default_packet_type = ["L2_ETHER", "L3_IPV6_EXT_UNKNOWN"] - elif "niantic" in self.nic.lower() or "powerville" in self.nic.lower() or "cavium" in self.nic.lower() or "twinpond" in self.nic.lower() or "twinville" in self.nic.lower() or "sageville" in self.nic.lower() or "sagepond" in self.nic.lower() or "springville" in self.nic.lower(): + elif "niantic" in self.nic.lower() or "powerville" in self.nic.lower() or "cavium" in self.nic.lower() or "twinpond" in self.nic.lower() or "twinville" in self.nic.lower() or "sageville" in self.nic.lower() or "sagepond" in self.nic.lower() or "springville" in self.nic.lower() or 'foxville' in self.nic.lower(): outerL4Type = "" ipv6_default_packet_type = ["L2_ETHER", "L3_IPV6"] @@ -221,7 +221,7 @@ class TestUniPacket(TestCase): detected. """ self.verify(self.nic in ["columbiaville_25g", "columbiaville_100g", "niantic", "fortville_eagle", "fortville_spirit","powerville", "fortpark_TLV","fortpark_BASE-T", - "fortville_25g", "fortville_spirit_single", "carlsville"], "not support %s" % self.nic) + "fortville_25g", "fortville_spirit_single", "carlsville", "foxville"], "not support %s" % self.nic) pktType = { "MAC_IP_IPv6_PKT": ["L2_ETHER", "L3_IPV4", "TUNNEL_IP", "INNER_L3_IPV6"], "MAC_IP_IPv6EXT2_PKT": ["L2_ETHER", "L3_IPV4", "TUNNEL_IP", "INNER_L3_IPV6_EXT"], diff --git a/tests/TestSuite_unit_tests_loopback.py b/tests/TestSuite_unit_tests_loopback.py index 22e6bee..68b1f30 100644 --- a/tests/TestSuite_unit_tests_loopback.py +++ b/tests/TestSuite_unit_tests_loopback.py @@ -112,6 +112,7 @@ class TestUnitTestsLoopback(TestCase): Run pmd stream control mode burst test case. """ self.dut.send_expect("sed -i -e 's/lpbk_mode = 1/lpbk_mode = 0/' app/test/test_pmd_perf.c", "# ", 30) + self.dut.send_expect("sed -i -e '/check_all_ports_link_status(nb_ports, RTE_PORT_ALL);/a\ sleep(6);' app/test/test_pmd_perf.c", "# ", 30) out = self.dut.build_dpdk_apps('app/test') self.verify("Error" not in out, "Compilation error") self.verify("No such" not in out, "Compilation error") @@ -139,6 +140,7 @@ class TestUnitTestsLoopback(TestCase): Run after each test suite. """ self.dut.send_expect("sed -i -e 's/lpbk_mode = 0/lpbk_mode = 1/' app/test/test_pmd_perf.c", "# ", 30) + self.dut.send_expect("sed -i -e '/sleep(6)/d' app/test/test_pmd_perf.c", "# ", 30) self.dut.send_expect("sed -i -e 's/#define MAX_TRAFFIC_BURST 32/#define MAX_TRAFFIC_BURST %s/' app/test/test_pmd_perf.c" % self.max_traffic_burst, "# ", 30) out = self.dut.build_dpdk_apps('app/test') self.verify("Error" not in out, "Compilation error") diff --git a/tests/TestSuite_vlan_ethertype_config.py b/tests/TestSuite_vlan_ethertype_config.py index a18f7c8..c31f585 100644 --- a/tests/TestSuite_vlan_ethertype_config.py +++ b/tests/TestSuite_vlan_ethertype_config.py @@ -290,7 +290,7 @@ class TestVlanEthertypeConfig(TestCase): self.dut.send_expect("start", "testpmd> ") # caium_a063 card support only default '0x8100' tpid in rx mode - if (self.nic in ["cavium_a063", "cavium_a064"]): + if (self.nic in ["cavium_a063", "cavium_a064", "foxville"]): tpids = [0x8100] else: tpids = [0x8100, 0xA100] -- 1.8.3.1