wgengine/monitor: ignore OS-specific uninteresting interfaces

Currently we ignore these interfaces in the darwin osMon but then would consider it
interesting when checking if anything had changed.

Signed-off-by: Maisem Ali <maisem@tailscale.com>
This commit is contained in:
Maisem Ali
2022-04-20 12:03:50 -07:00
committed by Maisem Ali
parent 1b89662eff
commit 8e40bfc6ea
6 changed files with 32 additions and 4 deletions

View File

@ -112,11 +112,18 @@ func addrType(addrs []route.Addr, rtaxType int) route.Addr {
return nil
}
func (m *darwinRouteMon) IsInterestingInterface(iface string) bool {
baseName := strings.TrimRight(iface, "0123456789")
switch baseName {
case "llw", "awdl", "pdp_ip", "ipsec":
return false
}
return true
}
func (m *darwinRouteMon) skipInterfaceAddrMessage(msg *route.InterfaceAddrMessage) bool {
if la, ok := addrType(msg.Addrs, unix.RTAX_IFP).(*route.LinkAddr); ok {
baseName := strings.TrimRight(la.Name, "0123456789")
switch baseName {
case "llw", "awdl", "pdp_ip", "ipsec":
if !m.IsInterestingInterface(la.Name) {
return true
}
}