Symbol: mr_table
drivers/infiniband/hw/hns/hns_roce_alloc.c
184
ida_destroy(&hr_dev->mr_table.mtpt_ida.ida);
drivers/infiniband/hw/hns/hns_roce_device.h
1003
struct hns_roce_mr_table mr_table;
drivers/infiniband/hw/hns/hns_roce_hem.c
912
hns_roce_cleanup_hem_table(hr_dev, &hr_dev->mr_table.mtpt_table);
drivers/infiniband/hw/hns/hns_roce_main.c
1046
hns_roce_cleanup_hem_table(hr_dev, &hr_dev->mr_table.mtpt_table);
drivers/infiniband/hw/hns/hns_roce_main.c
903
ret = hns_roce_init_hem_table(hr_dev, &hr_dev->mr_table.mtpt_table,
drivers/infiniband/hw/hns/hns_roce_mr.c
190
struct hns_roce_ida *mtpt_ida = &hr_dev->mr_table.mtpt_ida;
drivers/infiniband/hw/hns/hns_roce_mr.c
55
struct hns_roce_ida *mtpt_ida = &hr_dev->mr_table.mtpt_ida;
drivers/infiniband/hw/hns/hns_roce_mr.c
70
err = hns_roce_table_get(hr_dev, &hr_dev->mr_table.mtpt_table,
drivers/infiniband/hw/hns/hns_roce_mr.c
87
hns_roce_table_put(hr_dev, &hr_dev->mr_table.mtpt_table, obj);
drivers/infiniband/hw/hns/hns_roce_mr.c
88
ida_free(&hr_dev->mr_table.mtpt_ida.ida, (int)obj);
drivers/infiniband/hw/mthca/mthca_dev.h
340
struct mthca_mr_table mr_table;
drivers/infiniband/hw/mthca/mthca_main.c
421
mdev->mr_table.mtt_table = mthca_alloc_icm_table(mdev, init_hca->mtt_base,
drivers/infiniband/hw/mthca/mthca_main.c
426
if (!mdev->mr_table.mtt_table) {
drivers/infiniband/hw/mthca/mthca_main.c
432
mdev->mr_table.mpt_table = mthca_alloc_icm_table(mdev, init_hca->mpt_base,
drivers/infiniband/hw/mthca/mthca_main.c
437
if (!mdev->mr_table.mpt_table) {
drivers/infiniband/hw/mthca/mthca_main.c
539
mthca_free_icm_table(mdev, mdev->mr_table.mpt_table);
drivers/infiniband/hw/mthca/mthca_main.c
542
mthca_free_icm_table(mdev, mdev->mr_table.mtt_table);
drivers/infiniband/hw/mthca/mthca_main.c
566
mthca_free_icm_table(mdev, mdev->mr_table.mpt_table);
drivers/infiniband/hw/mthca/mthca_main.c
567
mthca_free_icm_table(mdev, mdev->mr_table.mtt_table);
drivers/infiniband/hw/mthca/mthca_mr.c
196
if (mthca_table_get_range(dev, dev->mr_table.mtt_table, seg,
drivers/infiniband/hw/mthca/mthca_mr.c
234
return __mthca_alloc_mtt(dev, size, &dev->mr_table.mtt_buddy);
drivers/infiniband/hw/mthca/mthca_mr.c
244
mthca_table_put_range(dev, dev->mr_table.mtt_table,
drivers/infiniband/hw/mthca/mthca_mr.c
265
mtt_entry[0] = cpu_to_be64(dev->mr_table.mtt_base +
drivers/infiniband/hw/mthca/mthca_mr.c
298
if (dev->mr_table.fmr_mtt_buddy != &dev->mr_table.mtt_buddy ||
drivers/infiniband/hw/mthca/mthca_mr.c
319
mtts = dev->mr_table.tavor_fmr.mtt_base + mtt->first_seg * dev->limits.mtt_seg_size +
drivers/infiniband/hw/mthca/mthca_mr.c
340
mtts = mthca_table_find(dev->mr_table.mtt_table, mtt->first_seg +
drivers/infiniband/hw/mthca/mthca_mr.c
361
if (dev->mr_table.fmr_mtt_buddy != &dev->mr_table.mtt_buddy ||
drivers/infiniband/hw/mthca/mthca_mr.c
437
key = mthca_alloc(&dev->mr_table.mpt_alloc);
drivers/infiniband/hw/mthca/mthca_mr.c
444
err = mthca_table_get(dev, dev->mr_table.mpt_table, key);
drivers/infiniband/hw/mthca/mthca_mr.c
473
cpu_to_be64(dev->mr_table.mtt_base +
drivers/infiniband/hw/mthca/mthca_mr.c
501
mthca_table_put(dev, dev->mr_table.mpt_table, key);
drivers/infiniband/hw/mthca/mthca_mr.c
504
mthca_free(&dev->mr_table.mpt_alloc, key);
drivers/infiniband/hw/mthca/mthca_mr.c
543
mthca_table_put(dev, dev->mr_table.mpt_table,
drivers/infiniband/hw/mthca/mthca_mr.c
546
mthca_free(&dev->mr_table.mpt_alloc, key_to_hw_index(dev, lkey));
drivers/infiniband/hw/mthca/mthca_mr.c
568
err = mthca_alloc_init(&dev->mr_table.mpt_alloc,
drivers/infiniband/hw/mthca/mthca_mr.c
583
err = mthca_buddy_init(&dev->mr_table.mtt_buddy,
drivers/infiniband/hw/mthca/mthca_mr.c
589
dev->mr_table.tavor_fmr.mpt_base = NULL;
drivers/infiniband/hw/mthca/mthca_mr.c
590
dev->mr_table.tavor_fmr.mtt_base = NULL;
drivers/infiniband/hw/mthca/mthca_mr.c
611
dev->mr_table.mpt_base);
drivers/infiniband/hw/mthca/mthca_mr.c
613
dev->mr_table.tavor_fmr.mpt_base =
drivers/infiniband/hw/mthca/mthca_mr.c
616
if (!dev->mr_table.tavor_fmr.mpt_base) {
drivers/infiniband/hw/mthca/mthca_mr.c
624
dev->mr_table.mtt_base);
drivers/infiniband/hw/mthca/mthca_mr.c
626
dev->mr_table.tavor_fmr.mtt_base =
drivers/infiniband/hw/mthca/mthca_mr.c
628
if (!dev->mr_table.tavor_fmr.mtt_base) {
drivers/infiniband/hw/mthca/mthca_mr.c
636
err = mthca_buddy_init(&dev->mr_table.tavor_fmr.mtt_buddy, fls(mtts - 1));
drivers/infiniband/hw/mthca/mthca_mr.c
641
err = mthca_buddy_alloc(&dev->mr_table.mtt_buddy, fls(mtts - 1));
drivers/infiniband/hw/mthca/mthca_mr.c
645
dev->mr_table.fmr_mtt_buddy =
drivers/infiniband/hw/mthca/mthca_mr.c
646
&dev->mr_table.tavor_fmr.mtt_buddy;
drivers/infiniband/hw/mthca/mthca_mr.c
648
dev->mr_table.fmr_mtt_buddy = &dev->mr_table.mtt_buddy;
drivers/infiniband/hw/mthca/mthca_mr.c
655
dev->mr_table.fmr_mtt_buddy) == -1) {
drivers/infiniband/hw/mthca/mthca_mr.c
657
dev->mr_table.fmr_mtt_buddy->max_order);
drivers/infiniband/hw/mthca/mthca_mr.c
668
mthca_buddy_cleanup(&dev->mr_table.tavor_fmr.mtt_buddy);
drivers/infiniband/hw/mthca/mthca_mr.c
671
if (dev->mr_table.tavor_fmr.mtt_base)
drivers/infiniband/hw/mthca/mthca_mr.c
672
iounmap(dev->mr_table.tavor_fmr.mtt_base);
drivers/infiniband/hw/mthca/mthca_mr.c
675
if (dev->mr_table.tavor_fmr.mpt_base)
drivers/infiniband/hw/mthca/mthca_mr.c
676
iounmap(dev->mr_table.tavor_fmr.mpt_base);
drivers/infiniband/hw/mthca/mthca_mr.c
679
mthca_buddy_cleanup(&dev->mr_table.mtt_buddy);
drivers/infiniband/hw/mthca/mthca_mr.c
682
mthca_alloc_cleanup(&dev->mr_table.mpt_alloc);
drivers/infiniband/hw/mthca/mthca_mr.c
691
mthca_buddy_cleanup(&dev->mr_table.tavor_fmr.mtt_buddy);
drivers/infiniband/hw/mthca/mthca_mr.c
693
mthca_buddy_cleanup(&dev->mr_table.mtt_buddy);
drivers/infiniband/hw/mthca/mthca_mr.c
695
if (dev->mr_table.tavor_fmr.mtt_base)
drivers/infiniband/hw/mthca/mthca_mr.c
696
iounmap(dev->mr_table.tavor_fmr.mtt_base);
drivers/infiniband/hw/mthca/mthca_mr.c
697
if (dev->mr_table.tavor_fmr.mpt_base)
drivers/infiniband/hw/mthca/mthca_mr.c
698
iounmap(dev->mr_table.tavor_fmr.mpt_base);
drivers/infiniband/hw/mthca/mthca_mr.c
700
mthca_alloc_cleanup(&dev->mr_table.mpt_alloc);
drivers/infiniband/hw/mthca/mthca_profile.c
221
dev->mr_table.mpt_base = profile[i].start;
drivers/infiniband/hw/mthca/mthca_profile.c
227
dev->mr_table.mtt_base = profile[i].start;
drivers/net/ethernet/mellanox/mlx4/main.c
1717
err = mlx4_init_icm_table(dev, &priv->mr_table.mtt_table,
drivers/net/ethernet/mellanox/mlx4/main.c
1727
err = mlx4_init_icm_table(dev, &priv->mr_table.dmpt_table,
drivers/net/ethernet/mellanox/mlx4/main.c
1840
mlx4_cleanup_icm_table(dev, &priv->mr_table.dmpt_table);
drivers/net/ethernet/mellanox/mlx4/main.c
1843
mlx4_cleanup_icm_table(dev, &priv->mr_table.mtt_table);
drivers/net/ethernet/mellanox/mlx4/main.c
1874
mlx4_cleanup_icm_table(dev, &priv->mr_table.dmpt_table);
drivers/net/ethernet/mellanox/mlx4/main.c
1875
mlx4_cleanup_icm_table(dev, &priv->mr_table.mtt_table);
drivers/net/ethernet/mellanox/mlx4/mlx4.h
902
struct mlx4_mr_table mr_table;
drivers/net/ethernet/mellanox/mlx4/mr.c
152
struct mlx4_mr_table *mr_table = &mlx4_priv(dev)->mr_table;
drivers/net/ethernet/mellanox/mlx4/mr.c
159
seg = mlx4_buddy_alloc(&mr_table->mtt_buddy, seg_order);
drivers/net/ethernet/mellanox/mlx4/mr.c
165
if (mlx4_table_get_range(dev, &mr_table->mtt_table, offset,
drivers/net/ethernet/mellanox/mlx4/mr.c
167
mlx4_buddy_free(&mr_table->mtt_buddy, seg, seg_order);
drivers/net/ethernet/mellanox/mlx4/mr.c
221
struct mlx4_mr_table *mr_table = &mlx4_priv(dev)->mr_table;
drivers/net/ethernet/mellanox/mlx4/mr.c
226
mlx4_buddy_free(&mr_table->mtt_buddy, first_seg, seg_order);
drivers/net/ethernet/mellanox/mlx4/mr.c
227
mlx4_table_put_range(dev, &mr_table->mtt_table, offset,
drivers/net/ethernet/mellanox/mlx4/mr.c
314
&mlx4_priv(dev)->mr_table.dmpt_table,
drivers/net/ethernet/mellanox/mlx4/mr.c
443
return mlx4_bitmap_alloc(&priv->mr_table.mpt_bitmap);
drivers/net/ethernet/mellanox/mlx4/mr.c
464
mlx4_bitmap_free(&priv->mr_table.mpt_bitmap, index, MLX4_NO_RR);
drivers/net/ethernet/mellanox/mlx4/mr.c
485
struct mlx4_mr_table *mr_table = &mlx4_priv(dev)->mr_table;
drivers/net/ethernet/mellanox/mlx4/mr.c
487
return mlx4_table_get(dev, &mr_table->dmpt_table, index);
drivers/net/ethernet/mellanox/mlx4/mr.c
506
struct mlx4_mr_table *mr_table = &mlx4_priv(dev)->mr_table;
drivers/net/ethernet/mellanox/mlx4/mr.c
508
mlx4_table_put(dev, &mr_table->dmpt_table, index);
drivers/net/ethernet/mellanox/mlx4/mr.c
700
mtts = mlx4_table_find(&priv->mr_table.mtt_table, mtt->offset +
drivers/net/ethernet/mellanox/mlx4/mr.c
910
struct mlx4_mr_table *mr_table = &priv->mr_table;
drivers/net/ethernet/mellanox/mlx4/mr.c
921
err = mlx4_bitmap_init(&mr_table->mpt_bitmap, dev->caps.num_mpts,
drivers/net/ethernet/mellanox/mlx4/mr.c
926
err = mlx4_buddy_init(&mr_table->mtt_buddy,
drivers/net/ethernet/mellanox/mlx4/mr.c
938
mr_table->mtt_buddy.max_order);
drivers/net/ethernet/mellanox/mlx4/mr.c
947
mlx4_buddy_cleanup(&mr_table->mtt_buddy);
drivers/net/ethernet/mellanox/mlx4/mr.c
950
mlx4_bitmap_cleanup(&mr_table->mpt_bitmap);
drivers/net/ethernet/mellanox/mlx4/mr.c
958
struct mlx4_mr_table *mr_table = &priv->mr_table;
drivers/net/ethernet/mellanox/mlx4/mr.c
965
mlx4_buddy_cleanup(&mr_table->mtt_buddy);
drivers/net/ethernet/mellanox/mlx4/mr.c
966
mlx4_bitmap_cleanup(&mr_table->mpt_bitmap);
drivers/net/ethernet/mellanox/mlx4/profile.c
230
priv->mr_table.mpt_base = profile[i].start;
drivers/net/ethernet/mellanox/mlx4/profile.c
239
priv->mr_table.mtt_base = profile[i].start;
drivers/net/ethernet/mellanox/mlx4/resource_tracker.c
2889
&mlx4_priv(dev)->mr_table.dmpt_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
1018
struct mlxsw_sp_mr_table *mr_table;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
1023
list_for_each_entry(mr_table, &mr->table_list, node) {
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
1024
mutex_lock(&mr_table->route_list_lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
1025
list_for_each_entry(mr_route, &mr_table->route_list, node)
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
1026
mlxsw_sp_mr_route_stats_update(mr_table->mlxsw_sp,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
1028
mutex_unlock(&mr_table->route_list_lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
143
if (mr_route->mr_table->ops->is_route_starg(mr_route->mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
165
return mr_route->mr_table->ops->is_route_starg(mr_route->mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
207
mlxsw_sp_mr_route_info_create(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
248
static int mlxsw_sp_mr_route_write(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
252
struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
257
err = mlxsw_sp_mr_route_info_create(mr_table, mr_route, &route_info);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
288
static void mlxsw_sp_mr_route_erase(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
291
struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
299
mlxsw_sp_mr_route_create(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
317
mr_table->ops->key_create(mr_table, &mr_route->key, mr_route->mfc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
319
mr_route->mr_table = mr_table;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
323
&mr_table->vifs[i]);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
326
if (mr_table->vifs[i].dev &&
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
327
mr_table->vifs[i].dev->mtu < mr_route->min_mtu)
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
328
mr_route->min_mtu = mr_table->vifs[i].dev->mtu;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
332
&mr_table->vifs[mfc->mfc_parent]);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
344
static void mlxsw_sp_mr_route_destroy(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
373
static void __mlxsw_sp_mr_route_del(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
376
WARN_ON_ONCE(!mutex_is_locked(&mr_table->route_list_lock));
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
379
rhashtable_remove_fast(&mr_table->route_ht, &mr_route->ht_node,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
382
mlxsw_sp_mr_route_erase(mr_table, mr_route);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
383
mlxsw_sp_mr_route_destroy(mr_table, mr_route);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
386
int mlxsw_sp_mr_route_add(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
393
if (!mr_table->ops->is_route_valid(mr_table, mfc))
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
397
mr_route = mlxsw_sp_mr_route_create(mr_table, mfc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
402
mr_orig_route = rhashtable_lookup_fast(&mr_table->route_ht,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
417
dev_warn(mr_table->mlxsw_sp->bus_info->dev,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
424
err = mlxsw_sp_mr_route_write(mr_table, mr_route, replace);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
429
mutex_lock(&mr_table->route_list_lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
430
list_add_tail(&mr_route->node, &mr_table->route_list);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
431
mutex_unlock(&mr_table->route_list_lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
432
err = rhashtable_insert_fast(&mr_table->route_ht,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
440
rhashtable_remove_fast(&mr_table->route_ht,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
443
mutex_lock(&mr_table->route_list_lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
445
mutex_unlock(&mr_table->route_list_lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
446
mlxsw_sp_mr_route_destroy(mr_table, mr_orig_route);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
453
mutex_lock(&mr_table->route_list_lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
455
mutex_unlock(&mr_table->route_list_lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
456
mlxsw_sp_mr_route_erase(mr_table, mr_route);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
460
mlxsw_sp_mr_route_destroy(mr_table, mr_route);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
464
void mlxsw_sp_mr_route_del(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
470
mr_table->ops->key_create(mr_table, &key, mfc);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
471
mr_route = rhashtable_lookup_fast(&mr_table->route_ht, &key,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
474
mutex_lock(&mr_table->route_list_lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
475
__mlxsw_sp_mr_route_del(mr_table, mr_route);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
476
mutex_unlock(&mr_table->route_list_lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
482
mlxsw_sp_mr_route_ivif_resolve(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
485
struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
517
mlxsw_sp_mr_route_ivif_unresolve(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
520
struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
531
mlxsw_sp_mr_route_evif_resolve(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
534
struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
55
bool (*is_route_valid)(const struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
57
void (*key_create)(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
590
mlxsw_sp_mr_route_evif_unresolve(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
593
struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
60
bool (*is_route_starg)(const struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
623
static int mlxsw_sp_mr_vif_resolve(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
639
err = mlxsw_sp_mr_route_ivif_resolve(mr_table, irve);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
646
err = mlxsw_sp_mr_route_evif_resolve(mr_table, erve);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
655
mlxsw_sp_mr_route_evif_unresolve(mr_table, erve);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
659
mlxsw_sp_mr_route_ivif_unresolve(mr_table, irve);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
664
static void mlxsw_sp_mr_vif_unresolve(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
672
mlxsw_sp_mr_route_evif_unresolve(mr_table, rve);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
676
mlxsw_sp_mr_route_ivif_unresolve(mr_table, rve);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
683
int mlxsw_sp_mr_vif_add(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
687
struct mlxsw_sp_mr_vif *mr_vif = &mr_table->vifs[vif_index];
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
693
return mlxsw_sp_mr_vif_resolve(mr_table, dev, mr_vif, vif_flags, rif);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
696
void mlxsw_sp_mr_vif_del(struct mlxsw_sp_mr_table *mr_table, vifi_t vif_index)
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
698
struct mlxsw_sp_mr_vif *mr_vif = &mr_table->vifs[vif_index];
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
704
mlxsw_sp_mr_vif_unresolve(mr_table, NULL, mr_vif);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
708
mlxsw_sp_mr_dev_vif_lookup(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
714
if (mlxsw_sp_rif_dev_is(rif, mr_table->vifs[vif_index].dev))
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
715
return &mr_table->vifs[vif_index];
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
719
int mlxsw_sp_mr_rif_add(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
727
mr_vif = mlxsw_sp_mr_dev_vif_lookup(mr_table, rif);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
730
return mlxsw_sp_mr_vif_resolve(mr_table, mr_vif->dev, mr_vif,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
734
void mlxsw_sp_mr_rif_del(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
742
mr_vif = mlxsw_sp_mr_dev_vif_lookup(mr_table, rif);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
745
mlxsw_sp_mr_vif_unresolve(mr_table, mr_vif->dev, mr_vif);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
748
void mlxsw_sp_mr_rif_mtu_update(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
751
struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
760
mr_vif = mlxsw_sp_mr_dev_vif_lookup(mr_table, rif);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
777
mlxsw_sp_mr_route4_validate(const struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
787
dev_warn(mr_table->mlxsw_sp->bus_info->dev,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
794
static void mlxsw_sp_mr_route4_key(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
804
key->vrid = mr_table->vr_id;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
812
static bool mlxsw_sp_mr_route4_starg(const struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
824
mlxsw_sp_mr_route6_validate(const struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
834
dev_warn(mr_table->mlxsw_sp->bus_info->dev,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
841
static void mlxsw_sp_mr_route6_key(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
848
key->vrid = mr_table->vr_id;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
858
static bool mlxsw_sp_mr_route6_starg(const struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
86
const struct mlxsw_sp_mr_table *mr_table;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
909
struct mlxsw_sp_mr_table *mr_table;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
913
mr_table = kzalloc(sizeof(*mr_table) + mr->mr_ops->route_priv_size,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
915
if (!mr_table)
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
918
mr_table->vr_id = vr_id;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
919
mr_table->mlxsw_sp = mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
920
mr_table->proto = proto;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
921
mr_table->ops = &mlxsw_sp_mr_table_ops_arr[proto];
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
922
INIT_LIST_HEAD(&mr_table->route_list);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
923
mutex_init(&mr_table->route_list_lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
925
err = rhashtable_init(&mr_table->route_ht,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
931
INIT_LIST_HEAD(&mr_table->vifs[i].route_evif_list);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
932
INIT_LIST_HEAD(&mr_table->vifs[i].route_ivif_list);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
933
mr_table->vifs[i].ops = &mlxsw_sp_mr_vif_ops_arr[proto];
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
937
mr_table->catchall_route_priv,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
942
list_add_tail(&mr_table->node, &mr->table_list);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
944
return mr_table;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
947
rhashtable_destroy(&mr_table->route_ht);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
949
mutex_destroy(&mr_table->route_list_lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
950
kfree(mr_table);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
954
void mlxsw_sp_mr_table_destroy(struct mlxsw_sp_mr_table *mr_table)
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
956
struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
959
WARN_ON(!mlxsw_sp_mr_table_empty(mr_table));
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
961
list_del(&mr_table->node);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
964
&mr_table->catchall_route_priv);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
965
rhashtable_destroy(&mr_table->route_ht);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
966
mutex_destroy(&mr_table->route_list_lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
967
kfree(mr_table);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
970
void mlxsw_sp_mr_table_flush(struct mlxsw_sp_mr_table *mr_table)
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
975
mutex_lock(&mr_table->route_list_lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
976
list_for_each_entry_safe(mr_route, tmp, &mr_table->route_list, node)
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
977
__mlxsw_sp_mr_route_del(mr_table, mr_route);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
978
mutex_unlock(&mr_table->route_list_lock);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
981
mr_table->vifs[i].dev = NULL;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
982
mr_table->vifs[i].rif = NULL;
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
986
bool mlxsw_sp_mr_table_empty(const struct mlxsw_sp_mr_table *mr_table)
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
991
if (mr_table->vifs[i].dev)
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c
993
return list_empty(&mr_table->route_list);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h
73
int mlxsw_sp_mr_route_add(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h
75
void mlxsw_sp_mr_route_del(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h
77
int mlxsw_sp_mr_vif_add(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h
81
void mlxsw_sp_mr_vif_del(struct mlxsw_sp_mr_table *mr_table, vifi_t vif_index);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h
82
int mlxsw_sp_mr_rif_add(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h
84
void mlxsw_sp_mr_rif_del(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h
86
void mlxsw_sp_mr_rif_mtu_update(struct mlxsw_sp_mr_table *mr_table,
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h
91
void mlxsw_sp_mr_table_destroy(struct mlxsw_sp_mr_table *mr_table);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h
92
void mlxsw_sp_mr_table_flush(struct mlxsw_sp_mr_table *mr_table);
drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h
93
bool mlxsw_sp_mr_table_empty(const struct mlxsw_sp_mr_table *mr_table);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
525
struct mlxsw_sp_mr_table *mr_table[MLXSW_SP_L3_PROTO_MAX];
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
7648
return vr->mr_table[MLXSW_SP_L3_PROTO_IPV4];
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
7650
return vr->mr_table[MLXSW_SP_L3_PROTO_IPV6];
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
772
!!vr->mr_table[MLXSW_SP_L3_PROTO_IPV4] ||
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
773
!!vr->mr_table[MLXSW_SP_L3_PROTO_IPV6];
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
7783
mlxsw_sp_mr_table_flush(vr->mr_table[j]);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
8642
err = mlxsw_sp_mr_rif_add(vr->mr_table[i], rif);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
8669
mlxsw_sp_mr_rif_del(vr->mr_table[i], rif);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
8712
mlxsw_sp_mr_rif_del(vr->mr_table[i], rif);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
905
vr->mr_table[MLXSW_SP_L3_PROTO_IPV4] = mr4_table;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
906
vr->mr_table[MLXSW_SP_L3_PROTO_IPV6] = mr6_table;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
922
mlxsw_sp_mr_table_destroy(vr->mr_table[MLXSW_SP_L3_PROTO_IPV6]);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
923
vr->mr_table[MLXSW_SP_L3_PROTO_IPV6] = NULL;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
924
mlxsw_sp_mr_table_destroy(vr->mr_table[MLXSW_SP_L3_PROTO_IPV4]);
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
925
vr->mr_table[MLXSW_SP_L3_PROTO_IPV4] = NULL;
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
948
mlxsw_sp_mr_table_empty(vr->mr_table[MLXSW_SP_L3_PROTO_IPV4]) &&
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
949
mlxsw_sp_mr_table_empty(vr->mr_table[MLXSW_SP_L3_PROTO_IPV6]))
drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c
9693
mlxsw_sp_mr_rif_mtu_update(vr->mr_table[i],
include/linux/mroute_base.h
216
struct mr_table;
include/linux/mroute_base.h
278
struct mr_table *
include/linux/mroute_base.h
282
void (*table_set)(struct mr_table *mrt,
include/linux/mroute_base.h
288
void *mr_mfc_find_parent(struct mr_table *mrt,
include/linux/mroute_base.h
290
void *mr_mfc_find_any_parent(struct mr_table *mrt, int vifi);
include/linux/mroute_base.h
291
void *mr_mfc_find_any(struct mr_table *mrt, int vifi, void *hasharg);
include/linux/mroute_base.h
293
int mr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb,
include/linux/mroute_base.h
295
int mr_table_dump(struct mr_table *mrt, struct sk_buff *skb,
include/linux/mroute_base.h
297
int (*fill)(struct mr_table *mrt, struct sk_buff *skb,
include/linux/mroute_base.h
302
struct mr_table *(*iter)(struct net *net,
include/linux/mroute_base.h
303
struct mr_table *mrt),
include/linux/mroute_base.h
304
int (*fill)(struct mr_table *mrt,
include/linux/mroute_base.h
314
struct mr_table *(*mr_iter)(struct net *net,
include/linux/mroute_base.h
315
struct mr_table *mrt),
include/linux/mroute_base.h
327
static inline void *mr_mfc_find_parent(struct mr_table *mrt,
include/linux/mroute_base.h
333
static inline void *mr_mfc_find_any_parent(struct mr_table *mrt,
include/linux/mroute_base.h
339
static inline struct mr_mfc *mr_mfc_find_any(struct mr_table *mrt,
include/linux/mroute_base.h
345
static inline int mr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb,
include/linux/mroute_base.h
353
struct mr_table *(*iter)(struct net *net,
include/linux/mroute_base.h
354
struct mr_table *mrt),
include/linux/mroute_base.h
355
int (*fill)(struct mr_table *mrt,
include/linux/mroute_base.h
369
struct mr_table *(*mr_iter)(struct net *net,
include/linux/mroute_base.h
370
struct mr_table *mrt),
include/linux/mroute_base.h
377
static inline void *mr_mfc_find(struct mr_table *mrt, void *hasharg)
include/linux/mroute_base.h
385
struct mr_table *mrt;
include/linux/mroute_base.h
391
struct mr_table *mrt;
include/linux/mroute_base.h
418
struct mr_table *mrt, spinlock_t *lock)
include/linux/mroute_base.h
434
struct mr_table *mrt = it->mrt;
include/linux/mroute_base.h
472
struct mr_table *mrt, spinlock_t *lock)
include/net/netns/ipv4.h
277
struct mr_table *mrt;
include/net/netns/ipv6.h
110
struct mr_table *mrt6;
net/ipv4/ipmr.c
1036
static int ipmr_cache_report(const struct mr_table *mrt,
net/ipv4/ipmr.c
104
static struct mr_table *ipmr_new_table(struct net *net, u32 id);
net/ipv4/ipmr.c
105
static void ipmr_free_table(struct mr_table *mrt);
net/ipv4/ipmr.c
107
static void ip_mr_forward(struct net *net, struct mr_table *mrt,
net/ipv4/ipmr.c
110
static int ipmr_cache_report(const struct mr_table *mrt,
net/ipv4/ipmr.c
112
static void mroute_netlink_event(struct mr_table *mrt, struct mfc_cache *mfc,
net/ipv4/ipmr.c
1120
static int ipmr_cache_unresolved(struct mr_table *mrt, vifi_t vifi,
net/ipv4/ipmr.c
114
static void igmpmsg_netlink_event(const struct mr_table *mrt, struct sk_buff *pkt);
net/ipv4/ipmr.c
115
static void mroute_clean_tables(struct mr_table *mrt, int flags);
net/ipv4/ipmr.c
1194
static int ipmr_mfc_delete(struct mr_table *mrt, struct mfcctl *mfc, int parent)
net/ipv4/ipmr.c
1215
static int ipmr_mfc_add(struct net *net, struct mr_table *mrt,
net/ipv4/ipmr.c
124
static struct mr_table *ipmr_mr_table_iter(struct net *net,
net/ipv4/ipmr.c
125
struct mr_table *mrt)
net/ipv4/ipmr.c
127
struct mr_table *ret;
net/ipv4/ipmr.c
1296
static void mroute_clean_tables(struct mr_table *mrt, int flags)
net/ipv4/ipmr.c
131
struct mr_table, list);
net/ipv4/ipmr.c
134
struct mr_table, list);
net/ipv4/ipmr.c
1352
struct mr_table *mrt;
net/ipv4/ipmr.c
1380
struct mr_table *mrt;
net/ipv4/ipmr.c
141
static struct mr_table *__ipmr_get_table(struct net *net, u32 id)
net/ipv4/ipmr.c
143
struct mr_table *mrt;
net/ipv4/ipmr.c
152
static struct mr_table *ipmr_get_table(struct net *net, u32 id)
net/ipv4/ipmr.c
154
struct mr_table *mrt;
net/ipv4/ipmr.c
1596
struct mr_table *mrt;
net/ipv4/ipmr.c
163
struct mr_table **mrt)
net/ipv4/ipmr.c
1644
struct mr_table *mrt;
net/ipv4/ipmr.c
1712
struct mr_table *mrt;
net/ipv4/ipmr.c
1768
struct mr_table *mrt;
net/ipv4/ipmr.c
1834
static bool ipmr_forward_offloaded(struct sk_buff *skb, struct mr_table *mrt,
net/ipv4/ipmr.c
1848
static bool ipmr_forward_offloaded(struct sk_buff *skb, struct mr_table *mrt,
net/ipv4/ipmr.c
1857
static int ipmr_prepare_xmit(struct net *net, struct mr_table *mrt,
net/ipv4/ipmr.c
187
struct mr_table *mrt;
net/ipv4/ipmr.c
1935
static void ipmr_queue_fwd_xmit(struct net *net, struct mr_table *mrt,
net/ipv4/ipmr.c
1969
static void ipmr_queue_output_xmit(struct net *net, struct mr_table *mrt,
net/ipv4/ipmr.c
1983
static int ipmr_find_vif(const struct mr_table *mrt, struct net_device *dev)
net/ipv4/ipmr.c
1996
static void ip_mr_forward(struct net *net, struct mr_table *mrt,
net/ipv4/ipmr.c
2117
static struct mr_table *ipmr_rt_fib_lookup(struct net *net, struct sk_buff *skb)
net/ipv4/ipmr.c
2132
struct mr_table *mrt;
net/ipv4/ipmr.c
2149
struct mr_table *mrt;
net/ipv4/ipmr.c
2241
static void ip_mr_output_finish(struct net *net, struct mr_table *mrt,
net/ipv4/ipmr.c
2300
struct mr_table *mrt;
net/ipv4/ipmr.c
2351
struct mr_table *mrt;
net/ipv4/ipmr.c
2378
struct mr_table *mrt;
net/ipv4/ipmr.c
2406
struct mr_table *mrt;
net/ipv4/ipmr.c
2461
static int ipmr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb,
net/ipv4/ipmr.c
2505
static int _ipmr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb,
net/ipv4/ipmr.c
253
struct mr_table *mrt;
net/ipv4/ipmr.c
2534
static void mroute_netlink_event(struct mr_table *mrt, struct mfc_cache *mfc,
net/ipv4/ipmr.c
2575
static void igmpmsg_netlink_event(const struct mr_table *mrt, struct sk_buff *pkt)
net/ipv4/ipmr.c
2686
struct mr_table *mrt;
net/ipv4/ipmr.c
2751
struct mr_table *mrt;
net/ipv4/ipmr.c
2806
struct mr_table **mrtret,
net/ipv4/ipmr.c
2811
struct mr_table *mrt;
net/ipv4/ipmr.c
286
struct mr_table *mrt, *next;
net/ipv4/ipmr.c
2881
struct mr_table *tbl;
net/ipv4/ipmr.c
2897
static bool ipmr_fill_table(struct mr_table *mrt, struct sk_buff *skb)
net/ipv4/ipmr.c
2915
static bool ipmr_fill_vif(struct mr_table *mrt, u32 vifid, struct sk_buff *skb)
net/ipv4/ipmr.c
2983
struct mr_table *mrt;
net/ipv4/ipmr.c
3067
struct mr_table *mrt;
net/ipv4/ipmr.c
3090
struct mr_table *mrt = iter->mrt;
net/ipv4/ipmr.c
3122
struct mr_table *mrt;
net/ipv4/ipmr.c
3141
const struct mr_table *mrt = it->mrt;
net/ipv4/ipmr.c
316
static struct mr_table *ipmr_mr_table_iter(struct net *net,
net/ipv4/ipmr.c
317
struct mr_table *mrt)
net/ipv4/ipmr.c
324
static struct mr_table *ipmr_get_table(struct net *net, u32 id)
net/ipv4/ipmr.c
332
struct mr_table **mrt)
net/ipv4/ipmr.c
340
struct mr_table *mrt;
net/ipv4/ipmr.c
393
static void ipmr_new_table_set(struct mr_table *mrt,
net/ipv4/ipmr.c
411
static struct mr_table *ipmr_new_table(struct net *net, u32 id)
net/ipv4/ipmr.c
413
struct mr_table *mrt;
net/ipv4/ipmr.c
427
static void ipmr_free_table(struct mr_table *mrt)
net/ipv4/ipmr.c
513
struct mr_table *mrt;
net/ipv4/ipmr.c
560
static struct net_device *ipmr_reg_vif(struct net *net, struct mr_table *mrt)
net/ipv4/ipmr.c
597
static int __pim_rcv(struct mr_table *mrt, struct sk_buff *skb,
net/ipv4/ipmr.c
635
static struct net_device *ipmr_reg_vif(struct net *net, struct mr_table *mrt)
net/ipv4/ipmr.c
667
static int vif_delete(struct mr_table *mrt, int vifi, int notify,
net/ipv4/ipmr.c
738
static void ipmr_destroy_unres(struct mr_table *mrt, struct mfc_cache *c)
net/ipv4/ipmr.c
75
struct mr_table *mrt;
net/ipv4/ipmr.c
769
struct mr_table *mrt = timer_container_of(mrt, t, ipmr_expire_timer);
net/ipv4/ipmr.c
806
static void ipmr_update_thresholds(struct mr_table *mrt, struct mr_mfc *cache,
net/ipv4/ipmr.c
828
static int vif_add(struct net *net, struct mr_table *mrt,
net/ipv4/ipmr.c
933
static struct mfc_cache *ipmr_cache_find(struct mr_table *mrt,
net/ipv4/ipmr.c
946
static struct mfc_cache *ipmr_cache_find_any(struct mr_table *mrt,
net/ipv4/ipmr.c
960
static struct mfc_cache *ipmr_cache_find_parent(struct mr_table *mrt,
net/ipv4/ipmr.c
998
static void ipmr_cache_resolve(struct net *net, struct mr_table *mrt,
net/ipv4/ipmr_base.c
116
struct mr_table *mrt = iter->mrt;
net/ipv4/ipmr_base.c
132
struct mr_table *mrt = iter->mrt;
net/ipv4/ipmr_base.c
150
struct mr_table *mrt = it->mrt;
net/ipv4/ipmr_base.c
177
struct mr_table *mrt = it->mrt;
net/ipv4/ipmr_base.c
208
int mr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb,
net/ipv4/ipmr_base.c
279
static bool mr_mfc_uses_dev(const struct mr_table *mrt,
net/ipv4/ipmr_base.c
298
int mr_table_dump(struct mr_table *mrt, struct sk_buff *skb,
net/ipv4/ipmr_base.c
300
int (*fill)(struct mr_table *mrt, struct sk_buff *skb,
net/ipv4/ipmr_base.c
31
struct mr_table *
net/ipv4/ipmr_base.c
35
void (*table_set)(struct mr_table *mrt,
net/ipv4/ipmr_base.c
352
struct mr_table *(*iter)(struct net *net,
net/ipv4/ipmr_base.c
353
struct mr_table *mrt),
net/ipv4/ipmr_base.c
354
int (*fill)(struct mr_table *mrt,
net/ipv4/ipmr_base.c
362
struct mr_table *mrt;
net/ipv4/ipmr_base.c
38
struct mr_table *mrt;
net/ipv4/ipmr_base.c
398
struct mr_table *(*mr_iter)(struct net *net,
net/ipv4/ipmr_base.c
399
struct mr_table *mrt),
net/ipv4/ipmr_base.c
402
struct mr_table *mrt;
net/ipv4/ipmr_base.c
64
void *mr_mfc_find_parent(struct mr_table *mrt, void *hasharg, int parent)
net/ipv4/ipmr_base.c
78
void *mr_mfc_find_any_parent(struct mr_table *mrt, int vifi)
net/ipv4/ipmr_base.c
93
void *mr_mfc_find_any(struct mr_table *mrt, int vifi, void *hasharg)
net/ipv6/ip6mr.c
102
static void mroute_clean_tables(struct mr_table *mrt, int flags);
net/ipv6/ip6mr.c
1025
static void ip6mr_cache_resolve(struct net *net, struct mr_table *mrt,
net/ipv6/ip6mr.c
1063
static int ip6mr_cache_report(const struct mr_table *mrt, struct sk_buff *pkt,
net/ipv6/ip6mr.c
111
static struct mr_table *ip6mr_mr_table_iter(struct net *net,
net/ipv6/ip6mr.c
112
struct mr_table *mrt)
net/ipv6/ip6mr.c
114
struct mr_table *ret;
net/ipv6/ip6mr.c
1159
static int ip6mr_cache_unresolved(struct mr_table *mrt, mifi_t mifi,
net/ipv6/ip6mr.c
118
struct mr_table, list);
net/ipv6/ip6mr.c
121
struct mr_table, list);
net/ipv6/ip6mr.c
1236
static int ip6mr_mfc_delete(struct mr_table *mrt, struct mf6cctl *mfc,
net/ipv6/ip6mr.c
1263
struct mr_table *mrt;
net/ipv6/ip6mr.c
128
static struct mr_table *__ip6mr_get_table(struct net *net, u32 id)
net/ipv6/ip6mr.c
130
struct mr_table *mrt;
net/ipv6/ip6mr.c
139
static struct mr_table *ip6mr_get_table(struct net *net, u32 id)
net/ipv6/ip6mr.c
141
struct mr_table *mrt;
net/ipv6/ip6mr.c
1443
static int ip6mr_mfc_add(struct net *net, struct mr_table *mrt,
net/ipv6/ip6mr.c
150
struct mr_table **mrt)
net/ipv6/ip6mr.c
1536
static void mroute_clean_tables(struct mr_table *mrt, int flags)
net/ipv6/ip6mr.c
1584
static int ip6mr_sk_init(struct mr_table *mrt, struct sock *sk)
net/ipv6/ip6mr.c
1614
struct mr_table *mrt;
net/ipv6/ip6mr.c
1653
struct mr_table *mrt;
net/ipv6/ip6mr.c
1682
struct mr_table *mrt;
net/ipv6/ip6mr.c
174
struct mr_table *mrt;
net/ipv6/ip6mr.c
1857
struct mr_table *mrt;
net/ipv6/ip6mr.c
1907
struct mr_table *mrt;
net/ipv6/ip6mr.c
1975
struct mr_table *mrt;
net/ipv6/ip6mr.c
2038
static int ip6mr_prepare_xmit(struct net *net, struct mr_table *mrt,
net/ipv6/ip6mr.c
2103
static void ip6mr_forward2(struct net *net, struct mr_table *mrt,
net/ipv6/ip6mr.c
2122
static void ip6mr_output2(struct net *net, struct mr_table *mrt,
net/ipv6/ip6mr.c
2136
static int ip6mr_find_vif(struct mr_table *mrt, struct net_device *dev)
net/ipv6/ip6mr.c
2149
static void ip6_mr_forward(struct net *net, struct mr_table *mrt,
net/ipv6/ip6mr.c
2248
static void ip6_mr_output_finish(struct net *net, struct mr_table *mrt,
net/ipv6/ip6mr.c
2307
struct mr_table *mrt;
net/ipv6/ip6mr.c
2371
struct mr_table *mrt;
net/ipv6/ip6mr.c
240
struct mr_table *mrt;
net/ipv6/ip6mr.c
2422
struct mr_table *mrt;
net/ipv6/ip6mr.c
2490
static int ip6mr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb,
net/ipv6/ip6mr.c
2534
static int _ip6mr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb,
net/ipv6/ip6mr.c
2563
static void mr6_netlink_event(struct mr_table *mrt, struct mfc6_cache *mfc,
net/ipv6/ip6mr.c
2604
static void mrt6msg_netlink_event(const struct mr_table *mrt, struct sk_buff *pkt)
net/ipv6/ip6mr.c
2697
struct mr_table *mrt;
net/ipv6/ip6mr.c
273
struct mr_table *mrt, *next;
net/ipv6/ip6mr.c
2757
struct mr_table *mrt;
net/ipv6/ip6mr.c
304
static struct mr_table *ip6mr_mr_table_iter(struct net *net,
net/ipv6/ip6mr.c
305
struct mr_table *mrt)
net/ipv6/ip6mr.c
312
static struct mr_table *ip6mr_get_table(struct net *net, u32 id)
net/ipv6/ip6mr.c
320
struct mr_table **mrt)
net/ipv6/ip6mr.c
328
struct mr_table *mrt;
net/ipv6/ip6mr.c
375
static void ip6mr_new_table_set(struct mr_table *mrt,
net/ipv6/ip6mr.c
393
static struct mr_table *ip6mr_new_table(struct net *net, u32 id)
net/ipv6/ip6mr.c
395
struct mr_table *mrt;
net/ipv6/ip6mr.c
405
static void ip6mr_free_table(struct mr_table *mrt)
net/ipv6/ip6mr.c
428
struct mr_table *mrt;
net/ipv6/ip6mr.c
451
struct mr_table *mrt = iter->mrt;
net/ipv6/ip6mr.c
484
struct mr_table *mrt;
net/ipv6/ip6mr.c
505
struct mr_table *mrt = it->mrt;
net/ipv6/ip6mr.c
551
struct mr_table *mrt;
net/ipv6/ip6mr.c
58
struct mr_table *mrt;
net/ipv6/ip6mr.c
616
struct mr_table *mrt;
net/ipv6/ip6mr.c
664
static struct net_device *ip6mr_reg_vif(struct net *net, struct mr_table *mrt)
net/ipv6/ip6mr.c
717
static int mif6_delete(struct mr_table *mrt, int vifi, int notify,
net/ipv6/ip6mr.c
790
static void ip6mr_destroy_unres(struct mr_table *mrt, struct mfc6_cache *c)
net/ipv6/ip6mr.c
816
static void ipmr_do_expire_process(struct mr_table *mrt)
net/ipv6/ip6mr.c
842
struct mr_table *mrt = timer_container_of(mrt, t, ipmr_expire_timer);
net/ipv6/ip6mr.c
857
static void ip6mr_update_thresholds(struct mr_table *mrt,
net/ipv6/ip6mr.c
87
static struct mr_table *ip6mr_new_table(struct net *net, u32 id);
net/ipv6/ip6mr.c
88
static void ip6mr_free_table(struct mr_table *mrt);
net/ipv6/ip6mr.c
880
static int mif6_add(struct net *net, struct mr_table *mrt,
net/ipv6/ip6mr.c
90
static void ip6_mr_forward(struct net *net, struct mr_table *mrt,
net/ipv6/ip6mr.c
93
static int ip6mr_cache_report(const struct mr_table *mrt, struct sk_buff *pkt,
net/ipv6/ip6mr.c
95
static void mr6_netlink_event(struct mr_table *mrt, struct mfc6_cache *mfc,
net/ipv6/ip6mr.c
956
static struct mfc6_cache *ip6mr_cache_find(struct mr_table *mrt,
net/ipv6/ip6mr.c
969
static struct mfc6_cache *ip6mr_cache_find_any(struct mr_table *mrt,
net/ipv6/ip6mr.c
97
static void mrt6msg_netlink_event(const struct mr_table *mrt, struct sk_buff *pkt);
net/ipv6/ip6mr.c
985
ip6mr_cache_find_parent(struct mr_table *mrt,