RDKBWIFI-278: CACR add multi-STA support and received subdoc from UWM#1222
Open
sundram0711 wants to merge 1 commit into
Open
RDKBWIFI-278: CACR add multi-STA support and received subdoc from UWM#1222sundram0711 wants to merge 1 commit into
sundram0711 wants to merge 1 commit into
Conversation
sundram0711
commented
Jun 23, 2026
Contributor
- Refactored implementation to support multiple STA entries per message (spec compliant)
- Changed the struct to json format to carry cacr information from UWM to OneWifi.
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the EasyMesh Client Association Control Request (CACR) handling to accept a JSON sub-document from UWM and to apply the request to multiple STAs per message, rather than a single STA.
Changes:
- Switched CACR payload handling from a binary struct (
client_assoc_ctrl_req_t) to a JSON subdoc parser (parse_client_assoc_ctrl_json()). - Added multi-STA processing loop for
StaMacListand per-STA ACL timer scheduling/cancellation tracking. - Extended
kick_details_tto carry a scheduler timer ID for cancel support.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 6 comments.
| File | Description |
|---|---|
| source/core/wifi_ctrl.h | Extends kick_details_t with a timer_id field to track scheduled ACL removal timers. |
| source/apps/em/wifi_em.c | Implements JSON parsing for CACR, multi-STA handling, and pending timer tracking/cancellation. |
| include/wifi_base.h | Removes the old binary CACR request struct (client_assoc_ctrl_req_t) now replaced by JSON payloads. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
c4a31aa to
4a907f6
Compare
Contributor
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 3 out of 3 changed files in this pull request and generated 5 comments.
Comments suppressed due to low confidence (1)
source/apps/em/wifi_em.c:3290
- The error
cleanup:path only freeskick_details, but whenkick_details->kick_listhas been allocated (e.g.,strdup()succeeded) this leaks memory. Freekick_details->kick_listfirst (it is safe tofree(NULL)).
cleanup:
if (kick_details) {
free(kick_details);
}
4a907f6 to
a7f6696
Compare
a7f6696 to
436d6a1
Compare
436d6a1 to
02c6fcf
Compare
02c6fcf to
8bc17f3
Compare
8bc17f3 to
fb7a95e
Compare
fb7a95e to
9ec193e
Compare
9ec193e to
5d0ebd0
Compare
5d0ebd0 to
1f17f6f
Compare
1f17f6f to
8514563
Compare
- Refactored implementation to support multiple STA entries per message (spec compliant) - Changed the struct to json format to carry cacr information from UWM to OneWifi. Signed-off-by: Sundram Patel <sundram.p@tataelxsi.co.in>
8514563 to
68bb3bb
Compare
Comment on lines
+3480
to
3487
| // Parse JSON subdoc | ||
| memset(sta_mac_list, 0, sizeof(sta_mac_list)); | ||
| ret = parse_client_assoc_ctrl_json((const char *)p_data->raw_data.bytes, &bssid, &assoc_control, &validity_period, | ||
| sta_mac_list, &sta_count); | ||
| if (ret != bus_error_success) { | ||
| wifi_util_error_print(WIFI_CTRL, "%s:%d Failed to parse client assoc ctrl JSON\n", __func__, __LINE__); | ||
| return ret; | ||
| } |
Comment on lines
+3587
to
+3588
| rc = scheduler_add_timer_task(ctrl->sched, TRUE, &kick_details->timer_id, del_acl_cb, kick_details, | ||
| validity_period * 1000, 1, FALSE); |
Comment on lines
+3303
to
+3307
| if (d->cancelled_by_unblock) { | ||
| remove_pending_block(d); | ||
| free(d->kick_list); | ||
| free(d); | ||
| return 0; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.