kern/127050: [carp] ipv6 does not work on carp interfaces
[regression]
Angelo Höngens
A.Hongens at netmatch.nl
Sat Jul 11 10:10:09 UTC 2009
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 at netmatch.nl>
To: bug-followup at FreeBSD.org, maddog2k at 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 at 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 at netmatch.nl
http://www.netmatch.nl
------------------------------------------
More information about the freebsd-net
mailing list