Home
last modified time | relevance | path

Searched refs:mr_table (Results 1 – 25 of 25) sorted by relevance

/Linux-v4.19/drivers/net/ethernet/mellanox/mlxsw/
Dspectrum_mr.c53 bool (*is_route_valid)(const struct mlxsw_sp_mr_table *mr_table,
55 void (*key_create)(struct mlxsw_sp_mr_table *mr_table,
58 bool (*is_route_starg)(const struct mlxsw_sp_mr_table *mr_table,
83 const struct mlxsw_sp_mr_table *mr_table; member
140 if (mr_route->mr_table->ops->is_route_starg(mr_route->mr_table, in mlxsw_sp_mr_route_action()
162 return mr_route->mr_table->ops->is_route_starg(mr_route->mr_table, in mlxsw_sp_mr_route_prio()
204 mlxsw_sp_mr_route_info_create(struct mlxsw_sp_mr_table *mr_table, in mlxsw_sp_mr_route_info_create() argument
245 static int mlxsw_sp_mr_route_write(struct mlxsw_sp_mr_table *mr_table, in mlxsw_sp_mr_route_write() argument
249 struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp; in mlxsw_sp_mr_route_write()
254 err = mlxsw_sp_mr_route_info_create(mr_table, mr_route, &route_info); in mlxsw_sp_mr_route_write()
[all …]
Dspectrum_mr.h73 int mlxsw_sp_mr_route_add(struct mlxsw_sp_mr_table *mr_table,
75 void mlxsw_sp_mr_route_del(struct mlxsw_sp_mr_table *mr_table,
77 int mlxsw_sp_mr_vif_add(struct mlxsw_sp_mr_table *mr_table,
81 void mlxsw_sp_mr_vif_del(struct mlxsw_sp_mr_table *mr_table, vifi_t vif_index);
82 int mlxsw_sp_mr_rif_add(struct mlxsw_sp_mr_table *mr_table,
84 void mlxsw_sp_mr_rif_del(struct mlxsw_sp_mr_table *mr_table,
86 void mlxsw_sp_mr_rif_mtu_update(struct mlxsw_sp_mr_table *mr_table,
91 void mlxsw_sp_mr_table_destroy(struct mlxsw_sp_mr_table *mr_table);
92 void mlxsw_sp_mr_table_flush(struct mlxsw_sp_mr_table *mr_table);
93 bool mlxsw_sp_mr_table_empty(const struct mlxsw_sp_mr_table *mr_table);
Dspectrum_router.c436 struct mlxsw_sp_mr_table *mr_table[MLXSW_SP_L3_PROTO_MAX]; member
681 !!vr->mr_table[MLXSW_SP_L3_PROTO_IPV4] || in mlxsw_sp_vr_is_used()
682 !!vr->mr_table[MLXSW_SP_L3_PROTO_IPV6]; in mlxsw_sp_vr_is_used()
794 vr->mr_table[MLXSW_SP_L3_PROTO_IPV4] = mr4_table; in mlxsw_sp_vr_create()
795 vr->mr_table[MLXSW_SP_L3_PROTO_IPV6] = mr6_table; in mlxsw_sp_vr_create()
811 mlxsw_sp_mr_table_destroy(vr->mr_table[MLXSW_SP_L3_PROTO_IPV6]); in mlxsw_sp_vr_destroy()
812 vr->mr_table[MLXSW_SP_L3_PROTO_IPV6] = NULL; in mlxsw_sp_vr_destroy()
813 mlxsw_sp_mr_table_destroy(vr->mr_table[MLXSW_SP_L3_PROTO_IPV4]); in mlxsw_sp_vr_destroy()
814 vr->mr_table[MLXSW_SP_L3_PROTO_IPV4] = NULL; in mlxsw_sp_vr_destroy()
837 mlxsw_sp_mr_table_empty(vr->mr_table[MLXSW_SP_L3_PROTO_IPV4]) && in mlxsw_sp_vr_put()
[all …]
/Linux-v4.19/include/linux/
Dmroute_base.h212 struct mr_table;
242 struct mr_table { struct
269 struct mr_table * argument
273 void (*table_set)(struct mr_table *mrt,
279 void *mr_mfc_find_parent(struct mr_table *mrt,
281 void *mr_mfc_find_any_parent(struct mr_table *mrt, int vifi);
282 void *mr_mfc_find_any(struct mr_table *mrt, int vifi, void *hasharg);
284 int mr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb,
287 struct mr_table *(*iter)(struct net *net,
288 struct mr_table *mrt),
[all …]
/Linux-v4.19/drivers/infiniband/hw/mthca/
Dmthca_mr.c199 if (mthca_table_get_range(dev, dev->mr_table.mtt_table, seg, in mthca_alloc_mtt_range()
237 return __mthca_alloc_mtt(dev, size, &dev->mr_table.mtt_buddy); in mthca_alloc_mtt()
247 mthca_table_put_range(dev, dev->mr_table.mtt_table, in mthca_free_mtt()
268 mtt_entry[0] = cpu_to_be64(dev->mr_table.mtt_base + in __mthca_write_mtt()
301 if (dev->mr_table.fmr_mtt_buddy != &dev->mr_table.mtt_buddy || in mthca_write_mtt_size()
322 mtts = dev->mr_table.tavor_fmr.mtt_base + mtt->first_seg * dev->limits.mtt_seg_size + in mthca_tavor_write_mtt_seg()
343 mtts = mthca_table_find(dev->mr_table.mtt_table, mtt->first_seg + in mthca_arbel_write_mtt_seg()
364 if (dev->mr_table.fmr_mtt_buddy != &dev->mr_table.mtt_buddy || in mthca_write_mtt()
440 key = mthca_alloc(&dev->mr_table.mpt_alloc); in mthca_mr_alloc()
447 err = mthca_table_get(dev, dev->mr_table.mpt_table, key); in mthca_mr_alloc()
[all …]
Dmthca_main.c421 mdev->mr_table.mtt_table = mthca_alloc_icm_table(mdev, init_hca->mtt_base, in mthca_init_icm()
426 if (!mdev->mr_table.mtt_table) { in mthca_init_icm()
432 mdev->mr_table.mpt_table = mthca_alloc_icm_table(mdev, init_hca->mpt_base, in mthca_init_icm()
437 if (!mdev->mr_table.mpt_table) { in mthca_init_icm()
539 mthca_free_icm_table(mdev, mdev->mr_table.mpt_table); in mthca_init_icm()
542 mthca_free_icm_table(mdev, mdev->mr_table.mtt_table); in mthca_init_icm()
566 mthca_free_icm_table(mdev, mdev->mr_table.mpt_table); in mthca_free_icms()
567 mthca_free_icm_table(mdev, mdev->mr_table.mtt_table); in mthca_free_icms()
Dmthca_profile.c223 dev->mr_table.mpt_base = profile[i].start; in mthca_make_profile()
229 dev->mr_table.mtt_base = profile[i].start; in mthca_make_profile()
Dmthca_dev.h341 struct mthca_mr_table mr_table; member
/Linux-v4.19/net/ipv4/
Dipmr_base.c31 struct mr_table *
35 void (*table_set)(struct mr_table *mrt, in mr_table_alloc()
38 struct mr_table *mrt; in mr_table_alloc()
64 void *mr_mfc_find_parent(struct mr_table *mrt, void *hasharg, int parent) in mr_mfc_find_parent()
78 void *mr_mfc_find_any_parent(struct mr_table *mrt, int vifi) in mr_mfc_find_any_parent()
93 void *mr_mfc_find_any(struct mr_table *mrt, int vifi, void *hasharg) in mr_mfc_find_any()
116 struct mr_table *mrt = iter->mrt; in mr_vif_seq_idx()
132 struct mr_table *mrt = iter->mrt; in mr_vif_seq_next()
150 struct mr_table *mrt = it->mrt; in mr_mfc_seq_idx()
177 struct mr_table *mrt = it->mrt; in mr_mfc_seq_next()
[all …]
Dipmr.c77 struct mr_table *mrt;
101 static struct mr_table *ipmr_new_table(struct net *net, u32 id);
102 static void ipmr_free_table(struct mr_table *mrt);
104 static void ip_mr_forward(struct net *net, struct mr_table *mrt,
107 static int ipmr_cache_report(struct mr_table *mrt,
109 static void mroute_netlink_event(struct mr_table *mrt, struct mfc_cache *mfc,
111 static void igmpmsg_netlink_event(struct mr_table *mrt, struct sk_buff *pkt);
112 static void mroute_clean_tables(struct mr_table *mrt, bool all);
119 static struct mr_table *ipmr_mr_table_iter(struct net *net, in ipmr_mr_table_iter()
120 struct mr_table *mrt) in ipmr_mr_table_iter()
[all …]
/Linux-v4.19/net/ipv6/
Dip6mr.c60 struct mr_table *mrt;
84 static struct mr_table *ip6mr_new_table(struct net *net, u32 id);
85 static void ip6mr_free_table(struct mr_table *mrt);
87 static void ip6_mr_forward(struct net *net, struct mr_table *mrt,
89 static int ip6mr_cache_report(struct mr_table *mrt, struct sk_buff *pkt,
91 static void mr6_netlink_event(struct mr_table *mrt, struct mfc6_cache *mfc,
93 static void mrt6msg_netlink_event(struct mr_table *mrt, struct sk_buff *pkt);
96 static void mroute_clean_tables(struct mr_table *mrt, bool all);
103 static struct mr_table *ip6mr_mr_table_iter(struct net *net, in ip6mr_mr_table_iter()
104 struct mr_table *mrt) in ip6mr_mr_table_iter()
[all …]
/Linux-v4.19/drivers/net/ethernet/mellanox/mlx4/
Dmr.c152 struct mlx4_mr_table *mr_table = &mlx4_priv(dev)->mr_table; in __mlx4_alloc_mtt_range() local
159 seg = mlx4_buddy_alloc(&mr_table->mtt_buddy, seg_order); in __mlx4_alloc_mtt_range()
165 if (mlx4_table_get_range(dev, &mr_table->mtt_table, offset, in __mlx4_alloc_mtt_range()
167 mlx4_buddy_free(&mr_table->mtt_buddy, seg, seg_order); in __mlx4_alloc_mtt_range()
221 struct mlx4_mr_table *mr_table = &mlx4_priv(dev)->mr_table; in __mlx4_free_mtt_range() local
226 mlx4_buddy_free(&mr_table->mtt_buddy, first_seg, seg_order); in __mlx4_free_mtt_range()
227 mlx4_table_put_range(dev, &mr_table->mtt_table, offset, in __mlx4_free_mtt_range()
314 &mlx4_priv(dev)->mr_table.dmpt_table, in mlx4_mr_hw_get_mpt()
442 return mlx4_bitmap_alloc(&priv->mr_table.mpt_bitmap); in __mlx4_mpt_reserve()
463 mlx4_bitmap_free(&priv->mr_table.mpt_bitmap, index, MLX4_NO_RR); in __mlx4_mpt_release()
[all …]
Dprofile.c230 priv->mr_table.mpt_base = profile[i].start; in mlx4_make_profile()
239 priv->mr_table.mtt_base = profile[i].start; in mlx4_make_profile()
Dmain.c1701 err = mlx4_init_icm_table(dev, &priv->mr_table.mtt_table, in mlx4_init_icm()
1711 err = mlx4_init_icm_table(dev, &priv->mr_table.dmpt_table, in mlx4_init_icm()
1824 mlx4_cleanup_icm_table(dev, &priv->mr_table.dmpt_table); in mlx4_init_icm()
1827 mlx4_cleanup_icm_table(dev, &priv->mr_table.mtt_table); in mlx4_init_icm()
1858 mlx4_cleanup_icm_table(dev, &priv->mr_table.dmpt_table); in mlx4_free_icms()
1859 mlx4_cleanup_icm_table(dev, &priv->mr_table.mtt_table); in mlx4_free_icms()
Dmlx4.h894 struct mlx4_mr_table mr_table; member
Dresource_tracker.c2885 &mlx4_priv(dev)->mr_table.dmpt_table, in mlx4_QUERY_MPT_wrapper()
/Linux-v4.19/drivers/infiniband/hw/hns/
Dhns_roce_mr.c182 struct hns_roce_mr_table *mr_table = &hr_dev->mr_table; in hns_roce_alloc_mtt_range() local
188 buddy = &mr_table->mtt_buddy; in hns_roce_alloc_mtt_range()
189 table = &mr_table->mtt_table; in hns_roce_alloc_mtt_range()
191 buddy = &mr_table->mtt_cqe_buddy; in hns_roce_alloc_mtt_range()
192 table = &mr_table->mtt_cqe_table; in hns_roce_alloc_mtt_range()
240 struct hns_roce_mr_table *mr_table = &hr_dev->mr_table; in hns_roce_mtt_cleanup() local
246 hns_roce_buddy_free(&mr_table->mtt_buddy, mtt->first_seg, in hns_roce_mtt_cleanup()
248 hns_roce_table_put_range(hr_dev, &mr_table->mtt_table, in hns_roce_mtt_cleanup()
252 hns_roce_buddy_free(&mr_table->mtt_cqe_buddy, mtt->first_seg, in hns_roce_mtt_cleanup()
254 hns_roce_table_put_range(hr_dev, &mr_table->mtt_cqe_table, in hns_roce_mtt_cleanup()
[all …]
Dhns_roce_main.c625 ret = hns_roce_init_hem_table(hr_dev, &hr_dev->mr_table.mtt_table, in hns_roce_init_hem()
635 &hr_dev->mr_table.mtt_cqe_table, in hns_roce_init_hem()
644 ret = hns_roce_init_hem_table(hr_dev, &hr_dev->mr_table.mtpt_table, in hns_roce_init_hem()
706 hns_roce_cleanup_hem_table(hr_dev, &hr_dev->mr_table.mtpt_table); in hns_roce_init_hem()
711 &hr_dev->mr_table.mtt_cqe_table); in hns_roce_init_hem()
714 hns_roce_cleanup_hem_table(hr_dev, &hr_dev->mr_table.mtt_table); in hns_roce_init_hem()
Dhns_roce_cq.c100 mtt_table = &hr_dev->mr_table.mtt_cqe_table; in hns_roce_cq_alloc()
102 mtt_table = &hr_dev->mr_table.mtt_table; in hns_roce_cq_alloc()
Dhns_roce_hem.c1050 hns_roce_cleanup_hem_table(hr_dev, &hr_dev->mr_table.mtpt_table); in hns_roce_cleanup_hem()
1053 &hr_dev->mr_table.mtt_cqe_table); in hns_roce_cleanup_hem()
1054 hns_roce_cleanup_hem_table(hr_dev, &hr_dev->mr_table.mtt_table); in hns_roce_cleanup_hem()
Dhns_roce_device.h824 struct hns_roce_mr_table mr_table; member
Dhns_roce_hw_v1.c1155 hns_roce_bitmap_free(&hr_dev->mr_table.mtpt_bitmap, in hns_roce_v1_dereg_mr()
2627 mtts = hns_roce_table_find(hr_dev, &hr_dev->mr_table.mtt_table, in hns_roce_v1_m_sqp()
2778 mtts = hns_roce_table_find(hr_dev, &hr_dev->mr_table.mtt_table, in hns_roce_v1_m_qp()
Dhns_roce_hw_v2.c2989 mtts = hns_roce_table_find(hr_dev, &hr_dev->mr_table.mtt_table, in modify_qp_init_to_rtr()
3254 mtts = hns_roce_table_find(hr_dev, &hr_dev->mr_table.mtt_table, in modify_qp_rtr_to_rts()
/Linux-v4.19/include/net/netns/
Dipv6.h92 struct mr_table *mrt6;
Dipv4.h199 struct mr_table *mrt;