net/netutil: remove a use of deprecated interfaces.GetState

I'm working on moving all network state queries to be on
netmon.Monitor, removing old APIs.

Updates tailscale/corp#10910
Updates tailscale/corp#18960
Updates #7967
Updates #3299

Change-Id: If0de137e0e2e145520f69e258597fb89cf39a2a3
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
pull/11892/head
Brad Fitzpatrick 7 months ago committed by Brad Fitzpatrick
parent 7f587d0321
commit 4dece0c359

@ -6,6 +6,7 @@ package netutil
import ( import (
"bytes" "bytes"
"errors"
"fmt" "fmt"
"net/netip" "net/netip"
"os" "os"
@ -145,8 +146,6 @@ func CheckIPForwarding(routes []netip.Prefix, state *interfaces.State) (warn, er
// disabled or set to 'loose' mode for exit node functionality on any // disabled or set to 'loose' mode for exit node functionality on any
// interface. // interface.
// //
// The state param can be nil, in which case interfaces.GetState is used.
//
// The routes should only be advertised routes, and should not contain the // The routes should only be advertised routes, and should not contain the
// node's Tailscale IPs. // node's Tailscale IPs.
// //
@ -159,11 +158,7 @@ func CheckReversePathFiltering(state *interfaces.State) (warn []string, err erro
} }
if state == nil { if state == nil {
var err error return nil, errors.New("no link state")
state, err = interfaces.GetState()
if err != nil {
return nil, err
}
} }
// The kernel uses the maximum value for rp_filter between the 'all' // The kernel uses the maximum value for rp_filter between the 'all'

@ -8,6 +8,8 @@ import (
"net" "net"
"runtime" "runtime"
"testing" "testing"
"tailscale.com/net/netmon"
) )
type conn struct { type conn struct {
@ -70,7 +72,13 @@ func TestCheckReversePathFiltering(t *testing.T) {
if runtime.GOOS != "linux" { if runtime.GOOS != "linux" {
t.Skipf("skipping on %s", runtime.GOOS) t.Skipf("skipping on %s", runtime.GOOS)
} }
warn, err := CheckReversePathFiltering(nil) netMon, err := netmon.New(t.Logf)
if err != nil {
t.Fatal(err)
}
defer netMon.Close()
warn, err := CheckReversePathFiltering(netMon.InterfaceState())
t.Logf("err: %v", err) t.Logf("err: %v", err)
t.Logf("warnings: %v", warn) t.Logf("warnings: %v", warn)
} }

Loading…
Cancel
Save