diff options
author | Hans Wippel <hwippel@linux.ibm.com> | 2019-02-21 13:01:02 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-02-21 10:34:37 -0800 |
commit | 64e28b52c7a6616217bee67ba2ad886f478f9737 (patch) | |
tree | dcba912220e58ca0ed6adf015b9eb7f2c7863b90 /net/smc/smc_pnet.h | |
parent | f3d74b2245a0e8b994f53df1d7982d367fc63dfe (diff) | |
download | linux-stable-64e28b52c7a6616217bee67ba2ad886f478f9737.tar.gz linux-stable-64e28b52c7a6616217bee67ba2ad886f478f9737.tar.bz2 linux-stable-64e28b52c7a6616217bee67ba2ad886f478f9737.zip |
net/smc: add pnet table namespace support
This patch adds namespace support to the pnet table code. Each network
namespace gets its own pnet table. Infiniband and smcd device pnetids
can only be modified in the initial namespace. In other namespaces they
can still be used as if they were set by the underlying hardware.
Signed-off-by: Hans Wippel <hwippel@linux.ibm.com>
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/smc/smc_pnet.h')
-rw-r--r-- | net/smc/smc_pnet.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/net/smc/smc_pnet.h b/net/smc/smc_pnet.h index 37044e4ee50f..5eac42fb45d0 100644 --- a/net/smc/smc_pnet.h +++ b/net/smc/smc_pnet.h @@ -19,6 +19,16 @@ struct smc_ib_device; struct smcd_dev; +/** + * 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) { @@ -30,7 +40,9 @@ static inline int smc_pnetid_by_dev_port(struct device *dev, } 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_ib_device **smcibdev, u8 *ibport, unsigned short vlan_id, u8 gid[]); |