cvs commit: src/sys/i386/i386 nexus.c src/sys/i386/include atomic.h src/sys/kern kern_poll.c lwkt_serialize.c src/sys/net if.c if_var.h rtsock.c src/sbin/ifconfig ifconfig.c src/sys/dev/netif/dc if_dc.c src/sys/dev/netif/em if_em.c if_em.h ...
Matthew Dillon
dillon at apollo.backplane.com
Fri May 27 13:54:27 PDT 2005
:
:On Fri, May 27, 2005 at 01:31:13PM -0700, Matthew Dillon wrote:
:> Joerg, we are not making the active polling state a capability.
:> Leave it in if_flags. If anything we need to move the active
:> checksum flags to if_flags as well, and get rid of if_capenable
:> entirely.
:
:When we keep the current code (which is IMO wrong), we can't optimize
:the common and important cases of an interface supporting polling but
:not being active at all. In that case, it doesn't make sense to have
:it on the polling list and if we add another flag to use that, we
:end up exactly at the point where we have been before. The only thing
:which would have changed are more hacks in ifconfig and other places
:of the generic code and some independent cleanup we could have done
:anyway.
:
:If it wouldn't break compatibility with any lower level network program
:out there, I would remove IFF_UP and the other administrative flags
:out of if_flags. A flag bit which is partly modificable is wrong, I don't
:want to even extend the usage.
:
:Joerg
I think there's some fundamental confusion here, Joerg. We can
still have two flags, it's just that we aren't going to do it
with *THREE* flags variables (if_flags, if_capabilities, and
if_capenable).
Instead, if_capenable needs to be folded into if_flags,
representing the current active set, and if_capabilities
needs to simply reflect which flags are supported.
So if_capenable needs to be removed, and the IFCAP_* defines
need to be removed. We would be left with if_flags and
if_capabilities, and both variables would be represented
by the IFF_ flags.
-Matt
Matthew Dillon
<dillon at xxxxxxxxxxxxx>
More information about the Commits
mailing list