# TP28 — die toten Standalone-WLAN-Objekte vom CAP abraeumen. # # BEFUND (2026-08-18): ap1 und ap2 tragen weiterhin die komplette WLAN-Config aus # dem TP3-Standalone-Aufbau — 2 channel, 6 datapath, 6 security, 7 configuration, # 1 steering. Seit dem CAPsMAN-Cutover (2026-08-17) kommt all das vom Manager und # wird auf dem CAP als DYNAMISCHES Interface angelegt; die statischen Objekte sind # wirkungslos. Sie im Template als Soll zu rendern hiesse, totes Zeug zur Absicht # zu erklaeren — dasselbe Argument, mit dem in TP26 die defconf-Firewallregeln der # APs nicht ins Template geschrieben wurden. # # ⚠️ REIHENFOLGE IST PFLICHT: `configuration` referenziert security, datapath und # channel. Wer die Referenzierten zuerst loescht, bekommt einen Fehler und laesst # einen Teil-Zustand zurueck (Netmiko-Lehre aus TP5 Etappe 1). # # 🔴 `[find !dynamic]` WIRFT HIER EINEN SYNTAXFEHLER (2026-08-18 aufgeschlagen): # `/interface wifi configuration` und Geschwister haben gar keine `dynamic`- # Eigenschaft -- die gibt es nur auf `/interface wifi` selbst. Der erste Versuch # lief deshalb komplett in die on-error-Zweige und aenderte NICHTS, meldete aber # "Plan Completed". Wieder ein Beleg: nur die Gegenpruefung am Geraet zaehlt. # Richtig ist hier schlicht `[find]` -- diese Objekte sind ausnahmslos statisch. # # ⚠️ Die dynamischen VAPs (`/interface wifi find dynamic`) werden NICHT angefasst. # Sie tragen ihre Werte inline (datapath.vlan-id=..., SSID im Kommentar) und # referenzieren kein lokales Objekt -- am Geraet gegengeprueft. # # Erwartung: die Client-Verbindungen bleiben unberuehrt, weil kein einziges dieser # Objekte von einem laufenden VAP referenziert wird. :do { /interface wifi configuration remove [find] } on-error={ :log info "tp28c: configuration warf" } :do { /interface wifi steering remove [find] } on-error={ :log info "tp28c: steering warf" } :do { /interface wifi security remove [find] } on-error={ :log info "tp28c: security warf" } :do { /interface wifi datapath remove [find] } on-error={ :log info "tp28c: datapath warf" } :do { /interface wifi channel remove [find] } on-error={ :log info "tp28c: channel warf" } :log info ("tp28c: ENDE cfg=" . [:tostr [:len [/interface wifi configuration find]]] . " sec=" . [:tostr [:len [/interface wifi security find]]] . " dp=" . [:tostr [:len [/interface wifi datapath find]]] . " ch=" . [:tostr [:len [/interface wifi channel find]]] . " st=" . [:tostr [:len [/interface wifi steering find]]] . " cap-enabled=" . [:tostr [/interface wifi cap get enabled]])