github 2GT-Media-Group-LLC/mikrotik-manager v0.24.20-beta

latest releases: v0.24.23-beta, v0.24.22-beta, v0.24.21-beta...
pre-release4 hours ago

Fix VLAN writes, recalibrate signal zones, and two UI reports

Five reports from @Orhideous, all filed today.

VLAN assignment (#151)

Two defects, both confirmed by reading the write path.

failure: can not change dynamic. RouterOS keeps static and dynamic rows in
/interface/bridge/vlan. Dynamic ones are the bridge's own bookkeeping -- most
often for whatever VLAN a PVID names when no static row exists, which is why
VLAN 1 hits it -- and they cannot be modified. setPortVlanConfig found a row
and set it with no regard for which kind it was. The fix is what RouterOS
expects: add a static row, which supersedes the dynamic one.

A quieter bug sat beside it. Where no row existed at all the code did
nothing and reported success, so assigning a port to a VLAN the bridge had
never heard of silently achieved nothing.

frame-types and ingress-filtering were never written. They appeared only in
a list of attributes preserved when a port is re-created, and in Config
Health reads. So changing a port between access and trunk moved the PVID and
left frame admission untouched: a trunk still admitted untagged frames, an
access port still admitted tagged ones. The port type was half decorative.
The mode is now sent explicitly rather than inferred, and is optional -- an
existing API caller that omits it gets the old behaviour.

That last part needed the lockout predictor to catch up, and it had a real
gap: no invariant read frame-types, they were only mentioned in prose. So
the most direct way to strand a device was invisible to prediction --
admit-only-vlan-tagged on the port carrying untagged management drops those
frames at ingress while every VLAN row still lists the port and every other
invariant stays satisfied. New invariant, plus a test that the same change
without a mode is still allowed.

Verified on an empty cage: a VLAN with no row got a static row added, and
frame-types moved from admit-all to admit-only-vlan-tagged. Reverted after.

His suggestion of checkboxes instead of a comma-separated VLAN field is a
fair one and is not in this change.

Signal thresholds (#154)

He is right, and the app already agreed with him somewhere else: RadiosTab
coloured signals at -55/-70/-85 while RSSI_ZONES said -60/-70/-80, so the
same client read differently on two pages. Zones are now -70/-55/-45 and
both call sites share them.

Noted in the comment: dedicated point-to-point radios run happily near -80
and will read Poor, which is the cost of one scale for two different jobs.

All sites selector (#153)

Choosing "All sites" also navigated to /sites, conflating "show me every
site's data" with "take me to the sites page" and moving people off whatever
page they were on. The redirect existed because /sites had no other route;
it has had a sidebar entry since #148. Removed.

Firmware table (#152)

Used its own header styling and hand-rolled zebra striping instead of the
shared table classes, so it looked subtly different from /devices. Now
shares both, and shows device tags as he asked.

Full preflight green.


Container image: ghcr.io/2gt-media-group-llc/mikrotik-manager:0.24.20-beta

Documentation: https://2gt-media-group-llc.github.io/mikrotik-manager/

Don't miss a new mikrotik-manager release

NewReleases is sending notifications on new releases.