nhe                15 drivers/net/ethernet/mellanox/mlx5/core/diag/en_rep_tracepoint.h 	    TP_PROTO(const struct mlx5e_neigh_hash_entry *nhe, const u8 *ha,
nhe                17 drivers/net/ethernet/mellanox/mlx5/core/diag/en_rep_tracepoint.h 	    TP_ARGS(nhe, ha, neigh_connected),
nhe                18 drivers/net/ethernet/mellanox/mlx5/core/diag/en_rep_tracepoint.h 	    TP_STRUCT__entry(__string(devname, nhe->m_neigh.dev->name)
nhe                24 drivers/net/ethernet/mellanox/mlx5/core/diag/en_rep_tracepoint.h 	    TP_fast_assign(const struct mlx5e_neigh *mn = &nhe->m_neigh;
nhe                78 drivers/net/ethernet/mellanox/mlx5/core/diag/en_tc_tracepoint.h 	    TP_PROTO(const struct mlx5e_neigh_hash_entry *nhe, bool neigh_used),
nhe                79 drivers/net/ethernet/mellanox/mlx5/core/diag/en_tc_tracepoint.h 	    TP_ARGS(nhe, neigh_used),
nhe                80 drivers/net/ethernet/mellanox/mlx5/core/diag/en_tc_tracepoint.h 	    TP_STRUCT__entry(__string(devname, nhe->m_neigh.dev->name)
nhe                85 drivers/net/ethernet/mellanox/mlx5/core/diag/en_tc_tracepoint.h 	    TP_fast_assign(const struct mlx5e_neigh *mn = &nhe->m_neigh;
nhe               532 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c static bool mlx5e_rep_neigh_entry_hold(struct mlx5e_neigh_hash_entry *nhe)
nhe               534 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	return refcount_inc_not_zero(&nhe->refcnt);
nhe               537 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c static void mlx5e_rep_neigh_entry_remove(struct mlx5e_neigh_hash_entry *nhe);
nhe               539 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c static void mlx5e_rep_neigh_entry_release(struct mlx5e_neigh_hash_entry *nhe)
nhe               541 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	if (refcount_dec_and_test(&nhe->refcnt)) {
nhe               542 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		mlx5e_rep_neigh_entry_remove(nhe);
nhe               543 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		kfree_rcu(nhe, rcu);
nhe               549 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		   struct mlx5e_neigh_hash_entry *nhe)
nhe               555 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	for (next = nhe ?
nhe               557 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 					   &nhe->neigh_list,
nhe               573 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	if (nhe)
nhe               574 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		mlx5e_rep_neigh_entry_release(nhe);
nhe               585 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	struct mlx5e_neigh_hash_entry *nhe = NULL;
nhe               591 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	while ((nhe = mlx5e_get_next_nhe(rpriv, nhe)) != NULL)
nhe               592 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		mlx5e_tc_update_neigh_used_value(nhe);
nhe               641 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	struct mlx5e_neigh_hash_entry *nhe =
nhe               643 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	struct neighbour *n = nhe->n;
nhe               665 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	trace_mlx5e_rep_neigh_update(nhe, ha, neigh_connected);
nhe               667 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	list_for_each_entry(e, &nhe->encap_list, encap_list) {
nhe               675 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	mlx5e_rep_neigh_entry_release(nhe);
nhe               881 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 				  struct mlx5e_neigh_hash_entry *nhe,
nhe               893 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	nhe->n = n;
nhe               895 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	if (!queue_work(priv->wq, &nhe->neigh_update_work)) {
nhe               896 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		mlx5e_rep_neigh_entry_release(nhe);
nhe               913 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	struct mlx5e_neigh_hash_entry *nhe = NULL;
nhe               934 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		nhe = mlx5e_rep_neigh_entry_lookup(priv, &m_neigh);
nhe               936 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		if (!nhe)
nhe               939 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		mlx5e_rep_queue_neigh_update_work(priv, nhe, n);
nhe               957 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		list_for_each_entry_rcu(nhe, &neigh_update->neigh_list,
nhe               959 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 			if (p->dev == nhe->m_neigh.dev) {
nhe              1027 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 					struct mlx5e_neigh_hash_entry *nhe)
nhe              1033 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 				     &nhe->rhash_node,
nhe              1038 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	list_add_rcu(&nhe->neigh_list, &rpriv->neigh_update.neigh_list);
nhe              1043 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c static void mlx5e_rep_neigh_entry_remove(struct mlx5e_neigh_hash_entry *nhe)
nhe              1045 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	struct mlx5e_rep_priv *rpriv = nhe->priv->ppriv;
nhe              1049 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	list_del_rcu(&nhe->neigh_list);
nhe              1052 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 			       &nhe->rhash_node,
nhe              1066 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	struct mlx5e_neigh_hash_entry *nhe;
nhe              1068 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	nhe = rhashtable_lookup_fast(&neigh_update->neigh_ht, m_neigh,
nhe              1070 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	return nhe && mlx5e_rep_neigh_entry_hold(nhe) ? nhe : NULL;
nhe              1075 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 					struct mlx5e_neigh_hash_entry **nhe)
nhe              1079 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	*nhe = kzalloc(sizeof(**nhe), GFP_KERNEL);
nhe              1080 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	if (!*nhe)
nhe              1083 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	(*nhe)->priv = priv;
nhe              1084 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	memcpy(&(*nhe)->m_neigh, &e->m_neigh, sizeof(e->m_neigh));
nhe              1085 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	INIT_WORK(&(*nhe)->neigh_update_work, mlx5e_rep_neigh_update);
nhe              1086 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	spin_lock_init(&(*nhe)->encap_list_lock);
nhe              1087 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	INIT_LIST_HEAD(&(*nhe)->encap_list);
nhe              1088 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	refcount_set(&(*nhe)->refcnt, 1);
nhe              1090 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	err = mlx5e_rep_neigh_entry_insert(priv, *nhe);
nhe              1096 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	kfree(*nhe);
nhe              1106 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	struct mlx5e_neigh_hash_entry *nhe;
nhe              1114 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	nhe = mlx5e_rep_neigh_entry_lookup(priv, &e->m_neigh);
nhe              1115 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	if (!nhe) {
nhe              1116 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		err = mlx5e_rep_neigh_entry_create(priv, e, &nhe);
nhe              1125 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	e->nhe = nhe;
nhe              1126 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	spin_lock(&nhe->encap_list_lock);
nhe              1127 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	list_add_rcu(&e->encap_list, &nhe->encap_list);
nhe              1128 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	spin_unlock(&nhe->encap_list_lock);
nhe              1142 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	if (!e->nhe)
nhe              1145 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	spin_lock(&e->nhe->encap_list_lock);
nhe              1147 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	spin_unlock(&e->nhe->encap_list_lock);
nhe              1149 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	mlx5e_rep_neigh_entry_release(e->nhe);
nhe              1150 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	e->nhe = NULL;
nhe               155 drivers/net/ethernet/mellanox/mlx5/core/en_rep.h 	struct mlx5e_neigh_hash_entry *nhe;
nhe              1435 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c mlx5e_get_next_valid_encap(struct mlx5e_neigh_hash_entry *nhe,
nhe              1445 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c 		     list_next_or_null_rcu(&nhe->encap_list,
nhe              1449 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c 		     list_first_or_null_rcu(&nhe->encap_list,
nhe              1453 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c 	     next = list_next_or_null_rcu(&nhe->encap_list,
nhe              1479 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c void mlx5e_tc_update_neigh_used_value(struct mlx5e_neigh_hash_entry *nhe)
nhe              1481 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c 	struct mlx5e_neigh *m_neigh = &nhe->m_neigh;
nhe              1502 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c 	while ((e = mlx5e_get_next_valid_encap(nhe, e)) != NULL) {
nhe              1520 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c 				if (time_after((unsigned long)lastuse, nhe->reported_lastuse)) {
nhe              1536 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c 	trace_mlx5e_tc_update_neigh_used_value(nhe, neigh_used);
nhe              1539 drivers/net/ethernet/mellanox/mlx5/core/en_tc.c 		nhe->reported_lastuse = jiffies;
nhe                87 drivers/net/ethernet/mellanox/mlx5/core/en_tc.h void mlx5e_tc_update_neigh_used_value(struct mlx5e_neigh_hash_entry *nhe);
nhe               171 include/net/nexthop.h 		struct nexthop *nhe = nhg->nh_entries[i].nh;
nhe               172 include/net/nexthop.h 		struct nh_info *nhi = rcu_dereference_rtnl(nhe->nh_info);
nhe               246 include/net/nexthop.h 			struct nexthop *nhe = nhg->nh_entries[i].nh;
nhe               248 include/net/nexthop.h 			nhi = rcu_dereference(nhe->nh_info);
nhe              1130 net/ipv4/nexthop.c 		struct nexthop *nhe;
nhe              1133 net/ipv4/nexthop.c 		nhe = nexthop_find_by_id(net, entry[i].id);
nhe              1134 net/ipv4/nexthop.c 		if (!nexthop_get(nhe))
nhe              1137 net/ipv4/nexthop.c 		nhi = rtnl_dereference(nhe->nh_info);
nhe              1141 net/ipv4/nexthop.c 		nhg->nh_entries[i].nh = nhe;
nhe              1143 net/ipv4/nexthop.c 		list_add(&nhg->nh_entries[i].nh_list, &nhe->grp_list);