qcacmn: Handle RX exception from IPA on WDS-EXT netdev

When WDS_EXT feature is enable, Host needs to redirect
the data packets to WDS extended netdevice.

Change is added the support for forwarding the RX packets
when received from IPA as an exception by deriving the
correct netdevice interface.

Change-Id: I083a1acc72023f3ebe6ea36ec05a5706f89c16bc
CRs-Fixed: 3597357
This commit is contained in:
Gaurav Saini
2023-09-11 14:34:54 +05:30
committed by Rahul Choudhary
parent f58bde59f4
commit b64de0cf4a
11 changed files with 200 additions and 3 deletions

View File

@@ -710,6 +710,8 @@ struct cdp_cmn_ops {
uint8_t vdev_id,
uint8_t *mac,
ol_osif_peer_handle *osif_peer);
QDF_STATUS (*set_wds_ext_peer_bit)(ol_txrx_soc_handle soc,
uint8_t *mac);
#endif /* QCA_SUPPORT_WDS_EXTENDED */
void (*txrx_drain)(ol_txrx_soc_handle soc);
int (*get_free_desc_poolsize)(struct cdp_soc_t *soc);
@@ -2204,6 +2206,7 @@ struct cdp_throttle_ops {
* @ipa_rx_buf_smmu_pool_mapping: Create SMMU mapping for Rx
* @ipa_set_smmu_mapped: Set IPA SMMU mapped value
* @ipa_get_smmu_mapped: Get IPA SMMU mapped value
* @ipa_rx_wdsext_iface: Forward RX exception packets to wdsext interface
* @ipa_rx_super_rule_setup: Setup cce super rules based on filter tuple
* @ipa_ast_create: Create/Update ast entry
* @ipa_get_wdi_version: Get WDI version
@@ -2308,6 +2311,11 @@ struct cdp_ipa_ops {
QDF_STATUS (*ipa_set_smmu_mapped)(struct cdp_soc_t *soc_hdl, int val);
int (*ipa_get_smmu_mapped)(struct cdp_soc_t *soc_hdl);
#ifdef QCA_SUPPORT_WDS_EXTENDED
bool (*ipa_rx_wdsext_iface)(struct cdp_soc_t *soc_hdl,
uint8_t peer_id,
qdf_nbuf_t nbuf_head);
#endif
#ifdef IPA_OPT_WIFI_DP
QDF_STATUS (*ipa_rx_super_rule_setup)(struct cdp_soc_t *soc_hdl,
void *flt_params);