Home
last modified time | relevance | path

Searched refs:nhe (Results 1 - 21 of 21) sorted by relevance

/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/en/rep/
H A Dneigh.c48 static bool mlx5e_rep_neigh_entry_hold(struct mlx5e_neigh_hash_entry *nhe) in mlx5e_rep_neigh_entry_hold() argument
50 return refcount_inc_not_zero(&nhe->refcnt); in mlx5e_rep_neigh_entry_hold()
53 static void mlx5e_rep_neigh_entry_remove(struct mlx5e_neigh_hash_entry *nhe);
55 void mlx5e_rep_neigh_entry_release(struct mlx5e_neigh_hash_entry *nhe) in mlx5e_rep_neigh_entry_release() argument
57 if (refcount_dec_and_test(&nhe->refcnt)) { in mlx5e_rep_neigh_entry_release()
58 mlx5e_rep_neigh_entry_remove(nhe); in mlx5e_rep_neigh_entry_release()
59 kfree_rcu(nhe, rcu); in mlx5e_rep_neigh_entry_release()
65 struct mlx5e_neigh_hash_entry *nhe) in mlx5e_get_next_nhe()
71 for (next = nhe ? in mlx5e_get_next_nhe()
73 &nhe in mlx5e_get_next_nhe()
64 mlx5e_get_next_nhe(struct mlx5e_rep_priv *rpriv, struct mlx5e_neigh_hash_entry *nhe) mlx5e_get_next_nhe() argument
101 struct mlx5e_neigh_hash_entry *nhe = NULL; mlx5e_rep_neigh_stats_work() local
116 struct mlx5e_neigh_hash_entry *nhe; global() member
130 struct mlx5e_neigh_hash_entry *nhe = update_work->nhe; mlx5e_rep_neigh_update() local
173 struct mlx5e_neigh_hash_entry *nhe; mlx5e_alloc_neigh_update_work() local
210 struct mlx5e_neigh_hash_entry *nhe = NULL; mlx5e_rep_netevent_event() local
325 mlx5e_rep_neigh_entry_insert(struct mlx5e_priv *priv, struct mlx5e_neigh_hash_entry *nhe) mlx5e_rep_neigh_entry_insert() argument
342 mlx5e_rep_neigh_entry_remove(struct mlx5e_neigh_hash_entry *nhe) mlx5e_rep_neigh_entry_remove() argument
365 struct mlx5e_neigh_hash_entry *nhe; mlx5e_rep_neigh_entry_lookup() local
372 mlx5e_rep_neigh_entry_create(struct mlx5e_priv *priv, struct mlx5e_neigh *m_neigh, struct net_device *neigh_dev, struct mlx5e_neigh_hash_entry **nhe) mlx5e_rep_neigh_entry_create() argument
[all...]
H A Dtc.c41 struct mlx5e_neigh_hash_entry *nhe; in mlx5e_rep_encap_entry_attach() local
49 nhe = mlx5e_rep_neigh_entry_lookup(priv, m_neigh); in mlx5e_rep_encap_entry_attach()
50 if (!nhe) { in mlx5e_rep_encap_entry_attach()
51 err = mlx5e_rep_neigh_entry_create(priv, m_neigh, neigh_dev, &nhe); in mlx5e_rep_encap_entry_attach()
60 e->nhe = nhe; in mlx5e_rep_encap_entry_attach()
61 spin_lock(&nhe->encap_list_lock); in mlx5e_rep_encap_entry_attach()
62 list_add_rcu(&e->encap_list, &nhe->encap_list); in mlx5e_rep_encap_entry_attach()
63 spin_unlock(&nhe->encap_list_lock); in mlx5e_rep_encap_entry_attach()
77 if (!e->nhe) in mlx5e_rep_encap_entry_detach()
[all...]
H A Dneigh.h21 struct mlx5e_neigh_hash_entry **nhe);
22 void mlx5e_rep_neigh_entry_release(struct mlx5e_neigh_hash_entry *nhe);
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/en/rep/
H A Dneigh.c48 static bool mlx5e_rep_neigh_entry_hold(struct mlx5e_neigh_hash_entry *nhe) in mlx5e_rep_neigh_entry_hold() argument
50 return refcount_inc_not_zero(&nhe->refcnt); in mlx5e_rep_neigh_entry_hold()
53 static void mlx5e_rep_neigh_entry_remove(struct mlx5e_neigh_hash_entry *nhe);
55 void mlx5e_rep_neigh_entry_release(struct mlx5e_neigh_hash_entry *nhe) in mlx5e_rep_neigh_entry_release() argument
57 if (refcount_dec_and_test(&nhe->refcnt)) { in mlx5e_rep_neigh_entry_release()
58 mlx5e_rep_neigh_entry_remove(nhe); in mlx5e_rep_neigh_entry_release()
59 kfree_rcu(nhe, rcu); in mlx5e_rep_neigh_entry_release()
65 struct mlx5e_neigh_hash_entry *nhe) in mlx5e_get_next_nhe()
71 for (next = nhe ? in mlx5e_get_next_nhe()
73 &nhe in mlx5e_get_next_nhe()
64 mlx5e_get_next_nhe(struct mlx5e_rep_priv *rpriv, struct mlx5e_neigh_hash_entry *nhe) mlx5e_get_next_nhe() argument
101 struct mlx5e_neigh_hash_entry *nhe = NULL; mlx5e_rep_neigh_stats_work() local
116 struct mlx5e_neigh_hash_entry *nhe; global() member
130 struct mlx5e_neigh_hash_entry *nhe = update_work->nhe; mlx5e_rep_neigh_update() local
171 struct mlx5e_neigh_hash_entry *nhe; mlx5e_alloc_neigh_update_work() local
209 struct mlx5e_neigh_hash_entry *nhe = NULL; mlx5e_rep_netevent_event() local
316 mlx5e_rep_neigh_entry_insert(struct mlx5e_priv *priv, struct mlx5e_neigh_hash_entry *nhe) mlx5e_rep_neigh_entry_insert() argument
333 mlx5e_rep_neigh_entry_remove(struct mlx5e_neigh_hash_entry *nhe) mlx5e_rep_neigh_entry_remove() argument
356 struct mlx5e_neigh_hash_entry *nhe; mlx5e_rep_neigh_entry_lookup() local
363 mlx5e_rep_neigh_entry_create(struct mlx5e_priv *priv, struct mlx5e_encap_entry *e, struct mlx5e_neigh_hash_entry **nhe) mlx5e_rep_neigh_entry_create() argument
[all...]
H A Dtc.c34 struct mlx5e_neigh_hash_entry *nhe; in mlx5e_rep_encap_entry_attach() local
42 nhe = mlx5e_rep_neigh_entry_lookup(priv, &e->m_neigh); in mlx5e_rep_encap_entry_attach()
43 if (!nhe) { in mlx5e_rep_encap_entry_attach()
44 err = mlx5e_rep_neigh_entry_create(priv, e, &nhe); in mlx5e_rep_encap_entry_attach()
53 e->nhe = nhe; in mlx5e_rep_encap_entry_attach()
54 spin_lock(&nhe->encap_list_lock); in mlx5e_rep_encap_entry_attach()
55 list_add_rcu(&e->encap_list, &nhe->encap_list); in mlx5e_rep_encap_entry_attach()
56 spin_unlock(&nhe->encap_list_lock); in mlx5e_rep_encap_entry_attach()
70 if (!e->nhe) in mlx5e_rep_encap_entry_detach()
[all...]
H A Dneigh.h20 struct mlx5e_neigh_hash_entry **nhe);
21 void mlx5e_rep_neigh_entry_release(struct mlx5e_neigh_hash_entry *nhe);
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/diag/
H A Den_rep_tracepoint.h15 TP_PROTO(const struct mlx5e_neigh_hash_entry *nhe, const u8 *ha,
17 TP_ARGS(nhe, ha, neigh_connected),
18 TP_STRUCT__entry(__string(devname, nhe->neigh_dev->name)
24 TP_fast_assign(const struct mlx5e_neigh *mn = &nhe->m_neigh;
28 __assign_str(devname, nhe->neigh_dev->name);
H A Den_tc_tracepoint.h78 TP_PROTO(const struct mlx5e_neigh_hash_entry *nhe, bool neigh_used),
79 TP_ARGS(nhe, neigh_used),
80 TP_STRUCT__entry(__string(devname, nhe->neigh_dev->name)
85 TP_fast_assign(const struct mlx5e_neigh *mn = &nhe->m_neigh;
89 __assign_str(devname, nhe->neigh_dev->name);
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/diag/
H A Den_rep_tracepoint.h15 TP_PROTO(const struct mlx5e_neigh_hash_entry *nhe, const u8 *ha,
17 TP_ARGS(nhe, ha, neigh_connected),
18 TP_STRUCT__entry(__string(devname, nhe->m_neigh.dev->name)
24 TP_fast_assign(const struct mlx5e_neigh *mn = &nhe->m_neigh;
H A Den_tc_tracepoint.h78 TP_PROTO(const struct mlx5e_neigh_hash_entry *nhe, bool neigh_used),
79 TP_ARGS(nhe, neigh_used),
80 TP_STRUCT__entry(__string(devname, nhe->m_neigh.dev->name)
85 TP_fast_assign(const struct mlx5e_neigh *mn = &nhe->m_neigh;
/kernel/linux/linux-5.10/include/net/
H A Dnexthop.h209 struct nexthop *nhe = nhg->nh_entries[i].nh; in nexthop_mpath_fill_node() local
210 struct nh_info *nhi = rcu_dereference_rtnl(nhe->nh_info); in nexthop_mpath_fill_node()
288 struct nexthop *nhe = nhg->nh_entries[i].nh; in nexthop_get_nhc_lookup() local
290 nhi = rcu_dereference(nhe->nh_info); in nexthop_get_nhc_lookup()
317 struct nexthop *nhe = nhg->nh_entries[i].nh; in nexthop_uses_dev() local
319 nhi = rcu_dereference(nhe->nh_info); in nexthop_uses_dev()
/kernel/linux/linux-6.6/include/net/
H A Dnexthop.h323 struct nexthop *nhe = nhg->nh_entries[i].nh; in nexthop_mpath_fill_node() local
324 struct nh_info *nhi = rcu_dereference_rtnl(nhe->nh_info); in nexthop_mpath_fill_node()
402 struct nexthop *nhe = nhg->nh_entries[i].nh; in nexthop_get_nhc_lookup() local
404 nhi = rcu_dereference(nhe->nh_info); in nexthop_get_nhc_lookup()
431 struct nexthop *nhe = nhg->nh_entries[i].nh; in nexthop_uses_dev() local
433 nhi = rcu_dereference(nhe->nh_info); in nexthop_uses_dev()
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Dtc_tun_encap.c313 mlx5e_get_next_matching_encap(struct mlx5e_neigh_hash_entry *nhe, in mlx5e_get_next_matching_encap() argument
324 list_next_or_null_rcu(&nhe->encap_list, in mlx5e_get_next_matching_encap()
328 list_first_or_null_rcu(&nhe->encap_list, in mlx5e_get_next_matching_encap()
332 next = list_next_or_null_rcu(&nhe->encap_list, in mlx5e_get_next_matching_encap()
364 mlx5e_get_next_valid_encap(struct mlx5e_neigh_hash_entry *nhe, in mlx5e_get_next_valid_encap() argument
367 return mlx5e_get_next_matching_encap(nhe, e, mlx5e_encap_valid); in mlx5e_get_next_valid_encap()
376 mlx5e_get_next_init_encap(struct mlx5e_neigh_hash_entry *nhe, in mlx5e_get_next_init_encap() argument
379 return mlx5e_get_next_matching_encap(nhe, e, mlx5e_encap_initialized); in mlx5e_get_next_init_encap()
382 void mlx5e_tc_update_neigh_used_value(struct mlx5e_neigh_hash_entry *nhe) in mlx5e_tc_update_neigh_used_value() argument
384 struct mlx5e_neigh *m_neigh = &nhe in mlx5e_tc_update_neigh_used_value()
[all...]
H A Dtc_tun.c386 WRITE_ONCE(e->nhe->neigh_dev, attr.n->dev); in mlx5e_tc_tun_update_header_ipv4()
654 WRITE_ONCE(e->nhe->neigh_dev, attr.n->dev); in mlx5e_tc_tun_update_header_ipv6()
/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/
H A Den_tc.h224 mlx5e_get_next_init_encap(struct mlx5e_neigh_hash_entry *nhe,
226 void mlx5e_tc_update_neigh_used_value(struct mlx5e_neigh_hash_entry *nhe);
H A Den_rep.h201 struct mlx5e_neigh_hash_entry *nhe; member
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/
H A Den_rep.h175 struct mlx5e_neigh_hash_entry *nhe; member
H A Den_tc.h164 void mlx5e_tc_update_neigh_used_value(struct mlx5e_neigh_hash_entry *nhe);
H A Den_tc.c1657 mlx5e_get_next_valid_encap(struct mlx5e_neigh_hash_entry *nhe, in mlx5e_get_next_valid_encap() argument
1667 list_next_or_null_rcu(&nhe->encap_list, in mlx5e_get_next_valid_encap()
1671 list_first_or_null_rcu(&nhe->encap_list, in mlx5e_get_next_valid_encap()
1675 next = list_next_or_null_rcu(&nhe->encap_list, in mlx5e_get_next_valid_encap()
1701 void mlx5e_tc_update_neigh_used_value(struct mlx5e_neigh_hash_entry *nhe) in mlx5e_tc_update_neigh_used_value() argument
1703 struct mlx5e_neigh *m_neigh = &nhe->m_neigh; in mlx5e_tc_update_neigh_used_value()
1724 while ((e = mlx5e_get_next_valid_encap(nhe, e)) != NULL) { in mlx5e_tc_update_neigh_used_value()
1742 if (time_after((unsigned long)lastuse, nhe->reported_lastuse)) { in mlx5e_tc_update_neigh_used_value()
1758 trace_mlx5e_tc_update_neigh_used_value(nhe, neigh_used); in mlx5e_tc_update_neigh_used_value()
1761 nhe in mlx5e_tc_update_neigh_used_value()
[all...]
/kernel/linux/linux-5.10/net/ipv4/
H A Dnexthop.c1277 struct nexthop *nhe; in nexthop_create_group() local
1280 nhe = nexthop_find_by_id(net, entry[i].id); in nexthop_create_group()
1281 if (!nexthop_get(nhe)) in nexthop_create_group()
1284 nhi = rtnl_dereference(nhe->nh_info); in nexthop_create_group()
1288 nhg->nh_entries[i].nh = nhe; in nexthop_create_group()
1290 list_add(&nhg->nh_entries[i].nh_list, &nhe->grp_list); in nexthop_create_group()
/kernel/linux/linux-6.6/net/ipv4/
H A Dnexthop.c2467 struct nexthop *nhe; in nexthop_create_group() local
2470 nhe = nexthop_find_by_id(net, entry[i].id); in nexthop_create_group()
2471 if (!nexthop_get(nhe)) { in nexthop_create_group()
2476 nhi = rtnl_dereference(nhe->nh_info); in nexthop_create_group()
2480 nhg->nh_entries[i].nh = nhe; in nexthop_create_group()
2482 list_add(&nhg->nh_entries[i].nh_list, &nhe->grp_list); in nexthop_create_group()

Completed in 27 milliseconds