Skip to content

Draft: feat(client): try restricted proxy if NAT unknown

Just once, to offload unrestricted proxies. This is useful when our STUN servers are blocked or don't support the NAT discovery feature, or if they're just slow.

Closes #40178. Partially addresses #40376

This, however, will mess up metrics because the client reports "unrestricted" NAT for the first attempt, and, as far as I know, NAT type for the client's IP will not be overridden on further requests for proxy.

This, however, will mess up metric counts a bit because the client reports "unrestricted" NAT for the first attempt. We count rendezvous requests in UpdateRendezvousStats.

I tested this change a bit. It appears to work.

I did not add tests, unfortunately. Update: added.

TODO:

  • Please check if we need to use a lock to update the new broker's property.
  • Is it worth to merge this in its current state and mess up the metrics? Or will they even get messed up? Where are they even? Not on the broker apparently. Resolution: it's fine !392 (comment 3074071)
  • Pipelines are failing. Seems to be an unrelated reason again?
Edited by WofWca

Merge request reports