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