Re: [PATCH net-next v2 0/4] Support bandwidth clamping in mana using net shapers

From: Erni Sri Satya Vennela
Date: Tue Jun 17 2025 - 02:16:42 EST


On Sat, Jun 14, 2025 at 01:03:54PM -0700, Jakub Kicinski wrote:
> On Fri, 13 Jun 2025 04:20:23 -0700 Erni Sri Satya Vennela wrote:
> > This patchset introduces hardware-backed bandwidth rate limiting
> > for MANA NICs via the net_shaper_ops interface, enabling efficient and
> > fine-grained traffic shaping directly on the device.
> >
> > Previously, MANA lacked a mechanism for user-configurable bandwidth
> > control. With this addition, users can now configure shaping parameters,
> > allowing better traffic management and performance isolation.
> >
> > The implementation includes the net_shaper_ops callbacks in the MANA
> > driver and supports one shaper per vport. Add shaping support via
> > mana_set_bw_clamp(), allowing the configuration of bandwidth rates
> > in 100 Mbps increments (minimum 100 Mbps). The driver validates input
> > and rejects unsupported values. On failure, it restores the previous
> > configuration which is queried using mana_query_link_cfg() or
> > retains the current state.
> >
> > To prevent potential deadlocks introduced by net_shaper_ops, switch to
> > _locked variants of NAPI APIs when netdevops_lock is held during
> > VF setup and teardown.
> >
> > Also, Add support for ethtool get_link_ksettings to report the maximum
> > link speed supported by the SKU in mbps.
> >
> > These APIs when invoked on hardware that are older or that do
> > not support these APIs, the speed would be reported as UNKNOWN and
> > the net-shaper calls to set speed would fail.
>
> Failed to apply patch:
> Applying: net: mana: Fix potential deadlocks in mana napi ops
> error: patch fragment without header at line 23: @@ -2102,9 +2108,11 @@ static void mana_destroy_rxq(struct mana_port_context *apc,
> error: could not build fake ancestor
> hint: Use 'git am --show-current-patch=diff' to see the failed patch
> hint: When you have resolved this problem, run "git am --continue".
> hint: If you prefer to skip this patch, run "git am --skip" instead.
> hint: To restore the original branch and stop patching, run "git am --abort".
> hint: Disable this message with "git config set advice.mergeConflict false"
> Patch failed at 0001 net: mana: Fix potential deadlocks in mana napi ops
>
> please rebase
Hi Jakub,

Thank you for your reply. I will rebase and repost.

- Vennela
> --
> pw-bot: cr