Hi Ananda, > -----Original Message----- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Ananda > Sathyanarayana > Sent: Saturday, October 22, 2016 3:27 AM > To: dev at dpdk.org > Cc: ananda at versa-networks.com; Vignesh Chinnakkannu > Subject: [dpdk-dev] Manual link speed/duplex configuration not working with > DPDK > > 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. Don?t know the history. Seems it?s discussion but not a patch. Guess that's why it?s not accepted. It looks OK to me. Maybe we can create a patch for it?
> > > > 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