Skip to content

Commit 1194521

Browse files
authored
Merge pull request #62 from plumgrid/sock-name
Adding socket name lookup for PG containers
2 parents e26439f + 6a3d3bd commit 1194521

1 file changed

Lines changed: 27 additions & 4 deletions

File tree

plugin/driver/driver.go

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)