0001
0002
0003
0004
0005
0006
0007 set +x
0008 set -e
0009
0010 readonly NETNS="ns-$(mktemp -u XXXXXX)"
0011
0012 setup() {
0013 ip netns add "${NETNS}"
0014 ip -netns "${NETNS}" link set lo up
0015 ip netns exec "${NETNS}" sysctl -w net.ipv4.tcp_fastopen=3 \
0016 >/dev/null 2>&1
0017 }
0018
0019 cleanup() {
0020 ip netns del "${NETNS}"
0021 }
0022
0023 trap cleanup EXIT
0024 setup
0025
0026 do_test() {
0027
0028
0029 ip netns exec "${NETNS}" ip tcp_metrics flush
0030 ip netns exec "${NETNS}" ./tcp_fastopen_backup_key "$1"
0031 val=$(ip netns exec "${NETNS}" nstat -az | \
0032 grep TcpExtTCPFastOpenPassiveFail | awk '{print $2}')
0033 if [ "$val" != 0 ]; then
0034 echo "FAIL: TcpExtTCPFastOpenPassiveFail non-zero"
0035 return 1
0036 fi
0037 }
0038
0039 do_test "-4"
0040 do_test "-6"
0041 do_test "-4"
0042 do_test "-6"
0043 do_test "-4s"
0044 do_test "-6s"
0045 do_test "-4s"
0046 do_test "-6s"
0047 do_test "-4r"
0048 do_test "-6r"
0049 do_test "-4r"
0050 do_test "-6r"
0051 do_test "-4sr"
0052 do_test "-6sr"
0053 do_test "-4sr"
0054 do_test "-6sr"
0055 echo "all tests done"