[exim-cvs] Testsuite: workaround TFO blackhole detection

Inizio della pagina
Delete this message
Reply to this message
Autore: Exim Git Commits Mailing List
Data:  
To: exim-cvs
Oggetto: [exim-cvs] Testsuite: workaround TFO blackhole detection
Gitweb: https://git.exim.org/exim.git/commitdiff/38da9088282b3a74ddcbfe8d60382b55a7e9f426
Commit:     38da9088282b3a74ddcbfe8d60382b55a7e9f426
Parent:     9039d82fca22c5d8781aba129a4146ed5e9702d6
Author:     Jeremy Harris <jgh146exb@???>
AuthorDate: Sun May 26 14:03:00 2019 +0100
Committer:  Jeremy Harris <jgh146exb@???>
CommitDate: Sun May 26 15:06:54 2019 +0100


    Testsuite: workaround TFO blackhole detection
---
 test/scripts/1990-TCP-Fast-Open/1990 | 10 ++++++++++
 test/scripts/4027-TFO-socks/4027     |  9 ++++++++-
 test/scripts/4058-pipe-conn-tfo/4058 |  8 ++++----
 3 files changed, 22 insertions(+), 5 deletions(-)


diff --git a/test/scripts/1990-TCP-Fast-Open/1990 b/test/scripts/1990-TCP-Fast-Open/1990
index ec8e32c..953098f 100644
--- a/test/scripts/1990-TCP-Fast-Open/1990
+++ b/test/scripts/1990-TCP-Fast-Open/1990
@@ -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
diff --git a/test/scripts/4027-TFO-socks/4027 b/test/scripts/4027-TFO-socks/4027
index 3cfb43e..44d177a 100644
--- a/test/scripts/4027-TFO-socks/4027
+++ b/test/scripts/4027-TFO-socks/4027
@@ -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
diff --git a/test/scripts/4058-pipe-conn-tfo/4058 b/test/scripts/4058-pipe-conn-tfo/4058
index 3a388a2..f31ef8d 100644
--- a/test/scripts/4058-pipe-conn-tfo/4058
+++ b/test/scripts/4058-pipe-conn-tfo/4058
@@ -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