Solved CARP problem again, again and again...

Hello,

I had write some thread about CARP config (https://forums.freebsd.org/threads/58270/)
but now I little change config, so create new thread.

Host A /etc/rc.config (network):
Code:
#LAGG0 (for jails)
    ifconfig_bce0="up"
    ifconfig_em0="up"
    ifconfig_lagg0="up laggproto lacp laggport bce0 laggport em0 10.10.1.101/24"
  #LAGG0
ifconfig_lagg0_aliases="\
    inet vhid 1 advskew 0 pass 0hqFZ6UnHuB alias 10.10.1.111/32 \
    inet vhid 2 advskew 100 pass 1hqFZ6UnHuB alias 10.10.1.112/32"
Host A - all CARP var from systemctl
Code:
net.inet.carp.allow: 1
net.inet.carp.preempt: 0
net.inet.carp.log: 1
net.inet.carp.demotion: 480
net.inet.carp.ifdown_demotion_factor: 240
net.inet.carp.senderr_demotion_factor: 240

Host B /etc/rc.config (network):
Code:
 # LAGG0
  ifconfig_bce0="up"
  ifconfig_igb0="up"
  ifconfig_lagg0="up laggproto lacp laggport bce0 laggport igb0 10.10.1.102/24"
  # END LAGG0
ifconfig_lagg0_aliases="\
    inet vhid 1 advskew 100 pass 0hqFZ6UnHuB alias 10.10.1.111/32 \
    inet vhid 2 advskew 0 pass 1hqFZ6UnHuB alias 10.10.1.112/32"
Host B - all CARP var from systemctl
Code:
net.inet.carp.allow: 1
net.inet.carp.preempt: 0
net.inet.carp.log: 1
net.inet.carp.demotion: 480
net.inet.carp.ifdown_demotion_factor: 240
net.inet.carp.senderr_demotion_factor: 240
Unfortunately - when restart host A or B, IP automatically change host...
logs from Host A (when rebooted):
Code:
Jan 13 14:37:01 opio1 kernel: [19] carp: demoted by 240 to 240 (send error 50 on lagg0)
Jan 13 14:37:01 opio1 kernel: [19] carp: demoted by 240 to 480 (send error 50 on lagg0)
Jan 13 14:37:26 opio1 kernel: [44] carp: 2@lagg0: MASTER -> BACKUP (more frequent advertisement received)
Jan 13 14:37:26 opio1 kernel: [44] ifa_maintain_loopback_route: deletion failed for interface lagg0: 3

Logs from host B
Code:
an 13 14:34:09 opio2 kernel: [112] carp: 2@lagg0: BACKUP -> MASTER (master timed out)
Jan 13 14:34:09 opio2 kernel: [113] carp: 1@lagg0: BACKUP -> MASTER (master timed out)
Jan 13 14:37:26 opio2 kernel: [309] carp: 1@lagg0: MASTER -> BACKUP (more frequent advertisement received)
Jan 13 14:37:26 opio2 kernel: [309] ifa_maintain_loopback_route: deletion failed for interface lagg0: 3

Why host B back IP to host A after reboot, preempt is disabled?

sorry, but WTF!!!
 
Hello... Another day of fight :(
I change configuration and move CARP to lagg1 interface (dedicated for ZREP), only one shared IP.
Code:
    ifconfig_bge0="up mtu 9000"
    ifconfig_em1="up mtu 9000"
    ifconfig_lagg1="up laggproto lacp laggport [B]bge0[/B] laggport [B]em1[/B] 172.16.0.101/28 mtu 9000"
    ipv4_addrs_lagg1="172.16.0.101/28"
ifconfig_lagg1_alias0="inet vhid 5 advskew 10 pass 0hqFZ6UnHuB alias 172.16.0.105"

Host A is master - reboot
Host B take IP and now is master - ok.
Log from host A when starting:
Code:
Jan 17 08:16:19 opio1 kernel: [11] bge0: link state changed to DOWN
Jan 17 08:16:19 opio1 kernel: [11] lagg0: link state changed to DOWN
Jan 17 08:16:19 opio1 kernel: [12] em1: promiscuous mode enabled
Jan 17 08:16:19 opio1 kernel: [12] bge0: promiscuous mode enabled
Jan 17 08:16:19 opio1 kernel: [12] lagg1: promiscuous mode enabled
Jan 17 08:16:19 opio1 kernel: [12] carp: demoted by 240 to 240 (interface down)
Jan 17 08:16:19 opio1 kernel: [12] lagg1: link state changed to DOWN
Jan 17 08:16:19 opio1 kernel: [14] em0: link state changed to UP
Jan 17 08:16:19 opio1 kernel: [14] lagg0: link state changed to UP
Jan 17 08:16:19 opio1 kernel: [14] bge0: link state changed to UP
Jan 17 08:16:19 opio1 kernel: [14] carp: 5@lagg1: INIT -> BACKUP (initialization complete)
Jan 17 08:16:19 opio1 kernel: [14] carp: demoted by -240 to 0 (interface up)
Jan 17 08:16:19 opio1 kernel: [14] lagg1: link state changed to UP
Jan 17 08:16:19 opio1 kernel: [14] em1: link state changed to UP
Jan 17 08:16:19 opio1 kernel: [15] bce0: Gigabit link up!
Jan 17 08:16:19 opio1 kernel: [15] bce0: link state changed to UP
Jan 17 08:16:21 opio1 kernel: [17] carp: 5@lagg1: BACKUP -> MASTER (master timed out)
Jan 17 08:16:23 opio1 kernel: [19] carp: demoted by 240 to 240 (send error 50 on lagg1)
Host A - sysctl var of CARP
Code:
net.inet.carp.allow: 1
net.inet.carp.preempt: 0
net.inet.carp.log: 1
net.inet.carp.demotion: 240
net.inet.carp.ifdown_demotion_factor: 240
net.inet.carp.senderr_demotion_factor: 240

On host B only this:
Code:
Jan 17 08:16:48 opio2 kernel: [365] carp: 5@lagg1: MASTER -> BACKUP (more frequent advertisement received)
Jan 17 08:16:48 opio2 kernel: [365] ifa_maintain_loopback_route: deletion failed for interface lagg1: 3
Host B - sysctl var of CARP
Code:
net.inet.carp.allow: 1
net.inet.carp.preempt: 0
net.inet.carp.log: 1
net.inet.carp.demotion: 240
net.inet.carp.ifdown_demotion_factor: 240
net.inet.carp.senderr_demotion_factor: 240

Maybe someone have any idea?? Is network config is ok? Maybe LACP or LAGG is a problem?

kazix
 
ha ha ha :D
I found solution...

Guilty is LACP !!! :mad:

if I change lagg(4) config to FAILOVER, CARP work great.

my working config:
Host A:
Code:
ifconfig_bge0="up mtu 9000"
ifconfig_em1="up mtu 9000"
ifconfig_lagg1="up laggproto failover laggport bge0 laggport em1 172.16.0.101/28 mtu 9000
ipv4_addrs_lagg1="172.16.0.101/28"
ifconfig_lagg1_alias0="inet vhid 5 advskew 10 pass 0hqFZ6UnHuB alias 172.16.0.105/32"
ifconfig_lagg1_alias1="inet vhid 6 advskew 100 pass 1hqFZ6UnHuB alias 172.16.0.106/32"

Host B:
Code:
ifconfig_bge0="up mtu 9000"
ifconfig_igb1="up mtu 9000"
ifconfig_lagg1="up laggproto failover laggport bge0 laggport igb1 172.16.0.102/28 mtu 9000"
ipv4_addrs_lagg1="172.16.0.102/28"
cloned_interfaces="lagg0 lagg1"
ifconfig_lagg1_alias0="inet vhid 5 advskew 100 pass 0hqFZ6UnHuB alias 172.16.0.105/32"
ifconfig_lagg1_alias1="inet vhid 6 advskew 10 pass 1hqFZ6UnHuB alias 172.16.0.106/32"

Many people have problem with CARP and LACP - maybe its a bug?

kazix
 
Back
Top