Stuart Henderson wrote:
Multicast MAC addresses use a special 24-bit prefix of 0x0100.5Enn.nnnn.
which has the lowest bit of the first byte set to '1'.
afaict: CARP traffic itself goes to the group hence 1, whereas traffic to
the shared address is just for an individual member, hence the 0. But I am
no multicast guru.

...ah, but of course the virtual address is what you're concerned about
(assuming you are preventing 01:00:5e CARP protocol packets from reaching
the peering lan some other way e.g. by a switch that doesn't forward
multicast out of the public port).

Exactly. But the issue would still be the same even if I stop it as the virtual IP's would still have the MAC address of the 0x0000.5Enn.nnnn here where it might be block by the provider. I am still curious to know if that couldn't work with the MAC address of the equipment it is replacing. One thing I don't know, I never set it up to check that specifically, does Cisco with VRRP actually end up with a MAC address different then the actual interface and does use the multicast range? Knowing Cisco, I kind of guess it wouldn't, but that's speculation on my part, I do not know that for sure! So, that makes me think it would be possible, but what would be the implications of it, that I do not know yet. One side however, no one on the public side would ever know then, assuming you do block the multicast packets from reaching them on the public side! (:>

I would be very much interested to know the pro/cons of doing so as well as the implications of it.

So, it looks like your original question stands then. Looking at carp_set_enaddr in /usr/src/sys/netinet/ip_carp.c the MAC address
generation is hardcoded (the last octet being the vhid). Maybe it's
simply the case that because lladdr is new, and no developer found
a need to do this for CARP yet, that it hasn't been coded. Or maybe
there's another reason why this shouldn't be done (greater care
than usual would have to be taken to configure all CARP members
identically, of course).

Or, may be following the mapping of multicast IP addresses to IEEE 802 multicast MAC addresses might well take care of the possibility in all cases, ( well almost, still would be 32 possible overlaps for the range of IPv4, but what are the chances of that ever happen, none in the same peering point for sure. Not that it is bad as it is now by any mean really! There might be some other reasons for sure as well. One that comes to mind is keep it simple, is sure worth less trouble.

Reply via email to