diff options
| author | Bjoern A. Zeeb <bz@FreeBSD.org> | 2019-10-24 20:08:33 +0000 |
|---|---|---|
| committer | Bjoern A. Zeeb <bz@FreeBSD.org> | 2019-10-24 20:08:33 +0000 |
| commit | 4527b28baf0d6ca9e78eefd821b2c95181cd61e8 (patch) | |
| tree | a2e6f7d3449d98b3b641a12c0116f35b8e41dbf0 /tests | |
| parent | 4a91aa8fc9b626834dec65629decf48d1e3d5036 (diff) | |
Notes
Diffstat (limited to 'tests')
23 files changed, 275 insertions, 32 deletions
diff --git a/tests/sys/netinet6/frag6/frag6_01.sh b/tests/sys/netinet6/frag6/frag6_01.sh index fb2e1de856d38..198cc15bebd6b 100755 --- a/tests/sys/netinet6/frag6/frag6_01.sh +++ b/tests/sys/netinet6/frag6/frag6_01.sh @@ -52,6 +52,16 @@ frag6_01_check_stats() { # The Python script has to wait for this already to get the ICMPv6 # hence we do not sleep here anymore. + nf=`jexec ${jname} sysctl -n net.inet6.ip6.frag6_nfragpackets` + case ${nf} in + 0) break ;; + *) atf_fail "VNET frag6_nfragpackets not 0 but: ${nf}" ;; + esac + nf=`sysctl -n net.inet6.ip6.frag6_nfrags` + case ${nf} in + 0) break ;; + *) atf_fail "Global frag6_nfrags not 0 but: ${nf}" ;; + esac # # Check selection of global UDP stats. diff --git a/tests/sys/netinet6/frag6/frag6_02.sh b/tests/sys/netinet6/frag6/frag6_02.sh index 02d2a5a1e7236..d3573d53eeb46 100755 --- a/tests/sys/netinet6/frag6/frag6_02.sh +++ b/tests/sys/netinet6/frag6/frag6_02.sh @@ -52,6 +52,16 @@ frag6_02_check_stats() { # The Python script has to wait for this already to get the ICMPv6 # hence we do not sleep here anymore. + nf=`jexec ${jname} sysctl -n net.inet6.ip6.frag6_nfragpackets` + case ${nf} in + 0) break ;; + *) atf_fail "VNET frag6_nfragpackets not 0 but: ${nf}" ;; + esac + nf=`sysctl -n net.inet6.ip6.frag6_nfrags` + case ${nf} in + 0) break ;; + *) atf_fail "Global frag6_nfrags not 0 but: ${nf}" ;; + esac # # Check selection of global UDP stats. diff --git a/tests/sys/netinet6/frag6/frag6_03.py b/tests/sys/netinet6/frag6/frag6_03.py index 64c92abfecc89..c3f890c7bc409 100644 --- a/tests/sys/netinet6/frag6/frag6_03.py +++ b/tests/sys/netinet6/frag6/frag6_03.py @@ -82,20 +82,21 @@ def main(): ######################################################################## # - # (1) Atomic fragment. + # Atomic fragment. # # A: Nothing listening on UDP port. # R: ICMPv6 dst unreach, unreach port. # ip6f01 = sp.Ether() / \ sp.IPv6(src=args.src[0], dst=args.to[0]) / \ - sp.IPv6ExtHdrFragment(offset=0, m=0, id=1) / \ + sp.IPv6ExtHdrFragment(offset=0, m=0, id=3) / \ sp.UDP(dport=3456, sport=6543) if args.debug : ip6f01.display() sp.sendp(ip6f01, iface=args.sendif[0], verbose=False) sleep(0.10) + sniffer.setEnd() sniffer.join() if not sniffer.foundCorrectPacket: sys.exit(1) diff --git a/tests/sys/netinet6/frag6/frag6_03.sh b/tests/sys/netinet6/frag6/frag6_03.sh index edfdbe04d1013..1881ff4632299 100755 --- a/tests/sys/netinet6/frag6/frag6_03.sh +++ b/tests/sys/netinet6/frag6/frag6_03.sh @@ -52,6 +52,16 @@ frag6_03_check_stats() { # The Python script has to wait for this already to get the ICMPv6 # hence we do not sleep here anymore. + nf=`jexec ${jname} sysctl -n net.inet6.ip6.frag6_nfragpackets` + case ${nf} in + 0) break ;; + *) atf_fail "VNET frag6_nfragpackets not 0 but: ${nf}" ;; + esac + nf=`sysctl -n net.inet6.ip6.frag6_nfrags` + case ${nf} in + 0) break ;; + *) atf_fail "Global frag6_nfrags not 0 but: ${nf}" ;; + esac # # Check selection of global UDP stats. diff --git a/tests/sys/netinet6/frag6/frag6_04.sh b/tests/sys/netinet6/frag6/frag6_04.sh index 81f3a276514c4..5655d9c8e63b9 100755 --- a/tests/sys/netinet6/frag6/frag6_04.sh +++ b/tests/sys/netinet6/frag6/frag6_04.sh @@ -52,6 +52,16 @@ frag6_04_check_stats() { # The Python script has to wait for this already to get the ICMPv6 # hence we do not sleep here anymore. + nf=`jexec ${jname} sysctl -n net.inet6.ip6.frag6_nfragpackets` + case ${nf} in + 0) break ;; + *) atf_fail "VNET frag6_nfragpackets not 0 but: ${nf}" ;; + esac + nf=`sysctl -n net.inet6.ip6.frag6_nfrags` + case ${nf} in + 0) break ;; + *) atf_fail "Global frag6_nfrags not 0 but: ${nf}" ;; + esac # # Check selection of global UDP stats. diff --git a/tests/sys/netinet6/frag6/frag6_05.py b/tests/sys/netinet6/frag6/frag6_05.py index b631b48f500f7..d67c35581bbff 100644 --- a/tests/sys/netinet6/frag6/frag6_05.py +++ b/tests/sys/netinet6/frag6/frag6_05.py @@ -76,6 +76,8 @@ def main(): ip6f01.display() sp.sendp(ip6f01, iface=args.sendif[0], verbose=False) + # Wait for possible expiry to happen. + sleep(75) sys.exit(0) if __name__ == '__main__': diff --git a/tests/sys/netinet6/frag6/frag6_05.sh b/tests/sys/netinet6/frag6/frag6_05.sh index ed4c09b60d69f..ff1504a6b023e 100755 --- a/tests/sys/netinet6/frag6/frag6_05.sh +++ b/tests/sys/netinet6/frag6/frag6_05.sh @@ -47,6 +47,17 @@ frag6_05_check_stats_0() { # The Python script has to wait for this already to get the ICMPv6 # hence we do not sleep here anymore. + nf=`jexec ${jname} sysctl -n net.inet6.ip6.frag6_nfragpackets` + case ${nf} in + 0) break ;; + *) atf_fail "VNET frag6_nfragpackets not 0 but: ${nf}" ;; + esac + nf=`sysctl -n net.inet6.ip6.frag6_nfrags` + case ${nf} in + 0) break ;; + *) atf_fail "Global frag6_nfrags not 0 but: ${nf}" ;; + esac + # # Check that the sysctl is set to what we expect. # @@ -229,6 +240,16 @@ frag6_05_check_stats_1() { # The Python script has to wait for this already to get the ICMPv6 # hence we do not sleep here anymore. + nf=`jexec ${jname} sysctl -n net.inet6.ip6.frag6_nfragpackets` + case ${nf} in + 0) break ;; + *) atf_fail "VNET frag6_nfragpackets not 0 but: ${nf}" ;; + esac + nf=`sysctl -n net.inet6.ip6.frag6_nfrags` + case ${nf} in + 0) break ;; + *) atf_fail "Global frag6_nfrags not 0 but: ${nf}" ;; + esac # # Check that the sysctl is set to what we expect. @@ -272,7 +293,7 @@ EOF <dropped-bad-version>0</dropped-bad-version> <received-fragments>20</received-fragments> <dropped-fragment>10</dropped-fragment> - <dropped-fragment-after-timeout>0</dropped-fragment-after-timeout> + <dropped-fragment-after-timeout>10</dropped-fragment-after-timeout> <dropped-fragments-overflow>0</dropped-fragments-overflow> <atomic-fragments>0</atomic-fragments> <reassembled-packets>0</reassembled-packets> @@ -300,7 +321,7 @@ EOF # XXX-TODO check output histogram (just too hard to parse [no multi-line-grep]) # cat <<EOF > ${HOME}/filter-${jname}.txt - <icmp6-calls>0</icmp6-calls> + <icmp6-calls>10</icmp6-calls> <no-route>0</no-route> <admin-prohibited>0</admin-prohibited> <beyond-scope>0</beyond-scope> @@ -308,7 +329,7 @@ EOF <port-unreachable>0</port-unreachable> <packet-too-big>0</packet-too-big> <time-exceed-transmit>0</time-exceed-transmit> - <time-exceed-reassembly>0</time-exceed-reassembly> + <time-exceed-reassembly>10</time-exceed-reassembly> <bad-header>0</bad-header> <bad-next-header>0</bad-next-header> <bad-option>0</bad-option> @@ -372,10 +393,10 @@ EOF <received-echo-replies>0</received-echo-replies> <received-router-solicitation>0</received-router-solicitation> <received-router-advertisement>0</received-router-advertisement> - <sent-errors>0</sent-errors> + <sent-errors>10</sent-errors> <sent-destination-unreachable>0</sent-destination-unreachable> <sent-admin-prohibited>0</sent-admin-prohibited> - <sent-time-exceeded>0</sent-time-exceeded> + <sent-time-exceeded>10</sent-time-exceeded> <sent-bad-parameter>0</sent-bad-parameter> <sent-packet-too-big>0</sent-packet-too-big> <sent-echo-requests>0</sent-echo-requests> diff --git a/tests/sys/netinet6/frag6/frag6_06.sh b/tests/sys/netinet6/frag6/frag6_06.sh index f5997c80f8a73..d8ee70d22401d 100755 --- a/tests/sys/netinet6/frag6/frag6_06.sh +++ b/tests/sys/netinet6/frag6/frag6_06.sh @@ -61,6 +61,17 @@ frag6_06_check_stats_0() { # The Python script has to wait for this already to get the ICMPv6 # hence we do not sleep here anymore. + nf=`jexec ${jname} sysctl -n net.inet6.ip6.frag6_nfragpackets` + case ${nf} in + 0) break ;; + *) atf_fail "VNET frag6_nfragpackets not 0 but: ${nf}" ;; + esac + nf=`sysctl -n net.inet6.ip6.frag6_nfrags` + case ${nf} in + 0) break ;; + *) atf_fail "Global frag6_nfrags not 0 but: ${nf}" ;; + esac + # # Check that the sysctl is set to what we expect. # diff --git a/tests/sys/netinet6/frag6/frag6_07.py b/tests/sys/netinet6/frag6/frag6_07.py index f559046e67bf5..c84a783137d34 100644 --- a/tests/sys/netinet6/frag6/frag6_07.py +++ b/tests/sys/netinet6/frag6/frag6_07.py @@ -54,6 +54,25 @@ def check_icmp6_error(args, packet): #icmp6.display() return True +def check_icmp6_error_2(args, packet): + ip6 = packet.getlayer(sp.IPv6) + if not ip6: + return False + oip6 = sp.IPv6(src=args.src[0], dst=args.to[0]) + if ip6.dst != oip6.src: + return False + icmp6 = packet.getlayer(sp.ICMPv6TimeExceeded) + if not icmp6: + return False + # ICMP6_TIME_EXCEED_REASSEMBLY 1 + if icmp6.code != 1: + return False + # Should we check the payload as well? + # We are running in a very isolated environment and nothing else + # should trigger an ICMPv6 Time Exceeded / Frag reassembly so leave it. + #icmp6.display() + return True + def main(): parser = argparse.ArgumentParser("frag6.py", description="IPv6 fragementation test tool") @@ -78,6 +97,7 @@ def main(): # Start sniffing on recvif sniffer = Sniffer(args, check_icmp6_error) + sniffer2 = Sniffer(args, check_icmp6_error_2) ######################################################################## @@ -88,6 +108,7 @@ def main(): # # A: Reassembly failure. # R: ICMPv6 param prob, param header. + # R: ICMPv6 timeout (1st frag, off=0) # data = "6" * 1280 ip6f01 = \ @@ -144,6 +165,13 @@ def main(): if not sniffer.foundCorrectPacket: sys.exit(1) + # Wait for expiry from first test run. + sleep(75) + sniffer2.setEnd() + sniffer2.join() + if not sniffer2.foundCorrectPacket: + sys.exit(1) + sys.exit(0) if __name__ == '__main__': diff --git a/tests/sys/netinet6/frag6/frag6_07.sh b/tests/sys/netinet6/frag6/frag6_07.sh index 927472b794a80..fcd719e52e4d9 100755 --- a/tests/sys/netinet6/frag6/frag6_07.sh +++ b/tests/sys/netinet6/frag6/frag6_07.sh @@ -47,6 +47,17 @@ frag6_07_check_stats() { # The Python script has to wait for this already to get the ICMPv6 # hence we do not sleep here anymore. + nf=`jexec ${jname} sysctl -n net.inet6.ip6.frag6_nfragpackets` + case ${nf} in + 0) break ;; + *) atf_fail "VNET frag6_nfragpackets not 0 but: ${nf}" ;; + esac + nf=`sysctl -n net.inet6.ip6.frag6_nfrags` + case ${nf} in + 0) break ;; + *) atf_fail "Global frag6_nfrags not 0 but: ${nf}" ;; + esac + # # Check selection of global UDP stats. # @@ -81,7 +92,7 @@ EOF <dropped-bad-version>0</dropped-bad-version> <received-fragments>3</received-fragments> <dropped-fragment>0</dropped-fragment> - <dropped-fragment-after-timeout>0</dropped-fragment-after-timeout> + <dropped-fragment-after-timeout>1</dropped-fragment-after-timeout> <dropped-fragments-overflow>0</dropped-fragments-overflow> <atomic-fragments>0</atomic-fragments> <reassembled-packets>0</reassembled-packets> @@ -109,7 +120,7 @@ EOF # XXX-TODO check output histogram (just too hard to parse [no multi-line-grep]) # cat <<EOF > ${HOME}/filter-${jname}.txt - <icmp6-calls>2</icmp6-calls> + <icmp6-calls>3</icmp6-calls> <no-route>0</no-route> <admin-prohibited>0</admin-prohibited> <beyond-scope>0</beyond-scope> @@ -117,7 +128,7 @@ EOF <port-unreachable>0</port-unreachable> <packet-too-big>0</packet-too-big> <time-exceed-transmit>0</time-exceed-transmit> - <time-exceed-reassembly>0</time-exceed-reassembly> + <time-exceed-reassembly>1</time-exceed-reassembly> <bad-header>2</bad-header> <bad-next-header>0</bad-next-header> <bad-option>0</bad-option> @@ -181,10 +192,10 @@ EOF <received-echo-replies>0</received-echo-replies> <received-router-solicitation>0</received-router-solicitation> <received-router-advertisement>0</received-router-advertisement> - <sent-errors>2</sent-errors> + <sent-errors>3</sent-errors> <sent-destination-unreachable>0</sent-destination-unreachable> <sent-admin-prohibited>0</sent-admin-prohibited> - <sent-time-exceeded>0</sent-time-exceeded> + <sent-time-exceeded>1</sent-time-exceeded> <sent-bad-parameter>2</sent-bad-parameter> <sent-packet-too-big>0</sent-packet-too-big> <sent-echo-requests>0</sent-echo-requests> diff --git a/tests/sys/netinet6/frag6/frag6_08.py b/tests/sys/netinet6/frag6/frag6_08.py index 7d63c11b58a63..fa17e1e5c774a 100644 --- a/tests/sys/netinet6/frag6/frag6_08.py +++ b/tests/sys/netinet6/frag6/frag6_08.py @@ -54,6 +54,26 @@ def check_icmp6_error(args, packet): #icmp6.display() return True +def check_icmp6_error_2(args, packet): + ip6 = packet.getlayer(sp.IPv6) + if not ip6: + return False + oip6 = sp.IPv6(src=args.src[0], dst=args.to[0]) + if ip6.dst != oip6.src: + return False + icmp6 = packet.getlayer(sp.ICMPv6TimeExceeded) + if not icmp6: + return False + # ICMP6_TIME_EXCEED_REASSEMBLY 1 + if icmp6.code != 1: + return False + # Should we check the payload as well? + # We are running in a very isolated environment and nothing else + # should trigger an ICMPv6 Time Exceeded / Frag reassembly so leave it. + #icmp6.display() + return True + + def main(): parser = argparse.ArgumentParser("frag6.py", description="IPv6 fragementation test tool") @@ -78,15 +98,20 @@ def main(): # Start sniffing on recvif sniffer = Sniffer(args, check_icmp6_error) + sniffer2 = Sniffer(args, check_icmp6_error_2) ######################################################################## # # A fragment with payload and offset set to add up to >64k when # another frag with offset=0 arrives and has an unfrag part. + # This is us checking for all fragments queued already when the + # one with off=0 arrives. Note: unless the off=0 has its own problem + # it will be queued and off!=0 ones might be expunged with param prob. # - # A: Reassembly failure (timeout) after - # R: ICMPv6 param prob, param header (earlier). + # A: Reassembly failure, timeout after + # R: ICMPv6 param prob, param header (1st frag) + # R: ICMPv6 time exceeded (2nd frag, as off=0) # data = "6" * 15 ip6f01 = \ @@ -115,6 +140,11 @@ def main(): sniffer.join() if not sniffer.foundCorrectPacket: sys.exit(1) + sleep(75) + sniffer2.setEnd() + sniffer2.join() + if not sniffer2.foundCorrectPacket: + sys.exit(1) sys.exit(0) diff --git a/tests/sys/netinet6/frag6/frag6_08.sh b/tests/sys/netinet6/frag6/frag6_08.sh index 3de04f539e082..19aa7214494d8 100755 --- a/tests/sys/netinet6/frag6/frag6_08.sh +++ b/tests/sys/netinet6/frag6/frag6_08.sh @@ -47,6 +47,17 @@ frag6_08_check_stats() { # The Python script has to wait for this already to get the ICMPv6 # hence we do not sleep here anymore. + nf=`jexec ${jname} sysctl -n net.inet6.ip6.frag6_nfragpackets` + case ${nf} in + 0) break ;; + *) atf_fail "VNET frag6_nfragpackets not 0 but: ${nf}" ;; + esac + nf=`sysctl -n net.inet6.ip6.frag6_nfrags` + case ${nf} in + 0) break ;; + *) atf_fail "Global frag6_nfrags not 0 but: ${nf}" ;; + esac + # # Check selection of global UDP stats. # @@ -81,7 +92,7 @@ EOF <dropped-bad-version>0</dropped-bad-version> <received-fragments>2</received-fragments> <dropped-fragment>0</dropped-fragment> - <dropped-fragment-after-timeout>0</dropped-fragment-after-timeout> + <dropped-fragment-after-timeout>1</dropped-fragment-after-timeout> <dropped-fragments-overflow>0</dropped-fragments-overflow> <atomic-fragments>0</atomic-fragments> <reassembled-packets>0</reassembled-packets> @@ -109,7 +120,7 @@ EOF # XXX-TODO check output histogram (just too hard to parse [no multi-line-grep]) # cat <<EOF > ${HOME}/filter-${jname}.txt - <icmp6-calls>1</icmp6-calls> + <icmp6-calls>2</icmp6-calls> <no-route>0</no-route> <admin-prohibited>0</admin-prohibited> <beyond-scope>0</beyond-scope> @@ -117,7 +128,7 @@ EOF <port-unreachable>0</port-unreachable> <packet-too-big>0</packet-too-big> <time-exceed-transmit>0</time-exceed-transmit> - <time-exceed-reassembly>0</time-exceed-reassembly> + <time-exceed-reassembly>1</time-exceed-reassembly> <bad-header>1</bad-header> <bad-next-header>0</bad-next-header> <bad-option>0</bad-option> @@ -181,10 +192,10 @@ EOF <received-echo-replies>0</received-echo-replies> <received-router-solicitation>0</received-router-solicitation> <received-router-advertisement>0</received-router-advertisement> - <sent-errors>1</sent-errors> + <sent-errors>2</sent-errors> <sent-destination-unreachable>0</sent-destination-unreachable> <sent-admin-prohibited>0</sent-admin-prohibited> - <sent-time-exceeded>0</sent-time-exceeded> + <sent-time-exceeded>1</sent-time-exceeded> <sent-bad-parameter>1</sent-bad-parameter> <sent-packet-too-big>0</sent-packet-too-big> <sent-echo-requests>0</sent-echo-requests> diff --git a/tests/sys/netinet6/frag6/frag6_09.sh b/tests/sys/netinet6/frag6/frag6_09.sh index 6936a75d397a9..e97cc03e58433 100755 --- a/tests/sys/netinet6/frag6/frag6_09.sh +++ b/tests/sys/netinet6/frag6/frag6_09.sh @@ -52,6 +52,16 @@ frag6_09_check_stats() { # The Python script has to wait for this already to get the ICMPv6 # hence we do not sleep here anymore. + nf=`jexec ${jname} sysctl -n net.inet6.ip6.frag6_nfragpackets` + case ${nf} in + 0) break ;; + *) atf_fail "VNET frag6_nfragpackets not 0 but: ${nf}" ;; + esac + nf=`sysctl -n net.inet6.ip6.frag6_nfrags` + case ${nf} in + 0) break ;; + *) atf_fail "Global frag6_nfrags not 0 but: ${nf}" ;; + esac # # Check selection of global UDP stats. diff --git a/tests/sys/netinet6/frag6/frag6_10.py b/tests/sys/netinet6/frag6/frag6_10.py index 716324a469d91..02d25bd96450d 100644 --- a/tests/sys/netinet6/frag6/frag6_10.py +++ b/tests/sys/netinet6/frag6/frag6_10.py @@ -72,6 +72,8 @@ def main(): sp.sendp(ip6f01, iface=args.sendif[0], verbose=False) # We do not generate ICMPv6 for non-off=0-segments. + # Wait for expiry. + sleep(75) sys.exit(0) diff --git a/tests/sys/netinet6/frag6/frag6_10.sh b/tests/sys/netinet6/frag6/frag6_10.sh index fb1a26ad86993..bf3d0f4e20708 100755 --- a/tests/sys/netinet6/frag6/frag6_10.sh +++ b/tests/sys/netinet6/frag6/frag6_10.sh @@ -52,6 +52,16 @@ frag6_10_check_stats() { # The Python script has to wait for this already to get the ICMPv6 # hence we do not sleep here anymore. + nf=`jexec ${jname} sysctl -n net.inet6.ip6.frag6_nfragpackets` + case ${nf} in + 0) break ;; + *) atf_fail "VNET frag6_nfragpackets not 0 but: ${nf}" ;; + esac + nf=`sysctl -n net.inet6.ip6.frag6_nfrags` + case ${nf} in + 0) break ;; + *) atf_fail "Global frag6_nfrags not 0 but: ${nf}" ;; + esac # # Check selection of global UDP stats. @@ -77,8 +87,8 @@ EOF # # Check selection of global IPv6 stats. - # We do not seem to sent a timeout ICMPv6 for this one? - # No, as it is not an off=0 segment. + # We do not sent a timeout ICMPv6 for this one + # as it is not an off=0 segment. # cat <<EOF > ${HOME}/filter-${jname}.txt <dropped-below-minimum-size>0</dropped-below-minimum-size> @@ -87,7 +97,7 @@ EOF <dropped-bad-version>0</dropped-bad-version> <received-fragments>1</received-fragments> <dropped-fragment>0</dropped-fragment> - <dropped-fragment-after-timeout>0</dropped-fragment-after-timeout> + <dropped-fragment-after-timeout>1</dropped-fragment-after-timeout> <dropped-fragments-overflow>0</dropped-fragments-overflow> <atomic-fragments>0</atomic-fragments> <reassembled-packets>0</reassembled-packets> diff --git a/tests/sys/netinet6/frag6/frag6_11.sh b/tests/sys/netinet6/frag6/frag6_11.sh index 606b7d936c153..6329d7cd76775 100755 --- a/tests/sys/netinet6/frag6/frag6_11.sh +++ b/tests/sys/netinet6/frag6/frag6_11.sh @@ -52,6 +52,16 @@ frag6_11_check_stats() { # The Python script has to wait for this already to get the ICMPv6 # hence we do not sleep here anymore. + nf=`jexec ${jname} sysctl -n net.inet6.ip6.frag6_nfragpackets` + case ${nf} in + 0) break ;; + *) atf_fail "VNET frag6_nfragpackets not 0 but: ${nf}" ;; + esac + nf=`sysctl -n net.inet6.ip6.frag6_nfrags` + case ${nf} in + 0) break ;; + *) atf_fail "Global frag6_nfrags not 0 but: ${nf}" ;; + esac # # Check selection of global UDP stats. diff --git a/tests/sys/netinet6/frag6/frag6_12.sh b/tests/sys/netinet6/frag6/frag6_12.sh index 33121b868922b..7fdee7f850b26 100755 --- a/tests/sys/netinet6/frag6/frag6_12.sh +++ b/tests/sys/netinet6/frag6/frag6_12.sh @@ -52,6 +52,16 @@ frag6_12_check_stats() { # The Python script has to wait for this already to get the ICMPv6 # hence we do not sleep here anymore. + nf=`jexec ${jname} sysctl -n net.inet6.ip6.frag6_nfragpackets` + case ${nf} in + 0) break ;; + *) atf_fail "VNET frag6_nfragpackets not 0 but: ${nf}" ;; + esac + nf=`sysctl -n net.inet6.ip6.frag6_nfrags` + case ${nf} in + 0) break ;; + *) atf_fail "Global frag6_nfrags not 0 but: ${nf}" ;; + esac # # Check selection of global UDP stats. diff --git a/tests/sys/netinet6/frag6/frag6_13.py b/tests/sys/netinet6/frag6/frag6_13.py index 4ff96990db60a..da3b2afe239f7 100644 --- a/tests/sys/netinet6/frag6/frag6_13.py +++ b/tests/sys/netinet6/frag6/frag6_13.py @@ -114,6 +114,8 @@ def main(): sp.sendp(ip6f01, iface=args.sendif[0], verbose=False) sp.sendp(ip6f02, iface=args.sendif[0], verbose=False) + # Wait for expiry. + sleep(75) sys.exit(0) if __name__ == '__main__': diff --git a/tests/sys/netinet6/frag6/frag6_13.sh b/tests/sys/netinet6/frag6/frag6_13.sh index 22d143a0f0afd..c6d64dd82d45d 100755 --- a/tests/sys/netinet6/frag6/frag6_13.sh +++ b/tests/sys/netinet6/frag6/frag6_13.sh @@ -52,6 +52,16 @@ frag6_13_check_stats() { # The Python script has to wait for this already to get the ICMPv6 # hence we do not sleep here anymore. + nf=`jexec ${jname} sysctl -n net.inet6.ip6.frag6_nfragpackets` + case ${nf} in + 0) break ;; + *) atf_fail "VNET frag6_nfragpackets not 0 but: ${nf}" ;; + esac + nf=`sysctl -n net.inet6.ip6.frag6_nfrags` + case ${nf} in + 0) break ;; + *) atf_fail "Global frag6_nfrags not 0 but: ${nf}" ;; + esac # # Check selection of global UDP stats. @@ -85,7 +95,7 @@ EOF <dropped-bad-version>0</dropped-bad-version> <received-fragments>4</received-fragments> <dropped-fragment>2</dropped-fragment> - <dropped-fragment-after-timeout>0</dropped-fragment-after-timeout> + <dropped-fragment-after-timeout>2</dropped-fragment-after-timeout> <dropped-fragments-overflow>0</dropped-fragments-overflow> <atomic-fragments>0</atomic-fragments> <reassembled-packets>0</reassembled-packets> @@ -112,7 +122,7 @@ EOF # Check selection of global ICMPv6 stats. # cat <<EOF > ${HOME}/filter-${jname}.txt - <icmp6-calls>0</icmp6-calls> + <icmp6-calls>2</icmp6-calls> <no-route>0</no-route> <admin-prohibited>0</admin-prohibited> <beyond-scope>0</beyond-scope> @@ -120,7 +130,7 @@ EOF <port-unreachable>0</port-unreachable> <packet-too-big>0</packet-too-big> <time-exceed-transmit>0</time-exceed-transmit> - <time-exceed-reassembly>0</time-exceed-reassembly> + <time-exceed-reassembly>2</time-exceed-reassembly> <bad-header>0</bad-header> <bad-next-header>0</bad-next-header> <bad-option>0</bad-option> @@ -184,10 +194,10 @@ EOF <received-echo-replies>0</received-echo-replies> <received-router-solicitation>0</received-router-solicitation> <received-router-advertisement>0</received-router-advertisement> - <sent-errors>0</sent-errors> + <sent-errors>2</sent-errors> <sent-destination-unreachable>0</sent-destination-unreachable> <sent-admin-prohibited>0</sent-admin-prohibited> - <sent-time-exceeded>0</sent-time-exceeded> + <sent-time-exceeded>2</sent-time-exceeded> <sent-bad-parameter>0</sent-bad-parameter> <sent-packet-too-big>0</sent-packet-too-big> <sent-echo-requests>0</sent-echo-requests> diff --git a/tests/sys/netinet6/frag6/frag6_14.py b/tests/sys/netinet6/frag6/frag6_14.py index a1533aa6c8877..915571cfc36f2 100644 --- a/tests/sys/netinet6/frag6/frag6_14.py +++ b/tests/sys/netinet6/frag6/frag6_14.py @@ -129,6 +129,8 @@ def main(): sp.sendp(ip6f01, iface=args.sendif[0], verbose=False) sp.sendp(ip6f02, iface=args.sendif[0], verbose=False) + # Wait for expiry. + sleep(75) sys.exit(0) if __name__ == '__main__': diff --git a/tests/sys/netinet6/frag6/frag6_14.sh b/tests/sys/netinet6/frag6/frag6_14.sh index 7c9a041199236..11acfbb68694d 100755 --- a/tests/sys/netinet6/frag6/frag6_14.sh +++ b/tests/sys/netinet6/frag6/frag6_14.sh @@ -52,6 +52,16 @@ frag6_14_check_stats() { # The Python script has to wait for this already to get the ICMPv6 # hence we do not sleep here anymore. + nf=`jexec ${jname} sysctl -n net.inet6.ip6.frag6_nfragpackets` + case ${nf} in + 0) break ;; + *) atf_fail "VNET frag6_nfragpackets not 0 but: ${nf}" ;; + esac + nf=`sysctl -n net.inet6.ip6.frag6_nfrags` + case ${nf} in + 0) break ;; + *) atf_fail "Global frag6_nfrags not 0 but: ${nf}" ;; + esac # # Check selection of global UDP stats. @@ -85,7 +95,7 @@ EOF <dropped-bad-version>0</dropped-bad-version> <received-fragments>6</received-fragments> <dropped-fragment>2</dropped-fragment> - <dropped-fragment-after-timeout>0</dropped-fragment-after-timeout> + <dropped-fragment-after-timeout>4</dropped-fragment-after-timeout> <dropped-fragments-overflow>0</dropped-fragments-overflow> <atomic-fragments>0</atomic-fragments> <reassembled-packets>0</reassembled-packets> @@ -112,7 +122,7 @@ EOF # Check selection of global ICMPv6 stats. # cat <<EOF > ${HOME}/filter-${jname}.txt - <icmp6-calls>0</icmp6-calls> + <icmp6-calls>1</icmp6-calls> <no-route>0</no-route> <admin-prohibited>0</admin-prohibited> <beyond-scope>0</beyond-scope> @@ -120,7 +130,7 @@ EOF <port-unreachable>0</port-unreachable> <packet-too-big>0</packet-too-big> <time-exceed-transmit>0</time-exceed-transmit> - <time-exceed-reassembly>0</time-exceed-reassembly> + <time-exceed-reassembly>1</time-exceed-reassembly> <bad-header>0</bad-header> <bad-next-header>0</bad-next-header> <bad-option>0</bad-option> @@ -184,10 +194,10 @@ EOF <received-echo-replies>0</received-echo-replies> <received-router-solicitation>0</received-router-solicitation> <received-router-advertisement>0</received-router-advertisement> - <sent-errors>0</sent-errors> + <sent-errors>1</sent-errors> <sent-destination-unreachable>0</sent-destination-unreachable> <sent-admin-prohibited>0</sent-admin-prohibited> - <sent-time-exceeded>0</sent-time-exceeded> + <sent-time-exceeded>1</sent-time-exceeded> <sent-bad-parameter>0</sent-bad-parameter> <sent-packet-too-big>0</sent-packet-too-big> <sent-echo-requests>0</sent-echo-requests> diff --git a/tests/sys/netinet6/frag6/frag6_15.sh b/tests/sys/netinet6/frag6/frag6_15.sh index 1b31bf103994e..2b6317ecb7f0a 100755 --- a/tests/sys/netinet6/frag6/frag6_15.sh +++ b/tests/sys/netinet6/frag6/frag6_15.sh @@ -61,6 +61,17 @@ frag6_15_check_stats() { # The Python script has to wait for this already to get the ICMPv6 # hence we do not sleep here anymore. + nf=`jexec ${jname} sysctl -n net.inet6.ip6.frag6_nfragpackets` + case ${nf} in + 0) break ;; + *) atf_fail "VNET frag6_nfragpackets not 0 but: ${nf}" ;; + esac + nf=`sysctl -n net.inet6.ip6.frag6_nfrags` + case ${nf} in + 0) break ;; + *) atf_fail "Global frag6_nfrags not 0 but: ${nf}" ;; + esac + # # Check that the sysctl is set to what we expect. # diff --git a/tests/sys/netinet6/frag6/frag6_16.sh b/tests/sys/netinet6/frag6/frag6_16.sh index 2d0e43b3a39e7..f5f582ec7823f 100755 --- a/tests/sys/netinet6/frag6/frag6_16.sh +++ b/tests/sys/netinet6/frag6/frag6_16.sh @@ -48,6 +48,17 @@ frag6_16_check_stats() { # The Python script has to wait for this already to get the ICMPv6 # hence we do not sleep here anymore. + nf=`jexec ${jname} sysctl -n net.inet6.ip6.frag6_nfragpackets` + case ${nf} in + 0) break ;; + *) atf_fail "VNET frag6_nfragpackets not 0 but: ${nf}" ;; + esac + nf=`sysctl -n net.inet6.ip6.frag6_nfrags` + case ${nf} in + 0) break ;; + *) atf_fail "Global frag6_nfrags not 0 but: ${nf}" ;; + esac + # # Check selection of global UDP stats. # |
