From 4a03f2c4ee9a2041e7afc6abc3e59a319755facd Mon Sep 17 00:00:00 2001 From: Ryan Zezeski Date: Wed, 9 Aug 2017 16:11:41 -0600 Subject: OS-6278 ll_trans flag is lost on dlmgmtd restart Reviewed by: Robert Mustacchi Reviewed by: Jerry Jelinek Approved by: Jerry Jelinek --- usr/src/cmd/dlmgmtd/dlmgmt_util.c | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'usr/src/cmd/dlmgmtd') 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) { /* -- cgit v1.2.3