macvlan/ipvlan: use common RenameLink method

This commit is contained in:
Dan Williams 2016-11-28 09:33:39 -06:00
parent befb95977c
commit ad2a5ccb61
3 changed files with 10 additions and 20 deletions

View File

@ -90,6 +90,14 @@ func RandomVethName() (string, error) {
return fmt.Sprintf("veth%x", entropy), nil return fmt.Sprintf("veth%x", entropy), nil
} }
func RenameLink(curName, newName string) error {
link, err := netlink.LinkByName(curName)
if err == nil {
err = netlink.LinkSetName(link, newName)
}
return err
}
// SetupVeth sets up a virtual ethernet link. // SetupVeth sets up a virtual ethernet link.
// Should be in container netns, and will switch back to hostNS to set the host // Should be in container netns, and will switch back to hostNS to set the host
// veth end up. // veth end up.

View File

@ -101,7 +101,7 @@ func createIpvlan(conf *NetConf, ifName string, netns ns.NetNS) error {
} }
return netns.Do(func(_ ns.NetNS) error { return netns.Do(func(_ ns.NetNS) error {
err := renameLink(tmpName, ifName) err := ip.RenameLink(tmpName, ifName)
if err != nil { if err != nil {
return fmt.Errorf("failed to rename ipvlan to %q: %v", ifName, err) return fmt.Errorf("failed to rename ipvlan to %q: %v", ifName, err)
} }
@ -170,15 +170,6 @@ func cmdDel(args *skel.CmdArgs) error {
}) })
} }
func renameLink(curName, newName string) error {
link, err := netlink.LinkByName(curName)
if err != nil {
return err
}
return netlink.LinkSetName(link, newName)
}
func main() { func main() {
skel.PluginMain(cmdAdd, cmdDel, version.Legacy) skel.PluginMain(cmdAdd, cmdDel, version.Legacy)
} }

View File

@ -116,7 +116,7 @@ func createMacvlan(conf *NetConf, ifName string, netns ns.NetNS) error {
return fmt.Errorf("failed to set proxy_arp on newly added interface %q: %v", tmpName, err) return fmt.Errorf("failed to set proxy_arp on newly added interface %q: %v", tmpName, err)
} }
err := renameLink(tmpName, ifName) err := ip.RenameLink(tmpName, ifName)
if err != nil { if err != nil {
_ = netlink.LinkDel(mv) _ = netlink.LinkDel(mv)
return fmt.Errorf("failed to rename macvlan to %q: %v", ifName, err) return fmt.Errorf("failed to rename macvlan to %q: %v", ifName, err)
@ -190,15 +190,6 @@ func cmdDel(args *skel.CmdArgs) error {
}) })
} }
func renameLink(curName, newName string) error {
link, err := netlink.LinkByName(curName)
if err != nil {
return err
}
return netlink.LinkSetName(link, newName)
}
func main() { func main() {
skel.PluginMain(cmdAdd, cmdDel, version.Legacy) skel.PluginMain(cmdAdd, cmdDel, version.Legacy)
} }