Carp stuck in INIT (10.1-RC2)
Matt Churchyard
matt.churchyard at userve.net
Thu Oct 16 10:55:30 UTC 2014
Hi Freddie,
I have tested on 10.1-RC2 and I’m seeing exactly the same issue. I am running a Windows 8.1 machine with a 10.1-RC2 i386 VM in Virtualbox, configured to bridge to my Intel network adapter. (I’d rather use amd64 but unfortunately it appears that although my OS is 64bit, it’s old hardware and both Virtualbox & VMware player refuse 64bit VMs)
This is the exact config I have in /etc/rc.conf (just a single VM at the moment)
ifconfig_em0=”inet 192.168.0.100/24 vhid 10 pass mypass”
defaultrouter=”192.168.0.10”
If I reboot with this config, the following pops up during boot:
Setting hostname: carp1.test
em0: promiscuous mode enabled
carp: demoted by 240 to 240 (interface down)
Starting Network: lo0 em0
Ifconfig shows the following and never changes from INIT
em0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICART>
options=9b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255 vhid 10
...
carp: INIT vhid 10 advbase 1 advskew 0
tcpdump shows no traffic at all
If I add the ‘up’ option on the end of the rc.conf entry, it all works perfectly
I see the following during boot
Setting hostname: carp1.test
em0: promiscuous mode enabled
carp: VHID 10 at em0: INIT -> BACKUP
Starting Network: lo0 em0
...lo0 & em0 configuration output (same as ifconfig)...
carp: VHID 10:em0: BACKUP -> MASTER (master down)
And tcpdump shows CARPv2 announcements every second.
I can only assume this is something to do with running on Virtualbox if it works for you (and I guess numerous other users). It just seems strange that if I force the interface up, it’s absolutely perfect. Chances are, if I ever use carp in production on real machines, it may just work but what I’m seeing in Virtualbox doesn’t seem right.
Regards,
Matt
From: Freddie Cash [mailto:fjwcash at gmail.com]
Sent: 15 October 2014 16:58
To: Matt Churchyard
Subject: Re: Carp stuck in INIT
You don't need the "up" keyword, and it definitely works with a /30 and a single IP. I use that at work. But the order of options does matter (IP first, CARP stuff second).
Requires FreeBSD 10 and the new CARP code. Might work on pre-10, but I never got it to work.
The following is from our core fibre router:
ifconfig_em0="inet 142.24.243.161/30<http://142.24.243.161/30> vhid 30 pass mypass30 -lro -tso -vlanhwtso"
defaultrouter="142.24.243.162”
The slave box is the same, but with "advskew 128" added after the pass config.
More information about the freebsd-net
mailing list