Lines Matching refs:im_node
318 struct lpm_trie_node *node, *im_node = NULL, *new_node = NULL; in trie_update_elem() local
409 im_node = lpm_trie_node_alloc(trie, NULL); in trie_update_elem()
410 if (!im_node) { in trie_update_elem()
415 im_node->prefixlen = matchlen; in trie_update_elem()
416 im_node->flags |= LPM_TREE_NODE_FLAG_IM; in trie_update_elem()
417 memcpy(im_node->data, node->data, trie->data_size); in trie_update_elem()
421 rcu_assign_pointer(im_node->child[0], node); in trie_update_elem()
422 rcu_assign_pointer(im_node->child[1], new_node); in trie_update_elem()
424 rcu_assign_pointer(im_node->child[0], new_node); in trie_update_elem()
425 rcu_assign_pointer(im_node->child[1], node); in trie_update_elem()
429 rcu_assign_pointer(*slot, im_node); in trie_update_elem()
437 kfree(im_node); in trie_update_elem()