Peter Memishian wrote:
> > > 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.
>
Okay, well this is a good point to raise. I wish it had been raised
back when we were reviewing PSARC 2007/429. Oh well, I'm as guilty of
anyone. ;-) Meanwhile, at least nothing here is public, so its not too
late fix it now.
> > 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.
>
Good. I seem to recall hearing about plans to merge dls and dld, but I
don't recall exactly the details.
> > 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.)
>
For this case, I'll leave that decision up to the project team.
(Clearly the existing Brussels API will need to be changed at some point
as well.)
- Garrett