Skip to content

Commit 9be21ac

Browse files
Merge branch 'develop' into dpp_changes
2 parents 3338f1b + 83f1eb3 commit 9be21ac

File tree

5 files changed

+75
-29
lines changed

5 files changed

+75
-29
lines changed

source/core/services/vap_svc.c

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -175,26 +175,35 @@ wifi_interface_name_idex_map_t *get_wifi_hal_capability_info(wifi_platform_prope
175175
return if_prop;
176176
}
177177

178-
int update_lnf_psk_vap_hal_prop_bridge_name(vap_svc_t *svc, wifi_vap_info_map_t *vap_map)
178+
int update_vap_hal_prop_bridge_name(vap_svc_t *svc, wifi_vap_info_map_t *vap_map)
179179
{
180180
uint8_t j = 0;
181181
wifi_interface_name_idex_map_t *if_prop = NULL;
182182

183183
for (j = 0; j < vap_map->num_vaps; j++) {
184-
if (isVapLnfPsk(vap_map->vap_array[j].vap_index)) {
185-
if_prop = get_wifi_hal_capability_info(svc->prop, &vap_map->vap_array[j]);
186-
if (if_prop == NULL) {
187-
wifi_util_error_print(WIFI_CTRL,"%s:%d: Could not find wifi hal capability info for vap_name: %s\n", __func__, __LINE__, vap_map->vap_array[j].vap_name);
188-
return RETURN_ERR;
189-
} else {
190-
if (strncmp(if_prop->bridge_name, vap_map->vap_array[j].bridge_name, strlen(vap_map->vap_array[j].bridge_name)) != 0) {
191-
wifi_util_info_print(WIFI_CTRL,"%s:%d: changed bridge name from :%s to %s\n", __func__, __LINE__, if_prop->bridge_name, vap_map->vap_array[j].bridge_name);
192-
strncpy(if_prop->bridge_name, vap_map->vap_array[j].bridge_name, sizeof(vap_map->vap_array[j].bridge_name));
193-
}
194-
}
184+
if (!isVapSTAMesh(vap_map->vap_array[j].vap_index) &&
185+
!isVapLnfPsk(vap_map->vap_array[j].vap_index)) {
186+
continue;
195187
}
196-
}
197188

189+
if_prop = get_wifi_hal_capability_info(svc->prop, &vap_map->vap_array[j]);
190+
if (if_prop == NULL) {
191+
wifi_util_error_print(WIFI_CTRL,
192+
"%s:%d: Could not find wifi hal capability info for vap_name: %s\n",
193+
__func__, __LINE__, vap_map->vap_array[j].vap_name);
194+
return RETURN_ERR;
195+
}
196+
197+
if (strncmp(if_prop->bridge_name, vap_map->vap_array[j].bridge_name,
198+
strlen(vap_map->vap_array[j].bridge_name)) != 0) {
199+
wifi_util_info_print(WIFI_CTRL,
200+
"%s:%d: changed bridge name from :%s to %s\n",
201+
__func__, __LINE__, if_prop->bridge_name,
202+
vap_map->vap_array[j].bridge_name);
203+
strncpy(if_prop->bridge_name, vap_map->vap_array[j].bridge_name,
204+
sizeof(vap_map->vap_array[j].bridge_name));
205+
}
206+
}
198207
return RETURN_OK;
199208
}
200209

@@ -290,7 +299,7 @@ int vap_svc_start_stop(vap_svc_t *svc, bool enable)
290299
update_global_cache(tgt_vap_map, tgt_rdk_vaps);
291300
update_acl_entries(tgt_vap_map);
292301

293-
update_lnf_psk_vap_hal_prop_bridge_name(svc, tgt_vap_map);
302+
update_vap_hal_prop_bridge_name(svc, tgt_vap_map);
294303
}
295304

296305
free(tgt_vap_map);

source/core/services/vap_svc_mesh_ext.c

Lines changed: 20 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1228,7 +1228,7 @@ int vap_svc_mesh_ext_update(vap_svc_t *svc, unsigned int radio_index, wifi_vap_i
12281228
&rdk_vap_info[i]);
12291229
get_wifidb_obj()->desc.update_wifi_security_config_fn(getVAPName(map->vap_array[i].vap_index),
12301230
&map->vap_array[i].u.sta_info.security);
1231-
1231+
update_vap_hal_prop_bridge_name(svc, tgt_vap_map);
12321232
wifi_util_info_print(WIFI_CTRL, "%s:%d RF-Status : %d Ignite-Enable : %d\n", __func__, __LINE__, ctrl->rf_status_down, map->vap_array[i].u.sta_info.ignite_enabled);
12331233
publish_endpoint_enable();
12341234
if (ctrl->rf_status_down == true) {
@@ -1702,7 +1702,25 @@ int process_ext_sta_conn_status(vap_svc_t *svc, void *arg)
17021702
// change the state
17031703
ext_set_conn_state(ext, connection_state_connected, __func__, __LINE__);
17041704
if (ctrl->rf_status_down == true) {
1705-
wifi_hal_add_station_bridge(sta_data->interface_name,bridge_name);
1705+
char mac_str[32] = {'\0'};
1706+
uint8_mac_to_string_mac(temp_vap_info->u.sta_info.mac, mac_str);
1707+
wifi_util_dbg_print(WIFI_CTRL,
1708+
"%s:%d Bridge:%s Using MAC-Str:%s MAC : %02x:%02x:%02x:%02x:%02x:%02x\n",
1709+
__func__, __LINE__, bridge_name, mac_str, temp_vap_info->u.sta_info.mac[0],
1710+
temp_vap_info->u.sta_info.mac[1], temp_vap_info->u.sta_info.mac[2],
1711+
temp_vap_info->u.sta_info.mac[3], temp_vap_info->u.sta_info.mac[4],
1712+
temp_vap_info->u.sta_info.mac[5]);
1713+
snprintf(cmd, sizeof(cmd), "ovs-vsctl set bridge %s other-config:hwaddr=%s",
1714+
bridge_name, mac_str);
1715+
ret = get_stubs_descriptor()->v_secure_system_fn(cmd);
1716+
if (ret != 0) {
1717+
wifi_util_error_print(WIFI_CTRL,
1718+
"%s:%d Failed to set bridge MAC, ret=%d\n", __func__, __LINE__, ret);
1719+
} else {
1720+
wifi_util_dbg_print(WIFI_CTRL,
1721+
"%s:%d Successfully set bridge MAC to %s\n", __func__, __LINE__,
1722+
mac_str);
1723+
}
17061724
snprintf(cmd, sizeof(cmd), "ip link set dev %s up", bridge_name);
17071725
wifi_util_dbg_print(WIFI_CTRL,"%s:%d cmd : %s\n",__func__,__LINE__, cmd);
17081726
get_stubs_descriptor()->v_secure_system_fn(cmd);
@@ -1824,12 +1842,6 @@ int process_ext_sta_conn_status(vap_svc_t *svc, void *arg)
18241842
} else {
18251843
wifi_util_info_print(WIFI_CTRL, "IGNITE_RF_DOWN: Disconnect status sent successfully to the WM\n");
18261844
}
1827-
1828-
memset(cmd, '\0', MAX_STR_LEN);
1829-
snprintf(cmd, sizeof(cmd), "ovs-vsctl del-port brww0 wl1");
1830-
wifi_util_dbg_print(WIFI_CTRL, "%s:%d cmd : %s\n", __func__, __LINE__, cmd);
1831-
get_stubs_descriptor()->v_secure_system_fn(cmd);
1832-
wifi_util_info_print(WIFI_CTRL, "%s:%d Link Deletion done\n", __func__, __LINE__);
18331845
}
18341846
if (ext->conn_state == connection_state_connection_to_nb_in_progress) {
18351847
candidate = &ext->new_bss;

source/core/services/vap_svc_private.c

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -157,18 +157,24 @@ int vap_svc_private_update(vap_svc_t *svc, unsigned int radio_index, wifi_vap_in
157157
radio_index, map->vap_array[i].vap_index);
158158
get_wifidb_obj()->desc.print_fn("%s:%d [Stop] Current time:[%llu]\r\n", __func__, __LINE__, get_current_ms_time());
159159
if (isVapLnfPsk(p_tgt_vap_map->vap_array[0].vap_index)) {
160-
update_lnf_psk_vap_hal_prop_bridge_name(svc, p_tgt_vap_map);
160+
update_vap_hal_prop_bridge_name(svc, p_tgt_vap_map);
161161
// Since DB persistence not supported as of now for MDU LnF, copying it to here. To be moved in future.
162-
wifi_vap_info_t* lnf_vap_info = NULL;
163-
lnf_vap_info = (wifi_vap_info_t *)get_wifidb_vap_parameters(p_tgt_vap_map->vap_array[0].vap_index);
162+
wifi_vap_info_t *lnf_vap_info = NULL;
163+
lnf_vap_info = (wifi_vap_info_t *)get_wifidb_vap_parameters(
164+
p_tgt_vap_map->vap_array[0].vap_index);
164165
if (lnf_vap_info == NULL) {
165-
wifi_util_error_print(WIFI_CTRL,"%s:%d LnF VAP info not found for vap_index=%d\n",__FUNCTION__,__LINE__,map->vap_array[i].vap_index);
166+
wifi_util_error_print(WIFI_CTRL, "%s:%d LnF VAP info not found for vap_index=%d\n",
167+
__FUNCTION__, __LINE__, map->vap_array[i].vap_index);
166168
return -1;
167169
}
168170
if (lnf_vap_info->u.bss_info.mdu_enabled) {
169-
memcpy((unsigned char *)&lnf_vap_info->u.bss_info.security.repurposed_radius, (unsigned char *)&p_tgt_vap_map->vap_array[0].u.bss_info.security.repurposed_radius, sizeof(lnf_vap_info->u.bss_info.security.repurposed_radius));
171+
memcpy((unsigned char *)&lnf_vap_info->u.bss_info.security.repurposed_radius,
172+
(unsigned char *)&p_tgt_vap_map->vap_array[0]
173+
.u.bss_info.security.repurposed_radius,
174+
sizeof(lnf_vap_info->u.bss_info.security.repurposed_radius));
170175
} else {
171-
memset((unsigned char *)&lnf_vap_info->u.bss_info.security.repurposed_radius, 0, sizeof(lnf_vap_info->u.bss_info.security.repurposed_radius));
176+
memset((unsigned char *)&lnf_vap_info->u.bss_info.security.repurposed_radius, 0,
177+
sizeof(lnf_vap_info->u.bss_info.security.repurposed_radius));
172178
}
173179
}
174180
memcpy((unsigned char *)&map->vap_array[i], (unsigned char *)&p_tgt_vap_map->vap_array[0],

source/core/wifi_ctrl_webconfig.c

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2852,6 +2852,18 @@ void start_station_vaps(bool rf_status)
28522852
.vaps.vap_map.vap_array[vap_array_index]
28532853
.u.sta_info.security.mode = wifi_security_mode_wpa2_enterprise;
28542854
}
2855+
memset(&data->u.decoded.radios[radio_index]
2856+
.vaps.vap_map.vap_array[vap_array_index].bridge_name,
2857+
'\0',
2858+
sizeof(data->u.decoded.radios[radio_index]
2859+
.vaps.vap_map.vap_array[vap_array_index].bridge_name));
2860+
strncpy(data->u.decoded.radios[radio_index]
2861+
.vaps.vap_map.vap_array[vap_array_index]
2862+
.bridge_name,
2863+
"brww0",
2864+
sizeof(data->u.decoded.radios[radio_index]
2865+
.vaps.vap_map.vap_array[vap_array_index]
2866+
.bridge_name));
28552867
data->u.decoded.radios[radio_index]
28562868
.vaps.vap_map.vap_array[vap_array_index]
28572869
.u.sta_info.security.u.radius.eap_type = WIFI_EAP_TYPE_TTLS;
@@ -2947,6 +2959,13 @@ void start_station_vaps(bool rf_status)
29472959
.u.sta_info.security.u.key.key,
29482960
"12345678");
29492961
}
2962+
memset(&data->u.decoded.radios[radio_index]
2963+
.vaps.vap_map.vap_array[vap_array_index]
2964+
.bridge_name,
2965+
'\0',
2966+
sizeof(data->u.decoded.radios[radio_index]
2967+
.vaps.vap_map.vap_array[vap_array_index]
2968+
.bridge_name));
29502969
data->u.decoded.radios[radio_index]
29512970
.vaps.vap_map.vap_array[vap_array_index]
29522971
.u.sta_info.ignite_enabled = false;

source/db/wifi_db_apis.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6843,7 +6843,7 @@ int wifidb_init_radio_config_default(int radio_index,wifi_radio_operationParam_t
68436843
cfg.variant |= WIFI_80211_VARIANT_AX;
68446844
#endif /* NEWPLATFORM_PORT */
68456845

6846-
#if defined(CONFIG_IEEE80211BE) && defined(_PLATFORM_BANANAPI_R4_)
6846+
#if defined(CONFIG_IEEE80211BE) && (defined(_PLATFORM_BANANAPI_R4_) || defined(_GREXT02ACTS_PRODUCT_REQ_))
68476847
cfg.variant |= WIFI_80211_VARIANT_BE;
68486848
#endif /* defined(CONFIG_IEEE80211BE) && defined(_PLATFORM_BANANAPI_R4_) */
68496849

0 commit comments

Comments
 (0)