[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <willemdebruijn.kernel.22202affbad0@gmail.com>
Date: Sun, 28 Sep 2025 14:09:02 -0400
From: Willem de Bruijn <willemdebruijn.kernel@...il.com>
To: Kuniyuki Iwashima <kuniyu@...gle.com>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>,
Paolo Abeni <pabeni@...hat.com>
Cc: Simon Horman <horms@...nel.org>,
Kuniyuki Iwashima <kuniyu@...gle.com>,
Kuniyuki Iwashima <kuni1840@...il.com>,
netdev@...r.kernel.org
Subject: Re: [PATCH v2 net-next 00/13] selftest: packetdrill: Import TFO
server tests.
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@...gle.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.
Powered by blists - more mailing lists