qcacmn: Add support to get rx mcast and bcast stats

Add support to get rx multicast and broadcast stats
in IPA Architecture

Change-Id: Id7cf7bb09534833af7fe620cdbd4ed452d9e4613
CRs-Fixed: 3346858
This commit is contained in:
Amrit
2022-11-24 12:53:56 +05:30
committed by Madan Koyyalamudi
szülő 7e8649bed8
commit 6d1cdea120
5 fájl változott, egészen pontosan 87 új sor hozzáadva és 0 régi sor törölve

Fájl megtekintése

@@ -3749,4 +3749,53 @@ QDF_STATUS dp_ipa_ast_create(struct cdp_soc_t *soc_hdl,
return QDF_STATUS_SUCCESS;
}
#endif
#ifdef QCA_ENHANCED_STATS_SUPPORT
/**
* dp_ipa_update_peer_rx_stats - update peer rx stats
* @soc: soc handle
* @vdev_id: vdev id
* @peer_mac: Peer Mac Address
* @nbuf: data nbuf
*
* Return: status success/failure
*/
QDF_STATUS dp_ipa_update_peer_rx_stats(struct cdp_soc_t *soc,
uint8_t vdev_id, uint8_t *peer_mac,
qdf_nbuf_t nbuf)
{
struct dp_peer *peer = dp_peer_find_hash_find((struct dp_soc *)soc,
peer_mac, 0, vdev_id,
DP_MOD_ID_IPA);
struct dp_txrx_peer *txrx_peer;
uint8_t da_is_bcmc;
qdf_ether_header_t *eh;
if (!peer)
return QDF_STATUS_E_FAILURE;
txrx_peer = dp_get_txrx_peer(peer);
if (!txrx_peer) {
dp_peer_unref_delete(peer, DP_MOD_ID_IPA);
return QDF_STATUS_E_FAILURE;
}
da_is_bcmc = ((uint8_t)nbuf->cb[1]) & 0x2;
eh = (qdf_ether_header_t *)qdf_nbuf_data(nbuf);
if (da_is_bcmc) {
DP_PEER_PER_PKT_STATS_INC_PKT(txrx_peer, rx.multicast, 1,
qdf_nbuf_len(nbuf));
if (QDF_IS_ADDR_BROADCAST(eh->ether_dhost))
DP_PEER_PER_PKT_STATS_INC_PKT(txrx_peer, rx.bcast,
1, qdf_nbuf_len(nbuf));
}
dp_peer_unref_delete(peer, DP_MOD_ID_IPA);
return QDF_STATUS_SUCCESS;
}
#endif
#endif