> On 17 Dec 2022, at 16:06, Ondrej Zajicek <[email protected]> wrote: > > On Sat, Dec 17, 2022 at 01:27:23PM +0000, Alexander Chernikov wrote: >>>> * 0002-FreeBSD-use-interface-index-instead-of-IP-address-wh.patch switches >>>> multicast interface specification from ip address to interface index. That >>>> allows to avoid iface->sysdep value, which is not filled by netlink. >>> >>> Nice. Is this supported since long ago, or does it require some recent BSD >>> version? >>> Do you know whether it is supported also in other BSD flavors? >> >> It’s a bit complicated :-) >> >> FreeBSD: >> IP_MULTICAST_IF - ip_mreqn support was added in [1] @ 2007. >> IP_<ADD|DEL>_MEMBERSHIP - ip_mreqn support was added in [2] @ 2019 / FreeBSD >> 12.1. All currently supported FreeBSD versions have this functionality in >> place >> >> OpenBSD: >> IP_MULTICAST_IF - ip_mreqn support was added in [3] @ 2021 >> IP_<ADD|DEL>_MEMBERSHIP - ip_mreqn support was added in [4] @ 2021 >> >> NetBSD: >> IP_MULTICAST_IF, IP_<ADD|DEL>_MEMBERSHIP uses old API hack, treating 0/8 >> IPv4 addresses as ifindex. It was added in [5] @ 2001 > > Thanks for the overview! > > So we can assume that the ip_mreqn API is available since FreeBSD 12.1 > and OpenBSD 6.9 and enable CONFIG_USE_IP_MREQN based on __FreeBSD_version It’s certainly correct for FreeBSD (_FreeBSD_version >= 1201000) > and OpenBSD version macros? Probably.
> > I generally prefer to keep old system compatibility code for ~ 5 years, > although it makes more sense on Linux, where are some LTS distributions > with similar long-term commitments, than on BSD. Yep, that makes great sense. > > -- > Elen sila lumenn' omentielvo > > Ondrej 'Santiago' Zajicek (email: [email protected]) > OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) > "To err is human -- to blame it on a computer is even more so."
