cvs commit: src/sys/compat/ndis ndis_var.h subr_ndis.c src/sys/dev/if_ndis if_ndis.c if_ndisvar.h

Bill Paul wpaul at FreeBSD.ORG
Wed Jul 7 13:25:24 PDT 2004


> This "new behaviour" is many many months old (assuming it's what I think it 
> is).  The if_init routine is only called by the 802.11 ioctl routine when you 
> mark the interface up to avoid forcing a device initialization (and run of 
> the 802.11 state machine) on every ioctl that's done before marking the if 
> up. This is done based on the setting of the IFF_UP flag.  In general IFF_UP 
> means the interface is "ready for traffic to flow".  A device should be 
> capable of editing it's multicast state as soon as it marks itself 
> IFF_RUNNING.
> 
> 	Sam

Yeah, but the device can't mark itself IFF_RUNNING until you call
ifp->if_init(), and we don't call ifp->if_init() until the SIOCSIFFLAGS
ioctl, which happens _after_ the SIOCADDMULTI ioctl(s).

-Bill


More information about the cvs-all mailing list