You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue is to aggregate all the work and PRs we have open for taking Hole Punching to completion.
Done criteria: we recommend key consumers like go-ipfs and lotus enable it by default because the functionality works, is well tested, and has quality assertions in place to prevent regressions.
Solve Simultaneous connect in multi-stream for TCP hole Punching (Ready for Review)
go-multistream suffers from the simultaneous connect problem wherein it fails when two peers try to connect each other at the same time. This blocks hole punching. This is ONLY a problem for TCP and NOT for QUIC because QUIC does NOT use the multistream protocol for negotiating the security and stream negotiation protocols. The PRs below solve this problem using the method specd out in libp2p/specs#196.
2022-11-07 note: this item is deemed out of scope since it's, unfortunately a casualty of a time when functionality released without ensuring we have accompanying end-to-end test coverage. Backfiling test coverage for important functionality (including hole punching) is on the libp2p/test-plans roadmap and also dependent on some work in Testground itself. The issue above will get tackled above as part of those efforts.
This issue is to aggregate all the work and PRs we have open for taking Hole Punching to completion.
Done criteria: we recommend key consumers like go-ipfs and lotus enable it by default because the functionality works, is well tested, and has quality assertions in place to prevent regressions.
Solve Simultaneous connect in multi-stream for TCP hole Punching (Ready for Review)
go-multistreamsuffers from the simultaneous connect problem wherein it fails when two peers try to connect each other at the same time. This blocks hole punching. This is ONLY a problem for TCP and NOT for QUIC because QUIC does NOT use the multistream protocol for negotiating the security and stream negotiation protocols. The PRs below solve this problem using the method specd out in libp2p/specs#196.Swarm & Transport changes for Hole-Punching
Emit event for NAT device type
Limited Relay Protocol
Hole-Punching Co-ordination via Relay Server
Integrate Limited Relays
QUIC Changes
AutoRelay
Documentation
Automated testing to prevent regressions
Other
The below is a documentation issue that we will do as a best effort.