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);