Peer wlanstats context was accessed directly
without any protection, if peer was deleted
there was no way to know if PPDU cookie holds
correct wlanstats ctx
Hence to protect the peer wlanstats ctx access
it using CDP API using stats context protection
CRs-Fixed: 2740231
Change-Id: I9b07970c691099f3c9b0175d550508b50db9ac8a
Currently there is only a provision to enable
and disable RDK stats with enable_rdk_stats
INI configuration
Since there are new set of statistic metrics added
as part of RDK stats, add version information into
CFG INI configuration such as
0. For disabling stats (By default)
1. For enabling peer rate stats only
2. For enabling peer link metrics only
3. For enabling both statistics
This is done to avoid unncessary CPU consumption
and memory consumption for each peer, depending on
the requirement the version can be enabled
CRs-Fixed: 2740231
Change-Id: I1cfd8c75dd4f3236a5b07263573fd5ddbe1dc1c3
Adding new metrics to existing RDK Plume statistics
PHY Metrics Tx
1. phy_rate_actual_su - Single User Rate
2. phy_rate_actual_mu - Multi User Rate
3. ofdma_usage - OFDMA Usage count
4. mu_mimo_usage - MU MIMO Usage count
5. bw_usage_avg - Average BW
6. bw_usage_max - Max BW Ratio to total PPDUs
7. pkt_error_rate(mpdu) - MPDU packet error rate
8. num_ppdus - Number of PPDUs
9. num_bytes - Number of PPDU bytes
PHY Metrics Rx
1. phy_rate_actual_su - Single User Rate
2. phy_rate_actual_mu - Multi User Rate
3. ofdma_usage - OFDMA Usage count
4. mu_mimo_usage - MU MIMO Usage count
5. bw_usage_avg - Average BW
6. bw_usage_max - Max BW Ratio to total PPDUs
7. pkt_error_rate(mpdu) - MPDU packet error rate
8. num_ppdus - Number of PPDUs
9. num_bytes - Number of PPDU bytes
RSSI
1. su_rssi - Single user Rx RSSI
2. ack_rssi - ACK RSSI
CRs-Fixed: 2740231
Change-Id: Ie62157195d87f61640aa7bc65b2f02f629ff195d
Remove peer pointer in AST entry and store peer_id instead
to avoid access of peer memory without taking reference
Change-Id: I1e9c2a6880b3582866b821bf56a8400e056665f2
In few scenarios,dp_get_pdev_lmac_id shall returns null.
To avoid this added a null pointer check to avoid the dereference issues.
Change-Id: I5a859c81295a49afd3fc083c6611eceec414d2ca
Function to notify HMWDS ast add status to upper layers via
newly added WDI event WDI_EVENT_HMWDS_AST_ADD_STATUS
Change-Id: Ib6fad7a48425ce7de16d94bb401af0c428c8e556
CRs-Fixed: 2745460
While monitor ring processing, do not assign ppdu_id to
pdev->com_info.ppdu_id in order to avoid duplication at HAL layer
processing
Change-Id: I2ab8e955bba7494c2fca45d8be9dbf2a5eb8c4bc
CRs-Fixed: 2740395
Currently, per-user information in Tx PPDU completion is allocated for
37 users though FW may send information for fewer number of users. In
new scheme, FW provides number of users in USERS_INFO TLV and host can
allocate the per-user struct based on this number. This can save memory
while processing each completion message.
Make related changes in tx capture files to use pointer instead of fixed
size member.
CRs-Fixed: 2730933
Change-Id: I8709665a481d64dc4ab086ce9b27e8837c38b53f
Debugfs is added to store the last 30 ppdu desc and display
as readable format to user. Feature of storing ppdu desc is
enabled through debugfs and it is not enabled by default.
Change-Id: I85ff52760462abd9a6e33d082db45d8179e67c0d
Currently, same user can be processed multiple times, which leads to
release ref count wrongly, with this, some of the users in PPDU
desc are never processed and can possibly cause memory leak.
Added a flag in PPDU user to indicate that the user is already
processed.
CRs-Fixed: 2718150
Change-Id: Ia00e0ad12999578157e9f8a6df0ad4763f828c88
For some peers, tx capture tid init is not invoked,
It is resulting in ppdu_desc leak.
Invoking tid init on tid peer update, if tid is not
initialized.
Change-Id: Ia49c7e6d093a42e57e8d9239a60ad0b8dabfcc5b
CRs-Fixed: 2718150
Skip protocol tag updating from msdu end TLV protocol tag meta data
when there is RXDMA REO entrance push error on monitor destination ring.
The attention and msdu end TLV is not updated reliably when there
is RXDMA REO entrance push error such as FCS error on monitor
destination ring.
Change-Id: I47ab7da3a239080c1ab608c5001f65c4849b7b3a
Remove double validation of ppdu_user tx_ratekbps
and ppdu_user rate index while updating per peer
Tx statistics
Change-Id: I9d4b65556928b21ee6caa10fb15193c8705ad2af
for MU frame, rts and cts are transmitted only for first user.
fix other place to use index from caller instead of 0.
Change-Id: I672d91c3df2fac358942304ad6613ee32313e442
For full monitor, it is observed destination ppdu_id
and status ppdu_id mismatches.
a. If status ring ppdu_id is leading compared to destiantion ring
ppdu_id, drop destination ring ppdus
b. If status ring ppdu_id is lagging compared to destiantion ring
ppdu_id, drop status ring ppdus
c. Handle warp around scenarios
CRs-Fixed: 2686747
Change-Id: Ie059c891347d4ff59b230881d5a9049d8acf279e
deauth frames are treated as speacial frame where peer id
point to bss peer id but payload RA points to station
mac address. Peer filter is done based on payload.
Change-Id: I4238a108a62accbf3a53f74332a10377675870b8
CRs-Fixed: 2692363
Qcn9000 changes to handle offset changes
with respect to rx flow search entry.
Validation Details: Unit testing Rx FSE feature and MIG run
CRs-Fixed: 2595489
Change-Id: Ib470dadf9d3dcad4203e7e9af7e5af69a3628a7a