ila 55 net/ipv6/ila/ila_xlat.c static inline int ila_cmp_wildcards(struct ila_map *ila, ila 58 net/ipv6/ila/ila_xlat.c return (ila->xp.ifindex && ila->xp.ifindex != ifindex); ila 61 net/ipv6/ila/ila_xlat.c static inline int ila_cmp_params(struct ila_map *ila, ila 64 net/ipv6/ila/ila_xlat.c return (ila->xp.ifindex != xp->ifindex); ila 70 net/ipv6/ila/ila_xlat.c const struct ila_map *ila = obj; ila 72 net/ipv6/ila/ila_xlat.c return (ila->xp.ip.locator_match.v64 != *(__be64 *)arg->key); ila 75 net/ipv6/ila/ila_xlat.c static inline int ila_order(struct ila_map *ila) ila 79 net/ipv6/ila/ila_xlat.c if (ila->xp.ifindex) ila 131 net/ipv6/ila/ila_xlat.c struct ila_map *ila; ila 133 net/ipv6/ila/ila_xlat.c ila = rhashtable_lookup_fast(&ilan->xlat.rhash_table, &iaddr->loc, ila 135 net/ipv6/ila/ila_xlat.c while (ila) { ila 136 net/ipv6/ila/ila_xlat.c if (!ila_cmp_wildcards(ila, iaddr, ifindex)) ila 137 net/ipv6/ila/ila_xlat.c return ila; ila 138 net/ipv6/ila/ila_xlat.c ila = rcu_access_pointer(ila->next); ila 148 net/ipv6/ila/ila_xlat.c struct ila_map *ila; ila 150 net/ipv6/ila/ila_xlat.c ila = rhashtable_lookup_fast(&ilan->xlat.rhash_table, ila 153 net/ipv6/ila/ila_xlat.c while (ila) { ila 154 net/ipv6/ila/ila_xlat.c if (!ila_cmp_params(ila, xp)) ila 155 net/ipv6/ila/ila_xlat.c return ila; ila 156 net/ipv6/ila/ila_xlat.c ila = rcu_access_pointer(ila->next); ila 162 net/ipv6/ila/ila_xlat.c static inline void ila_release(struct ila_map *ila) ila 164 net/ipv6/ila/ila_xlat.c kfree_rcu(ila, rcu); ila 167 net/ipv6/ila/ila_xlat.c static void ila_free_node(struct ila_map *ila) ila 172 net/ipv6/ila/ila_xlat.c while (ila) { ila 173 net/ipv6/ila/ila_xlat.c next = rcu_access_pointer(ila->next); ila 174 net/ipv6/ila/ila_xlat.c ila_release(ila); ila 175 net/ipv6/ila/ila_xlat.c ila = next; ila 207 net/ipv6/ila/ila_xlat.c struct ila_map *ila, *head; ila 223 net/ipv6/ila/ila_xlat.c ila = kzalloc(sizeof(*ila), GFP_KERNEL); ila 224 net/ipv6/ila/ila_xlat.c if (!ila) ila 229 net/ipv6/ila/ila_xlat.c ila->xp = *xp; ila 231 net/ipv6/ila/ila_xlat.c order = ila_order(ila); ila 241 net/ipv6/ila/ila_xlat.c &ila->node, rht_params); ila 261 net/ipv6/ila/ila_xlat.c RCU_INIT_POINTER(ila->next, tila); ila 262 net/ipv6/ila/ila_xlat.c rcu_assign_pointer(prev->next, ila); ila 265 net/ipv6/ila/ila_xlat.c RCU_INIT_POINTER(ila->next, head); ila 268 net/ipv6/ila/ila_xlat.c &ila->node, rht_params); ila 278 net/ipv6/ila/ila_xlat.c kfree(ila); ila 286 net/ipv6/ila/ila_xlat.c struct ila_map *ila, *head, *prev; ila 294 net/ipv6/ila/ila_xlat.c ila = head; ila 298 net/ipv6/ila/ila_xlat.c while (ila) { ila 299 net/ipv6/ila/ila_xlat.c if (ila_cmp_params(ila, xp)) { ila 300 net/ipv6/ila/ila_xlat.c prev = ila; ila 301 net/ipv6/ila/ila_xlat.c ila = rcu_dereference_protected(ila->next, ila 310 net/ipv6/ila/ila_xlat.c rcu_assign_pointer(prev->next, ila->next); ila 315 net/ipv6/ila/ila_xlat.c head = rcu_dereference_protected(ila->next, ila 322 net/ipv6/ila/ila_xlat.c &ilan->xlat.rhash_table, &ila->node, ila 330 net/ipv6/ila/ila_xlat.c &ila->node, rht_params); ila 334 net/ipv6/ila/ila_xlat.c ila_release(ila); ila 374 net/ipv6/ila/ila_xlat.c struct ila_map *ila) ila 376 net/ipv6/ila/ila_xlat.c return ila_get_lock(ilan, ila->xp.ip.locator_match); ila 384 net/ipv6/ila/ila_xlat.c struct ila_map *ila; ila 392 net/ipv6/ila/ila_xlat.c ila = rhashtable_walk_next(&iter); ila 394 net/ipv6/ila/ila_xlat.c if (IS_ERR(ila)) { ila 395 net/ipv6/ila/ila_xlat.c if (PTR_ERR(ila) == -EAGAIN) ila 397 net/ipv6/ila/ila_xlat.c ret = PTR_ERR(ila); ila 399 net/ipv6/ila/ila_xlat.c } else if (!ila) { ila 403 net/ipv6/ila/ila_xlat.c lock = lock_from_ila_map(ilan, ila); ila 408 net/ipv6/ila/ila_xlat.c &ila->node, rht_params); ila 410 net/ipv6/ila/ila_xlat.c ila_free_node(ila); ila 424 net/ipv6/ila/ila_xlat.c static int ila_fill_info(struct ila_map *ila, struct sk_buff *msg) ila 427 net/ipv6/ila/ila_xlat.c (__force u64)ila->xp.ip.locator.v64, ila 430 net/ipv6/ila/ila_xlat.c (__force u64)ila->xp.ip.locator_match.v64, ila 432 net/ipv6/ila/ila_xlat.c nla_put_s32(msg, ILA_ATTR_IFINDEX, ila->xp.ifindex) || ila 433 net/ipv6/ila/ila_xlat.c nla_put_u8(msg, ILA_ATTR_CSUM_MODE, ila->xp.ip.csum_mode) || ila 434 net/ipv6/ila/ila_xlat.c nla_put_u8(msg, ILA_ATTR_IDENT_TYPE, ila->xp.ip.ident_type)) ila 440 net/ipv6/ila/ila_xlat.c static int ila_dump_info(struct ila_map *ila, ila 450 net/ipv6/ila/ila_xlat.c if (ila_fill_info(ila, skb) < 0) ila 467 net/ipv6/ila/ila_xlat.c struct ila_map *ila; ila 480 net/ipv6/ila/ila_xlat.c ila = ila_lookup_by_params(&xp, ilan); ila 481 net/ipv6/ila/ila_xlat.c if (ila) { ila 482 net/ipv6/ila/ila_xlat.c ret = ila_dump_info(ila, ila 539 net/ipv6/ila/ila_xlat.c struct ila_map *ila; ila 545 net/ipv6/ila/ila_xlat.c ila = rhashtable_walk_peek(rhiter); ila 547 net/ipv6/ila/ila_xlat.c if (ila && !IS_ERR(ila) && skip) { ila 550 net/ipv6/ila/ila_xlat.c while (ila && skip) { ila 554 net/ipv6/ila/ila_xlat.c ila = rcu_access_pointer(ila->next); ila 562 net/ipv6/ila/ila_xlat.c if (IS_ERR(ila)) { ila 563 net/ipv6/ila/ila_xlat.c ret = PTR_ERR(ila); ila 575 net/ipv6/ila/ila_xlat.c } else if (!ila) { ila 580 net/ipv6/ila/ila_xlat.c while (ila) { ila 581 net/ipv6/ila/ila_xlat.c ret = ila_dump_info(ila, NETLINK_CB(cb->skb).portid, ila 588 net/ipv6/ila/ila_xlat.c ila = rcu_access_pointer(ila->next); ila 592 net/ipv6/ila/ila_xlat.c ila = rhashtable_walk_next(rhiter); ila 635 net/ipv6/ila/ila_xlat.c struct ila_map *ila; ila 650 net/ipv6/ila/ila_xlat.c ila = ila_lookup_wildcards(iaddr, skb->dev->ifindex, ilan); ila 651 net/ipv6/ila/ila_xlat.c if (ila) ila 652 net/ipv6/ila/ila_xlat.c ila_update_ipv6_locator(skb, &ila->xp.ip, sir2ila);