Date: Thu, 13 Apr 2006 07:32:14 +0100 From: Bruce M Simpson <bms@spc.org> To: Stephen Clark <Stephen.Clark@seclark.us> Cc: freebsd-stable@freebsd.org Subject: Re: IP_MAX_MEMBERSHIPS Message-ID: <20060413063214.GA94628@spc.org> In-Reply-To: <443DB8A5.1020006@seclark.us> References: <443DB8A5.1020006@seclark.us>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Apr 12, 2006 at 10:34:13PM -0400, Stephen Clark wrote: > Can anyone tell me why the maximum number of members in a multicast > group is set at > 20? > Are there issues with increasing this number? Why would one wish to join more than 20 groups on a single socket? I realize making such a statement leaves me wide open to the charge of 640KB being enough for anyone, but... This limit in no way affects multicast routing, btw. Based on my reading of the code... This is a per-socket limit. The structures to support per-socket multicast group membership are simple linked lists or statically allocated arrays. The reason for this is so as not to break the ABI for struct ip_moptions which has been present since 4.4BSD. Changing this structure to not use the static allocation would probably break your kernel for modules compiled without such a change. Also there are IGMP timers involved. The other poster who replied is probably talking about a per-interface-card limit to do with the multicast hash filter on most Ethernet cards - this is a hard limit, and the driver/hardware has to either support multicast promiscuous mode (IFF_ALLMULTI) or be able to support full promiscuous mode (which may not work correctly with IP forwarding in my experience). Patches to refactor kernel multicast system gladly accepted! Regards, BMS P.S. Someone was meant to be porting IGMPv3/SSM but there were licensing issues with Apple.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060413063214.GA94628>