summaryrefslogtreecommitdiff
path: root/usr/src/lib/libdlpi/common/libdlpi.c
diff options
context:
space:
mode:
authorsowmini <none@none>2008-01-24 14:49:21 -0800
committersowmini <none@none>2008-01-24 14:49:21 -0800
commite7801d59e8ceda0cde8ebdfdddd7582ee2ea96ef (patch)
treeaa5f6ba96fab8905146ea99d10af75f480c45e9e /usr/src/lib/libdlpi/common/libdlpi.c
parent575bd8a230f2c20b1878ebb473c30a12f0eb1b2e (diff)
downloadillumos-joyent-e7801d59e8ceda0cde8ebdfdddd7582ee2ea96ef.tar.gz
PSARC 2007/429 Brussels - enhanced network driver configuration via dladm
6565373 driver ndd parameter behavior does not match the ieee802.3(5) man page. 6598690 need support for 'dladm show-ether' subcommand. 6619126 ndd abuse in network (Layer 2) drivers 6621285 bge_setup_params_kstat is dead code
Diffstat (limited to 'usr/src/lib/libdlpi/common/libdlpi.c')
-rw-r--r--usr/src/lib/libdlpi/common/libdlpi.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/usr/src/lib/libdlpi/common/libdlpi.c b/usr/src/lib/libdlpi/common/libdlpi.c
index f403135b6a..3849824ff0 100644
--- a/usr/src/lib/libdlpi/common/libdlpi.c
+++ b/usr/src/lib/libdlpi/common/libdlpi.c
@@ -368,16 +368,12 @@ dlpi_info(dlpi_handle_t dh, dlpi_info_t *infop, uint_t opt)
int
dlpi_parselink(const char *linkname, char *provider, uint_t *ppa)
{
- ifspec_t ifsp;
-
- if (linkname == NULL || !ifparse_ifspec(linkname, &ifsp))
- return (DLPI_ELINKNAMEINVAL);
+ dladm_status_t status;
- if (provider != NULL)
- (void) strlcpy(provider, ifsp.ifsp_devnm, DLPI_LINKNAME_MAX);
+ status = dladm_parselink(linkname, provider, ppa);
- if (ppa != NULL)
- *ppa = ifsp.ifsp_ppa;
+ if (status != DLADM_STATUS_OK)
+ return (DLPI_ELINKNAMEINVAL);
return (DLPI_SUCCESS);
}