summaryrefslogtreecommitdiff
path: root/tuntap
diff options
context:
space:
mode:
authorChristian Pointner <equinox@anytun.org>2017-08-15 13:32:57 +0200
committerChristian Pointner <equinox@anytun.org>2017-08-15 13:32:57 +0200
commit48806ac85df03a913353be2d3ce177ed00d3bcd3 (patch)
tree4e9454745e82923abaa4f998e112e21878a9a5bc /tuntap
parentimproved workaround for interface name 0-byte padding (diff)
ifname length mangling has been merged upstream
Diffstat (limited to 'tuntap')
-rw-r--r--tuntap/tuntap.go21
1 files changed, 3 insertions, 18 deletions
diff --git a/tuntap/tuntap.go b/tuntap/tuntap.go
index 18688b4..fd3b4ae 100644
--- a/tuntap/tuntap.go
+++ b/tuntap/tuntap.go
@@ -53,16 +53,15 @@ const (
type Device struct {
iface *extlib.Interface
iftype extlib.DevKind
- ifname string
}
func (dev *Device) Name() string {
- return dev.ifname
+ return dev.iface.Name()
}
func (dev *Device) Configure(addr net.IPNet) error {
// TODO: this only works on linux...
- ln, err := netlink.LinkByName(dev.ifname)
+ ln, err := netlink.LinkByName(dev.iface.Name())
if err != nil {
return fmt.Errorf("netlink(open netlink by name) failed: %v", err)
}
@@ -82,7 +81,7 @@ func (dev *Device) RunPostUp(script string) error {
ctx, cancel := context.WithTimeout(context.Background(), PostUpScriptTimeout)
defer cancel()
- if err := exec.CommandContext(ctx, script, dev.ifname).Run(); err != nil {
+ if err := exec.CommandContext(ctx, script, dev.iface.Name()).Run(); err != nil {
return err
}
return nil
@@ -106,13 +105,6 @@ func NewTunDevice(name string) (dev *Device, err error) {
if dev.iface, err = extlib.Open(name, extlib.DevTun, true); err != nil {
return
}
- dev.ifname = dev.iface.Name()
- // TODO: remove the following as soon as https://github.com/lab11/go-tuntap/pull/3 is merged
- idx := strings.IndexByte(dev.ifname, 0)
- if idx < 0 {
- idx = len(dev.ifname)
- }
- dev.ifname = dev.ifname[:idx]
return
}
@@ -121,13 +113,6 @@ func NewTapDevice(name string) (dev *Device, err error) {
if dev.iface, err = extlib.Open(name, extlib.DevTap, false); err != nil {
return
}
- dev.ifname = dev.iface.Name()
- // TODO: remove the following as soon as https://github.com/lab11/go-tuntap/pull/3 is merged
- idx := strings.IndexByte(dev.ifname, 0)
- if idx < 0 {
- idx = len(dev.ifname)
- }
- dev.ifname = dev.ifname[:idx]
return
}