MCPcopy Index your code
hub / github.com/tailscale/tailscale / SetNetworkMap

Method SetNetworkMap

wgengine/userspace.go:1294–1320  ·  view source on GitHub ↗
(nm *netmap.NetworkMap)

Source from the content-addressed store, hash-verified

1292}
1293
1294func (e *userspaceEngine) SetNetworkMap(nm *netmap.NetworkMap) {
1295 e.mu.Lock()
1296 e.netMap = nm
1297 tunGROKnobsChanged := false
1298 var curUDP, curTCP bool
1299 if buildfeatures.HasGRO && runtime.GOOS == "linux" && e.controlKnobs != nil {
1300 curUDP = e.controlKnobs.DisableTUNUDPGRO.Load()
1301 curTCP = e.controlKnobs.DisableTUNTCPGRO.Load()
1302 // Only act on transitions toward "disabled"; wireguard-go's GRO
1303 // disablement is sticky and cannot be reversed without restart.
1304 if (curUDP && !e.lastAppliedDisableTUNUDPGRO) ||
1305 (curTCP && !e.lastAppliedDisableTUNTCPGRO) {
1306 tunGROKnobsChanged = true
1307 }
1308 e.lastAppliedDisableTUNUDPGRO = curUDP
1309 e.lastAppliedDisableTUNTCPGRO = curTCP
1310 }
1311 e.mu.Unlock()
1312 if buildfeatures.HasGRO && tunGROKnobsChanged {
1313 e.logf("wgengine: TUN GRO knobs changed (DisableTUNUDPGRO=%v DisableTUNTCPGRO=%v); applying",
1314 curUDP, curTCP)
1315 e.tundev.ApplyGROKnobs(e.controlKnobs)
1316 }
1317 if e.networkLogger.Running() {
1318 e.networkLogger.ReconfigNetworkMap(nm)
1319 }
1320}
1321
1322func (e *userspaceEngine) UpdateStatus(sb *ipnstate.StatusBuilder) {
1323 st, err := e.getStatus()

Callers

nothing calls this directly

Calls 7

LockMethod · 0.65
LoadMethod · 0.65
UnlockMethod · 0.65
logfMethod · 0.45
ApplyGROKnobsMethod · 0.45
RunningMethod · 0.45
ReconfigNetworkMapMethod · 0.45

Tested by

no test coverage detected