Commit Graph

88 Commits

Author SHA1 Message Date
Karunakar Dasineni
f7e9e55e85 qca-wifi: Support HW generated CTS in Tx capture
Generate CTS frames when RTS is received for Tx capture.

Change-Id: I18facb952bbdc3f34fd2403806b7cd5c9c6f18d4
2020-02-11 10:24:47 -08:00
Linux Build Service Account
ffce2cf705 Merge "qca-wifi: support for rx ack recreation frame for tx failed frames" 2020-02-10 18:39:17 -08:00
Linux Build Service Account
ef02ed8d12 Merge "qca-wifi: Extract msdu end TLV information into structure" 2020-02-06 06:06:44 -08:00
Ruben Columbus
11ec57d57b qca-wifi: support for rx ack recreation frame for tx failed frames
rx ack does not get created for tx failed frames.
this is done with a check for completion status on the previous frame.

Change-Id: Idfff8aa8165542bb2ca2cf1370a201ccb057997e
2020-02-04 13:09:24 -08:00
Linux Build Service Account
992e62ae73 Merge "qca-wifi: Add the Rx Capture changes for filter framework" 2020-02-03 09:38:29 -08:00
Aniruddha Paul
7841f78d54 qca-wifi: Add the Rx Capture changes for filter framework
Make the necessary changes in the Rx capture path to adapt
the monitor filter framework.

Change-Id: I35155ec57e93f85a9bdf3933f9a8370c4b786db2
2020-02-01 03:14:24 -08:00
Ankit Kumar
f0ceb5ba1e qca-wifi: Enable vlan hw acceleration in Rx
Enable vlan hardware acceleration support in Rx path
if multipass feature enabled.
It is expected for a packet to have vlan header in-placed
and vlan_id is padded with zero. If not, drop the frame with
proper error updation.
Update vlan_id if frame comes with special peer and has vlan
header in placed and vlan_id padded with 0.

Change-Id: Ife7a371dcca20634b0dc99f00cb02551dbff611f
CRs-Fixed: 2584007
2020-01-31 03:33:00 -08:00
Linux Build Service Account
46b3231f9f Merge "qca-wifi: API support for peer MultiQueue support" 2020-01-30 00:37:11 -08:00
Mainak Sen
e1349928dd qca-wifi: API support for peer MultiQueue support
Lithium HW can parse each MSDU when packets are enqueued to transmit
classifier and each MSDU can get enqueued to different MSDU-Queue.
By default, there are 2 queues per TID – UDP and NON-UDP. Based on
the flow parsing, packets will be queued to either of them.
Enterprise customers uses RAW mode frames which transmit classifier
would not be able to identify L4 protocol for  UDP or NON-UDP queue
for encrypted frames.
Customer can also have different application based packets which needs
to be enqueued to differently prioritized queues. They can choose to
tag each MSDU based on application DPI and derive the flow priority
as below –
•	UDP
•	NON-UDP
•	HI-PRIO
•	LOW-PRIO
Customer needs API support from host which will provide an ast-index
based on a particular flow id given peer mac address. Based on the mac
address, host will find the associated peer and return the ast_index &
cache set number corresponding to the flow id from peer flow based ast
entry table. Customer will then program this ast-index and ast override
in transmit classifier CMD ring to enqueue MSDU to a specific
flow-queuein TQM.
Host API:
Input parameter – uint8_t *macaddress,uint8_t flowid,uint8_t tid
Output – uint16_t ast_index

Change-Id: I62b2308510ee7a43b153e125dc3bee6abbad0848
2020-01-29 11:37:20 +05:30
Linux Build Service Account
c339a0ffb2 Merge "qca-wifi: fix the issue in block ack/ack for tx capture mode" 2020-01-28 19:39:18 -08:00
Linux Build Service Account
e0a5418db2 Merge "qca-wifi: N -1 probe response retry count fix" 2020-01-28 19:39:17 -08:00
Linux Build Service Account
49bc88672c Merge "qca-wifi: legacy rx ack frames generation" 2020-01-24 09:42:18 -08:00
Kai Chen
b49539b149 qca-wifi: fix the issue in block ack/ack for tx capture mode
1. Hanndle BAR frame.
2. set rate for ACK frame.
3. Check block ack session and use block ack if block
ack session is established.
4. no ACK for broadcast probe request.
5. no ack if the ack policy is set to no ack in qos control.

Change-Id: Id42b0e95fc7ea043d35c8d7d5686f15140acdea6
2020-01-23 17:41:41 -08:00
Linux Build Service Account
f5915b72b4 Merge "qca-wifi: dequeue peer tid queue on flush tlv and fix out of bound crash" 2020-01-23 10:29:31 -08:00
Ruben Columbus
7059791eb2 qca-wifi: legacy rx ack frames generation
use resp_type to identify packets with HTT_PPDU_STATS_ACK_EXPECTED_E.
this condition triggers rx legacy ack frame.

Change-Id: I17b2ce428692da655580a9365d1c3d920ac360fc
2020-01-22 23:43:07 -08:00
nobelj
f184e7c299 qca-wifi: N -1 probe response retry count fix
for probe response with missing payload is not handled properly
causing N -1 probe response count compared to sniffer.

Change-Id: I13b00b35be78b67f2242c84a8a9978814d097a21
2020-01-22 17:40:49 -08:00
Linux Build Service Account
6276687465 Merge "qca-wifi: umac-dp decoupling changes in ctrl_ops for datapath" 2020-01-21 01:37:32 -08:00
Linux Build Service Account
b70ec9f585 Merge "qca-wifi: Modified return type not to break existing feature handling" 2020-01-19 07:38:21 -08:00
nobelj
922a0db454 qca-wifi: dequeue peer tid queue on flush tlv and fix out of bound crash
a. On flush tlv from firmware, dequeue msdu from peer tid queue.
b. Fix msdus out of bound crash.
c. Fix non qos tid excess retries.

Change-Id: Iac50ec2e74762138b78ec78ada8c62c58601536e
2020-01-16 14:44:20 -08:00
syed touqeer pasha
a8273c8335 qca-wifi: Extract msdu end TLV information into structure
Rather than extracting msdu end TLV information per field basis,
extract needed msdu end TLV information into local structure.

Change-Id: Iff8eea6c88a11ab588f6f4d8f11acb6faa4d513d
2020-01-16 21:43:18 +05:30
Pavankumar Nandeshwar
5ccd5a8727 qca-wifi: umac-dp decoupling changes in ctrl_ops for datapath
Modify datapath APIs to make sure they do not need
to receive dp handles from umac interface.

Change-Id: I0979795a6356a29394daa2719dfbd36cdde3d0e2
2020-01-16 12:59:04 +05:30
Ankit Kumar
38e0f2b90b qca-wifi: Modified return type not to break existing feature handling
At present, there is not check while calling multipass processing
and hence no packet gets dropped.
Adding check will drop packet in case of returning return type as
false. Hence modified return type as true so that no packet gets
dropped and existing flow doesn't break.

Change-Id: I49089f155b1b78adb533ca23f3b0f3cad9543135
CRs-Fixed: 2599782
2020-01-16 12:06:06 +05:30
Himanshu Batra
005412e1c8 qca-wifi: Componentize Multicast Enhancement
Remove dependency of ME on VAP layer and radio(ic) layer data
structures

Change-Id: Ic1e93204e02083fb90e879a7c5f41c8ee7376c14
CRs-Fixed: 2580389
2020-01-16 09:42:19 +05:30
nobelj
dd3213d1e8 qca-wifi: Fix tx capture issue
Fix tx capture issue
a. update tx capture debug stats
b. store ppdu_desc before sending to stack

Change-Id: I006ebf3504d045d88d6e87963bbb681d568d2e92
2020-01-08 06:27:34 -08:00
Ruben Columbus
6829a32527 qca-wifi: Check peer capture enable while enqueuing MSDUS
this is done to queue frames when filtering and eventually free them
when the feature is disabled

Change-Id: I2dcaa1b354e8e2a0403cf438526a545669ed84e6
2020-01-08 06:24:57 -08:00
Pavankumar Nandeshwar
0759dd94d5 qca-wifi: cmn_ops changes for umac-dp decoupling
Equivalent changes in component dev data path APIs
implementation for changes in cmn_ops interface APIs.

Change-Id: I1d9c43607bfa699dded771fe9aea87f4ec5a70b9
2019-12-24 23:51:09 -08:00
Kai Chen
0c218ff57a qca-wifi: Add block ack and ack frame in tx capture feature
Block ack and ack frame is composed and sent to up
layer after a unicast packet to AP is received for
tx capture feature

Change-Id: I512519de7eaf4f524825b854b33dedc4caf90e0e
2019-12-23 12:37:53 -08:00
nobelj
2726d39497 qca-wifi: support dummy frame for rts success, mprot_type
before sending tx capture data frame to stack
rts_success flag is checked on set we send rts and cts dummy frames
before data frame.

Change-Id: Id3dccf5c03b05ff381eb595d7807385afb78d462
2019-12-20 09:56:25 -08:00
nobelj
4623df972f qca-wifi: Fix mgmt/ctrl retries frames in tx capture
Fix tx capture retries mgmt/ctrl frames

Change-Id: I6060a48368f609522a326b5801d82e9899403e77
2019-12-20 07:40:04 -08:00
Ruben Columbus
043046be76 qca-wifi: add ppdu descriptor to tx_capture info
add ppdu_desc to tx_capture_info before handler gets called to send
tx_capture info to stack

Change-Id: Ibdd4b7ce68bdfb359b8b55352ee5494f6062d5fd
2019-12-20 07:29:33 -08:00
nobelj
da95696a44 qca-wifi: support flush tlv in tx capture
all pending excess retries  ppdu desc are handled
for flush tlv

Change-Id: Id34664eec0680cd3712d14e9abd6329f7d1b10aa
2019-12-20 07:25:09 -08:00
Linux Build Service Account
2e01bacee7 Merge "qca-wifi: Fix NULL data Tx frame capture" 2019-12-19 22:32:10 -08:00
Linux Build Service Account
b8855c41c6 Merge "qca-wifi: support for tx capture stats" 2019-12-19 22:32:10 -08:00
nobelj
826fd86990 qca-wifi: support for tx capture stats
added debug stats for tx capture

Change-Id: Id5f9206b0996607419ce0d90ea2ff54c42b51026
2019-12-17 07:21:10 -08:00
nobelj
b313f71971 qca-wifi: tx capture update bar frames
Bar frames without payload are generated for tx capture.
added a generic function to generate dummy frames
for type CTL and MGT into function.

Change-Id: I4408b1b023eeaefa17a6e121cda6a9a64d025202
2019-12-16 09:12:52 -08:00
Pavankumar Nandeshwar
f2110a8cdf qca-wifi: Decoupling changes for stats, wds, raw and pflow ops
Corresponding changes in datapath for changes in interface
APIs for stats, wds, raw, pflow ops.

Change-Id: I04b595bbe52d8871573b4f6c811d5555659f7d47
2019-12-05 22:34:21 -08:00
nobelj
d8a5ccc005 qca-wifi: Fix NULL data Tx frame capture
Handle ppdu descriptor for NULL data frame as payload comes in
mgmt ctrl payload tlv.

Change-Id: If0292688620c44e4ebd907217d61e13b6551b4ab
2019-12-05 08:08:07 -08:00
Linux Build Service Account
d462c8ff28 Merge "qca-wifi: changes for removal of ctrl_path handles from dp" 2019-12-05 03:41:55 -08:00
Linux Build Service Account
4f465b8c22 Merge "qca-wifi: Add stats on OFDMA and MU-MIMO packet" 2019-12-03 11:06:40 -08:00
Pavankumar Nandeshwar
dc1c0b5fbb qca-wifi: changes for removal of ctrl_path handles from dp
Change-Id: Ifffd07460103f33618dd4e54ef6a32e1d9212127
2019-11-29 08:41:49 -08:00
Linux Build Service Account
103077dadd Merge "qca-wifi: Unref peer before returning." 2019-11-29 02:39:36 -08:00
Linux Build Service Account
d199ff8874 Merge "qca-wifi: Increase MEC ASE aging timeout to 5 sec" 2019-11-28 07:37:29 -08:00
Mainak Sen
4adb711f90 qca-wifi: Increase MEC ASE aging timeout to 5 sec
Increase Multicast echo check aging timer to 5 sec from
1 sec to avoid MEC check fail and bridge fdb contamination

CR fixed:2566432

Change-Id: Ie80d11a9e8b48fb4fe7456355773613b0eb4ba4f
2019-11-27 18:32:30 +05:30
Kai Chen
e60794edf5 qca-wifi: Add stats on OFDMA and MU-MIMO packet
Change variable name from ofdma to mu_ul since
both OFDMA and MU-MIMO is suppoted in same way.

Change-Id: Ie72088e162fcb54914f76b3ad002a672305299ae
2019-11-26 10:43:33 -08:00
Varsha Mishra
7828c20e5d qca-wifi: Unref peer before returning.
Missing peer unref has been added as part of this change.

Change-Id: Ieb29b9d5c28824685d99a2d0d7fdfd6cbb51637a
2019-11-24 22:34:43 -08:00
Karunakar Dasineni
207fb25c9b qca-wifi: Include SW retries in Tx capture
Changes to include SW retried frames in Tx capture.

Change-Id: Id42e2aafa94c81e22f5cd9a0dfd1cce5d2039312
2019-11-22 17:19:22 -08:00
Chaithanya Garrepalli
f2f9ecd147 qcacmn: changes to detect roaming in STA mode
Changes to initiate STA kickout on RE if station
roams to AP

Change-Id: I0aa00289204cf05b6ae73d9bb90756f911bdd18e
2019-11-21 18:17:47 +05:30
Linux Build Service Account
42e98ff27d Merge "qca-wifi: Fix for implementation on Hal new api" 2019-10-18 00:39:13 -07:00
Ruben Columbus
b97445ae9a qca-wifi: Fix for implementation on Hal new api
hal api changes to receive hal_soc

Change-Id: Ibccf8ae36e8db24bb93a4647601aea51074f175b
2019-10-14 16:39:25 -07:00
Karunakar Dasineni
8b89b32689 qca-wifi: Fix non-QOS Tx frame capture
Fix for missing non-QOS frames in Tx capture.

Change-Id: I8f76130b894d72701e675f36caadb5b555bc2ed6
2019-10-14 11:44:05 -07:00