Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Jul 2009 10:10:06 GMT
From:      =?ISO-8859-1?Q?Angelo_H=F6ngens?= <A.Hongens@netmatch.nl>
To:        freebsd-net@FreeBSD.org
Subject:   Re: kern/127050: [carp] ipv6 does not work on carp interfaces [regression]
Message-ID:  <200907111010.n6BAA6C3077941@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/127050; it has been noted by GNATS.

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,
 
 
 Angelo Höngens
 
 Systems Administrator
 
 ------------------------------------------
 NetMatch
 tourism internet software solutions
 
 Ringbaan Oost 2b
 5013 CA Tilburg
 T: +31 (0)13 5811088
 F: +31 (0)13 5821239
 
 mailto:A.Hongens@netmatch.nl
 http://www.netmatch.nl
 ------------------------------------------



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200907111010.n6BAA6C3077941>