diff options
-rwxr-xr-x | net/test/policy_crash_test.py | 2 | ||||
-rwxr-xr-x | net/test/tcp_fastopen_test.py | 14 |
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) |