Lines Matching refs:tunnel_node
865 struct bnxt_tc_tunnel_node *tunnel_node) in bnxt_tc_put_tunnel_node() argument
869 if (--tunnel_node->refcount == 0) { in bnxt_tc_put_tunnel_node()
870 rc = rhashtable_remove_fast(tunnel_table, &tunnel_node->node, in bnxt_tc_put_tunnel_node()
876 kfree_rcu(tunnel_node, rcu); in bnxt_tc_put_tunnel_node()
879 return tunnel_node->refcount; in bnxt_tc_put_tunnel_node()
891 struct bnxt_tc_tunnel_node *tunnel_node; in bnxt_tc_get_tunnel_node() local
894 tunnel_node = rhashtable_lookup_fast(tunnel_table, tun_key, *ht_params); in bnxt_tc_get_tunnel_node()
895 if (!tunnel_node) { in bnxt_tc_get_tunnel_node()
896 tunnel_node = kzalloc(sizeof(*tunnel_node), GFP_KERNEL); in bnxt_tc_get_tunnel_node()
897 if (!tunnel_node) { in bnxt_tc_get_tunnel_node()
902 tunnel_node->key = *tun_key; in bnxt_tc_get_tunnel_node()
903 tunnel_node->tunnel_handle = INVALID_TUNNEL_HANDLE; in bnxt_tc_get_tunnel_node()
904 rc = rhashtable_insert_fast(tunnel_table, &tunnel_node->node, in bnxt_tc_get_tunnel_node()
907 kfree_rcu(tunnel_node, rcu); in bnxt_tc_get_tunnel_node()
911 tunnel_node->refcount++; in bnxt_tc_get_tunnel_node()
912 return tunnel_node; in bnxt_tc_get_tunnel_node()