git: 6d1471fda81a - main - pf tests: support packet size range in pft_ether.py
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 11 Jul 2022 19:58:09 UTC
The branch main has been updated by kp:
URL: https://cgit.FreeBSD.org/src/commit/?id=6d1471fda81adcab5c7098f262c9e07b2d6a9fbb
commit 6d1471fda81adcab5c7098f262c9e07b2d6a9fbb
Author: Kristof Provost <kp@FreeBSD.org>
AuthorDate: 2022-07-11 10:17:56 +0000
Commit: Kristof Provost <kp@FreeBSD.org>
CommitDate: 2022-07-11 17:55:26 +0000
pf tests: support packet size range in pft_ether.py
Teach pft_ether.py to send a range of packet sizes. Use this to move the
size sweep into Python, removing the repeated Python startup overhead
and greatly speeding up the pf.ether.short_pkt test.
This should fix test timeouts seen on ci.freebsd.org.
While here also extend the range of packet sizes tested, because it adds
very little runtime now.
Sponsored by: Rubicon Communications, LLC ("Netgate")
---
tests/sys/netpfil/pf/ether.sh | 11 ++++-------
tests/sys/netpfil/pf/pft_ether.py | 7 ++++++-
2 files changed, 10 insertions(+), 8 deletions(-)
diff --git a/tests/sys/netpfil/pf/ether.sh b/tests/sys/netpfil/pf/ether.sh
index 7fd55a5d78b5..0fe5069cf74c 100644
--- a/tests/sys/netpfil/pf/ether.sh
+++ b/tests/sys/netpfil/pf/ether.sh
@@ -668,13 +668,10 @@ short_pkt_body()
# Try sending ever shorter ping requests
# BPF won't let us send anything shorter than an Ethernet header, but
# that's good enough for this test
- for i in `seq 46 14`
- do
- $(atf_get_srcdir)/pft_ether.py \
- --sendif ${epair}a \
- --to 192.0.2.2 \
- --len ${i}
- done
+ $(atf_get_srcdir)/pft_ether.py \
+ --sendif ${epair}a \
+ --to 192.0.2.2 \
+ --len 14-64
}
short_pkt_cleanup()
diff --git a/tests/sys/netpfil/pf/pft_ether.py b/tests/sys/netpfil/pf/pft_ether.py
index 1892e0a8f95e..4efb974f7897 100644
--- a/tests/sys/netpfil/pf/pft_ether.py
+++ b/tests/sys/netpfil/pf/pft_ether.py
@@ -61,7 +61,12 @@ def main():
args = parser.parse_args()
- ping(args.sendif[0], args.to[0], int(args.len[0]))
+ if '-' in args.len[0]:
+ s=args.len[0].split('-')
+ for i in range(int(s[0]), int(s[1]) + 1):
+ ping(args.sendif[0], args.to[0], i)
+ else:
+ ping(args.sendif[0], args.to[0], int(args.len[0]))
if __name__ == '__main__':
main()