From owner-freebsd-current@FreeBSD.ORG Tue Mar 4 15:34:35 2008 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A792E1065673; Tue, 4 Mar 2008 15:34:35 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id 674C58FC1D; Tue, 4 Mar 2008 15:34:35 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.2/8.14.1) with ESMTP id m24FVGPr071325; Tue, 4 Mar 2008 08:31:16 -0700 (MST) (envelope-from imp@bsdimp.com) Date: Tue, 04 Mar 2008 08:31:44 -0700 (MST) Message-Id: <20080304.083144.1219863991.imp@bsdimp.com> To: xcllnt@mac.com, re@freebsd.org, current@freebsd.org From: "M. Warner Losh" In-Reply-To: <0B526200-AE42-436D-BB28-51B396D95FC5@rabson.org> References: <47CCDA8A.60004@errno.com> <0B526200-AE42-436D-BB28-51B396D95FC5@rabson.org> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: Subject: Re: IPSEC/crypto is broken in FreeBSD/powerpc 7.0-RELEASE! X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Mar 2008 15:34:35 -0000 digging deeper... The crypto code looks good to me. It explicitly sets the driver name. Drivers that have a class explicitly set will have that driver's probe called, and only that driver's probe. In arm, amd64, sparc64, i386 and ia64, all of the devices for the nexus routine are added this way, so there's no problem. I think that the real problem is that both 'real' hardware and 'fake' hardware is being attached to the nexus driver for the AIM. The grackle, uninorth and unin drivers all ask the nexus for their names. That's because they really should be children of a openfirmware device that enumerates these things. However, since there's now a 'fake' device on nexus that doesn't ask the nexus for its name (since that's not how children of nexus work) there's a problem. So the fix to the problem is to add a layer for the AIM class of machine to attach grackle, uninorth or unin to a ofw device. Warner