Lines Matching refs:ilan

27 static int alloc_ila_locks(struct ila_net *ilan)  in alloc_ila_locks()  argument
29 return alloc_bucket_spinlocks(&ilan->xlat.locks, &ilan->xlat.locks_mask, in alloc_ila_locks()
48 static inline spinlock_t *ila_get_lock(struct ila_net *ilan, in ila_get_lock() argument
51 return &ilan->xlat.locks[ila_locator_hash(loc) & ilan->xlat.locks_mask]; in ila_get_lock()
128 struct ila_net *ilan) in ila_lookup_wildcards() argument
132 ila = rhashtable_lookup_fast(&ilan->xlat.rhash_table, &iaddr->loc, in ila_lookup_wildcards()
145 struct ila_net *ilan) in ila_lookup_by_params() argument
149 ila = rhashtable_lookup_fast(&ilan->xlat.rhash_table, in ila_lookup_by_params()
207 struct ila_net *ilan = net_generic(net, ila_net_id); in ila_add_mapping() local
209 spinlock_t *lock = ila_get_lock(ilan, xp->ip.locator_match); in ila_add_mapping()
212 if (!READ_ONCE(ilan->xlat.hooks_registered)) { in ila_add_mapping()
217 if (!ilan->xlat.hooks_registered) { in ila_add_mapping()
221 WRITE_ONCE(ilan->xlat.hooks_registered, true); in ila_add_mapping()
240 head = rhashtable_lookup_fast(&ilan->xlat.rhash_table, in ila_add_mapping()
245 err = rhashtable_lookup_insert_fast(&ilan->xlat.rhash_table, in ila_add_mapping()
271 err = rhashtable_replace_fast(&ilan->xlat.rhash_table, in ila_add_mapping()
290 struct ila_net *ilan = net_generic(net, ila_net_id); in ila_del_mapping() local
292 spinlock_t *lock = ila_get_lock(ilan, xp->ip.locator_match); in ila_del_mapping()
297 head = rhashtable_lookup_fast(&ilan->xlat.rhash_table, in ila_del_mapping()
327 &ilan->xlat.rhash_table, &ila->node, in ila_del_mapping()
334 &ilan->xlat.rhash_table, in ila_del_mapping()
378 static inline spinlock_t *lock_from_ila_map(struct ila_net *ilan, in lock_from_ila_map() argument
381 return ila_get_lock(ilan, ila->xp.ip.locator_match); in lock_from_ila_map()
387 struct ila_net *ilan = net_generic(net, ila_net_id); in ila_xlat_nl_cmd_flush() local
393 rhashtable_walk_enter(&ilan->xlat.rhash_table, &iter); in ila_xlat_nl_cmd_flush()
408 lock = lock_from_ila_map(ilan, ila); in ila_xlat_nl_cmd_flush()
412 ret = rhashtable_remove_fast(&ilan->xlat.rhash_table, in ila_xlat_nl_cmd_flush()
469 struct ila_net *ilan = net_generic(net, ila_net_id); in ila_xlat_nl_cmd_get_mapping() local
486 ila = ila_lookup_by_params(&xp, ilan); in ila_xlat_nl_cmd_get_mapping()
514 struct ila_net *ilan = net_generic(net, ila_net_id); in ila_xlat_nl_dump_start() local
521 rhashtable_walk_enter(&ilan->xlat.rhash_table, &iter->rhiter); in ila_xlat_nl_dump_start()
612 struct ila_net *ilan = net_generic(net, ila_net_id); in ila_xlat_init_net() local
615 err = alloc_ila_locks(ilan); in ila_xlat_init_net()
619 err = rhashtable_init(&ilan->xlat.rhash_table, &rht_params); in ila_xlat_init_net()
621 free_bucket_spinlocks(ilan->xlat.locks); in ila_xlat_init_net()
630 struct ila_net *ilan = net_generic(net, ila_net_id); in ila_xlat_pre_exit_net() local
632 if (ilan->xlat.hooks_registered) in ila_xlat_pre_exit_net()
639 struct ila_net *ilan = net_generic(net, ila_net_id); in ila_xlat_exit_net() local
641 rhashtable_free_and_destroy(&ilan->xlat.rhash_table, ila_free_cb, NULL); in ila_xlat_exit_net()
643 free_bucket_spinlocks(ilan->xlat.locks); in ila_xlat_exit_net()
651 struct ila_net *ilan = net_generic(net, ila_net_id); in ila_xlat_addr() local
663 ila = ila_lookup_wildcards(iaddr, skb->dev->ifindex, ilan); in ila_xlat_addr()