I've pinpointed the issue with my carp setup. Finally! It seems like the order of things in hostname.carp0 matters more than I thought it did.
This doesn't work so well: # cat /etc/hostname.carp0 inet 192.168.16.1/24 vhid 100 pass blahblah advbase 5 advskew 0 This works however: # cat /etc/hostname.carp0 vhid 100 pass blahblah advbase 5 advskew 0 inet 192.168.16.1/24 Both result in exactly this: # ifconfig carp0 carp0: flags=28843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST,NOINET6> mtu 1500 lladdr 00:00:5e:00:01:64 priority: 0 carp: MASTER carpdev em0 vhid 100 advbase 5 advskew 0 groups: carp status: master inet 192.168.16.1 netmask 0xffffff00 broadcast 192.168.16.255 ---- -The difference is that with the latter order, carp becomes "muted". Although ip-traffic and arp passes through fine, there is no sign of carp when I do tcpdump on em0. If the vhid is added before the ip-address however, carp works as expected and tcpdump can capture the carp-advertisements going out on em0. -It would be nice if someone with more insight could explain in detail why the second order in hostname.carp0 doesn't work. -I am aware that I could have had it all in one line, but because of readability etc I chose to split it into two lines.