From 2fb0a712f0ca2f9a922cdc4f1f47b88c3ee70048 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Wed, 18 Mar 2020 13:23:00 -0700 Subject: tun: return a better error message if /dev/net/tun doesn't exist It was just returning "no such file or directory" (the String of the syscall.Errno returned by CreateTUN). Signed-off-by: Brad Fitzpatrick --- tun/tun_linux.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tun/tun_linux.go b/tun/tun_linux.go index 1e44b59..179635a 100644 --- a/tun/tun_linux.go +++ b/tun/tun_linux.go @@ -392,6 +392,9 @@ func (tun *NativeTun) Close() error { func CreateTUN(name string, mtu int) (Device, error) { nfd, err := unix.Open(cloneDevicePath, os.O_RDWR, 0) if err != nil { + if os.IsNotExist(err) { + return nil, fmt.Errorf("CreateTUN(%q) failed; %s does not exist", name, cloneDevicePath) + } return nil, err } -- cgit v1.2.3-59-g8ed1b