From renata.saiakhova at ekinops.com Fri Aug 1 12:00:08 2025 From: renata.saiakhova at ekinops.com (Renata Saiakhova) Date: Fri, 1 Aug 2025 10:00:08 +0000 Subject: Support for Forcing Speed/Duplex/Autoneg on i225 with DPDK igc Driver Message-ID: 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. 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. Is support for forced speed/duplex/autoneg available at all for i225 in DPDK (or even kernel) mode? Or is this a hardware limitation? Any insight, documentation pointers, or confirmation of support status especially in case of DPDK mode would be greatly appreciated. Best regards, Renata Saiakhova SW ARCHITECT renata.saiakhova at ekinops.com Tel: +32 16 799 970 [https://www.ekinops.com/images/public-communication/mail-signature/logo_96dpi.gif] [https://www.ekinops.com/images/public-communication/mail-signature/current.png] -------------- next part -------------- An HTML attachment was scrubbed... URL: From ivan.malov at arknetworks.am Fri Aug 1 15:10:44 2025 From: ivan.malov at arknetworks.am (Ivan Malov) Date: Fri, 1 Aug 2025 17:10:44 +0400 (+04) Subject: Support for Forcing Speed/Duplex/Autoneg on i225 with DPDK igc Driver In-Reply-To: References: Message-ID: <403ff976-7b56-0489-10ab-adb6822e801a@arknetworks.am> 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] > > ? > > > From stephen at networkplumber.org Sat Aug 2 00:01:59 2025 From: stephen at networkplumber.org (Stephen Hemminger) Date: Fri, 1 Aug 2025 15:01:59 -0700 Subject: Support for Forcing Speed/Duplex/Autoneg on i225 with DPDK igc Driver In-Reply-To: <403ff976-7b56-0489-10ab-adb6822e801a@arknetworks.am> References: <403ff976-7b56-0489-10ab-adb6822e801a@arknetworks.am> Message-ID: <20250801150159.3ef1e3d4@hermes.local> On Fri, 1 Aug 2025 17:10:44 +0400 (+04) Ivan Malov wrote: > 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] > > > > ? > > > > > > Use of driver specific devargs is strongly discouraged. There is link_speeds in rte_eth_conf passed to rte_eth_dev_configure() which is the correct way to set fixed speed. It maybe that the driver doesn't interpret it correctly?