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> |
+---------------------------------------------------------+