From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: Re: [BUG?] bonding, slave selection, carrier loss, etc. Date: Mon, 13 Feb 2012 10:48:10 -0800 Message-ID: <20120213104810.158d714a@nehalam.linuxnetplumber.net> References: <49CD5B93.7010407@nortel.com> <31087.1238198438@death.nxdomain.ibm.com> <4F35AC78.3010907@genband.com> <28766.1328925233@death.nxdomain> <1328986371.325.7.camel@deadeye> <4F39539B.5060507@genband.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: Ben Hutchings , Jay Vosburgh , andy@greyhouse.net, netdev To: Chris Friesen Return-path: Received: from mail.vyatta.com ([76.74.103.46]:58826 "EHLO mail.vyatta.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757425Ab2BMSsN (ORCPT ); Mon, 13 Feb 2012 13:48:13 -0500 In-Reply-To: <4F39539B.5060507@genband.com> Sender: netdev-owner@vger.kernel.org List-ID: On Mon, 13 Feb 2012 12:16:59 -0600 Chris Friesen wrote: > On 02/11/2012 12:52 PM, Ben Hutchings wrote: > > On Fri, 2012-02-10 at 17:53 -0800, Jay Vosburgh wrote: > >> Chris Friesen wrote: > > >>> The best solution would be for bonding to just register for notification > >>> of the link going down. Presumably most drivers should be doing that > >>> properly by now, and for devices that get interrupt-driven notification > >>> of link status changes this would allow the bonding code to react much > >>> quicker. > >> > >> A quick look at some drivers shows that at least acenic still > >> doesn't do netif_carrier_off, so converting entirely to a notifier-based > >> failover mechanism would break drivers that work today. > > [...] > > > > It might be worth having some sort of feature flag (in priv_flags) that > > indicates whether the driver updates the link state. Alternately, > > disable polling of a device once you see a notification. Just fix the drivers to update link state. The whole mii polling method of bonding is really leftover from the era of 10 years ago when network drivers were stupid and didn't handle carrier.