IB/core: Add ib_find_exact_cached_pkey()
authorJack Morgenstein <jackm@dev.mellanox.co.il>
Fri, 3 Aug 2012 08:40:39 +0000 (08:40 +0000)
committerRoland Dreier <roland@purestorage.com>
Mon, 1 Oct 2012 03:33:30 +0000 (20:33 -0700)
commit73aaa7418f8069103ca56fc620b3cd16c5a37d6e
tree0110a685c949f7ce92e804ddff1cf6f34482d152
parentff7166c447df23a61e4f51bf748319dc6728dc74
IB/core: Add ib_find_exact_cached_pkey()

When P_Key tables potentially contain both full and partial membership
copies for the same P_Key, we need a function to find the index for an
exact (16-bit) P_Key.

This is necessary when the master forwards QP1 MADs sent by guests.
If the guest has sent the MAD with a limited membership P_Key, we need
to to forward the MAD using the same limited membership P_Key.  Since
the master may have both the limited and the full member P_Keys in its
table, we must make sure to retrieve the limited membership P_Key in
this case.

Signed-off-by: Jack Morgenstein <jackm@dev.mellanox.co.il>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: Roland Dreier <roland@purestorage.com>
drivers/infiniband/core/cache.c
include/rdma/ib_cache.h