Getting CARP to broadcast on a different interface

Matthew Grooms mgrooms at shrew.net
Wed Jun 8 16:19:52 UTC 2016


On 6/8/2016 10:15 AM, David DeSimone wrote:
> One of the purposes of the CARP announcements is to announce the
> location of the virtual mac address to the upstream switch fabric.
> Since CARP uses a virtual mac that floats between multiple ports, you
> need to have the CARP master continually assert that its particular
> port is the target that should be used for delivery of packets to the
> virtual MAC address.  Without this function, switches might still
> mistakenly deliver their frames to the standby node.
>
> The CARP announcements are also helpful in detecting and routing
> around some odd failure scenarios, such as a failure within the
> upstream fabric, where the master sees link on its port, but can't
> actually send frames that reach the rest of the network.  If the
> standby can't hear the master's announcements any more, it can
> promote itself to master and hopefully keep your cluster online.
> This would not happen without the announcement feature.
>
> I would hope you could explain this to your provider and get them to
> white-list CARP announcements because they are defeating important
> safety features you wish to use.
>

You just need a gratuitous ARP on the new switch port after the MAC is 
migrated. That's how VMs move quickly between hypervisors with almost no 
downtime. As soon as a MAC is seen on a new port, the switch should 
overwrite it's notion of the port to MAC association.

https://wiki.wireshark.org/Gratuitous_ARP

As for the standby node, it should never announce unless the master node 
fails to suppress it.

-Matthew


More information about the freebsd-net mailing list