Lines Matching defs:node

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