From d68eeb1465c89351e4287a7fb418dc47be8f4492 Mon Sep 17 00:00:00 2001 From: Klemens Nanni Date: Sun, 29 Sep 2024 23:23:49 +0300 Subject: [PATCH] tun: OpenBSD: IPv6 ioctls require an IPv6 socket Otherwise you get "panic: inappropriate ioctl for device", even for a perfectly fine ioctl(2) call. --- src/tun/tun_openbsd.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/tun/tun_openbsd.go b/src/tun/tun_openbsd.go index f10342af..f6dcddd0 100644 --- a/src/tun/tun_openbsd.go +++ b/src/tun/tun_openbsd.go @@ -67,8 +67,8 @@ func (tun *TunAdapter) setupAddress(addr string) error { var err error // Create system socket - if sfd, err = unix.Socket(unix.AF_INET, unix.SOCK_DGRAM, 0); err != nil { - tun.log.Printf("Create AF_INET socket failed: %v.", err) + if sfd, err = unix.Socket(unix.AF_INET6, unix.SOCK_DGRAM, 0); err != nil { + tun.log.Printf("Create AF_INET6 socket failed: %v", err) return err }