From owner-freebsd-net@FreeBSD.ORG Sat Aug 9 05:57:56 2008 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 180831065673 for ; Sat, 9 Aug 2008 05:57:56 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from pele.citylink.co.nz (pele.citylink.co.nz [202.8.44.226]) by mx1.freebsd.org (Postfix) with ESMTP id 9F0978FC12 for ; Sat, 9 Aug 2008 05:57:55 +0000 (UTC) (envelope-from thompsa@FreeBSD.org) Received: from localhost (localhost [127.0.0.1]) by pele.citylink.co.nz (Postfix) with ESMTP id 691262BD18; Sat, 9 Aug 2008 17:57:54 +1200 (NZST) X-Virus-Scanned: Debian amavisd-new at citylink.co.nz Received: from pele.citylink.co.nz ([127.0.0.1]) by localhost (pele.citylink.co.nz [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id r0wwsqAYU9wa; Sat, 9 Aug 2008 17:57:49 +1200 (NZST) Received: from citylink.fud.org.nz (unknown [202.8.44.45]) by pele.citylink.co.nz (Postfix) with ESMTP; Sat, 9 Aug 2008 17:57:49 +1200 (NZST) Received: by citylink.fud.org.nz (Postfix, from userid 1001) id 6B56E1142A; Sat, 9 Aug 2008 17:57:49 +1200 (NZST) Date: Fri, 8 Aug 2008 22:57:49 -0700 From: Andrew Thompson To: Jacob Owens Message-ID: <20080809055749.GA95107@citylink.fud.org.nz> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.17 (2007-11-01) Cc: freebsd-net@freebsd.org Subject: Re: lagg failover not automatic X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Aug 2008 05:57:56 -0000 On Fri, Aug 08, 2008 at 11:49:27PM -0500, Jacob Owens wrote: > Hello. > > I've got a old sun V100 which features two gigabit ports (using dc driver). > I've been trying to get lagg failover working. on SPARC64 7.0 RELEASE > > On the box I put the following in /etc/rc.conf: > ifconfig_dc0="UP" > ifconfig_dc1="UP" > cloned_interfaces="lagg0" > ifconfig_lagg0="laggproto failover laggport dc0 laggport dc1 50.40.0.3netmask > 255.255.0.0 > > I even added this to my loader.conf (per the man page) > if_lagg_load="YES" > > I'm not using a smart switch, so no STP. > > What happens when I unplug the "master" interface, is that the network will > stop working. the second I type in 'ifconfig -v' to see what the situation > is, there is a small pause, and then the network fails over to the second > nic and starts working. So it seems that typing 'ifconfig' somehow wakes the > config up... Dmesg does not show the appropriate update (dc0: link state > changed to DOWN/dc0: link state changed to UP) until after i type ifconfig > either. Here is the before and after outfut of 'ifconfig -v' lagg (failover/loadbalance) relies on the hardware/driver reporting the link state changes to do failover, its the only way it can tell if the link has gone down. Running ifconfig will cause the hardware media to be polled as it needs the current state for the 'media: ...' line, this will cause the needed linkstate event to happen since it is different to the stored value. This is meant to happen automatically, this is a bug in the dc driver. One thing to note is that LACP mode does not have this problem as heartbeat frames are exchanged with the peer, apart from being slower as its a timeout vs link event. cheers, Andrew