From: Stefan Junker Date: Fri, 27 May 2016 08:57:39 +0000 (+0200) Subject: plugins: don't require CNI_NETNS for DEL command X-Git-Url: https://git.halfball.org/?a=commitdiff_plain;h=72337159c1c28772f752e9abedf74f7b24fce11a;p=plugins.git plugins: don't require CNI_NETNS for DEL command This will allow to free up the IPAM allocations when the caller doesn't have access to the network namespace anymore, e.g. due to a reboot. --- diff --git a/pkg/skel/skel.go b/pkg/skel/skel.go index 1f9438c..9cf0391 100644 --- a/pkg/skel/skel.go +++ b/pkg/skel/skel.go @@ -69,7 +69,7 @@ func PluginMain(cmdAdd, cmdDel func(_ *CmdArgs) error) { &netns, reqForCmdEntry{ "ADD": true, - "DEL": true, + "DEL": false, }, }, { diff --git a/plugins/main/bridge/bridge.go b/plugins/main/bridge/bridge.go index 6a90a4a..d4fc89c 100644 --- a/plugins/main/bridge/bridge.go +++ b/plugins/main/bridge/bridge.go @@ -289,6 +289,10 @@ func cmdDel(args *skel.CmdArgs) error { return err } + if args.Netns == "" { + return nil + } + var ipn *net.IPNet err = ns.WithNetNSPath(args.Netns, func(_ ns.NetNS) error { var err error diff --git a/plugins/main/ipvlan/ipvlan.go b/plugins/main/ipvlan/ipvlan.go index 84f9c77..d7cfc39 100644 --- a/plugins/main/ipvlan/ipvlan.go +++ b/plugins/main/ipvlan/ipvlan.go @@ -152,6 +152,10 @@ func cmdDel(args *skel.CmdArgs) error { return err } + if args.Netns == "" { + return nil + } + return ns.WithNetNSPath(args.Netns, func(_ ns.NetNS) error { return ip.DelLinkByName(args.IfName) }) diff --git a/plugins/main/macvlan/macvlan.go b/plugins/main/macvlan/macvlan.go index f7eb656..7739d7b 100644 --- a/plugins/main/macvlan/macvlan.go +++ b/plugins/main/macvlan/macvlan.go @@ -170,6 +170,10 @@ func cmdDel(args *skel.CmdArgs) error { return err } + if args.Netns == "" { + return nil + } + return ns.WithNetNSPath(args.Netns, func(_ ns.NetNS) error { return ip.DelLinkByName(args.IfName) }) diff --git a/plugins/main/ptp/ptp.go b/plugins/main/ptp/ptp.go index ec6e23e..aa695e3 100644 --- a/plugins/main/ptp/ptp.go +++ b/plugins/main/ptp/ptp.go @@ -199,6 +199,10 @@ func cmdDel(args *skel.CmdArgs) error { return err } + if args.Netns == "" { + return nil + } + var ipn *net.IPNet err := ns.WithNetNSPath(args.Netns, func(_ ns.NetNS) error { var err error