fix(reliability): rfplan review fixes — cli commit, assoc poll, ensure_attack wiring, idle reload

This commit is contained in:
2026-08-22 14:35:12 -06:00
parent 15cd3c5eb8
commit bace45d6e4
3 changed files with 206 additions and 26 deletions
@@ -3535,6 +3535,13 @@ def h_pineap_wifi_set_ap(ctx):
open_band = channel_band(openap.get('channel')) if openap.get('channel') is not None else None
use_radio1 = wpa_band in (BAND_5G, BAND_6G) or open_band in (BAND_5G, BAND_6G)
if use_radio1:
# Exclusivity: an uplink STA on radio1 must go down before any
# radio1 AP change so one phy never carries STA + AP at once.
import mk8_rfplan
try:
mk8_rfplan.ensure_attack()
except Exception:
pass
wpa_active = (wpa_band in (BAND_5G, BAND_6G) and bool(wpa.get('enabled', True))
and wpa.get('channel') is not None)
open_active = (open_band in (BAND_5G, BAND_6G) and bool(openap.get('enabled', True))
@@ -4353,7 +4360,13 @@ def _enterprise_boot_recover():
def h_attacks_deploy(ctx):
import mk8_gate
import mk8_rfplan
mk8_gate.enter('attack_deploy')
# Exclusivity: tear an active uplink down before deploying attack APs.
try:
mk8_rfplan.ensure_attack()
except Exception:
pass
body = ctx.body or {}
kind = (body.get('kind') or '').strip().lower()
if kind not in ('wpa', 'open', 'enterprise'):