Skip to content

Commit f1084c4

Browse files
wyjwangdavem330
authored andcommitted
tun: add missing rx stats accounting in tun_xdp_act
The TUN can be used as vhost-net backend, and it is necessary to count the packets transmitted from TUN to vhost-net/virtio-net. However, there are some places in the receive path that were not taken into account when using XDP. It would be beneficial to also include new accounting for successfully received bytes using dev_sw_netstats_rx_add. Fixes: 761876c ("tap: XDP support") Signed-off-by: Yunjian Wang <wangyunjian@huawei.com> Reviewed-by: Willem de Bruijn <willemb@google.com> Acked-by: Jason Wang <jasowang@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 5744ba0 commit f1084c4

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

drivers/net/tun.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1634,13 +1634,15 @@ static int tun_xdp_act(struct tun_struct *tun, struct bpf_prog *xdp_prog,
16341634
dev_core_stats_rx_dropped_inc(tun->dev);
16351635
return err;
16361636
}
1637+
dev_sw_netstats_rx_add(tun->dev, xdp->data_end - xdp->data);
16371638
break;
16381639
case XDP_TX:
16391640
err = tun_xdp_tx(tun->dev, xdp);
16401641
if (err < 0) {
16411642
dev_core_stats_rx_dropped_inc(tun->dev);
16421643
return err;
16431644
}
1645+
dev_sw_netstats_rx_add(tun->dev, xdp->data_end - xdp->data);
16441646
break;
16451647
case XDP_PASS:
16461648
break;

0 commit comments

Comments
 (0)