Skip to content

Conversation

@themarpe
Copy link
Collaborator

@themarpe themarpe commented Oct 9, 2025

Purpose

Fixes IPv4LL edge case on macOS when running with another ETH interface alongside normal WiFi connection. Also fixed CI that was failing before. PR split into two commits - one related to broadcast fix and one to CI improvements

Dependencies & Potential Impact

macOS discovery has potential impact

Deployment Plan

Planned for RVC2&4 IPv4LL improvements

@jakaskerl

@themarpe themarpe requested a review from moratom October 9, 2025 13:52
@moratom
Copy link
Collaborator

moratom commented Nov 11, 2025

Thanks @themarpe ! Appreciate the CI/integration fixes to make it running.

Is my understanding correct here?

  • the PR makes sure discovery actually sends a broadcast packet on all interfaces on MacOS
  • the behavior before that was that the same interface (that MacOS somehow picks) was used multiple times for the discovery
  • Linux works as expected without explicitly binding to an interface

LGTM if tested otherwise.

@themarpe
Copy link
Collaborator Author

Is my understanding correct here?

  • the PR makes sure discovery actually sends a broadcast packet on all interfaces on MacOS
  • the behavior before that was that the same interface (that MacOS somehow picks) was used multiple times for the discovery
  • Linux works as expected without explicitly binding to an interface
  1. Yes, the change actually makes sure that per iteration of the loop of the broadcast packet being sent to specific interface, is actually sent to that subnet - by - binding to interface first (macOS only diff)
  2. Yes, UDP broadcast in certain occasions (WiFi with internet + IPv4LL ETH), on macOS wasn't routed to IPv4LL subnet, even though it targeted IPv4LL subnet (169.254.x.y/16). Because we iterate through interfaces, we can then also bind to an interface to make sure it goes out on that interface & its subnet. (has to do with how macOS sets default routing in this occasion)
  3. Correct, Linux works as expected without binding to an interface

Yes, tested and approved by @jakaskerl as well on 2 mac hosts (existing & fresh)

@moratom moratom merged commit ffe0f85 into v3_develop Nov 11, 2025
28 checks passed
@moratom moratom deleted the macos_broadcast_improvements branch November 11, 2025 16:24
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 this pull request may close these issues.

3 participants