Testsuite: workaround TFO blackhole detection
authorJeremy Harris <jgh146exb@wizmail.org>
Sun, 26 May 2019 13:03:00 +0000 (14:03 +0100)
committerJeremy Harris <jgh146exb@wizmail.org>
Sun, 26 May 2019 14:06:54 +0000 (15:06 +0100)
test/scripts/1990-TCP-Fast-Open/1990
test/scripts/4027-TFO-socks/4027
test/scripts/4058-pipe-conn-tfo/4058

index ec8e32c8f0935780d345995b635514f1c182b102..953098f31d3e9048022f825bd0580df830380970 100644 (file)
@@ -26,6 +26,15 @@ sudo perl
 system ("tc qdisc add dev lo root netem delay 50ms");
 ****
 #
+#
+# Disable the TFO blackhole detection, as we seem to be running foul of it.
+# If bitten, we see the expected EINPROGRESS for sendto, yet no TFO cookie
+# option on the SYN.
+#
+sudo perl
+system ("echo 0 > /proc/sys/net/ipv4/tcp_fastopen_blackhole_timeout_sec");
+****
+#
 # First time runs will see a TFO request option only; subsequent
 # ones should see the TFO cookie and fast-output SMTP banner
 # (currently on a separate packet after the server SYN,ACK but before
@@ -66,6 +75,7 @@ sleep 3
 #
 sudo perl
 system ("tc qdisc delete dev lo root");
+system ("echo 3600 > /proc/sys/net/ipv4/tcp_fastopen_blackhole_timeout_sec");
 ****
 #
 killdaemon
index 3cfb43ee4555906700d3110b69a83230957fc177..44d177ac578aec7fa976a6d56fe56a8ce0b37974 100644 (file)
@@ -3,11 +3,14 @@
 munge loopback
 #
 #
-# TFO both clients and server, no cookie yet
+# Wipe any stored TFO cookie, to start from known state.
+# Disable TFO blackhole-detection as we seem to be running afoul of that
 sudo perl
 system ("ip tcp_metrics delete 127.0.0.1");
+system ("echo 0 > /proc/sys/net/ipv4/tcp_fastopen_blackhole_timeout_sec");
 ****
 #
+# TFO both clients and server, no cookie yet
 server -tfo PORT_D
 <<\x05\x01\x00
 >>\x05\x00
@@ -123,4 +126,8 @@ quit
 #
 millisleep 500
 #
+sudo perl
+system ("echo 3600 > /proc/sys/net/ipv4/tcp_fastopen_blackhole_timeout_sec");
+****
+#
 # Ends
index 3a388a2d924f84e39f30b8e235dcdb47cd543478..f31ef8d1c4a900c73c619c5208d08a5f28bdd965 100644 (file)
@@ -2,13 +2,12 @@
 #
 #
 # Packet delays so we can see TFO operational in packet captures
-sudo perl
-system ("tc qdisc add dev lo root netem delay 50ms");
-****
-#
 # Wipe any stored TFO cookie, to start from known state.
+# Disable TFO blackhole-detection as we seem to be running afoul of that
 sudo perl
+system ("tc qdisc add dev lo root netem delay 50ms");
 system ("ip tcp_metrics delete 127.0.0.1");
+system ("echo 0 > /proc/sys/net/ipv4/tcp_fastopen_blackhole_timeout_sec");
 ****
 #
 #
@@ -73,6 +72,7 @@ killdaemon
 #
 sudo perl
 system ("tc qdisc delete dev lo root");
+system ("echo 3600 > /proc/sys/net/ipv4/tcp_fastopen_blackhole_timeout_sec");
 ****
 #
 no_msglog_check