Skip to content

Commit c22886d

Browse files
rshah-1pramod7456
authored andcommitted
RDKB-63723: Link Quality Measurement metrics for Gateway
Impacted Platforms: All OneWifi platforms Reason for change: Openwrt is upgraded so put the same changes in upgraded script. Test Procedure: verified the connected clients score and callbacks for station. Risks: Low Signed-off-by:pramod.7456@gmail.com
1 parent 9d0dc0b commit c22886d

52 files changed

Lines changed: 4945 additions & 40 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

build/linux/bpi/makefile

Lines changed: 549 additions & 0 deletions
Large diffs are not rendered by default.

build/linux/rpi/makefile

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@ ONEWIFI_STA_MGR_APP_SUPPORT = 1
3838
HAL_LIBRARY = $(INSTALLDIR)/lib/libwifihal.a
3939
WEBCONFIG_LIBRARY = $(INSTALLDIR)/lib/libwebconfig.a
4040
HE_BUS_LIBRARY = $(INSTALLDIR)/lib/libhebus.a
41+
MATH_UTIL_LIBRARY = $(INSTALLDIR)/lib/libwifi_math_utils.la
42+
QUALITY_MANAGER_LIBRARY = $(INSTALLDIR)/lib/libwifi_quality_manager.la
4143

4244
INCLUDE_HAL_LIB_DIRS = \
4345
-I$(ONE_WIFI_HOME)/include \
@@ -234,6 +236,9 @@ INCLUDEDIRS = \
234236
-I$(ONE_WIFI_HOME)/source/apps/whix \
235237
-I$(ONE_WIFI_HOME)/source/apps/easyconnect \
236238
-I$(ONE_WIFI_HOME)/source/apps/em \
239+
-I$(ONE_WIFI_HOME)/source/apps/linkquality \
240+
-I$(ONE_WIFI_HOME)/source/utils/quality_mgr/inc/ \
241+
-I$(ONE_WIFI_HOME)/source/utils/math_utils/inc/ \
237242
-I$(ONE_WIFI_HOME)/source/core/services \
238243
-I$(ONE_WIFI_HOME)/include/tr_181/ml \
239244
-I$(ONE_WIFI_HOME)/include \
@@ -290,6 +295,7 @@ LIBS = -lm -luuid -lwifihal -lpthread -ldl -ljansson -lev -lssl -lcrypto -lnl-3
290295
CSOURCES = $(wildcard $(ONE_WIFI_HOME)/source/db/wifi_db.c) \
291296
$(filter-out $(ONE_WIFI_HOME)/source/core/services/vap_svc_mesh_pod.c,$(wildcard $(ONE_WIFI_HOME)/source/core/services/*.c)) \
292297
$(wildcard $(ONE_WIFI_HOME)/source/apps/*.c) \
298+
$(wildcard $(ONE_WIFI_HOME)/source/apps/linkquality/*.c) \
293299
$(wildcard $(ONE_WIFI_HOME)/source/stubs/*.c) \
294300
$(wildcard $(ONE_WIFI_HOME)/source/stats/*.c) \
295301
$(ONE_WIFI_HOME)/lib/common/util.c \
@@ -341,6 +347,11 @@ WEBCONFIG_SOURCES = $(ONE_WIFI_HOME)/source/webconfig/wifi_decoder.c \
341347
$(ONE_WIFI_HOME)/source/webconfig/wifi_webconfig_multivap.c \
342348
$(ONE_WIFI_HOME)/source/utils/wifi_util.c \
343349

350+
351+
MATH_UTIL_SOURCES = $(wildcard $(ONE_WIFI_HOME)/source/utils/math_utils/src/*.cpp) \
352+
353+
QUALITY_MANAGER_SOURCES = $(wildcard $(ONE_WIFI_HOME)/source/utils/quality_mgr/src/*.cpp) \
354+
344355
HEBUS_SOURCES = $(wildcard $(ONE_WIFI_HOME)/source/platform/linux/he_bus/src/*.c) \
345356

346357
INCLUDE_HE_LIB_DIRS = \
@@ -408,16 +419,23 @@ ifdef EM_APP
408419
$(ONE_WIFI_HOME)/source/webconfig/wifi_webconfig_em_sta_link_metrics.c \
409420
$(ONE_WIFI_HOME)/source/webconfig/wifi_webconfig_em_ap_metrics_report.c
410421
endif
422+
WEBCONFIG_SOURCES += $(ONE_WIFI_HOME)/source/webconfig/wifi_webconfig_link_report.c
411423

412424
COBJECTS = $(CSOURCES:.c=.o) # expands to list of object files
413425

414426
WEBCONFIG_OBJECTS = $(WEBCONFIG_SOURCES:.c=.o) # expands to list of object files
415427
ALL_WEBCFG_LIB_OBJECTS = $(WEBCONFIG_OBJECTS)
416428

429+
MATH_UTIL_OBJECTS = $(MATH_UTIL_SOURCES:.cpp=.o) # expands to list of object files
430+
ALL_MATH_UTIL_LIB_OBJECTS = $(MATH_UTIL_OBJECTS)
431+
432+
QUALITY_MANAGER_OBJECTS = $(QUALITY_MANAGER_SOURCES:.cpp=.o) # expands to list of object files
433+
ALL_QUALITY_MANAGER_LIB_OBJECTS = $(QUALITY_MANAGER_OBJECTS)
434+
417435
HEBUS_OBJECTS = $(HEBUS_SOURCES:.c=.o) # expands to list of object files
418436
ALL_HEBUS_LIB_OBJECTS = $(HEBUS_OBJECTS)
419437

420-
ALLOBJECTS = $(CXXOBJECTS) $(COBJECTS) $(WEBCONFIG_OBJECTS) $(HEBUS_OBJECTS)
438+
ALLOBJECTS = $(CXXOBJECTS) $(COBJECTS) $(WEBCONFIG_OBJECTS) $(MATH_UTIL_OBJECTS) $(QUALITY_MANAGER_OBJECTS) $(HEBUS_OBJECTS)
421439

422440
CFLAGS = $(INCLUDEDIRS) $(INCLUDE_HE_LIB_DIRS) -g -fPIC -D_ANSC_LINUX -D_COSA_INTEL_USG_ATOM_ -DUSE_NOTIFY_COMPONENT -DCISCO_XB3_PLATFORM_CHANGES -DDUAL_CORE_XB3 -DFEATURE_ONE_WIFI -DWIFI_HAL_VERSION_3 -DFEATURE_SUPPORT_PASSPOINT -DFEATURE_SUPPORT_WEBCONFIG -DRASPBERRY_PI_PORT -DNL80211_ACL -D_PLATFORM_RASPBERRYPI_ -DEASY_MESH_NODE -DEM_APP \
423441
-DONEWIFI_STA_MGR_APP_SUPPORT
@@ -439,7 +457,7 @@ $(BUILD_DIR):
439457
#
440458

441459

442-
all: $(BUILD_DIR) $(CMN_LIBRARY) $(HAL_LIBRARY) $(WEBCONFIG_LIBRARY) $(HE_BUS_LIBRARY) $(PROGRAM)
460+
all: $(BUILD_DIR) $(CMN_LIBRARY) $(HAL_LIBRARY) $(WEBCONFIG_LIBRARY) $(HE_BUS_LIBRARY) $(MATH_UTIL_LIBRARY) $(QUALITY_MANAGER_LIBRARY) $(PROGRAM)
443461

444462
$(CMN_LIBRARY): $(ALL_CMN_LIB_OBJECTS)
445463
$(AR) $@ $^
@@ -450,6 +468,13 @@ $(HAL_LIBRARY): $(ALL_HAL_LIB_OBJECTS)
450468
$(WEBCONFIG_LIBRARY): $(ALL_WEBCFG_LIB_OBJECTS)
451469
$(AR) $@ $^
452470

471+
472+
$(MATH_UTIL_LIBRARY): $(ALL_MATH_UTIL_LIB_OBJECTS)
473+
$(AR) $@ $^
474+
475+
$(QUALITY_MANAGER_LIBRARY): $(ALL_QUALITY_MANAGER_LIB_OBJECTS)
476+
$(AR) $@ $^
477+
453478
$(HE_BUS_LIBRARY): $(ALL_HEBUS_LIB_OBJECTS)
454479
$(AR) $@ $^
455480
#
@@ -476,7 +501,7 @@ $(PROGRAM): $(ALLOBJECTS)
476501
#
477502

478503
clean:
479-
$(RM) $(ALLOBJECTS) $(ALL_CMN_LIB_OBJECTS) $(ALL_HAL_LIB_OBJECTS) $(CMN_LIBRARY) $(HE_BUS_LIBRARY) $(WEBCONFIG_LIBRARY) $(HAL_LIBRARY) $(HOSTAP_LIBRARY) $(PROGRAM)
504+
$(RM) $(ALLOBJECTS) $(ALL_CMN_LIB_OBJECTS) $(ALL_HAL_LIB_OBJECTS) $(CMN_LIBRARY) $(HE_BUS_LIBRARY) $(WEBCONFIG_LIBRARY) $(MATH_UTIL_LIBRARY) $(QUALITY_MANAGER_LIBRARY)$(HAL_LIBRARY) $(HOSTAP_LIBRARY) $(PROGRAM)
480505

481506
#
482507
# Run target: "make -f Makefile.Linux run" to execute the application

build/openwrt/Makefile_package

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ define Package/easymesh/description
1717
A simple EasyMesh utility package.
1818
endef
1919

20-
TARGET_CFLAGS+= -ggdb3 -O0 -static -nostdinc++ -nodefaultlibs -Wl,--stack,2097152
20+
TARGET_CFLAGS+= -ggdb3 -O0 -static -Wl,--stack,2097152
2121
TARGET_LDFLAGS+= -lgcc -lc -luClibc++
2222

2323
ifdef CONFIG_ENABLE_OTS_EXTERNAL_AGENT

build/openwrt/makefile

Lines changed: 29 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ ONEWIFI_STA_MGR_APP_SUPPORT = 1
3737
HAL_LIBRARY = $(INSTALLDIR)/lib/libwifihal.a
3838
WEBCONFIG_LIBRARY = $(INSTALLDIR)/lib/libwebconfig.a
3939
HE_BUS_LIBRARY = $(INSTALLDIR)/lib/libhebus.a
40+
MATH_UTIL_LIBRARY = $(INSTALLDIR)/lib/libwifi_math_utils.la
41+
QUALITY_MANAGER_LIBRARY = $(INSTALLDIR)/lib/libwifi_quality_manager.la
4042

4143
INCLUDE_HAL_LIB_DIRS = \
4244
-I$(ONE_WIFI_HOME)/include \
@@ -309,6 +311,9 @@ INCLUDEDIRS = \
309311
-I$(ONE_WIFI_HOME)/source/apps/whix \
310312
-I$(ONE_WIFI_HOME)/source/apps/easyconnect \
311313
-I$(ONE_WIFI_HOME)/source/apps/em \
314+
-I$(ONE_WIFI_HOME)/source/apps/linkquality \
315+
-I$(ONE_WIFI_HOME)/source/utils/quality_mgr/inc/ \
316+
-I$(ONE_WIFI_HOME)/source/utils/math_utils/inc/ \
312317
-I$(ONE_WIFI_HOME)/source/core/services \
313318
-I$(ONE_WIFI_HOME)/include/tr_181/ml \
314319
-I$(ONE_WIFI_HOME)/include \
@@ -366,6 +371,7 @@ LIBS = -lm -luuid -lwifihal -lpthread -ldl -ljansson -lev -lssl -lcrypto -lnl-3
366371
CSOURCES = $(wildcard $(ONE_WIFI_HOME)/source/db/wifi_db.c) \
367372
$(filter-out $(ONE_WIFI_HOME)/source/core/services/vap_svc_mesh_pod.c,$(wildcard $(ONE_WIFI_HOME)/source/core/services/*.c)) \
368373
$(wildcard $(ONE_WIFI_HOME)/source/apps/*.c) \
374+
$(wildcard $(ONE_WIFI_HOME)/source/apps/linkquality/*.c) \
369375
$(wildcard $(ONE_WIFI_HOME)/source/stubs/*.c) \
370376
$(wildcard $(ONE_WIFI_HOME)/source/stats/*.c) \
371377
$(ONE_WIFI_HOME)/lib/common/util.c \
@@ -417,6 +423,11 @@ WEBCONFIG_SOURCES = $(ONE_WIFI_HOME)/source/webconfig/wifi_decoder.c \
417423
$(ONE_WIFI_HOME)/source/webconfig/wifi_webconfig_multivap.c \
418424
$(ONE_WIFI_HOME)/source/utils/wifi_util.c \
419425

426+
427+
MATH_UTIL_SOURCES = $(wildcard $(ONE_WIFI_HOME)/source/utils/math_utils/src/*.cpp) \
428+
429+
QUALITY_MANAGER_SOURCES = $(wildcard $(ONE_WIFI_HOME)/source/utils/quality_mgr/src/*.cpp) \
430+
420431
HEBUS_SOURCES = $(wildcard $(ONE_WIFI_HOME)/source/platform/linux/he_bus/src/*.c) \
421432

422433
INCLUDE_HE_LIB_DIRS = \
@@ -477,19 +488,27 @@ ifdef EM_APP
477488
$(ONE_WIFI_HOME)/source/webconfig/wifi_webconfig_em_sta_link_metrics.c \
478489
$(ONE_WIFI_HOME)/source/webconfig/wifi_webconfig_em_ap_metrics_report.c
479490
endif
491+
WEBCONFIG_SOURCES += $(ONE_WIFI_HOME)/source/webconfig/wifi_webconfig_link_report.c
480492

481493
COBJECTS = $(CSOURCES:.c=.o) # expands to list of object files
482494

483495
WEBCONFIG_OBJECTS = $(WEBCONFIG_SOURCES:.c=.o) # expands to list of object files
484496
ALL_WEBCFG_LIB_OBJECTS = $(WEBCONFIG_OBJECTS)
485497

498+
499+
MATH_UTIL_OBJECTS = $(MATH_UTIL_SOURCES:.cpp=.o) # expands to list of object files
500+
ALL_MATH_UTIL_LIB_OBJECTS = $(MATH_UTIL_OBJECTS)
501+
502+
QUALITY_MANAGER_OBJECTS = $(QUALITY_MANAGER_SOURCES:.cpp=.o) # expands to list of object files
503+
ALL_QUALITY_MANAGER_LIB_OBJECTS = $(QUALITY_MANAGER_OBJECTS)
504+
486505
HEBUS_OBJECTS = $(HEBUS_SOURCES:.c=.o) # expands to list of object files
487506
ALL_HEBUS_LIB_OBJECTS = $(HEBUS_OBJECTS)
488507

489-
ALLOBJECTS = $(CXXOBJECTS) $(COBJECTS) $(WEBCONFIG_OBJECTS) $(HEBUS_OBJECTS)
508+
ALLOBJECTS = $(CXXOBJECTS) $(COBJECTS) $(WEBCONFIG_OBJECTS) $(MATH_UTIL_OBJECTS) $(QUALITY_MANAGER_OBJECTS) $(HEBUS_OBJECTS)
490509

491510
CFLAGS += $(INCLUDEDIRS) $(INCLUDE_HE_LIB_DIRS) -g -Os -fPIC -D_ANSC_LINUX -D_COSA_INTEL_USG_ATOM_ -DUSE_NOTIFY_COMPONENT -DCISCO_XB3_PLATFORM_CHANGES -DDUAL_CORE_XB3 -DFEATURE_ONE_WIFI -DWIFI_HAL_VERSION_3 -DFEATURE_SUPPORT_PASSPOINT -DFEATURE_SUPPORT_WEBCONFIG -DBANANA_PI_PORT -DNL80211_ACL -D_PLATFORM_BANANAPI_R4_ -DFEATURE_SINGLE_PHY -DEASY_MESH_NODE -DEM_APP \
492-
-DONEWIFI_STA_MGR_APP_SUPPORT
511+
-DONEWIFI_STA_MGR_APP_SUPPORT -DONEWIFI_EASYCONNECT_APP_SUPPORT -std=c++17
493512

494513
ifneq ($(OS), Darwin)
495514
CFLAGS += -DPLATFORM_LINUX
@@ -519,6 +538,13 @@ $(HAL_LIBRARY): $(ALL_HAL_LIB_OBJECTS)
519538
$(WEBCONFIG_LIBRARY): $(ALL_WEBCFG_LIB_OBJECTS)
520539
$(AR) -rcs $@ $^
521540

541+
542+
$(MATH_UTIL_LIBRARY): $(ALL_MATH_UTIL_LIB_OBJECTS)
543+
$(AR) -rcs $@ $^
544+
545+
$(QUALITY_MANAGER_LIBRARY): $(ALL_QUALITY_MANAGER_LIB_OBJECTS)
546+
$(AR) -rcs $@ $^
547+
522548
$(HE_BUS_LIBRARY): $(ALL_HEBUS_LIB_OBJECTS)
523549
$(AR) -rcs $@ $^
524550
#
@@ -543,7 +569,7 @@ $(PROGRAM): $(ALLOBJECTS)
543569
# Clean target: "make -f Makefile.Linux clean" to remove unwanted objects and executables.
544570
#
545571
clean:
546-
$(RM) $(ALLOBJECTS) $(ALL_CMN_LIB_OBJECTS) $(ALL_HAL_LIB_OBJECTS) $(CMN_LIBRARY) $(HE_BUS_LIBRARY) $(WEBCONFIG_LIBRARY) $(HAL_LIBRARY) $(HOSTAP_LIBRARY) $(PROGRAM)
572+
$(RM) $(ALLOBJECTS) $(ALL_CMN_LIB_OBJECTS) $(ALL_HAL_LIB_OBJECTS) $(CMN_LIBRARY) $(HE_BUS_LIBRARY) $(WEBCONFIG_LIBRARY) $(MATH_UTIL_LIBRARY) $(QUALITY_MANAGER_LIBRARY)$(HAL_LIBRARY) $(HOSTAP_LIBRARY) $(PROGRAM)
547573

548574
#
549575
# Run target: "make -f Makefile.Linux run" to execute the application

config/TR181-WiFi-USGv2.XML

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -283,6 +283,12 @@
283283
<syntax>bool</syntax>
284284
<writable>true</writable>
285285
</parameter>
286+
<parameter>
287+
<name>LinkQuality</name>
288+
<type>boolean</type>
289+
<syntax>bool</syntax>
290+
<writable>true</writable>
291+
</parameter>
286292
<parameter>
287293
<name>X_RDKCENTRAL-COM_MemwrapTool_RFC</name>
288294
<type>boolean</type>

config/rdkb-wifi.ovsschema

Lines changed: 10 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.044",
3+
"version": "1.00.045",
44
"cksum": "2353365742 523",
55
"tables": {
66
"Wifi_Device_Config": {
@@ -1862,6 +1862,15 @@
18621862
"max": 1
18631863
}
18641864
},
1865+
"link_quality_rfc": {
1866+
"type": {
1867+
"key": {
1868+
"type": "boolean"
1869+
},
1870+
"min": 0,
1871+
"max": 1
1872+
}
1873+
},
18651874
"rfc_id": {
18661875
"type": "string"
18671876
}

configure.ac

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -279,6 +279,8 @@ AC_CONFIG_FILES(
279279
source/Makefile
280280
source/sampleapps/Makefile
281281
source/utils/Makefile
282+
source/utils/quality_mgr/Makefile
283+
source/utils/math_utils/Makefile
282284
Makefile
283285
)
284286

include/wifi_base.h

Lines changed: 46 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,9 @@ extern "C" {
7878
#define WIFI_NOTIFY_DENY_TCM_ASSOCIATION "Device.WiFi.ConnectionControl.TcmClientDenyAssociation"
7979
#define WIFI_CSA_BEACON_FRAME_RECEIVED "Device.WiFi.CSABeaconFrameRecieved"
8080
#define WIFI_STUCK_DETECT_FILE_NAME "/nvram/wifi_stuck_detect"
81+
#define WIFI_QUALITY_LINKREPORT "Device.WiFi.LinkReport"
82+
#define WIFI_LINK_QUALITY_DATA "Device.WiFi.LinkQualityData"
83+
#define WIFI_LINK_QUALITY_FLAGS "Device.WiFi.LinkQualityFlags"
8184

8285
#ifdef CONFIG_IEEE80211BE
8386

@@ -161,10 +164,11 @@ typedef enum {
161164
wifi_app_inst_whix = wifi_app_inst_base << 13,
162165
wifi_app_inst_core = wifi_app_inst_base << 14,
163166
wifi_app_inst_ocs = wifi_app_inst_base << 15,
164-
wifi_app_inst_memwraptool = wifi_app_inst_base << 16,
165-
wifi_app_inst_easyconnect = wifi_app_inst_base << 17,
166-
wifi_app_inst_sta_mgr = wifi_app_inst_base << 18,
167-
wifi_app_inst_max = wifi_app_inst_base << 19
167+
wifi_app_inst_easyconnect = wifi_app_inst_base << 16,
168+
wifi_app_inst_sta_mgr = wifi_app_inst_base << 17,
169+
wifi_app_inst_memwraptool = wifi_app_inst_base << 18,
170+
wifi_app_inst_link_quality = wifi_app_inst_base << 19,
171+
wifi_app_inst_max = wifi_app_inst_base << 20
168172
} wifi_app_inst_t;
169173

170174
typedef struct {
@@ -451,11 +455,34 @@ typedef struct {
451455
}levl_config_t;
452456

453457
typedef struct {
454-
unsigned int rss_check_interval; // minutes
455-
unsigned int rss_threshold; // kbytes
456-
unsigned int rss_maxlimit; // kbytes
457-
unsigned int heapwalk_duration; // minutes
458-
unsigned int heapwalk_interval; // minutes
458+
double score;
459+
double snr;
460+
double per;
461+
double phy;
462+
char time[1024];
463+
} sample_t;
464+
465+
typedef struct {
466+
char mac[18];
467+
int vap_index;
468+
double threshold;
469+
int alarm;
470+
char reporting_time[32];
471+
size_t sample_count;
472+
sample_t *samples;
473+
} link_report_t;
474+
475+
typedef struct {
476+
size_t link_count;
477+
link_report_t *links;
478+
} report_batch_t;
479+
480+
typedef struct {
481+
unsigned int rss_check_interval; //minutes
482+
unsigned int rss_threshold; //kbytes
483+
unsigned int rss_maxlimit; //kbytes
484+
unsigned int heapwalk_duration; //minutes
485+
unsigned int heapwalk_interval; //minutes
459486
bool enable;
460487
} __attribute__((packed)) memwraptool_config_t;
461488

@@ -488,6 +515,7 @@ typedef struct {
488515
bool tcm_enabled_rfc;
489516
bool wpa3_compatibility_enable;
490517
bool memwraptool_app_rfc;
518+
bool link_quality_rfc;
491519
} wifi_rfc_dml_parameters_t;
492520

493521
typedef struct {
@@ -920,6 +948,7 @@ typedef struct {
920948
long deauth_gate_time;
921949
struct active_msmt_data *sta_active_msmt_data;
922950
bool connection_authorized;
951+
bool rapid_disconnect_flag;
923952
assoc_req_elem_t assoc_frame_data;
924953

925954
/* wifi7 client specific data */
@@ -1148,6 +1177,14 @@ typedef struct {
11481177

11491178
typedef char marker_name[32];
11501179

1180+
1181+
typedef struct {
1182+
char collection_start_time[128];
1183+
unsigned int reporting_interval;
1184+
float link_quality_threshold;
1185+
} alarm_report_policy_t;
1186+
1187+
11511188
typedef struct {
11521189
int interval;
11531190
marker_name managed_client_marker;

include/wifi_events.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ typedef enum {
6161
<< wifi_event_type_exec, // wifi_event_type_base << 0
6262
wifi_event_exec_stop,
6363
wifi_event_exec_timeout,
64+
wifi_event_exec_register_station,
65+
wifi_event_exec_unregister_station,
66+
wifi_event_exec_link_param_reinit,
6467
wifi_event_exec_max,
6568

6669
// WebConfig event sub types
@@ -164,6 +167,7 @@ typedef enum {
164167
wifi_event_type_rsn_override_rfc,
165168
wifi_event_type_sta_client_info,
166169
wifi_event_type_start_sta_channel_scan,
170+
wifi_event_type_link_quality_rfc,
167171
wifi_event_command_max,
168172

169173
wifi_event_monitor_diagnostics = wifi_event_type_base

include/wifi_webconfig.h

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,7 @@ typedef enum {
142142
webconfig_subdoc_type_em_ap_metrics_report,
143143
#endif
144144
webconfig_subdoc_type_memwraptool,
145+
webconfig_subdoc_type_link_report,
145146
webconfig_subdoc_type_max
146147
} webconfig_subdoc_type_t;
147148

@@ -169,6 +170,7 @@ typedef enum {
169170
webconfig_subdoc_object_type_beacon_report,
170171
webconfig_subdoc_object_type_em_sta_link_metrics,
171172
webconfig_subdoc_object_type_em_ap_metrics_report,
173+
webconfig_subdoc_object_type_link_report,
172174

173175
webconfig_subdoc_object_max
174176
} webconfig_subdoc_object_type_t;
@@ -226,6 +228,7 @@ typedef struct {
226228
em_assoc_sta_link_metrics_rsp_t em_sta_link_metrics_rsp;
227229
em_ap_metrics_report_t em_ap_metrics_report;
228230
#endif
231+
report_batch_t *qmgr_report;
229232
} webconfig_subdoc_decoded_data_t;
230233

231234
typedef char * webconfig_subdoc_encoded_raw_t;
@@ -674,6 +677,14 @@ webconfig_error_t encode_em_ap_metrics_report_subdoc(webconfig_t *config,
674677
webconfig_error_t translate_to_em_ap_metrics_report_subdoc(webconfig_t *config, webconfig_subdoc_data_t *data);
675678
webconfig_error_t translate_from_em_ap_metrics_report_subdoc(webconfig_t *config, webconfig_subdoc_data_t *data);
676679

680+
// Qmgr Link Report
681+
webconfig_error_t init_link_report_subdoc(webconfig_subdoc_t *doc);
682+
webconfig_error_t access_check_link_report_subdoc(webconfig_t *config, webconfig_subdoc_data_t *data);
683+
webconfig_error_t decode_link_report_subdoc(webconfig_t *config, webconfig_subdoc_data_t *data);
684+
webconfig_error_t encode_link_report_subdoc(webconfig_t *config, webconfig_subdoc_data_t *data);
685+
webconfig_error_t translate_to_link_report_subdoc(webconfig_t *config, webconfig_subdoc_data_t *data);
686+
webconfig_error_t translate_from_link_report_subdoc(webconfig_t *config, webconfig_subdoc_data_t *data);
687+
677688
#ifdef __cplusplus
678689
}
679690
#endif

0 commit comments

Comments
 (0)