From 96fe8a6db6c916c1474dbfab44b14d5fd5173988 Mon Sep 17 00:00:00 2001 From: Brad Fitzpatrick Date: Sun, 30 Mar 2025 21:11:41 -0700 Subject: [PATCH] net/netmon: always remember ifState as old state, even on minor changes Otherwise you can get stuck finding minor ones nonstop. Fixes #15484 Change-Id: I7f98ac338c0b32ec1b9fdc47d053207b5fc1bf23 Signed-off-by: Brad Fitzpatrick --- net/netmon/netmon.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/netmon/netmon.go b/net/netmon/netmon.go index bd62ab270..f2dd37f1d 100644 --- a/net/netmon/netmon.go +++ b/net/netmon/netmon.go @@ -441,7 +441,6 @@ func (m *Monitor) handlePotentialChange(newState *State, forceCallbacks bool) { delta.Major = m.IsMajorChangeFrom(oldState, newState) if delta.Major { m.gwValid = false - m.ifState = newState if s1, s2 := oldState.String(), delta.New.String(); s1 == s2 { m.logf("[unexpected] network state changed, but stringification didn't: %v", s1) @@ -449,6 +448,7 @@ func (m *Monitor) handlePotentialChange(newState *State, forceCallbacks bool) { m.logf("[unexpected] new: %s", jsonSummary(newState)) } } + m.ifState = newState // See if we have a queued or new time jump signal. if timeJumped { m.resetTimeJumpedLocked()