summaryrefslogtreecommitdiffstats
path: root/net/smc/smc_ib.h
diff options
context:
space:
mode:
authorUrsula Braun <ubraun@linux.ibm.com>2018-06-28 19:05:05 +0200
committerDavid S. Miller <davem@davemloft.net>2018-06-30 20:42:25 +0900
commit0afff91c6f5ecef27715ea71e34dc2baacba1060 (patch)
treed90ff2e8ba3cb962dd7ea451fdf7fe2a652ad516 /net/smc/smc_ib.h
parentbe6a3f38ff2a2bfd2e591fdc566940a0d4d9428c (diff)
downloadlinux-0afff91c6f5ecef27715ea71e34dc2baacba1060.tar.gz
linux-0afff91c6f5ecef27715ea71e34dc2baacba1060.tar.bz2
linux-0afff91c6f5ecef27715ea71e34dc2baacba1060.zip
net/smc: add pnetid support
s390 hardware supports the definition of a so-call Physical NETwork IDentifier (short PNETID) per network device port. These PNETIDS can be used to identify network devices that are attached to the same physical network (broadcast domain). On s390 try to use the PNETID of the ethernet device port used for initial connecting, and derive the IB device port used for SMC RDMA traffic. On platforms without PNETID support fall back to the existing solution of a configured pnet table. Signed-off-by: Ursula Braun <ubraun@linux.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/smc/smc_ib.h')
-rw-r--r--net/smc/smc_ib.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/smc/smc_ib.h b/net/smc/smc_ib.h
index 2c480b352928..7c1223c91229 100644
--- a/net/smc/smc_ib.h
+++ b/net/smc/smc_ib.h
@@ -15,6 +15,7 @@
#include <linux/interrupt.h>
#include <linux/if_ether.h>
#include <rdma/ib_verbs.h>
+#include <net/smc.h>
#define SMC_MAX_PORTS 2 /* Max # of ports */
#define SMC_GID_SIZE sizeof(union ib_gid)
@@ -40,6 +41,8 @@ struct smc_ib_device { /* ib-device infos for smc */
char mac[SMC_MAX_PORTS][ETH_ALEN];
/* mac address per port*/
union ib_gid gid[SMC_MAX_PORTS]; /* gid per port */
+ u8 pnetid[SMC_MAX_PORTS][SMC_MAX_PNETID_LEN];
+ /* pnetid per port */
u8 initialized : 1; /* ib dev CQ, evthdl done */
struct work_struct port_event_work;
unsigned long port_event_mask;