Subject: Re: [e1000]: flow control on by default - good idea really?

From: Stephen Hemminger <[email-masked]>
Date: Tue, 17 Oct 2006 11:25:34 -0700

On Tue, 17 Oct 2006 09:05:31 -0400
jamal <[email-masked]> wrote:

> On Mon, 2006-16-10 at 11:55 -0700, Auke Kok wrote:
> > jamal wrote:
> 
> > > I think when the e1000 says via ethtool "rx is on" - it means that it 
> > > is _advertising_ flow control as opposed to detecting partner has flow
> > > control capability.
> > > Auke, can you also check this as well?
> > 
> > Just found this in my todo box - a bit late :(
> > 
> > yes, that appears to be the correct interpretation: we never read back the 
> > detected FC  state from the hardware.
> > 
> 
> It sounds to me that ethttool needs to have this semantic fix.
> IOW, ethttool doesnt differentiate the two items:
> a) advertised parameters.
> b) link partner negotiated parameters.
> 
> and instead #a becomes #b after negotiation.
> 
> methinks this needs fixing. Dave? Jeff?
> 
> cheers,
> jamal

If #a becomes #b after negotiation, that is a bug.
Otherwise, if imagine that connection was moved from gigabit with flow control
to 10mbit with no flow control, then back to gigabit with flow control.
You would want the advertised parameters to stay the same and not change.

I think driver need to keep track of advertising and status bits
in separate fields.

Another pet bug, is that drivers need to accept and remember ethtool
settings when offline before device is brought up. The existing if_mii 
interface doesn't do that, and so drivers that use it are broken.

-- 
Stephen Hemminger <[email-masked]>