qcacmn: Fetch per pkt stats from MLD peer for Link Peer
When user makes a request for stats using Link peer mac address, then fetch per pkt stats from MLD peer for Link peer. Change-Id: I64e0b10eaca82c87e7066d3ca1dbefad63a186a8 CRs-Fixed: 3208757
This commit is contained in:

committed by
Madan Koyyalamudi

parent
816abb22a8
commit
de0d00288a
@@ -9204,22 +9204,30 @@ static inline
|
|||||||
void dp_get_peer_calibr_stats(struct dp_peer *peer,
|
void dp_get_peer_calibr_stats(struct dp_peer *peer,
|
||||||
struct cdp_peer_stats *peer_stats)
|
struct cdp_peer_stats *peer_stats)
|
||||||
{
|
{
|
||||||
peer_stats->tx.last_per = peer->stats.tx.last_per;
|
struct dp_peer *tgt_peer;
|
||||||
|
|
||||||
|
tgt_peer = dp_get_tgt_peer_from_peer(peer);
|
||||||
|
if (!tgt_peer)
|
||||||
|
return;
|
||||||
|
|
||||||
|
peer_stats->tx.last_per = tgt_peer->stats.tx.last_per;
|
||||||
peer_stats->tx.tx_bytes_success_last =
|
peer_stats->tx.tx_bytes_success_last =
|
||||||
peer->stats.tx.tx_bytes_success_last;
|
tgt_peer->stats.tx.tx_bytes_success_last;
|
||||||
peer_stats->tx.tx_data_success_last =
|
peer_stats->tx.tx_data_success_last =
|
||||||
peer->stats.tx.tx_data_success_last;
|
tgt_peer->stats.tx.tx_data_success_last;
|
||||||
peer_stats->tx.tx_byte_rate = peer->stats.tx.tx_byte_rate;
|
peer_stats->tx.tx_byte_rate = tgt_peer->stats.tx.tx_byte_rate;
|
||||||
peer_stats->tx.tx_data_rate = peer->stats.tx.tx_data_rate;
|
peer_stats->tx.tx_data_rate = tgt_peer->stats.tx.tx_data_rate;
|
||||||
peer_stats->tx.tx_data_ucast_last = peer->stats.tx.tx_data_ucast_last;
|
peer_stats->tx.tx_data_ucast_last =
|
||||||
peer_stats->tx.tx_data_ucast_rate = peer->stats.tx.tx_data_ucast_rate;
|
tgt_peer->stats.tx.tx_data_ucast_last;
|
||||||
peer_stats->tx.inactive_time = peer->stats.tx.inactive_time;
|
peer_stats->tx.tx_data_ucast_rate =
|
||||||
|
tgt_peer->stats.tx.tx_data_ucast_rate;
|
||||||
|
peer_stats->tx.inactive_time = tgt_peer->stats.tx.inactive_time;
|
||||||
peer_stats->rx.rx_bytes_success_last =
|
peer_stats->rx.rx_bytes_success_last =
|
||||||
peer->stats.rx.rx_bytes_success_last;
|
tgt_peer->stats.rx.rx_bytes_success_last;
|
||||||
peer_stats->rx.rx_data_success_last =
|
peer_stats->rx.rx_data_success_last =
|
||||||
peer->stats.rx.rx_data_success_last;
|
tgt_peer->stats.rx.rx_data_success_last;
|
||||||
peer_stats->rx.rx_byte_rate = peer->stats.rx.rx_byte_rate;
|
peer_stats->rx.rx_byte_rate = tgt_peer->stats.rx.rx_byte_rate;
|
||||||
peer_stats->rx.rx_data_rate = peer->stats.rx.rx_data_rate;
|
peer_stats->rx.rx_data_rate = tgt_peer->stats.rx.rx_data_rate;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -9236,10 +9244,7 @@ void dp_get_peer_basic_stats(struct dp_peer *peer,
|
|||||||
{
|
{
|
||||||
struct dp_txrx_peer *txrx_peer;
|
struct dp_txrx_peer *txrx_peer;
|
||||||
|
|
||||||
if (dp_peer_is_primary_link_peer(peer))
|
txrx_peer = dp_get_txrx_peer(peer);
|
||||||
txrx_peer = dp_get_txrx_peer(peer);
|
|
||||||
else
|
|
||||||
txrx_peer = peer->txrx_peer;
|
|
||||||
if (!txrx_peer)
|
if (!txrx_peer)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@@ -9283,10 +9288,7 @@ void dp_get_peer_per_pkt_stats(struct dp_peer *peer,
|
|||||||
struct dp_txrx_peer *txrx_peer;
|
struct dp_txrx_peer *txrx_peer;
|
||||||
struct dp_peer_per_pkt_stats *per_pkt_stats;
|
struct dp_peer_per_pkt_stats *per_pkt_stats;
|
||||||
|
|
||||||
if (dp_peer_is_primary_link_peer(peer))
|
txrx_peer = dp_get_txrx_peer(peer);
|
||||||
txrx_peer = dp_get_txrx_peer(peer);
|
|
||||||
else
|
|
||||||
txrx_peer = peer->txrx_peer;
|
|
||||||
if (!txrx_peer)
|
if (!txrx_peer)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
@@ -7678,6 +7678,7 @@ QDF_STATUS dp_txrx_get_peer_per_pkt_stats_param(struct dp_peer *peer,
|
|||||||
cdp_peer_stats_param_t *buf)
|
cdp_peer_stats_param_t *buf)
|
||||||
{
|
{
|
||||||
QDF_STATUS ret = QDF_STATUS_SUCCESS;
|
QDF_STATUS ret = QDF_STATUS_SUCCESS;
|
||||||
|
struct dp_peer *tgt_peer;
|
||||||
struct dp_txrx_peer *txrx_peer;
|
struct dp_txrx_peer *txrx_peer;
|
||||||
struct dp_peer_per_pkt_stats *peer_stats;
|
struct dp_peer_per_pkt_stats *peer_stats;
|
||||||
|
|
||||||
@@ -7694,7 +7695,12 @@ QDF_STATUS dp_txrx_get_peer_per_pkt_stats_param(struct dp_peer *peer,
|
|||||||
buf->tx_mcast = peer_stats->tx.mcast;
|
buf->tx_mcast = peer_stats->tx.mcast;
|
||||||
break;
|
break;
|
||||||
case cdp_peer_tx_inactive_time:
|
case cdp_peer_tx_inactive_time:
|
||||||
buf->tx_inactive_time = peer->stats.tx.inactive_time;
|
tgt_peer = dp_get_tgt_peer_from_peer(peer);
|
||||||
|
if (tgt_peer)
|
||||||
|
buf->tx_inactive_time =
|
||||||
|
tgt_peer->stats.tx.inactive_time;
|
||||||
|
else
|
||||||
|
ret = QDF_STATUS_E_FAILURE;
|
||||||
break;
|
break;
|
||||||
case cdp_peer_rx_ucast:
|
case cdp_peer_rx_ucast:
|
||||||
buf->rx_ucast = peer_stats->rx.unicast;
|
buf->rx_ucast = peer_stats->rx.unicast;
|
||||||
|
Reference in New Issue
Block a user