Lines Matching refs:node

258 	link_cache_t *node;  in vlan_unregister()  local
264 node = cache_head.vc_next; in vlan_unregister()
265 while (node != &cache_tail) { in vlan_unregister()
266 if (rcm_unregister_interest(hd, node->vc_resource, 0) in vlan_unregister()
270 node->vc_resource); in vlan_unregister()
274 cache_remove(node); in vlan_unregister()
275 node_free(node); in vlan_unregister()
276 node = cache_head.vc_next; in vlan_unregister()
307 link_cache_t *node; in vlan_offline() local
313 node = cache_lookup(hd, rsrc, CACHE_REFRESH); in vlan_offline()
314 if (node == NULL) { in vlan_offline()
325 if (vlan_consumer_offline(hd, node, errorp, flags, info) == in vlan_offline()
330 vlan_log_err(node->vc_linkid, errorp, in vlan_offline()
344 if (vlan_offline_vlan(node, VLAN_OFFLINED, CACHE_NODE_OFFLINED) != in vlan_offline()
346 vlan_online_vlan(node); in vlan_offline()
347 vlan_log_err(node->vc_linkid, errorp, "offline failed"); in vlan_offline()
365 link_cache_t *node; in vlan_undo_offline() local
370 node = cache_lookup(hd, rsrc, CACHE_NO_REFRESH); in vlan_undo_offline()
371 if (node == NULL) { in vlan_undo_offline()
379 if (!(node->vc_state & CACHE_NODE_OFFLINED)) { in vlan_undo_offline()
380 vlan_log_err(node->vc_linkid, errorp, "link not offlined"); in vlan_undo_offline()
386 vlan_online_vlan(node); in vlan_undo_offline()
391 vlan_consumer_online(hd, node, errorp, flags, info); in vlan_undo_offline()
393 node->vc_state &= ~CACHE_NODE_OFFLINED; in vlan_undo_offline()
400 vlan_online_vlan(link_cache_t *node) in vlan_online_vlan() argument
409 for (vlan = node->vc_vlan; vlan != NULL; vlan = vlan->dv_next) { in vlan_online_vlan()
429 vlan_offline_vlan(link_cache_t *node, uint32_t flags, cache_node_state_t state) in vlan_offline_vlan() argument
436 node->vc_resource, flags, state); in vlan_offline_vlan()
441 for (vlan = node->vc_vlan; vlan != NULL; vlan = vlan->dv_next) { in vlan_offline_vlan()
456 node->vc_state |= state; in vlan_offline_vlan()
468 link_cache_t *node; in vlan_get_info() local
473 node = cache_lookup(hd, rsrc, CACHE_REFRESH); in vlan_get_info()
474 if (node == NULL) { in vlan_get_info()
482 *usagep = vlan_usage(node); in vlan_get_info()
531 vlan_consumer_remove(rcm_handle_t *hd, link_cache_t *node, uint_t flags, in vlan_consumer_remove() argument
539 node->vc_resource); in vlan_consumer_remove()
541 for (vlan = node->vc_vlan; vlan != NULL; vlan = vlan->dv_next) { in vlan_consumer_remove()
573 link_cache_t *node; in vlan_remove() local
579 node = cache_lookup(hd, rsrc, CACHE_NO_REFRESH); in vlan_remove()
580 if (node == NULL) { in vlan_remove()
589 cache_remove(node); in vlan_remove()
592 rv = vlan_consumer_remove(hd, node, flags, info); in vlan_remove()
593 node_free(node); in vlan_remove()
671 vlan_usage(link_cache_t *node) in vlan_usage() argument
683 rcm_log_message(RCM_TRACE2, "VLAN: usage(%s)\n", node->vc_resource); in vlan_usage()
686 if ((status = dladm_datalink_id2info(dld_handle, node->vc_linkid, NULL, in vlan_usage()
690 node->vc_resource, dladm_status2str(status, errmsg)); in vlan_usage()
694 if (node->vc_state & CACHE_NODE_OFFLINED) in vlan_usage()
703 for (vlan = node->vc_vlan; vlan != NULL; vlan = vlan->dv_next) in vlan_usage()
712 node->vc_resource, strerror(errno)); in vlan_usage()
717 if (node->vc_state & CACHE_NODE_OFFLINED) { in vlan_usage()
720 node->vc_resource, buf); in vlan_usage()
724 for (vlan = node->vc_vlan; vlan != NULL; vlan = vlan->dv_next) { in vlan_usage()
732 node->vc_resource, vlan->dv_vlanid, in vlan_usage()
744 node->vc_resource, buf); in vlan_usage()
764 link_cache_t *node; in cache_lookup() local
776 node = cache_head.vc_next; in cache_lookup()
777 for (; node != &cache_tail; node = node->vc_next) { in cache_lookup()
778 if (strcmp(rsrc, node->vc_resource) == 0) { in cache_lookup()
781 return (node); in cache_lookup()
791 node_free(link_cache_t *node) in node_free() argument
795 if (node != NULL) { in node_free()
796 free(node->vc_resource); in node_free()
799 for (vlan = node->vc_vlan; vlan != NULL; vlan = next) { in node_free()
803 free(node); in node_free()
811 cache_insert(link_cache_t *node) in cache_insert() argument
816 node->vc_next = cache_head.vc_next; in cache_insert()
817 node->vc_prev = &cache_head; in cache_insert()
819 node->vc_next->vc_prev = node; in cache_insert()
820 node->vc_prev->vc_next = node; in cache_insert()
827 cache_remove(link_cache_t *node) in cache_remove() argument
830 node->vc_next->vc_prev = node->vc_prev; in cache_remove()
831 node->vc_prev->vc_next = node->vc_next; in cache_remove()
832 node->vc_next = NULL; in cache_remove()
833 node->vc_prev = NULL; in cache_remove()
849 link_cache_t *node; in vlan_update() local
879 node = cache_lookup(hd, rsrc, CACHE_NO_REFRESH); in vlan_update()
880 if (node != NULL) { in vlan_update()
889 if ((node = calloc(1, sizeof (link_cache_t))) == NULL) { in vlan_update()
896 node->vc_resource = rsrc; in vlan_update()
897 node->vc_vlan = NULL; in vlan_update()
898 node->vc_linkid = vlan_attr.dv_linkid; in vlan_update()
899 node->vc_state |= CACHE_NODE_NEW; in vlan_update()
903 for (vlan = node->vc_vlan; vlan != NULL; vlan = vlan->dv_next) { in vlan_update()
916 free(node); in vlan_update()
921 vlan->dv_next = node->vc_vlan; in vlan_update()
923 if (node->vc_vlan != NULL) in vlan_update()
924 node->vc_vlan->dv_prev = vlan; in vlan_update()
925 node->vc_vlan = vlan; in vlan_update()
928 node->vc_state &= ~CACHE_NODE_STALE; in vlan_update()
931 cache_insert(node); in vlan_update()
964 link_cache_t *node, *nnode; in cache_update() local
973 node = cache_head.vc_next; in cache_update()
974 for (; node != &cache_tail; node = node->vc_next) { in cache_update()
975 node->vc_state |= CACHE_NODE_STALE; in cache_update()
976 for (vlan = node->vc_vlan; vlan != NULL; vlan = vlan->dv_next) in cache_update()
987 for (node = cache_head.vc_next; node != &cache_tail; node = nnode) { in cache_update()
990 for (vlan = node->vc_vlan; vlan != NULL; vlan = next) { in cache_update()
998 node->vc_vlan = next; in cache_update()
1006 nnode = node->vc_next; in cache_update()
1007 if (node->vc_state & CACHE_NODE_STALE) { in cache_update()
1008 (void) rcm_unregister_interest(hd, node->vc_resource, in cache_update()
1011 node->vc_resource); in cache_update()
1012 assert(node->vc_vlan == NULL); in cache_update()
1013 cache_remove(node); in cache_update()
1014 node_free(node); in cache_update()
1018 if (!(node->vc_state & CACHE_NODE_NEW)) in cache_update()
1021 if (rcm_register_interest(hd, node->vc_resource, 0, NULL) != in cache_update()
1025 node->vc_resource); in cache_update()
1029 node->vc_resource); in cache_update()
1030 node->vc_state &= ~CACHE_NODE_NEW; in cache_update()
1044 link_cache_t *node; in cache_free() local
1049 node = cache_head.vc_next; in cache_free()
1050 while (node != &cache_tail) { in cache_free()
1051 cache_remove(node); in cache_free()
1052 node_free(node); in cache_free()
1053 node = cache_head.vc_next; in cache_free()
1109 vlan_consumer_online(rcm_handle_t *hd, link_cache_t *node, char **errorp, in vlan_consumer_online() argument
1116 node->vc_resource); in vlan_consumer_online()
1118 for (vlan = node->vc_vlan; vlan != NULL; vlan = vlan->dv_next) { in vlan_consumer_online()
1138 vlan_consumer_offline(rcm_handle_t *hd, link_cache_t *node, char **errorp, in vlan_consumer_offline() argument
1146 node->vc_resource); in vlan_consumer_offline()
1148 for (vlan = node->vc_vlan; vlan != NULL; vlan = vlan->dv_next) { in vlan_consumer_offline()
1160 vlan_consumer_online(hd, node, errorp, flags, info); in vlan_consumer_offline()
1173 link_cache_t *node; in vlan_notify_new_vlan() local
1182 if ((node = cache_lookup(hd, rsrc, CACHE_REFRESH)) == NULL) { in vlan_notify_new_vlan()
1194 for (vlan = node->vc_vlan; vlan != NULL; vlan = vlan->dv_next) { in vlan_notify_new_vlan()
1213 RCM_RESOURCE_LINK_NEW, node->vc_resource); in vlan_notify_new_vlan()
1231 link_cache_t *node; in vlan_consumer_notify() local
1244 if ((node = cache_lookup(hd, rsrc, CACHE_NO_REFRESH)) != NULL) { in vlan_consumer_notify()
1245 (void) vlan_offline_vlan(node, VLAN_STALE, in vlan_consumer_notify()
1304 link_cache_t *node; in vlan_configure() local
1314 if (((node = cache_lookup(hd, rsrc, CACHE_REFRESH)) != NULL) && in vlan_configure()
1315 (!(node->vc_state & CACHE_NODE_OFFLINED))) { in vlan_configure()