summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorRyan Zezeski <rpz@joyent.com>2017-08-09 16:11:41 -0600
committerRyan Zezeski <rpz@joyent.com>2017-08-11 15:05:23 -0600
commit4a03f2c4ee9a2041e7afc6abc3e59a319755facd (patch)
tree063e838398d8930444b03a4a04179e9b618fd359 /usr/src
parent7c9cf15db394630449591dfb9e3186a6908030bd (diff)
downloadillumos-joyent-4a03f2c4ee9a2041e7afc6abc3e59a319755facd.tar.gz
OS-6278 ll_trans flag is lost on dlmgmtd restart
Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com> Approved by: Jerry Jelinek <jerry.jelinek@joyent.com>
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/cmd/dlmgmtd/dlmgmt_util.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/usr/src/cmd/dlmgmtd/dlmgmt_util.c b/usr/src/cmd/dlmgmtd/dlmgmt_util.c
index 5977ca7d90..c8ba0009a0 100644
--- a/usr/src/cmd/dlmgmtd/dlmgmt_util.c
+++ b/usr/src/cmd/dlmgmtd/dlmgmt_util.c
@@ -412,6 +412,17 @@ link_activate(dlmgmt_link_t *linkp)
linkp->ll_zoneid = zoneid;
avl_add(&dlmgmt_name_avl, linkp);
linkp->ll_onloan = B_TRUE;
+
+ /*
+ * When a VNIC is not persistent and loaned to
+ * a zone it is considered transient. This is
+ * the same logic found in do_create_vnic()
+ * and is needed here in the event of a
+ * dlmgmtd restart.
+ */
+ if (linkp->ll_class == DATALINK_CLASS_VNIC &&
+ !(linkp->ll_flags & DLMGMT_PERSIST))
+ linkp->ll_trans = B_TRUE;
}
} else if (linkp->ll_zoneid != GLOBAL_ZONEID) {
/*