On 2010/08/26 15:25, Claudio Jeker wrote: > 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.
One thing I ran into when testing (which I knew before, but forgot) was that the autoconfigured link-local addresses are excluded from carp, so unless you configure a real address you won't see any announcement from carp. > 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. Yes, I agree. ok.
