Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Mar 2015 16:32:55 +0100
From:      Phi-Phong NGUYEN <phnguyen@biologie.ens.fr>
To:        freebsd-net@freebsd.org
Cc:        =?UTF-8?B?ImNvY2ggPj4gT2xpdmllciBDb2NoYXJkLUxhYmLDqSI=?= <olivier@cochard.me>, sysinfo <sysinfo@biologie.ens.fr>, pierre vincens <vincens@biologie.ens.fr>
Subject:   Carp unpingable on vlan interfaces with lagg on emulex cards
Message-ID:  <55103227.1090005@biologie.ens.fr>

next in thread | raw e-mail | index | archive | help
I have two routers running freeBSD 10.1-RELEASE with 10gigaethernet
Emulex cards (OCm14104-UX-D + OCe14102‑UX-D)
On each router :
ifconfig_lagg2="laggproto lacp laggport oce0 laggport oce1 laggport oce4
laggport oce6"

Several vlans are build within the lagg :
On router1 :
[...]
cloned_interfaces=".... vlan3101 ..."
ifconfig_vlan3101="vlan 3101 vlandev lagg2 X.X.X.252/24"
ifconfig_vlan3101_alias0="vhid 121 advskew 100 pass mypass X.X.X.254/32"
[...]
vlan3101: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST>
metric 0 mtu 1500
    options=303<RXCSUM,TXCSUM,TSO4,TSO6>
    ether 00:90:fa:xx:xx:xx
    inet X.X.X.252 netmask 0xffffff00 broadcast X.X.X.255
    inet X.X.X.254 netmask 0xffffffff broadcast X.X.X.254 vhid 121
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: Ethernet autoselect
    status: active
    vlan: 3101 parent interface: lagg2
    carp: BACKUP vhid 121 advbase 1 advskew 100

On router2 :
[...]
cloned_interfaces=".... vlan3101 ..."
ifconfig_vlan3101="vlan 3101 vlandev lagg2 X.X.X.252/24"
ifconfig_vlan3101_alias0="vhid 121 pass mypass X.X.X.254/32"
[...]
vlan3101: flags=8943<UP,BROADCAST,RUNNING,PROMISC,SIMPLEX,MULTICAST>
metric 0 mtu 1500
    options=303<RXCSUM,TXCSUM,TSO4,TSO6>
    ether 00:90:fa:xx:xx:xx
    inet X.X.X.253 netmask 0xffffff00 broadcast X.X.X.255
    inet X.X.X.254 netmask 0xffffffff broadcast X.X.X.254 vhid 121
    nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
    media: Ethernet autoselect
    status: active
    vlan: 3101 parent interface: lagg2
    carp: MASTER vhid 121 advbase 1 advskew 0

So, router2 is the master VRRP for vlan3101, ang changing advskew to 150
on router2 leaves router1 become the master.
BUT :
Router1 can ping X.X.X.253 and router2 is able to ping X.X.X.252, alas,
router1 can't ping X.X.X.254 (the virtual ip address) as a host
belonging to the 3101 vlan.

The arp request does work :
router1 # ping X.X.X.254
    <- no "Host is down", no unreachable
router1 # arp -n X.X.X.254
? (X.X.X.254) at 00:00:5e:00:01:79 on vlan3101 expires in 1129 seconds
[vlan]

Already try :
1) Reduce the lagg to one single interface -> Doesn't work
2) Create the vlans on a physical emulex interface -> Doesn't work
3) Downgrade to 9.3-RELEASE with old syntax carp -> Doesn't work
4) Upgrade all the firmwares including Emulex cards.
5) Create the lagg on a physical copper interface (Intel X540) -> Does
work !!

So, my questions are :
1) Is it related to the Emulex cards ?
2) Is there a workaround for this sort of problem ?
2) If I replace some Emulex cards with Intel ones (Say X520 items), is
the result guaranteed ? At $ 700-$ 800 each, this is a crucial question.

More information :
router1 # sysctl -a |grep carp
net.inet.carp.allow: 1
net.inet.carp.preempt: 1
net.inet.carp.log: 1
net.inet.carp.demotion: 0
net.inet.carp.senderr_demotion_factor: 0
net.inet.carp.ifdown_demotion_factor: 240

Thanks in advance.

-- 
Phi-Phong NGUYEN
Service informatique
Institut de Biologie ENS
46 rue d'Ulm
75230 PARIS CEDEX 05
Tel: 01 44 32 36 34
Fax: 01 44 32 36 30




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?55103227.1090005>