From: Michael Zeltner Date: Wed, 17 Jul 2019 21:04:01 +0000 (+0200) Subject: tun: openbsd: don't change MTU when it's already the expected size X-Git-Tag: 0.0.20190805~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4d5819183e218e040fa0a73df560b4a4a9a768d7;p=thirdparty%2Fwireguard-go.git tun: openbsd: don't change MTU when it's already the expected size Allows for running wireguard-go as non-root user. Signed-off-by: Jason A. Donenfeld --- diff --git a/tun/tun_openbsd.go b/tun/tun_openbsd.go index 1e6191f..bbc0432 100644 --- a/tun/tun_openbsd.go +++ b/tun/tun_openbsd.go @@ -173,10 +173,13 @@ func CreateTUNFromFile(file *os.File, mtu int) (Device, error) { go tun.routineRouteListener(tunIfindex) - err = tun.setMTU(mtu) - if err != nil { - tun.Close() - return nil, err + currentMTU, err := tun.MTU() + if err != nil || currentMTU != mtu { + err = tun.setMTU(mtu) + if err != nil { + tun.Close() + return nil, err + } } return tun, nil