Lines Matching defs:cidr
24 u8 cidr, u8 bits)
26 node->cidr = cidr;
27 node->bit_at_a = cidr / 8U;
31 node->bit_at_b = 7U - (cidr % 8U);
103 * bits properly, by precomputing a mask bswap(~0 << (32 - cidr)), and
108 return common_bits(node, key, bits) >= node->cidr;
119 if (node->cidr == bits)
150 u8 cidr, u8 bits, struct allowedips_node **rnode,
157 while (node && node->cidr <= cidr && prefix_matches(node, key, bits)) {
159 if (parent->cidr == cidr) {
182 u8 cidr, struct wg_peer *peer, struct mutex *lock)
186 if (unlikely(cidr > bits || !peer))
195 copy_and_assign_cidr(node, key, cidr, bits);
199 if (node_placement(*trie, key, cidr, bits, &node, lock)) {
210 copy_and_assign_cidr(newnode, key, cidr, bits);
222 cidr = min(cidr, common_bits(down, key, bits));
225 if (newnode->cidr == cidr) {
241 copy_and_assign_cidr(node, newnode->bits, cidr, bits);
282 u8 cidr, struct wg_peer *peer, struct mutex *lock)
289 return add(&table->root4, 32, key, cidr, peer, lock);
293 u8 cidr, struct wg_peer *peer, struct mutex *lock)
300 return add(&table->root6, 128, key, cidr, peer, lock);
343 int wg_allowedips_read_node(struct allowedips_node *node, u8 ip[16], u8 *cidr)
345 const unsigned int cidr_bytes = DIV_ROUND_UP(node->cidr, 8U);
348 if (node->cidr)
349 ip[cidr_bytes - 1U] &= ~0U << (-node->cidr % 8U);
351 *cidr = node->cidr;