From nobody@FreeBSD.org  Tue Sep  2 18:35:52 2008
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 0CFD5106567B
	for <freebsd-gnats-submit@FreeBSD.org>; Tue,  2 Sep 2008 18:35:52 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (www.freebsd.org [IPv6:2001:4f8:fff6::21])
	by mx1.freebsd.org (Postfix) with ESMTP id F28C88FC14
	for <freebsd-gnats-submit@FreeBSD.org>; Tue,  2 Sep 2008 18:35:51 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from www.freebsd.org (localhost [127.0.0.1])
	by www.freebsd.org (8.14.2/8.14.2) with ESMTP id m82IZpuY079984
	for <freebsd-gnats-submit@FreeBSD.org>; Tue, 2 Sep 2008 18:35:51 GMT
	(envelope-from nobody@www.freebsd.org)
Received: (from nobody@localhost)
	by www.freebsd.org (8.14.2/8.14.1/Submit) id m82IZplS079983;
	Tue, 2 Sep 2008 18:35:51 GMT
	(envelope-from nobody)
Message-Id: <200809021835.m82IZplS079983@www.freebsd.org>
Date: Tue, 2 Sep 2008 18:35:51 GMT
From: Wouter de Jong <maddog2k@maddog2k.net>
To: freebsd-gnats-submit@FreeBSD.org
Subject: ipv6 does not work on carp interfaces
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         127050
>Category:       kern
>Synopsis:       [carp] ipv6 does not work on carp interfaces [regression]
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    glebius
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Sep 02 18:40:05 UTC 2008
>Closed-Date:    Wed Jan 22 09:16:21 UTC 2014
>Last-Modified:  Wed Jan 22 09:16:21 UTC 2014
>Originator:     Wouter de Jong
>Release:        7.0-RELEASE
>Organization:
>Environment:
FreeBSD xxx.yyy.tld 7.0-RELEASE FreeBSD 7.0-RELEASE #0: Fri Feb 29 18:09:19 CET 2008     root@xxx.yyy.tld:/usr/obj/usr/src/sys/CARP  i386
>Description:
I tried hours to get IPv6 working on carp interfaces on FreeBSD 7.0,
without success. On FreeBSD 6.3-RELEASE, it does work ok.
>How-To-Repeat:
Basic IPv6 config :

machine1:
sysctl -w net.inet6.ip6.forwarding=1
ifconfig bge0 inet6 2001:a:b:c::2/64
route -n add -inet6 default 2001:a:b:c::fffa
 
machine2:
sysctl -w net.inet6.ip6.forwarding=1
ifconfig bge0 inet6 2001:a:b:c::3/64
route -n add -inet6 default 2001:a:b:c::fffa
 
Both addresses are pingable, and when I use either of 
them on other machines as gateway, they route fine.
 
 
So now carp :
 
machine1:
ifconfig carp1 create
ifconfig carp1 vhid 1 pass mekmitasdigoat 
ifconfig carp1 inet6 2001:a:b:c::1/64
 
machine2:
ifconfig carp1 create
ifconfig carp1 vhid 1 advskew 100 pass mekmitasdigoat 
ifconfig carp1 inet6 2001:a:b:c::1/64

carp goes succesfully to master on one machine, and to backup on another.
 
However..... i can't ping the virtual address 2001:a:b:c::1 from either
machine1 or machine2. Nor can other PC's in the network ping it or use it
as a gateway.
>Fix:


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->freebsd-net 
Responsible-Changed-By: linimon 
Responsible-Changed-When: Tue Sep 2 22:37:07 UTC 2008 
Responsible-Changed-Why:  
Over to maintainer(s). 

http://www.freebsd.org/cgi/query-pr.cgi?pr=127050 

From: Jeff Wheelhouse <jdw@wheelhouse.org>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: kern/127050: [carp] ipv6 does not work on carp interfaces [regression]
Date: Wed, 10 Sep 2008 15:02:00 -0400

 I am experiencing the identical behavior on the following releases:
 
 6.3-RELEASE-p4
 6.4-PRERELEASE (as of Sep 6)
 
 I have reproduced the problem on both amd64 and i386, on both physical  
 interfaces and VLAN interfaces.
 
 The problem is the same:
 - two machines,  both configured correctly
 - both machines can ping6 each other
 - carp configures correctly, and announcements are observed on the  
 relevant LAN via tcpdump
 - one machine goes to MASTER and one goes to BACKUP
 - an additional machine on the same LAN can ping6 both machines
 - none of the three machines can ping (or route through) the CARP IPv6  
 address
 
 However, I'm *assuming* these are the CARP announcements (since they  
 are from the right IPv6 addresses and MASTER/BACKUP status seems to  
 work:
 
 11:54:51.818511 IP6 A:B:C:D::1 > ff02::12: ip-proto-112 36
 11:54:52.855924 IP6 A:B:C:D::1 > ff02::12: ip-proto-112 36
 11:54:53.893300 IP6 A:B:C:D::1 > ff02::12: ip-proto-112 36
 11:54:54.930386 IP6 A:B:C:D::1 > ff02::12: ip-proto-112 36
 11:54:55.967965 IP6 A:B:C:D::1 > ff02::12: ip-proto-112 36
 11:54:57.004987 IP6 A:B:C:D::1 > ff02::12: ip-proto-112 36
 11:54:58.042481 IP6 A:B:C:D::1 > ff02::12: ip-proto-112 36
 
 I would be happy to help troubleshoot this problem in any way possible.
 
 Thanks,
 Jeff
 

From: =?ISO-8859-1?Q?Angelo_H=F6ngens?= <A.Hongens@netmatch.nl>
To: bug-followup@FreeBSD.org, maddog2k@maddog2k.net
Cc:  
Subject: Re: kern/127050: [carp] ipv6 does not work on carp interfaces [regression]
Date: Sat, 11 Jul 2009 12:06:30 +0200

 A few months ago I could not ping any virtual ipv6 addresses. However,
 I'm running 7.2 now, and decided to pick up this issue. Something seems
 to have changed, and I can ping at least the first ipv6 address of a
 carp interface (just not the others)
 
 
 Some more info: I have four reverse cache machines (simple Dell R300's),
 running Squid. The four machines are balanced by round robin DNS. The
 DNS publishes 4 virtual carp addresses, and each node has 4 carp
 interfaces, but is always the master over its own one. This way, up to
 three nodes can fail, and the other takes over.
 
 Works like a charm, but of course I want to enable ipv6 over the same
 infrastructure.
 
 I've configured ipv6 aliases on all interfaces, and rebooted all nodes.
 
 Now the funny thing is, I can ping all ipv4 ip's (it's been running in
 production for months), I can ping6 the the dedicated ip's of all nodes
 (2001:81:82::206:113 for the node below), and I can ping to all the
 FIRST ipv6 addresses of the carp interfaces.
 
 Could very well be something I'm doing wrong, but I think it's a bug in
 carp. (Of course I could work around it by creating 16 carp interfaces
 on each machine, but I don't know what's the best solution.)
 
 So:
 
 I can ping6 to 2001:81:82::206:81
 I can ping6 to 2001:81:82::206:82
 I can ping6 to 2001:81:82::206:83
 I can ping6 to 2001:81:82::206:84
 I can NOT ping6 to 2001:81:82::206:85
 I can NOT ping6 to 2001:81:82::206:86
 I can NOT ping6 to 2001:81:82::206:87
 I can NOT ping6 to 2001:81:82::206:88
 I can NOT ping6 to 2001:81:82::206:121
 I can NOT ping6 to 2001:81:82::206:122
 I can NOT ping6 to 2001:81:82::206:123
 I can NOT ping6 to 2001:81:82::206:124
 
 
 Here you see pings on the cluster node. Pings to :81 get answered, but
 the node does not answer of neighbor solicitaions to :85:
 
 $ sudo tcpdump -ni nic0 icmp6
 listening on nic0, link-type EN10MB (Ethernet), capture size 96 bytes
 11:54:09.846489 IP6 2001:610:6a8:0:223:6cff:fe8d:6775 >
 2001:81:82::206:81: ICMP6, echo request, seq 0, length 16
 11:54:09.846524 IP6 2001:81:82::206:81 >
 2001:610:6a8:0:223:6cff:fe8d:6775: ICMP6, echo reply, seq 0, length 16
 11:54:10.845796 IP6 2001:610:6a8:0:223:6cff:fe8d:6775 >
 2001:81:82::206:81: ICMP6, echo request, seq 1, length 16
 11:54:10.845829 IP6 2001:81:82::206:81 >
 2001:610:6a8:0:223:6cff:fe8d:6775: ICMP6, echo reply, seq 1, length 16
 11:54:11.848522 IP6 2001:610:6a8:0:223:6cff:fe8d:6775 >
 2001:81:82::206:81: ICMP6, echo request, seq 2, length 16
 11:54:11.848539 IP6 2001:81:82::206:81 >
 2001:610:6a8:0:223:6cff:fe8d:6775: ICMP6, echo reply, seq 2, length 16
 11:54:13.949889 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 11:54:14.846703 IP6 2001:81:82::206:113 > 2001:81:82::1: ICMP6, neighbor
 solicitation, who has 2001:81:82::1, length 32
 11:54:14.847034 IP6 2001:81:82::1 > 2001:81:82::206:113: ICMP6, neighbor
 advertisement, tgt is 2001:81:82::1, length 24
 11:54:14.948194 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 11:54:15.948203 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 11:54:16.954932 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 11:54:17.952257 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 11:54:18.952558 IP6 fe80::203:feff:fea0:b000 > ff02::1:ff06:85: ICMP6,
 neighbor solicitation, who has 2001:81:82::206:85, length 32
 
 I am running:
 $ uname -a
 FreeBSD balancer3.domain.local 7.2-RELEASE FreeBSD 7.2-RELEASE #0: Tue
 Jun 16 12:08:00 CEST 2009
 root@balancer3.domain.local:/usr/obj/usr/src/sys/GENERIC-CARP  amd64
 
 
 IP's below are scrambled and are not the real addresses:
 
 
 -- /etc/rc.conf -------------------------
 ifconfig_bge0_name="nic0"
 ifconfig_bge1_name="nic1"
 ipv6_enable="YES"
 
 ifconfig_nic0="inet 81.82.206.113 netmask 255.255.255.192"
 ifconfig_nic0_alias0="inet6 2001:81:82::206:113 prefixlen 48"
 ifconfig_nic1="inet 10.82.20.113 netmask 255.255.255.0"
 defaultrouter="81.82.206.65"
 ipv6_defaultrouter="2001:81:82::1"
 
 cloned_interfaces="carp0 carp1 carp2 carp3"
 
 ifconfig_carp0="vhid 103 pass blabla 81.82.206.81/26 advskew 0"
 ifconfig_carp0_alias0="inet6 2001:81:82::206:81 prefixlen 48"
 ifconfig_carp0_alias1="inet 81.82.206.85 netmask 255.255.255.192"
 ifconfig_carp0_alias2="inet6 2001:81:82::206:85 prefixlen 48"
 ifconfig_carp0_alias3="inet 81.82.206.121 netmask 255.255.255.192"
 ifconfig_carp0_alias4="inet6 2001:81:82::206:121 prefixlen 48"
 
 ifconfig_carp1="vhid 104 pass blabla 81.82.206.82/26 advskew 100"
 ifconfig_carp1_alias0="inet6 2001:81:82::206:82 prefixlen 48"
 ifconfig_carp1_alias1="inet 81.82.206.86 netmask 255.255.255.192"
 ifconfig_carp1_alias2="inet6 2001:81:82::206:86 prefixlen 48"
 ifconfig_carp1_alias3="inet 81.82.206.122 netmask 255.255.255.192"
 ifconfig_carp1_alias4="inet6 2001:81:82::206:122 prefixlen 48"
 
 fconfig_carp2="vhid 105 pass blabla 81.82.206.83/26 advskew 100"
 ifconfig_carp2_alias0="inet6 2001:81:82::206:83 prefixlen 48"
 ifconfig_carp2_alias1="inet 81.82.206.87 netmask 255.255.255.192"
 ifconfig_carp2_alias2="inet6 2001:81:82::206:87 prefixlen 48"
 ifconfig_carp2_alias3="inet 81.82.206.123 netmask 255.255.255.192"
 ifconfig_carp2_alias4="inet6 2001:81:82::206:123 prefixlen 48"
 
 ifconfig_carp3="vhid 106 pass blabla 81.82.206.84/26 advskew 100"
 ifconfig_carp3_alias0="inet6 2001:81:82::206:84 prefixlen 48"
 ifconfig_carp3_alias1="inet 81.82.206.88 netmask 255.255.255.192"
 ifconfig_carp3_alias2="inet6 2001:81:82::206:88 prefixlen 48"
 ifconfig_carp3_alias3="inet 81.82.206.124 netmask 255.255.255.192"
 ifconfig_carp3_alias4="inet6 2001:81:82::206:124 prefixlen 48"
 -----------------------------------------
 
 -- ifconfig output ----------------------
 
 nic0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric
 0 mtu 1500
         options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
         ether 00:22:19:cd:5c:e0
         inet6 fe80::222:19ff:fecd:5ce0%nic0 prefixlen 64 scopeid 0x1
         inet 81.82.206.113 netmask 0xffffffc0 broadcast 81.82.206.127
         inet6 2001:81:82::206:113 prefixlen 48
         media: Ethernet autoselect (1000baseTX <full-duplex>)
         status: active
 nic1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
         options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
         ether 00:22:19:cd:5c:e1
         inet6 fe80::222:19ff:fecd:5ce1%nic1 prefixlen 64 scopeid 0x2
         inet 10.82.20.113 netmask 0xffffff00 broadcast 10.82.20.255
         media: Ethernet autoselect (1000baseTX <full-duplex>)
         status: active
 lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
         inet6 ::1 prefixlen 128
         inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
         inet 127.0.0.1 netmask 0xff000000
 carp0: flags=49<UP,LOOPBACK,RUNNING> metric 0 mtu 1500
         inet 81.82.206.81 netmask 0xffffffc0
         inet6 2001:81:82::206:81 prefixlen 48
         inet 81.82.206.85 netmask 0xffffffc0
         inet6 2001:81:82::206:85 prefixlen 48
         inet 81.82.206.121 netmask 0xffffffc0
         inet6 2001:81:82::206:121 prefixlen 48
         carp: MASTER vhid 103 advbase 1 advskew 0
 carp1: flags=49<UP,LOOPBACK,RUNNING> metric 0 mtu 1500
         inet 81.82.206.82 netmask 0xffffffc0
         inet6 2001:81:82::206:82 prefixlen 48
         inet 81.82.206.86 netmask 0xffffffc0
         inet6 2001:81:82::206:86 prefixlen 48
         inet 81.82.206.122 netmask 0xffffffc0
         inet6 2001:81:82::206:122 prefixlen 48
         carp: BACKUP vhid 104 advbase 1 advskew 100
 carp2: flags=49<UP,LOOPBACK,RUNNING> metric 0 mtu 1500
         inet 81.82.206.83 netmask 0xffffffc0
         inet6 2001:81:82::206:83 prefixlen 48
         inet 81.82.206.87 netmask 0xffffffc0
         inet6 2001:81:82::206:87 prefixlen 48
         inet 81.82.206.123 netmask 0xffffffc0
         inet6 2001:81:82::206:123 prefixlen 48
         carp: BACKUP vhid 105 advbase 1 advskew 100
 carp3: flags=49<UP,LOOPBACK,RUNNING> metric 0 mtu 1500
         inet 81.82.206.84 netmask 0xffffffc0
         inet6 2001:81:82::206:84 prefixlen 48
         inet 81.82.206.88 netmask 0xffffffc0
         inet6 2001:81:82::206:88 prefixlen 48
         inet 81.82.206.124 netmask 0xffffffc0
         inet6 2001:81:82::206:124 prefixlen 48
         carp: BACKUP vhid 106 advbase 1 advskew 100
 
 
 -- 
 
 
 With kind regards,
 
 
>Unformatted:
