diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-11-07 20:14:43 +0900 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2017-11-10 16:20:09 +0900 |
commit | f283e17e12ce2199ce75b92d3a778ac8830cc2f9 (patch) | |
tree | e17a9b2e9ef612d8637b9ab3b93f2fa749eeb436 /src/tests | |
parent | 28070c6ba07d90a6c7dff558042674fc78e6ba1c (diff) |
netlink: make sure we reserve space for NLMSG_DONE
Otherwise, if messages pack really close together, we'll exceed the size
of the sk_buff and return ENOBUFS. I suspect this has been the cause of
a lot of weird bugs that people just worked around by increasing the
receive buffer size. This actually addresses the root cause.
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'src/tests')
-rwxr-xr-x | src/tests/netns.sh | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/tests/netns.sh b/src/tests/netns.sh index 9a12a19..2ad8d88 100755 --- a/src/tests/netns.sh +++ b/src/tests/netns.sh @@ -415,6 +415,15 @@ while read -r line; do done < <(n0 wg show wg0 allowed-ips) ((i == 40)) ip0 link del wg0 +ip0 link add wg0 type wireguard +config=( ) +for i in {1..29}; do + config+=( "[Peer]" "PublicKey=$(wg genkey)" ) +done +config+=( "[Peer]" "PublicKey=$(wg genkey)" "AllowedIPs=255.2.3.4/32,abcd::255/128" ) +n0 wg setconf wg0 <(printf '%s\n' "${config[@]}") +n0 wg showconf wg0 > /dev/null +ip0 link del wg0 ! n0 wg show doesnotexist || false |