mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-07 05:42:21 +00:00
pimd: don't break with missing SO_BINDTODEVICE
This effectively a partial revert of commit 61ea395... "pimd: Bind pim sockets to interface they are associated with" Note this isn't really a proper fix, it just clears the build breakage on BSD without improving the usage of multiple sockets. Reported-by: Martin Winter <mwinter@opensourcerouting.org> Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
This commit is contained in:
parent
120c658793
commit
6bcd6029f1
@ -79,6 +79,7 @@ int pim_socket_mcast(int protocol, struct in_addr ifaddr, int ifindex, int loop)
|
|||||||
return PIM_SOCK_ERR_SOCKET;
|
return PIM_SOCK_ERR_SOCKET;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef SO_BINDTODEVICE
|
||||||
if (protocol == IPPROTO_PIM)
|
if (protocol == IPPROTO_PIM)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
@ -104,7 +105,10 @@ int pim_socket_mcast(int protocol, struct in_addr ifaddr, int ifindex, int loop)
|
|||||||
return PIM_SOCK_ERR_BIND;
|
return PIM_SOCK_ERR_BIND;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
/* XXX: use IP_PKTINFO / IP_RECVIF to emulate behaviour? Or change to
|
||||||
|
* only use 1 socket for all interfaces? */
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Needed to obtain destination address from recvmsg() */
|
/* Needed to obtain destination address from recvmsg() */
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user