diff options
Diffstat (limited to 'include/scsi/fc_encode.h')
| -rw-r--r-- | include/scsi/fc_encode.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/scsi/fc_encode.h b/include/scsi/fc_encode.h index 89981afba72d..9afcbb94ec30 100644 --- a/include/scsi/fc_encode.h +++ b/include/scsi/fc_encode.h | |||
| @@ -34,6 +34,7 @@ struct fc_ct_req { | |||
| 34 | struct fc_ns_rft rft; | 34 | struct fc_ns_rft rft; |
| 35 | struct fc_ns_fid fid; | 35 | struct fc_ns_fid fid; |
| 36 | struct fc_ns_rsnn snn; | 36 | struct fc_ns_rsnn snn; |
| 37 | struct fc_ns_rspn spn; | ||
| 37 | } payload; | 38 | } payload; |
| 38 | }; | 39 | }; |
| 39 | 40 | ||
| @@ -137,6 +138,16 @@ static inline int fc_ct_fill(struct fc_lport *lport, | |||
| 137 | put_unaligned_be64(lport->wwnn, &ct->payload.rn.fr_wwn); | 138 | put_unaligned_be64(lport->wwnn, &ct->payload.rn.fr_wwn); |
| 138 | break; | 139 | break; |
| 139 | 140 | ||
| 141 | case FC_NS_RSPN_ID: | ||
| 142 | ct = fc_ct_hdr_fill(fp, op, sizeof(struct fc_ns_rspn)); | ||
| 143 | hton24(ct->payload.spn.fr_fid.fp_fid, | ||
| 144 | fc_host_port_id(lport->host)); | ||
| 145 | strncpy(ct->payload.spn.fr_name, | ||
| 146 | fc_host_symbolic_name(lport->host), 255); | ||
| 147 | ct->payload.spn.fr_name_len = | ||
| 148 | strnlen(ct->payload.spn.fr_name, 255); | ||
| 149 | break; | ||
| 150 | |||
| 140 | case FC_NS_RSNN_NN: | 151 | case FC_NS_RSNN_NN: |
| 141 | ct = fc_ct_hdr_fill(fp, op, sizeof(struct fc_ns_rsnn)); | 152 | ct = fc_ct_hdr_fill(fp, op, sizeof(struct fc_ns_rsnn)); |
| 142 | put_unaligned_be64(lport->wwnn, &ct->payload.snn.fr_wwn); | 153 | put_unaligned_be64(lport->wwnn, &ct->payload.snn.fr_wwn); |
