netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* ixgbe: Question about Flow Control on 10G
@ 2014-10-14 19:01 dom
  2014-10-14 20:54 ` Tantilov, Emil S
  0 siblings, 1 reply; 4+ messages in thread
From: dom @ 2014-10-14 19:01 UTC (permalink / raw)
  To: donald.c.skidmore, netdev

Hi

I have a question about the ixgbe driver's handling of 'ethtool -a ethX' 
when the NIC is using fibre.

Specifically I don't understand the code introduced by this commit:

commit 73d80953dfd1d5a92948005798c857c311c2834b
Author: Don Skidmore <donald.c.skidmore@intel.com>
Date:   Wed Jul 31 02:19:24 2013 +0000
Subject: ixgbe: fix fc autoneg ethtool reporting.

The function introduced the function:
        ixgbe_device_supports_autoneg_fc()

which gets called by ixgbe_get_pauseparam()/ixgbe_set_pauseparam().

specifically there is a  case in ixgbe_device_supports_autoneg_fc()

     case ixgbe_media_type_fiber_qsfp:
     case ixgbe_media_type_fiber:
         hw->mac.ops.check_link(hw, &speed, &link_up, false);
         /* if link is down, assume supported */
         if (link_up)
             supported = speed == IXGBE_LINK_SPEED_1GB_FULL ?
                 true : false;

If link_up=1 then why is supported only true for a 
speed=IXGBE_LINK_SPEED_1GB_FULL ?

Why is Flow Control not  supported for IXGBE_LINK_SPEED_10GB_FULL ?

I have search through the 82599 spec, but I can't find a reason.
Please can anyone help me understand ?

Thanks
dom

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: ixgbe: Question about Flow Control on 10G
  2014-10-14 19:01 ixgbe: Question about Flow Control on 10G dom
@ 2014-10-14 20:54 ` Tantilov, Emil S
  2014-10-15 18:56   ` dom
  0 siblings, 1 reply; 4+ messages in thread
From: Tantilov, Emil S @ 2014-10-14 20:54 UTC (permalink / raw)
  To: dom, Skidmore, Donald C, netdev@vger.kernel.org

>-----Original Message-----
>From: netdev-owner@vger.kernel.org [mailto:netdev-
>owner@vger.kernel.org] On Behalf Of dom
>Sent: Tuesday, October 14, 2014 12:01 PM
>To: Skidmore, Donald C; netdev@vger.kernel.org
>Subject: ixgbe: Question about Flow Control on 10G
>
>Hi
>
>I have a question about the ixgbe driver's handling of
>'ethtool -a ethX'
>when the NIC is using fibre.
>
>Specifically I don't understand the code introduced by this
>commit:
>
>commit 73d80953dfd1d5a92948005798c857c311c2834b
>Author: Don Skidmore <donald.c.skidmore@intel.com>
>Date:   Wed Jul 31 02:19:24 2013 +0000
>Subject: ixgbe: fix fc autoneg ethtool reporting.
>
>The function introduced the function:
>        ixgbe_device_supports_autoneg_fc()
>
>which gets called by
>ixgbe_get_pauseparam()/ixgbe_set_pauseparam().
>
>specifically there is a  case in
>ixgbe_device_supports_autoneg_fc()
>
>     case ixgbe_media_type_fiber_qsfp:
>     case ixgbe_media_type_fiber:
>         hw->mac.ops.check_link(hw, &speed, &link_up,
>false);
>         /* if link is down, assume supported */
>         if (link_up)
>             supported = speed == IXGBE_LINK_SPEED_1GB_FULL ?
>                 true : false;
>
>If link_up=1 then why is supported only true for a
>speed=IXGBE_LINK_SPEED_1GB_FULL ?
>
>Why is Flow Control not supported for IXGBE_LINK_SPEED_10GB_FULL ?

For SFP modules (media_type_fiber) flow control autoneg is not supported at 10gig. You can still set flow control manually to enabled/disabled, just not autoneg.

Thanks,
Emil

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: ixgbe: Question about Flow Control on 10G
  2014-10-14 20:54 ` Tantilov, Emil S
@ 2014-10-15 18:56   ` dom
  2014-10-15 23:46     ` Tantilov, Emil S
  0 siblings, 1 reply; 4+ messages in thread
From: dom @ 2014-10-15 18:56 UTC (permalink / raw)
  To: Tantilov, Emil S, Skidmore, Donald C, netdev@vger.kernel.org

On 10/14/2014 01:54 PM, Tantilov, Emil S wrote:
>> -----Original Message-----
>> From: netdev-owner@vger.kernel.org [mailto:netdev-
>> owner@vger.kernel.org] On Behalf Of dom
>> Sent: Tuesday, October 14, 2014 12:01 PM
>> To: Skidmore, Donald C; netdev@vger.kernel.org
>> Subject: ixgbe: Question about Flow Control on 10G
>>
>> Hi
>>
>> I have a question about the ixgbe driver's handling of
>> 'ethtool -a ethX'
>> when the NIC is using fibre.
>>
>> Specifically I don't understand the code introduced by this
>> commit:
>>
>> commit 73d80953dfd1d5a92948005798c857c311c2834b
>> Author: Don Skidmore <donald.c.skidmore@intel.com>
>> Date:   Wed Jul 31 02:19:24 2013 +0000
>> Subject: ixgbe: fix fc autoneg ethtool reporting.
>>
>> The function introduced the function:
>>         ixgbe_device_supports_autoneg_fc()
>>
>> which gets called by
>> ixgbe_get_pauseparam()/ixgbe_set_pauseparam().
>>
>> specifically there is a  case in
>> ixgbe_device_supports_autoneg_fc()
>>
>>      case ixgbe_media_type_fiber_qsfp:
>>      case ixgbe_media_type_fiber:
>>          hw->mac.ops.check_link(hw, &speed, &link_up,
>> false);
>>          /* if link is down, assume supported */
>>          if (link_up)
>>              supported = speed == IXGBE_LINK_SPEED_1GB_FULL ?
>>                  true : false;
>>
>> If link_up=1 then why is supported only true for a
>> speed=IXGBE_LINK_SPEED_1GB_FULL ?
>>
>> Why is Flow Control not supported for IXGBE_LINK_SPEED_10GB_FULL ?
> For SFP modules (media_type_fiber) flow control autoneg is not supported at 10gig. You can still set flow control manually to enabled/disabled, just not autoneg.
>
> Thanks,
> Emil
Hi Emil

Thank you for the quick answer.  I have a one follow-up question if I may...

We noticed that back in 3.2.9 (before 73d80953dfd basically) the 
behaviour was different for 10G fibre.  i.e.  autonegotiate showed 'on'.

# ethtool -a eth1
Pause parameters for eth1:
Autonegotiate:  on
RX:             on
TX:             on


The code:
     if (hw->fc.disable_fc_autoneg ||
         (hw->fc.current_mode == ixgbe_fc_none))
         pause->autoneg = 0;
     else
         pause->autoneg = 1;

So I assume this old output from 'ethtool -a' for autogen was just 
wrong, is that correct ?

[I'm asking cos I _know_ my h/w collegues are going to ask why the change.]

Thanks again
dom

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: ixgbe: Question about Flow Control on 10G
  2014-10-15 18:56   ` dom
@ 2014-10-15 23:46     ` Tantilov, Emil S
  0 siblings, 0 replies; 4+ messages in thread
From: Tantilov, Emil S @ 2014-10-15 23:46 UTC (permalink / raw)
  To: dom, Skidmore, Donald C, netdev@vger.kernel.org

>-----Original Message-----
>From: dom [mailto:dominic.curran@citrix.com]
>Sent: Wednesday, October 15, 2014 11:57 AM
>To: Tantilov, Emil S; Skidmore, Donald C;
>netdev@vger.kernel.org
>Subject: Re: ixgbe: Question about Flow Control on 10G
>
>On 10/14/2014 01:54 PM, Tantilov, Emil S wrote:
>>> -----Original Message-----
>>> From: netdev-owner@vger.kernel.org [mailto:netdev-
>>> owner@vger.kernel.org] On Behalf Of dom
>>> Sent: Tuesday, October 14, 2014 12:01 PM
>>> To: Skidmore, Donald C; netdev@vger.kernel.org
>>> Subject: ixgbe: Question about Flow Control on 10G
>>>
>>> Hi
>>>
>>> I have a question about the ixgbe driver's handling of
>>> 'ethtool -a ethX'
>>> when the NIC is using fibre.
>>>
>>> Specifically I don't understand the code introduced by this
>>> commit:
>>>
>>> commit 73d80953dfd1d5a92948005798c857c311c2834b
>>> Author: Don Skidmore <donald.c.skidmore@intel.com>
>>> Date:   Wed Jul 31 02:19:24 2013 +0000
>>> Subject: ixgbe: fix fc autoneg ethtool reporting.
>>>
>>> The function introduced the function:
>>>         ixgbe_device_supports_autoneg_fc()
>>>
>>> which gets called by
>>> ixgbe_get_pauseparam()/ixgbe_set_pauseparam().
>>>
>>> specifically there is a  case in
>>> ixgbe_device_supports_autoneg_fc()
>>>
>>>      case ixgbe_media_type_fiber_qsfp:
>>>      case ixgbe_media_type_fiber:
>>>          hw->mac.ops.check_link(hw, &speed, &link_up,
>>> false);
>>>          /* if link is down, assume supported */
>>>          if (link_up)
>>>              supported = speed == IXGBE_LINK_SPEED_1GB_FULL ?
>>>                  true : false;
>>>
>>> If link_up=1 then why is supported only true for a
>>> speed=IXGBE_LINK_SPEED_1GB_FULL ?
>>>
>>> Why is Flow Control not supported for IXGBE_LINK_SPEED_10GB_FULL ?
>> For SFP modules (media_type_fiber) flow control autoneg is not supported at 10gig.
>> You can still set flow control manually to enabled/disabled, just not autoneg.
>>
>> Thanks,
>> Emil
>Hi Emil
>
>Thank you for the quick answer.  I have a one follow-up question if I may...
>
>We noticed that back in 3.2.9 (before 73d80953dfd basically) the
>behaviour was different for 10G fibre.  i.e.  autonegotiate showed 'on'.
>
># ethtool -a eth1
>Pause parameters for eth1:
>Autonegotiate:  on
>RX:             on
>TX:             on
>
>
>The code:
>     if (hw->fc.disable_fc_autoneg ||
>         (hw->fc.current_mode == ixgbe_fc_none))
>         pause->autoneg = 0;
>     else
>         pause->autoneg = 1;
>
>So I assume this old output from 'ethtool -a' for autogen was just
>wrong, is that correct ?

Correct.

Thanks,
Emil

>
>[I'm asking cos I _know_ my h/w collegues are going to ask why the change.]
>
>Thanks again
>dom

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-10-15 23:46 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-14 19:01 ixgbe: Question about Flow Control on 10G dom
2014-10-14 20:54 ` Tantilov, Emil S
2014-10-15 18:56   ` dom
2014-10-15 23:46     ` Tantilov, Emil S

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).