[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 <[email protected]>
Signed-off-by: Robert Love <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
This commit is contained in:
Chris Leech 2009-11-03 11:46:51 -08:00 • committed by James Bottomley
commit c9c7bd7a5e
3 changed files with 93 additions and 3 deletions

View file

@ -128,12 +128,12 @@ static inline int fc_ct_fill(struct fc_lport *lport,
ct->payload.rft.fts = lport->fcts;
break;
case FC_NS_RPN_ID:
case FC_NS_RNN_ID:
ct = fc_ct_hdr_fill(fp, op, sizeof(struct fc_ns_rn_id));
hton24(ct->payload.rn.fr_fid.fp_fid,
fc_host_port_id(lport->host));
ct->payload.rft.fts = lport->fcts;
put_unaligned_be64(lport->wwpn, &ct->payload.rn.fr_wwn);
put_unaligned_be64(lport->wwnn, &ct->payload.rn.fr_wwn);
break;
default:

View file

@ -61,6 +61,7 @@ enum fc_lport_state {
LPORT_ST_DISABLED = 0,
LPORT_ST_FLOGI,
LPORT_ST_DNS,
LPORT_ST_RNN_ID,
LPORT_ST_RFT_ID,
LPORT_ST_SCR,
LPORT_ST_READY,