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.