Netdev List
 help / color / mirror / Atom feed
* [PATCH net-next v1 0/6] ibmvnic: honour flexible in-range MTU values
@ 2026-08-05 22:43 Mingming Cao
  2026-08-05 22:43 ` [PATCH net-next v1 1/6] ibmvnic: cap rx pool entries against the real buffer size Mingming Cao
                   ` (6 more replies)
  0 siblings, 7 replies; 9+ messages in thread
From: Mingming Cao @ 2026-08-05 22:43 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, edumazet, pabeni, andrew+netdev, haren, ricklind,
	nnac123, davemarq, vaishnavi, bjking1, linuxppc-dev, mmc

ibmvnic currently only keeps an MTU of 1500 or 9000. Any other in-range
value is accepted by ip(8) and then silently reverted: the vnicserver
answers REQ_MTU with PARTIALSUCCESS and the size the backing device
settled on, and the driver treats that as rejection and falls back.

Customers want flexible in-range MTUs (for example 1414, or values in
the 2000..8000 range) rather than being forced onto the 1500/9000
buckets. Today those requests either snap back quietly or, in the
mid-range case, can fail pool allocation and leave the interface down.

This series makes those requests stick, hardens the reset path an MTU
change goes through, and (patch 6) skips the reset when the backing
device and current buffers already cover the new MTU.

Posted as a single net-next series so the flexible-MTU change and the
reset-path hardening can be reviewed together. Patches 1-5 address
user-visible bugs and carry Fixes: tags; patch 6 is the follow-on
optimization. Happy to resplit 1-5 to net and leave 6 for net-next if
that is preferred.

  Patch 2 is the functional fix: keep the requested MTU when
  PARTIALSUCCESS covers it, and converge on the device size when it
  does not.

  Patch 1 is a prerequisite. Once req_mtu may sit below the backing
  buffer size, the existing pool-entry guard (which budgets with
  req_mtu) overshoots and mid-range MTU changes can fail allocation.
  It must not be backported without patch 2, or separated from it.

  Patches 3-5 clean up side effects of the MTU reset: skip unmaps for
  buffers the VIOS already forgot across a CRQ reconnect, and allocate
  new pools / long term buffers before releasing the old ones so a
  failed realloc refuses the MTU change instead of stranding the
  interface.

  Patch 6 records the covering backing size and skips wait_for_reset()
  when the new MTU fits in both that size and the current buffers.

Tested on PowerVM ibmvnic with MTU sweeps including 1414 and the
2000..9000 range that previously failed to allocate.

Mingming Cao (6):
  ibmvnic: cap rx pool entries against the real buffer size
  ibmvnic: honour the requested mtu instead of reverting to a fallback
  ibmvnic: do not unmap long term buffers across a crq reconnect
  ibmvnic: allocate new buffer pools before releasing the old ones
  ibmvnic: allocate a new long term buffer before freeing the old one
  ibmvnic: change the mtu without a reset where the buffers allow it

 drivers/net/ethernet/ibm/ibmvnic.c | 188 ++++++++++++++++++++---------
 drivers/net/ethernet/ibm/ibmvnic.h |   3 +
 2 files changed, 133 insertions(+), 58 deletions(-)

-- 
2.50.1 (Apple Git-155)


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2026-08-06  5:28 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-05 22:43 [PATCH net-next v1 0/6] ibmvnic: honour flexible in-range MTU values Mingming Cao
2026-08-05 22:43 ` [PATCH net-next v1 1/6] ibmvnic: cap rx pool entries against the real buffer size Mingming Cao
2026-08-05 22:43 ` [PATCH net-next v1 2/6] ibmvnic: honour the requested mtu instead of reverting to a fallback Mingming Cao
2026-08-05 22:43 ` [PATCH net-next v1 3/6] ibmvnic: do not unmap long term buffers across a crq reconnect Mingming Cao
2026-08-05 22:43 ` [PATCH net-next v1 4/6] ibmvnic: allocate new buffer pools before releasing the old ones Mingming Cao
2026-08-05 22:44 ` [PATCH net-next v1 5/6] ibmvnic: allocate a new long term buffer before freeing the old one Mingming Cao
2026-08-05 22:44 ` [PATCH net-next v1 6/6] ibmvnic: change the mtu without a reset where the buffers allow it Mingming Cao
2026-08-06  2:38 ` [PATCH net-next v1 0/6] ibmvnic: honour flexible in-range MTU values Jakub Kicinski
2026-08-06  5:28   ` mingming cao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox