A few minor comment on some details:

 > Interface                       Classification          Comments
 > -----------------------------------------------------------------------------
 > mac_register_priv_prop               Committed               Section 4.1
 > DLD_PERM_{READ, WRITE}               Committed               r/w permissions
 >                                                      for ndd properties
 >                                                      defined in <sys/dld.h>

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.)

 > Synopsis:
 >   void mac_register_priv_prop(mac_handle_t mh, char *name, int flags)

Seems like `name' should be `const char *' and `flags' should be unsigned.

 > Description:
 > 
 > Drivers wishing to support non-canonical ndd parameters must provide
 > the names of these parameters to the GLDv3 framework after
 > succesfully completing mac_register() in their  attach(9E)  routine.
 >
 > 
 > Parameters:
 >   mh mac_handle_t obtained after succesfully completing mac_register.
 >   name  property name of the non-canonical ndd prop to be registered

What happens if the name passed in is already a canonical ndd property?
Is it just silently ignored?

 >   flags property flags defined in <sys/dld.h> which may be a logical OR of  
 >         {DLD_PERM_READ, DLD_PERM_WRITE}, describing read/write permissions
 >         for the property.}

-- 
meem

Reply via email to