On 06/08/2025 19:46, Ilya Maximets wrote:
> On 8/6/25 4:32 PM, Renata Saiakhova via discuss wrote:
>> Hi OVS Community,
>>
>> I would like to discuss a gap I have identified in the current Open vSwitch
>> (OVS) DPDK integration regarding the configuration of Layer 1 attributes
>> (link speed, possibly duplex, and autonegotiation) for DPDK-backed 
>> interfaces.
>>
>> My findings can be, however, wrong, as I am new to ovs, but that is how I
>> understand it now.
>> Currently, DPDK provides the ability to set these speed and autoneg  via the
>> link_speeds field in struct rte_eth_conf, which is passed to
>> rte_eth_dev_configure(). However, after reviewing the OVS 3.3.2 code, I found
>> that OVS does not expose any mechanism to set these parameters via ovs-vsctl
>> or OVSDB. The relevant fields in rte_eth_conf are not settable through OVS
>> configuration, and there is no code to parse or apply such options from the
>> OVSDB or command line. As a result, users cannot configure speed, duplex, or
>> autoneg for DPDK interfaces through standard OVS tools.
> 
> Hi, Renata.  That's correct, for devices that are fully managed by DPDK in
> userspace there is currently no way to request the link speed or duplex.
> 
>>
>> I would like to propose adding support for configuring these Layer 1 
>> attributes
>> via the OVSDB schema and ovs-vsctl commands. This would involve:
>>
>>   * Extending the OVSDB schema (e.g., adding options:link-speed, 
>> options:autoneg,
>>     and options:duplex to the Interface table under PMD group).
>>   * Parsing these options in the OVS DPDK netdev code.
>>   * Setting the corresponding fields in struct rte_eth_conf before calling
>>     rte_eth_dev_configure().
> 
> CC: Kevin and David in case they have some thoughts, but to me it seems
> like a reasonable solution.  We may need to add "dpdk-" prefix to these
> options though to make it obvious that they only apply to ports of "dpdk"
> type.  And we may also merge the link-speed and the autoneg, since they
> are part of the same bitmap in rte_eth_conf anyway, but I'm not sure on
> this one.
> 

Don't forget to think about defaults, any cross-checking needed between
options, if there can be conflicts which takes precedence, or if the
device doesn't support the

>> The possibility to set speed and duplex is  requested by our customers and I
>> think would be beneficial for anyone needing to control link settings for 
>> DPDK
>> interfaces in OVS, similar to what is possible with ethtool for kernel 
>> interfaces.
>> Upstreaming this functionality would help avoid custom patches and benefit 
>> the
>> broader community.
>>
>> Would the OVS community be interested in such a contribution? If so, I am 
>> happy
>> to prepare a design proposal and work on an implementation for review. Any
>> comments and clarifications are very welcome!
> 
> I think, this would be a good addition to OVS, so unless someone else
> raises an objection, feel free to work on a solution.  Looking forward
> to the patches!
> 

+1 sounds good to me. Thanks for looking to improve OVS.

> The one concern maybe that in case of bifurcated drivers like mlx5
> this may create an alternative way of setting the same thing, but that
> was the case probably from the beginning for a few other options with
> these drivers, so shouldn't be a big problem.
> 
> Best regards, Ilya Maximets.
> 
>>
>> Looking forward to your feedback and guidance.
>>
>> *Renata Saiakhova
>> *SW ARCHITECT
>> renata.saiakh...@ekinops.com
>> Tel: +32 16 799 970
>>
>> <www.ekinops.com>
>>
>> <https://www.ekinops.com/news/mailbanner>
>> _______________________________________________
>> discuss mailing list
>> disc...@openvswitch.org
>> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss
> 

_______________________________________________
discuss mailing list
disc...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to