Skip site navigation (1)Skip section navigation (2)
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>