mbox series

[bpf-next,v2,0/6] selftests/bpf: integrate test_tcp_check_syncookie.sh into test_progs

Message ID 20241020-syncookie-v2-0-2db240225fed@bootlin.com (mailing list archive)
Headers show
Series selftests/bpf: integrate test_tcp_check_syncookie.sh into test_progs | expand

Message

Alexis Lothoré Oct. 20, 2024, 7:22 p.m. UTC
Hello,
this series aims to bring test_tcp_check_syncookie.sh scope into
test_progs to make sure that the corresponding tests are also run
automatically in CI. This script tests for bpf_tcp_{gen,check}_syncookie
and bpf_skc_lookup_tcp, in different contexts (ipv4, v6 or dual, and
with tc and xdp programs).
Some other tests like btf_skc_cls_ingress have some overlapping tests with
test_tcp_check_syncookie.sh, so this series moves the missing bits from
test_tcp_check_syncookie.sh into btf_skc_cls_ingress, which is already
integrated into test_progs.
- the first three commits bring some minor improvements to
  btf_skc_cls_ingress without changing its testing scope
- fourth and fifth commits bring test_tcp_check_syncookie.sh features
  into btf_skc_cls_ingress
- last commit removes test_tcp_check_syncookie.sh

The only topic for which I am not sure for this integration is the
necessity or not to run the tests with different program types:
test_tcp_check_syncookie.sh runs tests with both tc and xdp programs, but
btf_skc_cls_ingress currently tests those helpers only with a tc
program. Would it make sense to also make sure that btf_skc_cls_ingress
is tested with all the programs types supported by those helpers ?

The series has been tested both in CI and in a local x86_64 qemu
environment:
  # ./test_progs -a btf_skc_cls_ingress
  #38/1    btf_skc_cls_ingress/conn_ipv4:OK
  #38/2    btf_skc_cls_ingress/conn_ipv6:OK
  #38/3    btf_skc_cls_ingress/conn_dual:OK
  #38/4    btf_skc_cls_ingress/syncookie_ipv4:OK
  #38/5    btf_skc_cls_ingress/syncookie_ipv6:OK
  #38/6    btf_skc_cls_ingress/syncookie_dual:OK
  #38      btf_skc_cls_ingress:OK
  Summary: 1/6 PASSED, 0 SKIPPED, 0 FAILED

Signed-off-by: Alexis Lothoré (eBPF Foundation) <alexis.lothore@bootlin.com>
---
Changes in v2:
- fix initial test author mail in Cc
- Fix default cases in switches: indent, action
- remove unneeded initializer
- remove duplicate interface bring-up
- remove unnecessary check and return in bpf program
- Link to v1: https://lore.kernel.org/r/20241016-syncookie-v1-0-3b7a0de12153@bootlin.com

---
Alexis Lothoré (eBPF Foundation) (6):
      selftests/bpf: factorize conn and syncookies tests in a single runner
      selftests/bpf: add missing ns cleanups in btf_skc_cls_ingress
      selftests/bpf: get rid of global vars in btf_skc_cls_ingress
      selftests/bpf: add ipv4 and dual ipv4/ipv6 support in btf_skc_cls_ingress
      selftests/bpf: test MSS value returned with bpf_tcp_gen_syncookie
      selftests/bpf: remove test_tcp_check_syncookie

 tools/testing/selftests/bpf/.gitignore             |   1 -
 tools/testing/selftests/bpf/Makefile               |   9 +-
 .../selftests/bpf/prog_tests/btf_skc_cls_ingress.c | 264 +++++++++++++--------
 .../selftests/bpf/progs/test_btf_skc_cls_ingress.c |  82 ++++---
 .../bpf/progs/test_tcp_check_syncookie_kern.c      | 167 -------------
 .../selftests/bpf/test_tcp_check_syncookie.sh      |  85 -------
 .../selftests/bpf/test_tcp_check_syncookie_user.c  | 213 -----------------
 7 files changed, 217 insertions(+), 604 deletions(-)
---
base-commit: 030207b7fce8bad6827615cfc2c6592916e2c336
change-id: 20241015-syncookie-ea7686264586

Best regards,

Comments

patchwork-bot+netdevbpf@kernel.org Oct. 21, 2024, 8:30 p.m. UTC | #1
Hello:

This series was applied to bpf/bpf-next.git (net)
by Martin KaFai Lau <martin.lau@kernel.org>:

On Sun, 20 Oct 2024 21:22:52 +0200 you wrote:
> Hello,
> this series aims to bring test_tcp_check_syncookie.sh scope into
> test_progs to make sure that the corresponding tests are also run
> automatically in CI. This script tests for bpf_tcp_{gen,check}_syncookie
> and bpf_skc_lookup_tcp, in different contexts (ipv4, v6 or dual, and
> with tc and xdp programs).
> Some other tests like btf_skc_cls_ingress have some overlapping tests with
> test_tcp_check_syncookie.sh, so this series moves the missing bits from
> test_tcp_check_syncookie.sh into btf_skc_cls_ingress, which is already
> integrated into test_progs.
> - the first three commits bring some minor improvements to
>   btf_skc_cls_ingress without changing its testing scope
> - fourth and fifth commits bring test_tcp_check_syncookie.sh features
>   into btf_skc_cls_ingress
> - last commit removes test_tcp_check_syncookie.sh
> 
> [...]

Here is the summary with links:
  - [bpf-next,v2,1/6] selftests/bpf: factorize conn and syncookies tests in a single runner
    https://git.kernel.org/bpf/bpf-next/c/6414b3e5d5d4
  - [bpf-next,v2,2/6] selftests/bpf: add missing ns cleanups in btf_skc_cls_ingress
    https://git.kernel.org/bpf/bpf-next/c/0335dd6b5a4c
  - [bpf-next,v2,3/6] selftests/bpf: get rid of global vars in btf_skc_cls_ingress
    https://git.kernel.org/bpf/bpf-next/c/0da0a75cf649
  - [bpf-next,v2,4/6] selftests/bpf: add ipv4 and dual ipv4/ipv6 support in btf_skc_cls_ingress
    https://git.kernel.org/bpf/bpf-next/c/8a5cd9860235
  - [bpf-next,v2,5/6] selftests/bpf: test MSS value returned with bpf_tcp_gen_syncookie
    https://git.kernel.org/bpf/bpf-next/c/3845ce74777e
  - [bpf-next,v2,6/6] selftests/bpf: remove test_tcp_check_syncookie
    https://git.kernel.org/bpf/bpf-next/c/c3566ee6c66c

You are awesome, thank you!