Subject: Re: [patch net-next 0/4] net: allow to change carrier from userspace

From: Stephen Hemminger <[email-masked]>
Date: Thu, 13 Dec 2012 10:20:51 -0800

On Thu, 13 Dec 2012 16:17:33 -0200
Flavio Leitner <[email-masked]> wrote:

> On Thu, 13 Dec 2012 10:09:33 -0800
> Stephen Hemminger <[email-masked]> wrote:
> 
> > On Thu, 13 Dec 2012 15:54:23 -0200
> > Flavio Leitner <[email-masked]> wrote:
> > 
> > > I am saying this because people are used to and there are scripts out
> > > there using something like:
> > > # ethtool <iface> | grep 'Link'
> > > to react an interface failure.
> > 
> > Then the script is broken. It is asking about hardware state.
> 
> I was talking about the team master interface, so it makes sense
> to check its 'hardware' state. Just think on 'bond0' interface
> with no slaves. It should report Link detected: no.
> 
> See bond_release(), what happens if bond->slave_cnt == 0, for instance.
> 

I was thinking more that ethtool operation for reporting link on
the team device should use the proper check rather than just using netif_carrier_ok(),
the team ethtool operation for get_link should be check IFF_RUNNING flag
in dev->flags which is controlled by operstate transistions.