qcacmn: add drop count for OOR eapol frames

Add drop statistics for duplicate EAPOL frames received
in the REO exception ring as OOR frames. This will help
understand if EAPOL frames are getting dropped which could
cause connection issues.

Change-Id: Ib9d5a3c04ce6638c65166f02261af5c526cc47eb
CRs-Fixed: 2814633
This commit is contained in:
Manikanta Pubbisetty
2020-12-07 09:36:30 +05:30
committed by snandini
parent 13a96842f7
commit 47b6698b2d
3 changed files with 10 additions and 1 deletions

View File

@@ -495,8 +495,10 @@ dp_rx_oor_handle(struct dp_soc *soc,
* duplicated EAP response.
*/
if (mpdu_desc_info->mpdu_flags & HAL_MPDU_F_RETRY_BIT &&
peer->rx_tid[tid].ba_status == DP_RX_BA_ACTIVE)
peer->rx_tid[tid].ba_status == DP_RX_BA_ACTIVE) {
frame_mask &= ~FRAME_MASK_IPV4_EAPOL;
DP_STATS_INC(soc, rx.err.reo_err_oor_eapol_drop, 1);
}
if (dp_rx_deliver_special_frame(soc, peer, nbuf, frame_mask,
rx_tlv_hdr)) {

View File

@@ -6028,6 +6028,8 @@ void dp_txrx_path_stats(struct dp_soc *soc)
pdev->soc->stats.rx.err.reo_err_oor_to_stack);
DP_PRINT_STATS("REO err oor msdu drop: %u",
pdev->soc->stats.rx.err.reo_err_oor_drop);
DP_PRINT_STATS("REO err oor eapol drop: %u",
pdev->soc->stats.rx.err.reo_err_oor_eapol_drop);
DP_PRINT_STATS("Rx err msdu rejected: %d",
soc->stats.rx.err.rejected);
DP_PRINT_STATS("Rx raw frame dropped: %d",
@@ -6613,6 +6615,9 @@ dp_print_soc_rx_stats(struct dp_soc *soc)
DP_PRINT_STATS("REO err oor msdu drop: %d",
soc->stats.rx.err.reo_err_oor_drop);
DP_PRINT_STATS("REO err oor eapol drop: %d",
soc->stats.rx.err.reo_err_oor_eapol_drop);
DP_PRINT_STATS("Rx err msdu rejected: %d",
soc->stats.rx.err.rejected);

View File

@@ -987,6 +987,8 @@ struct dp_soc_stats {
uint32_t dup_refill_link_desc;
/* Incorrect msdu continuation bit in MSDU desc */
uint32_t msdu_continuation_err;
/* REO OOR eapol drop count */
uint32_t reo_err_oor_eapol_drop;
} err;
/* packet count per core - per ring */