diff --git a/examples/v2/basic2.nim b/examples/v2/basic2.nim index 607f9f465..a6980a85e 100644 --- a/examples/v2/basic2.nim +++ b/examples/v2/basic2.nim @@ -18,7 +18,9 @@ proc runBackground() {.async.} = conf = WakuNodeConf.load() (extIp, extTcpPort, extUdpPort) = setupNat(conf.nat, clientId, Port(uint16(conf.tcpPort) + conf.portsShift), - Port(uint16(conf.udpPort) + conf.portsShift)) + # This is actually a UDP port but we're only supplying this value + # To satisfy the API. + Port(uint16(conf.tcpPort) + conf.portsShift)) node = WakuNode.new(conf.nodeKey, conf.listenAddress, Port(uint16(conf.tcpPort) + conf.portsShift), extIp, extTcpPort) diff --git a/waku/common/config_bridge.nim b/waku/common/config_bridge.nim index f7a27d8e1..275ca1737 100644 --- a/waku/common/config_bridge.nim +++ b/waku/common/config_bridge.nim @@ -31,11 +31,6 @@ type defaultValue: 30303 name: "devp2p-tcp-port" .}: uint16 - udpPort* {. - desc: "UDP listening port" - defaultValue: 9000 - name: "udp-port" .}: uint16 - portsShift* {. desc: "Add a shift to all default port numbers" defaultValue: 0 diff --git a/waku/common/wakubridge.nim b/waku/common/wakubridge.nim index 767e45cb1..61d68ca4f 100644 --- a/waku/common/wakubridge.nim +++ b/waku/common/wakubridge.nim @@ -265,24 +265,28 @@ when isMainModule: if conf.logLevel != LogLevel.NONE: setLogLevel(conf.logLevel) + ## `udpPort` is only supplied to satisfy underlying APIs but is not + ## actually a supported transport. + let udpPort = conf.devp2pTcpPort + # Load address configuration let (nodev1ExtIp, _, _) = setupNat(conf.nat, ClientIdV1, Port(conf.devp2pTcpPort + conf.portsShift), - Port(conf.udpPort + conf.portsShift)) + Port(udpPort + conf.portsShift)) # TODO: EthereumNode should have a better split of binding address and # external address. Also, can't have different ports as it stands now. nodev1Address = if nodev1ExtIp.isNone(): Address(ip: parseIpAddress("0.0.0.0"), tcpPort: Port(conf.devp2pTcpPort + conf.portsShift), - udpPort: Port(conf.udpPort + conf.portsShift)) + udpPort: Port(udpPort + conf.portsShift)) else: Address(ip: nodev1ExtIp.get(), tcpPort: Port(conf.devp2pTcpPort + conf.portsShift), - udpPort: Port(conf.udpPort + conf.portsShift)) + udpPort: Port(udpPort + conf.portsShift)) (nodev2ExtIp, nodev2ExtPort, _) = setupNat(conf.nat, clientId, Port(uint16(conf.libp2pTcpPort) + conf.portsShift), - Port(uint16(conf.udpPort) + conf.portsShift)) + Port(uint16(udpPort) + conf.portsShift)) # Topic interest and bloom var topicInterest: Option[seq[waku_protocol.Topic]] diff --git a/waku/v1/node/config.nim b/waku/v1/node/config.nim index 1e9b1a261..768412a5e 100644 --- a/waku/v1/node/config.nim +++ b/waku/v1/node/config.nim @@ -28,11 +28,6 @@ type defaultValue: 30303 name: "tcp-port" .}: uint16 - udpPort* {. - desc: "UDP listening port." - defaultValue: 30303 - name: "udp-port" .}: uint16 - portsShift* {. desc: "Add a shift to all port numbers." defaultValue: 0 diff --git a/waku/v1/node/wakunode1.nim b/waku/v1/node/wakunode1.nim index 20d9ec66d..1f36128cb 100644 --- a/waku/v1/node/wakunode1.nim +++ b/waku/v1/node/wakunode1.nim @@ -15,20 +15,23 @@ const clientId = "Nimbus waku node" proc run(config: WakuNodeConf, rng: ref BrHmacDrbgContext) {.raises: [Defect, ValueError, RpcBindError, CatchableError, Exception]} = + ## `udpPort` is only supplied to satisfy underlying APIs but is not + ## actually a supported transport. + let udpPort = config.tcpPort let - (ipExt, tcpPortExt, udpPortExt) = setupNat(config.nat, clientId, + (ipExt, tcpPortExt, _) = setupNat(config.nat, clientId, Port(config.tcpPort + config.portsShift), - Port(config.udpPort + config.portsShift)) + Port(udpPort + config.portsShift)) # TODO: EthereumNode should have a better split of binding address and # external address. Also, can't have different ports as it stands now. address = if ipExt.isNone(): Address(ip: parseIpAddress("0.0.0.0"), tcpPort: Port(config.tcpPort + config.portsShift), - udpPort: Port(config.udpPort + config.portsShift)) + udpPort: Port(udpPort + config.portsShift)) else: Address(ip: ipExt.get(), tcpPort: Port(config.tcpPort + config.portsShift), - udpPort: Port(config.udpPort + config.portsShift)) + udpPort: Port(udpPort + config.portsShift)) # Set-up node var node = newEthereumNode(config.nodekey, address, NetworkId(1), nil, clientId, diff --git a/waku/v2/node/config.nim b/waku/v2/node/config.nim index 4d0f31bde..083658333 100644 --- a/waku/v2/node/config.nim +++ b/waku/v2/node/config.nim @@ -32,11 +32,6 @@ type defaultValue: 60000 name: "tcp-port" }: Port - udpPort* {. - desc: "UDP listening port." - defaultValue: 60000 - name: "udp-port" }: Port - portsShift* {. desc: "Add a shift to all port numbers." defaultValue: 0 diff --git a/waku/v2/node/wakunode2.nim b/waku/v2/node/wakunode2.nim index 84136868f..1d2cdf860 100644 --- a/waku/v2/node/wakunode2.nim +++ b/waku/v2/node/wakunode2.nim @@ -823,11 +823,14 @@ when isMainModule: ## file. Optionally include persistent peer storage. ## No protocols are mounted yet. + ## `udpPort` is only supplied to satisfy underlying APIs but is not + ## actually a supported transport. + let udpPort = conf.tcpPort let (extIp, extTcpPort, extUdpPort) = setupNat(conf.nat, clientId, Port(uint16(conf.tcpPort) + conf.portsShift), - Port(uint16(conf.udpPort) + conf.portsShift)) + Port(uint16(udpPort) + conf.portsShift)) ## @TODO: the NAT setup assumes a manual port mapping configuration if extIp config is set. This probably ## implies adding manual config item for extPort as well. The following heuristic assumes that, in absence of manual ## config, the external port is the same as the bind port.