Subject: Re: [net-next 01/11] ixgbe: fix detection of SFP+ capable interfaces

From: Sergei Shtylyov <[email-masked]>
Date: Wed, 14 May 2014 22:16:29 +0400

Hello.

On 05/14/2014 08:59 PM, Tantilov, Emil S wrote:

>>> From: Emil Tantilov <[email-masked]>

>>> In cases where the driver is loaded while there are no SFP+ modules in
>>> the cage the interface was not being detected as SFP capable. To account
>>> for this the driver called identify_sfp in ixgbe_get_settings to make
>>> sure the data is correct. However when there is no SFP+ module in the cage
>>> the driver waits for the I2C reads to time out which can take more than a
>>> second and will cause issues with tools (like net-snmp) that may poll
>>> for that information.

>>> This patch resolves the issue by identifying 82599 based NIC with no PHY
>>> type set as SFP capable which allows the driver to detect the SFP module
>>> when the interface is brought up. As result of this we can also remove the
>>> identify_sfp call from ixgbe_get_settings.

>>> Signed-off-by: Emil Tantilov <[email-masked]>
>>> Tested-by: Phil Schmitt <[email-masked]>
>>> Signed-off-by: Jeff Kirsher <[email-masked]>

>> [...]

>>> diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>>> b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>>> index 8089ea9..e44c42a 100644
>>> --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>>> +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
>>> @@ -4660,6 +4660,10 @@ static inline bool ixgbe_is_sfp(struct ixgbe_hw *hw)
>>>    	case ixgbe_phy_nl:
>>>    		if (hw->mac.type == ixgbe_mac_82598EB)
>>>    			return true;
>>> +	/* ixgbe_phy_none is set when no SFP module is present */
>>> +	case ixgbe_phy_none:
>>> +		if (hw->mac.type == ixgbe_mac_82599EB)
>>> +			return true;

>>     Shouldn't it just be combined with the previous case?

> How can you combine them? The previous case is for ixgbe_phy_nl and 82598 macs this patch is for ixgbe_phy_none and 82599.

    Ah, sorry, I've misread 82598EB as 82599EB.

> Thanks,
> Emil

WBR, Sergei