[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cf4c6af6-0196-46e0-8d11-ac8e1cb81656@intel.com>
Date: Tue, 4 Jun 2024 11:07:58 +0200
From: Wojciech Drewek <wojciech.drewek@...el.com>
To: Jiri Pirko <jiri@...nulli.us>
CC: <netdev@...r.kernel.org>, <intel-wired-lan@...ts.osuosl.org>,
<kuba@...nel.org>, <jacob.e.keller@...el.com>
Subject: Re: [PATCH iwl-next v3] ice: Add support for devlink local_forwarding
param.
On 03.06.2024 14:46, Jiri Pirko wrote:
> Mon, Jun 03, 2024 at 02:31:46PM CEST, wojciech.drewek@...el.com wrote:
>> From: Pawel Kaminski <pawel.kaminski@...el.com>
>>
>> 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 <michal.wilczynski@...el.com>
>> Signed-off-by: Michal Wilczynski <michal.wilczynski@...el.com>
>> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel@...el.com>
>> Signed-off-by: Pawel Kaminski <pawel.kaminski@...el.com>
>> Signed-off-by: Wojciech Drewek <wojciech.drewek@...el.com>
>> ---
>> v2: Extend documentation
>> v3: rename loopback to local_forwarding
>> ---
>> Documentation/networking/devlink/ice.rst | 23 ++++
>> .../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, 164 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/networking/devlink/ice.rst b/Documentation/networking/devlink/ice.rst
>> index 830c04354222..0eb64bd4710f 100644
>> --- a/Documentation/networking/devlink/ice.rst
>> +++ b/Documentation/networking/devlink/ice.rst
>> @@ -11,6 +11,7 @@ Parameters
>> ==========
>>
>> .. list-table:: Generic parameters implemented
>> + :widths: 5 5 90
>>
>> * - Name
>> - Mode
>> @@ -68,6 +69,28 @@ Parameters
>>
>> To verify that value has been set:
>> $ devlink dev param show pci/0000:16:00.0 name tx_scheduling_layers
>> +.. list-table:: Driver specific parameters implemented
>> + :widths: 5 5 90
>> +
>> + * - Name
>> + - Mode
>> + - Description
>> + * - ``local_forwarding``
>> + - runtime
>> + - Controls loopback behavior by tuning scheduler bandwidth.
>> + Supported values are:
>> +
>> + ``enabled`` - VF to VF traffic is allowed on port
>> +
>> + ``disabled`` - VF to VF traffic is not allowed on this port
>> +
>> + ``prioritized`` - VF to VF traffic is prioritized on this port
>
> Does this apply on SFs too?
Yes, it will work for SFs as well. I'll adjust the docs in the next version.
>
>
>> +
>> + Default value of ``local_forwarding`` parameter is ``enabled``.
>> + ``prioritized`` provides ability to adjust VF to VF traffic rate to increase
>> + one port capacity at cost of the another. User needs to disable
>> + local forwarding on one of the ports in order have increased capacity
>> + on the ``prioritized`` port.
>>
>> Info versions
>> =============
<...>
Powered by blists - more mailing lists