fix(qnt): Do not discard successful probes for unknown remotes#672
Merged
Conversation
When we receive a successful probe response from an unknown remote that only means the remote managed to challenge us from that remote. It is not because this remote was not advertised in an ADD_ADDRESS frame that it should be ignored. This now successfully opens paths if the server is behind a Desitnation Endpoint Dependent NAT.
|
Documentation for this PR has been generated and is available at: https://n0-computer.github.io/noq/pr/672/docs/noq/ Last updated: 2026-05-22T12:58:11Z |
Performance Comparison Report
|
| Scenario | noq | upstream | Delta | CPU (avg/max) |
|---|---|---|---|---|
| large-single | 5621.9 Mbps | 7901.8 Mbps | -28.9% | 97.8% / 149.0% |
| medium-concurrent | 5508.2 Mbps | 7887.5 Mbps | -30.2% | 98.0% / 150.0% |
| medium-single | 3926.3 Mbps | 4630.4 Mbps | -15.2% | 90.6% / 99.0% |
| small-concurrent | 3856.7 Mbps | 5213.2 Mbps | -26.0% | 95.4% / 102.0% |
| small-single | 3553.2 Mbps | 4634.8 Mbps | -23.3% | 95.0% / 102.0% |
Netsim Benchmarks (network simulation)
| Condition | noq | upstream | Delta |
|---|---|---|---|
| ideal | 3142.4 Mbps | 4042.0 Mbps | -22.3% |
| lan | 782.4 Mbps | 797.9 Mbps | -1.9% |
| lossy | 69.8 Mbps | 56.0 Mbps | +24.7% |
| wan | 83.8 Mbps | 83.8 Mbps | ~0% |
Summary
noq is 24.7% slower on average
4 tasks
matheus23
approved these changes
May 22, 2026
flub
added a commit
to n0-computer/iroh
that referenced
this pull request
May 22, 2026
… hard NAT (#4254) ## Description Patches noq to n0-computer/noq#672 Makes iroh successfully holepunch when the server is behind a hard NAT and the client is behind an easy NAT. The reverse aready worked before. ## Breaking Changes n/a ## Notes & open questions (@flub hijacked this PR) Once n0-computer/noq#672 is merged I'll update this PR to point to noq main again before merging. ## Change checklist - [x] Self-review. - [x] Tests if relevant. --------- Co-authored-by: Floris Bruynooghe <flub@n0.computer>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
When we receive a successful probe response from an unknown remote
that only means the remote managed to challenge us from that
remote. It is not because this remote was not advertised in an
ADD_ADDRESS frame that it should be ignored.
This now successfully opens paths if the server is behind a
Desitnation Endpoint Dependent NAT.
Replaces #647
Breaking Changes
n/a
Notes & open questions
I really wanted to have tests for this in proto, but they will come
later. In the meantime I'll point the patchbay tests from
n0-computer/iroh#4254 to this PR which will
test this.
Change checklist