gomemif: Add mode support
Type: feature
Change-Id: I0bc51288bc63a0583b98314e4e2a62383b0d6e43
Signed-off-by: Nathan Skrzypczak <nathan.skrzypczak@gmail.com>
diff --git a/extras/gomemif/memif/control_channel.go b/extras/gomemif/memif/control_channel.go
index 32e3493..12672e6 100644
--- a/extras/gomemif/memif/control_channel.go
+++ b/extras/gomemif/memif/control_channel.go
@@ -375,7 +375,6 @@
return fmt.Errorf("Failed to create UNIX domain socket")
}
usa := &syscall.SockaddrUnix{Name: socket.filename}
-
// Bind to address and start listening
err = syscall.SetsockoptInt(fd, syscall.SOL_SOCKET, syscall.SO_PASSCRED, 1)
if err != nil {
@@ -518,7 +517,7 @@
init := MsgInit{
Version: Version,
Id: cc.i.args.Id,
- Mode: interfaceModeEthernet,
+ Mode: cc.i.args.Mode,
}
copy(init.Name[:], []byte(cc.socket.appName))
diff --git a/extras/gomemif/memif/interface.go b/extras/gomemif/memif/interface.go
index a571deb..15a8e87 100644
--- a/extras/gomemif/memif/interface.go
+++ b/extras/gomemif/memif/interface.go
@@ -71,6 +71,7 @@
type Arguments struct {
Id uint32 // Interface identifier unique across socket. Used to identify peer interface when connecting
IsMaster bool // Interface role master/slave
+ Mode interfaceMode
Name string
Secret [24]byte // optional parameter, secrets of the interfaces must match if they are to connect
MemoryConfig MemoryConfig
diff --git a/extras/gomemif/memif/memif.go b/extras/gomemif/memif/memif.go
index 1a7857d..bc1c560 100644
--- a/extras/gomemif/memif/memif.go
+++ b/extras/gomemif/memif/memif.go
@@ -52,9 +52,9 @@
type interfaceMode uint8
const (
- interfaceModeEthernet interfaceMode = iota
- interfaceModeIp
- interfaceModePuntInject
+ InterfaceModeEthernet interfaceMode = iota
+ InterfaceModeIp
+ InterfaceModePuntInject
)
const msgSize = 128