netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 0/4] selftests/net: packetdrill: import multiple tests
@ 2024-12-17 18:51 Soham Chakradeo
  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
                   ` (5 more replies)
  0 siblings, 6 replies; 15+ messages in thread
From: Soham Chakradeo @ 2024-12-17 18:51 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, edumazet, pabeni, linux-kselftest, Soham Chakradeo,
	Willem de Bruijn

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

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2024-12-27 18:41 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-12-17 18:51 [PATCH net-next 0/4] selftests/net: packetdrill: import multiple tests Soham Chakradeo
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

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).