Bug 194840 - [carp] Incorrect work of CARP services, started at BACKUP IP
Summary: [carp] Incorrect work of CARP services, started at BACKUP IP
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: 10.1-STABLE
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-bugs mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-11-05 19:06 UTC by Vladislav V. Prodan
Modified: 2015-02-18 11:54 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Vladislav V. Prodan 2014-11-05 19:06:55 UTC
I have 2 almost identical BGP routers FreeBSD 10.1-PRERELEASE #0: Thu Oct 16 03:58:25 EEST 2014
Both servers are connected with the same switch and have 1 uplink, but default gateways are different. There is one gateway on the uplink side, IPs are different, but use VRRP.

[20:19]router1:root->/root# ifconfig em1.201
em1.201: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=103<RXCSUM,TXCSUM,TSO4>
        ether 00:25:90:34:cc:af
        inet XXX.XXX.157.1 netmask 0xffffff00 broadcast XXX.XXX.157.255 vhid 13
        inet XXX.XXX.157.2 netmask 0xffffff00 broadcast XXX.XXX.157.255 vhid 11
        inet XXX.XXX.157.5 netmask 0xffffff00 broadcast XXX.XXX.157.255 vhid 12
        inet XXX.XXX.157.129 netmask 0xffffff00 broadcast XXX.XXX.157.255 vhid 14
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        vlan: 201 parent interface: em1
        carp: MASTER vhid 13 advbase 1 advskew 50
        carp: BACKUP vhid 11 advbase 1 advskew 150
        carp: BACKUP vhid 12 advbase 1 advskew 100
        carp: BACKUP vhid 14 advbase 1 advskew 100


[20:35]router1:root->/root# netstat -rn |  egrep 'XXX.XXX.157.|Destination'
Destination        Gateway            Flags      Netif Expire
XXX.XXX.157.0/24    link#8             U       em1.201
XXX.XXX.157.1       link#8             UHS         lo0
XXX.XXX.157.3       XXX.XXX.157.191     UGH1    em1.201
XXX.XXX.157.4       XXX.XXX.157.191     UGH1    em1.201
XXX.XXX.157.6       XXX.XXX.157.191     UGH1    em1.201		
		
[20:36]router1:root->/root# arp -na
? (XXX.XXX.157.35) at (incomplete) on em1.201 expired [vlan]
? (XXX.XXX.157.131) at 00:25:90:18:3d:b8 on em1.201 expires in 1157 seconds [vlan]
? (XXX.XXX.157.195) at 62:b2:dc:c0:08:96 on em1.201 expires in 624 seconds [vlan]
? (XXX.XXX.157.2) at 00:00:5e:00:01:0b on em1.201 expires in 1194 seconds [vlan]
? (XXX.XXX.157.194) at (incomplete) on em1.201 expired [vlan]
...		

[20:18]router2:root->/root#  ifconfig em1.201
em1.201: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=103<RXCSUM,TXCSUM,TSO4>
        ether 00:25:90:00:58:fd
        inet XXX.XXX.157.1 netmask 0xffffff00 broadcast XXX.XXX.157.255 vhid 13
        inet XXX.XXX.157.2 netmask 0xffffff00 broadcast XXX.XXX.157.255 vhid 11
        inet XXX.XXX.157.5 netmask 0xffffff00 broadcast XXX.XXX.157.255 vhid 12
        inet XXX.XXX.157.129 netmask 0xffffff00 broadcast XXX.XXX.157.255 vhid 14
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        vlan: 201 parent interface: em1
        carp: BACKUP vhid 13 advbase 1 advskew 100
        carp: MASTER vhid 11 advbase 1 advskew 50
        carp: MASTER vhid 12 advbase 1 advskew 50
        carp: MASTER vhid 14 advbase 1 advskew 50

[20:34]router2:root->/root# arp -na
? (XXX.XXX.157.1) at 00:00:5e:00:01:0d on em1.201 expires in 1195 seconds [vlan]
? (XXX.XXX.157.196) at bc:5f:f4:1b:d8:91 on em1.201 expires in 1082 seconds [vlan]
? (XXX.XXX.157.191) at 00:25:90:18:3d:b8 on em1.201 expires in 549 seconds [vlan]
? (192.168.25.11) at 00:25:90:34:cc:af on em1.199 expires in 25 seconds [vlan]
? (192.168.25.12) at 00:25:90:00:58:fd on em1.199 permanent [vlan]
...

After pinging from remote place XXX.XXX.157.2, I had answer, but, by tcpdump, answer is coming from em1.201 router1, but not router2!

After pinging from router1 IP XXX.XXX.157.2, answer is coming from em1.201 router2 to em1.201 router1.

ARP cache on server Backup inside the network:

[20:30]backup:root->/root# traceroute -n XXX.XXX.157.2
traceroute to XXX.XXX.157.2 (XXX.XXX.157.2), 64 hops max, 52 byte packets
 1  XXX.XXX.157.2  0.100 ms  0.131 ms  0.146 ms

[20:30]backup:root->/root# arp -na
? (XXX.XXX.157.2) at 00:00:5e:00:01:0b on bge0 expires in 101 seconds [ethernet]
? (XXX.XXX.157.1) at 00:00:5e:00:01:0d on bge0 expires in 1199 seconds [ethernet]
? (XXX.XXX.157.196) at bc:5f:f4:1b:d8:91 on bge0 permanent [ethernet]
? (10.0.1.2) at 00:25:90:81:8b:8e on bge0 expires in 105 seconds [ethernet]
? (10.0.1.1) at 00:25:90:18:3d:b9 on bge0 expires in 866 seconds [ethernet]
? (10.0.1.5) at bc:5f:f4:1b:d8:91 on bge0 permanent [ethernet]
...
Comment 1 Marcus von Appen freebsd_committer freebsd_triage 2015-02-18 11:54:20 UTC
Updated 10.1-BETA and 10.1-RC versioned bugs to 10.1-STABLE.