On Fri, 13 Jan 2023 16:00:08 +0800 Heng Qi wrote: > When single-buffer xdp is loaded, the size of the buffer filled each time > is 'sz = (PAGE_SIZE - headroom - tailroom)', which is the maximum packet > length that the driver allows the device to pass in. Otherwise, the packet > with a length greater than sz will come in, so num_buf will be greater than > or equal to 2, and then xdp_linearize_page() will be performed and the > packet will be dropped because the total length is greater than PAGE_SIZE. > So the maximum value of MTU for single-buffer xdp is 'max_sz = sz - ETH_HLEN'. drivers/net/virtio_net.c:3111:56: warning: format specifies type 'unsigned long' but the argument has type 'unsigned int' [-Wformat] netdev_warn(dev, "XDP requires MTU less than %lu\n", max_sz); ~~~ ^~~~~~ %u