DaemonForums  

Go Back   DaemonForums > FreeBSD > FreeBSD General

FreeBSD General Other questions regarding FreeBSD which do not fit in any of the categories below.

Reply
 
Thread Tools Display Modes
  #1   (View Single Post)  
Old 13th May 2008
rfranzke rfranzke is offline
New User
 
Join Date: May 2008
Posts: 3
Default Lagg failover on FreeBSD 7.0 Dell 1950/Broadcom 5708 NICs

Having some issues using lagg on a Dell server with FreeBSD 7.0. Trying to set up the two onboard NICs in lagg failover mode. I can get the lagg configuration to load via rc.conf and everything on the surface to looks to be loading correctly. The configuration can be seen using ifconfig and I have a lagg interface with two NICs assigned to it. Yet when I go to simulate a failure by either uplugging the master/active NIC or downing the switchport its connected to, I lose connectivity to the box. If I do an ifconfig and run ping from the bsd server to net, the failover seems to work. Obviously not a good solution. I first would like to see if anyone can see something I am doing wrong in my configuration. The following is whats contained in my rc.conf file with regards to lagg:

cloned_interfaces="lagg0"
ifconfig_bce1="UP"
ifconfig_bce0="UP"
ifconfig_lagg0="laggproto failover laggport bce1 laggport bce0 10.10.20.118 netmask 255.255.255.0"

boot loader.conf entry (Although it seems to make no difference whether this is in here or not):

if_lagg_load="YES"

ifconfig output:

bce0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING, JUMBO_MTU,VLAN_HWCSUM,TSO4>
ether 00:1e:c9:ab:4c:76
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active
lagg: laggdev lagg0
bce1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING, JUMBO_MTU,VLAN_HWCSUM,TSO4>
ether 00:1e:c9:ab:4c:76
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active
lagg: laggdev lagg0
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING, JUMBO_MTU,VLAN_HWCSUM,TSO4>
ether 00:1e:c9:ab:4c:76
inet 10.10.20.118 netmask 0xffffff00 broadcast 10.10.20.255
media: Ethernet autoselect
status: active
laggproto failover
laggport: bce0 flags=0<>
laggport: bce1 flags=5<MASTER,ACTIVE>

Any input would be helpful. Thanks in advance.
Reply With Quote
  #2   (View Single Post)  
Old 14th May 2008
rfranzke rfranzke is offline
New User
 
Join Date: May 2008
Posts: 3
Default

Has anyone successfully gotten lagg to work in FreeBSD 7.0? Is there something else required to get this to work correctly I am missing? It really seems like the OS just cannot failover the NICs. Perhaps a missing module or something? Thanks.
Reply With Quote
  #3   (View Single Post)  
Old 19th May 2008
phoenix's Avatar
phoenix phoenix is offline
Risen from the ashes
 
Join Date: May 2008
Posts: 696
Default

I've just started playing with carp(4) and lagg(4) in virtual machines. So far we've found a few problems with the way carp works in 7.0 and Max Laier is working on it. Haven't got to the lagg testing as yet, but I'll post if we get it working or run into the same issues.
__________________
Freddie

Help for FreeBSD: Handbook, FAQ, man pages, mailing lists.
Reply With Quote
  #4   (View Single Post)  
Old 23rd July 2008
ivanjr ivanjr is offline
New User
 
Join Date: Jul 2008
Posts: 1
Default Lagg failover for FreeBSD 7.0 also on Dell 2970

I too have the same problem. Whenever I test lagg failover, it will not "failover" unless you issue "ifconfig" in the console at least once and ping to any host from the machine, then the lagg will work instantaneously.. however you will notice that if you use another workstation to ping the lagg machine it be up for a little while but eventually the ping will die out.

Hardware:
Dell 2970
Broadcom NetXtreme II BCM5708


/etc/rc.conf
ifconfig_bce0="UP"
ifconfig_bce1="UP"
cloned_interfaces="lagg0"
ifconfig_lagg0="laggproto lacp laggport bce0 laggport bce1"
ipv4_addrs_lagg0="172.17.255.114/16"
defaultrouter="172.17.0.10"


ifconfig -a (before failover, from fresh boot)
bce0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING, JUMBO_MTU,VLAN_HWCSUM,TSO4>
ether 00:1d:09:71:68:0a
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active
lagg: laggdev lagg0
bce1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING, JUMBO_MTU,VLAN_HWCSUM,TSO4>
ether 00:1d:09:71:68:0a
media: Ethernet autoselect (1000baseTX <full-duplex>)
status: active
lagg: laggdev lagg0
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet6 ::1 prefixlen 128
inet 127.0.0.1 netmask 0xff000000
lagg0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=1bb<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING, JUMBO_MTU,VLAN_HWCSUM,TSO4>
ether 00:1d:09:71:68:0a
inet 172.17.255.114 netmask 0xffff0000 broadcast 172.17.255.255
media: Ethernet autoselect
status: active
laggproto lacp
laggport: bce1 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>
laggport: bce0 flags=1c<ACTIVE,COLLECTING,DISTRIBUTING>

sequence:
1. ifconfig after removing bce0, it will still be OK
2. after placing back bce0, it will still be OK
3. after detaching bce1, it will get stuck.. placing it back requires "ifconfig" and "ping"
(and ping will respond for a while)
4. and the process repeats for whichever NIC you will detach..

conclusion:
- failover will only happen ones
- succeeding failover will require ifconfig and ping.. and is not reliable.


i think someone has to do a PR on this...
Reply With Quote
  #5   (View Single Post)  
Old 14th September 2010
rfranzke rfranzke is offline
New User
 
Join Date: May 2008
Posts: 3
Default

OK been some time but I might have figured out what is going on here. I moved to FreeBSD 8.1 Release on a Dell blade server with internal switches, and Lagg is working better but not fully. I am not sure if this is a BSD issue or a problem with our switches but this issue could crop up in certain environments as it does in mine. I have two switches btw. One LAGG nic goes to one switch, and the other LAGG nic goes to a secondary switch to be able to recover from a switch failure as well as a nic/link failure. These switches are then uplinked into our core switches.

It seems that when operating in failover mode lagg does not have any mechanism to tell the network that the MAC for the LAGG interface has moved. It needs to be able to pre-populate the cam tables in the switch it is connected to when a failover occurs. This would be required for the rest of the network to see the layer 2 address (MAC) has moved and can now be reached on a different port/location on the network. Without this mechanism, the layer 2 topology no longer sees the MAC address of the LAGG interface at all as the default behavior for Cisco switches anyway is to flush the cam table entries associated with any port that is down. Upstream switches send traffic to the last recorded entry in their cam table. But that entry is now missing on the downstream switches connected to the LAGG host. This results in the LAGG host being unavailable from the rest of the network.

What I see is that the once I issue a ping from the BSD server out to network, the cam table entries are repopulated in the switches and the host again becomes reachable from the rest of the network. On Cisco switches, the default CAM table cache timeout is 5 minutes which results in a LAGG enabled host being inaccessible for a full 5 minutes until the MAC table entry for the LAGG host times out. This obviously is not a very attractive scenario.
I think this is a flaw in the way LAGG operates. I think some of the windows drivers for doing NIC teaming issue a Gratuitous arp to repoulate the cam entries upon a failure of a primary NIC. I think LAGG should do something similar.

Perhaps someone has a way to fix this issue (aside from running a ping cron or something equally silly to get this to work) or has some experience setting this up differently. I would prefer not to have to lower the cam timers on my switches for this to work. Any help is appreciated.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Freebsd broadcom driver jaideep_jdof FreeBSD Ports and Packages 9 10th November 2008 06:25 PM
Two NICs on same subnet anomie Other BSD and UNIX/UNIX-like 6 7th November 2008 03:24 AM
Installation Issue : FreeBSD 7.0-RELEASE on Dell D630 zelut FreeBSD Installation and Upgrading 4 3rd October 2008 12:44 PM
freeBSD router running openospfd with failover using ifstated dk_netsvil Guides 0 21st May 2008 05:26 PM
Lokking to install FreeBSD 730 on an old dell Dmension L933r FloridaBSD FreeBSD General 3 6th May 2008 05:24 PM


All times are GMT. The time now is 05:54 AM.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick