[dpdk-dev] Manual link speed/duplex configuration not working with DPDK
Ananda Sathyanarayana
ananda at versa-networks.com
Fri Oct 21 21:27:11 CEST 2016
Hi All,
While testing manual link speed/duplex configuration with DPDK 1.7.1, I
observed the same issues mentioned by the below post
http://dpdk.org/ml/archives/dev/2015-January/010834.html. I see the same
issue with 16.04 as well.
Looks like the above patch is not accepted by the DPDK community yet. Any
specific reason ?
>From the code, it looks like, hw->mac.autoneg, variable is used to switch
between calling either autoneg function or forcing speed/duplex function.
But this variable is not modified in eth_em_start/eth_igb_start routines
(it is always set to 1) while forcing the link.
s32 e1000_setup_copper_link_generic(struct e1000_hw *hw)
{
s32 ret_val;
bool link;
DEBUGFUNC("e1000_setup_copper_link_generic");
if (hw->mac.autoneg) { <<<<<<<<<<<< always set, is not modified
in eth_em_start/eth_igb_start
/* Setup autoneg and flow control advertisement and perform
* autonegotiation.
*/
ret_val = e1000_copper_link_autoneg(hw);
if (ret_val)
return ret_val;
} else {
/* PHY will be set to 10H, 10F, 100H or 100F
* depending on user settings.
*/
DEBUGOUT("Forcing Speed and Duplex\n");
ret_val = hw->phy.ops.force_speed_duplex(hw);
<<<<<<<<<<<< Not called at all
if (ret_val) {
DEBUGOUT("Error Forcing Speed and Duplex\n");
return ret_val;
}
}
}
Thanks,
Ananda
More information about the dev
mailing list