diff options
| author | Tianyi Gao <tianyi@cloudflare.com> | 2026-10-16 22:42:16 +0100 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-10-21 17:25:36 -0700 |
| commit | f16b8c6a656e62bfa7bb6a3b876f9ccdaf53bd43 (patch) | |
| tree | 56d30ca27a732aa0e7035f4dde937abe702bba0b /scripts/Makefile.thinlto | |
| parent | b5b8c81836e2bec7b444dfa2b14fd14e912e9d63 (diff) | |
| download | linux-f16b8c6a656e62bfa7bb6a3b876f9ccdaf53bd43.tar.gz linux-f16b8c6a656e62bfa7bb6a3b876f9ccdaf53bd43.zip | |
veth: schedule the peer's NAPI after XDP_TX when only GRO is enabled
veth_xdp_xmit() queues XDP_TX frames on the peer's ring if the peer has
NAPI. A peer with GRO enabled and no XDP program also has NAPI.
veth_xdp_flush() then schedules the peer's NAPI, but only if the peer's
xdp_prog is set, so for such a peer the frames are never processed.
Nothing else schedules that NAPI by default.
Once the ring is full, every XDP_TX frame is dropped, and so are the
skbs that veth_xmit() queues on the same ring.
Commit 0e672f306a28 ("veth: check for NAPI instead of xdp_prog before
xmit of XDP frame") changed the check in veth_xdp_xmit() but not the one
in veth_xdp_flush(). Make veth_xdp_flush() check the napi pointer
instead of xdp_prog, as veth_xdp_xmit() does.
Fixes: 0e672f306a28 ("veth: check for NAPI instead of xdp_prog before xmit of XDP frame")
Signed-off-by: Tianyi Gao <tianyi@cloudflare.com>
Reviewed-by: Mohsin Bashir <hmohsin@meta.com>
Acked-by: Lorenzo Bianconi <lorenzo@kernel.org>
Acked-by: Jesper Dangaard Brouer <hawk@kernel.org>
Link: https://patch.msgid.link/20261016214217.16942-2-tianyi@cloudflare.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
