https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=275225
Reid Linnemann <linnema...@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |linnema...@gmail.com --- Comment #1 from Reid Linnemann <linnema...@gmail.com> --- I think you've misunderstood net.inet.carp.preempt: net.inet.carp.preempt Allow virtual hosts to preempt each other. When enabled, a vhid in a backup state would preempt a master that is announcing itself with a lower advskew. Disabled by default. Here, 'virtual host' refers to the shared address associated with a VHID. This setting allows a host with multiple VHIDs to assume the master role on all VHIDs if just one of them fails over. See in carp(4): Assume that host A is the preferred master and we are running the 192.168.1.0/24 prefix on em0 and 192.168.2.0/24 on em1. This is the setup for host A (advskew is above 0 so it could be overwritten in the emergency situation from the other host): ifconfig em0 vhid 1 advskew 100 pass mekmitasdigoat 192.168.1.1/24 ifconfig em1 vhid 2 advskew 100 pass mekmitasdigoat 192.168.2.1/24 The setup for host B is identical, but it has a higher advskew: ifconfig em0 vhid 1 advskew 200 pass mekmitasdigoat 192.168.1.1/24 ifconfig em1 vhid 2 advskew 200 pass mekmitasdigoat 192.168.2.1/24 When one of the physical interfaces of host A fails, advskew is demoted to a configured value on all its carp vhids. Due to the preempt option, host B would start announcing itself, and thus preempt host A on both interfaces instead of just the failed one. It seems likely to me that in your RPI/ROCKPRO setup that your two hosts are not actually exchanging CARP messages correctly and both believe that they are the lowest advbase for the VHID. -- You are receiving this mail because: You are the assignee for the bug.