-
Notifications
You must be signed in to change notification settings - Fork 995
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
quic: ability to listen on ipv4 and v6 #4165
Comments
- Read listen addresses from `config.addresses.swarm`. - Read external addresses from `config.addresses.announce`. - Ignore IPv6 QUIC addresses due to libp2p/rust-libp2p#4165.
- Read listen addresses from `config.addresses.swarm`. - Read external addresses from `config.addresses.announce`. - Ignore IPv6 QUIC addresses due to libp2p/rust-libp2p#4165.
hi, i'd like to work on this if its still relevant |
so far im having a bit of trouble recreating this bug applying the diff you mentioned i'm getting a: |
Help is much appreciated. Also since #3454 is merged now, I don't suspect any larger merge conflicts to come up.
I suspect this to be due to an error I made above. |
Thanks for the additional info I took a step back and just tried to run this example as is, with the example command found in the readme, but I'm getting a Connection Refused error message applying the diff you mentioned and running with the following command:
I'm getting a HandshakeTimedOut error. I'm probably missing something here, so if you have any additional tips/hints please let me know. In the meantime I'll keep playing around with this and see how far I can get |
With #4165 fixed, there is no need for filtering ipv6 quic.
Summary
With
libp2p-quic
v0.8.0-alpha
one can not listen on both a v4 and v6 address.Unconfirmed whether #3454 has the same issue.
Expected behaviour
Calling
listen_on
with a v4 and v6 address to work.Actual behaviour
Apply the following diff:
and then run with:
resulting in:
Debug Output
Possible Solution
My suspicion is that the ipv6
UdpSocket
binds to both v4 and v6 in order to accept IPv4-mapped IPv6 traffic e.g.::ffff:192.0.2.128
.In such case we would need to call
set_only_v6
on the socket.See same code on the tcp side:
rust-libp2p/transports/tcp/src/lib.rs
Lines 356 to 358 in 2671375
Version
libp2p-quic
v0.8.0-alpha
Would you like to work on fixing this bug?
No
The text was updated successfully, but these errors were encountered: