tipc: fix build issue when building without IPv6
authorMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Thu, 19 Mar 2015 19:47:58 +0000 (16:47 -0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 19 Mar 2015 20:06:27 +0000 (16:06 -0400)
We can't directly call ipv6_sock_mc_join() but should use the stub
instead and protect it around IS_ENABLED.

Fixes: d0f91938bede ("tipc: add ip/udp media type")
Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/tipc/udp_media.c

index 04836dd..ac89101 100644 (file)
@@ -44,6 +44,7 @@
 #include <net/sock.h>
 #include <net/ip.h>
 #include <net/udp_tunnel.h>
+#include <net/addrconf.h>
 #include <linux/tipc_netlink.h>
 #include "core.h"
 #include "bearer.h"
@@ -247,10 +248,13 @@ static int enable_mcast(struct udp_bearer *ub, struct udp_media_addr *remote)
                mreqn.imr_multiaddr = remote->ipv4;
                mreqn.imr_ifindex = ub->ifindex;
                err = ip_mc_join_group(sk, &mreqn);
+#if IS_ENABLED(CONFIG_IPV6)
        } else {
                if (!ipv6_addr_is_multicast(&remote->ipv6))
                        return 0;
-               err = ipv6_sock_mc_join(sk, ub->ifindex, &remote->ipv6);
+               err = ipv6_stub->ipv6_sock_mc_join(sk, ub->ifindex,
+                                                  &remote->ipv6);
+#endif
        }
        return err;
 }