plugins/loopback: take lo down on CmdDel
authorStefan Junker <mail@stefanjunker.de>
Wed, 2 Mar 2016 11:54:43 +0000 (12:54 +0100)
committerStefan Junker <mail@stefanjunker.de>
Wed, 2 Mar 2016 14:27:05 +0000 (15:27 +0100)
plugins/main/loopback/loopback.go

index eb02eb1..b4e06bd 100644 (file)
@@ -33,7 +33,24 @@ func cmdAdd(args *skel.CmdArgs) error {
 }
 
 func cmdDel(args *skel.CmdArgs) error {
-       // del does nothing, we're going to destroy the device anyway
+       args.IfName = "lo" // ignore config, this only works for loopback
+       err := ns.WithNetNSPath(args.Netns, false, func(hostNS *os.File) error {
+               link, err := netlink.LinkByName(args.IfName)
+               if err != nil {
+                       return err // not tested
+               }
+
+               err = netlink.LinkSetDown(link)
+               if err != nil {
+                       return err // not tested
+               }
+
+               return nil
+       })
+       if err != nil {
+               return err // not tested
+       }
+
        return nil
 }