diff --git a/src/confd/src/hardware.c b/src/confd/src/hardware.c index 78efd7e5..d64e112b 100644 --- a/src/confd/src/hardware.c +++ b/src/confd/src/hardware.c @@ -457,6 +457,14 @@ static void wifi_gen_ssid_config(FILE *hostapd, struct lyd_node *cif, struct lyd fprintf(hostapd, "okc=1\n"); } + /* MBO: Multi-Band Operation (band steering) */ + if (roaming) { + const char *band_steering = lydx_get_cattr(roaming, "band-steering"); + + if (band_steering && !strcmp(band_steering, "true")) + fprintf(hostapd, "mbo=1\n"); + } + free(secret); } diff --git a/src/confd/yang/confd/infix-if-wifi.yang b/src/confd/yang/confd/infix-if-wifi.yang index 0c2adfe2..d938581a 100644 --- a/src/confd/yang/confd/infix-if-wifi.yang +++ b/src/confd/yang/confd/infix-if-wifi.yang @@ -48,6 +48,12 @@ submodule infix-if-wifi { - Security: WPA2/WPA3 with keystore integration - Operational state: Connection status, RSSI, client lists"; + revision 2026-03-04 { + description + "Add band-steering (MBO) support and OKC configuration."; + reference "internal"; + } + revision 2026-02-12 { description "Add support for roaming, by adding support for 802.11v/k/r" @@ -539,6 +545,20 @@ submodule infix-if-wifi { Safe to leave enabled (default) - only activates when both AP and client support it."; } + + leaf band-steering { + type boolean; + default false; + description + "Multi-Band Operation (MBO) band steering. + + Signals band preferences to capable clients, + encouraging dual-band devices to prefer 5GHz + over 2.4GHz when signal quality permits. + + Safe to leave enabled (default) - only activates + when both AP and client support MBO."; + } } /* Operational state */