mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 21:54:34 -04:00
qcacld-3.0: Add stats for Rx gratuitous_arp and multicast_replay drops
Remove logging of Rx drops due to gratuitous_arp and multicast_replay packets. Add separate stats counter and log it part of periodic stats. Change-Id: Ib70505bbb8e6b2d363e04493f9e3d2d99e417e8d CRs-Fixed: 2403211
This commit is contained in:
parent
df909a62c0
commit
f39d2374a2
4 changed files with 15 additions and 19 deletions
|
|
@ -440,6 +440,7 @@ struct hdd_tx_rx_stats {
|
|||
__u32 rx_dropped[NUM_CPUS];
|
||||
__u32 rx_delivered[NUM_CPUS];
|
||||
__u32 rx_refused[NUM_CPUS];
|
||||
qdf_atomic_t rx_usolict_arp_n_mcast_drp;
|
||||
/* rx gro */
|
||||
__u32 rx_aggregated;
|
||||
__u32 rx_non_aggregated;
|
||||
|
|
|
|||
|
|
@ -6228,8 +6228,10 @@ void wlan_hdd_display_txrx_stats(struct hdd_context *ctx)
|
|||
i, stats->rx_packets[i], stats->rx_dropped[i],
|
||||
stats->rx_delivered[i], stats->rx_refused[i]);
|
||||
}
|
||||
hdd_debug("RX - packets %u, dropped %u, delivered %u, refused %u GRO - agg %u non-agg %u flushes(%u %u) disabled(conc %u low-tput %u)",
|
||||
total_rx_pkt, total_rx_dropped, total_rx_delv,
|
||||
hdd_debug("RX - packets %u, dropped %u, unsolict_arp_n_mcast_drp %u, delivered %u, refused %u GRO - agg %u non-agg %u flushes(%u %u) disabled(conc %u low-tput %u)",
|
||||
total_rx_pkt, total_rx_dropped,
|
||||
qdf_atomic_read(&stats->rx_usolict_arp_n_mcast_drp),
|
||||
total_rx_delv,
|
||||
total_rx_refused, stats->rx_aggregated,
|
||||
stats->rx_non_aggregated, stats->rx_gro_flushes,
|
||||
stats->rx_gro_force_flushes,
|
||||
|
|
|
|||
|
|
@ -2042,18 +2042,10 @@ QDF_STATUS hdd_rx_packet_cbk(void *adapter_context,
|
|||
sta_ctx = WLAN_HDD_GET_STATION_CTX_PTR(adapter);
|
||||
if ((sta_ctx->conn_info.proxyARPService) &&
|
||||
hdd_is_gratuitous_arp_unsolicited_na(skb)) {
|
||||
uint32_t rx_dropped;
|
||||
|
||||
rx_dropped = ++adapter->hdd_stats.tx_rx_stats.
|
||||
rx_dropped[cpu_index];
|
||||
/* rate limit error messages to 1/8th */
|
||||
if ((rx_dropped & 0x07) == 0)
|
||||
QDF_TRACE(QDF_MODULE_ID_HDD_DATA,
|
||||
QDF_TRACE_LEVEL_INFO,
|
||||
"%s: Dropping HS 2.0 Gratuitous ARP or Unsolicited NA count=%u",
|
||||
__func__, rx_dropped);
|
||||
/* Remove SKB from internal tracking table before submitting
|
||||
* it to stack
|
||||
qdf_atomic_inc(&adapter->hdd_stats.tx_rx_stats.
|
||||
rx_usolict_arp_n_mcast_drp);
|
||||
/* Remove SKB from internal tracking table before
|
||||
* submitting it to stack.
|
||||
*/
|
||||
qdf_nbuf_free(skb);
|
||||
continue;
|
||||
|
|
@ -2092,9 +2084,8 @@ QDF_STATUS hdd_rx_packet_cbk(void *adapter_context,
|
|||
/* Check & drop replayed mcast packets (for IPV6) */
|
||||
if (hdd_ctx->config->multicast_replay_filter &&
|
||||
hdd_is_mcast_replay(skb)) {
|
||||
++adapter->hdd_stats.tx_rx_stats.rx_dropped[cpu_index];
|
||||
QDF_TRACE(QDF_MODULE_ID_HDD_DATA, QDF_TRACE_LEVEL_DEBUG,
|
||||
"%s: Dropping multicast replay pkt", __func__);
|
||||
qdf_atomic_inc(&adapter->hdd_stats.tx_rx_stats.
|
||||
rx_usolict_arp_n_mcast_drp);
|
||||
qdf_nbuf_free(skb);
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3108,7 +3108,7 @@ void hdd_wlan_get_stats(struct hdd_adapter *adapter, uint16_t *length,
|
|||
"\n[dropped] BK %u, BE %u, VI %u, VO %u"
|
||||
"\n[classified] BK %u, BE %u, VI %u, VO %u"
|
||||
"\n\nReceive[%lu] - "
|
||||
"packets %u, dropped %u, delivered %u, refused %u\n"
|
||||
"packets %u, dropped %u, unsolict_arp_n_mcast_drp %u, delivered %u, refused %u\n"
|
||||
"GRO - agg %u non-agg %u flushes(%u %u) disabled(conc %u low-tput %u)\n",
|
||||
qdf_system_ticks(),
|
||||
stats->tx_called,
|
||||
|
|
@ -3123,7 +3123,9 @@ void hdd_wlan_get_stats(struct hdd_adapter *adapter, uint16_t *length,
|
|||
stats->tx_classified_ac[SME_AC_VI],
|
||||
stats->tx_classified_ac[SME_AC_VO],
|
||||
qdf_system_ticks(),
|
||||
total_rx_pkt, total_rx_dropped, total_rx_delv,
|
||||
total_rx_pkt, total_rx_dropped,
|
||||
qdf_atomic_read(&stats->rx_usolict_arp_n_mcast_drp),
|
||||
total_rx_delv,
|
||||
total_rx_refused,
|
||||
stats->rx_aggregated, stats->rx_non_aggregated,
|
||||
stats->rx_gro_flushes,
|
||||
|
|
|
|||
Loading…
Reference in a new issue