Skip site navigation (1)Skip section navigation (2)
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>