]> git.proxmox.com Git - mirror_frr.git/commit
lib: update Solaris multicast API (BZ#725)
authorChristian Franke <chris@opensourcerouting.org>
Mon, 14 Jan 2013 22:41:57 +0000 (23:41 +0100)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 23 Sep 2016 16:12:16 +0000 (12:12 -0400)
commite6f8d09592499a659b73661b23ef4dc0e47f579a
tree729606dec716b030c2835097a5e7366de268a051
parent1dec2166deabab95572bcf68d4e73a00460bc32e
lib: update Solaris multicast API (BZ#725)

On OpenIndiana/Solaris the build fails with "unsupported multicast API".
It's only in the IPv4 part where setsockopt IP_MULTICAST_IF needs a
local address and not the index (IPv6 wants the index).
The following code walks the list of interfaces until it finds the matching
index and uses the interface's local address for the setsockopt call.
I don't know if it works on Solaris < 10 (I guess yes, but I don't have
any machine to verify it).

[NB: this breaks unnumbered setups that use the same IPv4 address on
multiple interfaces. -- equinox@opensourcerouting.org]

Reported-by: Brian Utterback <brian.utterback@oracle.com>
Signed-off-by: Christian Franke <chris@opensourcerouting.org>
Patchwork #762
lib/sockopt.c