summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xnet/test/policy_crash_test.py2
-rwxr-xr-xnet/test/tcp_fastopen_test.py14
2 files changed, 15 insertions, 1 deletions
diff --git a/net/test/policy_crash_test.py b/net/test/policy_crash_test.py
index 536f96d..ad1b92a 100755
--- a/net/test/policy_crash_test.py
+++ b/net/test/policy_crash_test.py
@@ -107,7 +107,7 @@ class RemovedFeatureTest(net_test.NetworkTest):
dst = ip6loopback
# 8 byte IPv6 fragmentation header
- frag_nexthdr = '00'
+ frag_nexthdr = '3b'
frag_reserved = '00'
# 13-bit offset, 2-bit reserved, 1-bit M[ore] flag
pkt1_frag_offset = '0001'
diff --git a/net/test/tcp_fastopen_test.py b/net/test/tcp_fastopen_test.py
index eadae79..9c777c6 100755
--- a/net/test/tcp_fastopen_test.py
+++ b/net/test/tcp_fastopen_test.py
@@ -22,12 +22,14 @@ from scapy import all as scapy
import multinetwork_base
import net_test
+import os
import packets
import tcp_metrics
TCPOPT_FASTOPEN = 34
TCP_FASTOPEN_CONNECT = 30
+BH_TIMEOUT_SYSCTL = "/proc/sys/net/ipv4/tcp_fastopen_blackhole_timeout_sec"
class TcpFastOpenTest(multinetwork_base.MultiNetworkBaseTest):
@@ -63,12 +65,24 @@ class TcpFastOpenTest(multinetwork_base.MultiNetworkBaseTest):
with self.assertRaisesErrno(ENOENT):
self.tcp_metrics.GetMetrics(saddr, daddr)
+ def clearBlackhole(self):
+ if net_test.LINUX_VERSION < (4, 14, 0):
+ return
+ # Prior to 4.15 this sysctl is not namespace aware.
+ if net_test.LINUX_VERSION < (4, 15, 0) and not os.path.exists(BH_TIMEOUT_SYSCTL):
+ return
+ timeout = self.GetSysctl(BH_TIMEOUT_SYSCTL)
+
+ # Write to timeout to clear any pre-existing blackhole condition
+ self.SetSysctl(BH_TIMEOUT_SYSCTL, timeout)
+
def CheckConnectOption(self, version):
ip_layer = {4: scapy.IP, 6: scapy.IPv6}[version]
netid = self.RandomNetid()
s = self.TFOClientSocket(version, netid)
self.clearTcpMetrics(version, netid)
+ self.clearBlackhole()
# Connect the first time.
remoteaddr = self.GetRemoteAddress(version)