Interface index hack in IP_ADD_MEMBERSHIP
Bruce M Simpson
bms at incunabulum.net
Tue Apr 10 05:35:42 UTC 2007
Yar Tikhiy wrote:
> Quagga still uses it, too, if its configure script detects FreeBSD
> or NetBSD. I'm afraid it was me who submitted the patch to the
> Quagga folks when I'd found that Quagga's ospfd couldn't handle
> unnumbered P2P interfaces in FreeBSD because their local IPs weren't
> unique. Unfortunately, Quagga doesn't seem to use the protocol
> independent part of the RFC 3678 API yet.
>
A preliminary patch for the Rhyolite.com routed is available at:
http://people.freebsd.org/~bms/dump/routed.rfc3678.diff
The upcoming rewrite of IPv4 multicast host-mdoe logic (currently in
bms_netdev) adds support for the Linux-derived 'struct ip_mreqn' for
specifying interface indexes to IP_MULTICAST_IF. The RFC 3678 API is
implemented; IGMPv3 and MLDv2 may be hooked in later on subject to
available resources.
The RFC 1724 hack has been completely removed from the kernel in this
spin. The new code passes the existing regression tests for any-source
multicast. I hope to have source-specific multicast regression tests in
the main tree ASAP, I am very close to a code drop.
Whilst the radical approach of rewriting this stuff may break legacy
applications, they should probably be updated to support the new APIs
anyway, given that Linux 2.6 and Microsoft Windows "Longhorn" both
support RFC 3678.
Regards,
BMS
More information about the freebsd-net
mailing list