[V1,1/3] test_plan/ice_config_port_speed: add new test plan
Commit Message
Signed-off-by: Jin Ling <jin.ling@intel.com>
---
.../ice_config_port_speed_test_plan.rst | 141 ++++++++++++++++++
1 file changed, 141 insertions(+)
create mode 100644 test_plans/ice_config_port_speed_test_plan.rst
--
2.25.1
new file mode 100644
@@ -0,0 +1,141 @@
+.. Copyright (c) <2022-2023>, Intel Corporation
+ All rights reserved.
+
+===========================
+ICE Config Port Speed Tests
+===========================
+
+Description
+===========
+
+This document provides the testplan for configuring the port speed function in testpmd
+You can get the link speed supported of the NIC by executing `ethtool <iface>`, only the supported speed can be configured,
+if its' link partner also supports this speed, then once the speed of the dut is reconfigured, the link partner's speed will also be configured
+
+
+Prerequisites
+=============
+
+topology
+--------
+
+dut_port_0 <-----------> tester_port_0
+
+
+Hardware
+--------
+
+Supported NICs: columbiaville_25g/columbiaville_100g
+
+Software
+--------
+
+dpdk: http://dpdk.org/git/dpdk
+scapy: http://www.secdev.org/projects/scapy/
+
+General set up
+--------------
+
+1. Compile DPDK::
+
+ CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib --default-library=static x86_64-native-linuxapp-gcc
+ ninja -C x86_64-native-linuxapp-gcc -j 110
+
+2. Get the pci device id of DUT, for example::
+
+ ./usertools/dpdk-devbind.py -s
+
+ 0000:31:00.0 'Device 159b' if=ens4 drv=ice unused=vfio-pci
+
+3. Get the supported speed of dut and tester::
+
+ Dut::
+ ethtool ens785f0:
+ Settings for ens785f0:
+ Supported ports: [ FIBRE ]
+ Supported link modes: 1000baseT/Full
+ 10000baseT/Full
+ 25000baseCR/Full
+ 25000baseSR/Full
+ 1000baseX/Full
+ 10000baseSR/Full
+ 10000baseLR/Full
+ Supported pause frame use: Symmetric
+ Supports auto-negotiation: Yes
+ Supported FEC modes: None
+ Advertised link modes: 1000baseX/Full
+ 10000baseSR/Full
+
+ tester::
+ ethtool ens260f0
+ Settings for ens260f0:
+ Supported ports: [ FIBRE ]
+ Supported link modes: 1000baseX/Full
+ 10000baseSR/Full
+ Supported pause frame use: Symmetric Receive-only
+ Supports auto-negotiation: Yes
+ Supported FEC modes: Not reported
+ Advertised link modes: 1000baseX/Full
+ 10000baseSR/Full
+ Advertised pause frame use: No
+ Advertised auto-negotiation: Yes
+
+ Notice that the link speed of dut cannot be configured when dut is `link down`,
+ so if dut is `link up` , only `Advertised link modes` can be cofigured.
+
+
+Test case 1: port config link speed
+-------------------------------------
+
+In this test case, use `port config <port_id> speed 10|100|1000|10000|25000|40000|50000|100000|200000|400000|auto duplex half|full|auto`
+to set port speed, then use `show port info <port_id>` can see the new speed and duplex.
+
+test steps
+~~~~~~~~~~
+1. launch testpmd::
+
+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c f -n 4 -a 31:00.0 -- -i
+
+2. make sure that the link status of dut is up::
+
+ testpmd> show port info 0
+ ********************* Infos for port 0 *********************
+ MAC address: B4:96:91:BB:64:D8
+ Device name: 31:00.0
+ Driver name: net_ice
+ Firmware-version: 4.20 0x8001642c 1.3341.0
+ Devargs:
+ Connect to socket: 0
+ memory allocation on the socket: 0
+ *Link status: up
+ Link speed: 100 Gbps*
+ Link duplex: full-duplex
+ Autoneg status: On
+
+3. stop all ports and set new speed::
+
+ testpmd> port stop all
+ testpmd> port config 0 speed 1000|100000 duplex full
+ testpmd> port start all
+
+Expected result
+~~~~~~~~~~~~~~~
+
+ 1. Check that the speed has been changed::
+
+ testpmd> show port info all
+
+ ********************* Infos for port 0 *********************
+ ...
+ Link speed: 10 Gbps
+ Link duplex: full-duplex
+ ...
+
+ 2. check tester's has been changed if it supports this spped::
+
+ ethtool ens10:
+ Settings for ens10:
+ ...
+ Speed: 10000Mb/s
+ Duplex: Full
+ ...