@@ -28,6 +28,7 @@ import (
2828 "github.com/docker/libnetwork/drivers/remote/api"
2929 "github.com/docker/libnetwork/netlabel"
3030 docker "github.com/fsouza/go-dockerclient"
31+ "github.com/plumgrid/cli/helpers/plumgrid/ifc_ctl"
3132
3233 "github.com/gorilla/mux"
3334 "github.com/vishvananda/netlink"
@@ -284,7 +285,18 @@ func (driver *driver) joinEndpoint(w http.ResponseWriter, r *http.Request) {
284285 mac := link .Attrs ().HardwareAddr .String ()
285286 Log .Infof ("mac address: %s\n " , mac )
286287
287- cmdStr := "sudo /opt/pg/bin/ifc_ctl gateway add_port " + if_local_name
288+ se_name , err := ifc_ctl .PgGetContainerDoorName ()
289+ if err != nil {
290+ Log .Infof ("Error attempting to find SE_name, will attempt ifc_ctl with default: %s" , ifc_ctl .DEFAULT_SE_NAME )
291+ se_name = ifc_ctl .DEFAULT_SE_NAME
292+ }
293+
294+ if se_name == "" {
295+ Log .Infof ("Could not find SE name, will try to use default door name: %s" , ifc_ctl .DEFAULT_SE_NAME )
296+ se_name = ifc_ctl .DEFAULT_SE_NAME
297+ }
298+
299+ cmdStr := "sudo /opt/pg/bin/ifc_ctl " + se_name + " add_port " + if_local_name
288300 Log .Infof ("addport cmd: %s" , cmdStr )
289301 cmd := exec .Command ("/bin/sh" , "-c" , cmdStr )
290302 var addport bytes.Buffer
@@ -298,7 +310,7 @@ func (driver *driver) joinEndpoint(w http.ResponseWriter, r *http.Request) {
298310 return
299311 }
300312
301- cmdStr = "sudo /opt/pg/bin/ifc_ctl gateway ifup " + if_local_name + " access_container cont_" + endID [:8 ] + " " + mac + " pgtag2=" + bridgeID + " pgtag1=" + domainid
313+ cmdStr = "sudo /opt/pg/bin/ifc_ctl " + se_name + " ifup " + if_local_name + " access_container cont_" + endID [:8 ] + " " + mac + " pgtag2=" + bridgeID + " pgtag1=" + domainid
302314 Log .Infof ("ifup cmd: %s" , cmdStr )
303315 cmd = exec .Command ("/bin/sh" , "-c" , cmdStr )
304316 var ifup bytes.Buffer
@@ -346,7 +358,18 @@ func (driver *driver) leaveEndpoint(w http.ResponseWriter, r *http.Request) {
346358
347359 if_local_name := "tap" + l .EndpointID [:5 ]
348360
349- cmdStr := "sudo /opt/pg/bin/ifc_ctl gateway ifdown " + if_local_name
361+ se_name , err := ifc_ctl .PgGetContainerDoorName ()
362+ if err != nil {
363+ Log .Infof ("Error attempting to find SE_name, will attempt ifc_ctl with default: %s" , ifc_ctl .DEFAULT_SE_NAME )
364+ se_name = ifc_ctl .DEFAULT_SE_NAME
365+ }
366+
367+ if se_name == "" {
368+ Log .Infof ("Could not find SE name, will try to use default door name: %s" , ifc_ctl .DEFAULT_SE_NAME )
369+ se_name = ifc_ctl .DEFAULT_SE_NAME
370+ }
371+
372+ cmdStr := "sudo /opt/pg/bin/ifc_ctl " + se_name + " ifdown " + if_local_name
350373 Log .Infof ("ifdown cmd: %s" , cmdStr )
351374 cmd := exec .Command ("/bin/sh" , "-c" , cmdStr )
352375 var ifdown bytes.Buffer
@@ -359,7 +382,7 @@ func (driver *driver) leaveEndpoint(w http.ResponseWriter, r *http.Request) {
359382 errorResponse (w , "Unable to off-board container from PLUMgrid" )
360383 }
361384
362- cmdStr = "sudo /opt/pg/bin/ifc_ctl gateway del_port " + if_local_name
385+ cmdStr = "sudo /opt/pg/bin/ifc_ctl " + se_name + " del_port " + if_local_name
363386 Log .Infof ("delport cmd: %s" , cmdStr )
364387 cmd = exec .Command ("/bin/sh" , "-c" , cmdStr )
365388 var delport bytes.Buffer
0 commit comments