print per rx-queue packet errors in sge_qinfo
Signed-off-by: Casey Leedom <leedom@chelsio.com>
Signed-off-by: Ganesh Goudar <ganeshgr@chelsio.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
        unsigned long rx_cso;       /* # of Rx checksum offloads */
        unsigned long vlan_ex;      /* # of Rx VLAN extractions */
        unsigned long rx_drops;     /* # of packets dropped due to no mem */
+       unsigned long bad_rx_pkts;  /* # of packets with err_vec!=0 */
 };
 
 struct sge_eth_rxq {                /* SW Ethernet Rx queue */
 
                RL("LROmerged:", stats.lro_merged);
                RL("LROpackets:", stats.lro_pkts);
                RL("RxDrops:", stats.rx_drops);
+               RL("RxBadPkts:", stats.bad_rx_pkts);
                TL("TSO:", tso);
                TL("TxCSO:", tx_cso);
                TL("VLANins:", vlan_ins);
 
 
        csum_ok = pkt->csum_calc && !err_vec &&
                  (q->netdev->features & NETIF_F_RXCSUM);
+
+       if (err_vec)
+               rxq->stats.bad_rx_pkts++;
+
        if (((pkt->l2info & htonl(RXF_TCP_F)) ||
             tnl_hdr_len) &&
            (q->netdev->features & NETIF_F_GRO) && csum_ok && !pkt->ip_frag) {