From owner-freebsd-net@FreeBSD.ORG Thu Oct 21 23:18:03 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2082F16A4CE for ; Thu, 21 Oct 2004 23:18:03 +0000 (GMT) Received: from rproxy.gmail.com (rproxy.gmail.com [64.233.170.192]) by mx1.FreeBSD.org (Postfix) with ESMTP id 745B543D55 for ; Thu, 21 Oct 2004 23:18:02 +0000 (GMT) (envelope-from juan.fco.rodriguez@gmail.com) Received: by rproxy.gmail.com with SMTP id 74so88972rnk for ; Thu, 21 Oct 2004 16:18:00 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:mime-version:content-type:content-transfer-encoding; b=QHz+T70M8pu90sFWH8DSWvWyXrACEq6Gtt4QjIAFzCpk8aGe353i2SS+K18BtNVKiev9NLeGxb44x7A0fdkOu+eDR/CuRTHs2SFc0dxPdzYxXSOW3+EIvsUhkG4VcOGx2dnYZ7XjrxXDfJliCWFXLLIAhERoh6SUMy3xQjfle6g= Received: by 10.38.151.68 with SMTP id y68mr3366551rnd; Thu, 21 Oct 2004 16:17:35 -0700 (PDT) Received: by 10.38.102.43 with HTTP; Thu, 21 Oct 2004 16:17:29 -0700 (PDT) Message-ID: <96b30c400410211617466e7ea9@mail.gmail.com> Date: Fri, 22 Oct 2004 00:17:29 +0100 From: Juan Rodriguez To: freebsd-net@freebsd.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: if_ed.c "NIC memory corrupt - invalid packet length" error X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list Reply-To: Juan Rodriguez List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 21 Oct 2004 23:18:03 -0000 Hello, I'm getting this error now and then, so I've tried to look at the file "if_ed.c" where the message is printed to sort it out... I'd be glad if somebody could tell me what's the reason of this line inside "ed_rint()" function: /* * because buffers are aligned on 256-byte boundary, * the length computed above is off by 256 in almost * all cases. Fix it... */ if (len & 0xff) len -= 256 ; I wonder what can happen here if we've got a length value that is less than 256. We could end up with a negative value... could it be this the source that causes the problem ? PS: I'm kinda newbie so I might be saying stupid things! :) Thanks