Command behaviour on wlc-01 (AireOS 8.10) and the Junos routers learned while changing them during Kaigi on Rails 2026.
config ap mode local <ap>(andflexconnect) asksAre you sure you want to continue? (y/n). Usesendthensend 'y', notrun(wlc_batch.sh!lines). The first prompt in a batch timed out in ssh_cli but theystill applied; confirm by watching the AP leaveshow ap summary. The AP reboots for 3–5 minutes.- DHCP-required and several other WLAN settings are refused while the WLAN is enabled (
Request failed - WLAN in the enabled state).config wlan disable N/ change /config wlan enable Ndrops the SSID for a few seconds and ends any runningdebug client. config wlan dhcp_server 10 0.0.0.0printsNote: DHCP server override is applicable only to the default AP group.It still turned DHCP Address Assignment Required off for the WLAN (verified withshow wlan 10). Re-enable withconfig wlan dhcp_server 10 0.0.0.0 required.Client Dhcp Required: Truestill shows on clients of a WLAN with DHCP-required disabled. Its source was not found (an exploration ofshow flexconnect group detail rk-venue,show interface detailed usr,show dhcp opt-82hung on the session limit).
- Changes apply immediately but are lost on a controller reload until
save config(Are you sure you want to save? (y/n), thenConfiguration Saved!). ssh_cli's AireOS dialect answers "n" to the save question at logout, so a session never saves by leaving. At Kaigi on Rails 2026 the only save was on Day 2 at 18:26. - ssh_cli does not recognise
(y/n)as a prompt:sendthe command, let it time out at the question, thensend y(wlc_batch.sh!lines). - Enter
config ...on one line from the exec prompt; ssh_cli's prompt pattern does not match theconfig>sub-prompt. - The CLI login timeout (5 minutes in 2026,
show sessions) closes idle sessions.
- Per-WLAN switch:
config wlan load-balance allow enable|disable 10(needs the WLAN disabled). Toggling it restarts the WLAN (about 280 clients dropped at Kaigi on Rails 2026). - Parameters: global
config load-balancing window|denial ...has no effect on APs in RF-profile groups. Per profile:config rf-profile load-balancing window <0-20> <profile>and... denial <1-10> <profile>. Window 20 is the most lenient (a smaller window denies more). - Load balancing only denies at association and never moves associated clients. Only disabling it on the WLAN stops the denials.
What made WLAN 14 (24rk) match WLAN 10 except for the setting under test, after the user asked "can't we align all other configurations except ssid including wpa3?":
config wlan security wpa wpa3 enable 14
config wlan security wpa akm pmf psk enable 14
config wlan security wpa akm sae enable 14
config wlan security pmf optional 14
config wlan radius_server auth add 14 1
config wlan radius_server auth add 14 2
config wlan radius_server acct disable 14
config wlan radio 14 802.11a
config wlan flexconnect post-auth acl rk-nodisco 14
config wlan flexconnect post-auth ipv6 acl rk-nodisco6 14
config wlan apgroup interface-mapping add rk-med 14 usr
config wlan enable 14
- The PSK is set by the user, never through Claude.
- A PSK WLAN refuses a session timeout of 86400 (max 65535). WLAN 14 got 1800 s while WLAN 10 shows 0, a difference for sessions over 30 minutes.
- Adding a WLAN to an AP group's interface mapping reset no AP and dropped no client.
- Rollback:
config wlan disable 14, thenconfig wlan apgroup interface-mapping delete rk-med 14.
RA throttling disabled, RA Guard on AP enabled, global multicast disabled, AP multicast mode unicast. Commands: show ipv6 summary, show ipv6 ra-guard ap summary, show network multicast mgid summary.
- Compare the policy across br-01.{itm,hnd,nrt} from
s3://rk-infra/glazed/redacted/. configure, thendelete protocols bgp group transit exportbeforeset protocols bgp group transit export [ transit-out-filter keepaway-1x accept ]. A plainsetappends to the existing list.show | compare,commit check.commit confirmed 5. Claude Code's auto mode refused it, so a human ran it.- Verify within the window:
run show route advertising-protocol bgp <peer>and transit Mbps (sum(irate(ifHCInOctets{instance=~"br-.+",ifAlias=~"^Transit:.+"}[2m]) * 8)), thencommitandexit.
keepaway-1xusesas-path-expand last-as, which does nothing on locally originated routes. Only the /31 and /32 got prepended; the /29 aggregates and2001:df0:8500:ca00::/56did not. itm transit input still fell from 20–99 to 2–3 Mbps.- Rollback:
set protocols bgp group transit export [ transit-out-filter accept ](after the samedelete). - Lowering local preference on one PoP to shed load disables ECMP entirely (user: "lowering preference disables load distribution isn't it?").