Lines Matching defs:node
2 * Network node table
72 * sel_netnode_free - Frees a node entry
77 * function so that memory allocated to a hash table node entry can be
83 struct sel_netnode *node = container_of(p, struct sel_netnode, rcu);
84 kfree(node);
88 * sel_netnode_hashfn_ipv4 - IPv4 hashing function for the node table
92 * This is the IPv4 hashing function for the node interface table, it returns
104 * sel_netnode_hashfn_ipv6 - IPv6 hashing function for the node table
108 * This is the IPv6 hashing function for the node interface table, it returns
121 * sel_netnode_find - Search for a node record
126 * Search the network node table and return the record matching @addr. If an
133 struct sel_netnode *node;
146 list_for_each_entry_rcu(node, &sel_netnode_hash[idx].list, list)
147 if (node->nsec.family == family)
150 if (node->nsec.addr.ipv4 == *(__be32 *)addr)
151 return node;
154 if (ipv6_addr_equal(&node->nsec.addr.ipv6,
156 return node;
164 * sel_netnode_insert - Insert a new node into the table
165 * @node: the new node record
168 * Add a new node record to the network address hash table.
171 static void sel_netnode_insert(struct sel_netnode *node)
175 switch (node->nsec.family) {
177 idx = sel_netnode_hashfn_ipv4(node->nsec.addr.ipv4);
180 idx = sel_netnode_hashfn_ipv6(&node->nsec.addr.ipv6);
188 list_add_rcu(&node->list, &sel_netnode_hash[idx].list);
204 * @sid: node SID
216 struct sel_netnode *node;
220 node = sel_netnode_find(addr, family);
221 if (node != NULL) {
222 *sid = node->nsec.sid;
255 " unable to determine network node label\n");
265 * @sid: node SID
277 struct sel_netnode *node;
280 node = sel_netnode_find(addr, family);
281 if (node != NULL) {
282 *sid = node->nsec.sid;
301 struct sel_netnode *node, *node_tmp;
305 list_for_each_entry_safe(node, node_tmp,
307 list_del_rcu(&node->list);
308 call_rcu(&node->rcu, sel_netnode_free);