From owner-freebsd-net@FreeBSD.ORG Mon Feb 2 13:44:41 2009 Return-Path: Delivered-To: freebsd-net@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1334B106566B; Mon, 2 Feb 2009 13:44:41 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id 01C728FC24; Mon, 2 Feb 2009 13:44:41 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from freefall.freebsd.org (rwatson@localhost [127.0.0.1]) by freefall.freebsd.org (8.14.3/8.14.3) with ESMTP id n12Die9G021762; Mon, 2 Feb 2009 13:44:40 GMT (envelope-from rwatson@freefall.freebsd.org) Received: (from rwatson@localhost) by freefall.freebsd.org (8.14.3/8.14.3/Submit) id n12DieCX021758; Mon, 2 Feb 2009 13:44:40 GMT (envelope-from rwatson) Date: Mon, 2 Feb 2009 13:44:40 GMT Message-Id: <200902021344.n12DieCX021758@freefall.freebsd.org> To: jchambers@ucla.edu, rwatson@FreeBSD.org, freebsd-net@FreeBSD.org From: rwatson@FreeBSD.org Cc: Subject: Re: kern/130605: [tcp] Certain hardware produces "Network is unreachable" errors for scanning tools 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: Mon, 02 Feb 2009 13:44:41 -0000 Synopsis: [tcp] Certain hardware produces "Network is unreachable" errors for scanning tools State-Changed-From-To: open->feedback State-Changed-By: rwatson State-Changed-When: Mon Feb 2 13:32:50 UTC 2009 State-Changed-Why: Hi Jason: Thanks for your detailed bug report. It seems like a few things are going on here, and probably need to be diagnosed individaully. First, the error reported by Nessus, "BIOCSRTIEOUT: Invalid argument" can, I believe, only be triggered in the following kernel code: int itimerfix(struct timeval *tv) { if (tv->tv_sec < 0 || tv->tv_usec < 0 || tv->tv_usec >= 1000000) return (EINVAL); if (tv->tv_sec == 0 && tv->tv_usec != 0 && tv->tv_usec < tick) tv->tv_usec = tick; return (0); } This suggests that Nessus is passing an unexpectedly high or low number of usec's, and is therefore probably an application bug. In general, "Network is unreachable" (ENETUNREACH) is generated by protocol sockets when the destination host is on a non-local network and the gateway specified in the route to the host is unreachable -- for example, ARP can't find the gateway, the device link is down, etc. Is there any indication in the system logs of the link state going up and down? You can use "route -n monitor" to track some of the relevant events. Given that you've tried multiple cards, I can't help but wondering if there is a cabling, switch, or router problem, so if you haven't already, I'd follow those possible lines of diagnosis as well. http://www.freebsd.org/cgi/query-pr.cgi?pr=130605