On 2013/04/03 14:54, Camiel Dobbelaar wrote: > > 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? > >
slightly messy, though at least this also applies to the case with things other than carp which could also have problems: add "!sleep 5" or something in hostname.if for the physical interface...