Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Mar 2012 23:33:45 +0400
From:      Alexander Lunev <sol289@gmail.com>
To:        Freddie Cash <fjwcash@gmail.com>
Cc:        freebsd-net@freebsd.org
Subject:   Re: LAGG and CARP troubles
Message-ID:  <CABk4_A5BZLhypXmggTHAX=Dd-2gRizx1ABMuNY_h4k2pKk1bkQ@mail.gmail.com>
In-Reply-To: <CAOjFWZ75AHDJ=Uac2KdcF_rSk3ZUcB8b1RWofsrmC821jW3w7Q@mail.gmail.com>
References:  <4F630D23.2070509@netfence.it> <CABk4_A7e4o3WRZOwEgJi_exbWbcD9aDZD8w1FWbW-k1h04mJCQ@mail.gmail.com> <CAOjFWZ75AHDJ=Uac2KdcF_rSk3ZUcB8b1RWofsrmC821jW3w7Q@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Mar 16, 2012 at 7:42 PM, Freddie Cash <fjwcash@gmail.com> wrote:
> If you're adventurous, could you upgrade a test box to 10-CURRENT and
> try the new CARP code?

Ok, i've set up a distributed network:

10-C1 === internet === 8.2-R === internet === 10-C2

10-C1 and 10-C2 is 10-CURRENT on vmware running on different machines
and located in different networks, they are openvpn clients, which
connects to real server 8.2-R through internet, and none of them can
see other on data link level.

10-C1 differs from 10-C2 only in MAC addresses and in em0
configuration, which is interface for connecting to internet. There
are no firewalls on 10-C, just the network interface, openvpn, bridge
and carp.

ifconfig for 10-C (skipping em0 lo0 plip0):

# ifconfig
em1: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST> metric
0 mtu 1500
        options=98<VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM>
        ether 00:0c:29:91:9d:ea
        inet 10.100.100.100 netmask 0xffffff00 broadcast 10.100.100.255 vhid 1
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active
        carp: MASTER vhid 1 advbase 1 advskew 0
tap0: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST>
metric 0 mtu 1500
        options=80000<LINKSTATE>
        ether 00:bd:4e:4d:00:00
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        Opened by PID 1166
bridge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        ether 02:d7:b7:da:d6:00
        inet 10.80.90.6 netmask 0xffffff00 broadcast 10.80.90.255
        nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
        id 00:00:00:00:00:00 priority 32768 hellotime 2 fwddelay 15
        maxage 20 holdcnt 6 proto rstp maxaddr 2000 timeout 1200
        root id 00:00:00:00:00:00 priority 32768 ifcost 0 port 0
        member: em1 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 3 priority 128 path cost 20000
        member: tap0 flags=143<LEARNING,DISCOVER,AUTOEDGE,AUTOPTP>
                ifmaxaddr 0 port 7 priority 128 path cost 2000000


CARP configured by same command on both 10-C1 and 10-C2 with advskew
100 parameter on one of them:

10-C1# ifconfig em1 vhid 1 pass pppp 10.100.100.100/24
10-C2# ifconfig em1 vhid 1 advskew 100 pass pppp 10.100.100.100/24

After configuring CARP i see advertisings on bridge0 interface of
8.2-R from both 10-C, i see advertisings from 10-C1 on bridge0
interface of 10-C2 and vice versa, and i see advertisings on em1
interfaces of 10-C1 and 10-C2 from both 10-C:

# tcpdump -ne -i em1 net 10.100.100
22:06:14.660011 00:0c:29:cc:fa:84 > 01:00:5e:00:00:12, ethertype IPv4
(0x0800), length 70: 10.100.100.100 > 224.0.0.18: VRRPv2,
Advertisement, vrid 1, prio 0, authtype none, intvl 1s, length 36
22:06:14.769632 00:0c:29:91:9d:ea > 01:00:5e:00:00:12, ethertype IPv4
(0x0800), length 70: 10.100.100.100 > 224.0.0.18: VRRPv2,
Advertisement, vrid 1, prio 0, authtype none, intvl 1s, length 36
^C

I see same strings in /var/log/messages of 10-C1 and 10-C2
Mar 19 21:08:50 home kernel: carp: VHID 1@em1: INIT -> BACKUP
Mar 19 21:08:53 home kernel: carp: VHID 1@em1: BACKUP -> MASTER (master down)

So, result is basically the same as in my old post here: i see CARP
messages on both ends on interfaces but CARPs doesn't see them.

BUT HERE'S THE NEWS:

 # netstat -s -p carp
carp:
        3164 packets received (IPv4)
        0 packets received (IPv6)
                0 packets discarded for wrong TTL
                0 packets shorter than header
                0 discarded for bad checksums
                0 discarded packets with a bad version
                0 discarded because packet too short
                0 discarded for bad authentication
>               3164 discarded for bad vhid
                0 discarded because of a bad address list
        1962 packets sent (IPv4)
        0 packets sent (IPv6)
                0 send failed due to mbuf memory error

Though net.inet.carp.log = 2, i see no messages about bad packets.

Why CARP thinks that vhid are bad? Can i debug CARP on 10-C?

--
your sweet isn't ready yet



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CABk4_A5BZLhypXmggTHAX=Dd-2gRizx1ABMuNY_h4k2pKk1bkQ>