From 22953dc00418338e2155d55f4252342e628061a2 Mon Sep 17 00:00:00 2001 From: Srinivas Girigowda Date: Wed, 6 Feb 2019 13:48:43 -0800 Subject: [PATCH] qcacmn: Enable EAPOL/DHCP message tracing in Wifi driver Enable EAPOL/DHCP message tracing in Wifi driver. Change-Id: I010c9295fd6ca42a950f84f0d7a19b00d8b0c0da CRs-Fixed: 2421835 --- qdf/inc/qdf_trace.h | 20 ++++++++++++++++++-- qdf/linux/src/qdf_trace.c | 29 +++++++++++++++++++++++++---- 2 files changed, 43 insertions(+), 6 deletions(-) diff --git a/qdf/inc/qdf_trace.h b/qdf/inc/qdf_trace.h index f1eed699a2..35733286d3 100644 --- a/qdf/inc/qdf_trace.h +++ b/qdf/inc/qdf_trace.h @@ -723,7 +723,8 @@ void qdf_dp_display_ptr_record(struct qdf_dp_trace_record_s *record, uint8_t info); /** - * qdf_dp_display_proto_pkt() - display proto packet + * qdf_dp_display_proto_pkt_debug() - display proto packet only + * for debug. * @record: dptrace record * @index: index * @pdev_id: pdev id for the mgmt pkt @@ -731,9 +732,24 @@ void qdf_dp_display_ptr_record(struct qdf_dp_trace_record_s *record, * * Return: none */ -void qdf_dp_display_proto_pkt(struct qdf_dp_trace_record_s *record, +void qdf_dp_display_proto_pkt_debug(struct qdf_dp_trace_record_s *record, uint16_t index, uint8_t pdev_id, uint8_t info); + +/** + * qdf_dp_display_proto_pkt_always() - display proto packets all + * the time. + * @record: dptrace record + * @index: index + * @pdev_id: pdev id for the mgmt pkt + * @info: info used to display pkt (live mode, throttling) + * + * Return: none + */ +void qdf_dp_display_proto_pkt_always(struct qdf_dp_trace_record_s *record, + uint16_t index, uint8_t pdev_id, + uint8_t info); + /** * qdf_dp_display_data_pkt_record() - Displays a data packet in DP trace * @record: pointer to a record in DP trace diff --git a/qdf/linux/src/qdf_trace.c b/qdf/linux/src/qdf_trace.c index 6f46fee456..c438ff66a9 100644 --- a/qdf/linux/src/qdf_trace.c +++ b/qdf/linux/src/qdf_trace.c @@ -917,10 +917,11 @@ void qdf_dp_trace_init(bool live_mode_config, uint8_t thresh, qdf_dp_display_ptr_record; qdf_dp_trace_cb_table[QDF_DP_TRACE_EAPOL_PACKET_RECORD] = qdf_dp_trace_cb_table[QDF_DP_TRACE_DHCP_PACKET_RECORD] = + qdf_dp_display_proto_pkt_always; qdf_dp_trace_cb_table[QDF_DP_TRACE_ARP_PACKET_RECORD] = qdf_dp_trace_cb_table[QDF_DP_TRACE_ICMP_PACKET_RECORD] = qdf_dp_trace_cb_table[QDF_DP_TRACE_ICMPv6_PACKET_RECORD] = - qdf_dp_display_proto_pkt; + qdf_dp_display_proto_pkt_debug; qdf_dp_trace_cb_table[QDF_DP_TRACE_MGMT_PACKET_RECORD] = qdf_dp_display_mgmt_pkt; qdf_dp_trace_cb_table[QDF_DP_TRACE_EVENT_RECORD] = @@ -1931,8 +1932,8 @@ void qdf_dp_trace_record_event(enum QDF_DP_TRACE_ID code, uint8_t vdev_id, qdf_export_symbol(qdf_dp_trace_record_event); -void qdf_dp_display_proto_pkt(struct qdf_dp_trace_record_s *record, - uint16_t index, uint8_t pdev_id, uint8_t info) +void qdf_dp_display_proto_pkt_debug(struct qdf_dp_trace_record_s *record, + uint16_t index, uint8_t pdev_id, uint8_t info) { int loc; char prepend_str[QDF_DP_TRACE_PREPEND_STR_SIZE]; @@ -1952,7 +1953,27 @@ void qdf_dp_display_proto_pkt(struct qdf_dp_trace_record_s *record, qdf_dp_dir_to_str(buf->dir), QDF_MAC_ADDR_ARRAY(buf->da.bytes)); } -qdf_export_symbol(qdf_dp_display_proto_pkt); +qdf_export_symbol(qdf_dp_display_proto_pkt_debug); + +void qdf_dp_display_proto_pkt_always(struct qdf_dp_trace_record_s *record, + uint16_t index, uint8_t pdev_id, uint8_t info) +{ + int loc; + char prepend_str[QDF_DP_TRACE_PREPEND_STR_SIZE]; + struct qdf_dp_trace_proto_buf *buf = + (struct qdf_dp_trace_proto_buf *)record->data; + + qdf_mem_zero(prepend_str, sizeof(prepend_str)); + loc = qdf_dp_trace_fill_meta_str(prepend_str, sizeof(prepend_str), + index, info, record); + qdf_info("%s [%d] [%s] SA: "QDF_MAC_ADDR_STR " %s DA: " + QDF_MAC_ADDR_STR, prepend_str, + buf->vdev_id, qdf_dp_subtype_to_str(buf->subtype), + QDF_MAC_ADDR_ARRAY(buf->sa.bytes), + qdf_dp_dir_to_str(buf->dir), + QDF_MAC_ADDR_ARRAY(buf->da.bytes)); +} +qdf_export_symbol(qdf_dp_display_proto_pkt_always); void qdf_dp_trace_proto_pkt(enum QDF_DP_TRACE_ID code, uint8_t vdev_id, uint8_t *sa, uint8_t *da, enum qdf_proto_type type,