Date: Tue, 04 Mar 2008 08:31:44 -0700 (MST) From: "M. Warner Losh" <imp@bsdimp.com> To: xcllnt@mac.com, re@freebsd.org, current@freebsd.org Subject: Re: IPSEC/crypto is broken in FreeBSD/powerpc 7.0-RELEASE! Message-ID: <20080304.083144.1219863991.imp@bsdimp.com> In-Reply-To: <0B526200-AE42-436D-BB28-51B396D95FC5@rabson.org> References: <47CCDA8A.60004@errno.com> <FDC693C6-708A-4DC0-8D0C-2CCDDD50E876@mac.com> <0B526200-AE42-436D-BB28-51B396D95FC5@rabson.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080304.083144.1219863991.imp>