On Wed, Aug 25, 2010 at 12:29:00AM +0100, Stuart Henderson wrote: > On 2010/08/24 23:14, Claudio Jeker wrote: > > carp(4) is normaly using IPv4 multicast for its announcements. In case > > there are no IPv4 addrs set IPv6 multicast will be used. But since the > > code forgot to embed the oh so freaking magic scope into the multicast > > address it failed to send the packet out. > > > > I don't think anyone will OK this, so I will autocommit in about 2 days. > > I must be missing something but even without your diff, I am seeing > outgoing carp packets locally and remotely when there are only v6 > addresses on the carp(4).. > > tcpdump output looks like this either way: > > 00:23:24.709780 fe80::202:b3ff:fec8:dc4 > ff02::12: CARPv2-advertise 36: > vhid=88 advbase=1 advskew=0 demote=0 > > fxp1: flags=8b43<UP,BROADCAST,RUNNING,PROMISC,ALLMULTI,SIMPLEX,MULTICAST> mtu > 1500 > lladdr 00:02:b3:c8:0d:c4 > priority: 0 > media: Ethernet autoselect (100baseTX full-duplex) > status: active > inet6 fe80::202:b3ff:fec8:dc4%fxp1 prefixlen 64 scopeid 0x5 > > carp88: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 > lladdr 00:00:5e:00:01:58 > priority: 0 > carp: MASTER carpdev fxp1 vhid 88 advbase 1 advskew 0 > groups: carp > status: master > inet6 fe80::200:5eff:fe00:158%carp88 prefixlen 64 scopeid 0xe > inet6 3001::88 prefixlen 64 > > This is on sparc64; I've also tried on amd64 without your diff and > see the same there. >
Hmm. Something is funky because when I tried it did not work. Maybe it was may testing that managed to confuse ip6_output in a similar manner as it is confusing me. I still think that setting the scope on that link local multicast address is better then hoping that ifaof_ifpforaddr() returns a link local address. -- :wq Claudio
