diff options
Diffstat (limited to 'src/tun.go')
-rw-r--r-- | src/tun.go | 16 |
1 files changed, 12 insertions, 4 deletions
@@ -46,13 +46,21 @@ func (device *Device) RoutineTUNEventReader() { } if event&TUNEventUp != 0 { - logInfo.Println("Interface set up") - device.Up() + if !device.tun.isUp.Get() { + // begin listening for incomming datagrams + logInfo.Println("Interface set up") + device.tun.isUp.Set(true) + updateBind(device) + } } if event&TUNEventDown != 0 { - logInfo.Println("Interface set down") - device.Up() + if device.tun.isUp.Get() { + // stop listening for incomming datagrams + logInfo.Println("Interface set down") + device.tun.isUp.Set(false) + closeBind(device) + } } } } |