diff options
author | Karsten Graul <kgraul@linux.ibm.com> | 2018-07-25 16:35:32 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-07-26 07:25:53 +0200 |
commit | 603cc1498455cf57f5ca4483b600efb37ea2c56c (patch) | |
tree | ba933ac7ee9002bc65e53e6bfc868c363c63676a /net/smc/smc_clc.c | |
parent | net/smc: use correct vlan gid of RoCE device (diff) | |
download | linux-603cc1498455cf57f5ca4483b600efb37ea2c56c.tar.xz linux-603cc1498455cf57f5ca4483b600efb37ea2c56c.zip |
net/smc: provide fallback reason code
Remember the fallback reason code and the peer diagnosis code for
smc sockets, and provide them in smc_diag.c to the netlink interface.
And add more detailed reason codes.
Signed-off-by: Karsten Graul <kgraul@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_clc.c')
-rw-r--r-- | net/smc/smc_clc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/net/smc/smc_clc.c b/net/smc/smc_clc.c index 78d74938a9d9..83aba9ade060 100644 --- a/net/smc/smc_clc.c +++ b/net/smc/smc_clc.c @@ -334,7 +334,11 @@ int smc_clc_wait_msg(struct smc_sock *smc, void *buf, int buflen, goto out; } if (clcm->type == SMC_CLC_DECLINE) { - reason_code = SMC_CLC_DECL_REPLY; + struct smc_clc_msg_decline *dclc; + + dclc = (struct smc_clc_msg_decline *)clcm; + reason_code = SMC_CLC_DECL_PEERDECL; + smc->peer_diagnosis = ntohl(dclc->peer_diagnosis); if (((struct smc_clc_msg_decline *)buf)->hdr.flag) { smc->conn.lgr->sync_err = 1; smc_lgr_terminate(smc->conn.lgr); |