Merge branch 'enetc-fixes'
Wei Fang says: ==================== net: enetc: correct the statistics of rx bytes The purpose of this patch set is to fix the issue of rx bytes statistics. The first patch corrects the rx bytes statistics of normal kernel protocol stack path, and the second patch is used to correct the rx bytes statistics of XDP. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
commit
3d5f4d29f6
|
@ -1229,7 +1229,13 @@ static int enetc_clean_rx_ring(struct enetc_bdr *rx_ring,
|
|||
if (!skb)
|
||||
break;
|
||||
|
||||
rx_byte_cnt += skb->len;
|
||||
/* When set, the outer VLAN header is extracted and reported
|
||||
* in the receive buffer descriptor. So rx_byte_cnt should
|
||||
* add the length of the extracted VLAN header.
|
||||
*/
|
||||
if (bd_status & ENETC_RXBD_FLAG_VLAN)
|
||||
rx_byte_cnt += VLAN_HLEN;
|
||||
rx_byte_cnt += skb->len + ETH_HLEN;
|
||||
rx_frm_cnt++;
|
||||
|
||||
napi_gro_receive(napi, skb);
|
||||
|
@ -1565,6 +1571,14 @@ static int enetc_clean_rx_ring_xdp(struct enetc_bdr *rx_ring,
|
|||
enetc_build_xdp_buff(rx_ring, bd_status, &rxbd, &i,
|
||||
&cleaned_cnt, &xdp_buff);
|
||||
|
||||
/* When set, the outer VLAN header is extracted and reported
|
||||
* in the receive buffer descriptor. So rx_byte_cnt should
|
||||
* add the length of the extracted VLAN header.
|
||||
*/
|
||||
if (bd_status & ENETC_RXBD_FLAG_VLAN)
|
||||
rx_byte_cnt += VLAN_HLEN;
|
||||
rx_byte_cnt += xdp_get_buff_len(&xdp_buff);
|
||||
|
||||
xdp_act = bpf_prog_run_xdp(prog, &xdp_buff);
|
||||
|
||||
switch (xdp_act) {
|
||||
|
|
Loading…
Reference in New Issue