/kernel/linux/linux-6.6/drivers/net/ethernet/mellanox/mlx5/core/en/rep/ |
H A D | neigh.c | 48 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 D | tc.c | 41 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 D | neigh.h | 21 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 D | neigh.c | 48 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 D | tc.c | 34 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 D | neigh.h | 20 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 D | en_rep_tracepoint.h | 15 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 D | en_tc_tracepoint.h | 78 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 D | en_rep_tracepoint.h | 15 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 D | en_tc_tracepoint.h | 78 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 D | nexthop.h | 209 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 D | nexthop.h | 323 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 D | tc_tun_encap.c | 313 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 D | tc_tun.c | 386 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 D | en_tc.h | 224 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 D | en_rep.h | 201 struct mlx5e_neigh_hash_entry *nhe; member
|
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx5/core/ |
H A D | en_rep.h | 175 struct mlx5e_neigh_hash_entry *nhe; member
|
H A D | en_tc.h | 164 void mlx5e_tc_update_neigh_used_value(struct mlx5e_neigh_hash_entry *nhe);
|
H A D | en_tc.c | 1657 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 D | nexthop.c | 1277 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 D | nexthop.c | 2467 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()
|