From patchwork Fri Sep 2 15:16:52 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Huang, ZhiminX" X-Patchwork-Id: 115772 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 0BD14A0544; Fri, 2 Sep 2022 09:01:46 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D147240693; Fri, 2 Sep 2022 09:01:45 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 238DC40684 for ; Fri, 2 Sep 2022 09:01:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662102104; x=1693638104; h=from:to:cc:subject:date:message-id; bh=P5bUU4r8A2eidWyi3X4/yEQ1GIQ2rSbQEQ6jet5lYQM=; b=hgMO8o2rh13Txt3GBeJP5xGsR3DYWk00LGiQRw5dIqt7xZ3HacFmYlDZ PL3/igUfx/Cru/ekPS4M5TCifnXDGe3L/C84cicraBjoRVCxljeb0Lihk UrhM0hQJHOCl/+4Dc+kQnZM5tFk2XThAyzMuqPqg8iKcdyYbj6L8S3g2h 8fU+F3HVqe7xY/foe0TTAILaccbjySxepK8kk3fXh1yO2JmzUXsx8Laz1 TqmJMCh0XlMLDKLEM8LqvnKPz/XnFrsFERuI6DYLlBlKSPN6XwiSnVpRF YrzNL0D75nNmb1zdV1ifHrGOo8LRrxFTX8bYVCYttauhQbt3Zr6ZO6ySw g==; X-IronPort-AV: E=McAfee;i="6500,9779,10457"; a="294651403" X-IronPort-AV: E=Sophos;i="5.93,283,1654585200"; d="scan'208";a="294651403" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Sep 2022 00:01:42 -0700 X-IronPort-AV: E=Sophos;i="5.93,283,1654585200"; d="scan'208";a="642793126" Received: from unknown (HELO localhost.localdomain) ([10.239.252.93]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Sep 2022 00:01:39 -0700 From: Zhimin Huang To: dts@dpdk.org Cc: Zhimin Huang Subject: [dts][PATCH V4 1/3] framework/*:add config dcf mode in execution file Date: Fri, 2 Sep 2022 23:16:52 +0800 Message-Id: <20220902151654.28455-1-zhiminx.huang@intel.com> X-Mailer: git-send-email 2.17.1 X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 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 add dcf_mode parm into execution file configuration. if take dcf mode,add dcf_mode=enable into execution.cfg. Signed-off-by: Zhimin Huang --- framework/dts.py | 6 ++++++ framework/settings.py | 1 + 2 files changed, 7 insertions(+) diff --git a/framework/dts.py b/framework/dts.py index a894c461..a8e670b5 100644 --- a/framework/dts.py +++ b/framework/dts.py @@ -141,7 +141,13 @@ def dts_parse_config(config, section): except: rx_mode = "default" + try: + dcf_mode = config.get(section, "dcf_mode").strip().lower() + except: + dcf_mode = "" + settings.save_global_setting(settings.DPDK_RXMODE_SETTING, rx_mode) + settings.save_global_setting(settings.DPDK_DCFMODE_SETTING, dcf_mode) for suite in test_suites: if suite == "": diff --git a/framework/settings.py b/framework/settings.py index 2e7bcfa5..65029668 100644 --- a/framework/settings.py +++ b/framework/settings.py @@ -235,6 +235,7 @@ HOST_SHARED_LIB_PATH = "DTS_HOST_SHARED_LIB_PATH" DEBUG_SETTING = "DTS_DEBUG_ENABLE" DEBUG_CASE_SETTING = "DTS_DEBUGCASE_ENABLE" DPDK_RXMODE_SETTING = "DTS_DPDK_RXMODE" +DPDK_DCFMODE_SETTING = "DTS_DPDK_DCFMODE" DTS_ERROR_ENV = "DTS_RUNNING_ERROR" DTS_CFG_FOLDER = "DTS_CFG_FOLDER" DTS_PARALLEL_SETTING = "DTS_PARALLEL_ENABLE" From patchwork Fri Sep 2 15:16:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Huang, ZhiminX" X-Patchwork-Id: 115774 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EB6E7A0544; Fri, 2 Sep 2022 09:02:18 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id DCC0F427F4; Fri, 2 Sep 2022 09:02:18 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 8DFDF40684 for ; Fri, 2 Sep 2022 09:02:10 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662102132; x=1693638132; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=qmJDMD2FfEWOxRy9Ch4T2nwOKROlJ64fYIxj9lNEUPQ=; b=MOE/huH1K6rpMPv9+ZvKX8E0wjQRscXL24kDmrGGxgpjs3vy1yLT1I7e ljCiIui1/uZNlo6gOHSsYniZQW8IEGb0SVyAK/0HkuysMlOdZmPTMfpHf E29uU+1/0dmkEwA8/o02zwxv5by1nAlsjlqWlevgZzkAVqyxVMZ7TTGBk XMuR9psRxMuyz63/z5FndGuaIG/42Av35U8fkdczqR1jWjxk40arjjZMb A1cha+Bv1qBTWRaPD2crGpT1RUTy8c/QWJCQTBMbV+vq4JE0w4WV963p6 jejqxuNuQYt4h1HYfQ1HhWsE7xGWim1/rncd/WKjL4d7lsx7hQWsQg1s3 Q==; X-IronPort-AV: E=McAfee;i="6500,9779,10457"; a="294651428" X-IronPort-AV: E=Sophos;i="5.93,283,1654585200"; d="scan'208";a="294651428" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Sep 2022 00:01:45 -0700 X-IronPort-AV: E=Sophos;i="5.93,283,1654585200"; d="scan'208";a="642793155" Received: from unknown (HELO localhost.localdomain) ([10.239.252.93]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Sep 2022 00:01:42 -0700 From: Zhimin Huang To: dts@dpdk.org Cc: Zhimin Huang Subject: [dts][PATCH V4 2/3] tests/*:add 22.07 new feature, support in dcf mode Date: Fri, 2 Sep 2022 23:16:53 +0800 Message-Id: <20220902151654.28455-2-zhiminx.huang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220902151654.28455-1-zhiminx.huang@intel.com> References: <20220902151654.28455-1-zhiminx.huang@intel.com> X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 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 modify test case code to support dcf. Signed-off-by: Zhimin Huang --- tests/TestSuite_kernelpf_iavf.py | 146 +++++++++++++++++++++++++++---- tests/TestSuite_vf_macfilter.py | 34 ++++++- tests/TestSuite_vf_offload.py | 63 ++++++++++--- tests/TestSuite_vf_rss.py | 44 +++++++--- tests/TestSuite_vf_smoke.py | 18 +++- tests/TestSuite_vf_vlan.py | 75 ++++++++++++++-- 6 files changed, 331 insertions(+), 49 deletions(-) diff --git a/tests/TestSuite_kernelpf_iavf.py b/tests/TestSuite_kernelpf_iavf.py index a6d4d016..190f9fa5 100644 --- a/tests/TestSuite_kernelpf_iavf.py +++ b/tests/TestSuite_kernelpf_iavf.py @@ -16,7 +16,7 @@ import time import framework.utils as utils from framework.packet import Packet from framework.pmd_output import PmdOutput -from framework.settings import HEADER_SIZE +from framework.settings import DPDK_DCFMODE_SETTING, load_global_setting from framework.test_case import TestCase from framework.utils import RED from framework.virt_common import VM @@ -74,6 +74,7 @@ class TestKernelpfIavf(TestCase): # get priv-flags default stats self.flag = "vf-vlan-pruning" self.default_stats = self.dut.get_priv_flags_state(self.host_intf, self.flag) + self.dcf_mode = load_global_setting(DPDK_DCFMODE_SETTING) def set_up(self): @@ -85,6 +86,10 @@ class TestKernelpfIavf(TestCase): self.destroy_vm_env() elif self.env_done is False: self.setup_vm_env() + if self.dcf_mode: + self.dut.send_expect( + "ip link set %s vf 0 trust on" % (self.host_intf), "# " + ) def setup_vm_env(self, driver="default", set_vf_mac=True): """ @@ -145,6 +150,7 @@ class TestKernelpfIavf(TestCase): raise Exception("Set up VM ENV failed!") self.vm_testpmd = PmdOutput(self.vm_dut) + self.vf_guest_pci = self.vm.pci_maps[0]["guestpci"] except Exception as e: self.destroy_vm_env() raise Exception(e) @@ -199,7 +205,14 @@ class TestKernelpfIavf(TestCase): """ Set rxonly forward,Send 100 random packets from tester, check packets can be received """ - self.vm_testpmd.start_testpmd("all") + if self.dcf_mode == "enable": + self.vm_testpmd.start_testpmd( + "all", + ports=[self.vf_guest_pci], + port_options={self.vf_guest_pci: "cap=dcf"}, + ) + else: + self.vm_testpmd.start_testpmd("all") self.vm_testpmd.execute_cmd("set fwd rxonly") self.vm_testpmd.execute_cmd("set verbose 1") self.vm_testpmd.execute_cmd("start") @@ -234,7 +247,14 @@ class TestKernelpfIavf(TestCase): Not set VF MAC from kernel PF for this case, if set, will print "not permitted error" when add new MAC for VF. """ - out = self.vm_testpmd.start_testpmd("all") + if self.dcf_mode == "enable": + out = self.vm_testpmd.start_testpmd( + "all", + ports=[self.vf_guest_pci], + port_options={self.vf_guest_pci: "cap=dcf"}, + ) + else: + out = self.vm_testpmd.start_testpmd("all") self.testpmd_mac = self.get_testpmd_vf_mac(out) self.vm_testpmd.execute_cmd("set fwd mac") self.vm_testpmd.execute_cmd("set promisc all off") @@ -282,7 +302,14 @@ class TestKernelpfIavf(TestCase): Enable kernel trust mode """ self.dut.send_expect("ip link set dev %s vf 0 trust on" % self.host_intf, "# ") - self.vm_testpmd.start_testpmd("all") + if self.dcf_mode == "enable": + self.vm_testpmd.start_testpmd( + "all", + ports=[self.vf_guest_pci], + port_options={self.vf_guest_pci: "cap=dcf"}, + ) + else: + self.vm_testpmd.start_testpmd("all") self.vm_testpmd.execute_cmd("set fwd mac") self.vm_testpmd.execute_cmd("set verbose 1") self.vm_testpmd.execute_cmd("start") @@ -321,7 +348,14 @@ class TestKernelpfIavf(TestCase): """ multicast_mac = "01:80:C2:00:00:08" self.dut.send_expect("ip link set dev %s vf 0 trust on" % self.host_intf, "# ") - self.vm_testpmd.start_testpmd("all") + if self.dcf_mode == "enable": + self.vm_testpmd.start_testpmd( + "all", + ports=[self.vf_guest_pci], + port_options={self.vf_guest_pci: "cap=dcf"}, + ) + else: + self.vm_testpmd.start_testpmd("all") self.vm_testpmd.execute_cmd("set fwd mac") self.vm_testpmd.execute_cmd("set promisc all off") self.vm_testpmd.execute_cmd("set allmulti all off") @@ -345,7 +379,14 @@ class TestKernelpfIavf(TestCase): def test_vf_broadcast(self): """ """ broadcast_mac = "ff:ff:ff:ff:ff:ff" - self.vm_testpmd.start_testpmd("all") + if self.dcf_mode == "enable": + self.vm_testpmd.start_testpmd( + "all", + ports=[self.vf_guest_pci], + port_options={self.vf_guest_pci: "cap=dcf"}, + ) + else: + self.vm_testpmd.start_testpmd("all") self.vm_testpmd.execute_cmd("set fwd mac") self.vm_testpmd.execute_cmd("set promisc all off") self.vm_testpmd.execute_cmd("set verbose 1") @@ -375,7 +416,14 @@ class TestKernelpfIavf(TestCase): return out def test_vf_vlan_insertion(self): - self.vm_testpmd.start_testpmd("all") + if self.dcf_mode == "enable": + self.vm_testpmd.start_testpmd( + "all", + ports=[self.vf_guest_pci], + port_options={self.vf_guest_pci: "cap=dcf"}, + ) + else: + self.vm_testpmd.start_testpmd("all") random_vlan = random.randint(1, MAX_VLAN) self.vm_testpmd.execute_cmd("vlan set strip off 0") self.vm_testpmd.execute_cmd("port stop all") @@ -396,7 +444,14 @@ class TestKernelpfIavf(TestCase): def test_vf_vlan_strip(self): random_vlan = random.randint(1, MAX_VLAN) - self.vm_testpmd.start_testpmd("all") + if self.dcf_mode == "enable": + self.vm_testpmd.start_testpmd( + "all", + ports=[self.vf_guest_pci], + port_options={self.vf_guest_pci: "cap=dcf"}, + ) + else: + self.vm_testpmd.start_testpmd("all") self.vm_testpmd.execute_cmd("port stop all") self.vm_testpmd.execute_cmd("vlan set filter on 0") self.vm_testpmd.execute_cmd("rx_vlan add %s 0" % random_vlan) @@ -432,7 +487,14 @@ class TestKernelpfIavf(TestCase): def test_vf_vlan_filter(self): random_vlan = random.randint(2, MAX_VLAN) - self.vm_testpmd.start_testpmd("all") + if self.dcf_mode == "enable": + self.vm_testpmd.start_testpmd( + "all", + ports=[self.vf_guest_pci], + port_options={self.vf_guest_pci: "cap=dcf"}, + ) + else: + self.vm_testpmd.start_testpmd("all") self.vm_testpmd.execute_cmd("port stop all") self.vm_testpmd.execute_cmd("set promisc all off") self.vm_testpmd.execute_cmd("vlan set filter on 0") @@ -473,7 +535,15 @@ class TestKernelpfIavf(TestCase): def test_vf_rss(self): rss_type = ["ip", "tcp", "udp"] - self.vm_testpmd.start_testpmd("all", "--txq=4 --rxq=4") + if self.dcf_mode == "enable": + self.vm_testpmd.start_testpmd( + "all", + "--txq=4 --rxq=4", + ports=[self.vf_guest_pci], + port_options={self.vf_guest_pci: "cap=dcf"}, + ) + else: + self.vm_testpmd.start_testpmd("all", "--txq=4 --rxq=4") self.vm_testpmd.execute_cmd("set fwd mac") self.vm_testpmd.execute_cmd("set verbose 1") default_rss_reta = self.vm_testpmd.execute_cmd( @@ -496,7 +566,15 @@ class TestKernelpfIavf(TestCase): def test_vf_rss_hash_key(self): update_hash_key = "1b9d58a4b961d9cd1c56ad1621c3ad51632c16a5d16c21c3513d132c135d132c13ad1531c23a51d6ac49879c499d798a7d949c8a" - self.vm_testpmd.start_testpmd("all", "--txq=4 --rxq=4") + if self.dcf_mode == "enable": + self.vm_testpmd.start_testpmd( + "all", + "--txq=4 --rxq=4", + ports=[self.vf_guest_pci], + port_options={self.vf_guest_pci: "cap=dcf"}, + ) + else: + self.vm_testpmd.start_testpmd("all", "--txq=4 --rxq=4") self.vm_testpmd.execute_cmd("show port 0 rss-hash key") self.vm_testpmd.execute_cmd("set fwd rxonly") self.vm_testpmd.execute_cmd("set verbose 1") @@ -681,7 +759,14 @@ class TestKernelpfIavf(TestCase): self.tester.send_expect("^C", "#") def test_vf_port_start_stop(self): - self.vm_testpmd.start_testpmd("all") + if self.dcf_mode == "enable": + self.vm_testpmd.start_testpmd( + "all", + ports=[self.vf_guest_pci], + port_options={self.vf_guest_pci: "cap=dcf"}, + ) + else: + self.vm_testpmd.start_testpmd("all") for i in range(10): self.vm_testpmd.execute_cmd("port stop all") self.vm_testpmd.execute_cmd("port start all") @@ -700,7 +785,14 @@ class TestKernelpfIavf(TestCase): self.verify(vf0_tx_cnt == 100, "no packet was fwd by vm0_VF0") def test_vf_statistic_reset(self): - self.vm_testpmd.start_testpmd("all") + if self.dcf_mode == "enable": + self.vm_testpmd.start_testpmd( + "all", + ports=[self.vf_guest_pci], + port_options={self.vf_guest_pci: "cap=dcf"}, + ) + else: + self.vm_testpmd.start_testpmd("all") self.vm_testpmd.execute_cmd("set fwd mac") self.vm_testpmd.execute_cmd("set verbose 1") self.vm_testpmd.execute_cmd("start") @@ -722,7 +814,14 @@ class TestKernelpfIavf(TestCase): ) def test_vf_information(self): - self.vm_testpmd.start_testpmd("all") + if self.dcf_mode == "enable": + self.vm_testpmd.start_testpmd( + "all", + ports=[self.vf_guest_pci], + port_options={self.vf_guest_pci: "cap=dcf"}, + ) + else: + self.vm_testpmd.start_testpmd("all") out = self.vm_testpmd.execute_cmd("show port info 0") self.verify("Link status: up" in out, "link stats has error") self.verify("Link speed: %s" % self.speed in out, "link speed has error") @@ -791,7 +890,14 @@ class TestKernelpfIavf(TestCase): ) def test_vf_unicast(self): - self.vm_testpmd.start_testpmd("all") + if self.dcf_mode == "enable": + self.vm_testpmd.start_testpmd( + "all", + ports=[self.vf_guest_pci], + port_options={self.vf_guest_pci: "cap=dcf"}, + ) + else: + self.vm_testpmd.start_testpmd("all") self.vm_testpmd.execute_cmd("set verbose 1") self.vm_testpmd.execute_cmd("set fwd mac") self.vm_testpmd.execute_cmd("set promisc all off") @@ -809,7 +915,14 @@ class TestKernelpfIavf(TestCase): self.verify(packets == 10, "Not receive expected packet") def test_vf_vlan_promisc(self): - self.vm_testpmd.start_testpmd("all") + if self.dcf_mode == "enable": + self.vm_testpmd.start_testpmd( + "all", + ports=[self.vf_guest_pci], + port_options={self.vf_guest_pci: "cap=dcf"}, + ) + else: + self.vm_testpmd.start_testpmd("all") self.vm_testpmd.execute_cmd("port stop all") self.vm_testpmd.execute_cmd("set promisc all on") self.vm_testpmd.execute_cmd("set fwd mac") @@ -827,6 +940,7 @@ class TestKernelpfIavf(TestCase): (self.kdriver == "i40e" and self.driver_version < "2.13.10") or (self.kdriver == "i40e" and not self.default_stats) or (self.kdriver == "ice" and not self.default_stats) + or self.dcf_mode ): self.verify(packets == 10, "Not receive expected packet") else: diff --git a/tests/TestSuite_vf_macfilter.py b/tests/TestSuite_vf_macfilter.py index c2007999..e6b3131e 100644 --- a/tests/TestSuite_vf_macfilter.py +++ b/tests/TestSuite_vf_macfilter.py @@ -6,6 +6,7 @@ import re import time from framework.pmd_output import PmdOutput +from framework.settings import DPDK_DCFMODE_SETTING, load_global_setting from framework.test_case import TestCase from framework.virt_common import VM @@ -34,6 +35,7 @@ class TestVfMacFilter(TestCase): else: self.vf_assign_method = "vfio-pci" self.dut.send_expect("modprobe vfio-pci", "#") + self.dcf_mode = load_global_setting(DPDK_DCFMODE_SETTING) def set_up(self): @@ -50,10 +52,15 @@ class TestVfMacFilter(TestCase): self.dut.send_expect( "ip link set %s vf 0 mac %s" % (pf_intf0, self.pf0_vf0_mac), "#" ) + if self.dcf_mode == "enable": + self.dut.send_expect("ip link set %s vf 0 trust on" % (pf_intf0), "# ") self.used_dut_port_1 = self.dut_ports[1] self.dut.generate_sriov_vfs_by_port(self.used_dut_port_1, 1, driver=driver) self.sriov_vfs_port_1 = self.dut.ports_info[self.used_dut_port_1]["vfs_port"] + pf_intf1 = self.dut.ports_info[1]["port"].get_interface_name() + if self.dcf_mode == "enable": + self.dut.send_expect("ip link set %s vf 0 trust on" % (pf_intf1), "# ") try: @@ -89,6 +96,9 @@ class TestVfMacFilter(TestCase): raise Exception("Set up VM0 ENV failed!") self.setup_2pf_2vf_1vm_env_flag = 1 + self.vf0_guest_pci = self.vm0.pci_maps[0]["guestpci"] + self.vf1_guest_pci = self.vm0.pci_maps[1]["guestpci"] + except Exception as e: self.destroy_2pf_2vf_1vm_env() raise Exception(e) @@ -145,7 +155,17 @@ class TestVfMacFilter(TestCase): self.host_testpmd.execute_cmd("set vf mac addr 0 0 %s" % self.pf0_vf0_mac) self.vm0_dut_ports = self.vm_dut_0.get_ports("any") self.vm0_testpmd = PmdOutput(self.vm_dut_0) - self.vm0_testpmd.start_testpmd(VM_CORES_MASK) + if self.dcf_mode == "enable": + self.vm0_testpmd.start_testpmd( + VM_CORES_MASK, + ports=[self.vf0_guest_pci, self.vf1_guest_pci], + port_options={ + self.vf0_guest_pci: "cap=dcf", + self.vf1_guest_pci: "cap=dcf", + }, + ) + else: + self.vm0_testpmd.start_testpmd(VM_CORES_MASK) # Get VF's MAC pmd_vf0_mac = self.vm0_testpmd.get_port_mac(0) self.vm0_testpmd.execute_cmd("set promisc all off") @@ -242,7 +262,17 @@ class TestVfMacFilter(TestCase): def send_packet_and_verify(self): self.vm0_dut_ports = self.vm_dut_0.get_ports("any") self.vm0_testpmd = PmdOutput(self.vm_dut_0) - self.vm0_testpmd.start_testpmd(VM_CORES_MASK) + if self.dcf_mode == "enable": + self.vm0_testpmd.start_testpmd( + VM_CORES_MASK, + ports=[self.vf0_guest_pci, self.vf1_guest_pci], + port_options={ + self.vf0_guest_pci: "cap=dcf", + self.vf1_guest_pci: "cap=dcf", + }, + ) + else: + self.vm0_testpmd.start_testpmd(VM_CORES_MASK) # Get VF0 port MAC address pmd_vf0_mac = self.vm0_testpmd.get_port_mac(0) diff --git a/tests/TestSuite_vf_offload.py b/tests/TestSuite_vf_offload.py index eee77c69..87310817 100644 --- a/tests/TestSuite_vf_offload.py +++ b/tests/TestSuite_vf_offload.py @@ -9,7 +9,7 @@ import time import framework.utils as utils from framework.crb import Crb from framework.pmd_output import PmdOutput -from framework.settings import HEADER_SIZE +from framework.settings import DPDK_DCFMODE_SETTING, HEADER_SIZE, load_global_setting from framework.test_case import TestCase from framework.utils import GREEN, RED from framework.virt_common import VM @@ -39,6 +39,7 @@ class TestVfOffload(TestCase): else: self.vf_assign_method = "vfio-pci" self.dut.send_expect("modprobe vfio-pci", "#") + self.dcf_mode = load_global_setting(DPDK_DCFMODE_SETTING) self.setup_2pf_2vf_1vm_env_flag = 0 self.setup_2pf_2vf_1vm_env(driver="") @@ -131,6 +132,8 @@ class TestVfOffload(TestCase): self.vm_dut_0 = self.vm0.start() if self.vm_dut_0 is None: raise Exception("Set up VM0 ENV failed!") + self.vf0_guest_pci = self.vm0.pci_maps[0]["guestpci"] + self.vf1_guest_pci = self.vm0.pci_maps[1]["guestpci"] self.setup_2pf_2vf_1vm_env_flag = 1 except Exception as e: @@ -290,10 +293,21 @@ class TestVfOffload(TestCase): can rx it and report the checksum error, verify forwarded packets have correct checksum. """ - self.vm0_testpmd.start_testpmd( - VM_CORES_MASK, - "--portmask=%s " % (self.portMask) + "--enable-rx-cksum " + "", - ) + if self.dcf_mode == "enable": + self.vm0_testpmd.start_testpmd( + VM_CORES_MASK, + "--portmask=%s " % (self.portMask) + "--enable-rx-cksum " + "", + ports=[self.vf0_guest_pci, self.vf1_guest_pci], + port_options={ + self.vf0_guest_pci: "cap=dcf", + self.vf1_guest_pci: "cap=dcf", + }, + ) + else: + self.vm0_testpmd.start_testpmd( + VM_CORES_MASK, + "--portmask=%s " % (self.portMask) + "--enable-rx-cksum " + "", + ) self.vm0_testpmd.execute_cmd("set fwd csum") self.vm0_testpmd.execute_cmd("set promisc 1 on") self.vm0_testpmd.execute_cmd("set promisc 0 on") @@ -351,10 +365,22 @@ class TestVfOffload(TestCase): Enable SW checksum offload. Send same packet with incorrect checksum and verify checksum is valid. """ - self.vm0_testpmd.start_testpmd( - VM_CORES_MASK, - "--portmask=%s " % (self.portMask) + "--enable-rx-cksum " + "", - ) + + if self.dcf_mode == "enable": + self.vm0_testpmd.start_testpmd( + VM_CORES_MASK, + "--portmask=%s " % (self.portMask) + "--enable-rx-cksum " + "", + ports=[self.vf0_guest_pci, self.vf1_guest_pci], + port_options={ + self.vf0_guest_pci: "cap=dcf", + self.vf1_guest_pci: "cap=dcf", + }, + ) + else: + self.vm0_testpmd.start_testpmd( + VM_CORES_MASK, + "--portmask=%s " % (self.portMask) + "--enable-rx-cksum " + "", + ) self.vm0_testpmd.execute_cmd("set fwd csum") self.vm0_testpmd.execute_cmd("set promisc 1 on") self.vm0_testpmd.execute_cmd("set promisc 0 on") @@ -491,10 +517,21 @@ class TestVfOffload(TestCase): ) self.portMask = utils.create_mask([self.vm0_dut_ports[0]]) - self.vm0_testpmd.start_testpmd( - VM_CORES_MASK, - "--portmask=0x3 " + "--enable-rx-cksum " + "--max-pkt-len=%s" % TSO_MTU, - ) + if self.dcf_mode == "enable": + self.vm0_testpmd.start_testpmd( + VM_CORES_MASK, + "--portmask=0x3 " + "--enable-rx-cksum " + "--max-pkt-len=%s" % TSO_MTU, + ports=[self.vf0_guest_pci, self.vf1_guest_pci], + port_options={ + self.vf0_guest_pci: "cap=dcf", + self.vf1_guest_pci: "cap=dcf", + }, + ) + else: + self.vm0_testpmd.start_testpmd( + VM_CORES_MASK, + "--portmask=0x3 " + "--enable-rx-cksum " + "--max-pkt-len=%s" % TSO_MTU, + ) mac = self.vm0_testpmd.get_port_mac(0) self.vm0_testpmd.execute_cmd("set verbose 1", "testpmd> ", 120) diff --git a/tests/TestSuite_vf_rss.py b/tests/TestSuite_vf_rss.py index 3c97e1fe..b6359987 100644 --- a/tests/TestSuite_vf_rss.py +++ b/tests/TestSuite_vf_rss.py @@ -15,6 +15,7 @@ reta_entries = [] reta_lines = [] from framework.pmd_output import PmdOutput +from framework.settings import DPDK_DCFMODE_SETTING, load_global_setting # Use scapy to send packets with different source and dest ip. # and collect the hash result of five tuple and the queue id. @@ -289,6 +290,7 @@ class TestVfRss(TestCase): self.vm0 = None self.host_testpmd = None self.setup_1pf_1vf_1vm_env_flag = 0 + self.dcf_mode = load_global_setting(DPDK_DCFMODE_SETTING) self.setup_1pf_1vf_1vm_env(driver="") def set_up(self): @@ -302,6 +304,9 @@ class TestVfRss(TestCase): self.used_dut_port_0 = self.dut_ports[0] self.dut.generate_sriov_vfs_by_port(self.used_dut_port_0, 1, driver=driver) self.sriov_vfs_port_0 = self.dut.ports_info[self.used_dut_port_0]["vfs_port"] + pf_intf0 = self.dut.ports_info[0]["port"].get_interface_name() + if self.dcf_mode == "enable": + self.dut.send_expect("ip link set %s vf 0 trust on" % (pf_intf0), "# ") try: for port in self.sriov_vfs_port_0: @@ -322,6 +327,7 @@ class TestVfRss(TestCase): self.vm_dut_0 = self.vm0.start() if self.vm_dut_0 is None: raise Exception("Set up VM0 ENV failed!") + self.vf0_guest_pci = self.vm0.pci_maps[0]["guestpci"] self.vm0_testpmd = PmdOutput(self.vm_dut_0) @@ -381,11 +387,20 @@ class TestVfRss(TestCase): eal_param = "" for queue in testQueues: - self.vm0_testpmd.start_testpmd( - "all", - "--rxq=%d --txq=%d %s" % (queue, queue, eal_param), - socket=self.vm0_ports_socket, - ) + if self.dcf_mode == "enable": + self.vm0_testpmd.start_testpmd( + "all", + "--rxq=%d --txq=%d %s" % (queue, queue, eal_param), + ports=[self.vf0_guest_pci], + port_options={self.vf0_guest_pci: "cap=dcf"}, + socket=self.vm0_ports_socket, + ) + else: + self.vm0_testpmd.start_testpmd( + "all", + "--rxq=%d --txq=%d %s" % (queue, queue, eal_param), + socket=self.vm0_ports_socket, + ) for iptype, rss_type in list(iptypes.items()): self.vm_dut_0.send_expect("set verbose 8", "testpmd> ") @@ -453,11 +468,20 @@ class TestVfRss(TestCase): # test with different rss queues for queue in testQueues: - self.vm0_testpmd.start_testpmd( - "all", - "--rxq=%d --txq=%d %s" % (queue, queue, eal_param), - socket=self.vm0_ports_socket, - ) + if self.dcf_mode == "enable": + self.vm0_testpmd.start_testpmd( + "all", + "--rxq=%d --txq=%d %s" % (queue, queue, eal_param), + ports=[self.vf0_guest_pci], + port_options={self.vf0_guest_pci: "cap=dcf"}, + socket=self.vm0_ports_socket, + ) + else: + self.vm0_testpmd.start_testpmd( + "all", + "--rxq=%d --txq=%d %s" % (queue, queue, eal_param), + socket=self.vm0_ports_socket, + ) for iptype, rsstype in list(iptypes.items()): self.vm_dut_0.send_expect("set verbose 8", "testpmd> ") diff --git a/tests/TestSuite_vf_smoke.py b/tests/TestSuite_vf_smoke.py index b19160c6..9faba9dd 100644 --- a/tests/TestSuite_vf_smoke.py +++ b/tests/TestSuite_vf_smoke.py @@ -4,6 +4,7 @@ from framework.packet import Packet from framework.pmd_output import PmdOutput +from framework.settings import DPDK_DCFMODE_SETTING, load_global_setting from framework.test_case import TestCase from .smoke_base import ( @@ -60,11 +61,16 @@ class TestVfSmoke(TestCase): self.vf0_prop = {"opt_host": self.vf_ports[0].pci} self.dut.send_expect("ifconfig %s up" % self.pf_interface, "# ") self.tester.send_expect("ifconfig %s up" % self.smoke_tester_nic, "# ") + self.dcf_mode = load_global_setting(DPDK_DCFMODE_SETTING) # set vf mac address self.dut.send_expect( "ip link set %s vf 0 mac %s" % (self.pf_interface, self.smoke_dut_mac), "# " ) + if self.dcf_mode == "enable": + self.dut.send_expect( + "ip link set %s vf 0 trust on" % (self.pf_interface), "# " + ) # set default app parameter if self.vf0_prop is not None: @@ -100,7 +106,17 @@ class TestVfSmoke(TestCase): self.vf_launch_dpdk_app() def vf_launch_dpdk_app(self): - self.pmd_out.start_testpmd(cores=self.cores, ports=self.ports, param=self.param) + if self.dcf_mode == "enable": + self.pmd_out.start_testpmd( + cores=self.cores, + ports=self.ports, + port_options={port: "cap=dcf" for port in self.ports}, + param=self.param, + ) + else: + self.pmd_out.start_testpmd( + cores=self.cores, ports=self.ports, param=self.param + ) # set default param self.dut.send_expect("set promisc all off", "testpmd> ") diff --git a/tests/TestSuite_vf_vlan.py b/tests/TestSuite_vf_vlan.py index c4904c55..e160b737 100644 --- a/tests/TestSuite_vf_vlan.py +++ b/tests/TestSuite_vf_vlan.py @@ -9,7 +9,7 @@ import time import framework.utils as utils from framework.packet import Packet from framework.pmd_output import PmdOutput -from framework.settings import get_nic_name +from framework.settings import DPDK_DCFMODE_SETTING, get_nic_name, load_global_setting from framework.test_case import TestCase from framework.virt_common import VM @@ -48,6 +48,7 @@ class TestVfVlan(TestCase): # get priv-flags default stats self.flag = "vf-vlan-pruning" self.default_stats = self.dut.get_priv_flags_state(self.host_intf0, self.flag) + self.dcf_mode = load_global_setting(DPDK_DCFMODE_SETTING) def set_up(self): self.setup_vm_env() @@ -87,6 +88,10 @@ class TestVfVlan(TestCase): self.dut.send_expect( "ip link set %s vf 0 mac %s" % (self.host_intf0, self.vf0_mac), "# " ) + if self.dcf_mode == "enable": + self.dut.send_expect( + "ip link set %s vf 0 trust on" % (self.host_intf0), "# " + ) self.used_dut_port_1 = self.dut_ports[1] self.host_intf1 = self.dut.ports_info[self.used_dut_port_1]["intf"] @@ -103,6 +108,10 @@ class TestVfVlan(TestCase): self.dut.send_expect( "ip link set %s vf 0 mac %s" % (self.host_intf1, self.vf1_mac), "# " ) + if self.dcf_mode == "enable": + self.dut.send_expect( + "ip link set %s vf 0 trust on" % (self.host_intf1), "# " + ) try: @@ -123,6 +132,8 @@ class TestVfVlan(TestCase): self.vm_dut_0 = self.vm0.start() if self.vm_dut_0 is None: raise Exception("Set up VM0 ENV failed!") + self.vf0_guest_pci = self.vm0.pci_maps[0]["guestpci"] + self.vf1_guest_pci = self.vm0.pci_maps[1]["guestpci"] except Exception as e: self.destroy_vm_env() @@ -170,7 +181,17 @@ class TestVfVlan(TestCase): self.vm0_dut_ports = self.vm_dut_0.get_ports("any") self.vm0_testpmd = PmdOutput(self.vm_dut_0) - self.vm0_testpmd.start_testpmd(VM_CORES_MASK) + if self.dcf_mode == "enable": + self.vm0_testpmd.start_testpmd( + VM_CORES_MASK, + ports=[self.vf0_guest_pci, self.vf1_guest_pci], + port_options={ + self.vf0_guest_pci: "cap=dcf", + self.vf1_guest_pci: "cap=dcf", + }, + ) + else: + self.vm0_testpmd.start_testpmd(VM_CORES_MASK) self.vm0_testpmd.execute_cmd("set fwd mac") self.vm0_testpmd.execute_cmd("start") @@ -214,7 +235,17 @@ class TestVfVlan(TestCase): self.vm0_dut_ports = self.vm_dut_0.get_ports("any") self.vm0_testpmd = PmdOutput(self.vm_dut_0) - self.vm0_testpmd.start_testpmd(VM_CORES_MASK) + if self.dcf_mode == "enable": + self.vm0_testpmd.start_testpmd( + VM_CORES_MASK, + ports=[self.vf0_guest_pci, self.vf1_guest_pci], + port_options={ + self.vf0_guest_pci: "cap=dcf", + self.vf1_guest_pci: "cap=dcf", + }, + ) + else: + self.vm0_testpmd.start_testpmd(VM_CORES_MASK) self.vm0_testpmd.execute_cmd("set fwd rxonly") self.vm0_testpmd.execute_cmd("set verbose 1") self.vm0_testpmd.execute_cmd("start") @@ -248,6 +279,7 @@ class TestVfVlan(TestCase): (self.kdriver == "i40e" and self.driver_version < "2.13.10") or (self.kdriver == "i40e" and not self.default_stats) or (self.kdriver == "ice" and not self.default_stats) + or self.dcf_mode == "enable" ): self.verify("received" in out, "Failed to received vlan packet!!!") else: @@ -289,7 +321,17 @@ class TestVfVlan(TestCase): self.vm0_dut_ports = self.vm_dut_0.get_ports("any") self.vm0_testpmd = PmdOutput(self.vm_dut_0) - self.vm0_testpmd.start_testpmd(VM_CORES_MASK) + if self.dcf_mode == "enable": + self.vm0_testpmd.start_testpmd( + VM_CORES_MASK, + ports=[self.vf0_guest_pci, self.vf1_guest_pci], + port_options={ + self.vf0_guest_pci: "cap=dcf", + self.vf1_guest_pci: "cap=dcf", + }, + ) + else: + self.vm0_testpmd.start_testpmd(VM_CORES_MASK) self.vm0_testpmd.execute_cmd("set verbose 1") for tx_vlan in tx_vlans: @@ -314,7 +356,18 @@ class TestVfVlan(TestCase): self.vm0_dut_ports = self.vm_dut_0.get_ports("any") self.vm0_testpmd = PmdOutput(self.vm_dut_0) - self.vm0_testpmd.start_testpmd(VM_CORES_MASK) + if self.dcf_mode == "enable": + self.vm0_testpmd.start_testpmd( + VM_CORES_MASK, + ports=[self.vf0_guest_pci, self.vf1_guest_pci], + port_options={ + self.vf0_guest_pci: "cap=dcf", + self.vf1_guest_pci: "cap=dcf", + }, + eal_param="--force-max-simd-bitwidth=64", + ) + else: + self.vm0_testpmd.start_testpmd(VM_CORES_MASK) self.vm0_testpmd.execute_cmd("set fwd rxonly") self.vm0_testpmd.execute_cmd("set verbose 1") self.vm0_testpmd.execute_cmd("vlan set strip on 0") @@ -393,8 +446,16 @@ class TestVfVlan(TestCase): self.vm0_dut_ports = self.vm_dut_0.get_ports("any") self.vm0_testpmd = PmdOutput(self.vm_dut_0) - if self.kdriver == "i40e": - self.vm0_testpmd.start_testpmd(VM_CORES_MASK, "") + if self.dcf_mode == "enable": + self.vm0_testpmd.start_testpmd( + VM_CORES_MASK, + ports=[self.vf0_guest_pci, self.vf1_guest_pci], + port_options={ + self.vf0_guest_pci: "cap=dcf", + self.vf1_guest_pci: "cap=dcf", + }, + eal_param="--force-max-simd-bitwidth=64", + ) else: self.vm0_testpmd.start_testpmd(VM_CORES_MASK) self.vm0_testpmd.execute_cmd("set fwd rxonly") From patchwork Fri Sep 2 15:16:54 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Huang, ZhiminX" X-Patchwork-Id: 115775 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E01ADA0545; Fri, 2 Sep 2022 09:02:19 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 195BD427F9; Fri, 2 Sep 2022 09:02:19 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 89279427F4 for ; Fri, 2 Sep 2022 09:02:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1662102137; x=1693638137; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=RFbW0MUl/aqCBgNsbOjj3GZ8wJu0V/wMt5Lp7/u8/Jk=; b=ftCndn4KmYSNr+/OUqruG0qe2rya+Uc7xsgfHNsDSudQjFJKqkIdcukk UWOL79i0gOJGRWCE1Tr3s4OkcPjzCqK0Egri06Yp0hBeQajZciMR05Tdg i0No4nJobOPUNzTW+mkuV579Via5LuTozPH56BiRDyLuXUzB31b174US8 4VqUM/2ZW8rMBn5LVJMP0pCLlrRr6/hCl8oNJBi9h/AbfUsgJR1iVITQj yrBM6Fk6xjY1rqtxXSkVII433DlhOJQDv+ax2PSpS1uSxf4aq2Cv7pBEK RYFqQhgg/9FZy6KWjXlM//450gQhNSAQdsRUgafnkYpaBa5jXmn5PVI3X A==; X-IronPort-AV: E=McAfee;i="6500,9779,10457"; a="294651449" X-IronPort-AV: E=Sophos;i="5.93,283,1654585200"; d="scan'208";a="294651449" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Sep 2022 00:01:47 -0700 X-IronPort-AV: E=Sophos;i="5.93,283,1654585200"; d="scan'208";a="642793202" Received: from unknown (HELO localhost.localdomain) ([10.239.252.93]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Sep 2022 00:01:45 -0700 From: Zhimin Huang To: dts@dpdk.org Cc: Zhimin Huang Subject: [dts][PATCH V4 3/3] test_plans/*:add 22.07 new feature, support in dcf mode Date: Fri, 2 Sep 2022 23:16:54 +0800 Message-Id: <20220902151654.28455-3-zhiminx.huang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220902151654.28455-1-zhiminx.huang@intel.com> References: <20220902151654.28455-1-zhiminx.huang@intel.com> X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 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 add description for support dcf case. 1.set vf trust on. 2.start up testpmd with dcf parm. Signed-off-by: Zhimin Huang --- test_plans/kernelpf_iavf_test_plan.rst | 12 ++++++++++++ test_plans/vf_macfilter_test_plan.rst | 16 ++++++++++++++++ test_plans/vf_offload_test_plan.rst | 14 ++++++++++++++ test_plans/vf_rss_test_plan.rst | 13 +++++++++++++ test_plans/vf_smoke_test_plan.rst | 13 +++++++++++++ test_plans/vf_vlan_test_plan.rst | 12 ++++++++++++ 6 files changed, 80 insertions(+) diff --git a/test_plans/kernelpf_iavf_test_plan.rst b/test_plans/kernelpf_iavf_test_plan.rst index d877bb90..aa7aed82 100644 --- a/test_plans/kernelpf_iavf_test_plan.rst +++ b/test_plans/kernelpf_iavf_test_plan.rst @@ -47,6 +47,18 @@ Start up VF port:: .//app/dpdk-testpmd -c f -n 4 -- -i +Or set VF port to dcf and start up:: + + Enable kernel trust mode: + + ip link set $PF_INTF vf 0 trust on + + .//app/dpdk-testpmd -c f -n 4 -a 0000:18:01.0,cap=dcf -- -i + +.. note:: + + make dcf as full feature pmd is dpdk22.07 feature, and only support E810 series nic. + Test case: VF basic RX/TX ========================= Set rxonly forward, start testpmd diff --git a/test_plans/vf_macfilter_test_plan.rst b/test_plans/vf_macfilter_test_plan.rst index d623cf04..e2f3c355 100644 --- a/test_plans/vf_macfilter_test_plan.rst +++ b/test_plans/vf_macfilter_test_plan.rst @@ -77,6 +77,14 @@ Test Case 1: test_kernel_2pf_2vf_1vm_iplink_macfilter testpmd> set fwd mac testpmd> start + Or set VF port to dcf and start up:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0x0f -n 4 -a 00:06.0,cap=dcf -a 00:07.0,cap=dcf -- -i --portmask=0x3 + +.. note:: + + make dcf as full feature pmd is dpdk22.07 feature, and only support E810 series nic. + 6. Use scapy to send 100 random packets with ip link set MAC to VF, verify the packets can be received by one VF and can be forwarded to another VF correctly. @@ -156,6 +164,14 @@ Test Case 2: test_kernel_2pf_2vf_1vm_mac_add_filter testpmd> set fwd mac testpmd> start + Or set VF port to dcf and start up:: + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0x0f -n 4 -a 00:06.0,cap=dcf -a 00:07.0,cap=dcf -- -i --portmask=0x3 + +.. note:: + + make dcf as full feature pmd is dpdk22.07 feature, and only support E810 series nic. + 6. Use scapy to send 100 random packets with current VF0's MAC, verify the packets can be received by one VF and can be forwarded to another VF correctly. diff --git a/test_plans/vf_offload_test_plan.rst b/test_plans/vf_offload_test_plan.rst index ba490e06..f909b477 100644 --- a/test_plans/vf_offload_test_plan.rst +++ b/test_plans/vf_offload_test_plan.rst @@ -30,6 +30,20 @@ launch the ``testpmd`` with the following arguments:: --txht=8 --txwt=0 --txfreet=0 --rxfreet=64 --mbcache=250 --portmask=0x5 --enable-rx-cksum +Or set VF port to dcf and start up:: + + Enable kernel trust mode: + + ip link set $PF_INTF vf 0 trust on + + dpdk-testpmd -c 0x0f -n 4 -a 00:04.0,cap=dcf -a 00:05.0,cap=dcf -- -i --burst=1 --txpt=32 \ + --txht=8 --txwt=0 --txfreet=0 --rxfreet=64 --mbcache=250 --portmask=0x5 + --enable-rx-cksum + +.. note:: + + make dcf as full feature pmd is dpdk22.07 feature, and only support E810 series nic. + Set the verbose level to 1 to display information for each received packet:: testpmd> set verbose 1 diff --git a/test_plans/vf_rss_test_plan.rst b/test_plans/vf_rss_test_plan.rst index 846de2d7..75520206 100644 --- a/test_plans/vf_rss_test_plan.rst +++ b/test_plans/vf_rss_test_plan.rst @@ -54,6 +54,19 @@ Testpmd configuration - 4 RX/TX queues per port dpdk-testpmd -c 1f -n 3 -- -i --rxq=4 --txq=4 + +Or set VF port to dcf and start up:: + + Enable kernel trust mode: + + ip link set $PF_INTF vf 0 trust on + + dpdk-testpmd -c 0x0f -n 4 -a 00:04.0,cap=dcf -a 00:05.0,cap=dcf -- -i --rxq=4 --txq=4 + +.. note:: + + make dcf as full feature pmd is dpdk22.07 feature, and only support E810 series nic. + Testpmd Configuration Options ----------------------------- diff --git a/test_plans/vf_smoke_test_plan.rst b/test_plans/vf_smoke_test_plan.rst index 33a3273c..7698947d 100644 --- a/test_plans/vf_smoke_test_plan.rst +++ b/test_plans/vf_smoke_test_plan.rst @@ -59,6 +59,19 @@ Prerequisites testpmd> start testpmd> show port info all +Or set VF port to dcf and start up:: + + Enable kernel trust mode: + + ip link set $PF_INTF vf 0 trust on + + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:86:01.0,cap=dcf --file-prefix=pf -- -i --rxq=4 + --txq=4 + +.. note:: + + make dcf as full feature pmd is dpdk22.07 feature, and only support E810 series nic. + Test Case 1: test enable and disable jumbo frame ==================================================== diff --git a/test_plans/vf_vlan_test_plan.rst b/test_plans/vf_vlan_test_plan.rst index 2c38d4dd..4ddf8e6e 100644 --- a/test_plans/vf_vlan_test_plan.rst +++ b/test_plans/vf_vlan_test_plan.rst @@ -66,6 +66,18 @@ Prerequisites testpmd> set verbose 1 testpmd> start +Or set VF port to dcf and start up:: + + Enable kernel trust mode: + + ip link set $PF_INTF vf 0 trust on + + dpdk-testpmd -c 0x0f -n 4 -a 00:04.0,cap=dcf -a 00:05.0,cap=dcf -- -i --portmask=0x3 + +.. note:: + + make dcf as full feature pmd is dpdk22.07 feature, and only support E810 series nic. + Test Case 1: Add port based vlan on VF ======================================