Olm still reports relay after packets start going directly to Newt
- Dominant language
- Go
- Stars
- 116
- Forks
- 25
- Avg merge
- 23h 26m
- Merged PRs (30d)
- 4
Description
## Describe the Bug
I have two Newt sites on the same private network as my Mac. They use host networking and fixed UDP ports. The Mac is on a separate routed subnet and can reach both Newt addresses directly.
After fully restarting the Pangolin macOS client, both sites showed:
```json
{
"endpoint": "pangolin.example.com",
"isRelay": true,
"isLocal": false
}
```
About a minute later, `tcpdump` showed the Pangolin PacketTunnel process sending and receiving packets directly with one of the Newt LAN addresses:
```text
192.168.10.11.55000 > 192.168.30.16.52143: UDP, length 128
192.168.30.16.52143 > 192.168.10.11.55000: UDP, length 96
```
`lsof` confirmed that source port 55000 belonged to the PacketTunnel process. The 25-byte local test request and reply also succeeded for both Newt addresses.
The status still showed `isRelay: true` and `isLocal: false`. `lastSeen` stopped updating for those sites at the time they changed to relay, while other peers continued updating.
I found [#72](https://github.com/fosrl/olm/issues/72), but I do not have an overlapping private-resource route for either Newt address.
Am I misunderstanding what `isRelay` and `isLocal` are intended to report, or should they change when the UDP socket starts using the local Newt address?
## Environment
- OS Type & Version: macOS 26.6, build 25G72
- Pangolin Version: 1.22.0
- Edition: Enterprise
- Gerbil Version: 1.5.0
- Traefik Version: 3.7
- Newt Version: 1.16.0
- Client Version: Pangolin macOS 0.11.0
## To Reproduce
1. Run a Newt site with host networking and a fixed UDP port.
2. Make the Newt LAN address reachable from the client.
3. Fully restart the Pangolin macOS client.
4. Check `/status` through `/var/run/olm.sock`.
5. Capture packets between the client and Newt LAN addresses.
## Expected Behavior
I expected the status to show the local Newt address with `isLocal: true` once packets started going directly to it. If these fields describe something other than the address actually in use, clarification would be helpful.
Contributor guide
Assessment
This issue has not been assessed yet.