Lines Matching refs:im_node
304 struct lpm_trie_node *node, *im_node = NULL, *new_node = NULL; in trie_update_elem() local
394 im_node = lpm_trie_node_alloc(trie, NULL); in trie_update_elem()
395 if (!im_node) { in trie_update_elem()
400 im_node->prefixlen = matchlen; in trie_update_elem()
401 im_node->flags |= LPM_TREE_NODE_FLAG_IM; in trie_update_elem()
402 memcpy(im_node->data, node->data, trie->data_size); in trie_update_elem()
406 rcu_assign_pointer(im_node->child[0], node); in trie_update_elem()
407 rcu_assign_pointer(im_node->child[1], new_node); in trie_update_elem()
409 rcu_assign_pointer(im_node->child[0], new_node); in trie_update_elem()
410 rcu_assign_pointer(im_node->child[1], node); in trie_update_elem()
414 rcu_assign_pointer(*slot, im_node); in trie_update_elem()
422 kfree(im_node); in trie_update_elem()