Support --host argument to weave launch
Allow the weave router bind to a specific host IP address instead of INADDR_ANY.
This commit is contained in:
1 parent
4117ef0c50
commit
1e01a31939
3 files changed
+9
-7
No files matched your search
+4
-3
@@ -76,6 +76,7 @@ func main() {
|
||||
}
|
||||
|
||||
mflag.BoolVar(&justVersion, []string{"#version", "-version"}, false, "print version and exit")
|
||||
mflag.StringVar(&config.Host, []string{"-host"}, "", "router host")
|
||||
mflag.IntVar(&config.Port, []string{"#port", "-port"}, mesh.Port, "router port")
|
||||
mflag.IntVar(&protocolMinVersion, []string{"-min-protocol-version"}, mesh.ProtocolMinVersion, "minimum weave protocol version")
|
||||
mflag.StringVar(&ifaceName, []string{"#iface", "-iface"}, "", "name of interface to capture/inject from (disabled if blank)")
|
||||
@@ -143,7 +144,7 @@ func main() {
|
||||
networkConfig.PacketLogging = nopPacketLogging{}
|
||||
}
|
||||
|
||||
overlay, bridge := createOverlay(datapathName, ifaceName, config.Port, bufSzMB)
|
||||
overlay, bridge := createOverlay(datapathName, ifaceName, config.Host, config.Port, bufSzMB)
|
||||
networkConfig.Bridge = bridge
|
||||
|
||||
name := peerName(routerName, bridge.Interface())
|
||||
@@ -272,7 +273,7 @@ func (nopPacketLogging) LogPacket(string, weave.PacketKey) {
|
||||
func (nopPacketLogging) LogForwardPacket(string, weave.ForwardPacketKey) {
|
||||
}
|
||||
|
||||
func createOverlay(datapathName string, ifaceName string, port int, bufSzMB int) (weave.NetworkOverlay, weave.Bridge) {
|
||||
func createOverlay(datapathName string, ifaceName string, host string, port int, bufSzMB int) (weave.NetworkOverlay, weave.Bridge) {
|
||||
overlay := weave.NewOverlaySwitch()
|
||||
var bridge weave.Bridge
|
||||
switch {
|
||||
@@ -291,7 +292,7 @@ func createOverlay(datapathName string, ifaceName string, port int, bufSzMB int)
|
||||
default:
|
||||
bridge = weave.NullBridge{}
|
||||
}
|
||||
sleeve := weave.NewSleeveOverlay(port)
|
||||
sleeve := weave.NewSleeveOverlay(host, port)
|
||||
overlay.Add("sleeve", sleeve)
|
||||
overlay.SetCompatOverlay(sleeve)
|
||||
return overlay, bridge
|
||||
|
||||
+4
-3
@@ -62,6 +62,7 @@ const (
|
||||
)
|
||||
|
||||
type SleeveOverlay struct {
|
||||
host string
|
||||
localPort int
|
||||
|
||||
// These fields are set in StartConsumingPackets, and not
|
||||
@@ -76,12 +77,12 @@ type SleeveOverlay struct {
|
||||
forwarders map[mesh.PeerName]*sleeveForwarder
|
||||
}
|
||||
|
||||
func NewSleeveOverlay(localPort int) NetworkOverlay {
|
||||
return &SleeveOverlay{localPort: localPort}
|
||||
func NewSleeveOverlay(host string, localPort int) NetworkOverlay {
|
||||
return &SleeveOverlay{host: host, localPort: localPort}
|
||||
}
|
||||
|
||||
func (sleeve *SleeveOverlay) StartConsumingPackets(localPeer *mesh.Peer, peers *mesh.Peers, consumer OverlayConsumer) error {
|
||||
localAddr, err := net.ResolveUDPAddr("udp4", fmt.Sprint(":", sleeve.localPort))
|
||||
localAddr, err := net.ResolveUDPAddr("udp4", fmt.Sprint(sleeve.host, ":", sleeve.localPort))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
+1
-1
Submodule vendor/github.com/weaveworks/mesh updated: e23da82f31...9af1d5f8b1.
Reference in new issue
Block a user