Lines Matching refs:node

66 	struct rb_node node;  member
827 static void xfrm_pol_inexact_node_init(struct xfrm_pol_inexact_node *node, in xfrm_pol_inexact_node_init() argument
830 node->addr = *addr; in xfrm_pol_inexact_node_init()
831 node->prefixlen = prefixlen; in xfrm_pol_inexact_node_init()
837 struct xfrm_pol_inexact_node *node; in xfrm_pol_inexact_node_alloc() local
839 node = kzalloc(sizeof(*node), GFP_ATOMIC); in xfrm_pol_inexact_node_alloc()
840 if (node) in xfrm_pol_inexact_node_alloc()
841 xfrm_pol_inexact_node_init(node, addr, prefixlen); in xfrm_pol_inexact_node_alloc()
843 return node; in xfrm_pol_inexact_node_alloc()
960 struct xfrm_pol_inexact_node *node; in xfrm_policy_inexact_node_reinsert() local
973 node = rb_entry(*p, struct xfrm_pol_inexact_node, node); in xfrm_policy_inexact_node_reinsert()
975 prefixlen = min(node->prefixlen, n->prefixlen); in xfrm_policy_inexact_node_reinsert()
977 delta = xfrm_policy_addr_delta(&n->addr, &node->addr, in xfrm_policy_inexact_node_reinsert()
984 bool same_prefixlen = node->prefixlen == n->prefixlen; in xfrm_policy_inexact_node_reinsert()
992 node->prefixlen = prefixlen; in xfrm_policy_inexact_node_reinsert()
994 xfrm_policy_inexact_list_reinsert(net, node, family); in xfrm_policy_inexact_node_reinsert()
1003 n = node; in xfrm_policy_inexact_node_reinsert()
1008 rb_link_node_rcu(&n->node, parent, p); in xfrm_policy_inexact_node_reinsert()
1009 rb_insert_color(&n->node, new); in xfrm_policy_inexact_node_reinsert()
1018 struct xfrm_pol_inexact_node *node; in xfrm_policy_inexact_node_merge() local
1027 node = rb_entry(rnode, struct xfrm_pol_inexact_node, node); in xfrm_policy_inexact_node_merge()
1028 rb_erase(&node->node, &v->root); in xfrm_policy_inexact_node_merge()
1029 xfrm_policy_inexact_node_reinsert(net, node, &n->root, in xfrm_policy_inexact_node_merge()
1049 struct xfrm_pol_inexact_node *node; in xfrm_policy_inexact_insert_node() local
1056 node = rb_entry(*p, struct xfrm_pol_inexact_node, node); in xfrm_policy_inexact_insert_node()
1058 delta = xfrm_policy_addr_delta(addr, &node->addr, in xfrm_policy_inexact_insert_node()
1059 node->prefixlen, in xfrm_policy_inexact_insert_node()
1061 if (delta == 0 && prefixlen >= node->prefixlen) { in xfrm_policy_inexact_insert_node()
1063 return node; in xfrm_policy_inexact_insert_node()
1071 if (prefixlen < node->prefixlen) { in xfrm_policy_inexact_insert_node()
1072 delta = xfrm_policy_addr_delta(addr, &node->addr, in xfrm_policy_inexact_insert_node()
1083 rb_erase(&node->node, root); in xfrm_policy_inexact_insert_node()
1086 xfrm_pol_inexact_node_init(node, addr, in xfrm_policy_inexact_insert_node()
1088 cached = node; in xfrm_policy_inexact_insert_node()
1094 xfrm_policy_inexact_node_merge(net, node, in xfrm_policy_inexact_insert_node()
1096 kfree_rcu(node, rcu); in xfrm_policy_inexact_insert_node()
1105 node = cached; in xfrm_policy_inexact_insert_node()
1106 if (!node) { in xfrm_policy_inexact_insert_node()
1107 node = xfrm_pol_inexact_node_alloc(addr, prefixlen); in xfrm_policy_inexact_insert_node()
1108 if (!node) in xfrm_policy_inexact_insert_node()
1112 rb_link_node_rcu(&node->node, parent, p); in xfrm_policy_inexact_insert_node()
1113 rb_insert_color(&node->node, root); in xfrm_policy_inexact_insert_node()
1115 return node; in xfrm_policy_inexact_insert_node()
1120 struct xfrm_pol_inexact_node *node; in xfrm_policy_inexact_gc_tree() local
1124 node = rb_entry(rn, struct xfrm_pol_inexact_node, node); in xfrm_policy_inexact_gc_tree()
1126 xfrm_policy_inexact_gc_tree(&node->root, rm); in xfrm_policy_inexact_gc_tree()
1129 if (!hlist_empty(&node->hhead) || !RB_EMPTY_ROOT(&node->root)) { in xfrm_policy_inexact_gc_tree()
1134 rb_erase(&node->node, r); in xfrm_policy_inexact_gc_tree()
1135 kfree_rcu(node, rcu); in xfrm_policy_inexact_gc_tree()
2003 struct xfrm_pol_inexact_node *node; in xfrm_policy_lookup_inexact_addr() local
2006 node = rb_entry(parent, struct xfrm_pol_inexact_node, node); in xfrm_policy_lookup_inexact_addr()
2008 delta = xfrm_policy_addr_delta(addr, &node->addr, in xfrm_policy_lookup_inexact_addr()
2009 node->prefixlen, family); in xfrm_policy_lookup_inexact_addr()
2018 return node; in xfrm_policy_lookup_inexact_addr()