diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-07 13:33:07 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-11-07 13:33:07 -0800 | 
| commit | ab9f2faf8f40604551336e5b0a18e0910a57b92c (patch) | |
| tree | 9068c73acf24452762d6e2b096df19e29436183e /include/rdma/ib_cache.h | |
| parent | 75021d28594d9b6fb4d05bbc41f77948a0db0e02 (diff) | |
| parent | db7489e07669073970358b6cacf6a9dd8dc9275e (diff) | |
Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma
Pull rdma updates from Doug Ledford:
 "This is my initial round of 4.4 merge window patches.  There are a few
  other things I wish to get in for 4.4 that aren't in this pull, as
  this represents what has gone through merge/build/run testing and not
  what is the last few items for which testing is not yet complete.
   - "Checksum offload support in user space" enablement
   - Misc cxgb4 fixes, add T6 support
   - Misc usnic fixes
   - 32 bit build warning fixes
   - Misc ocrdma fixes
   - Multicast loopback prevention extension
   - Extend the GID cache to store and return attributes of GIDs
   - Misc iSER updates
   - iSER clustering update
   - Network NameSpace support for rdma CM
   - Work Request cleanup series
   - New Memory Registration API"
* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (76 commits)
  IB/core, cma: Make __attribute_const__ declarations sparse-friendly
  IB/core: Remove old fast registration API
  IB/ipath: Remove fast registration from the code
  IB/hfi1: Remove fast registration from the code
  RDMA/nes: Remove old FRWR API
  IB/qib: Remove old FRWR API
  iw_cxgb4: Remove old FRWR API
  RDMA/cxgb3: Remove old FRWR API
  RDMA/ocrdma: Remove old FRWR API
  IB/mlx4: Remove old FRWR API support
  IB/mlx5: Remove old FRWR API support
  IB/srp: Dont allocate a page vector when using fast_reg
  IB/srp: Remove srp_finish_mapping
  IB/srp: Convert to new registration API
  IB/srp: Split srp_map_sg
  RDS/IW: Convert to new memory registration API
  svcrdma: Port to new memory registration API
  xprtrdma: Port to new memory registration API
  iser-target: Port to new memory registration API
  IB/iser: Port to new fast registration API
  ...
Diffstat (limited to 'include/rdma/ib_cache.h')
| -rw-r--r-- | include/rdma/ib_cache.h | 40 | 
1 files changed, 36 insertions, 4 deletions
| diff --git a/include/rdma/ib_cache.h b/include/rdma/ib_cache.h index bd92130f4ac5..269a27cf0a46 100644 --- a/include/rdma/ib_cache.h +++ b/include/rdma/ib_cache.h @@ -43,6 +43,8 @@   * @port_num: The port number of the device to query.   * @index: The index into the cached GID table to query.   * @gid: The GID value found at the specified index. + * @attr: The GID attribute found at the specified index (only in RoCE). + *   NULL means ignore (output parameter).   *   * ib_get_cached_gid() fetches the specified GID table entry stored in   * the local software cache. @@ -50,13 +52,15 @@  int ib_get_cached_gid(struct ib_device    *device,  		      u8                   port_num,  		      int                  index, -		      union ib_gid        *gid); +		      union ib_gid        *gid, +		      struct ib_gid_attr  *attr);  /**   * ib_find_cached_gid - Returns the port number and GID table index where   *   a specified GID value occurs.   * @device: The device to query.   * @gid: The GID value to search for. + * @ndev: In RoCE, the net device of the device. NULL means ignore.   * @port_num: The port number of the device where the GID value was found.   * @index: The index into the cached GID table where the GID was found.  This   *   parameter may be NULL. @@ -64,12 +68,40 @@ int ib_get_cached_gid(struct ib_device    *device,   * ib_find_cached_gid() searches for the specified GID value in   * the local software cache.   */ -int ib_find_cached_gid(struct ib_device   *device, +int ib_find_cached_gid(struct ib_device *device,  		       const union ib_gid *gid, -		       u8                 *port_num, -		       u16                *index); +		       struct net_device *ndev, +		       u8               *port_num, +		       u16              *index);  /** + * ib_find_cached_gid_by_port - Returns the GID table index where a specified + * GID value occurs + * @device: The device to query. + * @gid: The GID value to search for. + * @port_num: The port number of the device where the GID value sould be + *   searched. + * @ndev: In RoCE, the net device of the device. Null means ignore. + * @index: The index into the cached GID table where the GID was found.  This + *   parameter may be NULL. + * + * ib_find_cached_gid() searches for the specified GID value in + * the local software cache. + */ +int ib_find_cached_gid_by_port(struct ib_device *device, +			       const union ib_gid *gid, +			       u8               port_num, +			       struct net_device *ndev, +			       u16              *index); + +int ib_find_gid_by_filter(struct ib_device *device, +			  const union ib_gid *gid, +			  u8 port_num, +			  bool (*filter)(const union ib_gid *gid, +					 const struct ib_gid_attr *, +					 void *), +			  void *context, u16 *index); +/**   * ib_get_cached_pkey - Returns a cached PKey table entry   * @device: The device to query.   * @port_num: The port number of the device to query. | 
