Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

netdevsim: 'support' multi-buf XDP

Don't error out on large MTU if XDP is multi-buf.
The ping test now tests ping with XDP and high MTU.
netdevsim doesn't actually run the prog (yet?) so
it doesn't matter if the prog was multi-buf..

Reviewed-by: Michal Kubiak <michal.kubiak@intel.com>
Link: https://patch.msgid.link/20250311092820.542148-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

+4 -2
+2 -1
drivers/net/netdevsim/bpf.c
··· 296 296 NSIM_EA(bpf->extack, "attempt to load offloaded prog to drv"); 297 297 return -EINVAL; 298 298 } 299 - if (ns->netdev->mtu > NSIM_XDP_MAX_MTU) { 299 + if (bpf->prog && !bpf->prog->aux->xdp_has_frags && 300 + ns->netdev->mtu > NSIM_XDP_MAX_MTU) { 300 301 NSIM_EA(bpf->extack, "MTU too large w/ XDP enabled"); 301 302 return -EINVAL; 302 303 }
+2 -1
drivers/net/netdevsim/netdev.c
··· 116 116 { 117 117 struct netdevsim *ns = netdev_priv(dev); 118 118 119 - if (ns->xdp.prog && new_mtu > NSIM_XDP_MAX_MTU) 119 + if (ns->xdp.prog && !ns->xdp.prog->aux->xdp_has_frags && 120 + new_mtu > NSIM_XDP_MAX_MTU) 120 121 return -EBUSY; 121 122 122 123 WRITE_ONCE(dev->mtu, new_mtu);