EM R6.1 introduces a new flag in the AP Capability TLV,
Support for RSN Overriding
An Agent sets the flag to true to advertise support for
RSN Overriding.
If the Agent does not support the feature,
or uses an old definition of the TLV,
in both cases the flag is 0.
In case the Controller has only RSN Security Configurations,
and is onboarding an Agent that does not support them,
push to this agent the security mode from the legacy
RSN IE: WPA2 for 2.4/5GHz, or WPA3 for 6GHz
Implements: PPM-3352
Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
* dummy bss_index so agent does not discard config when
bss_index is equal to 0
* when DataElements.Network.AccessPoint.Security.ModeEnabled
== WPA3-Compatibility-Mode, fill bss_info with enough info
to generate a valid WSC M2 message
* added the same bss_index to config that controller reads from
pwhm datamodel
Fixes: PPM-3352
Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
SetEHTOperations takes DisabledSubChannelBitmap as an argument.
The bitmap is added to EHT Operation TLV and is included as part
of Channel Selection Request Message CMDU, which is then sent to
the agent.
Closes PPM-3351
Signed-off-by: Jestin John Mathew <jestin-john.mathew_ext@softathome.com>
prplMesh controller does not able to catch events from
WiFi DM using usp backend.
Short-term solutions - using ubus backend in WifiManager.
PPM-3659.
Signed-off-by: Dmytro Puz <d.puz@inango-systems.com>
- Reject configurations from `Device.WiFi.DataElements.AccessPoint` if
use_dataelements_vap_configs is 0
- Reject configs from pWHM if use_dataelements_vap_configs is set to 1.
- Set use_dataelements_vap_configs if USE_PRPLMESH_WHM is not defined
- Add timer before applying ap changes.
Closes: PPM-3503
Signed-off-by: Dmytro Kysil <d.kysil@inango-systems.com>
- Moved SteerEvent, AgentConnectedEvent and AgentDisconnectedEvent from
@DATAELEMENTS_ROOT_DM@ to @CONTROLLER_ROOT_DM@
- Added prefix to CACCompletion
- SupportsVBSS
- Add prefix to TimeStamp in UnassociatedSTA
Closes: PPM-3477
Signed-off-by: Dmytro Kysil <d.kysil@inango-systems.com>
To support EHT, WiFi 7 capabities should Add MLD configuration
TLVs only if the agent supports MLO (max_num_mlds > 0) and
the radio supports EHT (eht_supported = true). This ensures
MLD TLVs are sent only when both agent and radio are
capable of handling Wi-Fi 7 MLO features.
Signed-off-by: Chandana Ramappa <chandana.r@tataelxsi.co.in>
Description: MLDUnit is added as part of
prplMesh controller northbound API for below AccessPoint DM
X_PRPLWARE-COM_WiFiController.Network.AccessPoint.{i}.MLDUnit
Closes: PPM-3564
Signed-off-by: Saran Mahalingam <saran.mahalingam@tataelxsi.co.in>
Following changes are done as per the review comments
1. on_action.cpp:
Clearing old MLD info: Ensures that stale or conflicting MLD configurations
are removed before applying new ones.
Setting emlsr = true: Indicates support for Enhanced Multi-Link Single Radio,
likely reflecting a feature upgrade.
Updating mld_id in bss_info: Helps associate BSS entries with their MLD unit,
improving tracking and management.
2. wbapi_utils.cpp:
The new function search_path_ssid_by_ssid_and_radio() adds a radio-specific filter
(LowerLayers) to SSID searches.
This is crucial in multi-radio setups to avoid ambiguity when the same SSID name is used
across different bands (e.g., 2.4GHz, 5GHz, 6GHz).
3. ap_wlan_hal_whm.cpp:
The update_mld_unit() function was refactored for simplicity and precision.
Instead of manually filtering SSIDs, it now uses the new utility function to directly fetch
the correct SSID object based on name and radio.
4. base_wlan_hal_whm.cpp
EHT Supported is Enabled.
Closes PPM-3564
Signed-off-by: Chandana Ramappa <chandana.r@tataelxsi.co.in>
Class `configData` name is not appropriate and does not specify
that it's the class to work with M2/M8's Encrypted Settings
So, to align this class with our code convention and make
naming more clear it's needed to rename it:
- configData -> EncryptedSettingsPayload
Related PPM-3576
Signed-off-by: Volodymyr Pavlenko <pavlenko.vv@pm.me>
bss_info.authentication_type is a bitmask
for WPA3-Personal-Transition, set both flags, WPA2 and WPA3
Issue: PPW-955
Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
controller: Send new TLV RSN Parameters Configuration in AP-Autoconfiguration...
Closes PPM-3290
See merge request prpl-foundation/prplmesh/prplMesh!3984
WPA3 Personal Compatibility Mode security is not yet supported.
To support it we need to add new RSN parameters configuration tlv.
If an agent supports RSN overriding, controller must
send rsn parameters configuration tlv.
In this commit, we only use this new tlv for
WPA3 Personal Compatibility mode configuration.
We keep the old way for other security modes.
For this new tlv, security data needs to be filled.
We predefined this data in structure.
For agent supporting RSN Overriding, we also add the BSS index
which is the new way to identify BSS through several TLVs.
https://prplfoundationcloud.atlassian.net/browse/PPM-3290
Signed-off-by: Vincent Ayme <vincent.ayme@sagemcom.com>
There are 6 GHz channel numbers within the 5 GHz DFS channel ranges, and without
proper band validation, 6 GHz channels are incorrectly chosen as DFS channels.
Add frequency band check to prevent wrong determination of DFS channels.
Closes: PPM-3482
Signed-off-by: Arda Aras <arda.aras@airties.com>
handle_topology_response() created and sent a raw TOPOLOGY_QUERY_MESSAGE
without appending the required Multi-AP Profile TLV.
This violated EasyMesh requirements and could cause peers to treat the
controller as Profile-1 only.
Reuse the existing son_actions::send_topology_query_msg() helper,
which always adds the Multi-AP Profile TLV.
This centralizes Topology Query handling and keeps behavior consistent
with other code paths (e.g. handle_topology_notification()).
Additional changes:
- Use const auto & in the neighbor loop.
- Add explicit error/warning logs when sending Topology Query or
AP-Autoconfig Renew fails.
This ensures spec compliance and reduces code duplication.
PPM-3513.
Signed-off-by: Dmytro Puz <d.puz@inango-systems.com>
unassociated_sta_path is not handled properly, due to this while updating
the stats in Datamodel ambiorix_set function returns error.
handling it accordingly.
Closes PPM-3011
Signed-off-by: rramasamy <rramasamy@maxlinear.com>
The bSta flag is used to tag if a Sta is BH or not. This flag is
set to true for BH Sta during onbording but it is then set
to false by handle_topology_notification. This behavior,
at minimum, prevents BH steering from working.
The actual condition to set the flag to false is:
bSta && !sta_in_handoff (sta beeing steered). This part of the
code has been integrated 6 years ago (commit: 57a1007) without
further explanations. On top of in the current code, no bSta can
have the sta_in_handoff set to true, meaning any bSta will
automatically be tagged as non bSta.
Remove this part that makes no sense in the current
implementation.
Closes: PPM-3462
Signed-off-by: Florent COUZON <florent.couzon-ext@sagemcom.com>
Currently, the radio wifi channel in radio database is set at
reception of AP-Autoconfiguration with Intel Slave join, when a
DFS CAC is performed or when a CSA happens. When a non Intel
Slave joins the radio wifi channel stays empty in database.
We could add the set in non Intel Slave join, but the channel
information is not available at AP-Autoconfiguration reception.
Or we can change it upon reception of the operating channel
report following the onboarding.
Add the set of radio wifi channel while setting the
op classes.
Closes: PPM-3459
Signed-off-by: Florent Couzon <florent.couzon-ext@sagemcom.com>
Sometimes MAC addresses belonging to a 1905 device are reported as non1905 neighbors
by some Agents. Therefore some Agents 1905 are added in the database as neighbors.
One solution could be to prevent Agent from sending false neighbor to Controller, but
Agents don't have the list of all the Agents. The other solution is to have the
Controller filter the list of neighbors upon reception.
We choose to filter the list of neighbors in the Controller in handle_topology_response.
https://prplfoundationcloud.atlassian.net/browse/PPM-3456
Signed-off-by: Florent COUZON <florent.couzon-ext@sagemcom.com>
Added handling of AP MLD Configuration Response Message on Controller.
Only Agent APMLD Configuration TLV has been handled here.
Closes PPM-3223
Signed-off-by: Vinu Bharath R <vinubhar@qti.qualcomm.com>
Add a AgentAPMLDConfigurationTLV containing the informations stored in
the BSSs and MLDs configurations to the M2 message sent by the controller
Closes PPM-3229
Signed-off-by: Nicolas HENRIQUES <nicolas.henriques-ext@sagemcom.com>
Add a BackhaulStaMLDConfigurationTLV containing the informations stored in
the BSSs and MLDs configurations to the M2 message sent by the controller
Closes PPM-3230
Signed-off-by: Nicolas HENRIQUES <nicolas.henriques-ext@sagemcom.com>
In the past, we accepted the Device Inventory TLV only on profile 3. In the
prplMesh 6.0 specification, we need to accept it on profile 1 and higher.
Closes PPM-2333
Signed-off-by: Dmytro Kysil <d.kysil@inango-systems.com>
There is crash issue related to usage of PCM.
It was decided to disable PCM in prplmesh for now and
reenable it when it will be fixed
In general PCM is not used in prplMesh in terms
of achieving upgrade/downgrade persistence, so
there is no impact on that by this changes
Will be reenabled in scope of PPM-3447
Closes PPM-3412
Signed-off-by: Volodymyr Pavlenko <pavlenko.vv@pm.me>
eFreqType, eClientSelectedBands and BLM_CLIENT_SELECTED_BANDS_* were
describing the same thing. Use eFreqType instead.
PPM-353
Signed-off-by: Dmytro Kysil <d.kysil@inango-systems.com>
Previously, BACKHAUL_STEERING_REQUEST_MESSAGE was sent to the agent
of the target BSSID, so no one ever acted on it. Per PPM-2118, we must
steer the backhaul-station by talking to the agent that currently
manages that station’s link.
- Move the lookup of m_original_bssid → original_radio_mac → source_agent
to the top of steer_sta(), early‐returning on failure.
- Send BACKHAUL_STEERING_REQUEST_MESSAGE to source_agent/original_radio_mac.
Signed-off-by: Dmytro Puz <d.puz@inango-systems.com>
nbapi: add HT, VHT, and WiFi6 capabilities to Capabilities, STA, and AssociationEvent
Closes PPM-3378
See merge request prpl-foundation/prplmesh/prplMesh!4011