diff options
author | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-04-19 15:54:33 +0200 |
---|---|---|
committer | Jason A. Donenfeld <Jason@zx2c4.com> | 2018-04-19 16:00:20 +0200 |
commit | 676bb9143461ae25304c414fb19595fef9c310db (patch) | |
tree | a58dd5aa8e8d84d6f274f3d63b96593d638a7526 | |
parent | ab875491c0c075588676b6e83d37f595a0c78ae6 (diff) |
We can determine the interface name ourselves
-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 |