From owner-freebsd-net@FreeBSD.ORG Mon Apr 22 19:16:18 2013 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 630A3466; Mon, 22 Apr 2013 19:16:18 +0000 (UTC) (envelope-from jmojica@gmail.com) Received: from mail-we0-x22f.google.com (mail-we0-x22f.google.com [IPv6:2a00:1450:400c:c03::22f]) by mx1.freebsd.org (Postfix) with ESMTP id C91631F66; Mon, 22 Apr 2013 19:16:17 +0000 (UTC) Received: by mail-we0-f175.google.com with SMTP id t11so6909185wey.20 for ; Mon, 22 Apr 2013 12:16:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=YYYWirGMnoukTQWDPOM3wJbARNPff8Xey8eKft7SWVw=; b=DmBklR4QC4CC2nFkLmPGieQkduc4BWaHaaTseQjnxj0Z0m/gH3O9yD7InYphIAZwGP ELwzbEISTX2BmfrJ8DwZgRnP91/U7P9OhWCxvAt4tMv52ONkK3ZDRRBvkv6Pe7qi/9jy AxGuvxfJPrqRCK9/WWVCO0Bc05T9th7fM1QDiS9SNOs/icl6mRLic78y8ZVIUA2gy/mK 7Oo/Bt9DdEuDC+vsgOS82h3uP6tWO2zsXaJn24zUF0bY3pGK6zSHz0kVMMHtxbymxu2i ivK0H6tAZprwV47s7iEefwW/XivhKR0yCvN//lT1j0XMVtgfUzxmiDg3AvvddYqgreay Xjew== MIME-Version: 1.0 X-Received: by 10.194.92.197 with SMTP id co5mr25429918wjb.41.1366658176464; Mon, 22 Apr 2013 12:16:16 -0700 (PDT) Received: by 10.194.122.73 with HTTP; Mon, 22 Apr 2013 12:16:16 -0700 (PDT) In-Reply-To: References: <20130422095759.GC76816@FreeBSD.org> Date: Mon, 22 Apr 2013 15:16:16 -0400 Message-ID: Subject: Re: ARP: Error Message in if_ether.c "arprequest: cannot find matching address" From: Juan Mojica To: Gleb Smirnoff Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.14 Cc: FreeBSD Net X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.14 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, 22 Apr 2013 19:16:18 -0000 I'll provide my revision shortly. On Mon, Apr 22, 2013 at 2:48 PM, Juan Mojica wrote: > Thanks Gleb. I do not believe this path can triggered by an incoming > frame. I am planning on adding a KASSERT here to get a core when we > exercise this code in our debug images. > > -Juan > > > On Mon, Apr 22, 2013 at 5:57 AM, Gleb Smirnoff wrote: > >> On Wed, Apr 17, 2013 at 08:46:42AM -0400, Juan Mojica wrote: >> J> We manage to hit the following message with some regularity. >> J> >> J> arprequest: cannot find matching address >> J> >> J> The code shows a printf: >> J> >> J> printf("%s: cannot find matching address\n", __func__); >> J> >> J> >> J> Any reason this is a printf and not a >> J> >> J> log(LOG_ERR, >> J> >> J> The only things I can come up with are: >> J> >> J> a) it is a really severe and should be printed out, which if that is >> the >> J> case why isn't there an assert there? >> J> b) whoops, that should probably be a log(LOG_ERR, >> J> On our end we need to figure out exactly why we're intermittently >> hitting >> J> this patch of code. >> >> Can you please try this patch? Let's see what's going on. >> >> printf()ing in kernel is especially unsafe when the event can be triggered >> remotely. The arprequest() is called on output path of a packet, however >> I'm not sure that it can't be triggered by incoming packet. >> >> -- >> Totus tuus, Glebius. >> > > > > -- > Juan Mojica > Email: jmojica@gmail.com > -- Juan Mojica Email: jmojica@gmail.com