diff options
Diffstat (limited to 'usr/src/cmd/dlmgmtd/dlmgmt_impl.h')
-rw-r--r-- | usr/src/cmd/dlmgmtd/dlmgmt_impl.h | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/usr/src/cmd/dlmgmtd/dlmgmt_impl.h b/usr/src/cmd/dlmgmtd/dlmgmt_impl.h index cdfd0d8a4d..c65a0438d6 100644 --- a/usr/src/cmd/dlmgmtd/dlmgmt_impl.h +++ b/usr/src/cmd/dlmgmtd/dlmgmt_impl.h @@ -21,6 +21,7 @@ /* * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright 2017 Joyent, Inc. */ /* @@ -60,13 +61,24 @@ typedef struct dlmgmt_link_s { datalink_class_t ll_class; uint32_t ll_media; datalink_id_t ll_linkid; + + /* + * The zone that owns the link. If this is set to the id of + * an NGZ and ll_onloan is set then the link was created and + * is owned by the GZ but is currently being loaned out to an + * NGZ. E.g., when the GZ admin creates a VNIC for exclusive + * use by an NGZ. If ll_onloan is set then ll_zoneid cannot be 0. + * + * If ll_zoneid is set to the id of an NGZ but ll_onloan is + * not set then the link was created and is owned by the NGZ. + */ zoneid_t ll_zoneid; boolean_t ll_onloan; avl_node_t ll_name_node; avl_node_t ll_id_node; - avl_node_t ll_loan_node; uint32_t ll_flags; uint32_t ll_gen; /* generation number */ + boolean_t ll_trans; /* transient link */ } dlmgmt_link_t; /* @@ -91,7 +103,6 @@ extern dladm_handle_t dld_handle; extern datalink_id_t dlmgmt_nextlinkid; extern avl_tree_t dlmgmt_name_avl; extern avl_tree_t dlmgmt_id_avl; -extern avl_tree_t dlmgmt_loan_avl; extern avl_tree_t dlmgmt_dlconf_avl; boolean_t linkattr_equal(dlmgmt_linkattr_t **, const char *, void *, @@ -138,7 +149,7 @@ void dlmgmt_handler(void *, char *, size_t, door_desc_t *, uint_t); void dlmgmt_log(int, const char *, ...); int dlmgmt_write_db_entry(const char *, dlmgmt_link_t *, uint32_t); int dlmgmt_delete_db_entry(dlmgmt_link_t *, uint32_t); -int dlmgmt_db_init(zoneid_t); +int dlmgmt_db_init(zoneid_t, char *); void dlmgmt_db_fini(zoneid_t); #ifdef __cplusplus |