qcacmn: Add qdf API to check for configured packet types
Add qdf API support to check if the packet should be tracked as per the configured protocol types. Change-Id: Ia9e937865d3d440f1350307a67e32b20ea218e54 CRs-Fixed: 2642156
This commit is contained in:

committed by
nshrivas

parent
1c1ef8c2bd
commit
4326a54376
@@ -922,6 +922,16 @@ void qdf_dp_set_proto_event_bitmap(uint32_t value);
|
|||||||
void qdf_dp_log_proto_pkt_info(uint8_t *sa, uint8_t *da, uint8_t type,
|
void qdf_dp_log_proto_pkt_info(uint8_t *sa, uint8_t *da, uint8_t type,
|
||||||
uint8_t subtype, uint8_t dir, uint16_t msdu_id,
|
uint8_t subtype, uint8_t dir, uint16_t msdu_id,
|
||||||
uint8_t status);
|
uint8_t status);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* qdf_dp_track_noack_check() - Check if no ack count should be tracked for
|
||||||
|
* the configured protocol packet types
|
||||||
|
* @nbuf: nbuf
|
||||||
|
* @subtype: subtype of packet to be tracked
|
||||||
|
*
|
||||||
|
* Return: none
|
||||||
|
*/
|
||||||
|
void qdf_dp_track_noack_check(qdf_nbuf_t nbuf, enum qdf_proto_subtype *subtype);
|
||||||
#else
|
#else
|
||||||
static inline
|
static inline
|
||||||
bool qdf_dp_trace_log_pkt(uint8_t vdev_id, struct sk_buff *skb,
|
bool qdf_dp_trace_log_pkt(uint8_t vdev_id, struct sk_buff *skb,
|
||||||
@@ -1018,6 +1028,11 @@ void qdf_dp_log_proto_pkt_info(uint8_t *sa, uint8_t *da, uint8_t type,
|
|||||||
uint8_t status)
|
uint8_t status)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline
|
||||||
|
void qdf_dp_track_noack_check(qdf_nbuf_t nbuf, enum qdf_proto_subtype *subtype)
|
||||||
|
{
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
void qdf_trace_display(void);
|
void qdf_trace_display(void);
|
||||||
|
@@ -2230,6 +2230,41 @@ bool qdf_dp_proto_log_enable_check(enum qdf_proto_type pkt_type,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void qdf_dp_track_noack_check(qdf_nbuf_t nbuf, enum qdf_proto_subtype *subtype)
|
||||||
|
{
|
||||||
|
enum qdf_proto_type pkt_type = qdf_dp_get_pkt_proto_type(nbuf);
|
||||||
|
uint16_t dp_track = 0;
|
||||||
|
|
||||||
|
switch (pkt_type) {
|
||||||
|
case QDF_PROTO_TYPE_EAPOL:
|
||||||
|
dp_track = qdf_dp_get_proto_bitmap() &
|
||||||
|
QDF_NBUF_PKT_TRAC_TYPE_EAPOL;
|
||||||
|
break;
|
||||||
|
case QDF_PROTO_TYPE_DHCP:
|
||||||
|
dp_track = qdf_dp_get_proto_bitmap() &
|
||||||
|
QDF_NBUF_PKT_TRAC_TYPE_DHCP;
|
||||||
|
break;
|
||||||
|
case QDF_PROTO_TYPE_ARP:
|
||||||
|
dp_track = qdf_dp_get_proto_bitmap() &
|
||||||
|
QDF_NBUF_PKT_TRAC_TYPE_ARP;
|
||||||
|
break;
|
||||||
|
case QDF_PROTO_TYPE_DNS:
|
||||||
|
dp_track = qdf_dp_get_proto_bitmap() &
|
||||||
|
QDF_NBUF_PKT_TRAC_TYPE_DNS;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!dp_track) {
|
||||||
|
*subtype = QDF_PROTO_INVALID;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
*subtype = qdf_dp_get_pkt_subtype(nbuf, pkt_type);
|
||||||
|
}
|
||||||
|
qdf_export_symbol(qdf_dp_track_noack_check);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* qdf_dp_trace_ptr() - record dptrace
|
* qdf_dp_trace_ptr() - record dptrace
|
||||||
* @code: dptrace code
|
* @code: dptrace code
|
||||||
|
Reference in New Issue
Block a user