From owner-svn-src-head@freebsd.org Wed Dec 16 14:43:09 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id ACD7FA48382 for ; Wed, 16 Dec 2015 14:43:09 +0000 (UTC) (envelope-from steven@multiplay.co.uk) Received: from mail-wm0-x22b.google.com (mail-wm0-x22b.google.com [IPv6:2a00:1450:400c:c09::22b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 448541026 for ; Wed, 16 Dec 2015 14:43:09 +0000 (UTC) (envelope-from steven@multiplay.co.uk) Received: by mail-wm0-x22b.google.com with SMTP id p187so4277305wmp.1 for ; Wed, 16 Dec 2015 06:43:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=multiplay-co-uk.20150623.gappssmtp.com; s=20150623; h=from:subject:to:references:message-id:date:user-agent:mime-version :in-reply-to:content-type:content-transfer-encoding; bh=pKjFcmzMCMI6VJDOVB79QiJlj1vtEZcJd9ubWXZrYi4=; b=AMsG4L0hmK6TASGDJ3kJhwuYF0h35SJIluUbLnGAld4i5dfOIlfGbdD91GQhuTkWNR tFcS1KNy9QgD7BwJMc4zcKFcQZNDoy5DCOV9vyaqBRiWAKDMIzSTASbIZnGkLy7XEF58 ZUTVPksfsn8vX8c+Ip2tozsMqBmuwXA6UYqqnsAWf56dxSEYUXSrQ3q7A4qXwstYxA8o 6ugAuUKLcMYA1aEVVNHvN9fJTV6+N4fJv0icpb/i1AZ6F72x+hvZJ7dekmZD8vm8qArq Lbj1sWOX1rBe0L7IE+srCxSw6N724PlhjH7y6nCTt2wVSZeGIWhJCn7A9Er0VmRP7xS4 jehA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:subject:to:references:message-id:date :user-agent:mime-version:in-reply-to:content-type :content-transfer-encoding; bh=pKjFcmzMCMI6VJDOVB79QiJlj1vtEZcJd9ubWXZrYi4=; b=PEh9Zm57IG1TaDieuTqiixHJs/W5EQIldnWFLM9+6Kt0KgRRH/F1ln6/2IPpBXpdYz ZbyVZZz3HCbmdRVjjpnRioOkf+Gk7sRkLEaa9AX2gaRt0t4ndoPsDI+U91RSsQkOEDVt f+c9pL0uAYT7RvH6sxb9lDqf/5qOrBs5DG+WPkxZaawVRo63GgwbFVXg2F2/5E3uMZgS j14JZAl8kCYdWIcLYKQ44/X/l1GLEku8aJs6Q92d1V9U1cauXSuzvoIjNOlqGaiQrGB9 uERZdI+YVypkPzkbHn+z3g6+gA4CLFVlsO0F01mZLaNWCKYR1yfpI7TVqfwnqco/tbjg Hv4g== X-Gm-Message-State: ALoCoQkhicZiTWv/JnumBKm4VlzjA7G2qrMafsYadB3iTKvBv/b1e9hRMZcmaGT2ePf88NeXDTKHRb9WVliUQ/MgoiK4PLNUAA== X-Received: by 10.28.4.72 with SMTP id 69mr12188093wme.10.1450276987585; Wed, 16 Dec 2015 06:43:07 -0800 (PST) Received: from [10.10.1.58] (liv3d.labs.multiplay.co.uk. [82.69.141.171]) by smtp.gmail.com with ESMTPSA id e136sm7713353wma.23.2015.12.16.06.43.05 (version=TLSv1/SSLv3 cipher=OTHER); Wed, 16 Dec 2015 06:43:05 -0800 (PST) From: Steven Hartland X-Google-Original-From: Steven Hartland Subject: Re: svn commit: r292275 - in head/sys: net netinet netinet6 To: "Alexander V. Chernikov" , "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" References: <201512151602.tBFG2BTX089543@repo.freebsd.org> <633021450256567@web13o.yandex.ru> Message-ID: <5671787E.4060303@freebsd.org> Date: Wed, 16 Dec 2015 14:43:10 +0000 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <633021450256567@web13o.yandex.ru> Content-Type: text/plain; charset=koi8-r; format=flowed Content-Transfer-Encoding: 7bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 16 Dec 2015 14:43:09 -0000 On 16/12/2015 09:02, Alexander V. Chernikov wrote: > 15.12.2015, 19:02, "Steven Hartland" : >> Author: smh >> Date: Tue Dec 15 16:02:11 2015 >> New Revision: 292275 >> URL: https://svnweb.freebsd.org/changeset/base/292275 >> >> Log: >> Fix lagg failover due to missing notifications >> >> When using lagg failover mode neither Gratuitous ARP (IPv4) or Unsolicited >> Neighbour Advertisements (IPv6) are sent to notify other nodes that the >> address may have moved. >> >> This results is slow failover, dropped packets and network outages for the >> lagg interface when the primary link goes down. >> >> We now use the new if_link_state_change_cond with the force param set to >> allow lagg to force through link state changes and hence fire a >> ifnet_link_event which are now monitored by rip and nd6. >> >> Upon receiving these events each protocol trigger the relevant >> notifications: >> * inet4 => Gratuitous ARP >> * inet6 => Unsolicited Neighbour Announce > Steven, I believe that having DELAY() called inside callout routine is incorrect - you are delaying other consumers for arbitrary amount of time. > If you really want to do it that way you should create separate taskqueue for that. > Also, destroying interface while doing these DELAYs would very likely crash the system > :"#define IN6_MAX_ANYCAST_DELAY_TIME_MS 1000000" is misguiding > There are some style(9) issues like lack of empty line between nd6_init() and nd6_ifnet_link_event() > ... Thanks Alexander, do you think an acceptable workaround for the time being is to remove the DELAY, until I get some time to work on a taskqueue? Also do you have any input on the questions I raised about Kristof's panic due to NULL ifp->if_addr arp_announce?