[Intel-wired-lan] [PATCH iwl-next v3] ice: Add support for devlink local_forwarding param.

Wojciech Drewek wojciech.drewek at intel.com
Tue Jun 4 09:07:58 UTC 2024



On 03.06.2024 14:46, Jiri Pirko wrote:
> Mon, Jun 03, 2024 at 02:31:46PM CEST, wojciech.drewek at intel.com wrote:
>> From: Pawel Kaminski <pawel.kaminski at intel.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 at intel.com>
>> Signed-off-by: Michal Wilczynski <michal.wilczynski at intel.com>
>> Reviewed-by: Przemek Kitszel <przemyslaw.kitszel at intel.com>
>> Signed-off-by: Pawel Kaminski <pawel.kaminski at intel.com>
>> Signed-off-by: Wojciech Drewek <wojciech.drewek at intel.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
>> =============

<...>


More information about the Intel-wired-lan mailing list