mbox series

[bpf-next,v2,00/16] selftests: xsk: various simplifications

Message ID 20210817092729.433-1-magnus.karlsson@gmail.com (mailing list archive)
Headers show
Series selftests: xsk: various simplifications | expand

Message

Magnus Karlsson Aug. 17, 2021, 9:27 a.m. UTC
This patch set mainly contains various simplifications to the xsk
selftests. The only exception is the introduction of packet streams
that describes what the Tx process should send and what the Rx process
should receive. If it receives anything else, the test fails. This
mechanism can be used to produce tests were all packets are not
received by the Rx thread or modified in some way. An example of this
is if an XDP program does XDP_PASS on some of the packets.

This patch set will be followed by another patch set that implements a
new structure that will facilitate adding new tests. A couple of new
tests will also be included in that patch set.

v1 -> v2:

* Dropped the patch with per process limit changes as it is not needed
  [Yonghong]
* Improved the commit message of patch 1 [Yonghong]
* Fixed a spelling error in patch 9

Thanks: Magnus

Magnus Karlsson (16):
  selftests: xsk: remove color mode
  selftests: xsk: remove the num_tx_packets option
  selftests: xsk: remove unused variables
  selftests: xsk: return correct error codes
  selftests: xsk: simplify the retry code
  selftests: xsk: remove end-of-test packet
  selftests: xsk: disassociate umem size with packets sent
  selftests: xsk: rename worker_* functions that are not thread entry
    points
  selftests: xsk: simplify packet validation in xsk tests
  selftests: xsk: validate tx stats on tx thread
  selftests: xsk: decrease batch size
  selftests: xsk: remove cleanup at end of program
  selftests: xsk: generate packet directly in umem
  selftests: xsk: generate packets from specification
  selftests: xsk: make enums lower case
  selftests: xsk: preface options with opt

 tools/testing/selftests/bpf/test_xsk.sh    |  10 +-
 tools/testing/selftests/bpf/xdpxceiver.c   | 626 +++++++++------------
 tools/testing/selftests/bpf/xdpxceiver.h   |  61 +-
 tools/testing/selftests/bpf/xsk_prereqs.sh |  30 +-
 4 files changed, 310 insertions(+), 417 deletions(-)


base-commit: 3c3bd542ffbb2ac09631313ede46ae66660ae550
--
2.29.0

Comments

Fijalkowski, Maciej Aug. 19, 2021, 10:13 a.m. UTC | #1
On Tue, Aug 17, 2021 at 11:27:13AM +0200, Magnus Karlsson wrote:
> This patch set mainly contains various simplifications to the xsk
> selftests. The only exception is the introduction of packet streams
> that describes what the Tx process should send and what the Rx process
> should receive. If it receives anything else, the test fails. This
> mechanism can be used to produce tests were all packets are not
> received by the Rx thread or modified in some way. An example of this
> is if an XDP program does XDP_PASS on some of the packets.
> 
> This patch set will be followed by another patch set that implements a
> new structure that will facilitate adding new tests. A couple of new
> tests will also be included in that patch set.
> 
> v1 -> v2:
> 
> * Dropped the patch with per process limit changes as it is not needed
>   [Yonghong]
> * Improved the commit message of patch 1 [Yonghong]
> * Fixed a spelling error in patch 9
> 
> Thanks: Magnus

This is awesome work. Lots of simplification and the pkt stream generation
makes sense to me.

I had little comments on patch 14.

Besides that:
Reviewed-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>

> 
> Magnus Karlsson (16):
>   selftests: xsk: remove color mode
>   selftests: xsk: remove the num_tx_packets option
>   selftests: xsk: remove unused variables
>   selftests: xsk: return correct error codes
>   selftests: xsk: simplify the retry code
>   selftests: xsk: remove end-of-test packet
>   selftests: xsk: disassociate umem size with packets sent
>   selftests: xsk: rename worker_* functions that are not thread entry
>     points
>   selftests: xsk: simplify packet validation in xsk tests
>   selftests: xsk: validate tx stats on tx thread
>   selftests: xsk: decrease batch size
>   selftests: xsk: remove cleanup at end of program
>   selftests: xsk: generate packet directly in umem
>   selftests: xsk: generate packets from specification
>   selftests: xsk: make enums lower case
>   selftests: xsk: preface options with opt
> 
>  tools/testing/selftests/bpf/test_xsk.sh    |  10 +-
>  tools/testing/selftests/bpf/xdpxceiver.c   | 626 +++++++++------------
>  tools/testing/selftests/bpf/xdpxceiver.h   |  61 +-
>  tools/testing/selftests/bpf/xsk_prereqs.sh |  30 +-
>  4 files changed, 310 insertions(+), 417 deletions(-)
> 
> 
> base-commit: 3c3bd542ffbb2ac09631313ede46ae66660ae550
> --
> 2.29.0