macvlan/ipvlan: use common RenameLink method
authorDan Williams <dcbw@redhat.com>
Mon, 28 Nov 2016 15:33:39 +0000 (09:33 -0600)
committerDan Williams <dcbw@redhat.com>
Wed, 25 Jan 2017 17:31:18 +0000 (11:31 -0600)
pkg/ip/link.go
plugins/main/ipvlan/ipvlan.go
plugins/main/macvlan/macvlan.go

index 43b3739..6431bb4 100644 (file)
@@ -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.
index c7316bb..a0f4770 100644 (file)
@@ -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)
 }
index 8e2adeb..52c4870 100644 (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)
                }
 
-               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)
 }