On Mon, Nov 30, 2015 at 10:56 PM, Liran Liss <lir...@mellanox.com> wrote: >> From: linux-rdma-ow...@vger.kernel.org [mailto:linux-rdma- > >> >> The abstraction at the gid cache is making it too easy to make this mistake. >> It >> is enabling callers to do direct gid lookups without a route lookup, which is >> unconditionally wrong. Every call site into the gid cache I looked at >> appears to >> have this problem. >> >> The simplest fix is to have a new gid cache api for rocve2 that somehow >> forces/includes the necessary route lookup. The existing API cannot simply >> be extended for rocev2. >> > > I think that the GID cache should remain just that: a cache. > We shouldn't bloat it. > The CMA is the proper place to handle IP resolution. >
In the sake of validating a proper route is chosen, we could add route validation in ib_init_ah_from_wc() and ib_init_ah_from_path(). >> > roce_gid_mgmt, is the part that populates this "dumb" database. >> > IMHO, adding such a "smart" layer to the GID cache is wrong, as this >> > should be part of RDMACM which does the translation. No need to get >> > the gid cache involved. >> >> OK. Change the gid cache so only a RDMA CM private API can return >> rocev2 gids. >> > > The same cache is also used in IB and thus by other components, so it cannot > be a private CM API. > RoCE ULPs use the CMA for establishing connections, so route lookups should > be done from there. > --Liran > -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html