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