> > I'm surprised to see the DLD namespace (and the <sys/dld.h> header)
 > > leaking into the MAC driver API.  The DLD prefix is intended to be used by
 > > the private API between libdladm and the data link driver (dld) itself.
 > > It's not clear to me what that has to do the MAC driver API exported to
 > > drivers.  (I see that the existing Brussels link properties use "DLD" too,
 > > but I don't understand that either.  I also see there appear to be unused
 > > DLD_NDD_{READ,WRITE} #defines adrift in Nevada.)
 > 
 > I've always felt the distinction between dld and mac "felt" random at 
 > times.

For the MAC Client API it can be a bit blurry, but the MAC Driver API
seems clearer.  I looked a number of GLDv3 drivers in ON using the API and
none of them (aside from bge with the Brussels conversion) are pulling in
<sys/dld.h>.  My understanding is that <sys/dld.h> is an implementation
detail, and does not belong in any APIs that we might raise to committed.

 > Add in dls, and mere mortals like myself have a really hard time 
 > figuring out what lives where.

I hear that a lot of this is changing with Crossbow, so hopefully it will
be getting simpler.

 > I would be happier to see consistent naming in the APIs though, 
 > admittedly.  Perhaps this can be rectified with a follow-on fast-track 
 > for Brussels.  (Things like this are one of the reasons that I've been 
 > hesitant in the past to raise commitment levels of Nemo related APIs too 
 > quickly, btw.)

Why not fix this now?  (The existing Brussels DLD_* constants can be dealt
with at another time.)

-- 
meem

Reply via email to