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