|
FreeBSD General Other questions regarding FreeBSD which do not fit in any of the categories below. |
|
Thread Tools | Display Modes |
|
|||
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. |
|
|||
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.
|
|
||||
|
|
|||
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... |
|
|||
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. |
|
|
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 |