Преглед изворни кода

qcacmn: Modify qdf_eapol_pkt_type_to_subtype() to log EAPOL Start

In the api qdf_eapol_pkt_type_to_subtype(), the EAPOL start
packet is not logged to userspace.

Modify the api qdf_eapol_pkt_type_to_subtype() to support
EAPOL Start logging

Change-Id: Ic985a3f6713d298ae04559a897312fdbadb57275
CRs-Fixed: 3311616
vijaraj пре 2 година
родитељ
комит
d5104c49a5
2 измењених фајлова са 11 додато и 2 уклоњено
  1. 6 2
      qdf/inc/qdf_nbuf.h
  2. 5 0
      qdf/linux/src/qdf_trace.c

+ 6 - 2
qdf/inc/qdf_nbuf.h

@@ -104,8 +104,12 @@
 #define EAPOL_KEY_INFO_OFFSET			19
 #define EAPOL_PKT_LEN_OFFSET			16
 #define EAPOL_KEY_LEN_OFFSET			21
-#define EAPOL_PACKET_TYPE_EAP			0
-#define EAPOL_PACKET_TYPE_KEY			3
+
+#define EAPOL_PACKET_TYPE_EAP                   0
+#define EAPOL_PACKET_TYPE_START                 1
+#define EAPOL_PACKET_TYPE_LOGOFF                2
+#define EAPOL_PACKET_TYPE_KEY                   3
+
 #define EAPOL_KEY_TYPE_MASK			0x0800
 #define EAPOL_KEY_ENCRYPTED_MASK		0x0010
 

+ 5 - 0
qdf/linux/src/qdf_trace.c

@@ -1894,6 +1894,11 @@ void qdf_fill_wlan_connectivity_log(enum qdf_proto_type type,
 		} else if (pkt_type == EAPOL_PACKET_TYPE_KEY) {
 			wlan_diag_event.subtype =
 					qdf_eapol_get_key_type(data, subtype);
+		} else if (pkt_type == EAPOL_PACKET_TYPE_START) {
+			wlan_diag_event.subtype =
+					WLAN_CONN_DIAG_EAP_START_EVENT;
+			wlan_diag_event.eap_len =
+			    qdf_ntohs(*(uint16_t *)(data + EAPOL_PKT_LEN_OFFSET));
 		} else {
 			return;
 		}