> -----Original Message----- > From: Intel-wired-lan <[email protected]> On Behalf Of > Wojciech Drewek > Sent: Friday, June 7, 2024 12:44 PM > To: [email protected] > Cc: Keller, Jacob E <[email protected]>; [email protected]; intel-wired- > [email protected]; [email protected] > Subject: [Intel-wired-lan] [PATCH iwl-next v4] ice: Add support for devlink > local_forwarding param. > > From: Pawel Kaminski <[email protected]> > > Add support for driver-specific devlink local_forwarding param. > Supported values are "enabled", "disabled" and "prioritized". > Default configuration is set to "enabled". > > Add documentation in networking/devlink/ice.rst. > > In previous generations of Intel NICs the transmit scheduler was only limited > by > PCIe bandwidth when scheduling/assigning hairpin-badwidth between VFs. > Changes to E810 HW design introduced scheduler limitation, so that available > hairpin-bandwidth is bound to external port speed. > In order to address this limitation and enable NFV services such as "service > chaining" a knob to adjust the scheduler config was created. > Driver can send a configuration message to the FW over admin queue and > internal FW logic will reconfigure HW to prioritize and add more BW to VF to > VF > traffic. As end result for example 10G port will no longer limit > hairpin-badwith to > 10G and much higher speeds can be achieved. > > Devlink local_forwarding param set to "prioritized" enables higher hairpin- > badwitdh on related PFs. Configuration is applicable only to 8x10G and 4x25G > cards. > > Changing local_forwarding configuration will trigger CORER reset in order to > take > effect. > > Example command to change current value: > devlink dev param set pci/0000:b2:00.3 name local_forwarding \ > value prioritized \ > cmode runtime > > Co-developed-by: Michal Wilczynski <[email protected]> > Signed-off-by: Michal Wilczynski <[email protected]> > Reviewed-by: Przemek Kitszel <[email protected]> > Signed-off-by: Pawel Kaminski <[email protected]> > Signed-off-by: Wojciech Drewek <[email protected]> > --- > v2: Extend documentation > v3: rename loopback to local_forwarding > v4: change in documentation about what types of functions > are affected > --- > Documentation/networking/devlink/ice.rst | 25 ++++ > .../net/ethernet/intel/ice/devlink/devlink.c | 126 ++++++++++++++++++ > .../net/ethernet/intel/ice/ice_adminq_cmd.h | 11 +- > drivers/net/ethernet/intel/ice/ice_common.c | 4 + > drivers/net/ethernet/intel/ice/ice_type.h | 1 + > 5 files changed, 166 insertions(+), 1 deletion(-) > > diff --git a/Documentation/networking/devlink/ice.rst > b/Documentation/networking/devlink/ice.rst > index 830c04354222..e3972d03cea0 100644 > --- a/Documentation/networking/devlink/ice.rst > +++ b/Documentation/networking/devlink/ice.rst > @@ -11,6 +11,7 @@ Parameters
Tested-by: Rafal Romanowski <[email protected]>
