netmon: Add fallback polling netmon for unsupported targets (like the existing Go one)

Open
#484 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
57/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
rust
Domain
networking

Research direction

Read crates/net/underlay/ts_netmon/src/netmon.rs around the unsupported-target pathway, then compare it with net/netmon/netmon.go. The issue suggests polling getifaddrs as the fallback; inspect how the existing netmon reports interface changes and what Unix targets need support. Done means unsupported Unix targets receive useful network monitoring instead of a no-op, with coverage for the fallback behavior.

Written by the indexing model from the issue text.

Description

I'm trying to compile tailscale-rs for a unix target and noticed that it currently lacks any fallback netmon tool. The current unsupported target pathway no-ops:

https://github.com/tailscale/tailscale-rs/blob/a2a56c41b1db72d50d59d71d35c6669ff9639d14/crates/net/underlay/ts_netmon/src/netmon.rs#L18-L38

The Go one is quite serviceable so i think one that polls getifaddrs would suffice as a parallel.

I have one written up for my tests, would be glad to clean it up and submit a PR if this is a good addition.

Dominant language
Rust
Stars
1.2k
Forks
75
Avg merge
1d 13h
Merged PRs (30d)
22

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from tailscale/tailscale-rs

All issues in tailscale/tailscale-rs

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.