Wi-Fi: Add possibility to control roaming between APs

Useful if you have multiple APs on one SSID.
This commit is contained in:
Mattias Walström
2026-06-04 15:27:22 +02:00
parent fc7083dd86
commit d67df890b6
2 changed files with 114 additions and 0 deletions
+61
View File
@@ -486,6 +486,67 @@ radio settings, and `show interface` to see all active AP interfaces.
> AP and Station modes cannot be mixed on the same radio. All virtual interfaces
> on a radio must be the same mode (all APs or all Stations).
## Fast Roaming Between Access Points
Fast roaming enables seamless client handoff between access points through
802.11k/r/v standards. These features can be enabled individually based on
your requirements.
### 802.11r - Fast BSS Transition
Enable 802.11r for fast handoff (<50ms) between APs with the same SSID:
```
admin@example:/config/interface/wifi0/> set wifi access-point roaming enable-80211r true
admin@example:/config/interface/wifi0/> set wifi access-point roaming mobility-domain 4f57
```
**Requirements:**
- All APs in roaming group must have **identical** SSID
- All APs must have **identical** passphrase (same keystore secret)
- All APs must use the **same mobility-domain** identifier
The mobility-domain defaults to `4f57` if not specified.
### 802.11k - Radio Resource Management
Enable 802.11k for client neighbor discovery and better roaming decisions:
```
admin@example:/config/interface/wifi0/> set wifi access-point roaming enable-80211k true
```
Enables neighbor reports and beacon reports, allowing clients to discover
nearby APs before roaming.
### 802.11v - BSS Transition Management
Enable 802.11v for network-assisted roaming:
```
admin@example:/config/interface/wifi0/> set wifi access-point roaming enable-80211v true
```
Allows APs to suggest better APs to clients, improving roaming decisions.
### Recommended Configuration
For optimal roaming experience, enable all three features:
```
admin@example:/config/interface/wifi0/> set wifi access-point roaming enable-80211k true
admin@example:/config/interface/wifi0/> set wifi access-point roaming enable-80211r true
admin@example:/config/interface/wifi0/> set wifi access-point roaming enable-80211v true
admin@example:/config/interface/wifi0/> set wifi access-point roaming mobility-domain 4f57
```
Repeat for all APs that should participate in the roaming group.
> [!NOTE]
> Not all client devices support all roaming features. Modern devices typically
> support 802.11k/r/v, but older devices may only support basic roaming without
> fast transition.
### AP as Bridge Port
WiFi AP interfaces can be added to bridges to integrate wireless devices
+53
View File
@@ -421,6 +421,59 @@ submodule infix-if-wifi {
}
}
container roaming {
description
"Fast roaming and seamless handoff configuration.
802.11k: Radio Resource Management (neighbor discovery)
802.11r: Fast BSS Transition (fast handoff)
802.11v: BSS Transition Management (network-assisted roaming)";
leaf enable-80211k {
type boolean;
description
"Enable 802.11k Radio Resource Management.
Allows clients to discover neighboring APs for better
roaming decisions. Enables:
- Neighbor reports
- Beacon reports";
}
leaf enable-80211r {
type boolean;
description
"Enable 802.11r Fast BSS Transition.
Reduces handoff latency from ~1s to <50ms through
pre-authentication. Required for seamless roaming.";
}
leaf enable-80211v {
type boolean;
description
"Enable 802.11v BSS Transition Management.
Allows APs to suggest better APs to clients, improving
network-assisted roaming decisions.";
}
leaf mobility-domain {
when "../enable-80211r = 'true'";
type string {
pattern '[0-9a-fA-F]{4}';
}
default "4f57";
description
"802.11r Mobility Domain identifier (4 hex digits).
All APs that clients should roam between MUST use the
same mobility domain ID.
Only applicable when 802.11r is enabled.";
}
}
/* Operational state */
container stations {