NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/47013: carp device misbehaving with ipv6 alias (ip6_output failed: 65 / HOSTUNREACH)



On Thu, Sep 27, 2012 at 07:40:00PM +0000, support@net01.malaiwah.local wrote:
>       I have two servers configured with a carp interface that has both IPv4 
> and IPv6 addresses.
>       The second server (advskew 100) is trying to take over the first one 
> every couple of seconds; it looks like this is happenning since I added the 
> IPv6 alias to the carp interface.
>       The network traces are showing that the first server is really 
> advertising every second, but somehow the second server is still trying to 
> take over the interface IPs.

I'm running with the attached hack on a IPv4+IPv6 setup. It seems that,
for some reason, ipv6 advertisements are ignored. This won't work in a
ipv6-only setup.

-- 
Manuel Bouyer <bouyer%antioche.eu.org@localhost>
     NetBSD: 26 ans d'experience feront toujours la difference
--
Index: ip_carp.c
===================================================================
RCS file: /cvsroot/src/sys/netinet/ip_carp.c,v
retrieving revision 1.26.10.2
diff -u -r1.26.10.2 ip_carp.c
--- ip_carp.c   9 Jun 2009 17:31:46 -0000       1.26.10.2
+++ ip_carp.c   30 Sep 2012 17:18:07 -0000
@@ -1041,7 +1041,7 @@
                }
        }
 #endif /* INET */
-#ifdef INET6
+#ifdef INET6_notyet
        if (sc->sc_naddrs6) {
                struct ip6_hdr *ip6;
 
@@ -1445,7 +1445,7 @@
                        callout_schedule(&sc->sc_md_tmo, tvtohz(&tv));
                        break;
 #endif /* INET */
-#ifdef INET6
+#ifdef INET6_notyet
                case AF_INET6:
                        callout_schedule(&sc->sc_md6_tmo, tvtohz(&tv));
                        break;
@@ -1453,8 +1453,10 @@
                default:
                        if (sc->sc_naddrs)
                                callout_schedule(&sc->sc_md_tmo, tvtohz(&tv));
+#ifdef notyet
                        if (sc->sc_naddrs6)
                                callout_schedule(&sc->sc_md6_tmo, tvtohz(&tv));
+#endif
                        break;
                }
                break;


Home | Main Index | Thread Index | Old Index