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)



The following reply was made to PR kern/47013; it has been noted by GNATS.

From: Manuel Bouyer <bouyer%antioche.eu.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc: kern-bug-people%NetBSD.org@localhost, gnats-admin%NetBSD.org@localhost, 
netbsd-bugs%NetBSD.org@localhost
Subject: Re: kern/47013: carp device misbehaving with ipv6 alias (ip6_output
 failed: 65 / HOSTUNREACH)
Date: Sun, 30 Sep 2012 19:21:59 +0200

 --7JfCtLOvnd9MIVvH
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: inline
 
 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
 --
 
 --7JfCtLOvnd9MIVvH
 Content-Type: text/plain; charset=us-ascii
 Content-Disposition: attachment; filename="carp.diff"
 
 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;
 
 --7JfCtLOvnd9MIVvH--
 


Home | Main Index | Thread Index | Old Index