All of lore.kernel.org
 help / color / mirror / Atom feed
From: Willem de Bruijn <willemdebruijn.kernel@gmail.com>
To: Kuniyuki Iwashima <kuniyu@google.com>,
	 "David S. Miller" <davem@davemloft.net>,
	 Eric Dumazet <edumazet@google.com>,
	 Jakub Kicinski <kuba@kernel.org>,
	 Paolo Abeni <pabeni@redhat.com>
Cc: Simon Horman <horms@kernel.org>,
	 Kuniyuki Iwashima <kuniyu@google.com>,
	 Kuniyuki Iwashima <kuni1840@gmail.com>,
	 netdev@vger.kernel.org
Subject: Re: [PATCH v2 net-next 00/13] selftest: packetdrill: Import TFO server tests.
Date: Sun, 28 Sep 2025 14:09:02 -0400	[thread overview]
Message-ID: <willemdebruijn.kernel.22202affbad0@gmail.com> (raw)
In-Reply-To: <20250927213022.1850048-1-kuniyu@google.com>

Kuniyuki Iwashima wrote:
> The series imports 15 TFO server tests from google/packetdrill and
> adds 2 more tests.
> 
> The repository has two versions of tests for most scenarios; one uses
> the non-experimental option (34), and the other uses the experimental
> option (255) with 0xF989.
> 
> Basically, we only import the non-experimental version of tests, and
> for the experimental option, tcp_fastopen_server_experimental_option.pkt
> is added.
> 
> 
> The following tests are not (yet) imported:
> 
>   * icmp-baseline.pkt
>   * simple1.pkt / simple2.pkt / simple3.pkt
> 
> The former is completely covered by icmp-before-accept.pkt.
> 
> The later's delta is the src/dst IP pair to generate a different
> cookie, but supporting dualstack requires churn in ksft_runner.sh,
> so defered to future series.  Also, sockopt-fastopen-key.pkt covers
> the same function.
> 
> 
> The following tests have the experimental version only, so converted
> to the non-experimental option:
> 
>   * client-ack-dropped-then-recovery-ms-timestamps.pkt
>   * sockopt-fastopen-key.pkt
> 
> 
> For the imported tests, these common changes are applied.
> 
>   * Add SPDX header
>   * Adjust path to default.sh
>   * Adjust sysctl w/ set_sysctls.py
>   * Use TFO_COOKIE instead of a raw hex value
>   * Use SOCK_NONBLOCK for socket() not to block accept()
>   * Add assertions for TCP state if commented
>   * Remove unnecessary delay (e.g. +0.1 setsockopt(SO_REUSEADDR), etc)
> 
> 
> With this series, except for simple{1,2,3}.pkt, we can remove TFO server
> tests in google/packetdrill.
> 
> 
> Changes:
>   v2:
>     * Add patch 1 for icmp-before-accept.pkt.
>     * Patch 2:
>       * Keep TFO_CLIENT_ENABLE for
>         tcp_syscall_bad_arg_fastopen-invalid-buf-ptr.pkt.
> 
>   v1: https://lore.kernel.org/netdev/20250926212929.1469257-1-kuniyu@google.com/
> 
> 
> Kuniyuki Iwashima (13):
>   selftest: packetdrill: Set ktap_set_plan properly for single protocol
>     test.
>   selftest: packetdrill: Require explicit setsockopt(TCP_FASTOPEN).
>   selftest: packetdrill: Define common TCP Fast Open cookie.
>   selftest: packetdrill: Import TFO server basic tests.
>   selftest: packetdrill: Add test for TFO_SERVER_WO_SOCKOPT1.
>   selftest: packetdrill: Add test for experimental option.
>   selftest: packetdrill: Import opt34/fin-close-socket.pkt.
>   selftest: packetdrill: Import opt34/icmp-before-accept.pkt.
>   selftest: packetdrill: Import opt34/reset-* tests.
>   selftest: packetdrill: Import opt34/*-trigger-rst.pkt.
>   selftest: packetdrill: Refine
>     tcp_fastopen_server_reset-after-disconnect.pkt.
>   selftest: packetdrill: Import sockopt-fastopen-key.pkt
>   selftest: packetdrill: Import
>     client-ack-dropped-then-recovery-ms-timestamps.pkt
> 
>  .../selftests/net/packetdrill/defaults.sh     |  3 +-
>  .../selftests/net/packetdrill/ksft_runner.sh  |  8 +-
>  ..._fastopen_server_basic-cookie-not-reqd.pkt | 32 ++++++++
>  ...cp_fastopen_server_basic-no-setsockopt.pkt | 21 ++++++
>  ...fastopen_server_basic-non-tfo-listener.pkt | 26 +++++++
>  ...cp_fastopen_server_basic-pure-syn-data.pkt | 50 +++++++++++++
>  .../tcp_fastopen_server_basic-rw.pkt          | 23 ++++++
>  ...tcp_fastopen_server_basic-zero-payload.pkt | 26 +++++++
>  ...ck-dropped-then-recovery-ms-timestamps.pkt | 46 ++++++++++++
>  ...cp_fastopen_server_experimental_option.pkt | 37 ++++++++++
>  .../tcp_fastopen_server_fin-close-socket.pkt  | 30 ++++++++
>  ...tcp_fastopen_server_icmp-before-accept.pkt | 49 ++++++++++++
>  ...tcp_fastopen_server_reset-after-accept.pkt | 37 ++++++++++
>  ...cp_fastopen_server_reset-before-accept.pkt | 32 ++++++++
>  ...en_server_reset-close-with-unread-data.pkt | 32 ++++++++
>  ...p_fastopen_server_reset-non-tfo-socket.pkt | 37 ++++++++++
>  ...p_fastopen_server_sockopt-fastopen-key.pkt | 74 +++++++++++++++++++
>  ...pen_server_trigger-rst-listener-closed.pkt | 21 ++++++
>  ...fastopen_server_trigger-rst-reconnect.pkt} | 10 ++-
>  ..._server_trigger-rst-unread-data-closed.pkt | 23 ++++++
>  20 files changed, 611 insertions(+), 6 deletions(-)
>  create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fastopen_server_basic-cookie-not-reqd.pkt
>  create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fastopen_server_basic-no-setsockopt.pkt
>  create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fastopen_server_basic-non-tfo-listener.pkt
>  create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fastopen_server_basic-pure-syn-data.pkt
>  create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fastopen_server_basic-rw.pkt
>  create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fastopen_server_basic-zero-payload.pkt
>  create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fastopen_server_client-ack-dropped-then-recovery-ms-timestamps.pkt
>  create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fastopen_server_experimental_option.pkt
>  create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fastopen_server_fin-close-socket.pkt
>  create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fastopen_server_icmp-before-accept.pkt
>  create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fastopen_server_reset-after-accept.pkt
>  create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fastopen_server_reset-before-accept.pkt
>  create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fastopen_server_reset-close-with-unread-data.pkt
>  create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fastopen_server_reset-non-tfo-socket.pkt
>  create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fastopen_server_sockopt-fastopen-key.pkt
>  create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fastopen_server_trigger-rst-listener-closed.pkt
>  rename tools/testing/selftests/net/packetdrill/{tcp_fastopen_server_reset-after-disconnect.pkt => tcp_fastopen_server_trigger-rst-reconnect.pkt} (66%)
>  create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fastopen_server_trigger-rst-unread-data-closed.pkt

Reviewed-by: Willem de Bruijn <willemb@google.com>

This was not just a trivial import from github.com/google/packetdrill.

Thanks for cleaning up the tests and converting the experimental-only
variants to the standard FO mode, Kuniyuki.

  parent reply	other threads:[~2025-09-28 18:09 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-27 21:29 [PATCH v2 net-next 00/13] selftest: packetdrill: Import TFO server tests Kuniyuki Iwashima
2025-09-27 21:29 ` [PATCH v2 net-next 01/13] selftest: packetdrill: Set ktap_set_plan properly for single protocol test Kuniyuki Iwashima
2025-09-27 21:29 ` [PATCH v2 net-next 02/13] selftest: packetdrill: Require explicit setsockopt(TCP_FASTOPEN) Kuniyuki Iwashima
2025-09-27 21:29 ` [PATCH v2 net-next 03/13] selftest: packetdrill: Define common TCP Fast Open cookie Kuniyuki Iwashima
2025-09-28 18:10   ` Willem de Bruijn
2025-09-28 19:12     ` Kuniyuki Iwashima
2025-09-27 21:29 ` [PATCH v2 net-next 04/13] selftest: packetdrill: Import TFO server basic tests Kuniyuki Iwashima
2025-09-27 21:29 ` [PATCH v2 net-next 05/13] selftest: packetdrill: Add test for TFO_SERVER_WO_SOCKOPT1 Kuniyuki Iwashima
2025-09-27 21:29 ` [PATCH v2 net-next 06/13] selftest: packetdrill: Add test for experimental option Kuniyuki Iwashima
2025-09-27 21:29 ` [PATCH v2 net-next 07/13] selftest: packetdrill: Import opt34/fin-close-socket.pkt Kuniyuki Iwashima
2025-09-27 21:29 ` [PATCH v2 net-next 08/13] selftest: packetdrill: Import opt34/icmp-before-accept.pkt Kuniyuki Iwashima
2025-09-27 21:29 ` [PATCH v2 net-next 09/13] selftest: packetdrill: Import opt34/reset-* tests Kuniyuki Iwashima
2025-09-27 21:29 ` [PATCH v2 net-next 10/13] selftest: packetdrill: Import opt34/*-trigger-rst.pkt Kuniyuki Iwashima
2025-09-27 21:29 ` [PATCH v2 net-next 11/13] selftest: packetdrill: Refine tcp_fastopen_server_reset-after-disconnect.pkt Kuniyuki Iwashima
2025-09-27 21:29 ` [PATCH v2 net-next 12/13] selftest: packetdrill: Import sockopt-fastopen-key.pkt Kuniyuki Iwashima
2025-09-27 21:29 ` [PATCH v2 net-next 13/13] selftest: packetdrill: Import client-ack-dropped-then-recovery-ms-timestamps.pkt Kuniyuki Iwashima
2025-09-28 18:09 ` Willem de Bruijn [this message]
2025-09-30  1:50 ` [PATCH v2 net-next 00/13] selftest: packetdrill: Import TFO server tests patchwork-bot+netdevbpf

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=willemdebruijn.kernel.22202affbad0@gmail.com \
    --to=willemdebruijn.kernel@gmail.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=horms@kernel.org \
    --cc=kuba@kernel.org \
    --cc=kuni1840@gmail.com \
    --cc=kuniyu@google.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.