To the good folks at Intel:

Do you need more info on how to reproduce the issue below?
Note, there are 2 issues - one being a larger ethtool semantic issue and
the other being what i perceive to be a bug in the e1000.

cheers,
jamal

On Thu, 2006-20-07 at 16:15 -0400, jamal wrote:
> I went back to this today.  I am typing this from a scribbled sticky
> note in a big hurry -  but i still believe I took the correct notes.
> 
> It does seem there is no distinction between what ethernet advertises
> for flow control capability vs what it ends up negotiating with its
> partner i.e there is some ambiguity. I havent checked tg3, this on e1000
> only.
> 
> On Fri, 2006-07-07 at 08:28 -0400, jamal wrote:
> > On Thu, 2006-06-07 at 23:59 -0700, David Miller wrote:
> > 
> > > 
> > > It's autonegotiated, check you kernel message logs when the link
> > > came up, you'll see this:
> > > 
> > > tg3: eth0: Flow control is on for TX and on for RX.
> > > 
> > 
> > yikes - yes, this would be it.
> > 
> > I  could be wrong and i will double check:
> > 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?
> 
> Semantic #1
> 
> For example, configure:
> ethtool -A eth0 rx off
> ethtool -A eth0 tx on
> 
> debopolis:~# ethtool -a eth0
> Pause parameters for eth0:
> Autonegotiate:  on
> RX:             off
> TX:             on
> 
> The other side was set to do symmetric TX flow control only.
> 
> Now enforce autonegotiation:
> ethtool -r eth0
> 
> ethtool -a eth0
> Pause parameters for eth0:
> Autonegotiate:  on
> RX:             off
> TX:             off
> 
> Ok, this is what i expected if this thing (output of ethtool) was
> supposed to store state as opposed to configuration.
> But if it is state that is stored, then what about that the values
> before autonegotian - surely that state is invalid, no?
> 
> It would be nice (for debug/usability reasons) to be able to see what i
> configured vs what i end up negotiating with the link partner. I think
> this may be an ethtool issue, but it could also be a driver issue.
> 
> I send 1 Mpps to eth0 and see no flow control packets back. good. So it
> does store state
> 
> #2: The other semantic
> 
> debopolis:~# ethtool -A eth0 rx on
> debopolis:~# ethtool -A eth0 tx on
> 
> debopolis:~# ethtool -a eth0
> Pause parameters for eth0:
> Autonegotiate:  on
> RX:             on
> TX:             on
> 
> Other side was set to do symmetric TX flow control only.
> 
> Now enforce autonegotiation:
> debopolis:~# ethtool -r eth0
> 
> lets see what we came up with:
> debopolis:~# ethtool -a eth0
> Pause parameters for eth0:
> Autonegotiate:  on
> RX:             on
> TX:             on
> 
> Now that is contradictory to #1 semantic - I would have expected this TX
> flow control on the e1000 to be off. 
> Unless it is meant to store configuration info and not what you have
> negotiated.
>  
> Trying sending traffic to the e1000 at about 1Mpps.
> I observe that the e1000 is sending out about 800Kpps of flow control
> packets back ;->
> 
> So which semantics are correct? I would claim #2 flow control behavior
> to be a bug. I just dont have time to chase a fix - hopefully whoever
> reads this from the e1000 crowd can fix it.
> 
> More importantly can we have two variables storing the two pieces on
> information separately instead of the ambiguity of just one?
> 
> 
> cheers,
> jamal

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to