Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F96550644
D46772.id143703.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
6 KB
Referenced Files
None
Subscribers
None
D46772.id143703.diff
View Options
diff --git a/tests/sys/netpfil/common/pft_ping.py b/tests/sys/netpfil/common/pft_ping.py
--- a/tests/sys/netpfil/common/pft_ping.py
+++ b/tests/sys/netpfil/common/pft_ping.py
@@ -408,17 +408,15 @@
description="Ping test tool")
# Parameters of sent ping request
- parser.add_argument('--sendif', nargs=1,
- required=True,
+ parser.add_argument('--sendif', required=True,
help='The interface through which the packet(s) will be sent')
- parser.add_argument('--to', nargs=1,
- required=True,
+ parser.add_argument('--to', required=True,
help='The destination IP address for the ping request')
parser.add_argument('--ping-type',
choices=('icmp', 'tcpsyn'),
help='Type of ping: ICMP (default) or TCP SYN',
default='icmp')
- parser.add_argument('--fromaddr', nargs=1,
+ parser.add_argument('--fromaddr',
help='The source IP address for the ping request')
# Where to look for packets to analyze.
@@ -431,36 +429,36 @@
# Packet settings
parser_send = parser.add_argument_group('Values set in transmitted packets')
- parser_send.add_argument('--send-flags', nargs=1, type=str,
+ parser_send.add_argument('--send-flags', type=str,
help='IPv4 fragmentation flags')
- parser_send.add_argument('--send-frag-length', nargs=1, type=int,
- help='Force IP fragmentation with given fragment length')
- parser_send.add_argument('--send-hlim', nargs=1, type=int,
+ parser_send.add_argument('--send-frag-length', type=int,
+ help='Force IP fragmentation with given fragment length')
+ parser_send.add_argument('--send-hlim', type=int,
help='IPv6 Hop Limit or IPv4 Time To Live')
- parser_send.add_argument('--send-mss', nargs=1, type=int,
+ parser_send.add_argument('--send-mss', type=int,
help='TCP Maximum Segment Size')
- parser_send.add_argument('--send-seq', nargs=1, type=int,
+ parser_send.add_argument('--send-seq', type=int,
help='TCP sequence number')
- parser_send.add_argument('--send-length', nargs=1, type=int,
- default=[len(PAYLOAD_MAGIC)], help='ICMP Echo Request payload size')
- parser_send.add_argument('--send-tc', nargs=1, type=int,
+ parser_send.add_argument('--send-length', type=int, default=len(PAYLOAD_MAGIC),
+ help='ICMP Echo Request payload size')
+ parser_send.add_argument('--send-tc', type=int,
help='IPv6 Traffic Class or IPv4 DiffServ / ToS')
parser_send.add_argument('--send-tcpopt-unaligned', action='store_true',
- help='Include unaligned TCP options')
+ help='Include unaligned TCP options')
parser_send.add_argument('--send-nop', action='store_true',
- help='Include a NOP IPv4 option')
+ help='Include a NOP IPv4 option')
# Expectations
parser_expect = parser.add_argument_group('Values expected in sniffed packets')
- parser_expect.add_argument('--expect-flags', nargs=1, type=str,
+ parser_expect.add_argument('--expect-flags', type=str,
help='IPv4 fragmentation flags')
- parser_expect.add_argument('--expect-hlim', nargs=1, type=int,
+ parser_expect.add_argument('--expect-hlim', type=int,
help='IPv6 Hop Limit or IPv4 Time To Live')
- parser_expect.add_argument('--expect-mss', nargs=1, type=int,
+ parser_expect.add_argument('--expect-mss', type=int,
help='TCP Maximum Segment Size')
- parser_send.add_argument('--expect-seq', nargs=1, type=int,
+ parser_send.add_argument('--expect-seq', type=int,
help='TCP sequence number')
- parser_expect.add_argument('--expect-tc', nargs=1, type=int,
+ parser_expect.add_argument('--expect-tc', type=int,
help='IPv6 Traffic Class or IPv4 DiffServ / ToS')
parser.add_argument('-v', '--verbose', action='store_true',
@@ -478,31 +476,26 @@
if args.verbose:
LOGGER.setLevel(logging.DEBUG)
- # Dig out real values of program arguments
- send_if = args.sendif[0]
- reply_ifs = args.replyif
- recv_ifs = args.recvif
- dst_address = args.to[0]
-
- # Standardize parameters which have nargs=1.
+ # Split parameters into send and expect parameters. Parameters might be
+ # missing from the command line, always fill the dictionaries with None.
send_params = {}
expect_params = {}
for param_name in ('flags', 'hlim', 'length', 'mss', 'seq', 'tc', 'frag_length'):
param_arg = vars(args).get(f'send_{param_name}')
- send_params[param_name] = param_arg[0] if param_arg else None
+ send_params[param_name] = param_arg if param_arg else None
param_arg = vars(args).get(f'expect_{param_name}')
- expect_params[param_name] = param_arg[0] if param_arg else None
+ expect_params[param_name] = param_arg if param_arg else None
expect_params['length'] = send_params['length']
send_params['tcpopt_unaligned'] = args.send_tcpopt_unaligned
send_params['nop'] = args.send_nop
- send_params['src_address'] = args.fromaddr[0] if args.fromaddr else None
+ send_params['src_address'] = args.fromaddr if args.fromaddr else None
# We may not have a default route. Tell scapy where to start looking for routes
- sp.conf.iface6 = send_if
+ sp.conf.iface6 = args.sendif
# Configuration sanity checking.
- if not (reply_ifs or recv_ifs):
+ if not (args.replyif or args.recvif):
raise Exception('With no reply or recv interface specified no traffic '
'can be sniffed and verified!'
)
@@ -514,22 +507,22 @@
else:
defrag = False
- if recv_ifs:
+ if args.recvif:
sniffer_params = copy(expect_params)
sniffer_params['src_address'] = None
- sniffer_params['dst_address'] = dst_address
- for iface in recv_ifs:
+ sniffer_params['dst_address'] = args.to
+ for iface in args.recvif:
LOGGER.debug(f'Installing receive sniffer on {iface}')
sniffers.append(
setup_sniffer(iface, args.ping_type, 'request',
sniffer_params, defrag,
))
- if reply_ifs:
+ if args.replyif:
sniffer_params = copy(expect_params)
- sniffer_params['src_address'] = dst_address
+ sniffer_params['src_address'] = args.to
sniffer_params['dst_address'] = None
- for iface in reply_ifs:
+ for iface in args.replyif:
LOGGER.debug(f'Installing reply sniffer on {iface}')
sniffers.append(
setup_sniffer(iface, args.ping_type, 'reply',
@@ -538,7 +531,7 @@
LOGGER.debug(f'Installed {len(sniffers)} sniffers')
- send_ping(dst_address, send_if, args.ping_type, send_params)
+ send_ping(args.to, args.sendif, args.ping_type, send_params)
err = 0
sniffer_num = 0
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Sep 26, 11:13 AM (18 h, 39 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
12827621
Default Alt Text
D46772.id143703.diff (6 KB)
Attached To
Mode
D46772: pf tests: Remove nargs from single arguments
Attached
Detach File
Event Timeline
Log In to Comment