2402 Commits

Author SHA1 Message Date
Cem KOC
e7b7f8927c agent: channel scan task: Prevent duplicate neighbor entries caused by multiple and/or invalid neighbor results
- Fixed issue where valid neighbors were reported multiple times when scan requests included multiple opclasses sharing the same channel.
- Duplicate entries occurred because each opclass result appended the same neighbor repeatedly.
- Implemented a check during insertion to ensure each neighbor is added only once based on BSSID and spectrum_info_present flag.
- Zero-initialized neighbors were reported because multiple spectrum entries existed for the same scan result, which is invalid. Once duplicate neighbor additions were prevented, this issue was resolved as w
ell.

Closes PPM-3698

Signed-off-by: Cem KOC <cem.koc@airties.com>
2025-12-17 15:56:02 +03:00
Durmus Koyuncu
4bbe9fec2c channel_selection_task: Fix incorrect CPR/OCR sequencing and DFS radar handling
Radar-triggered channel changes were being reported incorrectly: the agent
sometimes sent Operating Channel Report (OCR) instead of Channel Preference
Report (CPR), sent them in the wrong order, or reported the DFS channel
even after moving to a non-DFS channel.

Fixes implemented:
- On CAC_Completed(success): send only Channel Preference Report.
- On CAC_Completed(failed): do not send CPR/OCR immediately; instead set the
  new flag m_accept_dfs_channel_change_after_cac_failure to accept the upcoming
  DFS-triggered CSA_Finished event. The CSA_Finished handler then sends CPR
  followed by OCR with the correct non-DFS channel.
- When no CAC is running and CSA_Finished is received due to radar: send CPR
  first, then OCR with the non-DFS channel.
- Ensures consistent message ordering (CPR -> OCR) and correct reporting of the
  new operating channel in radar-related flows.

Closes PPM-3663

Signed-off-by: Durmus Koyuncu <durmus.koyuncu@airties.com>
2025-12-16 12:35:02 +00:00
Cihangir Odabas
f8310a0da4 Merge branch 'feature/PPM-3352_controller_reads_WPA3-CM_from_NBAPI' into 'master'
controller: nbapi: read WPA3-Compatibility-Mode from nbapi

Closes PPM-3352

See merge request prpl-foundation/prplmesh/prplMesh!4055
2025-12-12 15:32:08 +03:00
Iacob Juc
18d713ccad agent: capability reporting: infer RSNO support from pwhm datamodel
prplmesh may be deployed on platforms that do not
(yet) support RSN Overriding

adding a field to sRadioInfo in base_wlan_hal_types.h

in bwl::whm, infer RSNO support from
the presence of WPA3-Personal-Compatibility
security mode in any AccessPoint instance

in bwl::dummy, always report true;

Implements: PPM-3352

Signed-off-by: Iacob Juc <iacob.juc_ext@softathome.com>
2025-12-12 12:13:21 +03:00
Maarten De Decker
e5beee4adf agent: ucc_listener: add fetching MLDaddr by SSID
For R6 testing, prplMesh should be able to return an MLD MAC over CAPI,
given any MLO SSID. This commit adds funtion get_mdl_mac_by_ssid()
to retrieve this MAC from the agent DB and uses it when the CAPI command
dev_get_parameter with parameter MLDAddr is called.

Closes: PPM-3692

Signed-off-by: Maarten De Decker <maarten.dedecker@mind.be>
2025-12-12 09:15:24 +01:00
Cihangir Odabas
77a01f3454 Merge branch 'feature/PPM_3682_add_mlo_links' into 'master'
agent:update max_num_mlds,ap_max_links and bsta_max_links

Closes PPM-3682

See merge request prpl-foundation/prplmesh/prplMesh!4192
2025-12-12 10:51:04 +03:00
Chandana Ramappa
afb18f966e agent: update max_num_mlds,ap_max_links and bsta_max_links
Agent will be updating wifi 7 agent capabilities TLV in
1. AP Capability Report message
2. Early AP Capability Report message

Closes: PPM-3682
Signed-off-by: Chandana Ramappa <chandana.r@tataelxsi.co.in>
2025-12-12 09:23:41 +03:00
Durmus Koyuncu
dddf5d6120 agent: ap_manager: fix mismatch between 1905 steering flags and 802.11v BTM
The Steering Request flags received in the 1905 Client Steering Request message
(e.g., the abridged flag) were not matching the flags used in the 802.11v BTM
Request. During inspection of the prplmesh agent, it was observed that these
flags were never forwarded to pwhm.

This change aligns the bitmask construction with the expected 802.11v layout
and ensures all relevant flags are passed correctly to pwhm.

Closes: PPM-3676

Signed-off-by: Durmus Koyuncu <durmus.koyuncu@airties.com>
2025-12-12 08:50:01 +03:00
Chandana Ramappa
10b7bf9acc agent: add mld modes support for ap and bsta mlo
Agent updates radio capabilities in AgentDB on JOINED_NOTIFICATION,
while AP Manager encodes Wi‑Fi 7 MLO modes (STR, NSTR, EMLSR, EMLMR)
into bitmasks for AP/BSTA in the Agent Capabilities TLV.

Wi-Fi 7 Agent Capabilities TLV will be in below meassges,
1. AP Capability Report message
2. Early AP Capability Report message

Closes PPM-3655

Signed-off-by: Chandana Ramappa <chandana.r@tataelxsi.co.in>
2025-12-02 14:53:56 +05:30
Vinu Bharath R
8a4ca1340b agent: add handle_bsta_mld_configuration_request_message
Handled bSTA MLD Configuration Request Message
Closes PPM-3224

Signed-off-by: Vinu Bharath R <vinubhar@qti.qualcomm.com>
2025-12-01 13:24:59 +05:30
Maarten De Decker
9e06a07bdc agent: backhaul_manager: reset correctly when the profile changes
In R6 certification, the testbed will trigger multiple certification_mode resets, to different Multi-AP profiles (mapr3, mapr6).
In case the agent is still in reset state when the second reset is triggered, this profile change is currently discarded.

Solution: check if the Multi-AP profile has changed, compared to last reset.

Fixes: PPM-3627

Signed-off-by: Maarten De Decker <maarten.dedecker@mind.be>
2025-11-25 18:02:56 +01:00
Cihangir Odabas
0f28a2f887 Merge branch 'hotfix/PPM-3626-add-str-support' into 'master'
slave: hard code STR support to unblock r6 certification

Closes PPM-3626

See merge request prpl-foundation/prplmesh/prplMesh!4176
2025-11-25 12:22:47 +03:00
Cihangir Odabas
4111e1d6e5 Merge branch 'bugfix/PPW-546_prplMesh_controller_only_mode_fix' into 'master'
Issue: PPW-546 prplMesh : Controller : fix controller-only mode

Closes PPW-546

See merge request prpl-foundation/prplmesh/prplMesh!4143
2025-11-24 22:32:44 +03:00
Jestin John Mathew
b5081c6761 bwl: set DisabledSubChannels param in pWHM
DisabledSubChannelBitmap received from agent is
converted to comma separated list of channels and
is then pushed to respective radio in pWHM
WiFi.Radio.{i}.StaticPuncturing.DisabledSubChannels

Closes PPM-3351

Signed-off-by: Jestin John Mathew <jestin-john.mathew_ext@softathome.com>
2025-11-24 15:34:56 +00:00
Jestin John Mathew
0244007e04 agent: Handle EHT Operations TLV
If Channel Selection Request Message CMDU contains an
EHT Operations TLV, forward the contents to ap_manager
using existing beerocks messages

Closes PPM-3351

Signed-off-by: Jestin John Mathew <jestin-john.mathew_ext@softathome.com>
2025-11-24 15:34:56 +00:00
sushmitha
04ba584521 prplMesh : Controller : fix controller-only mode
Problem:
Log spam in beerocks_agent.log due to a dummy autoconfiguration task.

Fix:
Disabled the dummy autoconfiguration task in Controller-only mode to prevent log spam.

Closes PPW-546

Signed-off-by: sushmitha <sushmitha.s_ext@softathome.com>
2025-11-24 15:35:56 +03:00
Cihangir Odabas
95fa51168d slave: hard code STR support to unblock r6 certification
Original implementation should read it from driver to share capabilities
PPM-3655 will introduce BWL implementation.

Closes: PPM-3626

Signed-off-by: Cihangir Odabas <cihangir.odabas@prplfoundation.org>
2025-11-24 13:22:20 +01:00
Durmus Koyuncu
43dfcfcef9 multi_vendor: airties: refactor Airties Ethernet Stats and Interface TLVs
- Except for radio temperature, Airties vendor-specific TLVs no longer
  access the data model directly.
- Ethernet port metrics used in the Airties Ethernet Stats TLV are now
  retrieved from /proc/net/dev.
- Parameters for the Airties Ethernet Interface TLV are now obtained
  via Linux system calls and ethtool.
- Removed AgentDB dependency from both Ethernet Stats and Ethernet
  Interface TLVs, and reduced the AgentDB usage scope in several other
  places to avoid holding locks for too long.
- Simplified the unique port-ID generation logic for Ethernet ports.
  If an interface does not already have an assigned ID, we generate a
  new one starting from 1. The first interface gets ID 1, and each new
  interface receives the next sequential ID (2, 3, 4, ...). If the
  interface is already present in the map, we simply return the previously
  assigned ID.
- Consolidated the Airties Ethernet Stats TLV types into a single
  unified TLV. Previously there were two different TLV types
  (one for optional metrics). Now all metrics, optional or not, are
  included in a single TLV.

PPM-3393

Signed-off-by: Durmus Koyuncu <durmus.koyuncu@airties.com>
2025-11-24 12:46:25 +03:00
Cihangir Odabas
787d289e8e Merge branch 'bugfix/PPM-904-remove-BPL_IFNAME_LEN' into 'master'
framework: agent: Remove BPL_IFNAME_LEN

Closes PPM-904

See merge request prpl-foundation/prplmesh/prplMesh!4021
2025-11-22 10:16:20 +03:00
Dmytro Kysil
1dc33e0507 framework: agent: Removed BPL_IFNAME_LEN
BPL_IFNAME was used instead of IFNAMSIZ (defined by Linux) and
was larger, resulting in wasted memory. All instances have now
been replaced with IFNAMSIZ. We also switched from using
C-style strings to std::string wherever possible.

PPM-904

Signed-off-by: Dmytro Kysil <d.kysil@inango-systems.com>
2025-11-21 20:43:52 +03:00
Igor Plesser
8558ef500a ap_autoconfiguration_task: allow AP autoconfiguration for 6GHz on R6
Closes: PPM-3627

Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
2025-11-21 19:39:11 +03:00
Igor Plesser
0ea96fe97d ci: certification: only send BSS Configuration Report TLV for R6
Save certification_program in agent_db and use it to detect the current
certification testbed. Only send the BSS Configuration Report TLV when
running on an R6 testbed.

Closes: PPM-3634

Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
2025-11-21 19:39:11 +03:00
Igor Plesser
55985137db topology_task: Add BSS Configuration Report TLV to Topology Response
Introduce add_bss_configuration_report_tlv(), a helper that builds and
populates the BSS Configuration Report TLV, and use it to append this TLV
to the Topology Response message.

Closes: PPM-3634

Signed-off-by: Igor Plesser <i.plesser@inango-systems.com>
2025-11-21 19:39:11 +03:00
pallapu karthik
2ba66d3d56 Merge branch 'dev/channel-ranking-acs' into 'master'
common: whm: Assign ranks to channels based on the channel interference factor.

See merge request prpl-foundation/prplmesh/prplMesh!3945
2025-11-21 05:50:53 +00:00
Cihangir Odabas
5e69675cb9 Merge branch 'feature/PPM-3582-Available-Spec-Inquiry-Message' into 'master'
[R6] Handle AVAILABLE SPECTRUM INQUIRY MESSAGE

Closes PPM-3582

See merge request prpl-foundation/prplmesh/prplMesh!4134
2025-11-21 06:56:32 +03:00
Pallapu Karthik
17af6a7f83 slave: add agent side files for AvailableSpectrumInquiryMessage
Signed-off-by: Pallapu Karthik <pallapu.karthik@capgemini.com>
2025-11-21 00:00:07 +03:00
Cihangir Odabas
454abdf342 agent: add sae_akm24 enum
Currently, pWHM handles AKMs with same security modes.
Event with different ENUMs for SAE, same modes will be used.

If we need to support different AKM Modes independent from pWHM internal logic,
agent code should be changed and proper DMs needs to be set for AKMs.

Closes: PPM-3638

Signed-off-by: Cihangir Odabas <cihangir.odabas@prplfoundation.org>
2025-11-20 23:46:05 +03:00
Shekhar Gupta
c10d37792b agent:slave:task: Send Associated STA MLD Configuration Report
- Added function add_assoc_sta_mld_config_reports()
- Send Associated STA MLD configuration TLV in topology response
- Addressed review comments
- Fixed pipeline build issue
- Squashed previous commits

Closes: PPM-3233

Signed-off-by: Shekhar Gupta <shekhar.c.gupta@capgemini.com>
2025-11-19 18:57:57 +03:00
rramasamy
c728b86b18 agent: link_metrics_collection_task: match operating class
Ensure radio selection uses both channel and operating class for accurate
frequency matching. Previously, only channel was checked, which could lead
to incorrect radio mapping.

Closes: PPM-3640

Signed-off-by: rramasamy <rramasamy@maxlinear.com>
2025-11-13 16:59:38 +08:00
pavani
e6ffe5d306 common: whm: Assign ranks to channels based on the channels interference factor.
Obtain the channel survey report from pwhm, which contains a list of channels along with their
corresponding interference factor values (multiplied by 10⁶).
These values are used to determine the rank: a lower interference factor indicates a better rank,
while a higher interference factor indicates a worse rank.

This rank is then used to derive the multi-AP preference.

PPM-3288

Signed-off-by: pavani <kareti-pavani.sireesha-reddy@capgemini.com>
2025-11-03 22:53:19 +05:30
Cihangir Odabas
96b1a31150 agent: capability reporting: add akm suites capability
In Early AP Capability reporting, there should be one mandatory
AKM Suites Capability TLV is requested.

Add one empty TLV until values are filled properly in PPM-3618.

Closes: PPM-3619

Signed-off-by: Cihangir Odabas <cihangir.odabas@prplfoundation.org>
2025-11-01 22:17:47 +03:00
Cihangir Odabas
ad7c03023f message: revert size changes on vendor specific message
Commit 2c382dd and 0386d92 changed the VHT and HE MCS_SET_SIZEs to align
with 1905 spec.

But those constant values are also used to create sNodeHostap Vendor
Specific message.

Because of size change, prplMesh Controller can not parse old Agent's VS
message.

sNodeHostap struct is created with NL802.11 class size instead of 1905
spec.

New sizes are defined only for this VS message.

VHT_MCS_SET_NL802_SIZE as old value as 32
HE_MCS_SET_NL802_SIZE as old value as 32

Also, to minimize the risk, Slave(Agent) will not fill these values.
Because, they are never used in Controller side anyway.

Note: There is still minor case.

Radio Class currently holds 1905 sizes which is less than 32.
Vendor Specific message holds 32.
Same sNodeHostap is also used to communicate between AP Manager and
Slave(Agent).

Event data (32) is filled with less data (8 and 12) while constructing
original Slave Join message.

Both sNodeHostap and sNodeHostapVendorSpec are set to NL802 sizes (32B)
to maintain backward compatibility.

AP Manager Radio Info for MCS SET sizes will be formed with 8 and 12:

std::array<uint8_t, beerocks::message:VHT_MCS_SET_SIZE> -> 8
std::array<uint8_t, beerocks::message:HE_MCS_SET_SIZE> -> 12

In RadioInfo class.

Relevant Messages:

ACTION_APMANAGER_JOINED_NOTIFICATION
ACTION_CONTROL_SLAVE_JOINED_NOTIFICATION

Closes: PPM-3500

Signed-off-by: Cihangir Odabas <cihangir.odabas@prplfoundation.org>
2025-10-31 11:42:09 +03:00
Nefi Guclu
c2df8b952d fronthaul_manager:monitor: Allow chan_util reporting when threshold is zero
Previously, vap_stats_available was set only if both RX and TX byte counters
were greater than zero. This prevented channel utilization from being reported
when there was no traffic on the VAP.

This patch extends the logic by also setting vap_stats_available when
ap_channel_utilization_reporting_threshold is zero. In this case, reporting
is forced regardless of traffic activity.

Issue:PPM-3476
Signed-off-by: Nefi Guclu <nefi.guclu@airties.com>
2025-10-30 09:39:53 +00:00
Durmus Koyuncu
058f8b0d5e agent: topology task: fix incorrect role in 1905 device info TLV
Fixed incorrect role set in Media Specific Info of 1905 Device Information TLV.
This caused wireless backhaul links to be reported as Ethernet instead of WiFi.

PPM-3554

Signed-off-by: Durmus Koyuncu <durmus.koyuncu@airties.com>
2025-10-28 10:07:44 +03:00
Dmytro Puz
1128efd83e agent: add flag to differentiate MULTIAP_PROFILE_1_AS_OF_R4 from Profile 1
In Multi-AP R4, the value MULTIAP_PROFILE_1_AS_OF_R4 is defined as
equivalent to Profile 1 for backward compatibility. However, in prplMesh
we convert this value to MULTIAP_PROFILE_1 early during Agent startup,
which causes a problem later: the Agent skips adding the Multi-AP Profile
TLV because it appears to be Profile 1.

To fix this, a new flag `is_multiap_profile_1_as_of_r4` (default: false)
was added to `device_conf` in `agent_db.h`. This flag is set when the
original `m_ap_profile` equals MULTIAP_PROFILE_1_AS_OF_R4, before the
conversion to Profile 1.

The flag is then used in `ApAutoConfigurationTask` to ensure that the
Multi-AP Profile TLV is still included for this specific R4 case, even
though the stored profile value becomes MULTIAP_PROFILE_1.

PPM-3434.

Signed-off-by: Dmytro Puz <d.puz@inango-systems.com>
2025-10-27 12:24:45 +01:00
Dmytro Puz
b971ffc831 agent: ap_manager: plumb Multi-AP profile to AP path and set EndPoint DM
prplMesh previously didn’t propagate the Agent’s Multi-AP profile into the
AP (fronthaul) stack nor initialize the WHM EndPoint with that profile.
As a result MultiAPProfile in pwhm DM has been set to value from
response of Gateway (peer’s profile from the association response).

Anyway EndPoint.MultiAPProfile in pwhm still using ambiguously:
- Before connection, prplMesh now "push" its own local profile
  here (to configure supplicant).
- After connection, pwhm overwrites it with the peer’s profile
from the association response.
This issue will be resolved with introducing a new parameter
per EndPoint in pwhm DM - EndPoint.PeerMultiAPProfile.

PPM-3434.

Signed-off-by: Dmytro Puz <d.puz@inango-systems.com>
2025-10-27 12:24:45 +01:00
Dmytro Puz
e25a5c572a agent: tasks: send autoconfig search once; add Profile TLV only for R2+
Replace the legacy “send twice” logic in AP-Autoconfiguration Search with a
single-shot send determined by the Agent’s configured Multi-AP profile:
- For R1 (or legacy/unknown), omit the Multi-AP Profile TLV.
- For R2/R3/R4, include the TLV and advertise device_conf.multi_ap_profile.

PPM-3434.

Signed-off-by: Dmytro Puz <d.puz@inango-systems.com>
2025-10-27 12:24:45 +01:00
Dmytro Puz
112607e243 agent: replace bssid_multi_ap_profile with bBSS_multi_ap_profile and base TS/SP on effective profile
The field bssid_multi_ap_profile in AgentDB was ambiguous: it mixed our own
capability with the upstream AP’s advertised profile. Replace it with a clearly
named backhaul_bss_multi_ap_profile, which is populated from the association response
via pwhm (EndPoint.MultiAPProfile) and treated as read-only from prplMesh.

Update Traffic Separation and Service Prioritization decisions to no longer
check only backhaul_bss_multi_ap_profile > 1. Instead, compute an effective profile.

This ensures that features like TS and SP are only enabled when supported by
all participants (local Agent, upstream AP, and controller).

PPM-3434.

Signed-off-by: Dmytro Puz <d.puz@inango-systems.com>
2025-10-27 12:24:45 +01:00
Dmytro Puz
45b0f64da6 agent: read MultiAPProfile from DM and use in TLVs
The Agent previously relied on certification_profile and ad-hoc overrides
to decide which Multi-AP Profile to advertise in AutoConfig Search and
Topology Response messages. In practice, this depended on certification
mode flags or pWHM defaults, which caused policy drift and ambiguity.

Introduce device_conf.multi_ap_profile as the single field
for runtime and advertisement:
- add a persistent MultiAPProfile parameter in Agent DM (BPL getter
bpl_cfg_get_agent_multi_ap_profile() with default=R2),
- read the parameter in beerocks_agent_main.cpp at startup,
- store it in device_conf.multi_ap_profile (enum),
- remove certification_profile usage,

PPM-3434.

Signed-off-by: Dmytro Puz <d.puz@inango-systems.com>
2025-10-27 12:24:45 +01:00
Dmytro Puz
ad28420f2a agent: odl: add persistent MultiAPProfile parameter
The Agent currently has no canonical configuration source for the
Multi-AP Profile it should run/advertise. In practice, runtime behavior
may be inferred from external components (e.g. pWHM EndPoint defaults),
which leads to ambiguity and drift between what the Agent intends and
what the system exposes.

Introduce a persistent MultiAPProfile parameter in the
Agent DM schema to make the Agent the single source of truth.

PPM-3434.

Signed-off-by: Dmytro Puz <d.puz@inango-systems.com>
2025-10-27 12:24:45 +01:00
Cihangir Odabas
8b6210cf34 Merge branch 'bugfix/PPM-3576-refact-agent-handle-m2' into 'master'
Rename configData to EncryptedSettingsPayload

Closes PPM-3576

See merge request prpl-foundation/prplmesh/prplMesh!4129
2025-10-18 01:06:40 +03:00
Volodymyr Pavlenko
77a487f826 ap_autoconfiguration_task: refactor handle_ap_autoconfiguration_wsc
Currently `handle_ap_autoconfiguration_wsc` has miss implementation
in terms of storing values that are parsed from WSC message.
It handles M2/M8/MLD/RSN etc. TLVs but uses only `EncryptedSettingsPayload::config`
struct to store **everything**. It's wrong and makes code maintainability
and readability much worse.

This commit refactors `ApAutoConfigurationTask` to have two structs:

- `sBssInfo` - responsible for storing configs and data related to
BSS configuration, that were received from M2/MLD/RSN TLVs

- `sBStaInfo` - responsible for storing configs and data related to
bSTA configuration, that were received from M8

Also for future integration of Airties Vendor Extensions
(e.g hidden_ssid, bss_type) on prplMesh controller side,
funcs are moved to the general m2 parsing logic in `m2.h`.

Moved:
- `airties_vs_ap_autoconfiguration_wsc_parse_hidden_ssid` -> `m2::hidden_ssid()`

Closes PPM-3576

Signed-off-by: Volodymyr Pavlenko <pavlenko.vv@pm.me>
2025-10-17 21:08:52 +03:00
Ragavan R
390c675c0d Merge branch 'bugfix/PPM-3547_agent_switches_to_controller_requested_bw' into 'master'
agent: channel_selection_task: agent switches to controller requested bandwidth

Closes PPM-3547

See merge request prpl-foundation/prplmesh/prplMesh!4119
2025-10-16 07:28:05 +00:00
rramasamy
df72578bcf agent: channel_selection_task: agent switches to controller requested bandwidth
Previously, the agent skipped switching bandwidth when the current
bandwidth and the controller-requested bandwidth had equal scores,
even if their bandwidths differed. This caused the agent to
ignore the controller's bandwidth request.

Updated logic to ensure that when scores are equal, the agent
prioritizes the controller-requested bandwidth and switches
bandwidth if the bandwidth do not match.

This change improves alignment with controller expectations and
enhances channel selection accuracy.

Closes : PPM-3547

Signed-off-by: rramasamy <rramasamy@maxlinear.com>
2025-10-16 12:42:30 +08:00
rramasamy
4e6e5545f4 agent: son_slave_thread: handle client steering logic based on BTM capability
Issue:
Legacy clients (without BTM support) are not steered correctly
because they are not added to the btm_steering_disallowed list and
there is no check whether the Station is 11v Capable.

Fix:
Check if the client supports BTM (802.11v) before steering.
If not supported, fallback to DISCONNECT flow.
If supported, proceed with BSS STEER request.

Added config parameter `allow_btm_to_non_11v_sta`:
- 0 -> Skip BTM steering for non-11v STAs.
- 1 -> Allow BTM steering for non-11v STAs.

clear btm_steering_disallowed list in dev_reset_default

Closes : PPM-3505

Signed-off-by: rramasamy <rramasamy@maxlinear.com>
2025-10-15 19:51:01 +08:00
Volodymyr Pavlenko
e8a2d23aa1 WSC: Rename configData to EncryptedSettingsPayload
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>
2025-10-14 17:12:48 +03:00
Nefi Guclu
fe05661f93 ap_manager: 802.11v Validity Interval adjustment
During Airties DV testing, 802.11v packets were observed to have a Validity Interval of 2,
while the expected value is 100. Updated BSS_STEER_VALID_INT_BTT from 2 (200 ms) to 100 (10 s)
and removed the BSS_STEER_IMMINENT_VALID_INT_BTT usage.

Issue: PPM-3519
Signed-off-by: Nefi Guclu <nefi.guclu@airties.com>
2025-10-02 11:23:34 +03:00
Bora Sahin
872e4d0f75 Merge branch 'bugfix/PPM-3548_add_wfa_cert_exception_for_11k_handling' into 'master'
link_metrics_collection: Add WFA exception to multi-chan 11k Bcn Req handling

Closes PPM-3548

See merge request prpl-foundation/prplmesh/prplMesh!4118
2025-09-30 11:00:06 +00:00
Durmus Koyuncu
7248f93033 link_metrics_collection: Add WFA exception to multi-chan 11k Bcn Req handling
Previous [CORE_0036] implemented the 1905-spec interpretation:
- When Channel is 255     - send measurement requests only for channels listed in
  the Channel Report List.
- When Channel is not 255 - send a single measurement request for the specified channel.

A later commit(see PPM 3318) changed this behaviour to also send a request for
Channel 255 itself in addition to the listed channels, to satisfy WFA certification tests.

This patch restores the original 1905-spec behaviour and adds a special case
for WFA certification tests, allowing an extra request for Channel 255 only when
running in certification test mode.

PPM-3548

Signed-off-by: Durmus Koyuncu <durmus.koyuncu@airties.com>
2025-09-30 10:29:38 +03:00
Vincent Ayme
cfe36663f6 agent: handle reception of rsn parameters config tlv
Set RSN ovverinding to true to warn controller RSN TLV
is supported.

When M2 is received we set the BSS index with value sent.

When the RSN parameters configuration is received,
use BSS index to know which BSS has to be configured.

If the security_ies data received matches the
predifined value for WPA3 Personal Compatibility Mode,
set auth_type to RSN and use new parameter additional_auth
to set WPA3-PCM value.

Note that for now it is only use for WPA3-PCM and old way
is kept for other security modes.

The purpose was to have support for WPA3-PCM with the right
way.

https://prplfoundationcloud.atlassian.net/browse/PPM-3291

Signed-off-by: Vincent Ayme <vincent.ayme@sagemcom.com>
Co-authored-by: Iacob JUC <iacob.juc_ext@softathome.com>
2025-09-25 15:32:44 +02:00