aboutsummaryrefslogtreecommitdiffstats
path: root/include/scsi/fc/fc_ns.h
diff options
context:
space:
mode:
authorJoe Eykholt <jeykholt@cisco.com>2009-11-03 14:49:27 -0500
committerJames Bottomley <James.Bottomley@suse.de>2009-12-04 13:01:20 -0500
commitab593b187391bdd03ccad2968972a2e118a88cd4 (patch)
treef1fb209ae42b19c6e9065ae8db37776c1bb39558 /include/scsi/fc/fc_ns.h
parent78112e5558064cb4d2e355aed87b2036fcdfe3dd (diff)
[SCSI] libfc: register FC4 features with the FC switch
Customers and certification tests have pointed out that we don't show up on the switch management software as an initiator. On some MDS switches 'show fcns database' command shows libfc initiators as 'fcp' not 'fcp:init' like other initiators. On others switches, I think the switch gets the features by doing a PRLI, but it may be only certain models or under certain configurations. Fix this by registering our FC4 features with the RFF_ID CT request after local port login and after the RFT_ID. Signed-off-by: Joe Eykholt <jeykholt@cisco.com> Signed-off-by: Robert Love <robert.w.love@intel.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'include/scsi/fc/fc_ns.h')
-rw-r--r--include/scsi/fc/fc_ns.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/scsi/fc/fc_ns.h b/include/scsi/fc/fc_ns.h
index f4d354eb26b9..e7d3ac497d7d 100644
--- a/include/scsi/fc/fc_ns.h
+++ b/include/scsi/fc/fc_ns.h
@@ -46,10 +46,11 @@ enum fc_ns_req {
46 FC_NS_GID_FT = 0x0171, /* get IDs by FC4 type */ 46 FC_NS_GID_FT = 0x0171, /* get IDs by FC4 type */
47 FC_NS_GPN_FT = 0x0172, /* get port names by FC4 type */ 47 FC_NS_GPN_FT = 0x0172, /* get port names by FC4 type */
48 FC_NS_GID_PT = 0x01a1, /* get IDs by port type */ 48 FC_NS_GID_PT = 0x01a1, /* get IDs by port type */
49 FC_NS_RFT_ID = 0x0217, /* reg FC4 type for ID */
50 FC_NS_RPN_ID = 0x0212, /* reg port name for ID */ 49 FC_NS_RPN_ID = 0x0212, /* reg port name for ID */
51 FC_NS_RNN_ID = 0x0213, /* reg node name for ID */ 50 FC_NS_RNN_ID = 0x0213, /* reg node name for ID */
51 FC_NS_RFT_ID = 0x0217, /* reg FC4 type for ID */
52 FC_NS_RSPN_ID = 0x0218, /* reg symbolic port name */ 52 FC_NS_RSPN_ID = 0x0218, /* reg symbolic port name */
53 FC_NS_RFF_ID = 0x021f, /* reg FC4 Features for ID */
53 FC_NS_RSNN_NN = 0x0239, /* reg symbolic node name */ 54 FC_NS_RSNN_NN = 0x0239, /* reg symbolic node name */
54}; 55};
55 56
@@ -178,4 +179,14 @@ struct fc_ns_rspn {
178 char fr_name[]; 179 char fr_name[];
179} __attribute__((__packed__)); 180} __attribute__((__packed__));
180 181
182/*
183 * RFF_ID request - register FC-4 Features for ID.
184 */
185struct fc_ns_rff_id {
186 struct fc_ns_fid fr_fid; /* port ID object */
187 __u8 fr_resvd[2];
188 __u8 fr_feat; /* FC-4 Feature bits */
189 __u8 fr_type; /* FC-4 type */
190} __attribute__((__packed__));
191
181#endif /* _FC_NS_H_ */ 192#endif /* _FC_NS_H_ */