net: mana: Add support for jumbo frame
authorHaiyang Zhang <haiyangz@microsoft.com>
Wed, 12 Apr 2023 21:16:03 +0000 (14:16 -0700)
committerDavid S. Miller <davem@davemloft.net>
Fri, 14 Apr 2023 07:56:19 +0000 (08:56 +0100)
commit80f6215b450eb8e92d8b1f117abf5ecf867f963e
tree24070c4dc05d955628cf2b844f7655bd4c1c954f
parent2fbbd712baf1c60996554326728bbdbef5616e12
net: mana: Add support for jumbo frame

During probe, get the hardware-allowed max MTU by querying the device
configuration. Users can select MTU up to the device limit.
When XDP is in use, limit MTU settings so the buffer size is within
one page. And, when MTU is set to a too large value, XDP is not allowed
to run.
Also, to prevent changing MTU fails, and leaves the NIC in a bad state,
pre-allocate all buffers before starting the change. So in low memory
condition, it will return error, without affecting the NIC.

Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/microsoft/mana/mana_bpf.c
drivers/net/ethernet/microsoft/mana/mana_en.c
include/net/mana/gdma.h
include/net/mana/mana.h