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:

committed by
nshrivas

parent
e2137870de
commit
51198fc4ee
@@ -770,6 +770,10 @@ struct cdp_pdev_stats {
|
||||
struct {
|
||||
/* desc alloc failed errors */
|
||||
uint32_t desc_alloc_fail;
|
||||
/* ip csum errors */
|
||||
uint32_t ip_csum_err;
|
||||
/* tcp/udp csum errors */
|
||||
uint32_t tcp_udp_csum_err;
|
||||
} err;
|
||||
|
||||
/* buffers added back in freelist */
|
||||
|
@@ -5190,6 +5190,10 @@ dp_print_pdev_rx_stats(struct dp_pdev *pdev)
|
||||
pdev->stats.replenish.rxdma_err);
|
||||
DP_PRINT_STATS(" Desc Alloc Failed: = %d",
|
||||
pdev->stats.err.desc_alloc_fail);
|
||||
DP_PRINT_STATS("IP checksum error = %d",
|
||||
pdev->stats.err.ip_csum_err);
|
||||
DP_PRINT_STATS("TCP/UDP checksum error = %d",
|
||||
pdev->stats.err.tcp_udp_csum_err);
|
||||
|
||||
/* Get bar_recv_cnt */
|
||||
dp_aggregate_pdev_ctrl_frames_stats(pdev);
|
||||
|
@@ -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);
|
||||
|
||||
|
Reference in New Issue
Block a user