Patch "tun: add missing rx stats accounting in tun_xdp_act" has been added to the 6.7-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    tun: add missing rx stats accounting in tun_xdp_act

to the 6.7-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     tun-add-missing-rx-stats-accounting-in-tun_xdp_act.patch
and it can be found in the queue-6.7 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 1cc6dc39a13a171888b77d808036b7e7b1013f78
Author: Yunjian Wang <wangyunjian@xxxxxxxxxx>
Date:   Fri Jan 19 18:22:56 2024 +0800

    tun: add missing rx stats accounting in tun_xdp_act
    
    [ Upstream commit f1084c427f55d573fcd5688d9ba7b31b78019716 ]
    
    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: 761876c857cb ("tap: XDP support")
    Signed-off-by: Yunjian Wang <wangyunjian@xxxxxxxxxx>
    Reviewed-by: Willem de Bruijn <willemb@xxxxxxxxxx>
    Acked-by: Jason Wang <jasowang@xxxxxxxxxx>
    Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/net/tun.c b/drivers/net/tun.c
index 237fef557ba5..4a4f8c8e79fa 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -1634,6 +1634,7 @@ static int tun_xdp_act(struct tun_struct *tun, struct bpf_prog *xdp_prog,
 			dev_core_stats_rx_dropped_inc(tun->dev);
 			return err;
 		}
+		dev_sw_netstats_rx_add(tun->dev, xdp->data_end - xdp->data);
 		break;
 	case XDP_TX:
 		err = tun_xdp_tx(tun->dev, xdp);
@@ -1641,6 +1642,7 @@ static int tun_xdp_act(struct tun_struct *tun, struct bpf_prog *xdp_prog,
 			dev_core_stats_rx_dropped_inc(tun->dev);
 			return err;
 		}
+		dev_sw_netstats_rx_add(tun->dev, xdp->data_end - xdp->data);
 		break;
 	case XDP_PASS:
 		break;




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux