Listen to all Network Interfaces for discovery (#7434)

* listen to all ifaces for discovery

* fix test

* fix tests

* fix all tests

* Revert "fix all tests"

This reverts commit a5d6fffd45.

* Revert "fix tests"

This reverts commit b7a0cf5609.

* Revert "fix test"

This reverts commit 57e6218c68.

* fix and use loopback

* do properly

* fix

* listen to all ifaces

* fix bootnode

* make it trace

* make it loopback

* swap out

* change back

* fix e2e

* fix

* Update beacon-chain/p2p/discovery.go

Co-authored-by: Victor Farazdagi <simple.square@gmail.com>

Co-authored-by: Victor Farazdagi <simple.square@gmail.com>
Co-authored-by: prylabs-bulldozer[bot] <58059840+prylabs-bulldozer[bot]@users.noreply.github.com>
This commit is contained in:
Nishant Das
2020-10-08 23:16:18 +08:00
committed by GitHub
parent 796c336a29
commit a66f434236
2 changed files with 29 additions and 42 deletions

View File

@@ -92,7 +92,7 @@ func main() {
cfg := discover.Config{
PrivateKey: privKey,
}
ipAddr, err := iputils.ExternalIPv4()
ipAddr, err := iputils.ExternalIP()
if err != nil {
log.Fatal(err)
}
@@ -125,11 +125,23 @@ func createListener(ipAddr string, port int, cfg discover.Config) *discover.UDPv
if ip.To4() == nil {
log.Fatalf("IPV4 address not provided instead %s was provided", ipAddr)
}
var bindIP net.IP
var networkVersion string
switch {
case ip.To16() != nil && ip.To4() == nil:
bindIP = net.IPv6zero
networkVersion = "udp6"
case ip.To4() != nil:
bindIP = net.IPv4zero
networkVersion = "udp4"
default:
log.Fatalf("Valid ip address not provided instead %s was provided", ipAddr)
}
udpAddr := &net.UDPAddr{
IP: ip,
IP: bindIP,
Port: port,
}
conn, err := net.ListenUDP("udp4", udpAddr)
conn, err := net.ListenUDP(networkVersion, udpAddr)
if err != nil {
log.Fatal(err)
}