The goal is to move more network state accessors to netmon.Monitor
where they can be cheaper/cached. But first (this change and others)
we need to make sure the one netmon.Monitor is plumbed everywhere.
Some notable bits:
tsdial.NewDialer is added, taking a now-required netmon
because a tsdial.Dialer always has a netmon, anything taking both
a Dialer and a NetMon is now redundant; take only the Dialer and
get the NetMon from that if/when needed.
The goal is to move more network state accessors to netmon.Monitor where they can be cheaper/cached. But first (this change and others) we need to make sure the one netmon.Monitor is plumbed everywhere.
Some notable bits:
tsdial.NewDialer is added, taking a now-required netmon
because a tsdial.Dialer always has a netmon, anything taking both a Dialer and a NetMon is now redundant; take only the Dialer and get the NetMon from that if/when needed.
netmon.NewStatic is added, primarily for tests
Updates tailscale/corp#10910 Updates tailscale/corp#18960 Updates #7967 Updates #3299