Searched refs:mr_table (Results 1 - 23 of 23) sorted by relevance

/linux-master/drivers/net/ethernet/mellanox/mlxsw/
H A Dspectrum_mr.c55 bool (*is_route_valid)(const struct mlxsw_sp_mr_table *mr_table,
57 void (*key_create)(struct mlxsw_sp_mr_table *mr_table,
60 bool (*is_route_starg)(const struct mlxsw_sp_mr_table *mr_table,
86 const struct mlxsw_sp_mr_table *mr_table; member in struct:mlxsw_sp_mr_route
143 if (mr_route->mr_table->ops->is_route_starg(mr_route->mr_table,
165 return mr_route->mr_table->ops->is_route_starg(mr_route->mr_table,
207 mlxsw_sp_mr_route_info_create(struct mlxsw_sp_mr_table *mr_table, argument
248 static int mlxsw_sp_mr_route_write(struct mlxsw_sp_mr_table *mr_table, argument
288 mlxsw_sp_mr_route_erase(struct mlxsw_sp_mr_table *mr_table, struct mlxsw_sp_mr_route *mr_route) argument
299 mlxsw_sp_mr_route_create(struct mlxsw_sp_mr_table *mr_table, struct mr_mfc *mfc) argument
344 mlxsw_sp_mr_route_destroy(struct mlxsw_sp_mr_table *mr_table, struct mlxsw_sp_mr_route *mr_route) argument
373 __mlxsw_sp_mr_route_del(struct mlxsw_sp_mr_table *mr_table, struct mlxsw_sp_mr_route *mr_route) argument
386 mlxsw_sp_mr_route_add(struct mlxsw_sp_mr_table *mr_table, struct mr_mfc *mfc, bool replace) argument
462 mlxsw_sp_mr_route_del(struct mlxsw_sp_mr_table *mr_table, struct mr_mfc *mfc) argument
480 mlxsw_sp_mr_route_ivif_resolve(struct mlxsw_sp_mr_table *mr_table, struct mlxsw_sp_mr_route_vif_entry *rve) argument
515 mlxsw_sp_mr_route_ivif_unresolve(struct mlxsw_sp_mr_table *mr_table, struct mlxsw_sp_mr_route_vif_entry *rve) argument
529 mlxsw_sp_mr_route_evif_resolve(struct mlxsw_sp_mr_table *mr_table, struct mlxsw_sp_mr_route_vif_entry *rve) argument
588 mlxsw_sp_mr_route_evif_unresolve(struct mlxsw_sp_mr_table *mr_table, struct mlxsw_sp_mr_route_vif_entry *rve) argument
621 mlxsw_sp_mr_vif_resolve(struct mlxsw_sp_mr_table *mr_table, struct net_device *dev, struct mlxsw_sp_mr_vif *mr_vif, unsigned long vif_flags, const struct mlxsw_sp_rif *rif) argument
662 mlxsw_sp_mr_vif_unresolve(struct mlxsw_sp_mr_table *mr_table, struct net_device *dev, struct mlxsw_sp_mr_vif *mr_vif) argument
681 mlxsw_sp_mr_vif_add(struct mlxsw_sp_mr_table *mr_table, struct net_device *dev, vifi_t vif_index, unsigned long vif_flags, const struct mlxsw_sp_rif *rif) argument
694 mlxsw_sp_mr_vif_del(struct mlxsw_sp_mr_table *mr_table, vifi_t vif_index) argument
706 mlxsw_sp_mr_dev_vif_lookup(struct mlxsw_sp_mr_table *mr_table, const struct mlxsw_sp_rif *rif) argument
717 mlxsw_sp_mr_rif_add(struct mlxsw_sp_mr_table *mr_table, const struct mlxsw_sp_rif *rif) argument
732 mlxsw_sp_mr_rif_del(struct mlxsw_sp_mr_table *mr_table, const struct mlxsw_sp_rif *rif) argument
746 mlxsw_sp_mr_rif_mtu_update(struct mlxsw_sp_mr_table *mr_table, const struct mlxsw_sp_rif *rif, int mtu) argument
775 mlxsw_sp_mr_route4_validate(const struct mlxsw_sp_mr_table *mr_table, const struct mr_mfc *c) argument
792 mlxsw_sp_mr_route4_key(struct mlxsw_sp_mr_table *mr_table, struct mlxsw_sp_mr_route_key *key, struct mr_mfc *c) argument
810 mlxsw_sp_mr_route4_starg(const struct mlxsw_sp_mr_table *mr_table, const struct mlxsw_sp_mr_route *mr_route) argument
822 mlxsw_sp_mr_route6_validate(const struct mlxsw_sp_mr_table *mr_table, const struct mr_mfc *c) argument
839 mlxsw_sp_mr_route6_key(struct mlxsw_sp_mr_table *mr_table, struct mlxsw_sp_mr_route_key *key, struct mr_mfc *c) argument
856 mlxsw_sp_mr_route6_starg(const struct mlxsw_sp_mr_table *mr_table, const struct mlxsw_sp_mr_route *mr_route) argument
907 struct mlxsw_sp_mr_table *mr_table; local
952 mlxsw_sp_mr_table_destroy(struct mlxsw_sp_mr_table *mr_table) argument
968 mlxsw_sp_mr_table_flush(struct mlxsw_sp_mr_table *mr_table) argument
984 mlxsw_sp_mr_table_empty(const struct mlxsw_sp_mr_table *mr_table) argument
1016 struct mlxsw_sp_mr_table *mr_table; local
[all...]
H A 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);
[all...]
H A Dspectrum_router.c525 struct mlxsw_sp_mr_table *mr_table[MLXSW_SP_L3_PROTO_MAX]; member in struct:mlxsw_sp_vr
773 !!vr->mr_table[MLXSW_SP_L3_PROTO_IPV4] ||
774 !!vr->mr_table[MLXSW_SP_L3_PROTO_IPV6];
906 vr->mr_table[MLXSW_SP_L3_PROTO_IPV4] = mr4_table;
907 vr->mr_table[MLXSW_SP_L3_PROTO_IPV6] = mr6_table;
923 mlxsw_sp_mr_table_destroy(vr->mr_table[MLXSW_SP_L3_PROTO_IPV6]);
924 vr->mr_table[MLXSW_SP_L3_PROTO_IPV6] = NULL;
925 mlxsw_sp_mr_table_destroy(vr->mr_table[MLXSW_SP_L3_PROTO_IPV4]);
926 vr->mr_table[MLXSW_SP_L3_PROTO_IPV4] = NULL;
949 mlxsw_sp_mr_table_empty(vr->mr_table[MLXSW_SP_L3_PROTO_IPV
[all...]
/linux-master/include/linux/
H A Dmroute_base.h216 struct mr_table;
229 * struct mr_table - a multicast routing table
246 struct mr_table { struct
273 struct mr_table *
277 void (*table_set)(struct mr_table *mrt,
283 void *mr_mfc_find_parent(struct mr_table *mrt,
285 void *mr_mfc_find_any_parent(struct mr_table *mrt, int vifi);
286 void *mr_mfc_find_any(struct mr_table *mrt, int vifi, void *hasharg);
288 int mr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb,
290 int mr_table_dump(struct mr_table *mr
[all...]
/linux-master/drivers/infiniband/hw/mthca/
H A Dmthca_mr.c197 if (mthca_table_get_range(dev, dev->mr_table.mtt_table, seg,
235 return __mthca_alloc_mtt(dev, size, &dev->mr_table.mtt_buddy);
245 mthca_table_put_range(dev, dev->mr_table.mtt_table,
266 mtt_entry[0] = cpu_to_be64(dev->mr_table.mtt_base +
299 if (dev->mr_table.fmr_mtt_buddy != &dev->mr_table.mtt_buddy ||
320 mtts = dev->mr_table.tavor_fmr.mtt_base + mtt->first_seg * dev->limits.mtt_seg_size +
341 mtts = mthca_table_find(dev->mr_table.mtt_table, mtt->first_seg +
362 if (dev->mr_table.fmr_mtt_buddy != &dev->mr_table
[all...]
H A Dmthca_main.c421 mdev->mr_table.mtt_table = mthca_alloc_icm_table(mdev, init_hca->mtt_base,
426 if (!mdev->mr_table.mtt_table) {
432 mdev->mr_table.mpt_table = mthca_alloc_icm_table(mdev, init_hca->mpt_base,
437 if (!mdev->mr_table.mpt_table) {
539 mthca_free_icm_table(mdev, mdev->mr_table.mpt_table);
542 mthca_free_icm_table(mdev, mdev->mr_table.mtt_table);
566 mthca_free_icm_table(mdev, mdev->mr_table.mpt_table);
567 mthca_free_icm_table(mdev, mdev->mr_table.mtt_table);
H A Dmthca_profile.c221 dev->mr_table.mpt_base = profile[i].start;
227 dev->mr_table.mtt_base = profile[i].start;
H A Dmthca_dev.h340 struct mthca_mr_table mr_table; member in struct:mthca_dev
/linux-master/net/ipv4/
H A Dipmr_base.c31 struct mr_table *
35 void (*table_set)(struct mr_table *mrt,
38 struct mr_table *mrt;
64 void *mr_mfc_find_parent(struct mr_table *mrt, void *hasharg, int parent)
78 void *mr_mfc_find_any_parent(struct mr_table *mrt, int vifi)
93 void *mr_mfc_find_any(struct mr_table *mrt, int vifi, void *hasharg)
116 struct mr_table *mrt = iter->mrt;
132 struct mr_table *mrt = iter->mrt;
150 struct mr_table *mrt = it->mrt;
177 struct mr_table *mr
[all...]
H A Dipmr.c73 struct mr_table *mrt;
102 static struct mr_table *ipmr_new_table(struct net *net, u32 id);
103 static void ipmr_free_table(struct mr_table *mrt);
105 static void ip_mr_forward(struct net *net, struct mr_table *mrt,
108 static int ipmr_cache_report(const struct mr_table *mrt,
110 static void mroute_netlink_event(struct mr_table *mrt, struct mfc_cache *mfc,
112 static void igmpmsg_netlink_event(const struct mr_table *mrt, struct sk_buff *pkt);
113 static void mroute_clean_tables(struct mr_table *mrt, int flags);
122 static struct mr_table *ipmr_mr_table_iter(struct net *net,
123 struct mr_table *mr
[all...]
/linux-master/drivers/net/ethernet/mellanox/mlx4/
H A Dmr.c152 struct mlx4_mr_table *mr_table = &mlx4_priv(dev)->mr_table; local
159 seg = mlx4_buddy_alloc(&mr_table->mtt_buddy, seg_order);
165 if (mlx4_table_get_range(dev, &mr_table->mtt_table, offset,
167 mlx4_buddy_free(&mr_table->mtt_buddy, seg, seg_order);
221 struct mlx4_mr_table *mr_table = &mlx4_priv(dev)->mr_table; local
226 mlx4_buddy_free(&mr_table->mtt_buddy, first_seg, seg_order);
227 mlx4_table_put_range(dev, &mr_table->mtt_table, offset,
314 &mlx4_priv(dev)->mr_table
485 struct mlx4_mr_table *mr_table = &mlx4_priv(dev)->mr_table; local
506 struct mlx4_mr_table *mr_table = &mlx4_priv(dev)->mr_table; local
910 struct mlx4_mr_table *mr_table = &priv->mr_table; local
958 struct mlx4_mr_table *mr_table = &priv->mr_table; local
[all...]
H A Dprofile.c230 priv->mr_table.mpt_base = profile[i].start;
239 priv->mr_table.mtt_base = profile[i].start;
H A Dmain.c1725 err = mlx4_init_icm_table(dev, &priv->mr_table.mtt_table,
1735 err = mlx4_init_icm_table(dev, &priv->mr_table.dmpt_table,
1848 mlx4_cleanup_icm_table(dev, &priv->mr_table.dmpt_table);
1851 mlx4_cleanup_icm_table(dev, &priv->mr_table.mtt_table);
1882 mlx4_cleanup_icm_table(dev, &priv->mr_table.dmpt_table);
1883 mlx4_cleanup_icm_table(dev, &priv->mr_table.mtt_table);
H A Dmlx4.h902 struct mlx4_mr_table mr_table; member in struct:mlx4_priv
H A Dresource_tracker.c2896 &mlx4_priv(dev)->mr_table.dmpt_table,
/linux-master/net/ipv6/
H A Dip6mr.c58 struct mr_table *mrt;
87 static struct mr_table *ip6mr_new_table(struct net *net, u32 id);
88 static void ip6mr_free_table(struct mr_table *mrt);
90 static void ip6_mr_forward(struct net *net, struct mr_table *mrt,
93 static int ip6mr_cache_report(const struct mr_table *mrt, struct sk_buff *pkt,
95 static void mr6_netlink_event(struct mr_table *mrt, struct mfc6_cache *mfc,
97 static void mrt6msg_netlink_event(const struct mr_table *mrt, struct sk_buff *pkt);
102 static void mroute_clean_tables(struct mr_table *mrt, int flags);
111 static struct mr_table *ip6mr_mr_table_iter(struct net *net,
112 struct mr_table *mr
[all...]
/linux-master/drivers/infiniband/hw/hns/
H A Dhns_roce_mr.c54 struct hns_roce_ida *mtpt_ida = &hr_dev->mr_table.mtpt_ida;
59 /* Allocate a key for mr from mr_table */
69 err = hns_roce_table_get(hr_dev, &hr_dev->mr_table.mtpt_table,
86 hns_roce_table_put(hr_dev, &hr_dev->mr_table.mtpt_table, obj);
87 ida_free(&hr_dev->mr_table.mtpt_ida.ida, (int)obj);
188 struct hns_roce_ida *mtpt_ida = &hr_dev->mr_table.mtpt_ida;
492 hns_roce_table_put(hr_dev, &hr_dev->mr_table.mtpt_table,
496 ida_free(&hr_dev->mr_table.mtpt_ida.ida,
503 struct hns_roce_mr_table *mr_table = &hr_dev->mr_table; local
[all...]
H A Dhns_roce_alloc.c183 ida_destroy(&hr_dev->mr_table.mtpt_ida.ida);
H A Dhns_roce_main.c780 ret = hns_roce_init_hem_table(hr_dev, &hr_dev->mr_table.mtpt_table,
923 hns_roce_cleanup_hem_table(hr_dev, &hr_dev->mr_table.mtpt_table);
H A Dhns_roce_device.h994 struct hns_roce_mr_table mr_table; member in struct:hns_roce_dev
H A Dhns_roce_hem.c921 hns_roce_cleanup_hem_table(hr_dev, &hr_dev->mr_table.mtpt_table);
/linux-master/include/net/netns/
H A Dipv6.h104 struct mr_table *mrt6;
H A Dipv4.h241 struct mr_table *mrt;

Completed in 281 milliseconds