tailscale / tailscale/tailscale-rs
netmon: track whether ipv6 addresses are deprecated
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 1.2k
- Forks
- 61
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 22
Description
On my home network, I have IPv6 configured to use SLAAC, and I sometimes end up with devices with many addresses in the deprecated state. I'm guessing this is due to privacy extensions causing the address to rotate periodically. We still advertise these addresses in callmemaybe and send disco pings to them, and they're reported up to control. I think they probably shouldn't be; the intent of the deprecated status is that the address is only still around for existing connections but shouldn't be used for new ones. The tradeoff is obviously that these addresses then wouldn't be available as possible connectivity candidates, but it's probably worth eating that marginal cost for more sensible behavior. Todo here is to see what if anything the go codebase does about this.
Anyway, regardless of what we do in the runtime about it, the first thing to do is just to track the flag in netmon.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by locating the netmon implementation and its IPv6 address tracking, then inspect the Go codebase for how deprecated addresses are represented. Track the deprecated flag in the Rust netmon state; leave callmemaybe, disco pings, and control behavior for follow-up work.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- networking
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100