From owner-freebsd-net@FreeBSD.ORG Thu Apr 19 08:54:25 2007 Return-Path: X-Original-To: freebsd-net@freebsd.org Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 443FA16A400 for ; Thu, 19 Apr 2007 08:54:25 +0000 (UTC) (envelope-from alan@fromorbit.com) Received: from thing1.auspcmarket.com.au (mail.fromorbit.com [203.31.169.65]) by mx1.freebsd.org (Postfix) with ESMTP id 09D0C13C465 for ; Thu, 19 Apr 2007 08:54:24 +0000 (UTC) (envelope-from alan@fromorbit.com) Received: from [192.168.1.99] (unknown [192.168.1.99]) by thing1.auspcmarket.com.au (Postfix) with ESMTP id 55DFA5D66; Thu, 19 Apr 2007 18:54:24 +1000 (EST) From: Alan Garfield To: Yar Tikhiy In-Reply-To: <20070419073525.GA60301@comp.chem.msu.su> References: <1176861009.4426.21.camel@hiro.auspc.com.au> <20070418120622.GF40826@comp.chem.msu.su> <1176947814.4175.39.camel@hiro.auspc.com.au> <20070419073525.GA60301@comp.chem.msu.su> Content-Type: text/plain Date: Thu, 19 Apr 2007 18:54:23 +1000 Message-Id: <1176972863.4177.7.camel@hiro.auspc.com.au> Mime-Version: 1.0 X-Mailer: Evolution 2.8.3 (2.8.3-2.fc6) Content-Transfer-Encoding: 7bit Cc: freebsd-net@freebsd.org Subject: Re: rtentry and rtrequest 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: Thu, 19 Apr 2007 08:54:25 -0000 On Thu, 2007-04-19 at 11:35 +0400, Yar Tikhiy wrote: > > ... and I get these ARP errors. > > > > ---- > > jnet0: port 0xa8,0xae-0xaf irq 19 on > > acpi0 > > jnet0: Ethernet address: 00:09:3d:00:00:03 > > jnet0: jnet_start_locked() called. > > jnet0: m == 0. > > jnet0: RTM_ADD. > > arplookup 169.254.101.2 failed: could not allocate llinfo > > arpresolve: can't allocate route for 169.254.101.2 > > ---- > > > > ... whenever I try and send anything. > > Did you set the maximum lengths for the output queue and the driver > queue in the attach function? ---- // Configure the structure for the device ifp->if_softc = sc; if_initname(ifp, device_get_name(dev), device_get_unit(dev)); // Function pointers ifp->if_start = jnet_start; ifp->if_ioctl = jnet_ioctl; ifp->if_watchdog = jnet_watchdog; ifp->if_init = jnet_init; // Interface specifics ifp->if_flags = IFF_SIMPLEX; IFQ_SET_MAXLEN(&ifp->if_snd, IFQ_MAXLEN); ifp->if_snd.ifq_drv_maxlen = IFQ_MAXLEN; IFQ_SET_READY(&ifp->if_snd); ifp->if_timer = MAX_TIMEOUT; // Set our fake MAC address bcopy(localMac, sc->enaddr, 6); // Attach the ethernet interface ether_ifattach(ifp, sc->enaddr); // Reset the mtu ifp->if_mtu = JNET_MTU; ---- I think so. :) I beginning to think the ARP issue is a symptom not the cause. The cause may well be something is wrong with my initialisation of the output queue and my handling of the de-queueing packets. I've looked at many if_* drivers sources and they all seem very similar to what I've already done. -A.