Testsuite: for TFO testcases manipulate the system state
[users/heiko/exim.git] / test / scripts / 1990-TCP-Fast-Open / 1990
index 47b77af0ee43107fd627156c69edeee504d40377..3fffce2d4fd4f232bba4b7cd51693045823cedb8 100644 (file)
@@ -7,17 +7,31 @@
 # A packet capture on the loopback interface will show the TFO
 # option on the SYN, but the fast-output SMTP banner will not
 # be seen unless you also deliberately emulate a long path:
 # A packet capture on the loopback interface will show the TFO
 # option on the SYN, but the fast-output SMTP banner will not
 # be seen unless you also deliberately emulate a long path:
-# 'sudo tc qdisc add dev lo root netem delay 100ms'
+# 'sudo tc qdisc add dev lo root netem delay 50ms'
+# You'll need kernel-modules-extra installed, or you get
+# an unhelpful error from RTNETLINK.
+# To tidy up:  'sudo tc qdisc delete dev lo root'
+#
+sudo perl
+system ("tc qdisc add dev lo root netem delay 50ms");
+****
 #
 # 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
 # the client ACK).
 #
 #
 # 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
 # the client ACK).
 #
-# The log <= line should have a "TFO" element.
+# The client log => lint.ex  should have a "TFO" element.
+# Assuming this is the first run since boot, the a@test recipient will not.
+#
+sudo perl
+system ("ip tcp_metrics delete 127.0.0.1");
+****
+#
+# The server log <= line for b@test.ex  should have a "TFO" element, but
+# this will only be obtained when the above delay is inserted into the
+# loopback net path.
 #
 #
-# If the client-side is disabled in the kernel, Exim logs
-# will become noisy.
 #
 #
 # FreeBSD: it looks like you have to compile a custom kernel, with
 #
 #
 # FreeBSD: it looks like you have to compile a custom kernel, with
 #
 exim -DSERVER=server -bd -oX PORT_D
 ****
 #
 exim -DSERVER=server -bd -oX PORT_D
 ****
+#
 exim a@test.ex
 Testing
 ****
 sleep 3
 exim a@test.ex
 Testing
 ****
 sleep 3
+#
 exim b@test.ex
 Testing
 ****
 sleep 3
 exim b@test.ex
 Testing
 ****
 sleep 3
+#
+#
+sudo perl
+system ("tc qdisc delete dev lo root");
+****
+#
 killdaemon
 no_msglog_check
 killdaemon
 no_msglog_check