Skip to content

Commit 8d9bc36

Browse files
Heng Qidavem330
authored andcommitted
virtio-net: set up xdp for multi buffer packets
When the xdp program sets xdp.frags, which means it can process multi-buffer packets over larger MTU, so we continue to support xdp. Signed-off-by: Heng Qi <hengqi@linux.alibaba.com> Reviewed-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com> Acked-by: Jason Wang <jasowang@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent e814b95 commit 8d9bc36

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

drivers/net/virtio_net.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3106,9 +3106,9 @@ static int virtnet_xdp_set(struct net_device *dev, struct bpf_prog *prog,
31063106
return -EINVAL;
31073107
}
31083108

3109-
if (dev->mtu > max_sz) {
3110-
NL_SET_ERR_MSG_MOD(extack, "MTU too large to enable XDP");
3111-
netdev_warn(dev, "XDP requires MTU less than %u\n", max_sz);
3109+
if (prog && !prog->aux->xdp_has_frags && dev->mtu > max_sz) {
3110+
NL_SET_ERR_MSG_MOD(extack, "MTU too large to enable XDP without frags");
3111+
netdev_warn(dev, "single-buffer XDP requires MTU less than %u\n", max_sz);
31123112
return -EINVAL;
31133113
}
31143114

0 commit comments

Comments
 (0)