/linux-master/drivers/net/ethernet/mellanox/mlxsw/ |
H A 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 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 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); [all...] |
H A D | spectrum_router.c | 525 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 D | mroute_base.h | 216 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 D | mthca_mr.c | 197 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 D | mthca_main.c | 421 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 D | mthca_profile.c | 221 dev->mr_table.mpt_base = profile[i].start; 227 dev->mr_table.mtt_base = profile[i].start;
|
H A D | mthca_dev.h | 340 struct mthca_mr_table mr_table; member in struct:mthca_dev
|
/linux-master/net/ipv4/ |
H A D | ipmr_base.c | 31 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 D | ipmr.c | 73 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 D | mr.c | 152 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 D | profile.c | 230 priv->mr_table.mpt_base = profile[i].start; 239 priv->mr_table.mtt_base = profile[i].start;
|
H A D | main.c | 1725 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 D | mlx4.h | 902 struct mlx4_mr_table mr_table; member in struct:mlx4_priv
|
H A D | resource_tracker.c | 2896 &mlx4_priv(dev)->mr_table.dmpt_table,
|
/linux-master/net/ipv6/ |
H A D | ip6mr.c | 58 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 D | hns_roce_mr.c | 54 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 D | hns_roce_alloc.c | 183 ida_destroy(&hr_dev->mr_table.mtpt_ida.ida);
|
H A D | hns_roce_main.c | 780 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 D | hns_roce_device.h | 994 struct hns_roce_mr_table mr_table; member in struct:hns_roce_dev
|
H A D | hns_roce_hem.c | 921 hns_roce_cleanup_hem_table(hr_dev, &hr_dev->mr_table.mtpt_table);
|
/linux-master/include/net/netns/ |
H A D | ipv6.h | 104 struct mr_table *mrt6;
|
H A D | ipv4.h | 241 struct mr_table *mrt;
|