freebsd-skq/sys/net
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
..
bpf_compat.h
bpf_filter.c
bpf.c update ATM driver. (base version: midway.c 1.67 --> 1.68) 1998-07-29 05:35:16 +00:00
bpf.h Don't attempt to optimize the space allocated for bpf headers if 1998-07-13 10:44:02 +00:00
bpfdesc.h
bsd_comp.c
ethernet.h
fddi.h
hostcache.c
hostcache.h
if_arp.h
if_atm.h update ATM driver. (base version: midway.c 1.67 --> 1.68) 1998-07-29 05:35:16 +00:00
if_atmsubr.c update ATM driver. (base version: midway.c 1.67 --> 1.68) 1998-07-29 05:35:16 +00:00
if_disc.c This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
if_dl.h
if_ethersubr.c fix broken loopback code for ddp (again) 1998-08-04 23:17:05 +00:00
if_fddisubr.c Removed unused includes. 1998-06-21 14:53:44 +00:00
if_llc.h
if_loop.c Make sure the packet is aligned correctly for the alpha in if_simloop. 1998-07-12 16:46:52 +00:00
if_media.c
if_media.h
if_mib.c
if_mib.h
if_ppp.c Merge ppp changes from 2.3.3 -> 2.3.5. I have spotted some more 1998-06-20 16:28:04 +00:00
if_ppp.h
if_pppvar.h This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
if_sl.c Cast pointers to uintptr_t/intptr_t instead of to u_long/long, 1998-07-15 02:32:35 +00:00
if_slvar.h
if_sppp.h
if_spppsubr.c Removed unused includes. 1998-06-21 14:53:44 +00:00
if_tun.c This commit fixes various 64bit portability problems required for 1998-06-07 17:13:14 +00:00
if_tun.h
if_tunvar.h
if_types.h
if_var.h Go through the loopback code with a broom.. 1998-06-12 03:48:19 +00:00
if_vlan_var.h
if_vlan.c Fix an obvious parameter-order bogon. (Don't know what happened to 1998-05-15 20:02:47 +00:00
if.c One-liner: add a call to the underlying device driver's SIOCDELMULTI 1998-08-12 22:51:59 +00:00
if.h
netisr.h Fixed pedantic syntax errors caused by a trailing semicolon in a macro 1998-06-07 11:52:17 +00:00
ppp_comp.h Merge ppp changes from 2.3.3 -> 2.3.5. I have spotted some more 1998-06-20 16:28:04 +00:00
ppp_deflate.c Zap what appears to be a relic of the older version of zlib. The other 1998-06-20 16:55:44 +00:00
ppp_defs.h
ppp_tty.c Missing splx(). 1998-06-20 16:39:35 +00:00
radix.c Fixed printf format errors. 1998-07-11 10:51:01 +00:00
radix.h
raw_cb.c Added a used include (in ifdefed code). 1998-06-07 12:02:59 +00:00
raw_cb.h
raw_usrreq.c
route.c
route.h
rtsock.c
slcompress.c Cast pointers to uintptr_t/intptr_t instead of to u_long/long, 1998-07-15 02:32:35 +00:00
slcompress.h Merge ppp changes from 2.3.3 -> 2.3.5. I have spotted some more 1998-06-20 16:28:04 +00:00
slip.h
zlib.c Merge ppp changes from 2.3.3 -> 2.3.5. I have spotted some more 1998-06-20 16:28:04 +00:00
zlib.h