2007/636 Nemo MAC client updates

Sebastien Roy Sebastien.Roy at sun.com
Thu Nov 8 20:29:51 PST 2007


I'm sponsoring the following self-reviewed case for Cathy Zhou.  I've 
marked the case as closed approved automatic.

---

Release binding: patch

1 Introduction
===============

   This fast-track proposes to change the signature of the following two
   GLDv3 functions, which were introduced in PSARC/2006/249.

	- MAC client interface:		mac_open()
	- DLS clients interface:	dls_create()

2. Details
===========

2.2 mac_open()
---------------

   The current signature of mac_open() is:

	int mac_open(const char *macname, uint_t ddi_instance,
	    mac_handle_t *mhp);

   To use this interface, MAC clients have to determine the correct
   "ddi_instance" by comparing the driver name part of the "macname"
   argument with all known pseudo driver names, something like:

         ddi_parse(macname, drv, &ddi_instance);
         if ((strcmp(drv, "aggr") == 0) || (strcmp(drv, "vnic") == 0))
                 ddi_instance = 0;
         mac_open(macname, ddi_instance, &mh);

   In fact, the comparision logic is already in the mac_open() function,
   therefore the "ddi_instance" argument is no longer needed. As a
   result, the function signature will be changed to:

   	int mac_open(const char *macname, mac_handle_t *mhp);

2.1 dls_create()
----------------

   The current signature of dls_create() is:

	int dls_create(const char *linkname, const char *macname,
	    uint_t ddi_instance);

   This fast track proposes to remove the need of the "ddi_instance"
   argument, and change the function signature to be:

	int dls_create(const char *linkname, const char *macname);

3. Interface Table
===================

+---------------------------------------------------------+
|                 |   Interfaces Exported |               |
|-----------------+-----------------------+---------------|
| Interface       |  Classification       |  Comments     |
|-----------------+-----------------------+---------------|
| mac_open()      | Consolidation Private | <sys/mac.h>   |
| dls_create()    | Consolidation Private | <sys/dls.h>   |
+---------------------------------------------------------+



More information about the opensolaris-arc mailing list