Support for Forcing Speed/Duplex/Autoneg on i225 with DPDK igc Driver

Ivan Malov ivan.malov at arknetworks.am
Fri Aug 1 15:10:44 CEST 2025


Hi Renata,

On Fri, 1 Aug 2025, Renata Saiakhova wrote:

> 
> Hi all,
> 
> I’m trying to configure Layer 1 attributes (speed, duplex, and autonegotiation) for Intel i225 interfaces in both kernel and DPDK modes, and I’ve run into some issues.
> 
> In kernel driver mode, I normally use: “ethtool -s eth5 speed 100 duplex half autoneg off”.
> 
> However, this results in the kernel message: “igc 0000:04:00.0 eth5: Force mode currently not supported”.
> 
>  
> 
> When the interface is bound to DPDK and connected to an OVS bridge, I configure it like this:
> 
> ovs-vsctl set Interface 1.extra2 \
> 
>   type=dpdk \
> 
>   options:dpdk-devargs=0000:04:00.0 \
> 
>   options:dpdk-speed=100 \
> 
>   options:dpdk-autoneg=false \
> 
>   options:dpdk-duplex=half
> 
> This should pass the speed/autoneg/duplex settings to the igc DPDK driver via devargs.

Should it? Even if these were on the list of supported devargs for the PMD in
question, they would belong in comma-separated tokens after '0000:04:00.0'.
I don't see these to be parsed in the OvS, neither do I see such in the PMD.

Or are you looking at some custom OvS version?

> 
> However, it appears these options are not applied — the interface continues to negotiate its settings as usual, and I can’t find any code in the igc DPDK driver that processes these
> devargs parameters.

If these were passed via 'dpdk-devargs', the PMD would've complained perhaps.
Being passed as OvS's own options, they're likely just ignored by the OvS.

> 
> Is support for forced speed/duplex/autoneg available at all for i225 in DPDK (or even kernel) mode? Or is this a hardware limitation?

As per [1], 'forced' mode may not be supported in the DPDK PMD. But the code
suggests one can possibly try to pass, say, 'RTE_ETH_LINK_SPEED_100M_HD',
without being accompanied by neither 'AUTONEG' nor 'FIXED', but that would still
come as 'advertised' mode, not a 'forced' one. I may be wrong, though.

[1] https://github.com/DPDK/dpdk/blob/1b3bf1128d9bda5595861814792f74b8f57160c8/drivers/net/igc/igc_ethdev.c#L1088

> 
> Any insight, documentation pointers, or confirmation of support status especially in case of DPDK mode would be greatly appreciated.

I take it OvS most likely needs to be augmented with extra code to recognise
such options and translate those into DPDK link settings. For an example of how
a DPDK application can do that, one should refer to 'test-pmd' implementation.

Thank you.

> 
> Best regards,
> 
>  
> 
>  
> 
> Renata Saiakhova
> SW ARCHITECT
> renata.saiakhova at ekinops.com
> Tel: +32 16 799 970
> 
> [logo_96dpi.gif]
> 
> [current.png]
> 
>  
> 
> 
>


More information about the users mailing list