diff options
author | <Eric.Cheng@Sun.COM> | 2009-11-09 20:01:32 -0800 |
---|---|---|
committer | <Eric.Cheng@Sun.COM> | 2009-11-09 20:01:32 -0800 |
commit | 8d4cf8d8d2965ea43bccdc838f15c18634fee02d (patch) | |
tree | 87ace970c3bc9c66d8b1d5fbe22559f3bc858ba4 /usr/src/lib/libdladm/common/linkprop.c | |
parent | bd9f6899328e19cbb74e3ad02f5c32002285887e (diff) | |
download | illumos-joyent-8d4cf8d8d2965ea43bccdc838f15c18634fee02d.tar.gz |
6890826 DLPI consumers using IP receive only broadcast messages
6888482 failure to initialize link props should not be ignored
Diffstat (limited to 'usr/src/lib/libdladm/common/linkprop.c')
-rw-r--r-- | usr/src/lib/libdladm/common/linkprop.c | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/usr/src/lib/libdladm/common/linkprop.c b/usr/src/lib/libdladm/common/linkprop.c index eca1aecd7f..bd4190b159 100644 --- a/usr/src/lib/libdladm/common/linkprop.c +++ b/usr/src/lib/libdladm/common/linkprop.c @@ -1211,8 +1211,9 @@ static int i_dladm_init_one_prop(dladm_handle_t handle, datalink_id_t linkid, const char *prop_name, void *arg) { - char *buf, **propvals; - uint_t i, valcnt = DLADM_MAX_PROP_VALCNT; + char *buf, **propvals; + uint_t i, valcnt = DLADM_MAX_PROP_VALCNT; + dladm_status_t status, *retval = arg; if ((buf = malloc((sizeof (char *) + DLADM_PROP_VAL_MAX) * DLADM_MAX_PROP_VALCNT)) == NULL) { @@ -1231,8 +1232,10 @@ i_dladm_init_one_prop(dladm_handle_t handle, datalink_id_t linkid, goto done; } - (void) dladm_set_linkprop(handle, linkid, prop_name, propvals, valcnt, - DLADM_OPT_ACTIVE); + status = dladm_set_linkprop(handle, linkid, prop_name, propvals, + valcnt, DLADM_OPT_ACTIVE); + if (status != DLADM_STATUS_OK) + *retval = status; done: if (buf != NULL) @@ -1263,6 +1266,7 @@ dladm_status_t dladm_init_linkprop(dladm_handle_t handle, datalink_id_t linkid, boolean_t any_media) { + dladm_status_t status = DLADM_STATUS_OK; datalink_media_t dmedia; uint32_t media; @@ -1275,10 +1279,10 @@ dladm_init_linkprop(dladm_handle_t handle, datalink_id_t linkid, ((dladm_datalink_id2info(handle, linkid, NULL, NULL, &media, NULL, 0) == DLADM_STATUS_OK) && DATALINK_MEDIA_ACCEPTED(dmedia, media))) { - (void) dladm_walk_linkprop(handle, linkid, NULL, + (void) dladm_walk_linkprop(handle, linkid, &status, i_dladm_init_one_prop); } - return (DLADM_STATUS_OK); + return (status); } /* ARGSUSED */ |