Commit Graph

185 Commits

Author SHA1 Message Date
Nandha Kishore Easwaran
10a1d54f1d qcacmn: Check peer_count for peer filtering
Check peer count to decide if peer filtering is required or not.
This is required to support peer filtering for full monitor mode.

Change-Id: Icb3c0fc834795dbbbfd3a7899b3b733409f5f70d
CRs-Fixed: 3372600
2023-01-11 17:24:14 -08:00
Mukul Dhiman
4bc38f404d qcacmn: remove unused var in dp/wifi3.0/monitor/2.0/dp_tx_mon_2.0.c
remove unused var and declaration in
dp/wifi3.0/monitor/2.0/dp_tx_mon_2.0.c

CRs-Fixed: 3284798
Change-Id: I83f39250f90a8dbf673e517244bb0b872e40026a
2023-01-08 23:19:04 -08:00
Mukul Dhiman
953c4d69fb qcacmn: remove unnused var in dp/wifi3.0/monitor/2.0/dp_rx_mon_2.0.c
remove unused var and declaration in
dp/wifi3.0/monitor/2.0/dp_rx_mon_2.0.c

CRs-Fixed: 3284798
Change-Id: Ibae1a2b3f9376103f348e1778c0f9f88fd05e9dc
2023-01-08 23:18:55 -08:00
Mukul Dhiman
4a4f3ce161 qcacmn: remove unused var in monitor/2.0/dp_mon_filter_2.0.c
remove unused var and declarations in
dp/wifi3.0/monitor/2.0/dp_mon_filter_2.0.c

CRs-Fixed: 3284798
Change-Id: I602d0e1ce5a74b981f34f7d5d4a5cb83693f62db
2023-01-08 23:18:46 -08:00
Mukul Dhiman
cdde02d8b6 qcacmn: remove unused var in dp/wifi3.0/monitor/2.0/dp_mon_2.0.c
remove unused var and declarations in
dp/wifi3.0/monitor/2.0/dp_mon_2.0.c

CRs-Fixed: 3284798
Change-Id: Ief15786a74d7f6eb90ed1b1527b79ddb50f14159
2023-01-08 23:18:36 -08:00
Sushant Butta
6bab9eec62 qcacmn: Fix for memory leak
In error conditions(packet truncation or flush detected)
packet buffers are not freed, changes are done to
iterate over all the packet buffers and free them.

Change-Id: I48ef0022c7a9c8c6fd067d78d6b46daf84855cc8
CRs-Fixed: 3363841
2023-01-03 21:51:56 -08:00
nobelj
f1dd81866f qcacmn: Add support for firmware to software tlv
Added support for parsing firmware to software tlv. which is mainly used
for populating frequency of the current packet.

Change-Id: I67c552e6d6b5caf9c12c34e553bad70b89b30c40
CRs-Fixed: 3270364
2022-12-27 17:07:35 -08:00
aloksing
336315bdd2 qcacmn: Fix invalid memory access
rx user status pointer is not valid

memzero ppdu_info before ppdu TLV processing and
Assign valid user status pointer from ppdu_info
user status before rtap update.

Change-Id: Ib9f8bf356a8d4710d295716cf88b8cf6a37158cb
CRs-Fixed: 3341380
2022-12-20 11:56:52 -08:00
Sushant Butta
0bffc7e7d1 qcacmn: Do length check to avoid memory corruption
Check size of the frag before passing
to trim function, which can lead to memory
corruption.

Change-Id: Icea102f9fef8c7333591337a93d32bc449704202
CRs-Fixed: 3354458
2022-12-14 21:12:31 -08:00
Amir Patel
2725ca7035 qcacmn: Adjust low watermark refill for RxMON Source ring
Adjust low watermark refill for RxMON Source ring based on
ring_fill_level.
ring_fill_level varies based on use case of monitor like
enhanced_stats, full monitor.

CRs-Fixed: 3353181
Change-Id: I4e17eecbbd7f74071283d2c5615904310a3d7c77
2022-12-07 05:50:28 -08:00
Amir Patel
05a6d5283d qcacmn: Enable low watermark interrupt for WKK RxMON
Enable low watermark interrupt for WKK RxMON

CRs-Fixed: 3347545
Change-Id: Ia78878aab1ded951a2ecd4a276696ac150910c43
2022-12-02 03:31:07 -08:00
Jeevan Kukkalli
ce1eb44128 qcacmn: Add appropriate comments
Add appropriate comments to describe actions
performed.

Change-Id: I16ba2ef3f8baae3e5a5e8add1668a49acc858495
CRs-Fixed: 3346270
2022-11-28 08:37:59 -08:00
Nandha Kishore Easwaran
7432a2e275 qcacmn: Add field to indicate sw peer filtering
Add a field to indicate if SW peer filtering is needed in
Tx monitor

Change-Id: Id0ed1655dfe51632f0437c4e3e3c2ccd067f75fe
CRs-Fixed: 3333191
2022-11-28 04:58:30 -08:00
Jeevan Kukkalli
b0b3b2a793 qcacmn: Validate nbuf while processing MPDU/MSDU level TLVs
nbuf could be freed when some error conditions are hit so
always validate nbuf while processing MPDU/MSDU level TLVs.

Change-Id: I5e0756bc8ba0a8c68c6ce8d2886b5b63068626a0
CRs-Fixed: 3318966
2022-11-26 17:40:21 -08:00
Amir Patel
88194f389a qcacmn: Update Calibrated noise floor from HALPHY
Update Calibrated noise floor from HALPHY into monitor packets

Change-Id: I73d879ad7d1b22a52b447f3197989e2beb52a404
CRs-Fixed: 3345567
2022-11-26 02:37:31 -08:00
Sushant Butta
31eb482274 qcacmn: Fix for u8 overflow
When high throughput is running between AP and STA,
due to u8 variable overflow, host is not replenishing
required buffers.

More than 255 buffers can be requested for replenish,
so fixed size of the variable.

Change-Id: Ia810fed29058ec527cd8e6f77e6f9c333c5c6f88
CRs-Fixed: 3306616
2022-11-25 10:25:33 -08:00
Amir Patel
af0472aa08 qcacmn: Update PPDU drop counter
Update PPDU drop counter from monitor ring

CRs-Fixed: 3341905
Change-Id: I63f5b4d6a3e1e0155cf0558bea18704df073e2a9
2022-11-23 21:52:03 -08:00
Adwait Nayak
8775c73843 qcacmn: Enable hybrid mode for QCN9224
Enable hybrid mode specific handlers

Change-Id: I764c56c217b951424d699d6861ef8771496dd592
CRs-Fixed: 3339154
2022-11-23 04:42:49 -08:00
Nandha Kishore Easwaran
bb7ee725be qcacmn: Add txmon HP TP values in stats command
Add txmon buf and destination ring in HPTP dump command

Change-Id: Ic32d1b355d5fc309225dfc5649ee7f9568a8dca6
CRs-Fixed: 3331176
2022-11-21 00:03:26 -08:00
Nidhi Jain
92cfe5ce89 qcacmn: Changes to enable CFR in monitor filter 2.0
This change enables CFR through dp_mon_filter_2_0 path.

Change-Id: Ic83d071dbc7c3dec28f025388753f07b7dba2fa5
CRs-Fixed: 3337540
2022-11-20 22:03:19 -08:00
Kai Chen
9cb6199f70 qcacmn: Add EHT debug counter on PPDU
Add debug count to count PPDU based on UL/DL and type compression
mode

Change-Id: I2b320e6562d309cc0a178a137162ab0499c81e58
CRs-Fixed: 3326278
2022-11-17 08:09:23 -08:00
Santosh Anbu
c6fd7ded28 qcacmn: Enable monitor mac filter for special vap
Add change to enable mac based filter for monitor special vap.

Change-Id: Ib189071443d5a98a84d160e7043e9bc4faf189c5
CRs-Fixed: 3317599
2022-11-16 07:55:33 -08:00
Kai Chen
83521665e6 qcacmn: Add debug counter for monitor mode
Add debug count for count MPDU received based on preamble type,
reception type, UL/DL and user for max 4 user for MU monitor
mode

Change-Id: I87f1553e1f2f8276501366a825d629cf051d8a80
CRs-Fixed: 3326272
2022-11-14 16:20:25 -08:00
Nidhi Jain
2e2003d54f qcacmn: Changes to enable CFR on special vap
This change enables CFR captures on special vap.

Change-Id: Ifdaeccf7cc2211af5a2b82feae3a0b3ee45b617a
CRs-Fixed: 3308460
2022-11-07 00:44:52 -08:00
Jeevan Kukkalli
3bc974804e qcacmn: Add ini cfg to disable invalid decap type handling
Add ini configuration to disable invalid decap type handling
during rx mon tlv processing. This is a temporary change for
debugging purpose and will be removed once HW issue is resolved.

Change-Id: I75eb53170833224ddd144baf1b1d8034f988dd3c
CRs-Fixed: 3308998
2022-10-20 10:55:19 -07:00
Subrat Mishra
92fc6fa7c1 qcacmn: Add control frame stats accounting support
Add control frame stats accounting support.
Accumulate both per peer BAR and NDPA counts in Tx and Rx per PPDU stats
path. Accumulate per peer RTS success and failure count only in per PPDU
Tx stats path.

Change-Id: I78fb3546cd831559e208a7330feb2eb67b9a28de
CRs-Fixed: 3313435
2022-10-20 10:55:12 -07:00
KARTHIK KUMAR T
ea38e7997e qcacmn: update RSSI specific parameters in mon pdev
Before we are updating RSSI params directly into mon_rx_status
this structure will reset every PPDU this breaks iwconfig,
wlanconfig and monitor packet RSSI values.
Fix added to storing the values in the mon_pdev.

Change-Id: I9f8fa776c65cbad84fac5e8c2f65b3fce1386e20
CRs-Fixed: 3276503
2022-10-17 16:22:51 -07:00
Sushant Butta
dfed04fde0 qcacmn: Fix memory leaks
In some of the erorr cases, allocated mpdu's are not
freed leading to a memory leak.

Changes are done to iterate over mpdu queue and
frees allocated mpdu.

Change-Id: I18d3a57b366b9fa7aa934ac062c7acd1a9065d1b
CRs-Fixed: 3295577
2022-10-15 19:31:56 -07:00
Nandha Kishore Easwaran
9f3dd70ae9 qcacmn: Add peer filter support for tx monitor
Add peer filter support for tx monitor. Add changes to filter frames
in SW

Change-Id: Ie4f2f261976d3b173a417942e36a6aaccea18e47
CRs-Fixed: 3300747
2022-10-11 08:28:56 -07:00
Jeevan Kukkalli
da9acd4815 qcacmn: Add flag to indicate all type subtype FP filter
If all the type and subtypes are enabled then there is
no need to dissect frames and validate type and subtype.
Add flag to indicate such configuration.

Change-Id: Ia7f919e5bdb175019a39f23be9e1d5a9a12fec31
CRs-Fixed: 3303105
2022-10-10 02:55:52 -07:00
Sai Rupesh Chevuru
6aef607629 qcacmn: htt support for compact tlv feature
Adding htt support for compact tlv feature

Change-Id: If45b5b32c4cef482cb6c54b5f2919b56384a8a93
CRs-Fixed: 3293927
2022-10-09 20:42:33 -07:00
Jeff Johnson
ebfbc0d927 qcacmn: dp: Fix misspellings
Fix misspellings in dp/...

Change-Id: I6ef7a19ee03104ae38a8a77e229b90aa80329592
CRs-Fixed: 3304682
2022-10-07 22:42:22 -07:00
Nandha Kishore Easwaran
206e856a73 qcacmn: Fix subtype filtering for ctrl frames
Fix subtype filtering for ctrl frames. This change is needed
because ctrl frames are generated in the host and subtype filtering
is always required.

Change-Id: Id4fa25103387af38f658851495793249776c1985
CRs-Fixed: 3284207
2022-09-19 03:16:36 -07:00
nobelj
5e42bbc352 qcacmn: Add support for tx monitor HE MU and minor fixes
Add support for,
	a) HE MU radiotap information
	b) Multi sta BA frame generation and
minor fix,
	a) handling timestamp NULL,
	b) update NSS and other field in radiotap

Change-Id: I7a8b95328779f967b9e63ff8048242412ab472b0
CRs-Fixed: 3270361
2022-09-19 01:49:40 -07:00
Ruben Columbus
953a16bb46 qcacmn: delete QCA_TEST_MON_PF_TAGS_STATS for cce/fse stats
delete QCA_TEST_MON_PF_TAGS_STATS to enable stats by default
and just use flag to enable debug nbuf_head dump

Change-Id: I0b0bb627f4d597d28181a11c38fa18b191210da4
CRs-Fixed: 3278411
2022-09-14 23:43:40 -07:00
Amir Patel
04cc044ef2 qcacmn: Remove unnecessary prints
remove unnecessary print from monitor deinit path

Change-Id: Ia38d3e3739a0e8464e2fd702d1916b95a930e9f7
CRs-Fixed: 3287637
2022-09-14 05:21:54 -07:00
Sushant Butta
b1a6c9543b qcacmn: Optimizations for Tx monitor buffer allocations
Currently 2K Tx buffers are allocated at init time and 6K Tx
buffers are allocated at mon vap creation time.
Changes are done to move Tx buffer allocations to 0+8K model,
where allocations are done when enable cmd is triggered.

CRs-Fixed: 3284106
Change-Id: If0a112b8138f2be1db8f764fd7aa4ef12f274bb7
2022-09-12 11:53:54 -07:00
nobelj
5f09e5188b qcacmn: Add minor fix specific to tx monitor
Added minor fix,
a) Handle buffer allocation failed and
b) NULL check

Change-Id: Idaeb1d2b1e9bc613bfaf15b3e028e44846345e2f
CRs-Fixed: 3279243
2022-09-08 21:23:53 -07:00
Amir Patel
8a1be0ce9d qcacmn: Update Noise floor for monitor frames
Update Noise floor for monitor frames

Change-Id: I8fc81b189923130e2c040dea10e04fba92c58c57
CRs-Fixed: 3274706
2022-09-07 16:34:27 -07:00
Amir Patel
0fe7f4446b qcacmn: Optimize monitor mode memory utilization
a. Optimize ppdu_info memory
b. Use kmem cache for ppdu info allocation

CRs-Fixed: 3265620
Change-Id: Ieee040aa703aef8c5eee5e5a34a52ef18300b696
2022-09-06 10:23:43 -07:00
Amir Patel
ed6fc2b352 qcacmn: Add NULL pointer check
Add NULL pointer check at correct place
in monitor filter update

CRs-Fixed: 3279327
Change-Id: I5d9c44cf160de9acd4280774cc999931b8050ec3
2022-09-06 04:23:41 -07:00
aloksing
c31daef130 qcacmn: fix compilation issue without monitor support
Compilation is failing when Monitor support is disabled
Moved monitor related API and structure to monitor header files.

CRs-Fixed: 3257872
Change-Id: Ie1b3dc16b38c88bfd73fc89aaa395d4b57a61e5c
2022-08-31 16:04:27 -07:00
Jeff Johnson
88c15dadbb qcacmn: Fix misspelling "recevied"
Multiple instances of the misspelling "recevied" are present, so
replace them with the correct spelling "received."

Change-Id: Ibd7f4a136541be8aa98f5bee4db7f75af0271f53
CRs-Fixed: 3273526
2022-08-28 19:08:26 -07:00
Amir Patel
1885bbbc5e qcacmn: Fix pointer typecast issue
Fix pointer typecast issue in monitor

Change-Id: I45579fce49a7e2afacfc5462f208c01280c677d8
CRs-Fixed: 3257285
2022-08-18 23:08:25 -07:00
Jeevan Kukkalli
b207f0b859 qcacmn: Add space for PPDU id TLV in headroom
Aad additional space for PPDU id TLV in headroom
while forming monitor mpdu.

Change-Id: Ie033ee6dd196838aa63cc456794b55fd9b780531
CRs-Fixed: 3237248
2022-08-17 15:35:35 -07:00
Nandha Kishore Easwaran
9b81f6a195 qcacmn: Enable Subtype and PPDU filtering
Enable subtype filtering for all types of frames. Check the subtype
for all types of frames and drop the frames which are not requested.

Also enable PPDU level filtering by dropping the MPDUs after the first
MPDUs.

Change-Id: I94496ec278724a7023a79b50c2cd7a77b2707e74
CRs-Fixed: 3247309
2022-08-16 06:01:12 -07:00
Nandha Kishore Easwaran
0585386f57 qcacmn: Fix mpdu logging option in htt command
Fix the mpdu logging option in htt command so that msdu/mpdu
logging is correctly written into the register.

Change-Id: I98b8a1a78cc0cfae37e91e9e3e489ac54139ff75
CRs-Fixed: 3265015
2022-08-16 06:00:58 -07:00
nobelj
653cfeb7b7 qcacmn: Add fix for response timestamp and others minor fixes
Added fix,
a. To populate response timestamp from phy timestamp.
b. Based on window type swap address1 and address2 to match the sniffer.
c. For VHT frames, increment 1 to the received nss value.

Change-Id: I68dffadb609d82e2ad2cf433fcee2a76b0be98e7
CRs-Fixed: 3235718
2022-08-09 08:19:03 -07:00
Ruben Columbus
895c8bcde6 qcacmn: add tlv format to buffer along with debug mechanism
use msdu_count and index to occupy buffer headroom within mpdu.
new mechanism to debug buffer while using pf tags enabled

Change-Id: I1b7d8a1d7ec93f51869119294d2f0b14e3909fe9
CRs-Fixed: 3217284
2022-08-03 13:39:44 -07:00
Jeevan Kukkalli
2b76805c5a qcacmn: Handle FPMO filter configuration
Handle FPMO mode filter settings configured
from lite_mon tool.

Change-Id: I9bfe70101bae7c8f55c6db95d9c36f4c1d308e95
CRs-Fixed: 3235935
2022-08-02 05:16:18 -07:00