Skip to content

Commit 5744ba0

Browse files
wyjwangdavem330
authored andcommitted
tun: fix missing dropped counter in tun_xdp_act
The commit 8ae1aff ("tuntap: split out XDP logic") includes dropped counter for XDP_DROP, XDP_ABORTED, and invalid XDP actions. Unfortunately, that commit missed the dropped counter when error occurs during XDP_TX and XDP_REDIRECT actions. This patch fixes this issue. Fixes: 8ae1aff ("tuntap: split out XDP logic") 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 d09486a commit 5744ba0

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

drivers/net/tun.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1630,13 +1630,17 @@ static int tun_xdp_act(struct tun_struct *tun, struct bpf_prog *xdp_prog,
16301630
switch (act) {
16311631
case XDP_REDIRECT:
16321632
err = xdp_do_redirect(tun->dev, xdp, xdp_prog);
1633-
if (err)
1633+
if (err) {
1634+
dev_core_stats_rx_dropped_inc(tun->dev);
16341635
return err;
1636+
}
16351637
break;
16361638
case XDP_TX:
16371639
err = tun_xdp_tx(tun->dev, xdp);
1638-
if (err < 0)
1640+
if (err < 0) {
1641+
dev_core_stats_rx_dropped_inc(tun->dev);
16391642
return err;
1643+
}
16401644
break;
16411645
case XDP_PASS:
16421646
break;

0 commit comments

Comments
 (0)