qcacmn: Enable PN check for 2K-jump and OOR frames

Currently the EAPOL/ARP/DHCP frames arriving as 2K-jump
or out-of-order frmaes are being delivered to the network
stack, without checking for the packet-number sequence.

WCN7850 has hardware support to provide the packet number
of the previous successful re-ordered packet from hardware.
Use this feature to check if the packet-number are in proper
sequence for these EAPOL/ARP/DHCP packets arriving as 2k-jump
or out-of-order packets before submitting it to the network
stack.

Change-Id: I1078452afce4bc00b2509436295e5bd80000feb4
CRs-Fixed: 2965086
这个提交包含在:
Rakesh Pillai
2021-03-29 23:48:32 -07:00
提交者 Madan Koyyalamudi
父节点 e4c918b6ca
当前提交 5d44eac10a
修改 8 个文件,包含 259 行新增3 行删除

查看文件

@@ -6040,6 +6040,8 @@ void dp_txrx_path_stats(struct dp_soc *soc)
pdev->soc->stats.rx.err.ipa_smmu_unmap_dup);
DP_PRINT_STATS("Rx ipa smmu unmap no pipes: %d",
pdev->soc->stats.rx.err.ipa_unmap_no_pipe);
DP_PRINT_STATS("PN-in-Dest error frame pn-check fail: %d",
soc->stats.rx.err.pn_in_dest_check_fail);
DP_PRINT_STATS("Reo Statistics");
DP_PRINT_STATS("near_full: %u ", soc->stats.rx.near_full);
@@ -6675,6 +6677,9 @@ dp_print_soc_rx_stats(struct dp_soc *soc)
DP_PRINT_STATS("bar handle update fail count: %d",
soc->stats.rx.err.bar_handle_fail_count);
DP_PRINT_STATS("PN-in-Dest error frame pn-check fail: %d",
soc->stats.rx.err.pn_in_dest_check_fail);
for (i = 0; i < HAL_RXDMA_ERR_MAX; i++) {
index += qdf_snprint(&rxdma_error[index],
DP_RXDMA_ERR_LENGTH - index,