]> git.puffer.fish Git - mirror/frr.git/commit
lib: fix setting of IPv4 multicast sockopts on OpenBSD
authorRenato Westphal <renato@opensourcerouting.org>
Thu, 4 Aug 2016 13:07:26 +0000 (10:07 -0300)
committerDonald Sharp <sharpd@cumulusnetwroks.com>
Mon, 8 Aug 2016 01:05:26 +0000 (21:05 -0400)
commit4a3867d0d331ab64311f517bfb39bddfc933c9ee
treebbfb0e3efa099b216058d16937ec442d1d085a37
parent288b91e0bdf99bd835ce82905415011f77ce5a62
lib: fix setting of IPv4 multicast sockopts on OpenBSD

OpenBSD doesn't support the "ifindex hack" derived from RFC 1724 which
allows an ifindex to be encoded in the imr_interface field (in_addr)
of the ip_mreq structure. OpenBSD also doesn't support the RFC3678
Protocol-Independent socket API extensions, which allows an interface
to be specified by its ifindex. With that said, in OpenBSD we still need
to specify an interface by its IP address. This patch adds an exception
in the multicast sockopt functions to handle this case.

Signed-off-by: Renato Westphal <renato@opensourcerouting.org>
lib/sockopt.c
lib/sockopt.h
ospfd/ospf_network.c
ripd/rip_interface.c