netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Soham Chakradeo <sohamch.kernel@gmail.com>
To: netdev@vger.kernel.org
Cc: davem@davemloft.net, kuba@kernel.org, edumazet@google.com,
	pabeni@redhat.com, linux-kselftest@vger.kernel.org,
	Soham Chakradeo <sohamch@google.com>,
	Willem de Bruijn <willemb@google.com>
Subject: [PATCH net-next 0/4] selftests/net: packetdrill: import multiple tests
Date: Tue, 17 Dec 2024 18:51:57 +0000	[thread overview]
Message-ID: <20241217185203.297935-1-sohamch.kernel@gmail.com> (raw)

From: Soham Chakradeo <sohamch@google.com>

Import tests for the following features (folder names in brackets):
ECN (ecn) : RFC 3168
Close (close) : RFC 9293
TCP_INFO (tcp_info) : RFC 9293
Fast recovery (fast_recovery) : RFC 5681
Timestamping (timestamping) : RFC 1323
Nagle (nagle) : RFC 896
Selective Acknowledgments (sack) : RFC 2018
Recent Timestamp (ts_recent) : RFC 1323
Send file (sendfile)
Syscall bad arg (syscall_bad_arg)
Validate (validate)
Blocking (blocking)
Splice (splice)
End of record (eor)
Limited transmit (limited_transmit)

Procedure to import and test the packetdrill tests into upstream linux
is explained in the first patch of this series

These tests have many authors. We only import them here from
github.com/google/packetdrill. Thanks to the following authors fo their
contributions over the years to these tests: Neal Cardwell, Shuo Chen,
Yuchung Cheng, Jerry Chu, Eric Dumazet, Luke Hsiao, Priyaranjan Jha,
Chonggang Li, Tanner Love, John Sperbeck, Wei Wang and Maciej
Żenczykowski. For more info see the original github commits, such as
https://github.com/google/packetdrill/commit/8229c94928ac.

Signed-off-by: Willem de Bruijn <willemb@google.com>
Signed-off-by: Soham Chakradeo <sohamch@google.com>

Soham Chakradeo (4):
  selftests/net: packetdrill: import tcp/ecn , tcp/close , tcp/sack ,
    tcp/tcp_info
  selftests/net: packetdrill: import tcp/fast_recovery , tcp/nagle ,
    tcp/timestamping
  selftests/net: packetdrill: import tcp/eor , tcp/splice ,
    tcp/ts_recent , tcp/blocking
  selftests/net: packetdrill: import tcp/user_timeout , tcp/validate ,
    tcp/sendfile , tcp/limited-transmit , tcp/syscall_bad_arg

 .../tcp_blocking_blocking-accept.pkt          |  18 +++
 .../tcp_blocking_blocking-connect.pkt         |  13 ++
 .../tcp_blocking_blocking-read.pkt            |  29 ++++
 .../tcp_blocking_blocking-write.pkt           |  35 +++++
 ...lose_close-local-close-then-remote-fin.pkt |  23 +++
 .../tcp_close_close-on-syn-sent.pkt           |  21 +++
 .../tcp_close_close-remote-fin-then-close.pkt |  36 +++++
 .../net/packetdrill/tcp_ecn_ecn-uses-ect0.pkt |  21 +++
 .../packetdrill/tcp_eor_no-coalesce-large.pkt |  38 +++++
 .../tcp_eor_no-coalesce-retrans.pkt           |  72 +++++++++
 .../packetdrill/tcp_eor_no-coalesce-small.pkt |  36 +++++
 .../tcp_eor_no-coalesce-subsequent.pkt        |  66 ++++++++
 .../tcp_fast_recovery_prr-ss-10pkt-lost-1.pkt |  72 +++++++++
 ...t_recovery_prr-ss-30pkt-lost-1_4-11_16.pkt |  50 ++++++
 ...tcp_fast_recovery_prr-ss-30pkt-lost1_4.pkt |  43 ++++++
 ...ecovery_prr-ss-ack-below-snd_una-cubic.pkt |  41 +++++
 ...ited_transmit_limited-transmit-no-sack.pkt |  53 +++++++
 ...limited_transmit_limited-transmit-sack.pkt |  50 ++++++
 .../packetdrill/tcp_nagle_https_client.pkt    |  40 +++++
 .../tcp_nagle_sendmsg_msg_more.pkt            |  66 ++++++++
 .../tcp_nagle_sockopt_cork_nodelay.pkt        |  43 ++++++
 .../tcp_sack_sack-route-refresh-ip-tos.pkt    |  37 +++++
 ...ack_sack-shift-sacked-2-6-8-3-9-nofack.pkt |  64 ++++++++
 ..._sack_sack-shift-sacked-7-3-4-8-9-fack.pkt |  66 ++++++++
 ..._sack_sack-shift-sacked-7-5-6-8-9-fack.pkt |  62 ++++++++
 .../tcp_sendfile_sendfile-simple.pkt          |  26 ++++
 .../tcp_splice_tcp_splice_loop_test.pkt       |  20 +++
 ...scall_bad_arg_fastopen-invalid-buf-ptr.pkt |  42 +++++
 .../tcp_syscall_bad_arg_sendmsg-empty-iov.pkt |  31 ++++
 ...yscall_bad_arg_syscall-invalid-buf-ptr.pkt |  25 +++
 .../tcp_tcp_info_tcp-info-last_data_recv.pkt  |  21 +++
 .../tcp_tcp_info_tcp-info-rwnd-limited.pkt    |  54 +++++++
 .../tcp_tcp_info_tcp-info-sndbuf-limited.pkt  |  39 +++++
 ...tcp_timestamping_client-only-last-byte.pkt |  92 +++++++++++
 .../packetdrill/tcp_timestamping_partial.pkt  |  91 +++++++++++
 .../packetdrill/tcp_timestamping_server.pkt   | 145 ++++++++++++++++++
 .../packetdrill/tcp_ts_recent_fin_tsval.pkt   |  23 +++
 .../packetdrill/tcp_ts_recent_invalid_ack.pkt |  25 +++
 .../packetdrill/tcp_ts_recent_reset_tsval.pkt |  25 +++
 .../tcp_user_timeout_user-timeout-probe.pkt   |  37 +++++
 .../tcp_user_timeout_user_timeout.pkt         |  33 ++++
 ...validate_validate-established-no-flags.pkt |  24 +++
 42 files changed, 1848 insertions(+)
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_blocking_blocking-accept.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_blocking_blocking-connect.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_blocking_blocking-read.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_blocking_blocking-write.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_close_close-local-close-then-remote-fin.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_close_close-on-syn-sent.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_close_close-remote-fin-then-close.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_ecn_ecn-uses-ect0.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_eor_no-coalesce-large.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_eor_no-coalesce-retrans.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_eor_no-coalesce-small.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_eor_no-coalesce-subsequent.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fast_recovery_prr-ss-10pkt-lost-1.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fast_recovery_prr-ss-30pkt-lost-1_4-11_16.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fast_recovery_prr-ss-30pkt-lost1_4.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_fast_recovery_prr-ss-ack-below-snd_una-cubic.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_limited_transmit_limited-transmit-no-sack.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_limited_transmit_limited-transmit-sack.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_nagle_https_client.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_nagle_sendmsg_msg_more.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_nagle_sockopt_cork_nodelay.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_sack_sack-route-refresh-ip-tos.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_sack_sack-shift-sacked-2-6-8-3-9-nofack.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_sack_sack-shift-sacked-7-3-4-8-9-fack.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_sack_sack-shift-sacked-7-5-6-8-9-fack.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_sendfile_sendfile-simple.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_splice_tcp_splice_loop_test.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_syscall_bad_arg_fastopen-invalid-buf-ptr.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_syscall_bad_arg_sendmsg-empty-iov.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_syscall_bad_arg_syscall-invalid-buf-ptr.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_tcp_info_tcp-info-last_data_recv.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_tcp_info_tcp-info-rwnd-limited.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_tcp_info_tcp-info-sndbuf-limited.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_timestamping_client-only-last-byte.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_timestamping_partial.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_timestamping_server.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_ts_recent_fin_tsval.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_ts_recent_invalid_ack.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_ts_recent_reset_tsval.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_user_timeout_user-timeout-probe.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_user_timeout_user_timeout.pkt
 create mode 100644 tools/testing/selftests/net/packetdrill/tcp_validate_validate-established-no-flags.pkt

-- 
2.47.0.338.g60cca15819-goog

             reply	other threads:[~2024-12-17 18:52 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-17 18:51 Soham Chakradeo [this message]
2024-12-17 18:51 ` [PATCH net-next 1/4] selftests/net: packetdrill: import tcp/ecn, tcp/close, tcp/sack, tcp/tcp_info Soham Chakradeo
2024-12-17 18:51 ` [PATCH net-next 2/4] selftests/net: packetdrill: import tcp/fast_recovery, tcp/nagle, tcp/timestamping Soham Chakradeo
2024-12-17 18:52 ` [PATCH net-next 3/4] selftests/net: packetdrill: import tcp/eor, tcp/splice, tcp/ts_recent, tcp/blocking Soham Chakradeo
2024-12-17 18:52 ` [PATCH net-next 4/4] selftests/net: packetdrill: import tcp/user_timeout, tcp/validate, tcp/sendfile, tcp/limited-transmit, tcp/syscall_bad_arg Soham Chakradeo
2024-12-18 18:00 ` [PATCH net-next 0/4] selftests/net: packetdrill: import multiple tests Jakub Kicinski
2024-12-18 19:43   ` Willem de Bruijn
2024-12-19  8:54   ` Paolo Abeni
2024-12-19 19:31     ` Willem de Bruijn
2024-12-20  2:01       ` Jakub Kicinski
2024-12-23  3:46         ` Willem de Bruijn
2024-12-23 16:50           ` Jakub Kicinski
2024-12-24 15:59             ` Willem de Bruijn
2024-12-27 18:41               ` Jakub Kicinski
2024-12-18 18:10 ` 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=20241217185203.297935-1-sohamch.kernel@gmail.com \
    --to=sohamch.kernel@gmail.com \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=kuba@kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=sohamch@google.com \
    --cc=willemb@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).