summaryrefslogtreecommitdiff
path: root/usr/src/lib/libdladm/common/libdllink.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/lib/libdladm/common/libdllink.c')
-rw-r--r--usr/src/lib/libdladm/common/libdllink.c51
1 files changed, 6 insertions, 45 deletions
diff --git a/usr/src/lib/libdladm/common/libdllink.c b/usr/src/lib/libdladm/common/libdllink.c
index c73e7e0b92..4c2ca93c8c 100644
--- a/usr/src/lib/libdladm/common/libdllink.c
+++ b/usr/src/lib/libdladm/common/libdllink.c
@@ -19,7 +19,7 @@
* CDDL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
+ * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
@@ -379,28 +379,6 @@ dladm_linkduplex2str(link_duplex_t duplex, char *buf)
}
/*
- * Set zoneid of a given link. Note that this function takes a link name
- * argument instead of a linkid, because a data-link (and its linkid) could
- * be created implicitly as the result of this function.
- */
-dladm_status_t
-dladm_setzid(dladm_handle_t handle, const char *dlname, char *zone_name)
-{
- datalink_id_t linkid;
- dladm_status_t status = DLADM_STATUS_OK;
-
- /* If the link does not exist, it is a ppa-hacked vlan. */
- status = dladm_name2info(handle, dlname, &linkid, NULL, NULL, NULL);
- if (status != DLADM_STATUS_OK)
- return (status);
-
- status = dladm_set_linkprop(handle, linkid, "zone", &zone_name, 1,
- DLADM_OPT_ACTIVE);
-
- return (status);
-}
-
-/*
* Case 1: rename an existing link1 to a link2 that does not exist.
* Result: <linkid1, link2>
*/
@@ -409,7 +387,6 @@ i_dladm_rename_link_c1(dladm_handle_t handle, datalink_id_t linkid1,
const char *link1, const char *link2, uint32_t flags)
{
dld_ioc_rename_t dir;
- dladm_conf_t conf;
dladm_status_t status = DLADM_STATUS_OK;
/*
@@ -428,24 +405,9 @@ i_dladm_rename_link_c1(dladm_handle_t handle, datalink_id_t linkid1,
}
status = dladm_remap_datalink_id(handle, linkid1, link2);
- if (status != DLADM_STATUS_OK)
- goto done;
-
- /*
- * Flush the current mapping to persistent configuration.
- */
- if ((flags & DLADM_OPT_PERSIST) &&
- (((status = dladm_read_conf(handle, linkid1, &conf)) !=
- DLADM_STATUS_OK) ||
- ((status = dladm_write_conf(handle, conf)) != DLADM_STATUS_OK))) {
- (void) dladm_remap_datalink_id(handle, linkid1, link1);
- }
-done:
- if (flags & DLADM_OPT_ACTIVE) {
- if (status != DLADM_STATUS_OK) {
- (void) strlcpy(dir.dir_link, link1, MAXLINKNAMELEN);
- (void) ioctl(dladm_dld_fd(handle), DLDIOC_RENAME, &dir);
- }
+ if (status != DLADM_STATUS_OK && (flags & DLADM_OPT_ACTIVE)) {
+ (void) strlcpy(dir.dir_link, link1, MAXLINKNAMELEN);
+ (void) ioctl(dladm_dld_fd(handle), DLDIOC_RENAME, &dir);
}
return (status);
}
@@ -586,9 +548,9 @@ i_dladm_rename_link_c2(dladm_handle_t handle, datalink_id_t linkid1,
/*
* Delete link1 and mark link2 up.
*/
+ (void) dladm_remove_conf(handle, linkid1);
(void) dladm_destroy_datalink_id(handle, linkid1, DLADM_OPT_ACTIVE |
DLADM_OPT_PERSIST);
- (void) dladm_remove_conf(handle, linkid1);
(void) dladm_up_datalink_id(handle, linkid2);
/*
@@ -801,9 +763,8 @@ i_dladm_phys_delete(dladm_handle_t handle, datalink_id_t linkid, void *arg)
DLADM_OPT_PERSIST);
}
- (void) dladm_destroy_datalink_id(handle, linkid, DLADM_OPT_PERSIST);
(void) dladm_remove_conf(handle, linkid);
-
+ (void) dladm_destroy_datalink_id(handle, linkid, DLADM_OPT_PERSIST);
done:
del_phys_arg->rval = status;
return (DLADM_WALK_CONTINUE);