diff options
author | Ursula Braun <ubraun@linux.ibm.com> | 2018-06-28 19:05:05 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-06-30 20:42:25 +0900 |
commit | 0afff91c6f5ecef27715ea71e34dc2baacba1060 (patch) | |
tree | d90ff2e8ba3cb962dd7ea451fdf7fe2a652ad516 /net/smc/smc_ib.c | |
parent | be6a3f38ff2a2bfd2e591fdc566940a0d4d9428c (diff) |
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.c')
-rw-r--r-- | net/smc/smc_ib.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/smc/smc_ib.c b/net/smc/smc_ib.c index f8b159ced032..36de2fd76170 100644 --- a/net/smc/smc_ib.c +++ b/net/smc/smc_ib.c @@ -504,8 +504,12 @@ static void smc_ib_add_dev(struct ib_device *ibdev) port_cnt = smcibdev->ibdev->phys_port_cnt; for (i = 0; i < min_t(size_t, port_cnt, SMC_MAX_PORTS); - i++) + i++) { set_bit(i, &smcibdev->port_event_mask); + /* determine pnetids of the port */ + smc_pnetid_by_dev_port(ibdev->dev.parent, i, + smcibdev->pnetid[i]); + } schedule_work(&smcibdev->port_event_work); } |