mbox series

[net-next,0/4] selftests/net: packetdrill: import multiple tests

Message ID 20241217185203.297935-1-sohamch.kernel@gmail.com (mailing list archive)
Headers show
Series selftests/net: packetdrill: import multiple tests | expand

Message

Soham Chakradeo Dec. 17, 2024, 6:51 p.m. UTC
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