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

Reply via email to