qcacmn: Add counters for IP, TCP/UDP checksum errors

Add counters for IP, TCP/UDP checksum errors reported by
hardware.

Change-Id: Iaeb9280bc1ad4a287eee409d92ad0c95dc9f2c77
This commit is contained in:
Tallapragada Kalyan
2018-04-18 14:30:44 +05:30
committed by nshrivas
vanhempi e2137870de
commit 51198fc4ee
3 muutettua tiedostoa jossa 18 lisäystä ja 5 poistoa

Näytä tiedosto

@@ -1061,15 +1061,20 @@ static inline void dp_rx_deliver_to_stack(struct dp_vdev *vdev,
*
* Return: void
*/
static inline void dp_rx_cksum_offload(qdf_nbuf_t nbuf, uint8_t *rx_tlv_hdr)
static inline void dp_rx_cksum_offload(struct dp_pdev *pdev,
qdf_nbuf_t nbuf,
uint8_t *rx_tlv_hdr)
{
qdf_nbuf_rx_cksum_t cksum = {0};
bool ip_csum_err = hal_rx_attn_ip_cksum_fail_get(rx_tlv_hdr);
bool tcp_udp_csum_er = hal_rx_attn_tcp_udp_cksum_fail_get(rx_tlv_hdr);
if (qdf_likely(!hal_rx_attn_tcp_udp_cksum_fail_get(rx_tlv_hdr) &&
!hal_rx_attn_ip_cksum_fail_get(rx_tlv_hdr))) {
if (qdf_likely(!ip_csum_err && !tcp_udp_csum_er)) {
cksum.l4_result = QDF_NBUF_RX_CKSUM_TCP_UDP_UNNECESSARY;
qdf_nbuf_set_rx_cksum(nbuf, &cksum);
} else {
DP_STATS_INCC(pdev, err.ip_csum_err, 1, ip_csum_err);
DP_STATS_INCC(pdev, err.tcp_udp_csum_err, 1, tcp_udp_csum_er);
}
}
@@ -1561,7 +1566,7 @@ done:
continue;
}
dp_rx_cksum_offload(nbuf, rx_tlv_hdr);
dp_rx_cksum_offload(vdev->pdev, nbuf, rx_tlv_hdr);
dp_set_rx_queue(nbuf, ring_id);