Skip to content

RDKBWIFI-446 Controller initiated Steering using Rbus Method#1145

Open
anandhkr-plume wants to merge 1 commit into
rdkcentral:developfrom
anandhkr-plume:ctrl_init_client_steer
Open

RDKBWIFI-446 Controller initiated Steering using Rbus Method#1145
anandhkr-plume wants to merge 1 commit into
rdkcentral:developfrom
anandhkr-plume:ctrl_init_client_steer

Conversation

@anandhkr-plume

Copy link
Copy Markdown

Implemented code changes needed for controller initiated steering. Includes Steering Mandate and Steering Opportunity for both 11v and non 11v Clients.

Test Procedure: Trigger Client Steering using Rbus Method, and check Client is steered across Band/Device
rbuscli method_values Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.ClientSteer

Signed-off-by: Amalesh Nandh K R anandhkr@plume.com

Copilot AI review requested due to automatic review settings May 21, 2026 16:05
@anandhkr-plume
anandhkr-plume requested a review from a team as a code owner May 21, 2026 16:05
@github-actions

github-actions Bot commented May 21, 2026

Copy link
Copy Markdown

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a new EasyMesh/EM bus entry point to support controller-initiated steering by allowing an agent/controller to request client disassociation via an RBUS-exposed method, including a helper to map BSSID → VAP index for the HAL call.

Changes:

  • Added Device.WiFi.EM.DisassocClient bus method constant and registration.
  • Introduced disassoc_params_t payload struct for disassociation requests sent over the bus.
  • Implemented BSSID→VAP lookup and a bus handler that triggers wifi_hal_disassoc() (or no-ops for “silent” requests).

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
source/apps/em/wifi_em.h Adds a new EM bus method namespace for disassociating a client.
source/apps/em/wifi_em.c Adds BSSID→VAP lookup and a DisassocClient bus handler; registers the new method.
include/wifi_base.h Adds disassoc_params_t struct for bus payload used by the new handler.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread source/apps/em/wifi_em.c
@anandhkr-plume anandhkr-plume changed the title RDKBWIFI-446 Controller initiated Steeering using Rbus Method RDKBWIFI-446 Controller initiated Steering using Rbus Method May 22, 2026
@anandhkr-plume

Copy link
Copy Markdown
Author

I have read the CLA Document and I hereby sign the CLA

@Nikita-Hakai Nikita-Hakai added the community contribution Contributions from community. label Jun 2, 2026
Copilot AI review requested due to automatic review settings June 26, 2026 08:54
@anandhkr-plume
anandhkr-plume force-pushed the ctrl_init_client_steer branch from fbb4f34 to 45295a6 Compare June 26, 2026 08:54

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 3 changed files in this pull request and generated 2 comments.

Comment thread source/apps/em/wifi_em.c
Comment on lines 3379 to +3385
{ WIFI_EM_FAILED_CONNECTION, bus_element_type_event,
{ NULL, NULL, NULL, NULL, NULL, NULL }, slow_speed, ZERO_TABLE,
{ bus_data_type_string, false, 0, 0, 0, NULL } }
{ bus_data_type_bytes, true, 0, 0, 0, NULL } },
{ WIFI_EM_DISASSOC_CLIENT, bus_element_type_method,
{ NULL, easymesh_disassoc_client_handler, NULL, NULL, NULL, NULL }, slow_speed, ZERO_TABLE,
{ bus_data_type_bytes, false, 0, 0, 0, NULL } }
Comment thread include/wifi_base.h
Comment on lines +1506 to +1507
// Disassociation parameters sent from em_agent to OneWifi via bus
// Must match em_disassoc_params_t in em_base.h
Implemented code changes needed for controller initiated steering. Includes Steering Mandate and Steering Opportunity for both 11v and non 11v Clients.

Test Procedure: Trigger Client Steering using Rbus Method, and check Client is steered across Band/Device
    rbuscli method_values Device.WiFi.DataElements.Network.Device.{i}.Radio.{i}.BSS.{i}.STA.{i}.ClientSteer

Signed-off-by: Amalesh Nandh K R <anandhkr@plume.com>
@anandhkr-plume
anandhkr-plume force-pushed the ctrl_init_client_steer branch from 45295a6 to f8583ef Compare June 27, 2026 07:56
@sundram0711

Copy link
Copy Markdown
Contributor

Hi @anandhkr-plume ,
While reviewing the changes, I noticed that the current implementation of client steer is using the existing CACR support, which handles a single STA per message. I currently have an open PR that adds multi-STA support for CACR messages.
If needed, please align your implementation with the approach proposed in my PR: #1222

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

community contribution Contributions from community.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants