root/net/smc/smc_pnet.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. smc_pnetid_by_dev_port

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  * Shared Memory Communications over RDMA (SMC-R) and RoCE
   4  *
   5  *  PNET table queries
   6  *
   7  *  Copyright IBM Corp. 2016
   8  *
   9  *  Author(s):  Thomas Richter <tmricht@linux.vnet.ibm.com>
  10  */
  11 
  12 #ifndef _SMC_PNET_H
  13 #define _SMC_PNET_H
  14 
  15 #if IS_ENABLED(CONFIG_HAVE_PNETID)
  16 #include <asm/pnet.h>
  17 #endif
  18 
  19 struct smc_ib_device;
  20 struct smcd_dev;
  21 struct smc_init_info;
  22 
  23 /**
  24  * struct smc_pnettable - SMC PNET table anchor
  25  * @lock: Lock for list action
  26  * @pnetlist: List of PNETIDs
  27  */
  28 struct smc_pnettable {
  29         rwlock_t lock;
  30         struct list_head pnetlist;
  31 };
  32 
  33 static inline int smc_pnetid_by_dev_port(struct device *dev,
  34                                          unsigned short port, u8 *pnetid)
  35 {
  36 #if IS_ENABLED(CONFIG_HAVE_PNETID)
  37         return pnet_id_by_dev_port(dev, port, pnetid);
  38 #else
  39         return -ENOENT;
  40 #endif
  41 }
  42 
  43 int smc_pnet_init(void) __init;
  44 int smc_pnet_net_init(struct net *net);
  45 void smc_pnet_exit(void);
  46 void smc_pnet_net_exit(struct net *net);
  47 void smc_pnet_find_roce_resource(struct sock *sk, struct smc_init_info *ini);
  48 void smc_pnet_find_ism_resource(struct sock *sk, struct smc_init_info *ini);
  49 
  50 #endif

/* [<][>][^][v][top][bottom][index][help] */