IP_MAX_MEMBERSHIPS

来源:百度文库 编辑:神马文学网 时间:2024/04/28 11:47:09

IP_MAX_MEMBERSHIPS

Stephen Clark Stephen.Clark at seclark.us
Thu Apr 13 13:02:34 UTC 2006

  • Previous message: IP_MAX_MEMBERSHIPS
  • Next message: IP_MAX_MEMBERSHIPS
  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

Bruce M Simpson wrote:>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.>>>Well I was trying to set up an ospf system with more than 20 neighborsand could only get 20 neighors to show up in quagga, so I posed thequestion to the quagga mailing list and gotthe following responses:1)Hi Steve,I think you might be hitting the IGMP limit.  The 244.0.0.5/6multicast address is joined using IGMP and there is a kernel variablethat needs to get bumped up higher to peer with more than 20neighbors.  I'm fuzzy on this 'cuz I haven't seen anyone post thisparticular problem in a while.cat /proc/sys/net/ipv4/igmp_max_memberships20Bump it up to whatever number is higher than your max. neighbor count.-KrisKris Olanderkriso at packetdesign.com2)Hmm... ok on a 4.8 Freebsd system I see the following in the kernelbuild area:/usr/src/sys# grep -i membership */* | grep -i maxnetinet/icmp6.h:#define icmp6_maxdelay  icmp6_data16[0]         /*mcast group membership */netinet/in.h:#define    IP_MAX_MEMBERSHIPS      20      /* per socket */netinet/ip_output.c:            if (i == IP_MAX_MEMBERSHIPS) {netinet/ip_var.h:       struct  in_multi *imo_membership[IP_MAX_MEMBERSHIPS];I wonder if IP_MAX_MEMBERSHIP is the right parameter that needsbumping up.  I suppose you could give it a try and see if changingthis value (and then building a new kernel) increases the IGMPmembership too.  I don't see why it would cause any harm.  Anyonewith more FreeBSD kernel experience want to chime in?-KO (Kris Olander)When I bumped the limit and recompiled my kernel I saw all my neighborslisted whenI queried ospfd.So my assumption was that this limit was affecting how many neighbors Icould have.Steve--"They that give up essential liberty to obtain temporary safety,deserve neither liberty nor safety."  (Ben Franklin)"The course of history shows that as a government grows, libertydecreases."  (Thomas Jefferson)

  • Previous message: IP_MAX_MEMBERSHIPS
  • Next message: IP_MAX_MEMBERSHIPS
  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

More information about the freebsd-stable mailing list