From owner-freebsd-stable@FreeBSD.ORG Wed Sep 24 17:12:28 2003 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C6F2916A4B3 for ; Wed, 24 Sep 2003 17:12:28 -0700 (PDT) Received: from mail.burghcom.com (snoop.burghcom.com [209.114.176.68]) by mx1.FreeBSD.org (Postfix) with SMTP id D45AE43FF9 for ; Wed, 24 Sep 2003 17:12:27 -0700 (PDT) (envelope-from jl@snoop.burghcom.com) Received: (qmail 65004 invoked by uid 1010); 25 Sep 2003 00:12:26 -0000 Message-ID: <20030925001226.65003.qmail@mail.burghcom.com> References: <20030924205143.GF2289@pir.net> <6.0.0.22.0.20030924180553.09affbe0@209.112.4.2> In-Reply-To: <6.0.0.22.0.20030924180553.09affbe0@209.112.4.2> From: "Jeff Love" To: Mike Tancsa , Bruce M Simpson Date: Wed, 24 Sep 2003 20:12:26 -0400 Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-8859-1" Content-Transfer-Encoding: 7bit cc: freebsd-stable@freebsd.org Subject: Re:"Noroute to host after certaintime"is fxp only? X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 25 Sep 2003 00:12:28 -0000 Mike Tancsa writes: > > It looks like a fix just got committed into the tree. > > bms 2003/09/24 14:48:00 PDT > > FreeBSD src repository > > Modified files: (Branch: RELENG_4) > sys/netinet if_ether.c > Log: > Fix a logic error in the check to see if arplookup() should free the > route. > > Noticed by: Mike Hogsett > Reviewed by: ru > > Revision Changes Path > 1.64.2.26 +1 -1 src/sys/netinet/if_ether.c > > > ---Mike > The patch provided by BMS looked exactly like the one on the security advisory, thus I have not applied it. Due to the fact that this machine was not patched but was cvsup(RELENG_4_8), and not being able to route to any cvsup server I had to manually update if_ether.c Changed; ----- snip ----- if (why) { if (create) log(LOG_DEBUG, "arplookup %s failed: %s\n", inet_ntoa(sin.sin_addr), why); /* If there are no references to this route, purge it */ if (rt->rt_refcnt <= 0 && (rt->rt_flags & RTF_WASCLONED) != RTF_WASCLONED) { rtrequest(RTM_DELETE, (struct sockaddr *)rt_key(rt), rt->rt_gateway, rt_mask(rt), rt->rt_flags, 0); } return (0); } return ((struct llinfo_arp *)rt->rt_llinfo); } ----- snip ----- To; ----- snip ----- if (why && create) { log(LOG_DEBUG, "arplookup %s failed: %s\n", inet_ntoa(sin.sin_addr), why); return 0; } else if (why) { return 0; } return ((struct llinfo_arp *)rt->rt_llinfo); } ----- snip ----- I then recompiled and installed kernel. Network seems to be back in order, with reverted if_ether.c. I suppose I've violated my src tree with this edit(4.8-RELEASE-p8 with older if_ether.c), so I'll cvsup ASAP for the correct fix. Thanks for the help! < < Jeff Love < Burgh Gaming // www.burghcom.com < MIG #1646 <