[V1,1/2] test_plans/ice_dcf_switch_filter: optimize max vfs script
Commit Message
Change the method of obtaining the maximum number of VF that can be created on one PF
Signed-off-by: Hongbo Li <hongbox.li@intel.com>
---
.../ice_dcf_switch_filter_test_plan.rst | 28 ++++++++++---------
1 file changed, 15 insertions(+), 13 deletions(-)
Comments
> -----Original Message-----
> From: Hongbo Li <hongbox.li@intel.com>
> Sent: Tuesday, February 21, 2023 10:51 PM
> To: dts@dpdk.org
> Cc: Li, HongboX <hongbox.li@intel.com>
> Subject: [dts][PATCH V1 1/2] test_plans/ice_dcf_switch_filter: optimize max vfs
> script
>
> Change the method of obtaining the maximum number of VF that can be
> created on one PF
>
> Signed-off-by: Hongbo Li <hongbox.li@intel.com>
> ---
> .../ice_dcf_switch_filter_test_plan.rst | 28 ++++++++++---------
> 1 file changed, 15 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..488683b0 100644
> --- a/test_plans/ice_dcf_switch_filter_test_plan.rst
> +++ b/test_plans/ice_dcf_switch_filter_test_plan.rst
> @@ -2791,40 +2791,42 @@ 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
> +
> +2. generate 64 VFs on PF::
>
> echo 64 > /sys/bus/pci/devices/0000:18:00.0/sriov_numvfs
Why it get the maximum number of VF, but not use it?
I see here 64 is still a hardcode, not the maximum number of VF.
@@ -2791,40 +2791,42 @@ 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
+
+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 +2837,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 +2864,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 +4469,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.