From patchwork Wed Mar 8 17:48:56 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Li, HongboX" X-Patchwork-Id: 124852 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 2E70A41E1C; Wed, 8 Mar 2023 10:33:18 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 2A15D4113C; Wed, 8 Mar 2023 10:33:18 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 4C16440ED6 for ; Wed, 8 Mar 2023 10:33:16 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1678267996; x=1709803996; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=bdAAv0VC7+68WecmXduioPdXaRzV+Lo4AdEEghAZeoM=; b=i8+bXr3XjYVVG4ZathU0HKI6tf5NdvWdqLcu5Of2H4Ecqf143gVyqfAs asfx/neBDl09KjffecGJ6BKhdHrC7DDAdJZ9ZQmM1q4d7SgzTulllw78R 57dUTz6azsT4jqYNCjlBTTorjM3voz6w1HL2xEE/owWm5axVQ5JLocdBc 9tEuKZGf1SaE8Ea4iNSmfH15yfqdf7op6tqml9BtP3Eh8/jnPbxVhQvD1 Y1sPwDGu1y9YvUSD5qnvNL3cSiLBVoJaECxKw7+ekFyPtBdyW8h9JxVWd oVnXcVOJYjZprCws9VNEJQxOiloXYUWvnY5FeQloXLL4XaDPrU7N/ckyX g==; X-IronPort-AV: E=McAfee;i="6500,9779,10642"; a="315771016" X-IronPort-AV: E=Sophos;i="5.98,243,1673942400"; d="scan'208";a="315771016" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2023 01:32:58 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10642"; a="922711082" X-IronPort-AV: E=Sophos;i="5.98,243,1673942400"; d="scan'208";a="922711082" Received: from unknown (HELO localhost.localdomain) ([10.239.252.93]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2023 01:32:57 -0800 From: Hongbo Li To: dts@dpdk.org Cc: Hongbo Li Subject: [dts][PATCH V2 1/2] test_plans/ice_dcf_switch_filter: optimize max vfs script Date: Thu, 9 Mar 2023 01:48:56 +0800 Message-Id: <20230308174857.25857-1-hongbox.li@intel.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 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 Change the method of obtaining the maximum number of VF that can be created on one PF Signed-off-by: Hongbo Li Reviewed-by: Lijuan Tu --- v2:added query results of the maximum number of VF to the test plan .../ice_dcf_switch_filter_test_plan.rst | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/test_plans/ice_dcf_switch_filter_test_plan.rst b/test_plans/ice_dcf_switch_filter_test_plan.rst index 63ef56e0..10364c38 100644 --- a/test_plans/ice_dcf_switch_filter_test_plan.rst +++ b/test_plans/ice_dcf_switch_filter_test_plan.rst @@ -2791,40 +2791,44 @@ are dropped. Test case: Max vfs ================== -Description: 256 VFs can be created on a IntelĀ® Ethernet 800 Series NIC, if 2*100G NIC, each PF -can create 128 VFs, else if 4*25G NIC, each PF can create 64 VFs. This -case is used to test when all VFs on a PF are used, switch filter rules can work. +Description: This case is used to test when all VFs on a PF are used, switch filter rules can work. This case is designed based on 4*25G NIC. -1. generate 64 VFs on PF:: +1. Query the maximum number of VF that can be created by each PF:: + + cat /sys/bus/pci/devices/0000\:18\:00.0/sriov_totalvfs + + here sriov_totalvfs is 64. + +2. generate 64 VFs on PF:: echo 64 > /sys/bus/pci/devices/0000:18:00.0/sriov_numvfs -2. Get the interface name of the VFs, for example:: +3. Get the interface name of the VFs, for example:: ./usertools/dpdk-devbind.py -s 0000:18:01.1 'Ethernet Adaptive Virtual Function 1889' if=enp24s1f1 drv=iavf unused=igb_uio -3. Start the 64 VFs in the kernel, for example:: +4. Start the 64 VFs in the kernel, for example:: ifconfig enp24s1f1 up -4. Set VF0 as trust:: +5. Set VF0 as trust:: ip link set enp24s0f0 vf 0 trust on -5. bind VF0 to dpdk driver:: +6. bind VF0 to dpdk driver:: ./usertools/dpdk-devbind.py -b vfio-pci 0000:18:01.0 -6. launch dpdk on VF0, and request DCF mode, representing VF1 to VF63:: +7. launch dpdk on VF0, and request DCF mode, representing VF1 to VF63:: ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 \ -a 0000:18:01.0,cap=dcf,representor=[1-63] \ -- -i -7. set a switch rule to each VF from DCF, totally 63 rules:: +8. set a switch rule to each VF from DCF, totally 63 rules:: testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.1 / tcp / end actions represented_port ethdev_port_id 1 / end testpmd> flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2 / tcp / end actions represented_port ethdev_port_id 2 / end @@ -2835,7 +2839,7 @@ This case is designed based on 4*25G NIC. check the rules exist in the list. -8. send matched packets:: +9. send matched packets:: sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1")/TCP()/Raw("X"*480)], iface="ens786f0", count=1) sendp([Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.2")/TCP()/Raw("X"*480)], iface="ens786f0", count=1) @@ -2862,7 +2866,7 @@ This case is designed based on 4*25G NIC. check the packets are not to any VF. -9. verify rules can be destroyed:: +10. verify rules can be destroyed:: testpmd> flow flush 0 testpmd> flow list 0 @@ -4467,4 +4471,4 @@ Subcase 4: MAC_IPV4_NVGRE_MAC_IPV4_UDP + L4 MASK + single vf testpmd> flow list 0 check the rules not exist in the list. - send matched packets, check port 1 can not receive the packet. \ No newline at end of file + send matched packets, check port 1 can not receive the packet. From patchwork Wed Mar 8 17:48:57 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Li, HongboX" X-Patchwork-Id: 124851 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 0CAC041E1C; Wed, 8 Mar 2023 10:33:17 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0619F40FAE; Wed, 8 Mar 2023 10:33:17 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 2BA7940ED6 for ; Wed, 8 Mar 2023 10:33:15 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1678267995; x=1709803995; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=BZTeFvfVoxHYvC2xTXNtLiKp6QZmknHNQq4cL59x8wc=; b=dVaUZZ28L20zVPCbQcbsz5xrAr/MNZJHn/tE2Xpr9YPHJkGdIGkpbbYY R74wOoztRxcu1DU//NL8hpz9AkZSYfdO82lQ8JaFjDTPSmm2I0taRF9UG FPr4uH69eyCQy+QJWtk23lbcT2EOk6a1v7gxjvr2LuqwC4aWbLFSqu8h8 p/3iEwQRcH2Ff3fs9g7NhIIyZPfZ1PXkqHChxuVyMEv+w1mhnUSChai7c 2trLFmKLXSkm/YDKHtcb7jedPlpECgNyzAtMrYoKkrYYAv5J2xnHc1toP O6KNgfGpfUM3FVuzUliEiX2W/l4O6eQS73xXSim5Qcz3S0E/XYdD8Xshs g==; X-IronPort-AV: E=McAfee;i="6500,9779,10642"; a="315771020" X-IronPort-AV: E=Sophos;i="5.98,243,1673942400"; d="scan'208";a="315771020" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2023 01:32:59 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10642"; a="922711086" X-IronPort-AV: E=Sophos;i="5.98,243,1673942400"; d="scan'208";a="922711086" Received: from unknown (HELO localhost.localdomain) ([10.239.252.93]) by fmsmga006-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 08 Mar 2023 01:32:58 -0800 From: Hongbo Li To: dts@dpdk.org Cc: Hongbo Li Subject: [dts][PATCH V2 2/2] tests/ice_dcf_switch_filter: optimize max vfs scrip Date: Thu, 9 Mar 2023 01:48:57 +0800 Message-Id: <20230308174857.25857-2-hongbox.li@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20230308174857.25857-1-hongbox.li@intel.com> References: <20230308174857.25857-1-hongbox.li@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 Change the method of obtaining the maximum number of VF that can be created on one PF Signed-off-by: Hongbo Li --- tests/TestSuite_ice_dcf_switch_filter.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/tests/TestSuite_ice_dcf_switch_filter.py b/tests/TestSuite_ice_dcf_switch_filter.py index c5c3ae0b..0731199a 100644 --- a/tests/TestSuite_ice_dcf_switch_filter.py +++ b/tests/TestSuite_ice_dcf_switch_filter.py @@ -3203,10 +3203,21 @@ class ICEDCFSwitchFilterTest(TestCase): def test_max_vfs(self): # get max vfs number - port_count = (1, 1, 2, 4, 4)[len(self.dut_ports)] - max_vf_number = int(256 / (port_count)) - # set up max_vf_number vfs on 1 pf environment self.used_dut_port_0 = self.dut_ports[0] + self.domain_id_0 = self.dut.ports_info[self.used_dut_port_0]["port"].domain_id + self.bus_id_0 = self.dut.ports_info[self.used_dut_port_0]["port"].bus_id + self.devfun_id_0 = self.dut.ports_info[self.used_dut_port_0]["port"].devfun_id + cmd_max_vfs = ( + "cat /sys/bus/pci/devices/" + + self.domain_id_0 + + "\\:" + + self.bus_id_0 + + "\\:" + + self.devfun_id_0 + + "/sriov_totalvfs" + ) + max_vf_number = int(self.dut.send_expect(cmd_max_vfs, "#")) + # set up max_vf_number vfs on 1 pf environment self.pf0_intf = self.dut.ports_info[self.used_dut_port_0]["intf"] out = self.dut.send_expect("ethtool -i %s" % self.pf0_intf, "#") # generate max_vf_number VFs on PF0