-
Notifications
You must be signed in to change notification settings - Fork 130
Conversation
Add ipV6 to the datagram socket options, this creates a socket that handles both ipv4 and ipv6 socket connections.
ethereum/p2p/src/main/java/tech/pegasys/pantheon/ethereum/p2p/discovery/PeerDiscoveryAgent.java
Outdated
Show resolved
Hide resolved
For the record, I've run a test with three Pantheon nodes: one as the boot node with I was not able to get a IPv6 boot node to work with or without this change:
|
Set the IPv6 state based on the presence or absence of an IPv6 address.
This unbreaks the tests. However I am strongly contemplating a CLI flag (either --ipv6, --noipv6, or --forceipv6) that will either enable the detection (--ipv6), force into ipv4 only (--noipv6) or force into ipv4/ipv6 mode (--forceipv6). The reason is that by turning on the flag we report to the CLI we bond to 0:0:0:0:0:0:0:0: instead of 0.0.0.0:. Not sure if it is a big issue or not. We could change the logging to report *: on the any address bonding while we are at it. |
The NC-1921 fix alone won't get you IPv6 peers, and the exception you saw is what happens. This patch allows the peers to bond now: https://gist.github.com/shemnon/9fee88df0e492e0ab28d83a2bd9b8df5 |
I'm saying I have working IPv6 peers with no changes from current master, as long as the bootnode is IPv4. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Using an IPv6 boot node now works.
PR description
Add ipV6 to the datagram socket options, this creates a socket that handles both
ipv4 and ipv6 socket connections.
Fixed Issue(s)
NC-1883