qcacmn: Add support trap protocol tagged packets for trigger

Add support to trap protocol tagged packets for the unique
metadata to send it as trigger to standby application

Change-Id: I76644477d1df2a0851472283623c1dc3dbe19b8b
CRs-Fixed: 3608436
This commit is contained in:
Surya Prakash Raajen
2023-09-06 15:59:53 +05:30
committed by Rahul Choudhary
parent f07920991b
commit 06a7a53dde
3 changed files with 27 additions and 0 deletions

View File

@@ -1567,6 +1567,22 @@ fail:
return;
}
#ifdef WLAN_SUPPORT_RX_FLOW_TAG
static void dp_rx_peek_trapped_packet(struct dp_soc *soc,
struct dp_vdev *vdev)
{
if (soc->cdp_soc.ol_ops->send_wakeup_trigger)
soc->cdp_soc.ol_ops->send_wakeup_trigger(soc->ctrl_psoc,
vdev->vdev_id);
}
#else
static void dp_rx_peek_trapped_packet(struct dp_soc *soc,
struct dp_vdev *vdev)
{
return;
}
#endif
#if defined(WLAN_FEATURE_11BE_MLO) && defined(WLAN_MLO_MULTI_CHIP) && \
defined(WLAN_MCAST_MLO)
static bool dp_rx_igmp_handler(struct dp_soc *soc,
@@ -1684,6 +1700,10 @@ dp_rx_err_route_hdl(struct dp_soc *soc, qdf_nbuf_t nbuf,
qdf_nbuf_pull_head(nbuf, (msdu_metadata.l3_hdr_pad +
soc->rx_pkt_tlv_size));
if (hal_rx_msdu_cce_metadata_get(soc->hal_soc, rx_tlv_hdr) ==
CDP_STANDBY_METADATA)
dp_rx_peek_trapped_packet(soc, vdev);
QDF_NBUF_CB_RX_PEER_ID(nbuf) = txrx_peer->peer_id;
if (dp_rx_igmp_handler(soc, vdev, txrx_peer, nbuf, link_id))
return;