blob: 4564e4d69c2e563d3c519434f01c4fb203781242 [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0 */
* Shared Memory Communications over RDMA (SMC-R) and RoCE
* PNET table queries
* Copyright IBM Corp. 2016
* Author(s): Thomas Richter <>
#ifndef _SMC_PNET_H
#define _SMC_PNET_H
#include <asm/pnet.h>
struct smc_ib_device;
struct smcd_dev;
struct smc_init_info;
* struct smc_pnettable - SMC PNET table anchor
* @lock: Lock for list action
* @pnetlist: List of PNETIDs
struct smc_pnettable {
rwlock_t lock;
struct list_head pnetlist;
static inline int smc_pnetid_by_dev_port(struct device *dev,
unsigned short port, u8 *pnetid)
return pnet_id_by_dev_port(dev, port, pnetid);
return -ENOENT;
int smc_pnet_init(void) __init;
int smc_pnet_net_init(struct net *net);
void smc_pnet_exit(void);
void smc_pnet_net_exit(struct net *net);
void smc_pnet_find_roce_resource(struct sock *sk, struct smc_init_info *ini);
void smc_pnet_find_ism_resource(struct sock *sk, struct smc_init_info *ini);