The thunderx driver can't use XDP with all MTU values. This patches sets the right MTU values, and add a check to avoid setting a wrong value which will not function.
v3: Fix a copy-paste from two functions, tested on proper hardware: # ip link show dev enP2p1s0v0 2: enP2p1s0v0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000 link/ether 1c:1b:0d:0d:52:a4 brd ff:ff:ff:ff:ff:ff # ip link set enP2p1s0v0 mtu 1800 # ip link set dev enP2p1s0v0 xdpdrv object mtu.o [ 787.019730] nicvf 0002:01:00.1 enP2p1s0v0: Jumbo frames not yet supported with XDP, current MTU 1800. RTNETLINK answers: Operation not supported # ip link set enP2p1s0v0 mtu 1500 # ip link set dev enP2p1s0v0 xdpdrv object mtu.o [ 800.574568] nicvf 0002:01:00.1 enP2p1s0v0: Link is Up 10000 Mbps Full duplex # ip link set enP2p1s0v0 mtu 1600 [ 807.248321] nicvf 0002:01:00.1 enP2p1s0v0: Jumbo frames not yet supported with XDP, current MTU 1500. RTNETLINK answers: Invalid argument Matteo Croce (2): net: thunderx: raise XDP MTU to 1508 net: thunderx: don't allow jumbo frames with XDP .../net/ethernet/cavium/thunder/nicvf_main.c | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) -- 2.21.0