* Flow control config vs status
@ 2011-10-07 21:19 Matt Carlson
2011-10-07 21:38 ` Ben Hutchings
0 siblings, 1 reply; 2+ messages in thread
From: Matt Carlson @ 2011-10-07 21:19 UTC (permalink / raw)
To: Ben Hutchings; +Cc: netdev
Hi Ben. I've been encountering with a small problem with how ethtool
handles flow control settings.
When the admin runs 'ethtool -A ...', ethtool will run an
ETHTOOL_GPAUSEPARAM query, check the new settings against the 'old',
and then issue ETHTOOL_SPAUSEPARAM if they don't match. My problem is
that the tg3 driver returns the flow control status in a
ETHTOOL_GPAUSEPARAM query, not the configuration.
So, as an example of the problem, if the local side sets
'ethtool -A ethx rx on tx on autoneg on', and then the remote side sets
'ethtool -A ethy rx off tx off autoneg off', the link will autoneg to rx
off, tx off. Then, the local side will be unable to turn off rx or tx
flow control because ethtool will act on the current link flow control
status, not the config.
The tg3 isn't the only driver that reports flow control status through
ETHTOOL_GPAUSEPARAM. The e1000e, bnx2, and bnx2x drivers do this as
well.
The ETHTOOL_GSET query does make room for flow control advertisements,
but a device doesn't have to advertise its flow control settings if flow
control autoneg is turned off. I'm thinking this interface doesn't
really solve the problem.
Any recommendations?
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Flow control config vs status
2011-10-07 21:19 Flow control config vs status Matt Carlson
@ 2011-10-07 21:38 ` Ben Hutchings
0 siblings, 0 replies; 2+ messages in thread
From: Ben Hutchings @ 2011-10-07 21:38 UTC (permalink / raw)
To: Matt Carlson; +Cc: netdev
On Fri, 2011-10-07 at 14:19 -0700, Matt Carlson wrote:
> Hi Ben. I've been encountering with a small problem with how ethtool
> handles flow control settings.
>
> When the admin runs 'ethtool -A ...', ethtool will run an
> ETHTOOL_GPAUSEPARAM query, check the new settings against the 'old',
> and then issue ETHTOOL_SPAUSEPARAM if they don't match. My problem is
> that the tg3 driver returns the flow control status in a
> ETHTOOL_GPAUSEPARAM query, not the configuration.
That's a bug in the driver.
> So, as an example of the problem, if the local side sets
> 'ethtool -A ethx rx on tx on autoneg on', and then the remote side sets
> 'ethtool -A ethy rx off tx off autoneg off', the link will autoneg to rx
> off, tx off. Then, the local side will be unable to turn off rx or tx
> flow control because ethtool will act on the current link flow control
> status, not the config.
>
> The tg3 isn't the only driver that reports flow control status through
> ETHTOOL_GPAUSEPARAM. The e1000e, bnx2, and bnx2x drivers do this as
> well.
>
> The ETHTOOL_GSET query does make room for flow control advertisements,
> but a device doesn't have to advertise its flow control settings if flow
> control autoneg is turned off.
But if flow control autoneg is off then ETHTOOL_GPAUSEPARAM / ethtool -a
already tells you all you need to know.
> I'm thinking this interface doesn't really solve the problem.
>
> Any recommendations?
ethtool -a should always show the administrative configuration. If it
shows that flow control autoneg is on, the administrator can then run
ethtool with no options to see what the link partner advertised.
Now, not everyone has memorised IEEE 802.3 table 28B-3, so maybe if
autoneg is enabled then 'ethtool -a' should also call ETHTOOL_GSET and
work out and display the result of autonegotiation of flow control.
That would have to be conditional on lp_advertising being non-zero.
Ben.
--
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-10-07 21:38 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-10-07 21:19 Flow control config vs status Matt Carlson
2011-10-07 21:38 ` Ben Hutchings
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).