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.go p2p: add 0 port check in dialer (#21008) 2020-05-11 18:11:17 +03:00
dial_test.go p2p: new dial scheduler (#20592) 2020-02-13 11:10:03 +01:00
message.go p2p: measure subprotocol bandwidth usage 2019-09-27 18:00:25 +03:00
message_test.go all: fix go vet warnings 2016-04-15 11:17:27 +02:00
metrics.go p2p: remove MeteredPeerEvent (#20679) 2020-02-17 13:22:14 +02:00
peer.go p2p: measure packet throughput too, not just bandwidth 2020-06-24 09:36:20 +03: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
protocol.go cmd/devp2p, p2p: dial using node iterator, discovery crawler (#20132) 2019-10-29 17:08:57 +02:00
rlpx.go p2p: measure packet throughput too, not just bandwidth 2020-06-24 09:36:20 +03:00
rlpx_test.go all: fix typos in comments (#21118) 2020-05-25 10:21:28 +02:00
server.go p2p/server: add UDP port mapping goroutine to wait group (#20846) 2020-04-01 18:00:33 +02: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
util.go p2p: new dial scheduler (#20592) 2020-02-13 11:10:03 +01:00
util_test.go p2p: new dial scheduler (#20592) 2020-02-13 11:10:03 +01:00