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
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
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
Equivalent changes in component dev data path APIs
implementation for changes in cmn_ops interface APIs.
Change-Id: I1d9c43607bfa699dded771fe9aea87f4ec5a70b9
Duplicate vlan tagged frames which need to be sent to repeater should
have unique check to avoid infinite iteration. Infinite iteration leads
to creation of nbuf every time loop is executed.
Change-Id: I2601461edc9e144f1058ed031ba14410563d0755
1. Remove vlan tag in tx and enqueue to hardware.
2. Add vlan tag in rx after peer-vlan_id lookup.
Change-Id: I37c34b1d54a497700101e78ad6930b91aa6b43e9
dp_tx_mec_handleri,dp_rx_wds_add_or_update_ast,
dp_rx_wds_srcport_learn were changed inside common dp.
As part of cleanup we have moved it to component
dev.This change adopts to the latest dp_tx_mec_handler version.
With this change we are moving dp_peer_teardown_wifi3 to common code as
it is also required by MCL driver code.
Change-Id: Ieba59ceb2f3a3b21f3588fe2685e0dc720ee049a