go-ethereum/p2p
timcooijmans 7b5107b73f
p2p/discover: avoid dropping unverified nodes when table is almost empty (#21396)
This change improves discovery behavior in small networks. Very small
networks would often fail to bootstrap because all member nodes were
dropping table content due to findnode failure. The check is now changed
to avoid dropping nodes on findnode failure when their bucket is almost
empty. It also relaxes the liveness check requirement for FINDNODE/v4
response nodes, returning unverified nodes as results when there aren't
any verified nodes yet.

The "findnode failed" log now reports whether the node was dropped
instead of the number of results. The value of the "results" was
always zero by definition.

Co-authored-by: Felix Lange <fjl@twurst.com>
2020-08-24 14:42:39 +02:00
..
discover p2p/discover: avoid dropping unverified nodes when table is almost empty (#21396) 2020-08-24 14:42:39 +02:00
discv5 p2p/discv5: unset pingEcho on pong timeout (#21324) 2020-07-13 11:20:47 +02:00
dnsdisc all: fix typos in comments (#21118) 2020-05-25 10:21:28 +02:00
enode p2p/enode: update code comment (#20972) 2020-04-24 16:50:03 +02:00
enr core/forkid: implement the forkid EIP, announce via ENR (#19738) 2019-07-08 18:53:47 +03:00
nat p2p/nat: limit UPNP request concurrency (#21390) 2020-08-05 09:51:37 +02:00
netutil p2p/netutil: fix staticcheck warning (#20315) 2019-11-19 11:17:41 +02:00
nodestate les, les/lespay: implement new server pool (#20758) 2020-05-22 13:46:34 +02:00
simulations node: refactor package node (#21105) 2020-08-03 19:40:46 +02:00
dial_test.go p2p: new dial scheduler (#20592) 2020-02-13 11:10:03 +01:00
dial.go p2p: add 0 port check in dialer (#21008) 2020-05-11 18:11:17 +03:00
message_test.go all: fix go vet warnings 2016-04-15 11:17:27 +02:00
message.go p2p: measure subprotocol bandwidth usage 2019-09-27 18:00:25 +03:00
metrics.go p2p: remove MeteredPeerEvent (#20679) 2020-02-17 13:22:14 +02:00
peer_error.go p2p: fix some golint warnings (#16577) 2018-05-08 13:08:43 +02:00
peer_test.go p2p: new dial scheduler (#20592) 2020-02-13 11:10:03 +01:00
peer.go p2p: measure packet throughput too, not just bandwidth 2020-06-24 09:36:20 +03:00
protocol.go cmd/devp2p, p2p: dial using node iterator, discovery crawler (#20132) 2019-10-29 17:08:57 +02:00
rlpx_test.go all: fix typos in comments (#21118) 2020-05-25 10:21:28 +02:00
rlpx.go p2p: measure packet throughput too, not just bandwidth 2020-06-24 09:36:20 +03:00
server_test.go all: fix goroutine leaks in unit tests by adding 1-elem channel buffer (#20666) 2020-02-17 17:33:11 +01:00
server.go p2p/server: add UDP port mapping goroutine to wait group (#20846) 2020-04-01 18:00:33 +02:00
util_test.go p2p: new dial scheduler (#20592) 2020-02-13 11:10:03 +01:00
util.go p2p: new dial scheduler (#20592) 2020-02-13 11:10:03 +01:00