Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/115761/?format=api
http://patches.dpdk.org/api/patches/115761/?format=api", "web_url": "http://patches.dpdk.org/project/dts/patch/20220902101855.27214-3-zhiminx.huang@intel.com/", "project": { "id": 3, "url": "http://patches.dpdk.org/api/projects/3/?format=api", "name": "DTS", "link_name": "dts", "list_id": "dts.dpdk.org", "list_email": "dts@dpdk.org", "web_url": "", "scm_url": "git://dpdk.org/tools/dts", "webscm_url": "http://git.dpdk.org/tools/dts/", "list_archive_url": "https://inbox.dpdk.org/dts", "list_archive_url_format": "https://inbox.dpdk.org/dts/{}", "commit_url_format": "" }, "msgid": "<20220902101855.27214-3-zhiminx.huang@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dts/20220902101855.27214-3-zhiminx.huang@intel.com", "date": "2022-09-02T10:18:55", "name": "[V3,3/3] tests/*:add 22.07 new feature, support in dcf mode", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "e7c48f6793c5becd415d219ee69c6ee90fa71510", "submitter": { "id": 1685, "url": "http://patches.dpdk.org/api/people/1685/?format=api", "name": "Huang, ZhiminX", "email": "zhiminx.huang@intel.com" }, "delegate": null, "mbox": "http://patches.dpdk.org/project/dts/patch/20220902101855.27214-3-zhiminx.huang@intel.com/mbox/", "series": [ { "id": 24511, "url": "http://patches.dpdk.org/api/series/24511/?format=api", "web_url": "http://patches.dpdk.org/project/dts/list/?series=24511", "date": "2022-09-02T10:18:53", "name": "[V3,1/3] framework/*:add config dcf mode in execution file", "version": 3, "mbox": "http://patches.dpdk.org/series/24511/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/115761/comments/", "check": "fail", "checks": "http://patches.dpdk.org/api/patches/115761/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dts-bounces@dpdk.org>", "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])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 0C8DAA0544;\n\tFri, 2 Sep 2022 04:03:43 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id EFDBA40693;\n\tFri, 2 Sep 2022 04:03:42 +0200 (CEST)", "from mga05.intel.com (mga05.intel.com [192.55.52.43])\n by mails.dpdk.org (Postfix) with ESMTP id 754A940684\n for <dts@dpdk.org>; Fri, 2 Sep 2022 04:03:41 +0200 (CEST)", "from fmsmga005.fm.intel.com ([10.253.24.32])\n by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 01 Sep 2022 19:03:40 -0700", "from unknown (HELO cvl_100g_103.icx.intel.com) ([10.239.252.93])\n by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 01 Sep 2022 19:03:39 -0700" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1662084221; x=1693620221;\n h=from:to:cc:subject:date:message-id:in-reply-to: references;\n bh=GldxCyMBkmO1FBBfjRS1ZDOFPkzBSK3LQevplPEWeXE=;\n b=UKrozKXGho05fszMmhUd9G4REUlgQLcv8OOKbRFN7s6ZsWm1wYB692bc\n zd8PL7JUfQ3efMc3n9UPkP7gcFp/M/kaYgtX8o0tE+75B9YTb7m8vTJIS\n 4CMO0F3IcUfewELXZUyslpa+h+1ffCP7NXsJsRLRQso9KOpBHxvhaMyZD\n PjUyNZb+XcCPTKSvyBYahaRN/0bJodVEog1vt1wm1uPtPP7KrKLVZqegM\n eXO8PT9meaXipj4K1otZEYSNt0UxcBMUiDN8wclqAt5Cpo7P8PgBVhBDX\n Ubw/TxYN5if4Pi2/y5HbBzvQgZFTKzn1A847beOU9HJo1wxyDfFDAQpti Q==;", "X-IronPort-AV": [ "E=McAfee;i=\"6500,9779,10457\"; a=\"382171952\"", "E=Sophos;i=\"5.93,281,1654585200\"; d=\"scan'208\";a=\"382171952\"", "E=Sophos;i=\"5.93,281,1654585200\"; d=\"scan'208\";a=\"941105722\"" ], "From": "Zhimin Huang <zhiminx.huang@intel.com>", "To": "dts@dpdk.org", "Cc": "Zhimin Huang <zhiminx.huang@intel.com>", "Subject": "[dts][PATCH V3 3/3] tests/*:add 22.07 new feature,\n support in dcf mode", "Date": "Fri, 2 Sep 2022 18:18:55 +0800", "Message-Id": "<20220902101855.27214-3-zhiminx.huang@intel.com>", "X-Mailer": "git-send-email 2.17.1", "In-Reply-To": "<20220902101855.27214-1-zhiminx.huang@intel.com>", "References": "<20220902101855.27214-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 <dts.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dts>,\n <mailto:dts-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dts/>", "List-Post": "<mailto:dts@dpdk.org>", "List-Help": "<mailto:dts-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dts>,\n <mailto:dts-request@dpdk.org?subject=subscribe>", "Errors-To": "dts-bounces@dpdk.org" }, "content": "modify test case code to support dcf.\n\nSigned-off-by: Zhimin Huang <zhiminx.huang@intel.com>\n---\n tests/TestSuite_kernelpf_iavf.py | 146 +++++++++++++++++++++++++++----\n tests/TestSuite_vf_macfilter.py | 34 ++++++-\n tests/TestSuite_vf_offload.py | 84 ++++++++++++++----\n tests/TestSuite_vf_rss.py | 44 +++++++---\n tests/TestSuite_vf_smoke.py | 18 +++-\n tests/TestSuite_vf_vlan.py | 75 ++++++++++++++--\n 6 files changed, 347 insertions(+), 54 deletions(-)", "diff": "diff --git a/tests/TestSuite_kernelpf_iavf.py b/tests/TestSuite_kernelpf_iavf.py\nindex a6d4d016..190f9fa5 100644\n--- a/tests/TestSuite_kernelpf_iavf.py\n+++ b/tests/TestSuite_kernelpf_iavf.py\n@@ -16,7 +16,7 @@ import time\n import framework.utils as utils\n from framework.packet import Packet\n from framework.pmd_output import PmdOutput\n-from framework.settings import HEADER_SIZE\n+from framework.settings import DPDK_DCFMODE_SETTING, load_global_setting\n from framework.test_case import TestCase\n from framework.utils import RED\n from framework.virt_common import VM\n@@ -74,6 +74,7 @@ class TestKernelpfIavf(TestCase):\n # get priv-flags default stats\n self.flag = \"vf-vlan-pruning\"\n self.default_stats = self.dut.get_priv_flags_state(self.host_intf, self.flag)\n+ self.dcf_mode = load_global_setting(DPDK_DCFMODE_SETTING)\n \n def set_up(self):\n \n@@ -85,6 +86,10 @@ class TestKernelpfIavf(TestCase):\n self.destroy_vm_env()\n elif self.env_done is False:\n self.setup_vm_env()\n+ if self.dcf_mode:\n+ self.dut.send_expect(\n+ \"ip link set %s vf 0 trust on\" % (self.host_intf), \"# \"\n+ )\n \n def setup_vm_env(self, driver=\"default\", set_vf_mac=True):\n \"\"\"\n@@ -145,6 +150,7 @@ class TestKernelpfIavf(TestCase):\n raise Exception(\"Set up VM ENV failed!\")\n \n self.vm_testpmd = PmdOutput(self.vm_dut)\n+ self.vf_guest_pci = self.vm.pci_maps[0][\"guestpci\"]\n except Exception as e:\n self.destroy_vm_env()\n raise Exception(e)\n@@ -199,7 +205,14 @@ class TestKernelpfIavf(TestCase):\n \"\"\"\n Set rxonly forward,Send 100 random packets from tester, check packets can be received\n \"\"\"\n- self.vm_testpmd.start_testpmd(\"all\")\n+ if self.dcf_mode == \"enable\":\n+ self.vm_testpmd.start_testpmd(\n+ \"all\",\n+ ports=[self.vf_guest_pci],\n+ port_options={self.vf_guest_pci: \"cap=dcf\"},\n+ )\n+ else:\n+ self.vm_testpmd.start_testpmd(\"all\")\n self.vm_testpmd.execute_cmd(\"set fwd rxonly\")\n self.vm_testpmd.execute_cmd(\"set verbose 1\")\n self.vm_testpmd.execute_cmd(\"start\")\n@@ -234,7 +247,14 @@ class TestKernelpfIavf(TestCase):\n Not set VF MAC from kernel PF for this case, if set, will print\n \"not permitted error\" when add new MAC for VF.\n \"\"\"\n- out = self.vm_testpmd.start_testpmd(\"all\")\n+ if self.dcf_mode == \"enable\":\n+ out = self.vm_testpmd.start_testpmd(\n+ \"all\",\n+ ports=[self.vf_guest_pci],\n+ port_options={self.vf_guest_pci: \"cap=dcf\"},\n+ )\n+ else:\n+ out = self.vm_testpmd.start_testpmd(\"all\")\n self.testpmd_mac = self.get_testpmd_vf_mac(out)\n self.vm_testpmd.execute_cmd(\"set fwd mac\")\n self.vm_testpmd.execute_cmd(\"set promisc all off\")\n@@ -282,7 +302,14 @@ class TestKernelpfIavf(TestCase):\n Enable kernel trust mode\n \"\"\"\n self.dut.send_expect(\"ip link set dev %s vf 0 trust on\" % self.host_intf, \"# \")\n- self.vm_testpmd.start_testpmd(\"all\")\n+ if self.dcf_mode == \"enable\":\n+ self.vm_testpmd.start_testpmd(\n+ \"all\",\n+ ports=[self.vf_guest_pci],\n+ port_options={self.vf_guest_pci: \"cap=dcf\"},\n+ )\n+ else:\n+ self.vm_testpmd.start_testpmd(\"all\")\n self.vm_testpmd.execute_cmd(\"set fwd mac\")\n self.vm_testpmd.execute_cmd(\"set verbose 1\")\n self.vm_testpmd.execute_cmd(\"start\")\n@@ -321,7 +348,14 @@ class TestKernelpfIavf(TestCase):\n \"\"\"\n multicast_mac = \"01:80:C2:00:00:08\"\n self.dut.send_expect(\"ip link set dev %s vf 0 trust on\" % self.host_intf, \"# \")\n- self.vm_testpmd.start_testpmd(\"all\")\n+ if self.dcf_mode == \"enable\":\n+ self.vm_testpmd.start_testpmd(\n+ \"all\",\n+ ports=[self.vf_guest_pci],\n+ port_options={self.vf_guest_pci: \"cap=dcf\"},\n+ )\n+ else:\n+ self.vm_testpmd.start_testpmd(\"all\")\n self.vm_testpmd.execute_cmd(\"set fwd mac\")\n self.vm_testpmd.execute_cmd(\"set promisc all off\")\n self.vm_testpmd.execute_cmd(\"set allmulti all off\")\n@@ -345,7 +379,14 @@ class TestKernelpfIavf(TestCase):\n def test_vf_broadcast(self):\n \"\"\" \"\"\"\n broadcast_mac = \"ff:ff:ff:ff:ff:ff\"\n- self.vm_testpmd.start_testpmd(\"all\")\n+ if self.dcf_mode == \"enable\":\n+ self.vm_testpmd.start_testpmd(\n+ \"all\",\n+ ports=[self.vf_guest_pci],\n+ port_options={self.vf_guest_pci: \"cap=dcf\"},\n+ )\n+ else:\n+ self.vm_testpmd.start_testpmd(\"all\")\n self.vm_testpmd.execute_cmd(\"set fwd mac\")\n self.vm_testpmd.execute_cmd(\"set promisc all off\")\n self.vm_testpmd.execute_cmd(\"set verbose 1\")\n@@ -375,7 +416,14 @@ class TestKernelpfIavf(TestCase):\n return out\n \n def test_vf_vlan_insertion(self):\n- self.vm_testpmd.start_testpmd(\"all\")\n+ if self.dcf_mode == \"enable\":\n+ self.vm_testpmd.start_testpmd(\n+ \"all\",\n+ ports=[self.vf_guest_pci],\n+ port_options={self.vf_guest_pci: \"cap=dcf\"},\n+ )\n+ else:\n+ self.vm_testpmd.start_testpmd(\"all\")\n random_vlan = random.randint(1, MAX_VLAN)\n self.vm_testpmd.execute_cmd(\"vlan set strip off 0\")\n self.vm_testpmd.execute_cmd(\"port stop all\")\n@@ -396,7 +444,14 @@ class TestKernelpfIavf(TestCase):\n \n def test_vf_vlan_strip(self):\n random_vlan = random.randint(1, MAX_VLAN)\n- self.vm_testpmd.start_testpmd(\"all\")\n+ if self.dcf_mode == \"enable\":\n+ self.vm_testpmd.start_testpmd(\n+ \"all\",\n+ ports=[self.vf_guest_pci],\n+ port_options={self.vf_guest_pci: \"cap=dcf\"},\n+ )\n+ else:\n+ self.vm_testpmd.start_testpmd(\"all\")\n self.vm_testpmd.execute_cmd(\"port stop all\")\n self.vm_testpmd.execute_cmd(\"vlan set filter on 0\")\n self.vm_testpmd.execute_cmd(\"rx_vlan add %s 0\" % random_vlan)\n@@ -432,7 +487,14 @@ class TestKernelpfIavf(TestCase):\n \n def test_vf_vlan_filter(self):\n random_vlan = random.randint(2, MAX_VLAN)\n- self.vm_testpmd.start_testpmd(\"all\")\n+ if self.dcf_mode == \"enable\":\n+ self.vm_testpmd.start_testpmd(\n+ \"all\",\n+ ports=[self.vf_guest_pci],\n+ port_options={self.vf_guest_pci: \"cap=dcf\"},\n+ )\n+ else:\n+ self.vm_testpmd.start_testpmd(\"all\")\n self.vm_testpmd.execute_cmd(\"port stop all\")\n self.vm_testpmd.execute_cmd(\"set promisc all off\")\n self.vm_testpmd.execute_cmd(\"vlan set filter on 0\")\n@@ -473,7 +535,15 @@ class TestKernelpfIavf(TestCase):\n \n def test_vf_rss(self):\n rss_type = [\"ip\", \"tcp\", \"udp\"]\n- self.vm_testpmd.start_testpmd(\"all\", \"--txq=4 --rxq=4\")\n+ if self.dcf_mode == \"enable\":\n+ self.vm_testpmd.start_testpmd(\n+ \"all\",\n+ \"--txq=4 --rxq=4\",\n+ ports=[self.vf_guest_pci],\n+ port_options={self.vf_guest_pci: \"cap=dcf\"},\n+ )\n+ else:\n+ self.vm_testpmd.start_testpmd(\"all\", \"--txq=4 --rxq=4\")\n self.vm_testpmd.execute_cmd(\"set fwd mac\")\n self.vm_testpmd.execute_cmd(\"set verbose 1\")\n default_rss_reta = self.vm_testpmd.execute_cmd(\n@@ -496,7 +566,15 @@ class TestKernelpfIavf(TestCase):\n \n def test_vf_rss_hash_key(self):\n update_hash_key = \"1b9d58a4b961d9cd1c56ad1621c3ad51632c16a5d16c21c3513d132c135d132c13ad1531c23a51d6ac49879c499d798a7d949c8a\"\n- self.vm_testpmd.start_testpmd(\"all\", \"--txq=4 --rxq=4\")\n+ if self.dcf_mode == \"enable\":\n+ self.vm_testpmd.start_testpmd(\n+ \"all\",\n+ \"--txq=4 --rxq=4\",\n+ ports=[self.vf_guest_pci],\n+ port_options={self.vf_guest_pci: \"cap=dcf\"},\n+ )\n+ else:\n+ self.vm_testpmd.start_testpmd(\"all\", \"--txq=4 --rxq=4\")\n self.vm_testpmd.execute_cmd(\"show port 0 rss-hash key\")\n self.vm_testpmd.execute_cmd(\"set fwd rxonly\")\n self.vm_testpmd.execute_cmd(\"set verbose 1\")\n@@ -681,7 +759,14 @@ class TestKernelpfIavf(TestCase):\n self.tester.send_expect(\"^C\", \"#\")\n \n def test_vf_port_start_stop(self):\n- self.vm_testpmd.start_testpmd(\"all\")\n+ if self.dcf_mode == \"enable\":\n+ self.vm_testpmd.start_testpmd(\n+ \"all\",\n+ ports=[self.vf_guest_pci],\n+ port_options={self.vf_guest_pci: \"cap=dcf\"},\n+ )\n+ else:\n+ self.vm_testpmd.start_testpmd(\"all\")\n for i in range(10):\n self.vm_testpmd.execute_cmd(\"port stop all\")\n self.vm_testpmd.execute_cmd(\"port start all\")\n@@ -700,7 +785,14 @@ class TestKernelpfIavf(TestCase):\n self.verify(vf0_tx_cnt == 100, \"no packet was fwd by vm0_VF0\")\n \n def test_vf_statistic_reset(self):\n- self.vm_testpmd.start_testpmd(\"all\")\n+ if self.dcf_mode == \"enable\":\n+ self.vm_testpmd.start_testpmd(\n+ \"all\",\n+ ports=[self.vf_guest_pci],\n+ port_options={self.vf_guest_pci: \"cap=dcf\"},\n+ )\n+ else:\n+ self.vm_testpmd.start_testpmd(\"all\")\n self.vm_testpmd.execute_cmd(\"set fwd mac\")\n self.vm_testpmd.execute_cmd(\"set verbose 1\")\n self.vm_testpmd.execute_cmd(\"start\")\n@@ -722,7 +814,14 @@ class TestKernelpfIavf(TestCase):\n )\n \n def test_vf_information(self):\n- self.vm_testpmd.start_testpmd(\"all\")\n+ if self.dcf_mode == \"enable\":\n+ self.vm_testpmd.start_testpmd(\n+ \"all\",\n+ ports=[self.vf_guest_pci],\n+ port_options={self.vf_guest_pci: \"cap=dcf\"},\n+ )\n+ else:\n+ self.vm_testpmd.start_testpmd(\"all\")\n out = self.vm_testpmd.execute_cmd(\"show port info 0\")\n self.verify(\"Link status: up\" in out, \"link stats has error\")\n self.verify(\"Link speed: %s\" % self.speed in out, \"link speed has error\")\n@@ -791,7 +890,14 @@ class TestKernelpfIavf(TestCase):\n )\n \n def test_vf_unicast(self):\n- self.vm_testpmd.start_testpmd(\"all\")\n+ if self.dcf_mode == \"enable\":\n+ self.vm_testpmd.start_testpmd(\n+ \"all\",\n+ ports=[self.vf_guest_pci],\n+ port_options={self.vf_guest_pci: \"cap=dcf\"},\n+ )\n+ else:\n+ self.vm_testpmd.start_testpmd(\"all\")\n self.vm_testpmd.execute_cmd(\"set verbose 1\")\n self.vm_testpmd.execute_cmd(\"set fwd mac\")\n self.vm_testpmd.execute_cmd(\"set promisc all off\")\n@@ -809,7 +915,14 @@ class TestKernelpfIavf(TestCase):\n self.verify(packets == 10, \"Not receive expected packet\")\n \n def test_vf_vlan_promisc(self):\n- self.vm_testpmd.start_testpmd(\"all\")\n+ if self.dcf_mode == \"enable\":\n+ self.vm_testpmd.start_testpmd(\n+ \"all\",\n+ ports=[self.vf_guest_pci],\n+ port_options={self.vf_guest_pci: \"cap=dcf\"},\n+ )\n+ else:\n+ self.vm_testpmd.start_testpmd(\"all\")\n self.vm_testpmd.execute_cmd(\"port stop all\")\n self.vm_testpmd.execute_cmd(\"set promisc all on\")\n self.vm_testpmd.execute_cmd(\"set fwd mac\")\n@@ -827,6 +940,7 @@ class TestKernelpfIavf(TestCase):\n (self.kdriver == \"i40e\" and self.driver_version < \"2.13.10\")\n or (self.kdriver == \"i40e\" and not self.default_stats)\n or (self.kdriver == \"ice\" and not self.default_stats)\n+ or self.dcf_mode\n ):\n self.verify(packets == 10, \"Not receive expected packet\")\n else:\ndiff --git a/tests/TestSuite_vf_macfilter.py b/tests/TestSuite_vf_macfilter.py\nindex c2007999..e6b3131e 100644\n--- a/tests/TestSuite_vf_macfilter.py\n+++ b/tests/TestSuite_vf_macfilter.py\n@@ -6,6 +6,7 @@ import re\n import time\n \n from framework.pmd_output import PmdOutput\n+from framework.settings import DPDK_DCFMODE_SETTING, load_global_setting\n from framework.test_case import TestCase\n from framework.virt_common import VM\n \n@@ -34,6 +35,7 @@ class TestVfMacFilter(TestCase):\n else:\n self.vf_assign_method = \"vfio-pci\"\n self.dut.send_expect(\"modprobe vfio-pci\", \"#\")\n+ self.dcf_mode = load_global_setting(DPDK_DCFMODE_SETTING)\n \n def set_up(self):\n \n@@ -50,10 +52,15 @@ class TestVfMacFilter(TestCase):\n self.dut.send_expect(\n \"ip link set %s vf 0 mac %s\" % (pf_intf0, self.pf0_vf0_mac), \"#\"\n )\n+ if self.dcf_mode == \"enable\":\n+ self.dut.send_expect(\"ip link set %s vf 0 trust on\" % (pf_intf0), \"# \")\n \n self.used_dut_port_1 = self.dut_ports[1]\n self.dut.generate_sriov_vfs_by_port(self.used_dut_port_1, 1, driver=driver)\n self.sriov_vfs_port_1 = self.dut.ports_info[self.used_dut_port_1][\"vfs_port\"]\n+ pf_intf1 = self.dut.ports_info[1][\"port\"].get_interface_name()\n+ if self.dcf_mode == \"enable\":\n+ self.dut.send_expect(\"ip link set %s vf 0 trust on\" % (pf_intf1), \"# \")\n \n try:\n \n@@ -89,6 +96,9 @@ class TestVfMacFilter(TestCase):\n raise Exception(\"Set up VM0 ENV failed!\")\n \n self.setup_2pf_2vf_1vm_env_flag = 1\n+ self.vf0_guest_pci = self.vm0.pci_maps[0][\"guestpci\"]\n+ self.vf1_guest_pci = self.vm0.pci_maps[1][\"guestpci\"]\n+\n except Exception as e:\n self.destroy_2pf_2vf_1vm_env()\n raise Exception(e)\n@@ -145,7 +155,17 @@ class TestVfMacFilter(TestCase):\n self.host_testpmd.execute_cmd(\"set vf mac addr 0 0 %s\" % self.pf0_vf0_mac)\n self.vm0_dut_ports = self.vm_dut_0.get_ports(\"any\")\n self.vm0_testpmd = PmdOutput(self.vm_dut_0)\n- self.vm0_testpmd.start_testpmd(VM_CORES_MASK)\n+ if self.dcf_mode == \"enable\":\n+ self.vm0_testpmd.start_testpmd(\n+ VM_CORES_MASK,\n+ ports=[self.vf0_guest_pci, self.vf1_guest_pci],\n+ port_options={\n+ self.vf0_guest_pci: \"cap=dcf\",\n+ self.vf1_guest_pci: \"cap=dcf\",\n+ },\n+ )\n+ else:\n+ self.vm0_testpmd.start_testpmd(VM_CORES_MASK)\n # Get VF's MAC\n pmd_vf0_mac = self.vm0_testpmd.get_port_mac(0)\n self.vm0_testpmd.execute_cmd(\"set promisc all off\")\n@@ -242,7 +262,17 @@ class TestVfMacFilter(TestCase):\n def send_packet_and_verify(self):\n self.vm0_dut_ports = self.vm_dut_0.get_ports(\"any\")\n self.vm0_testpmd = PmdOutput(self.vm_dut_0)\n- self.vm0_testpmd.start_testpmd(VM_CORES_MASK)\n+ if self.dcf_mode == \"enable\":\n+ self.vm0_testpmd.start_testpmd(\n+ VM_CORES_MASK,\n+ ports=[self.vf0_guest_pci, self.vf1_guest_pci],\n+ port_options={\n+ self.vf0_guest_pci: \"cap=dcf\",\n+ self.vf1_guest_pci: \"cap=dcf\",\n+ },\n+ )\n+ else:\n+ self.vm0_testpmd.start_testpmd(VM_CORES_MASK)\n \n # Get VF0 port MAC address\n pmd_vf0_mac = self.vm0_testpmd.get_port_mac(0)\ndiff --git a/tests/TestSuite_vf_offload.py b/tests/TestSuite_vf_offload.py\nindex 4dd05cac..b6e96018 100644\n--- a/tests/TestSuite_vf_offload.py\n+++ b/tests/TestSuite_vf_offload.py\n@@ -9,7 +9,7 @@ import time\n import framework.utils as utils\n from framework.crb import Crb\n from framework.pmd_output import PmdOutput\n-from framework.settings import HEADER_SIZE\n+from framework.settings import DPDK_DCFMODE_SETTING, HEADER_SIZE, load_global_setting\n from framework.test_case import TestCase\n from framework.utils import GREEN, RED\n from framework.virt_common import VM\n@@ -39,6 +39,7 @@ class TestVfOffload(TestCase):\n else:\n self.vf_assign_method = \"vfio-pci\"\n self.dut.send_expect(\"modprobe vfio-pci\", \"#\")\n+ self.dcf_mode = load_global_setting(DPDK_DCFMODE_SETTING)\n \n self.setup_2pf_2vf_1vm_env_flag = 0\n self.setup_2pf_2vf_1vm_env(driver=\"\")\n@@ -67,6 +68,11 @@ class TestVfOffload(TestCase):\n self.used_dut_port_1 = self.dut_ports[1]\n self.dut.generate_sriov_vfs_by_port(self.used_dut_port_1, 1, driver=driver)\n self.sriov_vfs_port_1 = self.dut.ports_info[self.used_dut_port_1][\"vfs_port\"]\n+ pf_intf0 = self.dut.ports_info[0][\"port\"].get_interface_name()\n+ pf_intf1 = self.dut.ports_info[1][\"port\"].get_interface_name()\n+ if self.dcf_mode == \"enable\":\n+ self.dut.send_expect(\"ip link set %s vf 0 trust on\" % (pf_intf0), \"# \")\n+ self.dut.send_expect(\"ip link set %s vf 0 trust on\" % (pf_intf1), \"# \")\n \n try:\n \n@@ -92,6 +98,8 @@ class TestVfOffload(TestCase):\n self.vm_dut_0 = self.vm0.start()\n if self.vm_dut_0 is None:\n raise Exception(\"Set up VM0 ENV failed!\")\n+ self.vf0_guest_pci = self.vm0.pci_maps[0][\"guestpci\"]\n+ self.vf1_guest_pci = self.vm0.pci_maps[1][\"guestpci\"]\n \n self.setup_2pf_2vf_1vm_env_flag = 1\n except Exception as e:\n@@ -249,13 +257,27 @@ class TestVfOffload(TestCase):\n can rx it and report the checksum error,\n verify forwarded packets have correct checksum.\n \"\"\"\n- self.vm0_testpmd.start_testpmd(\n- VM_CORES_MASK,\n- \"--portmask=%s \" % (self.portMask)\n- + \"--enable-rx-cksum \"\n- + \"\"\n- + \"--port-topology=loop\",\n- )\n+ if self.dcf_mode == \"enable\":\n+ self.vm0_testpmd.start_testpmd(\n+ VM_CORES_MASK,\n+ \"--portmask=%s \" % (self.portMask)\n+ + \"--enable-rx-cksum \"\n+ + \"\"\n+ + \"--port-topology=loop\",\n+ ports=[self.vf0_guest_pci, self.vf1_guest_pci],\n+ port_options={\n+ self.vf0_guest_pci: \"cap=dcf\",\n+ self.vf1_guest_pci: \"cap=dcf\",\n+ },\n+ )\n+ else:\n+ self.vm0_testpmd.start_testpmd(\n+ VM_CORES_MASK,\n+ \"--portmask=%s \" % (self.portMask)\n+ + \"--enable-rx-cksum \"\n+ + \"\"\n+ + \"--port-topology=loop\",\n+ )\n self.vm0_testpmd.execute_cmd(\"set fwd csum\")\n \n time.sleep(2)\n@@ -312,12 +334,27 @@ class TestVfOffload(TestCase):\n Send same packet with incorrect checksum and verify checksum is valid.\n \"\"\"\n \n- self.vm0_testpmd.start_testpmd(\n- VM_CORES_MASK,\n- \"--portmask=%s \" % (self.portMask)\n- + \"--enable-rx-cksum \"\n- + \"--port-topology=loop\",\n- )\n+ if self.dcf_mode == \"enable\":\n+ self.vm0_testpmd.start_testpmd(\n+ VM_CORES_MASK,\n+ \"--portmask=%s \" % (self.portMask)\n+ + \"--enable-rx-cksum \"\n+ + \"\"\n+ + \"--port-topology=loop\",\n+ ports=[self.vf0_guest_pci, self.vf1_guest_pci],\n+ port_options={\n+ self.vf0_guest_pci: \"cap=dcf\",\n+ self.vf1_guest_pci: \"cap=dcf\",\n+ },\n+ )\n+ else:\n+ self.vm0_testpmd.start_testpmd(\n+ VM_CORES_MASK,\n+ \"--portmask=%s \" % (self.portMask)\n+ + \"--enable-rx-cksum \"\n+ + \"\"\n+ + \"--port-topology=loop\",\n+ )\n self.vm0_testpmd.execute_cmd(\"set fwd csum\")\n \n time.sleep(2)\n@@ -451,10 +488,21 @@ class TestVfOffload(TestCase):\n )\n \n self.portMask = utils.create_mask([self.vm0_dut_ports[0]])\n- self.vm0_testpmd.start_testpmd(\n- VM_CORES_MASK,\n- \"--portmask=0x3 \" + \"--enable-rx-cksum \" + \"--max-pkt-len=%s\" % TSO_MTU,\n- )\n+ if self.dcf_mode == \"enable\":\n+ self.vm0_testpmd.start_testpmd(\n+ VM_CORES_MASK,\n+ \"--portmask=0x3 \" + \"--enable-rx-cksum \" + \"--max-pkt-len=%s\" % TSO_MTU,\n+ ports=[self.vf0_guest_pci, self.vf1_guest_pci],\n+ port_options={\n+ self.vf0_guest_pci: \"cap=dcf\",\n+ self.vf1_guest_pci: \"cap=dcf\",\n+ },\n+ )\n+ else:\n+ self.vm0_testpmd.start_testpmd(\n+ VM_CORES_MASK,\n+ \"--portmask=0x3 \" + \"--enable-rx-cksum \" + \"--max-pkt-len=%s\" % TSO_MTU,\n+ )\n \n mac = self.vm0_testpmd.get_port_mac(0)\n \ndiff --git a/tests/TestSuite_vf_rss.py b/tests/TestSuite_vf_rss.py\nindex 3c97e1fe..b6359987 100644\n--- a/tests/TestSuite_vf_rss.py\n+++ b/tests/TestSuite_vf_rss.py\n@@ -15,6 +15,7 @@ reta_entries = []\n reta_lines = []\n \n from framework.pmd_output import PmdOutput\n+from framework.settings import DPDK_DCFMODE_SETTING, load_global_setting\n \n # Use scapy to send packets with different source and dest ip.\n # and collect the hash result of five tuple and the queue id.\n@@ -289,6 +290,7 @@ class TestVfRss(TestCase):\n self.vm0 = None\n self.host_testpmd = None\n self.setup_1pf_1vf_1vm_env_flag = 0\n+ self.dcf_mode = load_global_setting(DPDK_DCFMODE_SETTING)\n self.setup_1pf_1vf_1vm_env(driver=\"\")\n \n def set_up(self):\n@@ -302,6 +304,9 @@ class TestVfRss(TestCase):\n self.used_dut_port_0 = self.dut_ports[0]\n self.dut.generate_sriov_vfs_by_port(self.used_dut_port_0, 1, driver=driver)\n self.sriov_vfs_port_0 = self.dut.ports_info[self.used_dut_port_0][\"vfs_port\"]\n+ pf_intf0 = self.dut.ports_info[0][\"port\"].get_interface_name()\n+ if self.dcf_mode == \"enable\":\n+ self.dut.send_expect(\"ip link set %s vf 0 trust on\" % (pf_intf0), \"# \")\n \n try:\n for port in self.sriov_vfs_port_0:\n@@ -322,6 +327,7 @@ class TestVfRss(TestCase):\n self.vm_dut_0 = self.vm0.start()\n if self.vm_dut_0 is None:\n raise Exception(\"Set up VM0 ENV failed!\")\n+ self.vf0_guest_pci = self.vm0.pci_maps[0][\"guestpci\"]\n \n self.vm0_testpmd = PmdOutput(self.vm_dut_0)\n \n@@ -381,11 +387,20 @@ class TestVfRss(TestCase):\n eal_param = \"\"\n for queue in testQueues:\n \n- self.vm0_testpmd.start_testpmd(\n- \"all\",\n- \"--rxq=%d --txq=%d %s\" % (queue, queue, eal_param),\n- socket=self.vm0_ports_socket,\n- )\n+ if self.dcf_mode == \"enable\":\n+ self.vm0_testpmd.start_testpmd(\n+ \"all\",\n+ \"--rxq=%d --txq=%d %s\" % (queue, queue, eal_param),\n+ ports=[self.vf0_guest_pci],\n+ port_options={self.vf0_guest_pci: \"cap=dcf\"},\n+ socket=self.vm0_ports_socket,\n+ )\n+ else:\n+ self.vm0_testpmd.start_testpmd(\n+ \"all\",\n+ \"--rxq=%d --txq=%d %s\" % (queue, queue, eal_param),\n+ socket=self.vm0_ports_socket,\n+ )\n \n for iptype, rss_type in list(iptypes.items()):\n self.vm_dut_0.send_expect(\"set verbose 8\", \"testpmd> \")\n@@ -453,11 +468,20 @@ class TestVfRss(TestCase):\n # test with different rss queues\n for queue in testQueues:\n \n- self.vm0_testpmd.start_testpmd(\n- \"all\",\n- \"--rxq=%d --txq=%d %s\" % (queue, queue, eal_param),\n- socket=self.vm0_ports_socket,\n- )\n+ if self.dcf_mode == \"enable\":\n+ self.vm0_testpmd.start_testpmd(\n+ \"all\",\n+ \"--rxq=%d --txq=%d %s\" % (queue, queue, eal_param),\n+ ports=[self.vf0_guest_pci],\n+ port_options={self.vf0_guest_pci: \"cap=dcf\"},\n+ socket=self.vm0_ports_socket,\n+ )\n+ else:\n+ self.vm0_testpmd.start_testpmd(\n+ \"all\",\n+ \"--rxq=%d --txq=%d %s\" % (queue, queue, eal_param),\n+ socket=self.vm0_ports_socket,\n+ )\n \n for iptype, rsstype in list(iptypes.items()):\n self.vm_dut_0.send_expect(\"set verbose 8\", \"testpmd> \")\ndiff --git a/tests/TestSuite_vf_smoke.py b/tests/TestSuite_vf_smoke.py\nindex b19160c6..9faba9dd 100644\n--- a/tests/TestSuite_vf_smoke.py\n+++ b/tests/TestSuite_vf_smoke.py\n@@ -4,6 +4,7 @@\n \n from framework.packet import Packet\n from framework.pmd_output import PmdOutput\n+from framework.settings import DPDK_DCFMODE_SETTING, load_global_setting\n from framework.test_case import TestCase\n \n from .smoke_base import (\n@@ -60,11 +61,16 @@ class TestVfSmoke(TestCase):\n self.vf0_prop = {\"opt_host\": self.vf_ports[0].pci}\n self.dut.send_expect(\"ifconfig %s up\" % self.pf_interface, \"# \")\n self.tester.send_expect(\"ifconfig %s up\" % self.smoke_tester_nic, \"# \")\n+ self.dcf_mode = load_global_setting(DPDK_DCFMODE_SETTING)\n \n # set vf mac address\n self.dut.send_expect(\n \"ip link set %s vf 0 mac %s\" % (self.pf_interface, self.smoke_dut_mac), \"# \"\n )\n+ if self.dcf_mode == \"enable\":\n+ self.dut.send_expect(\n+ \"ip link set %s vf 0 trust on\" % (self.pf_interface), \"# \"\n+ )\n \n # set default app parameter\n if self.vf0_prop is not None:\n@@ -100,7 +106,17 @@ class TestVfSmoke(TestCase):\n self.vf_launch_dpdk_app()\n \n def vf_launch_dpdk_app(self):\n- self.pmd_out.start_testpmd(cores=self.cores, ports=self.ports, param=self.param)\n+ if self.dcf_mode == \"enable\":\n+ self.pmd_out.start_testpmd(\n+ cores=self.cores,\n+ ports=self.ports,\n+ port_options={port: \"cap=dcf\" for port in self.ports},\n+ param=self.param,\n+ )\n+ else:\n+ self.pmd_out.start_testpmd(\n+ cores=self.cores, ports=self.ports, param=self.param\n+ )\n \n # set default param\n self.dut.send_expect(\"set promisc all off\", \"testpmd> \")\ndiff --git a/tests/TestSuite_vf_vlan.py b/tests/TestSuite_vf_vlan.py\nindex c4904c55..e160b737 100644\n--- a/tests/TestSuite_vf_vlan.py\n+++ b/tests/TestSuite_vf_vlan.py\n@@ -9,7 +9,7 @@ import time\n import framework.utils as utils\n from framework.packet import Packet\n from framework.pmd_output import PmdOutput\n-from framework.settings import get_nic_name\n+from framework.settings import DPDK_DCFMODE_SETTING, get_nic_name, load_global_setting\n from framework.test_case import TestCase\n from framework.virt_common import VM\n \n@@ -48,6 +48,7 @@ class TestVfVlan(TestCase):\n # get priv-flags default stats\n self.flag = \"vf-vlan-pruning\"\n self.default_stats = self.dut.get_priv_flags_state(self.host_intf0, self.flag)\n+ self.dcf_mode = load_global_setting(DPDK_DCFMODE_SETTING)\n \n def set_up(self):\n self.setup_vm_env()\n@@ -87,6 +88,10 @@ class TestVfVlan(TestCase):\n self.dut.send_expect(\n \"ip link set %s vf 0 mac %s\" % (self.host_intf0, self.vf0_mac), \"# \"\n )\n+ if self.dcf_mode == \"enable\":\n+ self.dut.send_expect(\n+ \"ip link set %s vf 0 trust on\" % (self.host_intf0), \"# \"\n+ )\n \n self.used_dut_port_1 = self.dut_ports[1]\n self.host_intf1 = self.dut.ports_info[self.used_dut_port_1][\"intf\"]\n@@ -103,6 +108,10 @@ class TestVfVlan(TestCase):\n self.dut.send_expect(\n \"ip link set %s vf 0 mac %s\" % (self.host_intf1, self.vf1_mac), \"# \"\n )\n+ if self.dcf_mode == \"enable\":\n+ self.dut.send_expect(\n+ \"ip link set %s vf 0 trust on\" % (self.host_intf1), \"# \"\n+ )\n \n try:\n \n@@ -123,6 +132,8 @@ class TestVfVlan(TestCase):\n self.vm_dut_0 = self.vm0.start()\n if self.vm_dut_0 is None:\n raise Exception(\"Set up VM0 ENV failed!\")\n+ self.vf0_guest_pci = self.vm0.pci_maps[0][\"guestpci\"]\n+ self.vf1_guest_pci = self.vm0.pci_maps[1][\"guestpci\"]\n \n except Exception as e:\n self.destroy_vm_env()\n@@ -170,7 +181,17 @@ class TestVfVlan(TestCase):\n self.vm0_dut_ports = self.vm_dut_0.get_ports(\"any\")\n \n self.vm0_testpmd = PmdOutput(self.vm_dut_0)\n- self.vm0_testpmd.start_testpmd(VM_CORES_MASK)\n+ if self.dcf_mode == \"enable\":\n+ self.vm0_testpmd.start_testpmd(\n+ VM_CORES_MASK,\n+ ports=[self.vf0_guest_pci, self.vf1_guest_pci],\n+ port_options={\n+ self.vf0_guest_pci: \"cap=dcf\",\n+ self.vf1_guest_pci: \"cap=dcf\",\n+ },\n+ )\n+ else:\n+ self.vm0_testpmd.start_testpmd(VM_CORES_MASK)\n self.vm0_testpmd.execute_cmd(\"set fwd mac\")\n self.vm0_testpmd.execute_cmd(\"start\")\n \n@@ -214,7 +235,17 @@ class TestVfVlan(TestCase):\n self.vm0_dut_ports = self.vm_dut_0.get_ports(\"any\")\n \n self.vm0_testpmd = PmdOutput(self.vm_dut_0)\n- self.vm0_testpmd.start_testpmd(VM_CORES_MASK)\n+ if self.dcf_mode == \"enable\":\n+ self.vm0_testpmd.start_testpmd(\n+ VM_CORES_MASK,\n+ ports=[self.vf0_guest_pci, self.vf1_guest_pci],\n+ port_options={\n+ self.vf0_guest_pci: \"cap=dcf\",\n+ self.vf1_guest_pci: \"cap=dcf\",\n+ },\n+ )\n+ else:\n+ self.vm0_testpmd.start_testpmd(VM_CORES_MASK)\n self.vm0_testpmd.execute_cmd(\"set fwd rxonly\")\n self.vm0_testpmd.execute_cmd(\"set verbose 1\")\n self.vm0_testpmd.execute_cmd(\"start\")\n@@ -248,6 +279,7 @@ class TestVfVlan(TestCase):\n (self.kdriver == \"i40e\" and self.driver_version < \"2.13.10\")\n or (self.kdriver == \"i40e\" and not self.default_stats)\n or (self.kdriver == \"ice\" and not self.default_stats)\n+ or self.dcf_mode == \"enable\"\n ):\n self.verify(\"received\" in out, \"Failed to received vlan packet!!!\")\n else:\n@@ -289,7 +321,17 @@ class TestVfVlan(TestCase):\n self.vm0_dut_ports = self.vm_dut_0.get_ports(\"any\")\n \n self.vm0_testpmd = PmdOutput(self.vm_dut_0)\n- self.vm0_testpmd.start_testpmd(VM_CORES_MASK)\n+ if self.dcf_mode == \"enable\":\n+ self.vm0_testpmd.start_testpmd(\n+ VM_CORES_MASK,\n+ ports=[self.vf0_guest_pci, self.vf1_guest_pci],\n+ port_options={\n+ self.vf0_guest_pci: \"cap=dcf\",\n+ self.vf1_guest_pci: \"cap=dcf\",\n+ },\n+ )\n+ else:\n+ self.vm0_testpmd.start_testpmd(VM_CORES_MASK)\n self.vm0_testpmd.execute_cmd(\"set verbose 1\")\n \n for tx_vlan in tx_vlans:\n@@ -314,7 +356,18 @@ class TestVfVlan(TestCase):\n self.vm0_dut_ports = self.vm_dut_0.get_ports(\"any\")\n \n self.vm0_testpmd = PmdOutput(self.vm_dut_0)\n- self.vm0_testpmd.start_testpmd(VM_CORES_MASK)\n+ if self.dcf_mode == \"enable\":\n+ self.vm0_testpmd.start_testpmd(\n+ VM_CORES_MASK,\n+ ports=[self.vf0_guest_pci, self.vf1_guest_pci],\n+ port_options={\n+ self.vf0_guest_pci: \"cap=dcf\",\n+ self.vf1_guest_pci: \"cap=dcf\",\n+ },\n+ eal_param=\"--force-max-simd-bitwidth=64\",\n+ )\n+ else:\n+ self.vm0_testpmd.start_testpmd(VM_CORES_MASK)\n self.vm0_testpmd.execute_cmd(\"set fwd rxonly\")\n self.vm0_testpmd.execute_cmd(\"set verbose 1\")\n self.vm0_testpmd.execute_cmd(\"vlan set strip on 0\")\n@@ -393,8 +446,16 @@ class TestVfVlan(TestCase):\n self.vm0_dut_ports = self.vm_dut_0.get_ports(\"any\")\n \n self.vm0_testpmd = PmdOutput(self.vm_dut_0)\n- if self.kdriver == \"i40e\":\n- self.vm0_testpmd.start_testpmd(VM_CORES_MASK, \"\")\n+ if self.dcf_mode == \"enable\":\n+ self.vm0_testpmd.start_testpmd(\n+ VM_CORES_MASK,\n+ ports=[self.vf0_guest_pci, self.vf1_guest_pci],\n+ port_options={\n+ self.vf0_guest_pci: \"cap=dcf\",\n+ self.vf1_guest_pci: \"cap=dcf\",\n+ },\n+ eal_param=\"--force-max-simd-bitwidth=64\",\n+ )\n else:\n self.vm0_testpmd.start_testpmd(VM_CORES_MASK)\n self.vm0_testpmd.execute_cmd(\"set fwd rxonly\")\n", "prefixes": [ "V3", "3/3" ] }{ "id": 115761, "url": "