diff options
-rw-r--r-- | main.go | 2 | ||||
-rw-r--r-- | tun_linux.go | 10 |
2 files changed, 8 insertions, 4 deletions
@@ -90,7 +90,7 @@ func main() { } file := os.NewFile(uintptr(fd), "") - return CreateTUNFromFile(interfaceName, file) + return CreateTUNFromFile(file) }() if err != nil { diff --git a/tun_linux.go b/tun_linux.go index 06b5af4..ac9824f 100644 --- a/tun_linux.go +++ b/tun_linux.go @@ -308,18 +308,22 @@ func (tun *NativeTun) Close() error { return tun.fd.Close() } -func CreateTUNFromFile(name string, fd *os.File) (TUNDevice, error) { +func CreateTUNFromFile(fd *os.File) (TUNDevice, error) { device := &NativeTun{ fd: fd, - name: name, events: make(chan TUNEvent, 5), errors: make(chan error, 5), nopi: false, } + var err error + + _, err = device.Name() + if err != nil { + return nil, err + } // start event listener - var err error device.index, err = getIFIndex(device.name) if err != nil { return nil, err |