feat: hole-punch nim-v2.2 peer - #78
Conversation
|
Oops, was working locally 🤔 |
|
I made the workflow pass on my fork on a default github runner (with little changes to not use Which suggests that the issue might be with the connectivity of the cc: @richard-ramos |
|
Excellent contribution by @rlve on this PR. Adding nim-v1.15 support to the hole-punch interoperability test suite as both dialer and listener is an important step toward improving cross-implementation compatibility and strengthening NAT traversal testing across the libp2p ecosystem. It is great to see continued work expanding interoperability coverage for the Nim implementation. I also appreciate the persistence shown here in debugging the workflow issues, validating the setup independently on a fork, and identifying that the remaining failures may be related to self-hosted runner connectivity rather than the implementation itself. That kind of investigation adds a lot of confidence to the contribution and helps narrow down where the actual bottleneck exists. This is clearly an important PR for improving hole-punch interoperability coverage, and the work put into iterating through multiple fixes and validating behavior is highly appreciated. Since Hole Punch Interoperability Tests (PR) / run-tests is still failing, tagging @luca and @Sumanjeet here as well, could you both please help investigate the remaining CI/CD or runner-related issues and work toward resolving them at the earliest so we can move this forward for merge. Great work overall, @rlve, this is a meaningful contribution toward improving libp2p interoperability and hole-punch testing reliability across implementations. CCing @johannamoran |
Relay Connectivity Failure - RCA and Verified FixFailing Tests & Configurations
Error Status:
Root Cause AnalysisThe failures occurred before relay reservation or hole-punching could begin. The relay was sending TCP SYN-ACK responses correctly, but the NAT routers (dialer-router and listener-router) were dropping them. Due to Docker veth checksum offloading, conntrack marked incoming SYN-ACK packets as INVALID, preventing reverse NAT translation. As a result:
Resolution
VerificationThe fixes were verified locally. |
|
@acul71 , @sumanjeet0012 : Lets discuss with @richard-ramos and @rlve and arrive at a good conclusion on the issue. This is an important PR indeed. |
|
@seetadev @acul71 @sumanjeet0012 @richard-ramos I have updated nim version to the latest master. I wanted to see if it's gonna work in CI, but the workflow is hanging every time and won't finish. Locally it's working for me: |
seetadev
left a comment
There was a problem hiding this comment.
@acul71 , @sumanjeet0012 : Please help arrive at a good conclusion on the issue. Looks like an issue on the configuration front.
Works locally with all tests passing.
sumanjeet0012
left a comment
There was a problem hiding this comment.
@rlve The tests are now running, however they are taking longer time,
So lets remove the timeout and re run the tests.
| needs: resolve-parameters | ||
| if: needs.resolve-parameters.outputs.should-run-tests == 'true' | ||
| runs-on: [self-hosted, linux, x64, ephemeral] | ||
| timeout-minutes: 31 |
There was a problem hiding this comment.
@rlve Can you remove the timeout and re-run the tests.
|
@rlve : Great, thank you for making the requisite additions. Looking forward to investigating the 1 CI/CD issue, which is giving trouble. @sumanjeet0012 , @acul71 : Wish to share the logs: Artifact hole-punch-snapshot-hole-punch-f55a4511-131026-11-07-2026 has been successfully uploaded! Final size is 1308771 bytes. Artifact ID is 8249774949 |
|
@seetadev it looks to me the issues are not related to SummaryThe 4 "failing" hole-punch tests ( Root cause
[ -f "/sys/class/net/$br/bridge/$f" ] && echo 0 > "/sys/class/net/$br/bridge/$f"The write fails ( Why the pass/fail is misleadingEvery test that uses an OpenBSD router (dr or lr) crashes the same way — hole
That is the only reason exactly the 4 |
|
@rlve Spot on—your observations are completely correct. Could you please rebase or merge the latest master changes into this PR? Once applied, everything should work as expected. |
|
@sumanjeet0012 the branch is updated and tests passed. Thanks! |
|
@rlve , @sumanjeet0012 : Awesome, great to hear. Thank you so much for sharing the updates. Ccing @johannamoran and @mishmosh LGTM |
Add
nim-v1.15to hole-punch interop tests asdialer/listener.