qcacmn: API support for AST flow override
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 *peer mac address, uint8_t flow id Output – uint16_t ast_index Change-Id: I79557c31532514ad5ec0c1848827a3e5cd91cdf2
这个提交包含在:
@@ -1625,6 +1625,11 @@ dp_rx_peer_unmap_handler(struct dp_soc *soc, uint16_t peer_id,
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Reset ast flow mapping table
|
||||
*/
|
||||
dp_peer_reset_flowq_map(peer);
|
||||
|
||||
if (soc->cdp_soc.ol_ops->peer_unmap_event) {
|
||||
soc->cdp_soc.ol_ops->peer_unmap_event(soc->ctrl_psoc,
|
||||
peer_id, vdev_id);
|
||||
|
在新工单中引用
屏蔽一个用户