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