Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 27 Jan 2006 00:39:27 -0700 (MST)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        rizzo@icir.org
Cc:        current@freebsd.org
Subject:   Re: if_flags usage etc.
Message-ID:  <20060127.003927.08393947.imp@bsdimp.com>
In-Reply-To: <20060126225244.B37507@xorpc.icir.org>
References:  <20060124075437.B67285@xorpc.icir.org> <20060126.210322.56187611.imp@bsdimp.com> <20060126225244.B37507@xorpc.icir.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20060126225244.B37507@xorpc.icir.org>
            Luigi Rizzo <rizzo@icir.org> writes:
: On Thu, Jan 26, 2006 at 09:03:22PM -0700, M. Warner Losh wrote:
: > In message: <20060124075437.B67285@xorpc.icir.org>
: >             Luigi Rizzo <rizzo@icir.org> writes:
: > : - some drivers try to manipulate flags that they should not e.g.
: > : 	if_ed
: > : 		sets IFF_ALTPHYS (IFF_LINK*, but it is almost a capability here)
: > 
: > Why is this wrong?
: 
: if possible, i think each IFF_ flag should be modified only by one entity (the
: stack or the driver). This way you can split them into different variables
: and reduce the amount of synchronization required to access them.
: 
: The link flags are kind-of special in that some drivers use them to request
: a specific media, others (e.g. ed here, but some others too) to report up
: whatever they found by probing the link.
: 
: I guess (though haven't looked in detail) that the "mii" approach has
: a cleaner way to deal with these issues.

Actually, the ifmedia approach has a cleaner way of dealing.  mii uses
ifmedia.  ifmedia reports all the possible media types to ifconfig,
and then reports its status.  mii has a nearly identical way of
doing this for devices with mii busses, or pseudo mii busses.

ed should likely be fully converted to using ifmedia, but I'm not sure
I want to risk breaking ISA cards that I don't have access to to make
it so.  I just don't have the time...

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060127.003927.08393947.imp>