Lines Matching refs:node

236 	link_cache_t *node;  in bridge_unregister()  local
243 node = cache_head.vc_next; in bridge_unregister()
244 while (node != &cache_tail) { in bridge_unregister()
245 retv = rcm_unregister_interest(hd, node->vc_resource, 0); in bridge_unregister()
248 cache_remove(node); in bridge_unregister()
249 node_free(node); in bridge_unregister()
250 node = cache_head.vc_next; in bridge_unregister()
255 _("Bridge: failed to unregister %s\n"), node->vc_resource); in bridge_unregister()
285 link_cache_t *node; in bridge_offline() local
292 node = cache_lookup(hd, rsrc, CACHE_REFRESH); in bridge_offline()
293 if (node == NULL) { in bridge_offline()
309 status = dladm_bridge_setlink(dld_handle, node->vc_linkid, ""); in bridge_offline()
311 bridge_log_err(node->vc_linkid, errorp, "offline failed"); in bridge_offline()
316 node->vc_state |= CACHE_NODE_OFFLINED; in bridge_offline()
319 node->vc_bridge); in bridge_offline()
332 link_cache_t *node; in bridge_undo_offline() local
339 node = cache_lookup(hd, rsrc, CACHE_NO_REFRESH); in bridge_undo_offline()
340 if (node == NULL) { in bridge_undo_offline()
348 if (!(node->vc_state & CACHE_NODE_OFFLINED)) { in bridge_undo_offline()
349 bridge_log_err(node->vc_linkid, errorp, "link not offlined"); in bridge_undo_offline()
358 status = dladm_bridge_setlink(dld_handle, node->vc_linkid, in bridge_undo_offline()
359 node->vc_bridge); in bridge_undo_offline()
366 node->vc_linkid, node->vc_bridge, in bridge_undo_offline()
370 node->vc_state &= ~CACHE_NODE_OFFLINED; in bridge_undo_offline()
384 link_cache_t *node; in bridge_get_info() local
389 node = cache_lookup(hd, rsrc, CACHE_REFRESH); in bridge_get_info()
390 if (node == NULL) { in bridge_get_info()
398 *usagep = bridge_usage(node); in bridge_get_info()
449 link_cache_t *node; in bridge_remove() local
454 node = cache_lookup(hd, rsrc, CACHE_NO_REFRESH); in bridge_remove()
455 if (node == NULL) { in bridge_remove()
465 "Bridge: remove succeeded(%s, %s)\n", rsrc, node->vc_bridge); in bridge_remove()
466 cache_remove(node); in bridge_remove()
469 node_free(node); in bridge_remove()
539 bridge_usage(link_cache_t *node) in bridge_usage() argument
548 rcm_log_message(RCM_TRACE2, "Bridge: usage(%s)\n", node->vc_resource); in bridge_usage()
552 status = dladm_datalink_id2info(dld_handle, node->vc_linkid, NULL, in bridge_usage()
558 node->vc_resource, dladm_status2str(status, errmsg)); in bridge_usage()
562 (void) dladm_bridge_getlink(dld_handle, node->vc_linkid, bridge, in bridge_usage()
565 if (node->vc_state & CACHE_NODE_OFFLINED) in bridge_usage()
575 node->vc_resource, buf); in bridge_usage()
595 link_cache_t *node; in cache_lookup() local
607 node = cache_head.vc_next; in cache_lookup()
608 for (; node != &cache_tail; node = node->vc_next) { in cache_lookup()
609 if (strcmp(rsrc, node->vc_resource) == 0) { in cache_lookup()
612 node->vc_bridge); in cache_lookup()
613 return (node); in cache_lookup()
623 node_free(link_cache_t *node) in node_free() argument
625 if (node != NULL) { in node_free()
626 free(node->vc_resource); in node_free()
627 free(node); in node_free()
635 cache_insert(link_cache_t *node) in cache_insert() argument
640 node->vc_next = cache_head.vc_next; in cache_insert()
641 node->vc_prev = &cache_head; in cache_insert()
643 node->vc_next->vc_prev = node; in cache_insert()
644 node->vc_prev->vc_next = node; in cache_insert()
651 cache_remove(link_cache_t *node) in cache_remove() argument
654 node->vc_next->vc_prev = node->vc_prev; in cache_remove()
655 node->vc_prev->vc_next = node->vc_next; in cache_remove()
656 node->vc_next = NULL; in cache_remove()
657 node->vc_prev = NULL; in cache_remove()
673 link_cache_t *node; in bridge_update() local
700 node = cache_lookup(hd, rsrc, CACHE_NO_REFRESH); in bridge_update()
701 if (node != NULL) { in bridge_update()
705 node->vc_state &= ~CACHE_NODE_STALE; in bridge_update()
710 if ((node = calloc(1, sizeof (link_cache_t))) == NULL) { in bridge_update()
717 node->vc_resource = rsrc; in bridge_update()
718 node->vc_linkid = linkid; in bridge_update()
719 (void) strlcpy(node->vc_bridge, bridge, in bridge_update()
720 sizeof (node->vc_bridge)); in bridge_update()
721 node->vc_state |= CACHE_NODE_NEW; in bridge_update()
722 cache_insert(node); in bridge_update()
726 linkid, node->vc_bridge); in bridge_update()
740 link_cache_t *node, *nnode; in cache_update() local
749 node = cache_head.vc_next; in cache_update()
750 for (; node != &cache_tail; node = node->vc_next) in cache_update()
751 node->vc_state |= CACHE_NODE_STALE; in cache_update()
766 for (node = cache_head.vc_next; node != &cache_tail; node = nnode) { in cache_update()
767 nnode = node->vc_next; in cache_update()
769 if (node->vc_state & CACHE_NODE_STALE) { in cache_update()
770 (void) rcm_unregister_interest(hd, node->vc_resource, in cache_update()
774 node->vc_resource, node->vc_bridge); in cache_update()
775 cache_remove(node); in cache_update()
776 node_free(node); in cache_update()
780 if (!(node->vc_state & CACHE_NODE_NEW)) in cache_update()
783 rv = rcm_register_interest(hd, node->vc_resource, 0, NULL); in cache_update()
787 node->vc_resource); in cache_update()
791 node->vc_resource); in cache_update()
792 node->vc_state &= ~CACHE_NODE_NEW; in cache_update()
806 link_cache_t *node; in cache_free() local
811 node = cache_head.vc_next; in cache_free()
812 while (node != &cache_tail) { in cache_free()
813 cache_remove(node); in cache_free()
814 node_free(node); in cache_free()
815 node = cache_head.vc_next; in cache_free()
865 link_cache_t *node; in bridge_configure() local
875 if (((node = cache_lookup(hd, rsrc, CACHE_REFRESH)) != NULL) && in bridge_configure()
876 (!(node->vc_state & CACHE_NODE_OFFLINED))) { in bridge_configure()
892 if (node != NULL && node->vc_bridge[0] != '\0' && in bridge_configure()
893 dladm_bridge_setlink(dld_handle, linkid, node->vc_bridge) != in bridge_configure()