From ad2a5ccb61703af63d45dd8578295bf7119c85fc Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Mon, 28 Nov 2016 09:33:39 -0600 Subject: [PATCH] macvlan/ipvlan: use common RenameLink method --- pkg/ip/link.go | 8 ++++++++ plugins/main/ipvlan/ipvlan.go | 11 +---------- plugins/main/macvlan/macvlan.go | 11 +---------- 3 files changed, 10 insertions(+), 20 deletions(-) diff --git a/pkg/ip/link.go b/pkg/ip/link.go index 43b37390..6431bb41 100644 --- a/pkg/ip/link.go +++ b/pkg/ip/link.go @@ -90,6 +90,14 @@ func RandomVethName() (string, error) { 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. // Should be in container netns, and will switch back to hostNS to set the host // veth end up. diff --git a/plugins/main/ipvlan/ipvlan.go b/plugins/main/ipvlan/ipvlan.go index c7316bbe..a0f47705 100644 --- a/plugins/main/ipvlan/ipvlan.go +++ b/plugins/main/ipvlan/ipvlan.go @@ -101,7 +101,7 @@ func createIpvlan(conf *NetConf, ifName string, netns ns.NetNS) error { } return netns.Do(func(_ ns.NetNS) error { - err := renameLink(tmpName, ifName) + err := ip.RenameLink(tmpName, ifName) if err != nil { 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() { skel.PluginMain(cmdAdd, cmdDel, version.Legacy) } diff --git a/plugins/main/macvlan/macvlan.go b/plugins/main/macvlan/macvlan.go index 8e2adeb7..52c48700 100644 --- a/plugins/main/macvlan/macvlan.go +++ b/plugins/main/macvlan/macvlan.go @@ -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) } - err := renameLink(tmpName, ifName) + err := ip.RenameLink(tmpName, ifName) if err != nil { _ = netlink.LinkDel(mv) 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() { skel.PluginMain(cmdAdd, cmdDel, version.Legacy) }