freebsd with flexible iflib nic queues
Go to file
Bill Paul c7323482f4 One-liner: add a call to the underlying device driver's SIOCDELMULTI
ioctl() routine at the end of if_delmulti() so that interfaces with
hardware multicast filtering can update their filters in a timely
manner.

If the interface doesn't support hardware multicast filtering, then
reception of multicast frames is done using 'promiscious mode' or
'capture all multicast frames' mode and software filtering in the
kernel. In this case, it doesn't matter if if_delmulti() ever does
an SCIODELMULTI on the interface or not: if MULTICAST support is
enabled, then we join the 'all hosts' group when the interface is
configured, and remain in it until the interface is brought down.
Without hardware filtering, joining one group means joining all
groups, so it makes no difference if we call the SIOCDELMULTI
routine.

If the interface does support hardware multicast filtering, then
by not reprogramming the hardware filter in if_delmulti(), we have
to wait until somebody calls if_setmulti(), during which time the
interface is receiving frames for multicast groups in which we are
no longer interested.
1998-08-12 22:51:59 +00:00
bin Silence some warnings when building on the alpha. 1998-08-07 09:39:11 +00:00
contrib Handle the case of moving a directory onto the top of a sibling's 1998-08-12 20:46:47 +00:00
crypto Fix nasty typo that randomly caused kinit to not properly deduce the 1998-03-29 07:27:43 +00:00
etc Make /etc/security bitch about passwordless accounts. 1998-08-11 08:48:54 +00:00
games Revert the last commit, it made the Bruce filter flip: 1998-08-09 10:36:25 +00:00
gnu PR: 7488 1998-08-05 03:44:46 +00:00
include Move the include of <machine/ansi.h> to before <sys/signal.h>. 1998-08-05 08:51:48 +00:00
kerberos5 Fix a break in the includes where the build blows chunks if it is 1997-10-02 15:03:23 +00:00
kerberosIV Debogotify. ln -f should be ln -s to allow the obj/ dir to be 1998-03-28 07:47:05 +00:00
lib Add missing initialization of the length variable passed to 1998-08-12 20:29:29 +00:00
libexec Fix LIBDIR (for aout/ELF). 1998-08-06 21:41:13 +00:00
lkm The daemon, snake and star savers should refuse to load if the current 1998-08-06 09:14:26 +00:00
release Bump this one more time before going on a witch hunt for space. 1998-08-12 11:49:22 +00:00
sbin Forgot to remove a ';' in my previous commit. 1998-08-12 06:07:43 +00:00
secure Connect up sendmail-8.9.1 1998-08-04 15:24:04 +00:00
share Merge 1.227.2.45 (perl version substitution in PLIST). 1998-08-12 09:47:47 +00:00
sys One-liner: add a call to the underlying device driver's SIOCDELMULTI 1998-08-12 22:51:59 +00:00
tools Add mid scripts. Mid is a tool which create a Message-ID database 1998-05-20 09:20:02 +00:00
usr.bin Merge from stable: support for the o, order, command 1998-08-12 09:58:15 +00:00
usr.sbin Be careful about using ``.Bd -literal'' as groff sometimes keeps 1998-08-11 18:59:36 +00:00
COPYRIGHT This is the official 4.4 Lite copyright. 1994-09-11 07:53:28 +00:00
Makefile Fully enable the optimization of not building dependencies unless NOCLEAN 1998-08-04 17:13:38 +00:00
Makefile.alpha Add perl to the list of build tools because it is needed to build the 1998-05-12 23:11:58 +00:00
README Re-alphabetize and update the subdir descriptions. 1998-06-30 08:08:05 +00:00

This is the top level of the FreeBSD source directory.  This file
was last revised on: $Id: README,v 1.11 1997/08/09 14:36:20 jkh Exp $

For copyright information, please see the file COPYRIGHT in this
directory (additional copyright information also exists for some
sources in this tree - please see the specific source directories for
more information).

The Makefile in this directory supports a number of targets for
building components (or all) of the FreeBSD source tree, the most
commonly used one being ``world'', which rebuilds and installs
everything in the FreeBSD system from the source tree except the
kernel and the contents of /etc.  Please see the top of the Makefile
in this directory for more information on the standard build targets
and compile-time flags.

Building a kernel with config(8) is a somewhat more involved process,
documentation for which can be found at:
   http://www.freebsd.org/handbook/kernelconfig.html
And in the config(8) man page.

The sample kernel configuration files reside in the sys/i386/conf
sub-directory (assuming that you've installed the kernel sources), the
file named GENERIC being the one used to build your initial installation
kernel.  The file LINT contains entries for all possible devices, not
just those commonly used, and is meant more as a general reference
than an actual kernel configuration file (a kernel built from it
wouldn't even run).


Source Roadmap:
---------------
bin		System/User commands.

contrib		Packages contributed by 3rd parties.

crypto		Export controlled stuff (see crypto/README).

etc		Template files for /etc

games		Amusements.

gnu		Various commands and libraries under the GNU Public License.
		Please see gnu/COPYING* for more information.

include		System include files.

kerberosIV	Kerberos package - also export controlled.

lib		System libraries.

libexec		System daemons.

lkm		Loadable Kernel Modules.

release		Release building Makefile & associated tools.

sbin		System commands.

secure		DES and DES-related utilities - NOT FOR EXPORT!

share		Shared resources.

sys		Kernel sources.

tools		Utilities for regression testing and miscellaneous tasks.

usr.bin		User commands.

usr.sbin	System administration commands.


For information on synchronizing your source tree with one or more of
the FreeBSD Project's development branches, please see:

  http://www.freebsd.org/handbook/synching.html