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