/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlxsw/ |
D | spectrum_mr.c | 55 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 143 if (mr_route->mr_table->ops->is_route_starg(mr_route->mr_table, in mlxsw_sp_mr_route_action() 165 return mr_route->mr_table->ops->is_route_starg(mr_route->mr_table, in mlxsw_sp_mr_route_prio() 207 mlxsw_sp_mr_route_info_create(struct mlxsw_sp_mr_table *mr_table, in mlxsw_sp_mr_route_info_create() argument 248 static int mlxsw_sp_mr_route_write(struct mlxsw_sp_mr_table *mr_table, in mlxsw_sp_mr_route_write() argument 252 struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp; in mlxsw_sp_mr_route_write() 257 err = mlxsw_sp_mr_route_info_create(mr_table, mr_route, &route_info); in mlxsw_sp_mr_route_write() [all …]
|
D | spectrum_mr.h | 73 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);
|
D | spectrum_router.c | 420 struct mlxsw_sp_mr_table *mr_table[MLXSW_SP_L3_PROTO_MAX]; member 667 !!vr->mr_table[MLXSW_SP_L3_PROTO_IPV4] || in mlxsw_sp_vr_is_used() 668 !!vr->mr_table[MLXSW_SP_L3_PROTO_IPV6]; in mlxsw_sp_vr_is_used() 798 vr->mr_table[MLXSW_SP_L3_PROTO_IPV4] = mr4_table; in mlxsw_sp_vr_create() 799 vr->mr_table[MLXSW_SP_L3_PROTO_IPV6] = mr6_table; in mlxsw_sp_vr_create() 815 mlxsw_sp_mr_table_destroy(vr->mr_table[MLXSW_SP_L3_PROTO_IPV6]); in mlxsw_sp_vr_destroy() 816 vr->mr_table[MLXSW_SP_L3_PROTO_IPV6] = NULL; in mlxsw_sp_vr_destroy() 817 mlxsw_sp_mr_table_destroy(vr->mr_table[MLXSW_SP_L3_PROTO_IPV4]); in mlxsw_sp_vr_destroy() 818 vr->mr_table[MLXSW_SP_L3_PROTO_IPV4] = NULL; in mlxsw_sp_vr_destroy() 841 mlxsw_sp_mr_table_empty(vr->mr_table[MLXSW_SP_L3_PROTO_IPV4]) && in mlxsw_sp_vr_put() [all …]
|
/kernel/linux/linux-5.10/include/linux/ |
D | mroute_base.h | 211 struct mr_table; 241 struct mr_table { struct 268 struct mr_table * argument 272 void (*table_set)(struct mr_table *mrt, 278 void *mr_mfc_find_parent(struct mr_table *mrt, 280 void *mr_mfc_find_any_parent(struct mr_table *mrt, int vifi); 281 void *mr_mfc_find_any(struct mr_table *mrt, int vifi, void *hasharg); 283 int mr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb, 285 int mr_table_dump(struct mr_table *mrt, struct sk_buff *skb, 287 int (*fill)(struct mr_table *mrt, struct sk_buff *skb, [all …]
|
/kernel/linux/linux-5.10/drivers/infiniband/hw/mthca/ |
D | mthca_mr.c | 199 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 …]
|
D | mthca_main.c | 421 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()
|
D | mthca_profile.c | 223 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()
|
D | mthca_dev.h | 340 struct mthca_mr_table mr_table; member
|
/kernel/linux/linux-5.10/net/ipv4/ |
D | ipmr_base.c | 31 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 …]
|
D | ipmr.c | 73 struct mr_table *mrt; 97 static struct mr_table *ipmr_new_table(struct net *net, u32 id); 98 static void ipmr_free_table(struct mr_table *mrt); 100 static void ip_mr_forward(struct net *net, struct mr_table *mrt, 103 static int ipmr_cache_report(struct mr_table *mrt, 105 static void mroute_netlink_event(struct mr_table *mrt, struct mfc_cache *mfc, 107 static void igmpmsg_netlink_event(struct mr_table *mrt, struct sk_buff *pkt); 108 static void mroute_clean_tables(struct mr_table *mrt, int flags); 117 static struct mr_table *ipmr_mr_table_iter(struct net *net, in ipmr_mr_table_iter() 118 struct mr_table *mrt) in ipmr_mr_table_iter() [all …]
|
/kernel/linux/linux-5.10/drivers/net/ethernet/mellanox/mlx4/ |
D | mr.c | 152 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() 443 return mlx4_bitmap_alloc(&priv->mr_table.mpt_bitmap); in __mlx4_mpt_reserve() 464 mlx4_bitmap_free(&priv->mr_table.mpt_bitmap, index, MLX4_NO_RR); in __mlx4_mpt_release() [all …]
|
D | profile.c | 230 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()
|
D | main.c | 1700 err = mlx4_init_icm_table(dev, &priv->mr_table.mtt_table, in mlx4_init_icm() 1710 err = mlx4_init_icm_table(dev, &priv->mr_table.dmpt_table, in mlx4_init_icm() 1823 mlx4_cleanup_icm_table(dev, &priv->mr_table.dmpt_table); in mlx4_init_icm() 1826 mlx4_cleanup_icm_table(dev, &priv->mr_table.mtt_table); in mlx4_init_icm() 1857 mlx4_cleanup_icm_table(dev, &priv->mr_table.dmpt_table); in mlx4_free_icms() 1858 mlx4_cleanup_icm_table(dev, &priv->mr_table.mtt_table); in mlx4_free_icms()
|
D | mlx4.h | 894 struct mlx4_mr_table mr_table; member
|
D | resource_tracker.c | 2895 &mlx4_priv(dev)->mr_table.dmpt_table, in mlx4_QUERY_MPT_wrapper()
|
/kernel/linux/linux-5.10/net/ipv6/ |
D | ip6mr.c | 58 struct mr_table *mrt; 82 static struct mr_table *ip6mr_new_table(struct net *net, u32 id); 83 static void ip6mr_free_table(struct mr_table *mrt); 85 static void ip6_mr_forward(struct net *net, struct mr_table *mrt, 88 static int ip6mr_cache_report(struct mr_table *mrt, struct sk_buff *pkt, 90 static void mr6_netlink_event(struct mr_table *mrt, struct mfc6_cache *mfc, 92 static void mrt6msg_netlink_event(struct mr_table *mrt, struct sk_buff *pkt); 95 static void mroute_clean_tables(struct mr_table *mrt, int flags); 104 static struct mr_table *ip6mr_mr_table_iter(struct net *net, in ip6mr_mr_table_iter() 105 struct mr_table *mrt) in ip6mr_mr_table_iter() [all …]
|
/kernel/linux/linux-5.10/drivers/infiniband/hw/hns/ |
D | hns_roce_mr.c | 77 err = hns_roce_bitmap_alloc(&hr_dev->mr_table.mtpt_bitmap, &obj); in alloc_mr_key() 92 err = hns_roce_table_get(hr_dev, &hr_dev->mr_table.mtpt_table, obj); in alloc_mr_key() 100 hns_roce_bitmap_free(&hr_dev->mr_table.mtpt_bitmap, obj, BITMAP_NO_RR); in alloc_mr_key() 108 hns_roce_table_put(hr_dev, &hr_dev->mr_table.mtpt_table, obj); in free_mr_key() 109 hns_roce_bitmap_free(&hr_dev->mr_table.mtpt_bitmap, obj, BITMAP_NO_RR); in free_mr_key() 212 struct hns_roce_mr_table *mr_table = &hr_dev->mr_table; in hns_roce_init_mr_table() local 215 ret = hns_roce_bitmap_init(&mr_table->mtpt_bitmap, in hns_roce_init_mr_table() 224 struct hns_roce_mr_table *mr_table = &hr_dev->mr_table; in hns_roce_cleanup_mr_table() local 226 hns_roce_bitmap_cleanup(&mr_table->mtpt_bitmap); in hns_roce_cleanup_mr_table() 535 hns_roce_table_put(hr_dev, &hr_dev->mr_table.mtpt_table, in hns_roce_mw_free() [all …]
|
D | hns_roce_main.c | 590 ret = hns_roce_init_hem_table(hr_dev, &hr_dev->mr_table.mtpt_table, in hns_roce_init_hem() 716 hns_roce_cleanup_hem_table(hr_dev, &hr_dev->mr_table.mtpt_table); in hns_roce_init_hem()
|
D | hns_roce_device.h | 995 struct hns_roce_mr_table mr_table; member
|
D | hns_roce_hem.c | 1038 hns_roce_cleanup_hem_table(hr_dev, &hr_dev->mr_table.mtpt_table); in hns_roce_cleanup_hem()
|
D | hns_roce_hw_v1.c | 1114 hns_roce_bitmap_free(&hr_dev->mr_table.mtpt_bitmap, in hns_roce_v1_dereg_mr()
|
/kernel/linux/linux-5.10/include/net/netns/ |
D | ipv6.h | 102 struct mr_table *mrt6;
|
D | ipv4.h | 211 struct mr_table *mrt;
|