In some cases when a network port comes up, it does not indicate that
the network is ready. But on linkup, carp(4) will try to get out of the
INIT state as soon as possible. And because all is quiet it will decide
to become master.
This then leads to master-master situations.
Here are two examples when this can happen, there are probably more:
(1) spanning tree may be in effect, and not yet forwarding
(2) a powering-up or rebooting switch that activates its ports
immediately, but does not forward anything while not completely up yet
(this may be an openbsd bridge too)
I wonder if carp(4) needs an extra knob (*shudder*) to pause in the INIT
state while the rest of the network gets ready after a linkup.
I see in the source code there are already two mechanisms/workarounds
that are related, but a pause may be a bit more generic:
- sc_suppress
- sc_delayed_arp
Anyone else observe/fix this by other means? Opinions?