cvs commit: src/sys/net if.c if_arcsubr.c if_arp.h if_bridge.c if_ef.c if_ethersubr.c if_fddisubr.c if_fwsubr.c if_iso88

Bill Paul wpaul at FreeBSD.ORG
Sun Nov 13 21:23:45 GMT 2005


>     sys/compat/ndis      subr_ndis.c 


>   - Store pointer to the link-level address right in "struct ifnet"
>     rather than in ifindex_table[]; all (except one) accesses are
>     through ifp anyway.  IF_LLADDR() works faster, and all (except
>     one) ifaddr_byindex() users were converted to use ifp->if_addr.
>   - Stop storing a (pointer to) Ethernet address in "struct arpcom",
>     and drop the IFP2ENADDR() macro; all users have been converted
>     to use IF_LLADDR() instead.

For the umpity umpth time: I'm trying to keep it so that the same
NDIS code will compile on 7.x, 6.x and 5.x. Having one set of code
means I don't need to go nuts doing merges from one branch to the
next: I can just pull the files over and be done with it. You did
not consider this when modifying subr_ndis.c, and now you have broken
it for the 6.x and 5.x branches. More importantly, you broke it in
a very subtle way that only shows up as a kernel panic a runtime.

I don't mind if people make necessary updates to the NDIS code, but I
do mind it very much when people mess up the interoperability between
branches that I've tried very hard to maintain.

In the future, you will not make any changes to any of this code
unless you can guarantee it will remain backwards compatible. You don't
have to do the MFCs yourself, but you do have to fix it so that the
code can be dropped directly into an earlier branch and still build
and run. If you don't think you can do this, tell me about it first
and I'll do it.


-Bill Paul            (510) 749-2329 | Senior Engineer, Master of Unix-Fu
                 wpaul at | Wind River Systems
              <adamw> you're just BEGGING to face the moose

More information about the cvs-src mailing list