Skip to content

fix(routeros): reconcile Ethernet set rows by default-name - #688

Open
insoln wants to merge 3 commits into
annetutil:mainfrom
insoln:fix/routeros-ethernet-identity-v2
Open

insoln wants to merge 3 commits into
annetutil:mainfrom
insoln:fix/routeros-ethernet-identity-v2

Conversation

@insoln

@insoln insoln commented Oct 10, 2026

Copy link
Copy Markdown

Fixes #676. Depends on #687; review only the last commit until it lands.
Replaces #677.

  • Pairs /interface ethernet set rows by factory default-name, accepting set ether1 ..., [ find default-name=ether1 ] and the compact form.
  • Compares only attributes owned by desired state; drift yields one targeted set [ find default-name=... ], never remove/add.
  • An empty desired value (comment="") clears the property; RouterOS then omits it from export, so absence is treated as converged.
  • Old-only interfaces stay unmanaged; missing, numeric or duplicate identities fail closed.

I hereby agree to the terms of the CLA available at: https://yandex.ru/legal/cla/?lang=en.

A compact RouterOS export drops attributes left at their default value, so disabled=no and mtu=1500 never appear after they are applied and the desired row was re-emitted on every run. Assume only platform-independent defaults for absent attributes; anything else still counts as drift.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

RouterOS: /interface ethernet set never converges between default-name and positional selectors

1 participant