From: Toshiaki Makita <makita.toshi...@lab.ntt.co.jp> Date: Thu, 11 Oct 2018 18:36:47 +0900
> ndo_xdp_xmit in veth did not update packet counters as described in [1]. > Also, current implementation only updates counters on tx side so rx side > events like XDP_DROP were not collected. > This series implements the missing accounting as well as support for > ethtool per-queue stats in veth. > > Patch 1: Update drop counter in ndo_xdp_xmit. > Patch 2: Update packet and byte counters for all XDP path, and drop > counter on XDP_DROP. > Patch 3: Support per-queue ethtool stats for XDP counters. > > Note that counters are maintained on per-queue basis for XDP but not > otherwise (per-cpu and atomic as before). This is because 1) tx path in > veth is essentially lockless so we cannot update per-queue stats on tx, > and 2) rx path is net core routine (process_backlog) which cannot update > per-queue based stats when XDP is disabled. On the other hand there are > real rxqs and napi handlers for veth XDP, so update per-queue stats on > rx for XDP packets, and use them to calculate tx counters as well, > contrary to the existing non-XDP counters. > > [1] https://patchwork.ozlabs.org/cover/953071/#1967449 > > Signed-off-by: Toshiaki Makita <makita.toshi...@lab.ntt.co.jp> Series applied.