cvs commit: src/sys/netinet in.h ip_output.c ip_var.h
maxim at macomnet.ru
Mon Jun 26 22:46:53 UTC 2006
On Sun, 14 May 2006, 14:22-0000, Bruce M Simpson wrote:
> bms 2006-05-14 14:22:49 UTC
> FreeBSD src repository
> Modified files:
> sys/netinet in.h ip_output.c ip_var.h
> Fix a long-standing limitation in IPv4 multicast group membership.
> By making the imo_membership array a dynamically allocated vector,
> this minimizes disruption to existing IPv4 multicast code. This
> change breaks the ABI for the kernel module ip_mroute.ko, and may
> cause a small amount of churn for folks working on the IGMPv3 merge.
> Previously, sockets were subject to a compile-time limitation on
> the number of IPv4 group memberships, which was hard-coded to 20.
> The imo_membership relationship, however, is 1:1 with regards to
> a tuple of multicast group address and interface address. Users who
> ran routing protocols such as OSPF ran into this limitation on machines
> with a large system interface tree.
It seems these changes broke carp(4). Now ifconfig carp0 <ip address>
panics in ip_carp.c::carp_set_addr() when tries to dereference
imo->imo_membership when imo->imo_membership == NULL.
More information about the cvs-src