From owner-freebsd-net@FreeBSD.ORG Wed Apr 18 12:55:49 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 D8DA716A401 for ; Wed, 18 Apr 2007 12:55:49 +0000 (UTC) (envelope-from yar@comp.chem.msu.su) Received: from comp.chem.msu.su (comp.chem.msu.su [158.250.32.97]) by mx1.freebsd.org (Postfix) with ESMTP id 4BE7013C487 for ; Wed, 18 Apr 2007 12:55:48 +0000 (UTC) (envelope-from yar@comp.chem.msu.su) Received: from comp.chem.msu.su (localhost [127.0.0.1]) by comp.chem.msu.su (8.13.4/8.13.4) with ESMTP id l3ICtjO5047049; Wed, 18 Apr 2007 16:55:45 +0400 (MSD) (envelope-from yar@comp.chem.msu.su) Received: (from yar@localhost) by comp.chem.msu.su (8.13.4/8.13.4/Submit) id l3IC6N1K046008; Wed, 18 Apr 2007 16:06:23 +0400 (MSD) (envelope-from yar) Date: Wed, 18 Apr 2007 16:06:23 +0400 From: Yar Tikhiy To: Alan Garfield Message-ID: <20070418120622.GF40826@comp.chem.msu.su> References: <1176861009.4426.21.camel@hiro.auspc.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1176861009.4426.21.camel@hiro.auspc.com.au> User-Agent: Mutt/1.5.9i 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: Wed, 18 Apr 2007 12:55:49 -0000 On Wed, Apr 18, 2007 at 11:50:09AM +1000, Alan Garfield wrote: > Hi all! > > One word.... HOW! :) > > I've no clue what this FreeBSD ARP stuff is all about, there is little > or no documentation, there are 14 different sock_addr's which seem to > have a bazillion different fields, and I cannot output a simple debug > statement without getting 'error: dereferencing pointer to incomplete > type' errors! > > Sorry for the rant, I'm just frustrated. :) I've been going great on > this port, but now I've struck ARP and have been stuck for days and I > cannot seem to get myself out no matter how much kernel code I grep it > still all looks Greek to me. > > I understand what ARP is and how it does it's thing. I even understand > how Linux does it, but I cannot get a handle on how/why FreeBSD does > what it does. > [...] > > I just want an idea of the structures involved, and what I need to > implement to intercept and injecting a fake MAC so my buffer driver can > communicate with the other side without ARP errors. Could you tell more details on the problem you are trying to solve now. Sorry, but I fail to see what errors you get, and why. Doesn't the Service Processor on the other side of that little Ethernet link behave as a conventional IP host? (Alan is writing a driver for the interface between the CPU and the Service Processor found in Sun Fire. Of course, FreeBSD runs on the CPU, while the SP executes a sort of Linux. The interface mimics Ethernet, but I don't know what lengths it goes to in doing so.) -- Yar