RDKCOM-5580: RDKBDEV-3433 RDKBWIFI-202 Implementation of Traffic Separation - #972
RDKCOM-5580: RDKBDEV-3433 RDKBWIFI-202 Implementation of Traffic Separation#972siddharth-nair-dtdl wants to merge 93 commits into
Conversation
There was a problem hiding this comment.
Pull request overview
Implements EasyMesh “Traffic Separation” policy support end-to-end in the webconfig pipeline, including schema additions, JSON encode/decode, EasyMesh translation, and applying resulting VLAN/SSID settings to VAP configuration.
Changes:
- Added
traffic_separation_policystructures toem_config_t. - Implemented JSON encoding/decoding for “Traffic Separation Policy” in the webconfig EM policy object.
- Added translation from EasyMesh policy to internal EM config and applied VLAN/SSID values via a new EM subdoc apply path.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 14 comments.
Show a summary per file
| File | Description |
|---|---|
| source/webconfig/wifi_encoder.c | Encodes Traffic Separation policy into the EM “Policy” JSON. |
| source/webconfig/wifi_decoder.c | Decodes Traffic Separation policy from EM “Policy” JSON into em_config_t. |
| source/webconfig/wifi_easymesh_translator.c | Copies Traffic Separation policy from EasyMesh structures into internal policy config. |
| source/core/wifi_ctrl_webconfig.c | Adds EM subdoc apply handler that updates VAP SSID/VLAN and syscfg + service restart. |
| include/wifi_base.h | Introduces Traffic Separation policy structs/limits and wires them into em_config_t. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
15ef7fd to
af95e86
Compare
|
Hi @amarnathhullur -We have made the changes suggested and replied to other comments. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 5 out of 5 changed files in this pull request and generated 8 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
af95e86 to
ccea711
Compare
|
Hi @siddharth-nair-dtdl, can you confirm if the copilot comments are addressed. |
|
@siddharth-nair-dtdl / @sundaresh-k-oss |
6db7848 to
5803942
Compare
|
@AkhilaReddyK7 - We have addressed the comments, tested and updated the PR . Can you please review the changes ? |
5803942 to
16c0bc7
Compare
|
Internal build success: https://gerrit.teamccp.com/#/c/956554/ |
|
@siddharth-nair-dtdl and @sundaresh-k-oss , can you please address the build failure for:
|
16c0bc7 to
023dcaf
Compare
Reason for change: Added traffic seperation TLV implementation via single bridge Test Procedure: Verify build is successfull and check if traffic seperation is functional Risks: Medium Priority: P2
|
…_TxRate value is empty (rdkcentral#1041) Reason for Change: Parameter is defined as string, but backend implementation used uint and returned transmitPower instead of TxRate, resulting in an empty value. Test Procedure: Run "dmcli eRT getv Device.WiFi.Radio.<i>.X_CISCO_COM_TxRate" and verify it's value should be non-empty Risks: Low Signed-off-by: ksaipr036 <kosika_saipriya@comcast.com> Co-authored-by: Narendra Varma Dandu <narendandu@gmail.com>
…ype compliance fails for Device.WiFi.AccessPoint.<i>.ConnectionControl.PreAssocDeny.CuThresholdSupported (rdkcentral#1063) * RDKBACCL-1615 : [TDK][AUTO][BPI][DML]Data type compliance fails for Device.WiFi.AccessPoint.<i>.ConnectionControl.PreAssocDeny.CuThresholdSupported Reason for change: To satisfy the defined value for CuThresholdSupported, increased the length Test Procedure: dmcli eRT getv Device.WiFi.AccessPoint.1.ConnectionControl.PreAssocDeny.CuThresholdSupported Risks: None Signed-off-by: ssiras826 <sandhyarani_sirasanagandla@comcast.com> * Increase CuThresholdSupported type length to 64 --------- Signed-off-by: ssiras826 <sandhyarani_sirasanagandla@comcast.com> Co-authored-by: Narendra Varma Dandu <narendandu@gmail.com>
Test Procedure: Build should be successful and the regression test should also succeed. Risks: Low Priority: P1 Signed-off-by: vanshika_lnu@comcast.com
Reason for change: Fixing Low priority Coverity issues. Test Procedure: Build should be successful and the regression test should also succeed. Risks: Low Priority: P1 Signed-off-by: Velpula_Bharathi@comcast.com
Reason for change: Fixing high medium priority coverity issues. Test Procedure: Build should be successful and the regression test should also succeed. Risks: Low Priority: P1 Signed-off-by: Velpula_Bharathi@comcast.com
Reason for change: Develop OneWIfi code to accomplish split brain recovery in the mesh network Test Procedure: Load the OneWifi Image and verify as per Split brain Feature scenario. Risks: Low Signed-off-by: aishwaryaashok_medpalliwar@comcast.com Co-authored-by: yanaki_mahesh@comcast.com Co-authored-by: sachinkumar_shah@comcast.com
Reason for change: Fixing Low priority Coverity issues. Test Procedure: Build should be successful and the regression test should also succeed. Risks: Low Priority: P1 Signed-off-by: Velpula_Bharathi@comcast.com
…1105) * changed * Update wifi_db_apis.c * Potential fix for pull request finding Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
…g WPA2-Personal by default when FeatureMFPConfig is enabled. (rdkcentral#1117) * Set mfp for wpa2 personal as optional * Update cosa_wifi_dml.c * Update wifi_encoder.c * Update wifi_decoder.c * Update wifi_ovsdb_translator.c * Update wifi_multidoc_webconfig.c * Potential fix for pull request finding --------- Co-authored-by: Sathish Kumar Gnanasekaran <gsathish86@gmail.com>
…and setting bus data property types. (rdkcentral#1103) This reverts commit 36fb822. Co-authored-by: Narendra Varma Dandu <narendandu@gmail.com>
…tral#989) Retrieve Channel Utilization and Station Count from the BSS Load element of the Probe Response and populate the corresponding fields. Ensure these values are correctly included in the Channel Scan Result TLV within the Channel Scan Report message for EasyMesh. Signed-off-by: Sangeetha <sangeetha.s1@tataelxsi.co.in> Co-authored-by: Narendra Varma Dandu <narendandu@gmail.com>
…eter is not working Reason for change: Unable to get the harvester's rfc value once it is set. Test Procedure: Try to set the dmcli as true and test whether it perists dmcli eRT setv Device.WiFi.X_RDKCENTRAL-COM_Report.WifiClient.Enabled bool true Priority: P1 Risks: Low Signed-off-by: mothishree_mallaiyanjothimani@comcast.com (rdkcentral#1120) Reason for change: Unable to get the harvester's rfc value once it is set through dmcli. Test Procedure: Try to set the below dmcli as true and check it is true. dmcli eRT setv Device.WiFi.X_RDKCENTRAL-COM_Report.WifiClient.Enabled bool true Priority: P1 Risks: Low Signed-off-by: mothishree_mallaiyanjothimani@comcast.com Co-authored-by: Sathish Kumar Gnanasekaran <gsathish86@gmail.com>
…l#1124) SHARMAN-4063: HostapMgtFrameCtrl is disabled POST upgrade. Impacted Platforms: HUB6 Reason for change: DB version is higher than expected Test Procedure: Upgrade the image from 8.2 and check the value Risks: Low Priority: P2 Signed-off-by:RaviShankar.R_Rangaraj@comcast.com * SHARMAN-4063: HostapMgtFrameCtrl is disabled POST upgrade. Impacted Platforms: HUB6 Reason for change: DB version is higher than expected Test Procedure: Upgrade the image from 8.2 and check the value Risks: Low Priority: P2 Signed-off-by:RaviShankar.R_Rangaraj@comcast.com
* Revert "RDKBACCL-1330: Updated current tx_power hal api call in OneWifi (rdkcentral#1092)" This reverts commit 8545402. * Revert "RDKBACCL-1330: Updated current tx_power in onewifi and unified-mesh (rdkcentral#768)" This reverts commit 02b7856.
…tral#1129) Reason for change: LinkAddress is empty for MLO client's assoc events Test Procedure: Connect MLO client to AP and verify the link address is correctly populated in the stats and events. Risks: Low Priority: P1 Signed-off-by: Petro Krynytskyi <Petr0krynytskiy@gmail.com>
Reason for change: notify_associated_entries called multiple times Test Procedure: 1. connect a client, disconnect, reconnect. 2. Check for calls to notify_associated_entries. 3. notify_associated_entries should be called only once per connect/disconnect. Risks: Low Priority: P1 Signed-off-by: Narendra Varma Dandu <narendandu@gmail.com>
…kcentral#1138) Reason for change: Added Fix as per the build error Test Procedure: Load the OneWifi Image and verify as per Split brain Feature scenario. Risks: Low Signed-off-by: aishwaryaashok_medpalliwar@comcast.com Co-authored-by: yanaki_mahesh@comcast.com Co-authored-by: sachinkumar_shah@comcast.com Signed-off-by: aishwaryaashok_medpalliwar@comcast.com Co-authored-by: amedpa922 < aishwaryaashok_medpalliwar@comcast.com> Co-authored-by: Sathish Kumar Gnanasekaran <gsathish86@gmail.com>
…ction (rdkcentral#1128) Co-authored-by: Raja Shah <167130396+rshah-1@users.noreply.github.com>
…l#1143) * Propagating tcm_enabled_rfc state to Vap specific RFC based on cloud push after reset * update * Update cosa_wifi_dml.c --------- Co-authored-by: Sathish Kumar Gnanasekaran <gsathish86@gmail.com>
… counters (rdkcentral#1141) Reason for Change: Existing command used awk '{print $6} to extract the rxprobereq value, but the counter output is a single long line with multiple key-value pairs. Field $6 was pointing to wrong counter rxauth_req_denied and not rxprobereq Fixed by using grep -o "rxprobereq" [0-9]*" which directly extracts only the rxorobereq value and awk '{print $2}' to get the correct count Changed done in both 2GHz and 5GHz pre and cur counters Signed-off-by: Sake Victor Daniel <VictorDaniel_Sake@comcast.com> Co-authored-by: Sathish Kumar Gnanasekaran <gsathish86@gmail.com>
…ment insertion (rdkcentral#1146) Reason for change: Memory leak in onewifi process Test Procedure: Debug Priority: P1 Risks: Low (cherry picked from commit d6c1379) Signed-off-by: Petro Krynytskyi <petr0krynytskiy@gmail.com> Co-authored-by: Narendra Varma Dandu <narendandu@gmail.com>
Co-authored-by: Nikita Hakai <nikita.hakai999@gmail.com>
4e241f3 to
f704ac1
Compare
|
I have read the CLA Document and I hereby sign the CLA 22 out of 23 committers have signed the CLA. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 113 out of 115 changed files in this pull request and generated 8 comments.
Comments suppressed due to low confidence (3)
source/apps/levl/wifi_levl.c:1586
radiois parsed with%u, so it’s an unsigned type; the(radio < 0)branch is dead and can trigger compiler warnings. This check also changed behavior vs the previous guard that rejectedradio == 0. Keep the intended validation (instance numbers start at 1).
if ((radio < 0) || (radio > MAX_NUM_RADIOS)) {
wifi_util_dbg_print(WIFI_APPS, "%s:%d Invalid Radio: %u\n", __func__, __LINE__, radio-1);
pthread_mutex_unlock(&wifi_app->data.u.levl.lock);
return bus_error_general;
}
lib/ovsdb/ovsdb_utils.c:200
get_pair()may return NULL, but the loop unconditionally dereferencespairinds_tree_insert(tree, pair, pair->key). This can crash on allocation failure. Add a NULL check and abort building the tree cleanly.
key = keys[i];
value = values[i];
pair = get_pair(key, value);
loop = (pair != NULL);
ds_tree_insert(tree, pair, pair->key);
i++;
loop &= (i < nelems);
lib/ovsdb/ovsdb_utils.c:377
get_ipair()may return NULL, but the loop unconditionally dereferencespairinds_tree_insert(tree, pair, pair->key). This can crash on allocation failure; add a NULL check and abort.
key = keys[i];
value = values[i];
pair = get_ipair(key, value);
loop = (pair != NULL);
ds_tree_insert(tree, pair, pair->key);
i++;
loop &= (i < nelems);
| if((tt->repetitions != 0 && tt->execution_counter == tt->repetitions) || tt->cancel == true) { | ||
| queue_remove(sched->timer_list, i); | ||
| if (tt->id == lp_id) { | ||
| lp_update_index = 0; | ||
| sched->index = (i > 0) ? (i - 1) : 0; | ||
| sched->index = i-1; | ||
| } |
| if((tt->repetitions != 0 && tt->execution_counter == tt->repetitions) || tt->cancel == true) { | ||
| queue_remove(sched->high_priority_timer_list, i); | ||
| if (tt->id == hp_id) { | ||
| hp_update_index = 0; | ||
| sched->hp_index = (i > 0) ? (i - 1) : 0; | ||
| sched->hp_index = i-1; | ||
| } |
| if (vap_row->wpa == false) { | ||
| vap->u.sta_info.security.mode = wifi_security_mode_none; | ||
| vap->u.bss_info.security.encr = wifi_encryption_none; | ||
| } else { |
| } | ||
| vap->u.sta_info.security.mode = enum_sec; | ||
| vap->u.bss_info.security.encr = enum_encr; | ||
|
|
| bool onewifi_ovsdb_table_upsert_where_f(const char *ovsdb_sock_path, ovsdb_table_t *table, | ||
| json_t *where, void *record, bool update_uuid, char *filter[]) | ||
| { | ||
| json_t *jrow = NULL; | ||
| ovs_uuid_t *uuid = update_uuid ? (ovs_uuid_t *)((char *)record + table->uuid_offset) : NULL; | ||
| ovs_uuid_t *uuid = update_uuid ? uuid = record + table->uuid_offset : NULL; | ||
| bool ret; |
| char *parent_table, json_t *parent_where, char *parent_column) | ||
| { | ||
| json_t *jrow = NULL; | ||
| ovs_uuid_t *uuid = update_uuid ? (ovs_uuid_t *)((char *)record + table->uuid_offset) : NULL; | ||
| ovs_uuid_t *uuid = update_uuid ? uuid = record + table->uuid_offset : NULL; | ||
| bool ret; |
| vap_stats = (vap_traffic_stats_t *)calloc(1, sizeof(vap_traffic_stats_t)); | ||
| if (vap_stats == NULL) { | ||
| wifi_util_error_print(WIFI_MON, "%s:%d calloc failed\n", __func__, __LINE__); | ||
| return RETURN_ERR; | ||
| } | ||
|
|
||
| /* | ||
| if (wifi_getxxx(args->vap_index, vap_stats) != RETURN_OK) { | ||
| wifi_util_error_print(WIFI_MON, "%s:%d wifi_getxxx failed for vap_index %d\n", | ||
| __func__, __LINE__, args->vap_index); | ||
| free(vap_stats); | ||
| return RETURN_ERR; | ||
| } */ | ||
| getVAPArrayIndexFromVAPIndex(args->vap_index, &vap_array_index); | ||
|
|
||
| pthread_mutex_lock(&mon_data->data_lock); | ||
| memcpy(&mon_data->bssid_data[vap_array_index].vap_traffic, vap_stats, sizeof(vap_traffic_stats_t)); | ||
| pthread_mutex_unlock(&mon_data->data_lock); |
| #include "sequence.h" | ||
| #include "number.h" | ||
| #include <math.h> | ||
| #include <stdio.h> | ||
| #include <stdlib.h> | ||
| #include <string.h> |
|
Hi @siddharth-nair-dtdl Could you please update your fork and rebase your changes accordingly? Once the updates are complete, we can proceed with requesting a review from the component owner and move toward merging. I had previously noted this in the ticket: https://jira.rdkcentral.com/jira/browse/RDKBWIFI-202. Since there was no response, I attempted to address the merge conflict. Please take a look and make the necessary updates so we can proceed with the review and merge. |
Reason for change: Added traffic seperation TLV implementation via single bridge
Test Procedure: Verify build is successfull and check if traffic seperation is functional
Dependency: rdkcentral/utopia#263
Risks: Medium
Priority: P2