freebsd-nq/sys
Bruce M Simpson 83453a06de Add a new sysctl knob, net.inet.udp.strict_mcast_mship, to the udp_input path.
This switch toggles between strict multicast delivery, and traditional
multicast delivery.

The traditional (default) behaviour is to deliver multicast datagrams to all
sockets which are members of that group, regardless of the network interface
where the datagrams were received.

The strict behaviour is to deliver multicast datagrams received on a
particular interface only to sockets whose membership is bound to that
interface.

Note that as a matter of course, multicast consumers specifying INADDR_ANY
for their interface get joined on the interface where the default route
happens to be bound. This switch has no effect if the interface which the
consumer specifies for IP_ADD_MEMBERSHIP is not UP and RUNNING.

The original patch has been cleaned up somewhat from that submitted. It has
been tested on a multihomed machine with multiple QuickTime RTP streams
running over the local switch, which doesn't do IGMP snooping.

PR:		kern/58359
Submitted by:	William A. Carrel
Reviewed by:	rwatson
MFC after:	1 week
2003-11-12 20:17:11 +00:00
..
alpha Change the clear_ret argument of get_mcontext() to be a flags argument. 2003-11-09 20:31:04 +00:00
amd64 - Move manipulation of td_intr_nesting_level out of assembly interrupt 2003-11-12 18:13:57 +00:00
arm Add sysentvec->sv_fixlimits() hook so that we can catch cases on 64 bit 2003-09-25 01:10:26 +00:00
boot Set RB_SERIAL in boothowto if the firmware output-device is ttya or ttyb. 2003-11-11 18:01:44 +00:00
cam - Implement selwakeuppri() which allows raising the priority of a 2003-11-09 09:17:26 +00:00
coda - Implement selwakeuppri() which allows raising the priority of a 2003-11-09 09:17:26 +00:00
compat Use kern_sendit rather than sendit for the Linux send* syscalls. 2003-11-09 17:04:04 +00:00
conf avoid module name conflict with opencrypto/rijndael.c. 2003-11-12 04:22:37 +00:00
contrib This commit was generated by cvs2svn to compensate for changes in r122208, 2003-11-07 08:54:27 +00:00
crypto avoid module name conflict with opencrypto/rijndael.c. 2003-11-12 04:22:37 +00:00
ddb Reworked rev.1.14. Use the ELF symbol type again to summarily reject 2003-09-28 06:02:33 +00:00
dev Fix some typos. 2003-11-12 19:46:17 +00:00
fs Don't mess around with spare fields of public structures. 2003-11-12 09:54:07 +00:00
geom Make sure to return errors if we have any. 2003-11-12 09:46:54 +00:00
gnu Fixed a reference to a nonexistent variable in previous commit. Renaming 2003-11-05 11:56:58 +00:00
i4b Based on an excellent suggestion from tanimura@ define I4BPRI and use it 2003-11-10 14:20:34 +00:00
i386 Garbage collect unused values. 2003-11-12 18:14:34 +00:00
ia64 Remove ia64_highfp_load() now that it's unused. 2003-11-12 03:24:34 +00:00
isa - Implement selwakeuppri() which allows raising the priority of a 2003-11-09 09:17:26 +00:00
isofs/cd9660 DuH! 2003-10-18 14:10:28 +00:00
kern MNAMELEN is back to an int again after Kirk's statfs commit 2003-11-12 17:09:12 +00:00
libkern - Support for multibyte charsets in LIBICONV. 2003-09-26 20:26:25 +00:00
modules Following the repo-copy from src/sys/modules/mac_none/Makefile, 2003-11-11 21:23:54 +00:00
net - vlan_start(): Increment the correct interface statistics member. 2003-11-12 12:58:19 +00:00
net80211 fix typo that broke AP scanning by BSSID 2003-11-09 23:36:46 +00:00
netatalk o add a flags parameter to netisr_register that is used to specify 2003-11-08 22:28:40 +00:00
netatm o add a flags parameter to netisr_register that is used to specify 2003-11-08 22:28:40 +00:00
netgraph Bump the netgraph header version to 6 for the change of the name 2003-11-12 17:03:40 +00:00
netinet Add a new sysctl knob, net.inet.udp.strict_mcast_mship, to the udp_input path. 2003-11-12 20:17:11 +00:00
netinet6 cleanup rijndael API. 2003-11-11 18:58:54 +00:00
netipsec MFp4: portability work, general cleanup, locking fixes 2003-09-29 22:57:43 +00:00
netipx o add a flags parameter to netisr_register that is used to specify 2003-11-08 22:28:40 +00:00
netkey ipsec_esp_auth is unused when IPSEC_ESP is not defined. 2003-11-11 17:25:45 +00:00
netnatm o add a flags parameter to netisr_register that is used to specify 2003-11-08 22:28:40 +00:00
netncp The present defaults for the open and close for device drivers which 2003-09-27 12:01:01 +00:00
netsmb - Support for multibyte charsets in LIBICONV. 2003-09-26 20:26:25 +00:00
nfs
nfsclient 1. Consolidate mount struct allocation/destruction into a common code in 2003-11-12 02:54:47 +00:00
nfsserver Assert GIANT_REQUIRED where sockets are manipulated. This is 2003-11-07 22:57:09 +00:00
opencrypto falloc allocates a file structure and adds it to the file descriptor 2003-10-19 20:41:07 +00:00
pc98 Change the clear_ret argument of get_mcontext() to be a flags argument. 2003-11-09 20:31:04 +00:00
pccard - Implement selwakeuppri() which allows raising the priority of a 2003-11-09 09:17:26 +00:00
pci - Disable AGP on ALI chipsets if aperture size is 0. 2003-11-11 21:49:18 +00:00
posix4 sched_setscheduler: Return EINVAL when a invalid policy is specified, 2003-09-13 18:46:24 +00:00
powerpc Change the clear_ret argument of get_mcontext() to be a flags argument. 2003-11-09 20:31:04 +00:00
rpc
security Remove extraneous & to fix compile. 2003-11-12 17:21:57 +00:00
sparc64 Remove reference to sio (superseded by uart). 2003-11-11 07:49:13 +00:00
sys Fixed some style bugs (insertion sort error and extra blank line). 2003-11-12 15:07:18 +00:00
tools Changes for new SMP-safe kobj method dispatch algorithm. 2003-10-16 13:29:26 +00:00
ufs Update the statfs structure with 64-bit fields to allow 2003-11-12 08:01:40 +00:00
vm - The Open Group Base Specifications Issue 6 specifies that an munmap(2) 2003-11-10 01:37:40 +00:00
Makefile