Skip to content

Commit ef48521

Browse files
committed
Merge branch 'tun-fixes'
Yunjian Wang says: ==================== fixes for tun There are few places on the receive path where packet receives and packet drops were not accounted for. This patchset fixes that issue. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
2 parents d09486a + f1084c4 commit ef48521

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

drivers/net/tun.c

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1630,13 +1630,19 @@ 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+
}
1637+
dev_sw_netstats_rx_add(tun->dev, xdp->data_end - xdp->data);
16351638
break;
16361639
case XDP_TX:
16371640
err = tun_xdp_tx(tun->dev, xdp);
1638-
if (err < 0)
1641+
if (err < 0) {
1642+
dev_core_stats_rx_dropped_inc(tun->dev);
16391643
return err;
1644+
}
1645+
dev_sw_netstats_rx_add(tun->dev, xdp->data_end - xdp->data);
16401646
break;
16411647
case XDP_PASS:
16421648
break;

0 commit comments

Comments
 (0)