mr_table 100 drivers/infiniband/hw/hns/hns_roce_cq.c mtt_table = &hr_dev->mr_table.mtt_cqe_table; mr_table 102 drivers/infiniband/hw/hns/hns_roce_cq.c mtt_table = &hr_dev->mr_table.mtt_table; mr_table 1028 drivers/infiniband/hw/hns/hns_roce_device.h struct hns_roce_mr_table mr_table; mr_table 1089 drivers/infiniband/hw/hns/hns_roce_hem.c &hr_dev->mr_table.mtt_idx_table); mr_table 1092 drivers/infiniband/hw/hns/hns_roce_hem.c &hr_dev->mr_table.mtt_srqwqe_table); mr_table 1111 drivers/infiniband/hw/hns/hns_roce_hem.c hns_roce_cleanup_hem_table(hr_dev, &hr_dev->mr_table.mtpt_table); mr_table 1114 drivers/infiniband/hw/hns/hns_roce_hem.c &hr_dev->mr_table.mtt_cqe_table); mr_table 1115 drivers/infiniband/hw/hns/hns_roce_hem.c hns_roce_cleanup_hem_table(hr_dev, &hr_dev->mr_table.mtt_table); mr_table 1159 drivers/infiniband/hw/hns/hns_roce_hw_v1.c hns_roce_bitmap_free(&hr_dev->mr_table.mtpt_bitmap, mr_table 2588 drivers/infiniband/hw/hns/hns_roce_hw_v1.c mtts = hns_roce_table_find(hr_dev, &hr_dev->mr_table.mtt_table, mr_table 2738 drivers/infiniband/hw/hns/hns_roce_hw_v1.c mtts = hns_roce_table_find(hr_dev, &hr_dev->mr_table.mtt_table, mr_table 587 drivers/infiniband/hw/hns/hns_roce_main.c ret = hns_roce_init_hem_table(hr_dev, &hr_dev->mr_table.mtt_table, mr_table 597 drivers/infiniband/hw/hns/hns_roce_main.c &hr_dev->mr_table.mtt_cqe_table, mr_table 606 drivers/infiniband/hw/hns/hns_roce_main.c ret = hns_roce_init_hem_table(hr_dev, &hr_dev->mr_table.mtpt_table, mr_table 668 drivers/infiniband/hw/hns/hns_roce_main.c &hr_dev->mr_table.mtt_srqwqe_table, mr_table 681 drivers/infiniband/hw/hns/hns_roce_main.c &hr_dev->mr_table.mtt_idx_table, mr_table 746 drivers/infiniband/hw/hns/hns_roce_main.c &hr_dev->mr_table.mtt_idx_table); mr_table 751 drivers/infiniband/hw/hns/hns_roce_main.c &hr_dev->mr_table.mtt_srqwqe_table); mr_table 772 drivers/infiniband/hw/hns/hns_roce_main.c hns_roce_cleanup_hem_table(hr_dev, &hr_dev->mr_table.mtpt_table); mr_table 777 drivers/infiniband/hw/hns/hns_roce_main.c &hr_dev->mr_table.mtt_cqe_table); mr_table 780 drivers/infiniband/hw/hns/hns_roce_main.c hns_roce_cleanup_hem_table(hr_dev, &hr_dev->mr_table.mtt_table); mr_table 180 drivers/infiniband/hw/hns/hns_roce_mr.c struct hns_roce_mr_table *mr_table = &hr_dev->mr_table; mr_table 187 drivers/infiniband/hw/hns/hns_roce_mr.c buddy = &mr_table->mtt_buddy; mr_table 188 drivers/infiniband/hw/hns/hns_roce_mr.c table = &mr_table->mtt_table; mr_table 191 drivers/infiniband/hw/hns/hns_roce_mr.c buddy = &mr_table->mtt_cqe_buddy; mr_table 192 drivers/infiniband/hw/hns/hns_roce_mr.c table = &mr_table->mtt_cqe_table; mr_table 195 drivers/infiniband/hw/hns/hns_roce_mr.c buddy = &mr_table->mtt_srqwqe_buddy; mr_table 196 drivers/infiniband/hw/hns/hns_roce_mr.c table = &mr_table->mtt_srqwqe_table; mr_table 199 drivers/infiniband/hw/hns/hns_roce_mr.c buddy = &mr_table->mtt_idx_buddy; mr_table 200 drivers/infiniband/hw/hns/hns_roce_mr.c table = &mr_table->mtt_idx_table; mr_table 253 drivers/infiniband/hw/hns/hns_roce_mr.c struct hns_roce_mr_table *mr_table = &hr_dev->mr_table; mr_table 260 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_buddy_free(&mr_table->mtt_buddy, mtt->first_seg, mr_table 262 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_table_put_range(hr_dev, &mr_table->mtt_table, mr_table 267 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_buddy_free(&mr_table->mtt_cqe_buddy, mtt->first_seg, mr_table 269 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_table_put_range(hr_dev, &mr_table->mtt_cqe_table, mr_table 274 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_buddy_free(&mr_table->mtt_srqwqe_buddy, mtt->first_seg, mr_table 276 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_table_put_range(hr_dev, &mr_table->mtt_srqwqe_table, mr_table 281 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_buddy_free(&mr_table->mtt_idx_buddy, mtt->first_seg, mr_table 283 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_table_put_range(hr_dev, &mr_table->mtt_idx_table, mr_table 580 drivers/infiniband/hw/hns/hns_roce_mr.c ret = hns_roce_bitmap_alloc(&hr_dev->mr_table.mtpt_bitmap, &index); mr_table 729 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_table_put(hr_dev, &hr_dev->mr_table.mtpt_table, mr_table 732 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_bitmap_free(&hr_dev->mr_table.mtpt_bitmap, mr_table 743 drivers/infiniband/hw/hns/hns_roce_mr.c struct hns_roce_mr_table *mr_table = &hr_dev->mr_table; mr_table 746 drivers/infiniband/hw/hns/hns_roce_mr.c ret = hns_roce_table_get(hr_dev, &mr_table->mtpt_table, mtpt_idx); mr_table 782 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_table_put(hr_dev, &mr_table->mtpt_table, mtpt_idx); mr_table 798 drivers/infiniband/hw/hns/hns_roce_mr.c table = &hr_dev->mr_table.mtt_table; mr_table 802 drivers/infiniband/hw/hns/hns_roce_mr.c table = &hr_dev->mr_table.mtt_cqe_table; mr_table 806 drivers/infiniband/hw/hns/hns_roce_mr.c table = &hr_dev->mr_table.mtt_srqwqe_table; mr_table 810 drivers/infiniband/hw/hns/hns_roce_mr.c table = &hr_dev->mr_table.mtt_idx_table; mr_table 917 drivers/infiniband/hw/hns/hns_roce_mr.c struct hns_roce_mr_table *mr_table = &hr_dev->mr_table; mr_table 920 drivers/infiniband/hw/hns/hns_roce_mr.c ret = hns_roce_bitmap_init(&mr_table->mtpt_bitmap, mr_table 927 drivers/infiniband/hw/hns/hns_roce_mr.c ret = hns_roce_buddy_init(&mr_table->mtt_buddy, mr_table 933 drivers/infiniband/hw/hns/hns_roce_mr.c ret = hns_roce_buddy_init(&mr_table->mtt_cqe_buddy, mr_table 940 drivers/infiniband/hw/hns/hns_roce_mr.c ret = hns_roce_buddy_init(&mr_table->mtt_srqwqe_buddy, mr_table 947 drivers/infiniband/hw/hns/hns_roce_mr.c ret = hns_roce_buddy_init(&mr_table->mtt_idx_buddy, mr_table 957 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_buddy_cleanup(&mr_table->mtt_srqwqe_buddy); mr_table 961 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_buddy_cleanup(&mr_table->mtt_cqe_buddy); mr_table 964 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_buddy_cleanup(&mr_table->mtt_buddy); mr_table 967 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_bitmap_cleanup(&mr_table->mtpt_bitmap); mr_table 973 drivers/infiniband/hw/hns/hns_roce_mr.c struct hns_roce_mr_table *mr_table = &hr_dev->mr_table; mr_table 976 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_buddy_cleanup(&mr_table->mtt_idx_buddy); mr_table 978 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_buddy_cleanup(&mr_table->mtt_srqwqe_buddy); mr_table 979 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_buddy_cleanup(&mr_table->mtt_buddy); mr_table 981 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_buddy_cleanup(&mr_table->mtt_cqe_buddy); mr_table 982 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_bitmap_cleanup(&mr_table->mtpt_bitmap); mr_table 1456 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_table_put(hr_dev, &hr_dev->mr_table.mtpt_table, mr_table 1460 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_bitmap_free(&hr_dev->mr_table.mtpt_bitmap, mr_table 1467 drivers/infiniband/hw/hns/hns_roce_mr.c struct hns_roce_mr_table *mr_table = &hr_dev->mr_table; mr_table 1474 drivers/infiniband/hw/hns/hns_roce_mr.c ret = hns_roce_table_get(hr_dev, &mr_table->mtpt_table, mtpt_idx); mr_table 1507 drivers/infiniband/hw/hns/hns_roce_mr.c hns_roce_table_put(hr_dev, &mr_table->mtpt_table, mtpt_idx); mr_table 1525 drivers/infiniband/hw/hns/hns_roce_mr.c ret = hns_roce_bitmap_alloc(&hr_dev->mr_table.mtpt_bitmap, &index); mr_table 94 drivers/infiniband/hw/hns/hns_roce_srq.c &hr_dev->mr_table.mtt_srqwqe_table, mr_table 104 drivers/infiniband/hw/hns/hns_roce_srq.c mtts_idx = hns_roce_table_find(hr_dev, &hr_dev->mr_table.mtt_idx_table, mr_table 341 drivers/infiniband/hw/mthca/mthca_dev.h struct mthca_mr_table mr_table; mr_table 421 drivers/infiniband/hw/mthca/mthca_main.c mdev->mr_table.mtt_table = mthca_alloc_icm_table(mdev, init_hca->mtt_base, mr_table 426 drivers/infiniband/hw/mthca/mthca_main.c if (!mdev->mr_table.mtt_table) { mr_table 432 drivers/infiniband/hw/mthca/mthca_main.c mdev->mr_table.mpt_table = mthca_alloc_icm_table(mdev, init_hca->mpt_base, mr_table 437 drivers/infiniband/hw/mthca/mthca_main.c if (!mdev->mr_table.mpt_table) { mr_table 539 drivers/infiniband/hw/mthca/mthca_main.c mthca_free_icm_table(mdev, mdev->mr_table.mpt_table); mr_table 542 drivers/infiniband/hw/mthca/mthca_main.c mthca_free_icm_table(mdev, mdev->mr_table.mtt_table); mr_table 566 drivers/infiniband/hw/mthca/mthca_main.c mthca_free_icm_table(mdev, mdev->mr_table.mpt_table); mr_table 567 drivers/infiniband/hw/mthca/mthca_main.c mthca_free_icm_table(mdev, mdev->mr_table.mtt_table); mr_table 199 drivers/infiniband/hw/mthca/mthca_mr.c if (mthca_table_get_range(dev, dev->mr_table.mtt_table, seg, mr_table 237 drivers/infiniband/hw/mthca/mthca_mr.c return __mthca_alloc_mtt(dev, size, &dev->mr_table.mtt_buddy); mr_table 247 drivers/infiniband/hw/mthca/mthca_mr.c mthca_table_put_range(dev, dev->mr_table.mtt_table, mr_table 268 drivers/infiniband/hw/mthca/mthca_mr.c mtt_entry[0] = cpu_to_be64(dev->mr_table.mtt_base + mr_table 301 drivers/infiniband/hw/mthca/mthca_mr.c if (dev->mr_table.fmr_mtt_buddy != &dev->mr_table.mtt_buddy || mr_table 322 drivers/infiniband/hw/mthca/mthca_mr.c mtts = dev->mr_table.tavor_fmr.mtt_base + mtt->first_seg * dev->limits.mtt_seg_size + mr_table 343 drivers/infiniband/hw/mthca/mthca_mr.c mtts = mthca_table_find(dev->mr_table.mtt_table, mtt->first_seg + mr_table 364 drivers/infiniband/hw/mthca/mthca_mr.c if (dev->mr_table.fmr_mtt_buddy != &dev->mr_table.mtt_buddy || mr_table 440 drivers/infiniband/hw/mthca/mthca_mr.c key = mthca_alloc(&dev->mr_table.mpt_alloc); mr_table 447 drivers/infiniband/hw/mthca/mthca_mr.c err = mthca_table_get(dev, dev->mr_table.mpt_table, key); mr_table 477 drivers/infiniband/hw/mthca/mthca_mr.c cpu_to_be64(dev->mr_table.mtt_base + mr_table 505 drivers/infiniband/hw/mthca/mthca_mr.c mthca_table_put(dev, dev->mr_table.mpt_table, key); mr_table 508 drivers/infiniband/hw/mthca/mthca_mr.c mthca_free(&dev->mr_table.mpt_alloc, key); mr_table 547 drivers/infiniband/hw/mthca/mthca_mr.c mthca_table_put(dev, dev->mr_table.mpt_table, mr_table 550 drivers/infiniband/hw/mthca/mthca_mr.c mthca_free(&dev->mr_table.mpt_alloc, key_to_hw_index(dev, lkey)); mr_table 588 drivers/infiniband/hw/mthca/mthca_mr.c key = mthca_alloc(&dev->mr_table.mpt_alloc); mr_table 597 drivers/infiniband/hw/mthca/mthca_mr.c err = mthca_table_get(dev, dev->mr_table.mpt_table, key); mr_table 601 drivers/infiniband/hw/mthca/mthca_mr.c mr->mem.arbel.mpt = mthca_table_find(dev->mr_table.mpt_table, key, NULL); mr_table 604 drivers/infiniband/hw/mthca/mthca_mr.c mr->mem.tavor.mpt = dev->mr_table.tavor_fmr.mpt_base + mr_table 607 drivers/infiniband/hw/mthca/mthca_mr.c mr->mtt = __mthca_alloc_mtt(dev, list_len, dev->mr_table.fmr_mtt_buddy); mr_table 616 drivers/infiniband/hw/mthca/mthca_mr.c mr->mem.arbel.mtts = mthca_table_find(dev->mr_table.mtt_table, mr_table 621 drivers/infiniband/hw/mthca/mthca_mr.c mr->mem.tavor.mtts = dev->mr_table.tavor_fmr.mtt_base + mtt_seg; mr_table 641 drivers/infiniband/hw/mthca/mthca_mr.c mpt_entry->mtt_seg = cpu_to_be64(dev->mr_table.mtt_base + mtt_seg); mr_table 671 drivers/infiniband/hw/mthca/mthca_mr.c mthca_table_put(dev, dev->mr_table.mpt_table, key); mr_table 674 drivers/infiniband/hw/mthca/mthca_mr.c mthca_free(&dev->mr_table.mpt_alloc, key); mr_table 832 drivers/infiniband/hw/mthca/mthca_mr.c err = mthca_alloc_init(&dev->mr_table.mpt_alloc, mr_table 847 drivers/infiniband/hw/mthca/mthca_mr.c err = mthca_buddy_init(&dev->mr_table.mtt_buddy, mr_table 853 drivers/infiniband/hw/mthca/mthca_mr.c dev->mr_table.tavor_fmr.mpt_base = NULL; mr_table 854 drivers/infiniband/hw/mthca/mthca_mr.c dev->mr_table.tavor_fmr.mtt_base = NULL; mr_table 875 drivers/infiniband/hw/mthca/mthca_mr.c dev->mr_table.mpt_base); mr_table 877 drivers/infiniband/hw/mthca/mthca_mr.c dev->mr_table.tavor_fmr.mpt_base = mr_table 880 drivers/infiniband/hw/mthca/mthca_mr.c if (!dev->mr_table.tavor_fmr.mpt_base) { mr_table 888 drivers/infiniband/hw/mthca/mthca_mr.c dev->mr_table.mtt_base); mr_table 890 drivers/infiniband/hw/mthca/mthca_mr.c dev->mr_table.tavor_fmr.mtt_base = mr_table 892 drivers/infiniband/hw/mthca/mthca_mr.c if (!dev->mr_table.tavor_fmr.mtt_base) { mr_table 900 drivers/infiniband/hw/mthca/mthca_mr.c err = mthca_buddy_init(&dev->mr_table.tavor_fmr.mtt_buddy, fls(mtts - 1)); mr_table 905 drivers/infiniband/hw/mthca/mthca_mr.c err = mthca_buddy_alloc(&dev->mr_table.mtt_buddy, fls(mtts - 1)); mr_table 909 drivers/infiniband/hw/mthca/mthca_mr.c dev->mr_table.fmr_mtt_buddy = mr_table 910 drivers/infiniband/hw/mthca/mthca_mr.c &dev->mr_table.tavor_fmr.mtt_buddy; mr_table 912 drivers/infiniband/hw/mthca/mthca_mr.c dev->mr_table.fmr_mtt_buddy = &dev->mr_table.mtt_buddy; mr_table 919 drivers/infiniband/hw/mthca/mthca_mr.c dev->mr_table.fmr_mtt_buddy) == -1) { mr_table 921 drivers/infiniband/hw/mthca/mthca_mr.c dev->mr_table.fmr_mtt_buddy->max_order); mr_table 932 drivers/infiniband/hw/mthca/mthca_mr.c mthca_buddy_cleanup(&dev->mr_table.tavor_fmr.mtt_buddy); mr_table 935 drivers/infiniband/hw/mthca/mthca_mr.c if (dev->mr_table.tavor_fmr.mtt_base) mr_table 936 drivers/infiniband/hw/mthca/mthca_mr.c iounmap(dev->mr_table.tavor_fmr.mtt_base); mr_table 939 drivers/infiniband/hw/mthca/mthca_mr.c if (dev->mr_table.tavor_fmr.mpt_base) mr_table 940 drivers/infiniband/hw/mthca/mthca_mr.c iounmap(dev->mr_table.tavor_fmr.mpt_base); mr_table 943 drivers/infiniband/hw/mthca/mthca_mr.c mthca_buddy_cleanup(&dev->mr_table.mtt_buddy); mr_table 946 drivers/infiniband/hw/mthca/mthca_mr.c mthca_alloc_cleanup(&dev->mr_table.mpt_alloc); mr_table 955 drivers/infiniband/hw/mthca/mthca_mr.c mthca_buddy_cleanup(&dev->mr_table.tavor_fmr.mtt_buddy); mr_table 957 drivers/infiniband/hw/mthca/mthca_mr.c mthca_buddy_cleanup(&dev->mr_table.mtt_buddy); mr_table 959 drivers/infiniband/hw/mthca/mthca_mr.c if (dev->mr_table.tavor_fmr.mtt_base) mr_table 960 drivers/infiniband/hw/mthca/mthca_mr.c iounmap(dev->mr_table.tavor_fmr.mtt_base); mr_table 961 drivers/infiniband/hw/mthca/mthca_mr.c if (dev->mr_table.tavor_fmr.mpt_base) mr_table 962 drivers/infiniband/hw/mthca/mthca_mr.c iounmap(dev->mr_table.tavor_fmr.mpt_base); mr_table 964 drivers/infiniband/hw/mthca/mthca_mr.c mthca_alloc_cleanup(&dev->mr_table.mpt_alloc); mr_table 223 drivers/infiniband/hw/mthca/mthca_profile.c dev->mr_table.mpt_base = profile[i].start; mr_table 229 drivers/infiniband/hw/mthca/mthca_profile.c dev->mr_table.mtt_base = profile[i].start; mr_table 1699 drivers/net/ethernet/mellanox/mlx4/main.c err = mlx4_init_icm_table(dev, &priv->mr_table.mtt_table, mr_table 1709 drivers/net/ethernet/mellanox/mlx4/main.c err = mlx4_init_icm_table(dev, &priv->mr_table.dmpt_table, mr_table 1822 drivers/net/ethernet/mellanox/mlx4/main.c mlx4_cleanup_icm_table(dev, &priv->mr_table.dmpt_table); mr_table 1825 drivers/net/ethernet/mellanox/mlx4/main.c mlx4_cleanup_icm_table(dev, &priv->mr_table.mtt_table); mr_table 1856 drivers/net/ethernet/mellanox/mlx4/main.c mlx4_cleanup_icm_table(dev, &priv->mr_table.dmpt_table); mr_table 1857 drivers/net/ethernet/mellanox/mlx4/main.c mlx4_cleanup_icm_table(dev, &priv->mr_table.mtt_table); mr_table 894 drivers/net/ethernet/mellanox/mlx4/mlx4.h struct mlx4_mr_table mr_table; mr_table 152 drivers/net/ethernet/mellanox/mlx4/mr.c struct mlx4_mr_table *mr_table = &mlx4_priv(dev)->mr_table; mr_table 159 drivers/net/ethernet/mellanox/mlx4/mr.c seg = mlx4_buddy_alloc(&mr_table->mtt_buddy, seg_order); mr_table 165 drivers/net/ethernet/mellanox/mlx4/mr.c if (mlx4_table_get_range(dev, &mr_table->mtt_table, offset, mr_table 167 drivers/net/ethernet/mellanox/mlx4/mr.c mlx4_buddy_free(&mr_table->mtt_buddy, seg, seg_order); mr_table 221 drivers/net/ethernet/mellanox/mlx4/mr.c struct mlx4_mr_table *mr_table = &mlx4_priv(dev)->mr_table; mr_table 226 drivers/net/ethernet/mellanox/mlx4/mr.c mlx4_buddy_free(&mr_table->mtt_buddy, first_seg, seg_order); mr_table 227 drivers/net/ethernet/mellanox/mlx4/mr.c mlx4_table_put_range(dev, &mr_table->mtt_table, offset, mr_table 314 drivers/net/ethernet/mellanox/mlx4/mr.c &mlx4_priv(dev)->mr_table.dmpt_table, mr_table 443 drivers/net/ethernet/mellanox/mlx4/mr.c return mlx4_bitmap_alloc(&priv->mr_table.mpt_bitmap); mr_table 464 drivers/net/ethernet/mellanox/mlx4/mr.c mlx4_bitmap_free(&priv->mr_table.mpt_bitmap, index, MLX4_NO_RR); mr_table 485 drivers/net/ethernet/mellanox/mlx4/mr.c struct mlx4_mr_table *mr_table = &mlx4_priv(dev)->mr_table; mr_table 487 drivers/net/ethernet/mellanox/mlx4/mr.c return mlx4_table_get(dev, &mr_table->dmpt_table, index); mr_table 506 drivers/net/ethernet/mellanox/mlx4/mr.c struct mlx4_mr_table *mr_table = &mlx4_priv(dev)->mr_table; mr_table 508 drivers/net/ethernet/mellanox/mlx4/mr.c mlx4_table_put(dev, &mr_table->dmpt_table, index); mr_table 700 drivers/net/ethernet/mellanox/mlx4/mr.c mtts = mlx4_table_find(&priv->mr_table.mtt_table, mtt->offset + mr_table 910 drivers/net/ethernet/mellanox/mlx4/mr.c struct mlx4_mr_table *mr_table = &priv->mr_table; mr_table 921 drivers/net/ethernet/mellanox/mlx4/mr.c err = mlx4_bitmap_init(&mr_table->mpt_bitmap, dev->caps.num_mpts, mr_table 926 drivers/net/ethernet/mellanox/mlx4/mr.c err = mlx4_buddy_init(&mr_table->mtt_buddy, mr_table 938 drivers/net/ethernet/mellanox/mlx4/mr.c mr_table->mtt_buddy.max_order); mr_table 947 drivers/net/ethernet/mellanox/mlx4/mr.c mlx4_buddy_cleanup(&mr_table->mtt_buddy); mr_table 950 drivers/net/ethernet/mellanox/mlx4/mr.c mlx4_bitmap_cleanup(&mr_table->mpt_bitmap); mr_table 958 drivers/net/ethernet/mellanox/mlx4/mr.c struct mlx4_mr_table *mr_table = &priv->mr_table; mr_table 965 drivers/net/ethernet/mellanox/mlx4/mr.c mlx4_buddy_cleanup(&mr_table->mtt_buddy); mr_table 966 drivers/net/ethernet/mellanox/mlx4/mr.c mlx4_bitmap_cleanup(&mr_table->mpt_bitmap); mr_table 1069 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->mtts = mlx4_table_find(&priv->mr_table.mtt_table, mr_table 1095 drivers/net/ethernet/mellanox/mlx4/mr.c fmr->mpt = mlx4_table_find(&priv->mr_table.dmpt_table, mr_table 230 drivers/net/ethernet/mellanox/mlx4/profile.c priv->mr_table.mpt_base = profile[i].start; mr_table 239 drivers/net/ethernet/mellanox/mlx4/profile.c priv->mr_table.mtt_base = profile[i].start; mr_table 2895 drivers/net/ethernet/mellanox/mlx4/resource_tracker.c &mlx4_priv(dev)->mr_table.dmpt_table, mr_table 53 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c bool (*is_route_valid)(const struct mlxsw_sp_mr_table *mr_table, mr_table 55 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c void (*key_create)(struct mlxsw_sp_mr_table *mr_table, mr_table 58 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c bool (*is_route_starg)(const struct mlxsw_sp_mr_table *mr_table, mr_table 83 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c const struct mlxsw_sp_mr_table *mr_table; mr_table 140 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (mr_route->mr_table->ops->is_route_starg(mr_route->mr_table, mr_table 162 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c return mr_route->mr_table->ops->is_route_starg(mr_route->mr_table, mr_table 204 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_info_create(struct mlxsw_sp_mr_table *mr_table, mr_table 245 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c static int mlxsw_sp_mr_route_write(struct mlxsw_sp_mr_table *mr_table, mr_table 249 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp; mr_table 254 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c err = mlxsw_sp_mr_route_info_create(mr_table, mr_route, &route_info); mr_table 285 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c static void mlxsw_sp_mr_route_erase(struct mlxsw_sp_mr_table *mr_table, mr_table 288 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp; mr_table 296 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_create(struct mlxsw_sp_mr_table *mr_table, mr_table 314 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_table->ops->key_create(mr_table, &mr_route->key, mr_route->mfc); mr_table 316 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_route->mr_table = mr_table; mr_table 320 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c &mr_table->vifs[i]); mr_table 323 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (mr_table->vifs[i].dev && mr_table 324 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_table->vifs[i].dev->mtu < mr_route->min_mtu) mr_table 325 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_route->min_mtu = mr_table->vifs[i].dev->mtu; mr_table 329 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c &mr_table->vifs[mfc->mfc_parent]); mr_table 341 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c static void mlxsw_sp_mr_route_destroy(struct mlxsw_sp_mr_table *mr_table, mr_table 370 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c static void __mlxsw_sp_mr_route_del(struct mlxsw_sp_mr_table *mr_table, mr_table 374 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_erase(mr_table, mr_route); mr_table 375 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rhashtable_remove_fast(&mr_table->route_ht, &mr_route->ht_node, mr_table 378 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_destroy(mr_table, mr_route); mr_table 381 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c int mlxsw_sp_mr_route_add(struct mlxsw_sp_mr_table *mr_table, mr_table 388 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (!mr_table->ops->is_route_valid(mr_table, mfc)) mr_table 392 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_route = mlxsw_sp_mr_route_create(mr_table, mfc); mr_table 397 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_orig_route = rhashtable_lookup_fast(&mr_table->route_ht, mr_table 412 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c dev_warn(mr_table->mlxsw_sp->bus_info->dev, mr_table 419 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_add_tail(&mr_route->node, &mr_table->route_list); mr_table 420 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c err = rhashtable_insert_fast(&mr_table->route_ht, mr_table 427 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c err = mlxsw_sp_mr_route_write(mr_table, mr_route, replace); mr_table 433 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rhashtable_remove_fast(&mr_table->route_ht, mr_table 437 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_destroy(mr_table, mr_orig_route); mr_table 444 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rhashtable_remove_fast(&mr_table->route_ht, &mr_route->ht_node, mr_table 450 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_destroy(mr_table, mr_route); mr_table 454 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c void mlxsw_sp_mr_route_del(struct mlxsw_sp_mr_table *mr_table, mr_table 460 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_table->ops->key_create(mr_table, &key, mfc); mr_table 461 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_route = rhashtable_lookup_fast(&mr_table->route_ht, &key, mr_table 464 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c __mlxsw_sp_mr_route_del(mr_table, mr_route); mr_table 469 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_ivif_resolve(struct mlxsw_sp_mr_table *mr_table, mr_table 472 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp; mr_table 504 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_ivif_unresolve(struct mlxsw_sp_mr_table *mr_table, mr_table 507 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp; mr_table 518 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_evif_resolve(struct mlxsw_sp_mr_table *mr_table, mr_table 521 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp; mr_table 577 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_evif_unresolve(struct mlxsw_sp_mr_table *mr_table, mr_table 580 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp; mr_table 610 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c static int mlxsw_sp_mr_vif_resolve(struct mlxsw_sp_mr_table *mr_table, mr_table 626 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c err = mlxsw_sp_mr_route_ivif_resolve(mr_table, irve); mr_table 633 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c err = mlxsw_sp_mr_route_evif_resolve(mr_table, erve); mr_table 642 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_evif_unresolve(mr_table, erve); mr_table 646 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_ivif_unresolve(mr_table, irve); mr_table 651 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c static void mlxsw_sp_mr_vif_unresolve(struct mlxsw_sp_mr_table *mr_table, mr_table 659 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_evif_unresolve(mr_table, rve); mr_table 663 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_ivif_unresolve(mr_table, rve); mr_table 670 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c int mlxsw_sp_mr_vif_add(struct mlxsw_sp_mr_table *mr_table, mr_table 674 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp_mr_vif *mr_vif = &mr_table->vifs[vif_index]; mr_table 680 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c return mlxsw_sp_mr_vif_resolve(mr_table, dev, mr_vif, vif_flags, rif); mr_table 683 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c void mlxsw_sp_mr_vif_del(struct mlxsw_sp_mr_table *mr_table, vifi_t vif_index) mr_table 685 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp_mr_vif *mr_vif = &mr_table->vifs[vif_index]; mr_table 691 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_vif_unresolve(mr_table, NULL, mr_vif); mr_table 695 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_dev_vif_lookup(struct mlxsw_sp_mr_table *mr_table, mr_table 701 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (mr_table->vifs[vif_index].dev == dev) mr_table 702 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c return &mr_table->vifs[vif_index]; mr_table 706 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c int mlxsw_sp_mr_rif_add(struct mlxsw_sp_mr_table *mr_table, mr_table 715 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_vif = mlxsw_sp_mr_dev_vif_lookup(mr_table, rif_dev); mr_table 718 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c return mlxsw_sp_mr_vif_resolve(mr_table, mr_vif->dev, mr_vif, mr_table 722 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c void mlxsw_sp_mr_rif_del(struct mlxsw_sp_mr_table *mr_table, mr_table 731 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_vif = mlxsw_sp_mr_dev_vif_lookup(mr_table, rif_dev); mr_table 734 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_vif_unresolve(mr_table, mr_vif->dev, mr_vif); mr_table 737 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c void mlxsw_sp_mr_rif_mtu_update(struct mlxsw_sp_mr_table *mr_table, mr_table 741 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp; mr_table 750 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_vif = mlxsw_sp_mr_dev_vif_lookup(mr_table, rif_dev); mr_table 767 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route4_validate(const struct mlxsw_sp_mr_table *mr_table, mr_table 777 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c dev_warn(mr_table->mlxsw_sp->bus_info->dev, mr_table 784 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c static void mlxsw_sp_mr_route4_key(struct mlxsw_sp_mr_table *mr_table, mr_table 794 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c key->vrid = mr_table->vr_id; mr_table 802 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c static bool mlxsw_sp_mr_route4_starg(const struct mlxsw_sp_mr_table *mr_table, mr_table 814 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route6_validate(const struct mlxsw_sp_mr_table *mr_table, mr_table 824 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c dev_warn(mr_table->mlxsw_sp->bus_info->dev, mr_table 831 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c static void mlxsw_sp_mr_route6_key(struct mlxsw_sp_mr_table *mr_table, mr_table 838 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c key->vrid = mr_table->vr_id; mr_table 848 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c static bool mlxsw_sp_mr_route6_starg(const struct mlxsw_sp_mr_table *mr_table, mr_table 899 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp_mr_table *mr_table; mr_table 903 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_table = kzalloc(sizeof(*mr_table) + mr->mr_ops->route_priv_size, mr_table 905 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (!mr_table) mr_table 908 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_table->vr_id = vr_id; mr_table 909 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_table->mlxsw_sp = mlxsw_sp; mr_table 910 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_table->proto = proto; mr_table 911 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_table->ops = &mlxsw_sp_mr_table_ops_arr[proto]; mr_table 912 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c INIT_LIST_HEAD(&mr_table->route_list); mr_table 914 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c err = rhashtable_init(&mr_table->route_ht, mr_table 920 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c INIT_LIST_HEAD(&mr_table->vifs[i].route_evif_list); mr_table 921 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c INIT_LIST_HEAD(&mr_table->vifs[i].route_ivif_list); mr_table 922 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_table->vifs[i].ops = &mlxsw_sp_mr_vif_ops_arr[proto]; mr_table 926 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_table->catchall_route_priv, mr_table 930 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_add_tail(&mr_table->node, &mr->table_list); mr_table 931 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c return mr_table; mr_table 934 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rhashtable_destroy(&mr_table->route_ht); mr_table 936 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c kfree(mr_table); mr_table 940 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c void mlxsw_sp_mr_table_destroy(struct mlxsw_sp_mr_table *mr_table) mr_table 942 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp *mlxsw_sp = mr_table->mlxsw_sp; mr_table 945 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c WARN_ON(!mlxsw_sp_mr_table_empty(mr_table)); mr_table 946 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_del(&mr_table->node); mr_table 948 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c &mr_table->catchall_route_priv); mr_table 949 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c rhashtable_destroy(&mr_table->route_ht); mr_table 950 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c kfree(mr_table); mr_table 953 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c void mlxsw_sp_mr_table_flush(struct mlxsw_sp_mr_table *mr_table) mr_table 958 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_for_each_entry_safe(mr_route, tmp, &mr_table->route_list, node) mr_table 959 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c __mlxsw_sp_mr_route_del(mr_table, mr_route); mr_table 962 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_table->vifs[i].dev = NULL; mr_table 963 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mr_table->vifs[i].rif = NULL; mr_table 967 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c bool mlxsw_sp_mr_table_empty(const struct mlxsw_sp_mr_table *mr_table) mr_table 972 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c if (mr_table->vifs[i].dev) mr_table 974 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c return list_empty(&mr_table->route_list); mr_table 999 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c struct mlxsw_sp_mr_table *mr_table; mr_table 1004 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_for_each_entry(mr_table, &mr->table_list, node) mr_table 1005 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c list_for_each_entry(mr_route, &mr_table->route_list, node) mr_table 1006 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c mlxsw_sp_mr_route_stats_update(mr_table->mlxsw_sp, mr_table 73 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h int mlxsw_sp_mr_route_add(struct mlxsw_sp_mr_table *mr_table, mr_table 75 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h void mlxsw_sp_mr_route_del(struct mlxsw_sp_mr_table *mr_table, mr_table 77 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h int mlxsw_sp_mr_vif_add(struct mlxsw_sp_mr_table *mr_table, mr_table 81 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h void mlxsw_sp_mr_vif_del(struct mlxsw_sp_mr_table *mr_table, vifi_t vif_index); mr_table 82 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h int mlxsw_sp_mr_rif_add(struct mlxsw_sp_mr_table *mr_table, mr_table 84 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h void mlxsw_sp_mr_rif_del(struct mlxsw_sp_mr_table *mr_table, mr_table 86 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h void mlxsw_sp_mr_rif_mtu_update(struct mlxsw_sp_mr_table *mr_table, mr_table 91 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h void mlxsw_sp_mr_table_destroy(struct mlxsw_sp_mr_table *mr_table); mr_table 92 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h void mlxsw_sp_mr_table_flush(struct mlxsw_sp_mr_table *mr_table); mr_table 93 drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.h bool mlxsw_sp_mr_table_empty(const struct mlxsw_sp_mr_table *mr_table); mr_table 445 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c struct mlxsw_sp_mr_table *mr_table[MLXSW_SP_L3_PROTO_MAX]; mr_table 692 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c !!vr->mr_table[MLXSW_SP_L3_PROTO_IPV4] || mr_table 693 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c !!vr->mr_table[MLXSW_SP_L3_PROTO_IPV6]; mr_table 818 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c vr->mr_table[MLXSW_SP_L3_PROTO_IPV4] = mr4_table; mr_table 819 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c vr->mr_table[MLXSW_SP_L3_PROTO_IPV6] = mr6_table; mr_table 835 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_mr_table_destroy(vr->mr_table[MLXSW_SP_L3_PROTO_IPV6]); mr_table 836 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c vr->mr_table[MLXSW_SP_L3_PROTO_IPV6] = NULL; mr_table 837 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_mr_table_destroy(vr->mr_table[MLXSW_SP_L3_PROTO_IPV4]); mr_table 838 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c vr->mr_table[MLXSW_SP_L3_PROTO_IPV4] = NULL; mr_table 861 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_mr_table_empty(vr->mr_table[MLXSW_SP_L3_PROTO_IPV4]) && mr_table 862 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_mr_table_empty(vr->mr_table[MLXSW_SP_L3_PROTO_IPV6])) mr_table 5710 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c return vr->mr_table[MLXSW_SP_L3_PROTO_IPV4]; mr_table 5712 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c return vr->mr_table[MLXSW_SP_L3_PROTO_IPV6]; mr_table 5889 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_mr_table_flush(vr->mr_table[j]); mr_table 6561 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c err = mlxsw_sp_mr_rif_add(vr->mr_table[i], rif); mr_table 6572 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_mr_rif_del(vr->mr_table[i], rif); mr_table 6601 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_mr_rif_del(vr->mr_table[i], rif); mr_table 7208 drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c mlxsw_sp_mr_rif_mtu_update(vr->mr_table[i], mr_table 213 include/linux/mroute_base.h struct mr_table; mr_table 270 include/linux/mroute_base.h struct mr_table * mr_table 274 include/linux/mroute_base.h void (*table_set)(struct mr_table *mrt, mr_table 280 include/linux/mroute_base.h void *mr_mfc_find_parent(struct mr_table *mrt, mr_table 282 include/linux/mroute_base.h void *mr_mfc_find_any_parent(struct mr_table *mrt, int vifi); mr_table 283 include/linux/mroute_base.h void *mr_mfc_find_any(struct mr_table *mrt, int vifi, void *hasharg); mr_table 285 include/linux/mroute_base.h int mr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb, mr_table 287 include/linux/mroute_base.h int mr_table_dump(struct mr_table *mrt, struct sk_buff *skb, mr_table 289 include/linux/mroute_base.h int (*fill)(struct mr_table *mrt, struct sk_buff *skb, mr_table 294 include/linux/mroute_base.h struct mr_table *(*iter)(struct net *net, mr_table 295 include/linux/mroute_base.h struct mr_table *mrt), mr_table 296 include/linux/mroute_base.h int (*fill)(struct mr_table *mrt, mr_table 305 include/linux/mroute_base.h struct mr_table *(*mr_iter)(struct net *net, mr_table 306 include/linux/mroute_base.h struct mr_table *mrt), mr_table 318 include/linux/mroute_base.h static inline void *mr_mfc_find_parent(struct mr_table *mrt, mr_table 324 include/linux/mroute_base.h static inline void *mr_mfc_find_any_parent(struct mr_table *mrt, mr_table 330 include/linux/mroute_base.h static inline struct mr_mfc *mr_mfc_find_any(struct mr_table *mrt, mr_table 336 include/linux/mroute_base.h static inline int mr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb, mr_table 344 include/linux/mroute_base.h struct mr_table *(*iter)(struct net *net, mr_table 345 include/linux/mroute_base.h struct mr_table *mrt), mr_table 346 include/linux/mroute_base.h int (*fill)(struct mr_table *mrt, mr_table 359 include/linux/mroute_base.h struct mr_table *(*mr_iter)(struct net *net, mr_table 360 include/linux/mroute_base.h struct mr_table *mrt), mr_table 367 include/linux/mroute_base.h static inline void *mr_mfc_find(struct mr_table *mrt, void *hasharg) mr_table 375 include/linux/mroute_base.h struct mr_table *mrt; mr_table 381 include/linux/mroute_base.h struct mr_table *mrt; mr_table 408 include/linux/mroute_base.h struct mr_table *mrt, spinlock_t *lock) mr_table 424 include/linux/mroute_base.h struct mr_table *mrt = it->mrt; mr_table 462 include/linux/mroute_base.h struct mr_table *mrt, spinlock_t *lock) mr_table 205 include/net/netns/ipv4.h struct mr_table *mrt; mr_table 98 include/net/netns/ipv6.h struct mr_table *mrt6; mr_table 73 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 97 net/ipv4/ipmr.c static struct mr_table *ipmr_new_table(struct net *net, u32 id); mr_table 98 net/ipv4/ipmr.c static void ipmr_free_table(struct mr_table *mrt); mr_table 100 net/ipv4/ipmr.c static void ip_mr_forward(struct net *net, struct mr_table *mrt, mr_table 103 net/ipv4/ipmr.c static int ipmr_cache_report(struct mr_table *mrt, mr_table 105 net/ipv4/ipmr.c static void mroute_netlink_event(struct mr_table *mrt, struct mfc_cache *mfc, mr_table 107 net/ipv4/ipmr.c static void igmpmsg_netlink_event(struct mr_table *mrt, struct sk_buff *pkt); mr_table 108 net/ipv4/ipmr.c static void mroute_clean_tables(struct mr_table *mrt, int flags); mr_table 115 net/ipv4/ipmr.c static struct mr_table *ipmr_mr_table_iter(struct net *net, mr_table 116 net/ipv4/ipmr.c struct mr_table *mrt) mr_table 118 net/ipv4/ipmr.c struct mr_table *ret; mr_table 122 net/ipv4/ipmr.c struct mr_table, list); mr_table 125 net/ipv4/ipmr.c struct mr_table, list); mr_table 132 net/ipv4/ipmr.c static struct mr_table *ipmr_get_table(struct net *net, u32 id) mr_table 134 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 144 net/ipv4/ipmr.c struct mr_table **mrt) mr_table 168 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 239 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 270 net/ipv4/ipmr.c struct mr_table *mrt, *next; mr_table 300 net/ipv4/ipmr.c static struct mr_table *ipmr_mr_table_iter(struct net *net, mr_table 301 net/ipv4/ipmr.c struct mr_table *mrt) mr_table 308 net/ipv4/ipmr.c static struct mr_table *ipmr_get_table(struct net *net, u32 id) mr_table 314 net/ipv4/ipmr.c struct mr_table **mrt) mr_table 322 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 375 net/ipv4/ipmr.c static void ipmr_new_table_set(struct mr_table *mrt, mr_table 393 net/ipv4/ipmr.c static struct mr_table *ipmr_new_table(struct net *net, u32 id) mr_table 395 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 409 net/ipv4/ipmr.c static void ipmr_free_table(struct mr_table *mrt) mr_table 521 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 564 net/ipv4/ipmr.c static struct net_device *ipmr_reg_vif(struct net *net, struct mr_table *mrt) mr_table 601 net/ipv4/ipmr.c static int __pim_rcv(struct mr_table *mrt, struct sk_buff *skb, mr_table 639 net/ipv4/ipmr.c static struct net_device *ipmr_reg_vif(struct net *net, struct mr_table *mrt) mr_table 667 net/ipv4/ipmr.c static int vif_delete(struct mr_table *mrt, int vifi, int notify, mr_table 741 net/ipv4/ipmr.c static void ipmr_destroy_unres(struct mr_table *mrt, struct mfc_cache *c) mr_table 772 net/ipv4/ipmr.c struct mr_table *mrt = from_timer(mrt, t, ipmr_expire_timer); mr_table 809 net/ipv4/ipmr.c static void ipmr_update_thresholds(struct mr_table *mrt, struct mr_mfc *cache, mr_table 831 net/ipv4/ipmr.c static int vif_add(struct net *net, struct mr_table *mrt, mr_table 938 net/ipv4/ipmr.c static struct mfc_cache *ipmr_cache_find(struct mr_table *mrt, mr_table 951 net/ipv4/ipmr.c static struct mfc_cache *ipmr_cache_find_any(struct mr_table *mrt, mr_table 965 net/ipv4/ipmr.c static struct mfc_cache *ipmr_cache_find_parent(struct mr_table *mrt, mr_table 1003 net/ipv4/ipmr.c static void ipmr_cache_resolve(struct net *net, struct mr_table *mrt, mr_table 1039 net/ipv4/ipmr.c static int ipmr_cache_report(struct mr_table *mrt, mr_table 1118 net/ipv4/ipmr.c static int ipmr_cache_unresolved(struct mr_table *mrt, vifi_t vifi, mr_table 1192 net/ipv4/ipmr.c static int ipmr_mfc_delete(struct mr_table *mrt, struct mfcctl *mfc, int parent) mr_table 1213 net/ipv4/ipmr.c static int ipmr_mfc_add(struct net *net, struct mr_table *mrt, mr_table 1294 net/ipv4/ipmr.c static void mroute_clean_tables(struct mr_table *mrt, int flags) mr_table 1350 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 1378 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 1571 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 1617 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 1692 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 1748 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 1815 net/ipv4/ipmr.c static bool ipmr_forward_offloaded(struct sk_buff *skb, struct mr_table *mrt, mr_table 1829 net/ipv4/ipmr.c static bool ipmr_forward_offloaded(struct sk_buff *skb, struct mr_table *mrt, mr_table 1838 net/ipv4/ipmr.c static void ipmr_queue_xmit(struct net *net, struct mr_table *mrt, mr_table 1938 net/ipv4/ipmr.c static int ipmr_find_vif(struct mr_table *mrt, struct net_device *dev) mr_table 1950 net/ipv4/ipmr.c static void ip_mr_forward(struct net *net, struct mr_table *mrt, mr_table 2069 net/ipv4/ipmr.c static struct mr_table *ipmr_rt_fib_lookup(struct net *net, struct sk_buff *skb) mr_table 2084 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 2101 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 2207 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 2234 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 2262 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 2321 net/ipv4/ipmr.c static int ipmr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb, mr_table 2365 net/ipv4/ipmr.c static int _ipmr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb, mr_table 2394 net/ipv4/ipmr.c static void mroute_netlink_event(struct mr_table *mrt, struct mfc_cache *mfc, mr_table 2435 net/ipv4/ipmr.c static void igmpmsg_netlink_event(struct mr_table *mrt, struct sk_buff *pkt) mr_table 2545 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 2608 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 2663 net/ipv4/ipmr.c struct mr_table **mrtret, mr_table 2668 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 2738 net/ipv4/ipmr.c struct mr_table *tbl; mr_table 2754 net/ipv4/ipmr.c static bool ipmr_fill_table(struct mr_table *mrt, struct sk_buff *skb) mr_table 2772 net/ipv4/ipmr.c static bool ipmr_fill_vif(struct mr_table *mrt, u32 vifid, struct sk_buff *skb) mr_table 2837 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 2921 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 2942 net/ipv4/ipmr.c struct mr_table *mrt = iter->mrt; mr_table 2972 net/ipv4/ipmr.c struct mr_table *mrt; mr_table 2991 net/ipv4/ipmr.c const struct mr_table *mrt = it->mrt; mr_table 31 net/ipv4/ipmr_base.c struct mr_table * mr_table 35 net/ipv4/ipmr_base.c void (*table_set)(struct mr_table *mrt, mr_table 38 net/ipv4/ipmr_base.c struct mr_table *mrt; mr_table 64 net/ipv4/ipmr_base.c void *mr_mfc_find_parent(struct mr_table *mrt, void *hasharg, int parent) mr_table 78 net/ipv4/ipmr_base.c void *mr_mfc_find_any_parent(struct mr_table *mrt, int vifi) mr_table 93 net/ipv4/ipmr_base.c void *mr_mfc_find_any(struct mr_table *mrt, int vifi, void *hasharg) mr_table 116 net/ipv4/ipmr_base.c struct mr_table *mrt = iter->mrt; mr_table 132 net/ipv4/ipmr_base.c struct mr_table *mrt = iter->mrt; mr_table 150 net/ipv4/ipmr_base.c struct mr_table *mrt = it->mrt; mr_table 177 net/ipv4/ipmr_base.c struct mr_table *mrt = it->mrt; mr_table 208 net/ipv4/ipmr_base.c int mr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb, mr_table 271 net/ipv4/ipmr_base.c static bool mr_mfc_uses_dev(const struct mr_table *mrt, mr_table 289 net/ipv4/ipmr_base.c int mr_table_dump(struct mr_table *mrt, struct sk_buff *skb, mr_table 291 net/ipv4/ipmr_base.c int (*fill)(struct mr_table *mrt, struct sk_buff *skb, mr_table 345 net/ipv4/ipmr_base.c struct mr_table *(*iter)(struct net *net, mr_table 346 net/ipv4/ipmr_base.c struct mr_table *mrt), mr_table 347 net/ipv4/ipmr_base.c int (*fill)(struct mr_table *mrt, mr_table 355 net/ipv4/ipmr_base.c struct mr_table *mrt; mr_table 390 net/ipv4/ipmr_base.c struct mr_table *(*mr_iter)(struct net *net, mr_table 391 net/ipv4/ipmr_base.c struct mr_table *mrt), mr_table 394 net/ipv4/ipmr_base.c struct mr_table *mrt; mr_table 58 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 82 net/ipv6/ip6mr.c static struct mr_table *ip6mr_new_table(struct net *net, u32 id); mr_table 83 net/ipv6/ip6mr.c static void ip6mr_free_table(struct mr_table *mrt); mr_table 85 net/ipv6/ip6mr.c static void ip6_mr_forward(struct net *net, struct mr_table *mrt, mr_table 88 net/ipv6/ip6mr.c static int ip6mr_cache_report(struct mr_table *mrt, struct sk_buff *pkt, mr_table 90 net/ipv6/ip6mr.c static void mr6_netlink_event(struct mr_table *mrt, struct mfc6_cache *mfc, mr_table 92 net/ipv6/ip6mr.c static void mrt6msg_netlink_event(struct mr_table *mrt, struct sk_buff *pkt); mr_table 95 net/ipv6/ip6mr.c static void mroute_clean_tables(struct mr_table *mrt, int flags); mr_table 102 net/ipv6/ip6mr.c static struct mr_table *ip6mr_mr_table_iter(struct net *net, mr_table 103 net/ipv6/ip6mr.c struct mr_table *mrt) mr_table 105 net/ipv6/ip6mr.c struct mr_table *ret; mr_table 109 net/ipv6/ip6mr.c struct mr_table, list); mr_table 112 net/ipv6/ip6mr.c struct mr_table, list); mr_table 119 net/ipv6/ip6mr.c static struct mr_table *ip6mr_get_table(struct net *net, u32 id) mr_table 121 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 131 net/ipv6/ip6mr.c struct mr_table **mrt) mr_table 155 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 226 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 257 net/ipv6/ip6mr.c struct mr_table *mrt, *next; mr_table 288 net/ipv6/ip6mr.c static struct mr_table *ip6mr_mr_table_iter(struct net *net, mr_table 289 net/ipv6/ip6mr.c struct mr_table *mrt) mr_table 296 net/ipv6/ip6mr.c static struct mr_table *ip6mr_get_table(struct net *net, u32 id) mr_table 302 net/ipv6/ip6mr.c struct mr_table **mrt) mr_table 310 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 357 net/ipv6/ip6mr.c static void ip6mr_new_table_set(struct mr_table *mrt, mr_table 375 net/ipv6/ip6mr.c static struct mr_table *ip6mr_new_table(struct net *net, u32 id) mr_table 377 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 387 net/ipv6/ip6mr.c static void ip6mr_free_table(struct mr_table *mrt) mr_table 406 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 427 net/ipv6/ip6mr.c struct mr_table *mrt = iter->mrt; mr_table 456 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 477 net/ipv6/ip6mr.c struct mr_table *mrt = it->mrt; mr_table 523 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 592 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 639 net/ipv6/ip6mr.c static struct net_device *ip6mr_reg_vif(struct net *net, struct mr_table *mrt) mr_table 691 net/ipv6/ip6mr.c static int mif6_delete(struct mr_table *mrt, int vifi, int notify, mr_table 766 net/ipv6/ip6mr.c static void ip6mr_destroy_unres(struct mr_table *mrt, struct mfc6_cache *c) mr_table 792 net/ipv6/ip6mr.c static void ipmr_do_expire_process(struct mr_table *mrt) mr_table 818 net/ipv6/ip6mr.c struct mr_table *mrt = from_timer(mrt, t, ipmr_expire_timer); mr_table 833 net/ipv6/ip6mr.c static void ip6mr_update_thresholds(struct mr_table *mrt, mr_table 856 net/ipv6/ip6mr.c static int mif6_add(struct net *net, struct mr_table *mrt, mr_table 931 net/ipv6/ip6mr.c static struct mfc6_cache *ip6mr_cache_find(struct mr_table *mrt, mr_table 944 net/ipv6/ip6mr.c static struct mfc6_cache *ip6mr_cache_find_any(struct mr_table *mrt, mr_table 960 net/ipv6/ip6mr.c ip6mr_cache_find_parent(struct mr_table *mrt, mr_table 1000 net/ipv6/ip6mr.c static void ip6mr_cache_resolve(struct net *net, struct mr_table *mrt, mr_table 1035 net/ipv6/ip6mr.c static int ip6mr_cache_report(struct mr_table *mrt, struct sk_buff *pkt, mr_table 1130 net/ipv6/ip6mr.c static int ip6mr_cache_unresolved(struct mr_table *mrt, mifi_t mifi, mr_table 1207 net/ipv6/ip6mr.c static int ip6mr_mfc_delete(struct mr_table *mrt, struct mf6cctl *mfc, mr_table 1234 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 1401 net/ipv6/ip6mr.c static int ip6mr_mfc_add(struct net *net, struct mr_table *mrt, mr_table 1494 net/ipv6/ip6mr.c static void mroute_clean_tables(struct mr_table *mrt, int flags) mr_table 1542 net/ipv6/ip6mr.c static int ip6mr_sk_init(struct mr_table *mrt, struct sock *sk) mr_table 1572 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 1606 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 1634 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 1805 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 1856 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 1931 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 1996 net/ipv6/ip6mr.c static int ip6mr_forward2(struct net *net, struct mr_table *mrt, mr_table 2070 net/ipv6/ip6mr.c static int ip6mr_find_vif(struct mr_table *mrt, struct net_device *dev) mr_table 2081 net/ipv6/ip6mr.c static void ip6_mr_forward(struct net *net, struct mr_table *mrt, mr_table 2187 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 2254 net/ipv6/ip6mr.c struct mr_table *mrt; mr_table 2320 net/ipv6/ip6mr.c static int ip6mr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb, mr_table 2364 net/ipv6/ip6mr.c static int _ip6mr_fill_mroute(struct mr_table *mrt, struct sk_buff *skb, mr_table 2393 net/ipv6/ip6mr.c static void mr6_netlink_event(struct mr_table *mrt, struct mfc6_cache *mfc, mr_table 2435 net/ipv6/ip6mr.c static void mrt6msg_netlink_event(struct mr_table *mrt, struct sk_buff *pkt) mr_table 2497 net/ipv6/ip6mr.c struct mr_table *mrt;