mirror of
https://github.com/torvalds/linux.git
synced 2026-05-29 17:43:52 +02:00
selftest: packetdrill: Add test for experimental option.
The only difference between non-experimental vs experimental TFO option handling is SYN+ACK generation. When tcp_parse_fastopen_option() parses a TFO option, it sets tcp_fastopen_cookie.exp to false if the option number is 34, and true if 255. The value is carried to tcp_options_write() to generate a TFO option with the same option number. Other than that, all the TFO handling is the same and the kernel must generate the same cookie regardless of the option number. Let's add a test for the handling so that we can consolidate fastopen/server/ tests and fastopen/server/opt34 tests. Signed-off-by: Kuniyuki Iwashima <kuniyu@google.com> Reviewed-by: Willem de Bruijn <willemb@google.com> Link: https://patch.msgid.link/20250927213022.1850048-7-kuniyu@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
399e0a7ed9
commit
e57b3933ab
|
|
@ -0,0 +1,37 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
//
|
||||
// Test the Experimental Option
|
||||
//
|
||||
// SYN w/ FOEXP w/o cookie must generates SYN+ACK w/ FOEXP
|
||||
// w/ a valid cookie, and the cookie must be the same one
|
||||
// with one generated by IANA FO
|
||||
|
||||
`./defaults.sh`
|
||||
|
||||
// Request a TFO cookie by Experimental Option
|
||||
// This must generate the same TFO_COOKIE
|
||||
0 socket(..., SOCK_STREAM|SOCK_NONBLOCK, IPPROTO_TCP) = 3
|
||||
+0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
|
||||
+0 bind(3, ..., ...) = 0
|
||||
+0 listen(3, 1) = 0
|
||||
+0 setsockopt(3, SOL_TCP, TCP_FASTOPEN, [1], 4) = 0
|
||||
|
||||
+0 < S 0:10(10) win 32792 <mss 1460,sackOK,nop,nop,FOEXP>
|
||||
+0 > S. 0:0(0) ack 1 <mss 1460,nop,nop,sackOK,FOEXP TFO_COOKIE>
|
||||
|
||||
+0 close(3) = 0
|
||||
|
||||
// Test if FOEXP with a valid cookie creates a TFO socket
|
||||
0 socket(..., SOCK_STREAM|SOCK_NONBLOCK, IPPROTO_TCP) = 3
|
||||
+0 setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
|
||||
+0 bind(3, ..., ...) = 0
|
||||
+0 listen(3, 1) = 0
|
||||
+0 setsockopt(3, SOL_TCP, TCP_FASTOPEN, [1], 4) = 0
|
||||
|
||||
+0 < S 0:10(10) win 32792 <mss 1460,sackOK,nop,nop,FOEXP TFO_COOKIE>
|
||||
+0 > S. 0:0(0) ack 11 <mss 1460,nop,nop,sackOK>
|
||||
|
||||
+0 accept(3, ..., ...) = 4
|
||||
+0 %{ assert (tcpi_options & TCPI_OPT_SYN_DATA) != 0, tcpi_options }%
|
||||
|
||||
+0 read(4, ..., 512) = 10
|
||||
Loading…
Reference in New Issue
Block a user