Skip to content
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

add tests for hole punching #126

Closed
Tracked by #64
marten-seemann opened this issue Feb 2, 2023 · 4 comments · Fixed by #304
Closed
Tracked by #64

add tests for hole punching #126

marten-seemann opened this issue Feb 2, 2023 · 4 comments · Fixed by #304

Comments

@marten-seemann
Copy link
Contributor

We should have tests to make sure that hole-punching through a NAT / firewall works. This test would mainly make sure that the DCUtR protocol is doing its job in coordinating the hole punch attempt.

This test would be especially valuable if it can be used to hole punch using different transports. That way, we can make sure that hole punching works on both TCP and QUIC, for example.

Main challenge: We need to find a way to model a NAT, so that we actually have something to punch through.

This test would build on (and probably replace) the Circuit v2 test (#116), similar to how the handshake RTT test is replacing the ping test.

@p-shahi
Copy link
Member

p-shahi commented Feb 2, 2023

Does this duplicate #21

If so let's close one or the other

@thomaseizinger
Copy link
Contributor

Given that we don't even have #116 yet, does it make sense to start that? Now that rust-libp2p has full hole-punching support for QUIC as well, I'd really like some automated tests for that.

Main challenge: We need to find a way to model a NAT, so that we actually have something to punch through.

Similarly to how @mxinden used terraform for the perf tests, I think we could provision a network with a NAT on AWS and then deploy the nodes there and run the tests.

@marten-seemann
Copy link
Contributor Author

Cross-posting here, I added some pointers for a dockerized NAT setup in #116 (comment).

@thomaseizinger
Copy link
Contributor

For all interested parties, there is now a PR at #304.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants