Skip to content

fix: wait for at least one ipv6 and ipv4 qad report #3413

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

Merged
merged 4 commits into from
Jul 29, 2025

Conversation

Frando
Copy link
Member

@Frando Frando commented Jul 29, 2025

Description

If an endpoint only has a single relay URL configured in its relay map, we currently abort the QAD net reports after a single successful report. However, we also decide whether an endpoint supports IPv6 on the fact if a QAD IPv6 report completed successfully or not. Those are two reports though, and if we abort after the first one, we falsely assume that the endpoint has no IPv6 connectivity.

This PR changes this in a rather simple way: If we did start both IPv4 and IPv6 reports, we always wait at least until one of each completed.

Unrelated to this change, the PR also adds logging when the best address changes.

Breaking Changes

Notes & open questions

Change checklist

  • Self-review.
  • Documentation updates following the style guide, if relevant.
  • Tests if relevant.
  • All breaking changes documented.
    • List all breaking changes in the above "Breaking Changes" section.
    • Open an issue or PR on any number0 repos that are affected by this breaking change. Give guidance on how the updates should be handled or do the actual updates themselves. The major ones are:

Copy link

github-actions bot commented Jul 29, 2025

Documentation for this PR has been generated and is available at: https://n0-computer.github.io/iroh/pr/3413/docs/iroh/

Last updated: 2025-07-29T13:41:25Z

Copy link

github-actions bot commented Jul 29, 2025

Netsim report & logs for this PR have been generated and is available at: LOGS
This report will remain available for 3 days.

Last updated for commit: 546b7ed

@matheus23
Copy link
Member

This PR changes this in a rather simple way: If we did start both IPv4 and IPv6 reports, we always wait at least until one of each completed.

We also have mapping_varies_by_dest_ipv6 (same for IPv4). Maybe we should wait for at least 2 probes of each if we have more than one relay.

@Frando
Copy link
Member Author

Frando commented Jul 29, 2025

We also have mapping_varies_by_dest_ipv6 (same for IPv4). Maybe we should wait for at least 2 probes of each if we have more than one relay.

This will increase the time the report takes, because now it might take a run across the ocean.

I don't know enough how relevant that is, so not sure what the right call is here - will defer to others or need to dig in further first.

@n0bot n0bot bot added this to iroh Jul 29, 2025
@github-project-automation github-project-automation bot moved this to 🏗 In progress in iroh Jul 29, 2025
@dignifiedquire
Copy link
Contributor

We also have mapping_varies_by_dest_ipv6 (same for IPv4). Maybe we should wait for at least 2 probes of each if we have more than one relay.

that’s not needed, we only need at least two ipv4 or two ipv6 and only if we have a least two relays

Co-authored-by: Philipp Krüger <[email protected]>
@flub
Copy link
Contributor

flub commented Jul 29, 2025

We also have mapping_varies_by_dest_ipv6 (same for IPv4). Maybe we should wait for at least 2 probes of each if we have more than one relay.

that’s not needed, we only need at least two ipv4 or two ipv6 and only if we have a least two relays

So much confidence in that statement... 😁

@matheus23 matheus23 enabled auto-merge July 29, 2025 13:40
@matheus23 matheus23 added this pull request to the merge queue Jul 29, 2025
Merged via the queue into main with commit b755db4 Jul 29, 2025
29 checks passed
@github-project-automation github-project-automation bot moved this from 🏗 In progress to ✅ Done in iroh Jul 29, 2025
@ramfox ramfox deleted the Frando/qad-report-wait-ipv6 branch July 29, 2025 14:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: ✅ Done
Development

Successfully merging this pull request may close these issues.

4 participants