summaryrefslogtreecommitdiff
path: root/src/system
diff options
context:
space:
mode:
authorChristian Breunig <christian@breunig.cc>2026-10-07 19:57:00 +0200
committerChristian Breunig <christian@breunig.cc>2026-10-31 09:58:29 +0000
commit9f75f7bf6c143ee3ba7522d281f3a930634cbd83 (patch)
tree4f00ad53269b8e0fcd47da8a97da5b0aa532b23f /src/system
parentccac4ac565796934fa217dbcb6f470819ffb2d36 (diff)
downloadvyos-1x-9f75f7bf6c143ee3ba7522d281f3a930634cbd83.tar.gz
vyos-1x-9f75f7bf6c143ee3ba7522d281f3a930634cbd83.zip
interfaces: T3871: report a name which changed hands between known cards
Cards rearranged among themselves, or a map edited by hand, leave every name matched to a card the store knows - just not the one it had. That was filed as an ordinary match, indistinguishable from a machine where nothing moved, while the addresses configured under those names had quietly changed cable. Report it separately. Which name goes to which card is unchanged, the slot still decides; only the account of what happened is.
Diffstat (limited to 'src/system')
-rwxr-xr-xsrc/system/vyos-net-name-resolve.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/system/vyos-net-name-resolve.py b/src/system/vyos-net-name-resolve.py
index aa0e74c74..43d2ed8d2 100755
--- a/src/system/vyos-net-name-resolve.py
+++ b/src/system/vyos-net-name-resolve.py
@@ -151,8 +151,11 @@ def write_status(store: dict, devices: list, applied: dict, report: dict,
'renamed': applied,
# everything recognised from the store, however it was recognised
'matched': {**report.get('matched', {}),
+ **report.get('reassigned', {}),
**report.get('moved', {}),
**report.get('replaced', {})},
+ # the name changed hands between cards the store already knows
+ 'reassigned': report.get('reassigned', {}),
# the card was found in a different slot - certain, it is the same card
'moved': report.get('moved', {}),
# a different card took the slot - the one case that needs verifying