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.

> 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!

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
> [email protected]
> Tel: +32 16 799 970
> 
> <www.ekinops.com>
> 
> <https://www.ekinops.com/news/mailbanner>
> _______________________________________________
> discuss mailing list
> [email protected]
> https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

_______________________________________________
discuss mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-discuss

Reply via email to