Lines Matching refs:l
329 struct key_vector *l; in leaf_new() local
337 l = kv->kv; in leaf_new()
338 l->key = key; in leaf_new()
339 l->pos = 0; in leaf_new()
340 l->bits = 0; in leaf_new()
341 l->slen = fa->fa_slen; in leaf_new()
344 INIT_HLIST_HEAD(&l->leaf); in leaf_new()
345 hlist_add_head(&fa->fa_list, &l->leaf); in leaf_new()
347 return l; in leaf_new()
897 static void leaf_pull_suffix(struct key_vector *tp, struct key_vector *l) in leaf_pull_suffix() argument
899 while ((tp->slen > tp->pos) && (tp->slen > l->slen)) { in leaf_pull_suffix()
900 if (update_suffix(tp) > l->slen) in leaf_pull_suffix()
906 static void leaf_push_suffix(struct key_vector *tn, struct key_vector *l) in leaf_push_suffix() argument
911 while (tn->slen < l->slen) { in leaf_push_suffix()
912 tn->slen = l->slen; in leaf_push_suffix()
998 struct key_vector *n, *l; in fib_insert_node() local
1000 l = leaf_new(key, new); in fib_insert_node()
1001 if (!l) in fib_insert_node()
1033 NODE_INIT_PARENT(l, tp); in fib_insert_node()
1034 put_child_root(tp, key, l); in fib_insert_node()
1039 node_free(l); in fib_insert_node()
1045 struct key_vector *l, struct fib_alias *new, in fib_insert_alias() argument
1048 if (!l) in fib_insert_alias()
1056 hlist_for_each_entry(last, &l->leaf, fa_list) { in fib_insert_alias()
1068 hlist_add_head_rcu(&new->fa_list, &l->leaf); in fib_insert_alias()
1072 if (l->slen < new->fa_slen) { in fib_insert_alias()
1073 l->slen = new->fa_slen; in fib_insert_alias()
1074 leaf_push_suffix(tp, l); in fib_insert_alias()
1085 struct key_vector *l, *tp; in fib_table_insert() local
1110 l = fib_find_node(t, &tp, key); in fib_table_insert()
1111 fa = l ? fib_find_alias(&l->leaf, slen, tos, fi->fib_priority, in fib_table_insert()
1238 err = fib_insert_alias(t, tp, l, new_fa, fa, key); in fib_table_insert()
1461 struct key_vector *l, struct fib_alias *old) in fib_remove_alias() argument
1473 if (hlist_empty(&l->leaf)) { in fib_remove_alias()
1474 put_child_root(tp, l->key, NULL); in fib_remove_alias()
1475 node_free(l); in fib_remove_alias()
1485 l->slen = fa->fa_slen; in fib_remove_alias()
1486 leaf_pull_suffix(tp, l); in fib_remove_alias()
1494 struct key_vector *l, *tp; in fib_table_delete() local
1508 l = fib_find_node(t, &tp, key); in fib_table_delete()
1509 if (!l) in fib_table_delete()
1512 fa = fib_find_alias(&l->leaf, slen, tos, 0, tb->tb_id); in fib_table_delete()
1552 fib_remove_alias(t, tp, l, fa_to_delete); in fib_table_delete()
1681 struct key_vector *l, *tp = ot->kv; in fib_trie_unmerge() local
1696 while ((l = leaf_walk_rcu(&tp, key)) != NULL) { in fib_trie_unmerge()
1699 hlist_for_each_entry_rcu(fa, &l->leaf, fa_list) { in fib_trie_unmerge()
1714 local_l = fib_find_node(lt, &local_tp, l->key); in fib_trie_unmerge()
1717 NULL, l->key)) in fib_trie_unmerge()
1722 key = l->key + 1; in fib_trie_unmerge()
1723 if (key < l->key) in fib_trie_unmerge()
1897 static int fn_trie_dump_leaf(struct key_vector *l, struct fib_table *tb, in fn_trie_dump_leaf() argument
1900 __be32 xkey = htonl(l->key); in fn_trie_dump_leaf()
1908 hlist_for_each_entry_rcu(fa, &l->leaf, fa_list) { in fn_trie_dump_leaf()
1943 struct key_vector *l, *tp = t->kv; in fib_table_dump() local
1950 while ((l = leaf_walk_rcu(&tp, key)) != NULL) { in fib_table_dump()
1951 if (fn_trie_dump_leaf(l, tb, skb, cb) < 0) { in fib_table_dump()
1958 key = l->key + 1; in fib_table_dump()
1964 if (key < l->key) in fib_table_dump()
2457 struct key_vector *l, **tp = &iter->tnode; in fib_route_get_idx() local
2472 while ((l = leaf_walk_rcu(tp, key)) != NULL) { in fib_route_get_idx()
2473 key = l->key + 1; in fib_route_get_idx()
2479 l = NULL; in fib_route_get_idx()
2486 if (l) in fib_route_get_idx()
2491 return l; in fib_route_get_idx()
2523 struct key_vector *l = NULL; in fib_route_seq_next() local
2530 l = leaf_walk_rcu(&iter->tnode, key); in fib_route_seq_next()
2532 if (l) { in fib_route_seq_next()
2533 iter->key = l->key + 1; in fib_route_seq_next()
2539 return l; in fib_route_seq_next()
2573 struct key_vector *l = v; in fib_route_seq_show() local
2583 prefix = htonl(l->key); in fib_route_seq_show()
2585 hlist_for_each_entry_rcu(fa, &l->leaf, fa_list) { in fib_route_seq_show()