[V1,1/3] test_plan/ice_config_port_speed: add new test plan

Message ID 20230717065253.1611703-2-jin.ling@intel.com (mailing list archive)
State New
Headers
Series add new test suite ice_config_port_speed |

Commit Message

Jin Ling July 17, 2023, 6:52 a.m. UTC
  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
  

Patch

diff --git a/test_plans/ice_config_port_speed_test_plan.rst b/test_plans/ice_config_port_speed_test_plan.rst
new file mode 100644
index 00000000..afb13896
--- /dev/null
+++ b/test_plans/ice_config_port_speed_test_plan.rst
@@ -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
+            ...