Date: Wed, 7 Jul 2004 20:25:24 +0000 (GMT) From: wpaul@FreeBSD.ORG (Bill Paul) To: sam@errno.com (Sam Leffler) Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/compat/ndis ndis_var.h subr_ndis.c src/sys/dev/if_ndis if_ndis.c if_ndisvar.h Message-ID: <20040707202524.348ED16A4CF@hub.freebsd.org> In-Reply-To: <200407071221.54962.sam@errno.com> from Sam Leffler at "Jul 7, 2004 12:21:54 pm"
next in thread | previous in thread | raw e-mail | index | archive | help
> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040707202524.348ED16A4CF>