Lines Matching refs:node_cache
258 static void _destroy_ibnd_node_cache(ibnd_node_cache_t * node_cache) in _destroy_ibnd_node_cache() argument
260 free(node_cache->port_cache_keys); in _destroy_ibnd_node_cache()
261 if (!node_cache->node_stored_to_fabric && node_cache->node) in _destroy_ibnd_node_cache()
262 destroy_node(node_cache->node); in _destroy_ibnd_node_cache()
263 free(node_cache); in _destroy_ibnd_node_cache()
268 ibnd_node_cache_t *node_cache; in _destroy_ibnd_fabric_cache() local
276 node_cache = fabric_cache->nodes_cache; in _destroy_ibnd_fabric_cache()
277 while (node_cache) { in _destroy_ibnd_fabric_cache()
278 node_cache_next = node_cache->next; in _destroy_ibnd_fabric_cache()
280 _destroy_ibnd_node_cache(node_cache); in _destroy_ibnd_fabric_cache()
282 node_cache = node_cache_next; in _destroy_ibnd_fabric_cache()
299 static void store_node_cache(ibnd_node_cache_t * node_cache, in store_node_cache() argument
302 int hash_indx = HASHGUID(node_cache->node->guid) % HTSZ; in store_node_cache()
304 node_cache->next = fabric_cache->nodes_cache; in store_node_cache()
305 fabric_cache->nodes_cache = node_cache; in store_node_cache()
307 node_cache->htnext = fabric_cache->nodescachetbl[hash_indx]; in store_node_cache()
308 fabric_cache->nodescachetbl[hash_indx] = node_cache; in store_node_cache()
314 ibnd_node_cache_t *node_cache = NULL; in _load_node() local
319 node_cache = (ibnd_node_cache_t *) malloc(sizeof(ibnd_node_cache_t)); in _load_node()
320 if (!node_cache) { in _load_node()
324 memset(node_cache, '\0', sizeof(ibnd_node_cache_t)); in _load_node()
329 free(node_cache); in _load_node()
334 node_cache->node = node; in _load_node()
354 offset += _unmarshall8(buf + offset, &node_cache->ports_stored_count); in _load_node()
356 if (node_cache->ports_stored_count) { in _load_node()
363 node_cache->ports_stored_count; in _load_node()
366 IBND_PORT_CACHE_KEY_LEN * node_cache->ports_stored_count; in _load_node()
368 node_cache->port_cache_keys = in _load_node()
370 if (!node_cache->port_cache_keys) { in _load_node()
380 for (i = 0; i < node_cache->ports_stored_count; i++) { in _load_node()
383 &node_cache->port_cache_keys[i].guid); in _load_node()
386 &node_cache-> in _load_node()
391 store_node_cache(node_cache, fabric_cache); in _load_node()
396 _destroy_ibnd_node_cache(node_cache); in _load_node()
486 ibnd_node_cache_t *node_cache; in _find_node() local
488 for (node_cache = fabric_cache->nodescachetbl[hash_indx]; in _find_node()
489 node_cache; node_cache = node_cache->htnext) { in _find_node()
490 if (node_cache->node->guid == guid) in _find_node()
491 return node_cache; in _find_node()
530 ibnd_node_cache_t *node_cache; in _rebuild_nodes() local
533 node_cache = fabric_cache->nodes_cache; in _rebuild_nodes()
534 while (node_cache) { in _rebuild_nodes()
538 node_cache_next = node_cache->next; in _rebuild_nodes()
540 node = node_cache->node; in _rebuild_nodes()
547 int rc = add_to_nodeguid_hash(node_cache->node, in _rebuild_nodes()
554 node_cache->node->guid); in _rebuild_nodes()
557 add_to_type_list(node_cache->node, fabric_cache->f_int); in _rebuild_nodes()
559 node_cache->node_stored_to_fabric++; in _rebuild_nodes()
569 for (i = 0; i < node_cache->ports_stored_count; i++) { in _rebuild_nodes()
571 &node_cache->port_cache_keys[i]) < 0) in _rebuild_nodes()
575 node_cache = node_cache_next; in _rebuild_nodes()
588 ibnd_node_cache_t *node_cache; in _rebuild_ports() local
596 if (!(node_cache = in _rebuild_ports()
602 port->node = node_cache->node; in _rebuild_ports()
630 ibnd_node_cache_t *node_cache = NULL; in ibnd_load_fabric() local
674 if (!(node_cache = in ibnd_load_fabric()
679 f_int->fabric.from_node = node_cache->node; in ibnd_load_fabric()