diff options
Diffstat (limited to 'include/scsi/fc_encode.h')
-rw-r--r-- | include/scsi/fc_encode.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/include/scsi/fc_encode.h b/include/scsi/fc_encode.h index ab2260cb149c..8eb0a0fc0a71 100644 --- a/include/scsi/fc_encode.h +++ b/include/scsi/fc_encode.h | |||
@@ -32,6 +32,7 @@ struct fc_ct_req { | |||
32 | struct fc_ns_gid_ft gid; | 32 | struct fc_ns_gid_ft gid; |
33 | struct fc_ns_rn_id rn; | 33 | struct fc_ns_rn_id rn; |
34 | struct fc_ns_rft rft; | 34 | struct fc_ns_rft rft; |
35 | struct fc_ns_rff_id rff; | ||
35 | struct fc_ns_fid fid; | 36 | struct fc_ns_fid fid; |
36 | struct fc_ns_rsnn snn; | 37 | struct fc_ns_rsnn snn; |
37 | struct fc_ns_rspn spn; | 38 | struct fc_ns_rspn spn; |
@@ -131,6 +132,17 @@ static inline int fc_ct_fill(struct fc_lport *lport, | |||
131 | ct->payload.rft.fts = lport->fcts; | 132 | ct->payload.rft.fts = lport->fcts; |
132 | break; | 133 | break; |
133 | 134 | ||
135 | case FC_NS_RFF_ID: | ||
136 | ct = fc_ct_hdr_fill(fp, op, sizeof(struct fc_ns_rff_id)); | ||
137 | hton24(ct->payload.rff.fr_fid.fp_fid, | ||
138 | fc_host_port_id(lport->host)); | ||
139 | ct->payload.rff.fr_type = FC_TYPE_FCP; | ||
140 | if (lport->service_params & FCP_SPPF_INIT_FCN) | ||
141 | ct->payload.rff.fr_feat = FCP_FEAT_INIT; | ||
142 | if (lport->service_params & FCP_SPPF_TARG_FCN) | ||
143 | ct->payload.rff.fr_feat |= FCP_FEAT_TARG; | ||
144 | break; | ||
145 | |||
134 | case FC_NS_RNN_ID: | 146 | case FC_NS_RNN_ID: |
135 | ct = fc_ct_hdr_fill(fp, op, sizeof(struct fc_ns_rn_id)); | 147 | ct = fc_ct_hdr_fill(fp, op, sizeof(struct fc_ns_rn_id)); |
136 | hton24(ct->payload.rn.fr_fid.fp_fid, | 148 | hton24(ct->payload.rn.fr_fid.fp_fid, |