@@ -36,9 +36,11 @@ const (
36
36
37
37
DefaultNetDir = "/etc/cni/net.d"
38
38
39
- CmdAdd = "add"
40
- CmdCheck = "check"
41
- CmdDel = "del"
39
+ CmdAdd = "add"
40
+ CmdCheck = "check"
41
+ CmdDel = "del"
42
+ CmdGC = "gc"
43
+ CmdStatus = "status"
42
44
)
43
45
44
46
func parseArgs (args string ) ([][2 ]string , error ) {
@@ -125,16 +127,23 @@ func main() {
125
127
exit (err )
126
128
case CmdDel :
127
129
exit (cninet .DelNetworkList (context .TODO (), netconf , rt ))
130
+ case CmdGC :
131
+ // Currently just invoke GC without args, hence all network interface should be GC'ed!
132
+ exit (cninet .GCNetworkList (context .TODO (), netconf , nil ))
133
+ case CmdStatus :
134
+ exit (cninet .GetStatusNetworkList (context .TODO (), netconf ))
128
135
}
129
136
}
130
137
131
138
func usage () {
132
139
exe := filepath .Base (os .Args [0 ])
133
140
134
- fmt .Fprintf (os .Stderr , "%s: Add, check, or remove network interfaces from a network namespace\n " , exe )
135
- fmt .Fprintf (os .Stderr , " %s add <net> <netns>\n " , exe )
136
- fmt .Fprintf (os .Stderr , " %s check <net> <netns>\n " , exe )
137
- fmt .Fprintf (os .Stderr , " %s del <net> <netns>\n " , exe )
141
+ fmt .Fprintf (os .Stderr , "%s: Add, check, remove, gc or status network interfaces from a network namespace\n " , exe )
142
+ fmt .Fprintf (os .Stderr , " %s add <net> <netns>\n " , exe )
143
+ fmt .Fprintf (os .Stderr , " %s check <net> <netns>\n " , exe )
144
+ fmt .Fprintf (os .Stderr , " %s del <net> <netns>\n " , exe )
145
+ fmt .Fprintf (os .Stderr , " %s gc <net> <netns>\n " , exe )
146
+ fmt .Fprintf (os .Stderr , " %s status <net> <netns>\n " , exe )
138
147
os .Exit (1 )
139
148
}
140
149
0 commit comments