Patch "tun: add missing rx stats accounting in tun_xdp_act" has been added to the 6.1-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.1-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.1 subdirectory.

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



commit 431cd7b5686119ee28281a0255a131f0a9f87a97
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 af32aa599278..367255bb44cd 100644
--- a/drivers/net/tun.c
+++ b/drivers/net/tun.c
@@ -1626,6 +1626,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);
@@ -1633,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_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