aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/bfa/bfa_fcbuild.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/scsi/bfa/bfa_fcbuild.c')
-rw-r--r--drivers/scsi/bfa/bfa_fcbuild.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/scsi/bfa/bfa_fcbuild.c b/drivers/scsi/bfa/bfa_fcbuild.c
index 17b59b8b5644..273cee90b3b4 100644
--- a/drivers/scsi/bfa/bfa_fcbuild.c
+++ b/drivers/scsi/bfa/bfa_fcbuild.c
@@ -1252,6 +1252,27 @@ fc_rspnid_build(struct fchs_s *fchs, void *pyld, u32 s_id, u16 ox_id,
1252} 1252}
1253 1253
1254u16 1254u16
1255fc_rsnn_nn_build(struct fchs_s *fchs, void *pyld, u32 s_id,
1256 wwn_t node_name, u8 *name)
1257{
1258 struct ct_hdr_s *cthdr = (struct ct_hdr_s *) pyld;
1259 struct fcgs_rsnn_nn_req_s *rsnn_nn =
1260 (struct fcgs_rsnn_nn_req_s *) (cthdr + 1);
1261 u32 d_id = bfa_hton3b(FC_NAME_SERVER);
1262
1263 fc_gs_fchdr_build(fchs, d_id, s_id, 0);
1264 fc_gs_cthdr_build(cthdr, s_id, GS_RSNN_NN);
1265
1266 memset(rsnn_nn, 0, sizeof(struct fcgs_rsnn_nn_req_s));
1267
1268 rsnn_nn->node_name = node_name;
1269 rsnn_nn->snn_len = (u8) strlen((char *)name);
1270 strncpy((char *)rsnn_nn->snn, (char *)name, rsnn_nn->snn_len);
1271
1272 return sizeof(struct fcgs_rsnn_nn_req_s) + sizeof(struct ct_hdr_s);
1273}
1274
1275u16
1255fc_gid_ft_build(struct fchs_s *fchs, void *pyld, u32 s_id, u8 fc4_type) 1276fc_gid_ft_build(struct fchs_s *fchs, void *pyld, u32 s_id, u8 fc4_type)
1256{ 1277{
1257 1278