if_flags usage etc.
M. Warner Losh
imp at bsdimp.com
Thu Jan 26 23:40:50 PST 2006
In message: <20060126225244.B37507 at xorpc.icir.org>
Luigi Rizzo <rizzo at icir.org> writes:
: On Thu, Jan 26, 2006 at 09:03:22PM -0700, M. Warner Losh wrote:
: > In message: <20060124075437.B67285 at xorpc.icir.org>
: > Luigi Rizzo <rizzo at 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
More information about the freebsd-current
mailing list