We can determine the interface name ourselves

This commit is contained in:
Jason A. Donenfeld 2018-04-19 15:54:33 +02:00
parent ab875491c0
commit 676bb91434
2 changed files with 8 additions and 4 deletions

View file

@ -90,7 +90,7 @@ func main() {
}
file := os.NewFile(uintptr(fd), "")
return CreateTUNFromFile(interfaceName, file)
return CreateTUNFromFile(file)
}()
if err != nil {

View file

@ -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