|
@@ -2385,6 +2385,7 @@ static int tun_xdp_one(struct tun_struct *tun,
|
|
|
struct tun_file *tfile,
|
|
|
struct xdp_buff *xdp, int *flush)
|
|
|
{
|
|
|
+ unsigned int datasize = xdp->data_end - xdp->data;
|
|
|
struct tun_xdp_hdr *hdr = xdp->data_hard_start;
|
|
|
struct virtio_net_hdr *gso = &hdr->gso;
|
|
|
struct tun_pcpu_stats *stats;
|
|
@@ -2461,7 +2462,7 @@ build:
|
|
|
stats = get_cpu_ptr(tun->pcpu_stats);
|
|
|
u64_stats_update_begin(&stats->syncp);
|
|
|
stats->rx_packets++;
|
|
|
- stats->rx_bytes += skb->len;
|
|
|
+ stats->rx_bytes += datasize;
|
|
|
u64_stats_update_end(&stats->syncp);
|
|
|
put_cpu_ptr(stats);
|
|
|
|