Commit Graph

27 Commits

Author SHA1 Message Date
Jeff Johnson
139cf10b44 qcacld-3.0: Fix Packet Capture Documentation
The kernel-doc script identified a multitude of documentation issues
in components/pkt_capture, so fix them.

Change-Id: I9fc7922978cbfacf3f8a733561dd0f94c6cea3b4
CRs-Fixed: 3359684
2022-12-27 21:14:10 -08:00
Roopavathi Lingampalli
fcb513f88f qcacld-3.0: Add Component APIs for required ucfg APIs in DP component
When component dependent functions calling from higher
modules or any other components, it uses ucfg APIs pattern.
Calling ucfg dependent APIs is acceptable for higher modules
like HDD, OSIF but for another components like DP to avoid
using ucfg APIs here, implementing component APIs for existing
ucfg APIs to other components like MLME, TDLS, Pkt capture in
DP component module.

Change-Id: Ib8857eeca6a88810d7875312ff6dc14ffb60bc70
CRs-Fixed: 3351486
2022-12-13 14:06:07 -08:00
Vulupala Shashank Reddy
b5e2542a4d qcacld-3.0: Add support for qos null filters in packet capture
Add support to send qos null frames received from firmware on
STA interface to mon interface based on config value. The config
value get update based on vendor command set by user.

The packet filter check in ucfg_pkt_capture_process_mgmt_tx_data
moved to target_if_mgmt_offload_data_event_handler. So that we
will not allocate any buffer if filter is not set.

Change-Id: I426b340c5a65711ada971062af95ae039d18d0bd
CRs-Fixed: 3076241
2021-12-22 14:06:50 -08:00
Vulupala Shashank Reddy
5c72b5aded qcacld-3.0: Change ops from vdev specific to psoc level
Currently in packet capture component the tx and rx ops are
stored in vdev but the ops should be only per psoc and
the ops will be registered only once per psoc. So change
tx and rx ops from vdev specific to psoc level.

Change-Id: I09e9dd5d83e7b10c86e80ebf2584469071060813
CRs-Fixed: 3049207
2021-11-28 22:16:57 -08:00
Surabhi Vishnoi
2634d52576 qcacld-3.0: Add support for beacon filters in packet capture mode
Add support to send beacon received from firmware on STA interface
to mon interface based on management rx filters set by user in
vendor command.

Change-Id: I186ab0d697da831894854d7680265e82dd3adcef
CRs-Fixed: 3073478
2021-11-23 18:17:43 -08:00
Vulupala Shashank Reddy
aa2bded170 qcacld-3.0: Change enum pkt_capture_mode to bit map
In packet capture component change enum pkt_capture_mode
from value to bit map.

Change-Id: Ic777b5091e85ed8c906d7e855b5cadb0fa3319d5
CRs-Fixed: 3048502
2021-11-23 16:56:47 -08:00
Surabhi Vishnoi
6cdd0dd785 qcacld-3.0: Deliver tx offload mgmt pkts based on filter
Deliver tx offload management to mon interface in packet capture
mode based on config filters added by vendor command.

Change-Id: Id60529b963e3021d7744858980b316b546606550
CRs-Fixed: 3045460
2021-10-07 09:19:43 -07:00
Vulupala Shashank Reddy
15f71d055b qcacld-3.0: Add tgt support to send beacon report period to FW
Add tgt support in packet capture component to send user
configured beacon report interval to FW.

Change-Id: Ibeb9f9a7f9ad2c2afa6929c492bd1029784b5f9e
CRs-Fixed: 3046224
2021-10-05 05:06:33 -07:00
Vulupala Shashank Reddy
e5e7e8049f qcacld-3.0: Add support to send config to FW based on filter
In packet capture component add support to send ctrl and beacon
frames config to FW based on frame filter received from user through
vendor command.

Change-Id: Ie45ea2135e237a156fb60663e3f85cc601490e4a
CRs-Fixed: 3046222
2021-10-05 05:06:28 -07:00
Vulupala Shashank Reddy
924b163c6c qcacld-3.0: Set frame filter based on vendor command
Currently, packet capture mode frame filter configuration
is done based on ini. This change enables user to set the
packet capture mode frame filter configuration at runtime
through vendor command
QCA_NL80211_VENDOR_SUBCMD_SET_MONITOR_MODE.

Change-Id: Ifd40a9295394324b0cde4ff15bb55ea77851a6bc
CRs-Fixed: 3046091
2021-10-01 07:51:51 -07:00
Surabhi Vishnoi
9686432f2c qcacld-3.0: Add function to fill rssi received from target in vdev_priv
Add function to populate the rx average rssi received from target in
pkt_capture vdev_priv structure. The rx average rssi is received in
wmi smart monitor event.

Change-Id: I9206669b418a2245bb8d53920040fddea77ce06c
CRs-Fixed: 2969242
2021-06-25 14:15:01 -07:00
Surabhi Vishnoi
1954f6e25e qcacld-3.0: Register handler for wmi smart monitor event
Register handler for wmi smart monitor event in packet capture
mode in lithium. Currently, wmi smart monitor event provides
average rssi of last ten received data packets.

Change-Id: Ieeea5cbef328b04f139f54e7a42d52a3cf25824b
CRs-Fixed: 2969245
2021-06-25 09:40:17 -07:00
Vulupala Shashank Reddy
01b4e695dd qcacld-3.0: Pkt capture config for qos null and trigger frames
Provide ucfg api to configure qos null and trigger frames.

Ucfg api will send configuration to FW. Below configuration values
are allowed.

PACKET_CAPTURE_CONFIG_TRIGGER_QOS_DISABLE: disable capture for
trigger and qos frames.
PACKET_CAPTURE_CONFIG_TRIGGER_ENABLE: enable capture for trigger
frames only.
PACKET_CAPTURE_CONFIG_QOS_ENABLE: enable capture for qos frames only.
PACKET_CAPTURE_CONFIG_TRIGGER_QOS_ENABLE: enable capture for both
trigger and qos frames.

The packet capture config old value will be over written by new value.
For example, first if we configure value as
PACKET_CAPTURE_CONFIG_TRIGGER_ENABLE and then if we send config as
PACKET_CAPTURE_CONFIG_QOS_ENABLE then config is enabled only for qos.

Change-Id: I02dcd4372c7194ec3e477694ad0e2c045fe6c942
CRs-Fixed: 2967824
2021-06-22 23:04:21 -07:00
Surabhi Vishnoi
a3e7261f12 qcacld-3.0: Add support for RX offload pkts in packet capture mode
Add support to process RX offload packets in lithium for
packet capture mode.

Change-Id: Ic307d83f579bf53a025b4b4c159e24de97e2dde6
CRs-Fixed: 2856783
2021-01-22 16:12:07 -08:00
Dundi Raviteja
9fca084961 qcacld-3.0: Add tgt layer for packet capture mode
Add tgt layer for packet capture mode.

Change-Id: I8e69701c69d6ec1989e36cb09826c1c0bf3f51e7
CRs-Fixed: 2674337
2020-06-02 13:32:50 -07:00
Dundi Raviteja
b3134da83d qcacld-3.0: Check pmf status while processing mgmt packets
Add pmf status checks while processing management packets
in packet capture component.

Change-Id: I04e1f7eb33573a3f77f53f9ffbdf0781041be100
CRs-Fixed: 2633851
2020-03-03 22:19:17 -08:00
Vulupala Shashank Reddy
af204caea6 qcacld-3.0: Add support to include ACK status and tx retry count
Extend radiotap header to append ACK status and tx retry count
for packets sent to virtual mon interface.

Change-Id: If110a7de736c3efc0d477617089669104c6f1690
CRs-Fixed: 2627707
2020-02-27 11:44:49 -08:00
Vulupala Shashank Reddy
13b07929c6 qcacld-3.0: Fix OUT OF SYNC for Mgmt Tx Pkts on Virtual Mon Interface
For the MON Interface, sometimes Mgmt Tx Pkts are captured after Rx
Pkts get captured in tcpdump. This is happening because Tx Pkts are
sent to mon after waiting for Tx completion.

Now Mgmt Tx frames are sent twice to MON interface, one without
waiting for Tx completion with magic number as status field, so
that the Tx Pkts get captured in tcpdump before Rx Pkts and normal
Tx Pkts get captured, which is after Tx completion will remain same.

Change-Id: Idfc65087bd62cd8ef64306501b600caec424ba02
CRs-Fixed: 2627716
2020-02-27 10:16:21 -08:00
Vulupala Shashank Reddy
d493c152c9 qcacld-3.0: Record the channel number for pktcapture mode
For packet capture mode, record the channel number on
which STA vdev is operating on.

Change-Id: Id52536b5b238dc1e4fe4c612a651c6fe8ddc17d3
CRs-Fixed: 2627713
2020-02-27 10:15:57 -08:00
Vulupala Shashank Reddy
88ab94ce0a qcacld-3.0: Process Tx data packet for pkt capture mode
Process Tx data packets and post into mon thread for
packet capture mode

Change-Id: I71e48b024c3e9b9e92d5dc3ec22e55a384ff572f
CRs-Fixed: 2619330
2020-02-26 10:06:38 -08:00
Vulupala Shashank Reddy
a2deef8c83 qcacld-3.0: Process Rx data packet for pkt capture mode
Process Rx data packets and post to the mon thread for
packet capture mode

Change-Id: Id8ae54677615c27d61c6def1a521c509f602863b
CRs-Fixed: 2618941
2020-02-26 10:06:27 -08:00
Vulupala Shashank Reddy
4affa222c9 qcacld-3.0: Register tx and rx ops for packet capture component
Register tx and rx ops to send packet capture mode command and
to receive mgmt offload handler for packet capture component.

Change-Id: I70da00feff29399b98c5916eec17e26b62285db3
CRs-Fixed: 2619321
2020-02-20 16:23:28 -08:00
Dundi Raviteja
4a89130e93 qcacld-3.0: Process Mgmt Tx and Rx frames for pktcapture mode
Process management Tx and Rx frames for packet capture mode
and post frames to the mon thread.

Change-Id: I14c0a1cf8a8aa4d4a4e16ad6200715b875611c81
CRs-Fixed: 2619317
2020-02-19 08:43:11 -08:00
Vulupala Shashank Reddy
a69961d7dd qcacld-3.0: Add support for packet capture callbacks
Add support to register/deregister packet capture callbacks.

Change-Id: I37c713d6929879aea7e39f6fd87ba2aecd86d802
CRs-Fixed: 2619312
2020-02-17 21:21:06 -08:00
Vulupala Shashank Reddy
aa481cc459 qcacld-3.0: Create mon thread for packet capture
Create mon thread to process the packets for
packet capture.

Change-Id: I0c83b17273f140970b4feea49cd42da4c540046b
CRs-Fixed: 2618657
2020-02-16 04:01:17 -08:00
Vulupala Shashank Reddy
6e5c807513 qcacld-3.0: Add INI parameter for packet capture mode support
Add INI parameter for packet capture mode

"packet_capture_mode" - ini to set packet capture mode.

Change-Id: Ie60c142af753c65b44aa0018440e43a215e51a27
CRs-Fixed: 2614578
2020-02-11 18:43:31 -08:00
Vulupala Shashank Reddy
9331f42f3e qcacld-3.0: Add support for packet capture mode
Add support for packet capture mode to monitor packets
on WLAN interface.

Change-Id: I8409479ef7855d51e303028d7e18e6bf89055407
CRs-Fixed: 2611293
2020-02-03 21:41:46 -08:00