> Like I mentioned in a mail to Eric, that there is always the chance that > other libraries need to call libdladm functions, if libdladm is where we put > all general functions. I gave the example of the datalink configuration API, > which we are currently making as a part of libdladm. The above example shows > why we need liblaadm to call datalink configuration APIs.
OK. Another design we should seriously consider is merging liblaadm, libwladm and libdladm into a single library. If there is no longer a clear boundary between the layers (which seems to be the case if things frequently need to call into one another), then merging into a common library may be the simplest approach. Alternatively, it may make sense to merge just certain parts -- e.g., APIs that deal with persistent configuration (since we now have a single persistent configuration). -- meem
