func (v *Vlan) init() error { link, err := netlink.LinkByName(v.name) if err == nil { if _, ok := link.(*netlink.Vlan); !ok { return fmt.Errorf("%s is not a VLAN device", v.name) } return nil } vlan := netlink.Vlan{} vlan.ParentIndex = v.link.Attrs().Index vlan.Name = v.name vlan.VlanId = v.id return netlink.LinkAdd(&vlan) }