Skip to content

RDKBWIFI-278: CLIENT ASSOC CTRL REQUEST#926

Merged
narendradandu merged 3 commits intordkcentral:developfrom
sundram0711:easymesh-client_assoc_ctrl_req
Apr 21, 2026
Merged

RDKBWIFI-278: CLIENT ASSOC CTRL REQUEST#926
narendradandu merged 3 commits intordkcentral:developfrom
sundram0711:easymesh-client_assoc_ctrl_req

Conversation

@sundram0711
Copy link
Copy Markdown
Contributor

@sundram0711 sundram0711 commented Feb 26, 2026

RDKBWIFI-278: CLIENT ASSOC CTRL REQUEST

Implement client association control request handling on a per-station basis.
The agent receives and processes the request, forwarding it from the agent to OneWiFi and then to rdk-wifi-hal to block or unblock clients using the ACL mechanism.

Unit Testing:

Triggered the association control request from the controller using rdkb-cli.
Added a temporary handler in main.go and invoked it via a curl command.
Note: EasyMesh(rdkb-cli) currently supports processing this command only for connected clients.

Test Results:

When the controller sends a request to block a connected client on a specific BSSID for a defined duration, the client is added to the ACL for that BSSID.
If the client disconnects and attempts to reconnect, it is denied access to the same BSSID.
When blocked on the 5GHz BSSID, the client was still able to connect to the 2.4GHz BSSID.
After blocking the client on both 5GHz and 2.4GHz BSSIDs, the client was unable to connect until the validity timer expired.

Signed-off-by: Sundram Patel Sundram.p@tataelxsi.co.in

@sundram0711 sundram0711 requested a review from a team as a code owner February 26, 2026 19:05
@sundram0711 sundram0711 marked this pull request as draft February 26, 2026 19:05
@sundram0711 sundram0711 force-pushed the easymesh-client_assoc_ctrl_req branch from b31e3de to 1c5dab9 Compare February 26, 2026 19:06
@github-actions github-actions Bot added the community contribution Contributions from community. label Mar 13, 2026
@sundram0711 sundram0711 force-pushed the easymesh-client_assoc_ctrl_req branch 4 times, most recently from 8ab3213 to b07a543 Compare March 18, 2026 10:22
@sundram0711 sundram0711 marked this pull request as ready for review March 18, 2026 10:24
Comment thread include/wifi_base.h Outdated
Comment thread source/apps/em/wifi_em.c Outdated
Comment thread source/apps/em/wifi_em.c Outdated
Comment thread source/apps/em/wifi_em.c Outdated
Comment thread source/apps/em/wifi_em.c Outdated
Comment thread source/apps/em/wifi_em.c Outdated
Comment thread source/apps/em/wifi_em.c Outdated
Comment thread source/apps/em/wifi_em.c Outdated
Comment thread source/apps/em/wifi_em.c
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Implements EasyMesh “Client Assoc Ctrl Request” handling in the EM agent to block/unblock a station on a specific BSSID using the ACL mechanism, with optional expiry via a timer callback.

Changes:

  • Adds a new EM bus namespace for Device.WiFi.EM.ClientAssocCtrlRequest.
  • Introduces a new request payload type (client_assoc_ctrl_req_t) for association control parameters.
  • Adds an EM event handler that updates ACL entries and schedules timed ACL removal.

Reviewed changes

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

File Description
source/apps/em/wifi_em.h Adds the new bus namespace string for the client association control request.
source/apps/em/wifi_em.c Adds the ACL timer callback, event handler logic, and registers the new bus event in em_init().
include/wifi_base.h Adds the client_assoc_ctrl_req_t request structure used as the bytes payload.

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

Comment thread source/apps/em/wifi_em.c Outdated
Comment thread source/apps/em/wifi_em.c Outdated
Comment thread source/apps/em/wifi_em.c Outdated
Comment thread source/apps/em/wifi_em.c Outdated
Comment thread source/apps/em/wifi_em.c Outdated
Comment thread source/apps/em/wifi_em.c
Comment thread source/apps/em/wifi_em.c Outdated
Comment thread source/apps/em/wifi_em.c Outdated
Comment thread source/apps/em/wifi_em.c Outdated
Comment thread include/wifi_base.h
@sundram0711 sundram0711 force-pushed the easymesh-client_assoc_ctrl_req branch 12 times, most recently from f70d64d to d2ca27c Compare April 2, 2026 13:33
@amarnathhullur amarnathhullur force-pushed the easymesh-client_assoc_ctrl_req branch from d2ca27c to b339695 Compare April 2, 2026 18:34
@amarnathhullur amarnathhullur requested a review from Copilot April 2, 2026 18:36
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

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 6 comments.


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

Comment thread source/apps/em/wifi_em.c Outdated
Comment thread source/apps/em/wifi_em.c Outdated
Comment thread source/apps/em/wifi_em.c
Comment thread source/apps/em/wifi_em.c
Comment thread source/apps/em/wifi_em.c
Comment thread include/wifi_base.h
@amarnathhullur
Copy link
Copy Markdown
Contributor

Internal builds verified by https://gerrit.teamccp.com/#/c/952530/

@amarnathhullur amarnathhullur force-pushed the easymesh-client_assoc_ctrl_req branch from b339695 to 71cf376 Compare April 3, 2026 04:40
Comment thread source/apps/em/wifi_em.c Outdated
@sundram0711 sundram0711 force-pushed the easymesh-client_assoc_ctrl_req branch 3 times, most recently from 52d2a31 to 97621ef Compare April 8, 2026 10:06
@amarnathhullur amarnathhullur force-pushed the easymesh-client_assoc_ctrl_req branch from 97621ef to a4a305c Compare April 8, 2026 17:47
Implement client association control request handling on a per-station basis.
The agent receives and processes the request, forwarding it from the agent to OneWiFi and then to rdk-wifi-hal to block or unblock clients using the ACL mechanism.

Unit Testing:

Triggered the association control request from the controller using rdkb-cli.
Added a temporary handler in main.go and invoked it via a curl command.
Note: EasyMesh(rdkb-cli) currently supports processing this command only for connected clients.

Test Results:

When the controller sends a request to block a connected client on a specific BSSID for a defined duration, the client is added to the ACL for that BSSID.
If the client disconnects and attempts to reconnect, it is denied access to the same BSSID.
When blocked on the 5GHz BSSID, the client was still able to connect to the 2.4GHz BSSID.
After blocking the client on both 5GHz and 2.4GHz BSSIDs, the client was unable to connect until the validity timer expired.

Signed-off-by: Sundram Patel <Sundram.p@tataelxsi.co.in>
@amarnathhullur amarnathhullur force-pushed the easymesh-client_assoc_ctrl_req branch from a4a305c to e354e4f Compare April 8, 2026 21:56
@Nikita-Hakai
Copy link
Copy Markdown
Contributor

Nikita-Hakai commented Apr 15, 2026

Internal build success - https://gerrit.teamccp.com/#/c/953895/

@narendradandu narendradandu merged commit e11a8a5 into rdkcentral:develop Apr 21, 2026
7 checks passed
@github-actions github-actions Bot locked and limited conversation to collaborators Apr 21, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

community contribution Contributions from community.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants