Lines Matching refs:tun

392 	return __nfp_tun_has_route(&priv->tun.neigh_off_list_v4,  in nfp_tun_has_route_v4()
393 &priv->tun.neigh_off_lock_v4, ipv4_addr, in nfp_tun_has_route_v4()
402 return __nfp_tun_has_route(&priv->tun.neigh_off_list_v6, in nfp_tun_has_route_v6()
403 &priv->tun.neigh_off_lock_v6, ipv6_addr, in nfp_tun_has_route_v6()
412 __nfp_tun_add_route_to_cache(&priv->tun.neigh_off_list_v4, in nfp_tun_add_route_to_cache_v4()
413 &priv->tun.neigh_off_lock_v4, ipv4_addr, in nfp_tun_add_route_to_cache_v4()
422 __nfp_tun_add_route_to_cache(&priv->tun.neigh_off_list_v6, in nfp_tun_add_route_to_cache_v6()
423 &priv->tun.neigh_off_lock_v6, ipv6_addr, in nfp_tun_add_route_to_cache_v6()
432 __nfp_tun_del_route_from_cache(&priv->tun.neigh_off_list_v4, in nfp_tun_del_route_from_cache_v4()
433 &priv->tun.neigh_off_lock_v4, ipv4_addr, in nfp_tun_del_route_from_cache_v4()
442 __nfp_tun_del_route_from_cache(&priv->tun.neigh_off_list_v6, in nfp_tun_del_route_from_cache_v6()
443 &priv->tun.neigh_off_lock_v6, ipv6_addr, in nfp_tun_del_route_from_cache_v6()
553 app_priv = container_of(nb, struct nfp_flower_priv, tun.neigh_nb); in nfp_tun_neigh_event_handler()
695 mutex_lock(&priv->tun.ipv4_off_lock); in nfp_tun_write_ipv4_list()
697 list_for_each_safe(ptr, storage, &priv->tun.ipv4_off_list) { in nfp_tun_write_ipv4_list()
699 mutex_unlock(&priv->tun.ipv4_off_lock); in nfp_tun_write_ipv4_list()
707 mutex_unlock(&priv->tun.ipv4_off_lock); in nfp_tun_write_ipv4_list()
720 mutex_lock(&priv->tun.ipv4_off_lock); in nfp_tunnel_add_ipv4_off()
721 list_for_each_safe(ptr, storage, &priv->tun.ipv4_off_list) { in nfp_tunnel_add_ipv4_off()
725 mutex_unlock(&priv->tun.ipv4_off_lock); in nfp_tunnel_add_ipv4_off()
732 mutex_unlock(&priv->tun.ipv4_off_lock); in nfp_tunnel_add_ipv4_off()
738 list_add_tail(&entry->list, &priv->tun.ipv4_off_list); in nfp_tunnel_add_ipv4_off()
739 mutex_unlock(&priv->tun.ipv4_off_lock); in nfp_tunnel_add_ipv4_off()
750 mutex_lock(&priv->tun.ipv4_off_lock); in nfp_tunnel_del_ipv4_off()
751 list_for_each_safe(ptr, storage, &priv->tun.ipv4_off_list) { in nfp_tunnel_del_ipv4_off()
762 mutex_unlock(&priv->tun.ipv4_off_lock); in nfp_tunnel_del_ipv4_off()
775 mutex_lock(&priv->tun.ipv6_off_lock); in nfp_tun_write_ipv6_list()
776 list_for_each_entry(entry, &priv->tun.ipv6_off_list, list) { in nfp_tun_write_ipv6_list()
783 mutex_unlock(&priv->tun.ipv6_off_lock); in nfp_tun_write_ipv6_list()
797 mutex_lock(&priv->tun.ipv6_off_lock); in nfp_tunnel_add_ipv6_off()
798 list_for_each_entry(entry, &priv->tun.ipv6_off_list, list) in nfp_tunnel_add_ipv6_off()
801 mutex_unlock(&priv->tun.ipv6_off_lock); in nfp_tunnel_add_ipv6_off()
807 mutex_unlock(&priv->tun.ipv6_off_lock); in nfp_tunnel_add_ipv6_off()
813 list_add_tail(&entry->list, &priv->tun.ipv6_off_list); in nfp_tunnel_add_ipv6_off()
814 mutex_unlock(&priv->tun.ipv6_off_lock); in nfp_tunnel_add_ipv6_off()
827 mutex_lock(&priv->tun.ipv6_off_lock); in nfp_tunnel_put_ipv6_off()
833 mutex_unlock(&priv->tun.ipv6_off_lock); in nfp_tunnel_put_ipv6_off()
893 return rhashtable_lookup_fast(&priv->tun.offloaded_macs, mac, in nfp_tunnel_lookup_offloaded_macs()
945 ida_idx = ida_simple_get(&priv->tun.mac_off_ids, 0, in nfp_tunnel_add_shared_mac()
972 if (rhashtable_insert_fast(&priv->tun.offloaded_macs, in nfp_tunnel_add_shared_mac()
995 rhashtable_remove_fast(&priv->tun.offloaded_macs, &entry->ht_node, in nfp_tunnel_add_shared_mac()
1001 ida_simple_remove(&priv->tun.mac_off_ids, ida_idx); in nfp_tunnel_add_shared_mac()
1066 ida_simple_remove(&priv->tun.mac_off_ids, ida_idx); in nfp_tunnel_del_shared_mac()
1074 WARN_ON_ONCE(rhashtable_remove_fast(&priv->tun.offloaded_macs, in nfp_tunnel_del_shared_mac()
1080 ida_simple_remove(&priv->tun.mac_off_ids, ida_idx); in nfp_tunnel_del_shared_mac()
1353 err = rhashtable_init(&priv->tun.offloaded_macs, in nfp_tunnel_config_start()
1358 ida_init(&priv->tun.mac_off_ids); in nfp_tunnel_config_start()
1361 mutex_init(&priv->tun.ipv4_off_lock); in nfp_tunnel_config_start()
1362 INIT_LIST_HEAD(&priv->tun.ipv4_off_list); in nfp_tunnel_config_start()
1363 mutex_init(&priv->tun.ipv6_off_lock); in nfp_tunnel_config_start()
1364 INIT_LIST_HEAD(&priv->tun.ipv6_off_list); in nfp_tunnel_config_start()
1367 spin_lock_init(&priv->tun.neigh_off_lock_v4); in nfp_tunnel_config_start()
1368 INIT_LIST_HEAD(&priv->tun.neigh_off_list_v4); in nfp_tunnel_config_start()
1369 spin_lock_init(&priv->tun.neigh_off_lock_v6); in nfp_tunnel_config_start()
1370 INIT_LIST_HEAD(&priv->tun.neigh_off_list_v6); in nfp_tunnel_config_start()
1371 priv->tun.neigh_nb.notifier_call = nfp_tun_neigh_event_handler; in nfp_tunnel_config_start()
1373 err = register_netevent_notifier(&priv->tun.neigh_nb); in nfp_tunnel_config_start()
1375 rhashtable_free_and_destroy(&priv->tun.offloaded_macs, in nfp_tunnel_config_start()
1392 unregister_netevent_notifier(&priv->tun.neigh_nb); in nfp_tunnel_config_stop()
1394 ida_destroy(&priv->tun.mac_off_ids); in nfp_tunnel_config_stop()
1397 list_for_each_safe(ptr, storage, &priv->tun.ipv4_off_list) { in nfp_tunnel_config_stop()
1403 mutex_destroy(&priv->tun.ipv6_off_lock); in nfp_tunnel_config_stop()
1407 &priv->tun.neigh_off_list_v4, list) { in nfp_tunnel_config_stop()
1421 &priv->tun.neigh_off_list_v6, list) { in nfp_tunnel_config_stop()
1435 rhashtable_free_and_destroy(&priv->tun.offloaded_macs, in nfp_tunnel_config_stop()