+++ /dev/null
-From 59e09c68f75807d99ebcde84aa3cbfaf4d15d0d4 Mon Sep 17 00:00:00 2001
-From: Wolfgang Bumiller <w.bumiller@proxmox.com>
-Date: Tue, 19 May 2015 13:57:54 +0200
-Subject: [PATCH] totem: swap unicast and multicast bind order
-
-For some reason binding the unicast socket after the multicast socket
-renders the former inert when using ipv6 on older kernels (tested on
-3.10). This is a workaround for this issue.
----
- exec/totemudp.c | 25 +++++++++++++------------
- 1 file changed, 13 insertions(+), 12 deletions(-)
-
-diff --git a/exec/totemudp.c b/exec/totemudp.c
-index 8ed87ce..86cb330 100644
---- a/exec/totemudp.c
-+++ b/exec/totemudp.c
-@@ -761,18 +761,6 @@ static int totemudp_build_sockets_ip (
- }
-
- /*
-- * Bind to multicast socket used for multicast receives
-- */
-- totemip_totemip_to_sockaddr_convert(mcast_address,
-- instance->totem_interface->ip_port, &sockaddr, &addrlen);
-- res = bind (sockets->mcast_recv, (struct sockaddr *)&sockaddr, addrlen);
-- if (res == -1) {
-- LOGSYS_PERROR (errno, instance->totemudp_log_level_warning,
-- "Unable to bind the socket to receive multicast packets");
-- return (-1);
-- }
--
-- /*
- * Create local multicast loop socket
- */
- if (socketpair(AF_UNIX, SOCK_DGRAM, 0, sockets->local_mcast_loop) == -1) {
-@@ -870,6 +858,19 @@ static int totemudp_build_sockets_ip (
- return (-1);
- }
-
-+ /*
-+ * Bind to multicast socket used for multicast receives
-+ */
-+ totemip_totemip_to_sockaddr_convert(mcast_address,
-+ instance->totem_interface->ip_port, &sockaddr, &addrlen);
-+ res = bind (sockets->mcast_recv, (struct sockaddr *)&sockaddr, addrlen);
-+ if (res == -1) {
-+ LOGSYS_PERROR (errno, instance->totemudp_log_level_warning,
-+ "Unable to bind the socket to receive multicast packets");
-+ return (-1);
-+ }
-+
-+
- recvbuf_size = MCAST_SOCKET_BUFFER_SIZE;
- sendbuf_size = MCAST_SOCKET_BUFFER_SIZE;
- /*
---
-2.1.4
-