carp + IPv6 not working at all
Johan Ström
johan at stromnet.org
Thu Aug 31 19:05:52 UTC 2006
Hi
I'm trying to get carp working with IPv6. For regular IPv4 it works
like a charm, but I cannot get it working with inet6. For the moment
I've only tested inet6 with a single box:
fxp0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> mtu
1500
options=8<VLAN_MTU>
inet6 fe80::202:55ff:feb1:ff5a%fxp0 prefixlen 64 scopeid 0x1
inet 172.28.1.250 netmask 0xffffff00 broadcast 172.28.1.255
inet6 2001:16d8:ff20:1:202:55ff:feb1:ff5a prefixlen 64 autoconf
inet6 2001:16d8:ff20:1::98 prefixlen 64
ether 00:02:55:b1:ff:5a
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
carp1: flags=49<UP,LOOPBACK,RUNNING> mtu 1500
inet6 2001:16d8:ff20:1::99 prefixlen 64
carp: MASTER vhid 2 advbase 1 advskew 100
Pinging 2001:16d8:ff20:1::98 (fxp0 addr) from other box works fine.
However, when i try to ping 2001:16d8:ff20:1::99 (carp1), it does not
realy work:
carpbox# tcpdump -i fxp0 -nveev ip6
tcpdump: listening on fxp0, link-type EN10MB (Ethernet), capture size
96 bytes
19:36:58.150282 00:a0:cc:77:35:ff > 33:33:ff:00:00:99, ethertype IPv6
(0x86dd), length 86: (hlim 255, next-header: ICMPv6 (58), length: 32)
2001:16d8:ff20:1::1 > ff02::1:ff00:99: [icmp6 sum ok] ICMP6, neighbor
solicitation, length 32, who has 2001:16d8:ff20:1::99
source link-address option (1), length 8 (1): 00:a0:cc:
77:35:ff
0x0000: 00a0 cc77 35ff
19:36:58.150393 00:00:5e:00:01:02 > 00:a0:cc:77:35:ff, ethertype IPv6
(0x86dd), length 86: (hlim 255, next-header: ICMPv6 (58), length: 32)
2001:16d8:ff20:1::98 > 2001:16d8:ff20:1::1: [icmp6 sum ok] ICMP6,
neighbor advertisment, length 32, tgt is 2001:16d8:ff20:1::99, Flags
[solicited, override]
destination link-address option (2), length 8 (1):
00:00:5e:00:01:02
0x0000: 0000 5e00 0102
19:36:58.150642 00:a0:cc:77:35:ff > 00:00:5e:00:01:02, ethertype IPv6
(0x86dd), length 70: (hlim 64, next-header: ICMPv6 (58), length: 16)
2001:16d8:ff20:1::1 > 2001:16d8:ff20:1::99: [icmp6 sum ok] ICMP6,
echo request, length 16, seq 0
19:36:59.150566 00:a0:cc:77:35:ff > 00:00:5e:00:01:02, ethertype IPv6
(0x86dd), length 70: (hlim 64, next-header: ICMPv6 (58), length: 16)
2001:16d8:ff20:1::1 > 2001:16d8:ff20:1::99: [icmp6 sum ok] ICMP6,
echo request, length 16, seq 1
19:37:00.150360 00:a0:cc:77:35:ff > 00:00:5e:00:01:02, ethertype IPv6
(0x86dd), length 70: (hlim 64, next-header: ICMPv6 (58), length: 16)
2001:16d8:ff20:1::1 > 2001:16d8:ff20:1::99: [icmp6 sum ok] ICMP6,
echo request, length 16, seq 2
^C
The other box sends neighbor solicitation "who has", and the carp box
successfully responds with a "tgt is" with correct MAC/IP etc (btw,
what is the carp MAC based on?).
After the other box has recieved the adv, it starts to send icmp6
packets.. But for some reason the carpbox does not seem to react to
these at all? PF is disabled and I dont use ipfw.
FreeBSD carpbox.stromnet.org 6.1-RELEASE-p5 FreeBSD 6.1-RELEASE-p5
#2: Wed Aug 30 10:22:54 CEST 2006 johan@ carpbox.stromnet.org:/
usr/obj/usr/src/sys/DEVBOX i386
(GENERIC + carp+pfsync kernel)
Have I missed something? The same setup works fine with IPv4. Maybe
this is related to kern/98622, but I dont see these symptoms
described there... Also, I see no ip6 multicast trafik from the box
(advertisements), but ip4 is fully visible.
Thanks for any help, carp (at leat for ipv4 :P) rocks! :)
Johan Ström
johan at stromnet.org
More information about the freebsd-pf
mailing list