Skip to content

Commit 4ac10da

Browse files
stanislavkuchar2yaninahusarevychnarendradandugevorgyanaArtem Hevorhian
authored
RDKB-57769, RDKB-57568, RDKB-60772, RDKB-61374: MLO sync (#656)
* RDKB-57769: wifi tr181 to mlo configuration (#299) * RDKB-57769: wifi tr181 to mlo configuration Reason for change: Implement the following tr181's to support configuration of mlo params, these need to be added under Device.WiFi.AccessPoint: mld_enable mld_id mld_link_id mld_addr mld_apply corresponding to: RDK_VENDOR_ATTR_MLD_ENABLE RDK_VENDOR_ATTR_MLD_ID RKD_VENDOR_ATTR_MLD_LINK_ID RDK_VENDOR_ATTR_MLD_MAC RDK_VENDOR_ATTR_MLD_CONFIG_APPLY Test Procedure: mld_enable - true for mlo, false for slo mld_id - should be from 0 to 7 from private through mesh mld_link_id - link id of vap mld_addr - should be bssid of vap for slo, should be bssid of first vap of the group in an mlo. mld_apply - should be 1 for the last vap in a group Priority: P1 Risks: high Signed-off-by: yaninahusarevych <[email protected]> * Update wifi_db.c * Update wifi_db_apis.c --------- Signed-off-by: yaninahusarevych <[email protected]> Co-authored-by: Narendra Varma Dandu <[email protected]> * RDKB-57568: Correction of tr-181 mlo configuration: (#442) Reason for change: Incorrect handling of mld_id and mld_link_id Test Procedure: mld_id - should be from 0 to 7 from private through mesh, mld_link_id - link id of vap Risks: None Signed-off-by: Artem Hevorhian <[email protected]> Co-authored-by: Artem Hevorhian <[email protected]> Co-authored-by: Narendra Varma Dandu <[email protected]> * RDKB-60772: Implement proper mld_addr selection (#485) Reason for change: VAPs within the same MLO group are required to share the same MLO MAC (MLD_Addr). The MLO MAC is designated as the MAC address of the primary MLO interface (the interface with MLD_Link_ID=0). For VAPs operating in non-MLO mode (MLD_Enable = false), the VAP's individual MAC address is assigned as the MLD_Addr. Test Procedure: - Configure MLO group representing mlo_config 2 0 1 -1 dmcli eRT setv Device.WiFi.AccessPoint.1.MLD_Enable bool true dmcli eRT setv Device.WiFi.AccessPoint.1.MLD_ID uint 0 dmcli eRT setv Device.WiFi.AccessPoint.1.MLD_Link_ID uint 2 dmcli eRT setv Device.WiFi.AccessPoint.1.MLD_Apply bool false dmcli eRT setv Device.WiFi.AccessPoint.2.MLD_Enable bool true dmcli eRT setv Device.WiFi.AccessPoint.2.MLD_ID uint 0 dmcli eRT setv Device.WiFi.AccessPoint.2.MLD_Link_ID uint 0 dmcli eRT setv Device.WiFi.AccessPoint.2.MLD_Apply bool false dmcli eRT setv Device.WiFi.AccessPoint.17.MLD_Enable bool true dmcli eRT setv Device.WiFi.AccessPoint.17.MLD_ID uint 0 dmcli eRT setv Device.WiFi.AccessPoint.17.MLD_Link_ID uint 1 dmcli eRT setv Device.WiFi.AccessPoint.17.MLD_Apply bool true dmcli eRT setv Device.WiFi.ApplyAccessPointSettings bool true Configured changes require reboot. - Verify if this MLO group (MLD_ID = 0) share same MLO MAC (MAC of main MLO interface - wl1.1 interface) dmcli eRT getv Device.WiFi.AccessPoint.1.MLD_Addr dmcli eRT getv Device.WiFi.AccessPoint.2.MLD_Addr dmcli eRT getv Device.WiFi.AccessPoint.17.MLD_Addr Priority: P1 Risks: Low Signed-off-by: Stanislav Kuchar <[email protected]> Co-authored-by: Narendra Varma Dandu <[email protected]> * RDKB-60772 RDKB-61374: MLO DB upgrade code for MLD configuration (#558) Reason for change: Upgrade MLO DB configuration after uprade from older DB version Test Procedure: Perform upgrade from older firmware version Check VAP's mld_ configuration. After upgrade will have default values. Risks: Low Priority: P1 Signed-off-by: Stanislav Kuchar <[email protected]> --------- Signed-off-by: yaninahusarevych <[email protected]> Signed-off-by: Artem Hevorhian <[email protected]> Signed-off-by: Stanislav Kuchar <[email protected]> Co-authored-by: Yanina Husarevych <[email protected]> Co-authored-by: Narendra Varma Dandu <[email protected]> Co-authored-by: Artyom Gevorgyan <[email protected]> Co-authored-by: Artem Hevorhian <[email protected]>
1 parent ed8c982 commit 4ac10da

File tree

10 files changed

+398
-6
lines changed

10 files changed

+398
-6
lines changed

config/TR181-WiFi-USGv2.XML

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2187,6 +2187,36 @@ INSTMSMT_PH2 -->
21872187
<syntax>bool</syntax>
21882188
<writable>true</writable>
21892189
</parameter>
2190+
<parameter>
2191+
<name>MLD_Enable</name>
2192+
<type>boolean</type>
2193+
<syntax>bool</syntax>
2194+
<writable>true</writable>
2195+
</parameter>
2196+
<parameter>
2197+
<name>MLD_ID</name>
2198+
<type>unsignedInt[0:255]</type>
2199+
<syntax>uint32</syntax>
2200+
<writable>true</writable>
2201+
</parameter>
2202+
<parameter>
2203+
<name>MLD_Link_ID</name>
2204+
<type>unsignedInt[0:255]</type>
2205+
<syntax>uint32</syntax>
2206+
<writable>true</writable>
2207+
</parameter>
2208+
<parameter>
2209+
<name>MLD_Addr</name>
2210+
<type>string(32)</type>
2211+
<syntax>string</syntax>
2212+
<writable>false</writable>
2213+
</parameter>
2214+
<parameter>
2215+
<name>MLD_Apply</name>
2216+
<type>boolean</type>
2217+
<syntax>bool</syntax>
2218+
<writable>true</writable>
2219+
</parameter>
21902220
<parameter>
21912221
<name>RetryLimit</name>
21922222
<type>unsignedInt[0:255]</type>

config/rdkb-wifi.ovsschema

Lines changed: 46 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "Wifi_Rdk_Database",
3-
"version": "1.00.042",
3+
"version": "1.00.043",
44
"cksum": "2353365742 523",
55
"tables": {
66
"Wifi_Device_Config": {
@@ -1174,6 +1174,51 @@
11741174
"min": 0,
11751175
"max": 1
11761176
}
1177+
},
1178+
"mld_enable": {
1179+
"type": {
1180+
"key": {
1181+
"type": "boolean"
1182+
},
1183+
"min": 0,
1184+
"max": 1
1185+
}
1186+
},
1187+
"mld_id": {
1188+
"type": {
1189+
"key": {
1190+
"type": "integer"
1191+
},
1192+
"min": 0,
1193+
"max": 1
1194+
}
1195+
},
1196+
"mld_link_id": {
1197+
"type": {
1198+
"key": {
1199+
"type": "integer"
1200+
},
1201+
"min": 0,
1202+
"max": 1
1203+
}
1204+
},
1205+
"mld_addr": {
1206+
"type": {
1207+
"key": {
1208+
"type": "string"
1209+
},
1210+
"min": 0,
1211+
"max": 1
1212+
}
1213+
},
1214+
"mld_apply": {
1215+
"type": {
1216+
"key": {
1217+
"type": "boolean"
1218+
},
1219+
"min": 0,
1220+
"max": 1
1221+
}
11771222
}
11781223
},
11791224
"isRoot": true

lib/inc/schema_gen.h

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,11 @@
149149
PJS_OVS_BOOL(mdu_enabled)\
150150
PJS_OVS_INT(speed_tier)\
151151
PJS_OVS_STRING(repurposed_bridge_name, 8 + 1)\
152+
PJS_OVS_BOOL(mld_enable) \
153+
PJS_OVS_INT(mld_id) \
154+
PJS_OVS_INT(mld_link_id) \
155+
PJS_OVS_STRING(mld_addr, 32 + 1) \
156+
PJS_OVS_BOOL(mld_apply) \
152157
)
153158

154159
#define PJS_SCHEMA_Wifi_Interworking_Config \
@@ -2084,7 +2089,12 @@
20842089
COLUMN(interop_ctrl)\
20852090
COLUMN(mdu_enabled)\
20862091
COLUMN(speed_tier)\
2087-
COLUMN(repurposed_bridge_name)
2092+
COLUMN(repurposed_bridge_name)\
2093+
COLUMN(mld_enable)\
2094+
COLUMN(mld_id)\
2095+
COLUMN(mld_link_id)\
2096+
COLUMN(mld_addr)\
2097+
COLUMN(mld_apply)
20882098

20892099
#define SCHEMA__Wifi_Interworking_Config "Wifi_Interworking_Config"
20902100
#define SCHEMA_COLUMN__Wifi_Interworking_Config(COLUMN) \
@@ -3448,6 +3458,11 @@
34483458
#define SCHEMA__Wifi_VAP_Config__mdu_enabled "mdu_enabled"
34493459
#define SCHEMA__Wifi_VAP_Config__speed_tier "speed_tier"
34503460
#define SCHEMA__Wifi_VAP_Config__repurposed_bridge_name "repurposed_bridge_name"
3461+
#define SCHEMA__Wifi_VAP_Config__mld_enable "mld_enable"
3462+
#define SCHEMA__Wifi_VAP_Config__mld_id "mld_id"
3463+
#define SCHEMA__Wifi_VAP_Config__mld_link_id "mld_link_id"
3464+
#define SCHEMA__Wifi_VAP_Config__mld_addr "mld_addr"
3465+
#define SCHEMA__Wifi_VAP_Config__mld_apply "mld_apply"
34513466

34523467
#define SCHEMA__Wifi_Interworking_Config__enable "enable"
34533468
#define SCHEMA__Wifi_Interworking_Config__vap_name "vap_name"

source/db/wifi_db.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -471,6 +471,12 @@ static int init_vap_config_default(int vap_index, wifi_vap_info_t *config,
471471
cfg.u.bss_info.beaconRate = WIFI_BITRATE_6MBPS;
472472
strncpy(cfg.u.bss_info.beaconRateCtl,"6Mbps",sizeof(cfg.u.bss_info.beaconRateCtl)-1);
473473
cfg.vap_mode = wifi_vap_mode_ap;
474+
/*TODO: Are values correct? */
475+
cfg.u.bss_info.mld_info.common_info.mld_enable = 0;
476+
cfg.u.bss_info.mld_info.common_info.mld_id = 255;
477+
cfg.u.bss_info.mld_info.common_info.mld_link_id = 255;
478+
cfg.u.bss_info.mld_info.common_info.mld_apply = 1;
479+
// strcpy(cfg.u.bss_info.mld_info.common_info.mld_addr, "11:11:11:11:11:11");
474480
if (isVapPrivate(vap_index)) {
475481
cfg.u.bss_info.showSsid = true;
476482
cfg.u.bss_info.wps.methods = WIFI_ONBOARDINGMETHODS_PUSHBUTTON;

source/db/wifi_db_apis.c

Lines changed: 125 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,13 @@
9090
#define DEFAULT_WHIX_LOGINTERVAL 3600
9191

9292
#define ONEWIFI_DB_VERSION_WPA3_T_DISABLE_FLAG 100042
93+
#define ONEWIFI_DB_VERSION_UPDATE_MLD_FLAG 100043
94+
95+
#ifdef CONFIG_NO_MLD_ONLY_PRIVATE
96+
#define MLD_UNIT_COUNT 8
97+
#else
98+
#define MLD_UNIT_COUNT 1
99+
#endif /* CONFIG_NO_MLD_ONLY_PRIVATE */
93100

94101
ovsdb_table_t table_Wifi_Radio_Config;
95102
ovsdb_table_t table_Wifi_VAP_Config;
@@ -1033,6 +1040,10 @@ void callback_Wifi_VAP_Config(ovsdb_update_monitor_t *mon,
10331040
l_bss_param_cfg->mac_filter_enable = new_rec->mac_filter_enabled;
10341041
l_bss_param_cfg->mac_filter_mode = new_rec->mac_filter_mode;
10351042
l_bss_param_cfg->wmm_enabled = new_rec->wmm_enabled;
1043+
l_bss_param_cfg->mld_info.common_info.mld_enable = new_rec->mld_enable;
1044+
l_bss_param_cfg->mld_info.common_info.mld_id = new_rec->mld_id;
1045+
l_bss_param_cfg->mld_info.common_info.mld_link_id = new_rec->mld_link_id;
1046+
l_bss_param_cfg->mld_info.common_info.mld_apply = new_rec->mld_apply;
10361047
if (strlen(new_rec->anqp_parameters) != 0) {
10371048
strncpy((char *)l_bss_param_cfg->interworking.anqp.anqpParameters,new_rec->anqp_parameters,(sizeof(l_bss_param_cfg->interworking.anqp.anqpParameters)-1));
10381049
}
@@ -2771,6 +2782,11 @@ int wifidb_update_wifi_vap_info(char *vap_name, wifi_vap_info_t *config,
27712782
cfg.mbo_enabled = config->u.bss_info.mbo_enabled;
27722783
cfg.interop_ctrl = config->u.bss_info.interop_ctrl;
27732784
cfg.inum_sta = config->u.bss_info.inum_sta;
2785+
cfg.mld_enable = config->u.bss_info.mld_info.common_info.mld_enable;
2786+
cfg.mld_id = config->u.bss_info.mld_info.common_info.mld_id;
2787+
cfg.mld_link_id = config->u.bss_info.mld_info.common_info.mld_link_id;
2788+
cfg.mld_apply = config->u.bss_info.mld_info.common_info.mld_apply;
2789+
27742790
wifi_util_dbg_print(WIFI_DB,
27752791
"%s:%d: VAP Config update data cfg.radio_name=%s cfg.vap_name=%s cfg.ssid=%s "
27762792
"cfg.enabled=%d cfg.advertisement=%d cfg.isolation_enabled=%d "
@@ -2782,7 +2798,8 @@ int wifidb_update_wifi_vap_info(char *vap_name, wifi_vap_info_t *config,
27822798
"cfg.bss_hotspot=%d cfg.wps_push_button=%d cfg.wps_config_methods=%d "
27832799
"cfg.wps_enabled=%d cfg.beacon_rate_ctl=%s cfg.mfp_config=%s "
27842800
"network_initiated_greylist=%d exists=%d hostap_mgt_frame_ctrl=%d mbo_enabled=%d "
2785-
"interop_ctrl:%d inum_sta:%d\n",
2801+
"interop_ctrl:%d inum_sta:%d "
2802+
"mld_enable=%d mld_id=%d mld_link_id=%d mld_apply=%d\n",
27862803
__func__, __LINE__, cfg.radio_name, cfg.vap_name, cfg.ssid, cfg.enabled,
27872804
cfg.ssid_advertisement_enabled, cfg.isolation_enabled, cfg.mgmt_power_control,
27882805
cfg.bss_max_sta, cfg.bss_transition_activated, cfg.nbr_report_activated,
@@ -2792,7 +2809,8 @@ int wifidb_update_wifi_vap_info(char *vap_name, wifi_vap_info_t *config,
27922809
cfg.wep_key_length, cfg.bss_hotspot, cfg.wps_push_button, cfg.wps_config_methods,
27932810
cfg.wps_enabled, cfg.beacon_rate_ctl, cfg.mfp_config, cfg.network_initiated_greylist,
27942811
cfg.exists, cfg.hostap_mgt_frame_ctrl, cfg.mbo_enabled,
2795-
cfg.interop_ctrl, cfg.inum_sta);
2812+
cfg.interop_ctrl, cfg.inum_sta,
2813+
cfg.mld_enable, cfg.mld_id, cfg.mld_link_id, cfg.mld_apply);
27962814
}
27972815
if(onewifi_ovsdb_table_upsert_with_parent(g_wifidb->wifidb_sock_path,&table_Wifi_VAP_Config,&cfg,false,filter_vap,SCHEMA_TABLE(Wifi_Radio_Config),(onewifi_ovsdb_where_simple(SCHEMA_COLUMN(Wifi_Radio_Config,radio_name),radio_name)),SCHEMA_COLUMN(Wifi_Radio_Config,vap_configs)) == false)
27982816
{
@@ -4859,6 +4877,18 @@ static void wifidb_vap_config_upgrade(wifi_vap_info_map_t *config, rdk_wifi_vap_
48594877
config->vap_array[i].vap_name, ret);
48604878
}
48614879
}
4880+
if (g_wifidb->db_version < ONEWIFI_DB_VERSION_UPDATE_MLD_FLAG) {
4881+
wifi_util_info_print(WIFI_DB, "%s:%d upgrade vap's MLO configuration, db version %d\n",
4882+
__func__, __LINE__, g_wifidb->db_version);
4883+
if (!isVapSTAMesh(config->vap_array[i].vap_index)) {
4884+
config->vap_array[i].u.bss_info.mld_info.common_info.mld_enable = 0;
4885+
config->vap_array[i].u.bss_info.mld_info.common_info.mld_id = 255;
4886+
config->vap_array[i].u.bss_info.mld_info.common_info.mld_link_id = 255;
4887+
config->vap_array[i].u.bss_info.mld_info.common_info.mld_apply = 1;
4888+
wifidb_update_wifi_vap_info(config->vap_array[i].vap_name, &config->vap_array[i],
4889+
&rdk_config[i]);
4890+
}
4891+
}
48624892
}
48634893
}
48644894

@@ -6187,6 +6217,10 @@ int wifidb_get_wifi_vap_info(char *vap_name, wifi_vap_info_t *config,
61876217
config->u.bss_info.interop_ctrl = pcfg->interop_ctrl;
61886218
config->u.bss_info.inum_sta = pcfg->inum_sta;
61896219
config->u.bss_info.mbo_enabled = pcfg->mbo_enabled;
6220+
config->u.bss_info.mld_info.common_info.mld_enable = pcfg->mld_enable;
6221+
config->u.bss_info.mld_info.common_info.mld_id = pcfg->mld_id;
6222+
config->u.bss_info.mld_info.common_info.mld_link_id = pcfg->mld_link_id;
6223+
config->u.bss_info.mld_info.common_info.mld_apply = pcfg->mld_apply;
61906224
}
61916225
}
61926226
free(pcfg);
@@ -7164,6 +7198,12 @@ int wifidb_init_vap_config_default(int vap_index, wifi_vap_info_t *config,
71647198
cfg.u.bss_info.beaconRate = WIFI_BITRATE_6MBPS;
71657199
strncpy(cfg.u.bss_info.beaconRateCtl,"6Mbps",sizeof(cfg.u.bss_info.beaconRateCtl)-1);
71667200
cfg.vap_mode = wifi_vap_mode_ap;
7201+
/*TODO: Are values correct? */
7202+
cfg.u.bss_info.mld_info.common_info.mld_enable = 0;
7203+
cfg.u.bss_info.mld_info.common_info.mld_id = 255;
7204+
cfg.u.bss_info.mld_info.common_info.mld_link_id = 255;
7205+
cfg.u.bss_info.mld_info.common_info.mld_apply = 1;
7206+
memset(&cfg.u.bss_info.mld_info.common_info.mld_addr, 0, sizeof(cfg.u.bss_info.mld_info.common_info.mld_addr));
71677207
if (isVapPrivate(vap_index)) {
71687208
cfg.u.bss_info.showSsid = true;
71697209
#ifdef FEATURE_SUPPORT_WPS
@@ -7543,6 +7583,88 @@ void wifidb_init_default_value()
75437583

75447584
}
75457585

7586+
static int get_ap_mac_by_vap_index(wifi_vap_info_map_t *hal_vap_info_map, int vap_index, mac_address_t mac)
7587+
{
7588+
unsigned int j = 0;
7589+
7590+
for (j = 0; j < hal_vap_info_map->num_vaps; j++) {
7591+
if ((int)hal_vap_info_map->vap_array[j].vap_index == vap_index) {
7592+
memcpy(mac, hal_vap_info_map->vap_array[j].u.bss_info.bssid, sizeof(mac_address_t));
7593+
return RETURN_OK;
7594+
}
7595+
}
7596+
wifi_util_error_print(WIFI_DB, "%s:%d vap_info not found for vap_index value: %d\n"
7597+
,__FUNCTION__, __LINE__, vap_index);
7598+
return RETURN_ERR;
7599+
}
7600+
7601+
static int wifidb_vap_config_update_mld_mac()
7602+
{
7603+
wifi_vap_info_map_t hal_vap_info_map;
7604+
wifi_vap_info_map_t *mgr_vap_info_map = NULL;
7605+
mac_address_t mlo_mac = {0};
7606+
mac_address_t zero_mac = {0};
7607+
unsigned char *mld_addr_map[MAX_NUM_RADIOS] = {0};
7608+
unsigned int r_idx=0;
7609+
unsigned int i = 0;
7610+
unsigned int k = 0;
7611+
int ret = RETURN_OK;
7612+
7613+
for (i = 0; i < MLD_UNIT_COUNT; i++) {
7614+
memset(mld_addr_map, 0, sizeof(mld_addr_map));
7615+
memset(mlo_mac, 0, sizeof(mac_address_t));
7616+
7617+
wifi_util_info_print(WIFI_DB, "%s:%d: Updating MLO MAC for mld_unit %d\r\n", __func__, __LINE__, i);
7618+
7619+
for (r_idx=0; r_idx < getNumberRadios(); r_idx++) {
7620+
memset(&hal_vap_info_map, 0, sizeof(hal_vap_info_map));
7621+
/* wifi_hal_getRadioVapInfoMap is used to get the macaddress of wireless interfaces */
7622+
ret = wifi_hal_getRadioVapInfoMap(r_idx, &hal_vap_info_map);
7623+
if (ret != RETURN_OK) {
7624+
wifi_util_error_print(WIFI_DB, "%s:%d wifi_hal_getRadioVapInfoMap failed for radio: %d\n",__FUNCTION__, __LINE__, r_idx);
7625+
return ret;
7626+
}
7627+
/* vap map with loaded DB - find the main mlo vap */
7628+
mgr_vap_info_map = get_wifidb_vap_map(r_idx);
7629+
if (mgr_vap_info_map == NULL) {
7630+
wifi_util_error_print(WIFI_DB, "%s:%d get_wifidb_vap_map failed for radio: %d\n",__FUNCTION__, __LINE__, r_idx);
7631+
return RETURN_ERR;
7632+
}
7633+
for (k = 0; k < mgr_vap_info_map->num_vaps; k++) {
7634+
wifi_vap_info_t *vap_config = &mgr_vap_info_map->vap_array[k];
7635+
wifi_mld_common_info_t *mld_info = NULL;
7636+
7637+
if (isVapSTAMesh(vap_config->vap_index)) {
7638+
continue;
7639+
}
7640+
7641+
mld_info = &vap_config->u.bss_info.mld_info.common_info;
7642+
if (i == 0) { /* Initialise all vap's mld_mac with interface mac */
7643+
get_ap_mac_by_vap_index(&hal_vap_info_map, vap_config->vap_index, mld_info->mld_addr);
7644+
}
7645+
7646+
if (mld_info->mld_enable && mld_info->mld_id == i) {
7647+
mld_addr_map[r_idx] = mld_info->mld_addr; /* store mld_addr ptr to be updated later */
7648+
if(mld_info->mld_link_id == 0) { /* check if the link is main MLO link */
7649+
get_ap_mac_by_vap_index(&hal_vap_info_map, vap_config->vap_index, mlo_mac);
7650+
}
7651+
}
7652+
}
7653+
}
7654+
7655+
if (memcmp(mlo_mac, zero_mac, sizeof(mac_address_t)) == 0) {
7656+
continue;
7657+
}
7658+
7659+
for (r_idx = 0; r_idx < getNumberRadios(); r_idx++) {
7660+
if (mld_addr_map[r_idx] != NULL) {
7661+
memcpy(mld_addr_map[r_idx], mlo_mac, sizeof(mac_address_t));
7662+
}
7663+
}
7664+
}
7665+
return RETURN_OK;
7666+
}
7667+
75467668
/************************************************************************************
75477669
************************************************************************************
75487670
Function : init_wifidb_data
@@ -7741,6 +7863,7 @@ void init_wifidb_data()
77417863
pthread_mutex_unlock(&g_wifidb->data_cache_lock);
77427864
return;
77437865
}
7866+
wifidb_vap_config_update_mld_mac();
77447867
pthread_mutex_unlock(&g_wifidb->data_cache_lock);
77457868
}
77467869

0 commit comments

Comments
 (0)