README
1Stress test bind(2) and connect(2) system calls in OpenBSD regress.
2
3bindconnect [-r] [-b bind] [-c connect] [-d delroute] [-f family] [-N addr/net]
4[-n num] [-o close] [-p proto] [-s socket] [-t time]
5 -b bind threads binding sockets, default 1
6 -c connect threads connecting sockets, default 1
7 -d delroute threads deleting cloned routes, default 0
8 -f family address family inet or inet6, default inet
9 -N addr/net connect to any address within network
10 -n num number of file descriptors, default 128
11 -o close threads closing sockets, default 1
12 -p proto protocol udp, tcp, name or number, default udp
13 -r set reuse port socket option
14 -s socket threads creating sockets, default 1
15 -t time run time in seconds, default 10
16
17Separate threads are started to run socket(2), close(2), bind(2),
18and connect(2) system calls concurrently. The number of sockets
19is controlled by the process limit of open file descriptors. All
20system calls operate on random file descriptors. By setting the
21number of threads for each system call and the number of available
22file descriptors, the focus for the stress test can be changed.
23
24Currently IPv4 and IPv6 UDP sockets are supported. Per default the
25address to bind and connect is 127.0.0.1 or ::1. LOCAL_NET or
26LOCAL_NET6 environment variable allows to bind on a local address
27and connect to all directly attached hosts. This triggers creation
28of cloned routes during source address selection. To stress test
29routing table, these routes can be deleted in another thread.
30