diff options
author | Chris Leech <christopher.leech@intel.com> | 2009-11-03 14:46:51 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2009-12-04 13:01:01 -0500 |
commit | c9c7bd7a5e7321aa96289c9b48fdbcc828c105e6 (patch) | |
tree | e20db89880f4579abf8bd6da66ce2a2a80d0ea94 /include/scsi | |
parent | 28cc0e31d874af05244da421e05565f2ba72fd5c (diff) |
[SCSI] libfc: RNN_ID may be required before RSNN_NN with some switches
One could interpret FC-GS-5 to say that an explicit RNN_ID is required
before RSNN_NN is allowed to succeed, which is why RNN_ID was not obsoleted
along with RPN_ID acording to this document:
ftp://ftp.t11.org/t11/member/fc/gs-5/05-546v2.pdf
Signed-off-by: Chris Leech <christopher.leech@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'include/scsi')
-rw-r--r-- | include/scsi/fc_encode.h | 4 | ||||
-rw-r--r-- | include/scsi/libfc.h | 1 |
2 files changed, 3 insertions, 2 deletions
diff --git a/include/scsi/fc_encode.h b/include/scsi/fc_encode.h index c93ca3ece1a0..ad13cb1c3eec 100644 --- a/include/scsi/fc_encode.h +++ b/include/scsi/fc_encode.h | |||
@@ -128,12 +128,12 @@ static inline int fc_ct_fill(struct fc_lport *lport, | |||
128 | ct->payload.rft.fts = lport->fcts; | 128 | ct->payload.rft.fts = lport->fcts; |
129 | break; | 129 | break; |
130 | 130 | ||
131 | case FC_NS_RPN_ID: | 131 | case FC_NS_RNN_ID: |
132 | ct = fc_ct_hdr_fill(fp, op, sizeof(struct fc_ns_rn_id)); | 132 | ct = fc_ct_hdr_fill(fp, op, sizeof(struct fc_ns_rn_id)); |
133 | hton24(ct->payload.rn.fr_fid.fp_fid, | 133 | hton24(ct->payload.rn.fr_fid.fp_fid, |
134 | fc_host_port_id(lport->host)); | 134 | fc_host_port_id(lport->host)); |
135 | ct->payload.rft.fts = lport->fcts; | 135 | ct->payload.rft.fts = lport->fcts; |
136 | put_unaligned_be64(lport->wwpn, &ct->payload.rn.fr_wwn); | 136 | put_unaligned_be64(lport->wwnn, &ct->payload.rn.fr_wwn); |
137 | break; | 137 | break; |
138 | 138 | ||
139 | default: | 139 | default: |
diff --git a/include/scsi/libfc.h b/include/scsi/libfc.h index 75be713ea036..3d22dfd67209 100644 --- a/include/scsi/libfc.h +++ b/include/scsi/libfc.h | |||
@@ -61,6 +61,7 @@ enum fc_lport_state { | |||
61 | LPORT_ST_DISABLED = 0, | 61 | LPORT_ST_DISABLED = 0, |
62 | LPORT_ST_FLOGI, | 62 | LPORT_ST_FLOGI, |
63 | LPORT_ST_DNS, | 63 | LPORT_ST_DNS, |
64 | LPORT_ST_RNN_ID, | ||
64 | LPORT_ST_RFT_ID, | 65 | LPORT_ST_RFT_ID, |
65 | LPORT_ST_SCR, | 66 | LPORT_ST_SCR, |
66 | LPORT_ST_READY, | 67 | LPORT_ST_READY, |