mirror of
https://github.com/torvalds/linux.git
synced 2026-05-24 07:03:03 +02:00
The ice driver's VF queue configuration validation rejects databuffer_size values below 1024 bytes, which prevents VFs from using MTU values below 871 bytes. The iavf driver calculates databuffer_size based on the MTU using: databuffer_size = ALIGN(MTU + LIBETH_RX_LL_LEN, 128) where LIBETH_RX_LL_LEN = 26 (ETH_HLEN + 2*VLAN_HLEN + ETH_FCS_LEN). For MTU values below 871: MTU 870: 870 + 26 = 896, aligned to 128 = 896 (< 1024, rejected) MTU 871: 871 + 26 = 897, aligned to 128 = 1024 (>= 1024, accepted) The 1024-byte minimum seems unnecessarily restrictive, because the hardware supports databuffer_size as low as 128 bytes (the alignment boundary), which should allow MTU values down to the standard minimum of 68 bytes. I haven't found the reason why the limit was configured in the commit |
||
|---|---|---|
| .. | ||
| allowlist.c | ||
| allowlist.h | ||
| fdir.c | ||
| fdir.h | ||
| queues.c | ||
| queues.h | ||
| rss.c | ||
| rss.h | ||
| virtchnl.c | ||
| virtchnl.h | ||