diff options
Diffstat (limited to 'include/scsi/fc_encode.h')
| -rw-r--r-- | include/scsi/fc_encode.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/include/scsi/fc_encode.h b/include/scsi/fc_encode.h index ad13cb1c3eec..89981afba72d 100644 --- a/include/scsi/fc_encode.h +++ b/include/scsi/fc_encode.h | |||
| @@ -33,6 +33,7 @@ struct fc_ct_req { | |||
| 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_fid fid; | 35 | struct fc_ns_fid fid; |
| 36 | struct fc_ns_rsnn snn; | ||
| 36 | } payload; | 37 | } payload; |
| 37 | }; | 38 | }; |
| 38 | 39 | ||
| @@ -136,6 +137,15 @@ static inline int fc_ct_fill(struct fc_lport *lport, | |||
| 136 | put_unaligned_be64(lport->wwnn, &ct->payload.rn.fr_wwn); | 137 | put_unaligned_be64(lport->wwnn, &ct->payload.rn.fr_wwn); |
| 137 | break; | 138 | break; |
| 138 | 139 | ||
| 140 | case FC_NS_RSNN_NN: | ||
| 141 | ct = fc_ct_hdr_fill(fp, op, sizeof(struct fc_ns_rsnn)); | ||
| 142 | put_unaligned_be64(lport->wwnn, &ct->payload.snn.fr_wwn); | ||
| 143 | strncpy(ct->payload.snn.fr_name, | ||
| 144 | fc_host_symbolic_name(lport->host), 255); | ||
| 145 | ct->payload.snn.fr_name_len = | ||
| 146 | strnlen(ct->payload.snn.fr_name, 255); | ||
| 147 | break; | ||
| 148 | |||
| 139 | default: | 149 | default: |
| 140 | return -EINVAL; | 150 | return -EINVAL; |
| 141 | } | 151 | } |
