qcacld-3.0: Add diag logging support for measurement report
Introduce diag logging support for Neighbor report and beacon report via event id EVENT_WLAN_NBR_RPT and EVENT_WLAN_BCN_RPT. For Neighbor report token, ssid, report number, frequency list and frequency is sent. For Beacon report token, mode, operating class, channel, duration, request_mode and report number is sent. Change-Id: I7ef407fa729e608ad0a7036f024acbf8b5180181 CRs-Fixed: 3370758
Цей коміт міститься в:

зафіксовано
Madan Koyyalamudi

джерело
1364e17d1a
коміт
4470bb6708
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* Copyright (c) 2021, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
* Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for any
|
||||
* purpose with or without fee is hereby granted, provided that the above
|
||||
@@ -161,6 +161,10 @@ enum wlan_main_tag {
|
||||
* @WLAN_CONN_DIAG_EAP_FAIL_EVENT: EAP failure
|
||||
* @WLAN_CONN_DIAG_CUSTOM_EVENT: Additional WLAN logs
|
||||
* @WLAN_CONN_DIAG_EAP_START_EVENT: EAPOL start frame
|
||||
* @WLAN_CONN_DIAG_NBR_RPT_REQ_EVENT: Neighbor report request
|
||||
* @WLAN_CONN_DIAG_NBR_RPT_RESP_EVENT: Neighbor report response
|
||||
* @WLAN_CONN_DIAG_BCN_RPT_REQ_EVENT: Beacon report request
|
||||
* @WLAN_CONN_DIAG_BCN_RPT_RESP_EVENT: Beacon report response
|
||||
* @WLAN_CONN_DIAG_MAX: MAX tag
|
||||
*/
|
||||
enum qca_conn_diag_log_event_type {
|
||||
@@ -205,6 +209,10 @@ enum qca_conn_diag_log_event_type {
|
||||
WLAN_CONN_DIAG_EAP_FAIL_EVENT,
|
||||
WLAN_CONN_DIAG_CUSTOM_EVENT,
|
||||
WLAN_CONN_DIAG_EAP_START_EVENT,
|
||||
WLAN_CONN_DIAG_NBR_RPT_REQ_EVENT,
|
||||
WLAN_CONN_DIAG_NBR_RPT_RESP_EVENT,
|
||||
WLAN_CONN_DIAG_BCN_RPT_REQ_EVENT,
|
||||
WLAN_CONN_DIAG_BCN_RPT_RESP_EVENT,
|
||||
WLAN_CONN_DIAG_MAX
|
||||
};
|
||||
|
||||
@@ -224,6 +232,84 @@ struct wlan_connectivity_log_diag_cmn {
|
||||
uint64_t ktime_us;
|
||||
} qdf_packed;
|
||||
|
||||
#define DIAG_NBR_RPT_VERSION 1
|
||||
|
||||
/**
|
||||
* struct wlan_diag_nbr_rpt - Neighbor report structure
|
||||
* @diag_cmn: Common diag info
|
||||
* @version: structure version
|
||||
* @num_rpt: the number of neighbor report elements in response frame.
|
||||
* @subtype: Event Subtype
|
||||
* @token: dialog token. Dialog Token is a nonzero value chosen by the STA
|
||||
* @num_freq: Number of frequency in response frame
|
||||
* @ssid_len: SSID length
|
||||
* @seq_num: Sequence number
|
||||
* @ssid: SSID
|
||||
* @freq: Frequency list in response frame
|
||||
*/
|
||||
struct wlan_diag_nbr_rpt {
|
||||
struct wlan_connectivity_log_diag_cmn diag_cmn;
|
||||
uint8_t version;
|
||||
uint8_t num_rpt;
|
||||
uint8_t subtype;
|
||||
uint8_t token;
|
||||
uint16_t num_freq;
|
||||
uint16_t ssid_len;
|
||||
uint32_t seq_num;
|
||||
char ssid[WLAN_SSID_MAX_LEN];
|
||||
uint32_t freq[WLAN_MAX_LOGGING_FREQ];
|
||||
} qdf_packed;
|
||||
|
||||
/**
|
||||
* enum wlan_bcn_rpt_measurement_mode - Measurement mode enum.
|
||||
* Defined in IEEE Std 802.11‐2020 Table 9-103.
|
||||
* @MEASURE_MODE_PASSIVE: Passive measurement mode
|
||||
* @MEASURE_MODE_ACTIVE: Active measurement mode
|
||||
* @MEASURE_MODE_BCN_TABLE: Beacon table measurement mode
|
||||
* @MEASURE_MODE_RESERVED: Reserved
|
||||
*/
|
||||
enum wlan_bcn_rpt_measurement_mode {
|
||||
MEASURE_MODE_PASSIVE = 0,
|
||||
MEASURE_MODE_ACTIVE,
|
||||
MEASURE_MODE_BCN_TABLE,
|
||||
MEASURE_MODE_RESERVED = 0xFF
|
||||
};
|
||||
|
||||
#define DIAG_BCN_RPT_VERSION 1
|
||||
|
||||
/**
|
||||
* struct wlan_diag_bcn_rpt - Beacon report structure
|
||||
* @diag_cmn: Common diag info
|
||||
* @version: structure version
|
||||
* @subtype: Event Subtype
|
||||
* @diag_token: Dialog token
|
||||
* @op_class: Operating classes that include primary channels
|
||||
* @chan: The channel number field in the beacon report request.
|
||||
* @req_mode: hex value defines Duration mandatory, parallel, enable,
|
||||
* request, and report bits.
|
||||
* @num_rpt: the number of neighbor report elements in response frame.
|
||||
* @meas_token: A nonzero number that is unique among the Measurement Request
|
||||
* elements
|
||||
* @mode: Mode used for measurement.Values defined in IEEE
|
||||
* Std 802.11‐2020 Table 9-103.
|
||||
* @duration: The duration over which the Beacon report was measured.(in ms)
|
||||
* @seq_num: Sequence number.
|
||||
*/
|
||||
struct wlan_diag_bcn_rpt {
|
||||
struct wlan_connectivity_log_diag_cmn diag_cmn;
|
||||
uint8_t version;
|
||||
uint8_t subtype;
|
||||
uint8_t diag_token;
|
||||
uint8_t op_class;
|
||||
uint8_t chan;
|
||||
uint8_t req_mode;
|
||||
uint8_t num_rpt;
|
||||
uint8_t meas_token;
|
||||
uint16_t mode;
|
||||
uint16_t duration;
|
||||
uint32_t seq_num;
|
||||
} qdf_packed;
|
||||
|
||||
#define DIAG_ROAM_CAND_VERSION 1
|
||||
|
||||
/**
|
||||
|
Посилання в новій задачі
Заблокувати користувача