[PATCH net-next v4 0/3] selftests: Add selftest for link layer and performance testing

Mohan Prasad J posted 3 patches 1 week, 1 day ago
.../testing/selftests/drivers/net/hw/Makefile |   6 +-
.../drivers/net/hw/lib/py/__init__.py         |   1 +
.../drivers/net/hw/lib/py/linkconfig.py       | 222 ++++++++++++++++++
.../drivers/net/hw/nic_link_layer.py          | 113 +++++++++
.../drivers/net/hw/nic_performance.py         | 137 +++++++++++
.../selftests/drivers/net/lib/py/load.py      |  20 +-
6 files changed, 496 insertions(+), 3 deletions(-)
create mode 100644 tools/testing/selftests/drivers/net/hw/lib/py/linkconfig.py
create mode 100644 tools/testing/selftests/drivers/net/hw/nic_link_layer.py
create mode 100644 tools/testing/selftests/drivers/net/hw/nic_performance.py
[PATCH net-next v4 0/3] selftests: Add selftest for link layer and performance testing
Posted by Mohan Prasad J 1 week, 1 day ago
The series of patches are for doing basic tests
of NIC driver. Test comprises checks for auto-negotiation,
speed, duplex state and throughput between local NIC and
partner. Tools such as ethtool, iperf3 are used.

Signed-off-by: Mohan Prasad J <mohan.prasad@microchip.com>
---
Changes in v4:
- Type hints are added for arguments and return types.
- Test values can be modified through command line.
- Minor code improvements.
- GenerateTraffic class extended for throughput test.
- Protocol testcases separated.

Changes in v3:
Link to v3: https://patchwork.kernel.org/project/netdevbpf/cover/20241016215014.401476-1-mohan.prasad@microchip.com/
- LinkConfig class is included in the hw library. This contains
  generic APIs for doing link layer operations.
- Auto-negotiation checks involve changing the auto-neg state
  both in local and partner NIC.
- Link layer test and performance test are separated to 
  different selftest files.
- Resetting of NIC driver done after test completion.

Changes in v2:
Link to v2: https://patchwork.kernel.org/project/netdevbpf/cover/20240917023525.2571082-1-mohan.prasad@microchip.com/
- Changed the hardcoded implementation of speed, duplex states,
  throughput to generic values, in order to support all type
  of NIC drivers.
- Test executes based on the supported link modes between local
  NIC driver and partner.
- Instead of lan743x directory, selftest file is now relocated 
  to /selftests/drivers/net/hw.
Link to v1: https://patchwork.kernel.org/project/netdevbpf/cover/20240903221549.1215842-1-mohan.prasad@microchip.com/
---
Mohan Prasad J (3):
  selftests: nic_link_layer: Add link layer selftest for NIC driver
  selftests: nic_link_layer: Add selftest case for speed and duplex
    states
  selftests: nic_performance: Add selftest for performance of NIC driver

 .../testing/selftests/drivers/net/hw/Makefile |   6 +-
 .../drivers/net/hw/lib/py/__init__.py         |   1 +
 .../drivers/net/hw/lib/py/linkconfig.py       | 222 ++++++++++++++++++
 .../drivers/net/hw/nic_link_layer.py          | 113 +++++++++
 .../drivers/net/hw/nic_performance.py         | 137 +++++++++++
 .../selftests/drivers/net/lib/py/load.py      |  20 +-
 6 files changed, 496 insertions(+), 3 deletions(-)
 create mode 100644 tools/testing/selftests/drivers/net/hw/lib/py/linkconfig.py
 create mode 100644 tools/testing/selftests/drivers/net/hw/nic_link_layer.py
 create mode 100644 tools/testing/selftests/drivers/net/hw/nic_performance.py

-- 
2.43.0