aboutsummaryrefslogtreecommitdiff
path: root/sys/dev/isp/isp_stds.h
diff options
context:
space:
mode:
authorMatt Jacob <mjacob@FreeBSD.org>2006-11-14 08:45:48 +0000
committerMatt Jacob <mjacob@FreeBSD.org>2006-11-14 08:45:48 +0000
commitf7c631bcf0297e0517d7867f754228c34d5d7d59 (patch)
tree0dc9331f44aaf2008f03701417bb906d67a662ce /sys/dev/isp/isp_stds.h
parente8554106969321f65925c082f6d0f1240422c4be (diff)
downloadsrc-f7c631bcf0297e0517d7867f754228c34d5d7d59.tar.gz
src-f7c631bcf0297e0517d7867f754228c34d5d7d59.zip
Push things closer to path failover by implementing loop down and
gone device timers and zombie state entries. There are tunables that can be used to select a number of parameters. loop_down_limit - how long to wait for loop to come back up before declaring all devices dead (default 300 seconds) gone_device_time- how long to wait for a device that has appeared to leave the loop or fabric to reappear (default 30 seconds) Internal tunables include (which should be externalized): quick_boot_time- how long to wait when booting for loop to come up change_is_bad- whether or not to accept devices with the same WWNN/WWPN that reappear at a different PortID as being the 'same' device. Keen students of some of the subtle issues here will ask how one can keep devices from being re-accepted at all (the answer is to set a gone_device_time to zero- that effectively would be the same thing).
Notes
Notes: svn path=/head/; revision=164272
Diffstat (limited to 'sys/dev/isp/isp_stds.h')
-rw-r--r--sys/dev/isp/isp_stds.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/sys/dev/isp/isp_stds.h b/sys/dev/isp/isp_stds.h
index a25f7745a549..bfacd14decd4 100644
--- a/sys/dev/isp/isp_stds.h
+++ b/sys/dev/isp/isp_stds.h
@@ -129,7 +129,7 @@ typedef struct {
/*
* RFT_ID Requet CT_IU
*
- * Source: INCITS xxx-200x Generic Services- 5 Rev 8.5 Section 5.2.5.30
+ * Source: NCITS xxx-200x Generic Services- 5 Rev 8.5 Section 5.2.5.30
*/
typedef struct {
ct_hdr_t rftid_hdr;
@@ -138,6 +138,19 @@ typedef struct {
uint32_t rftid_fc4types[8];
} rft_id_t;
+/*
+ * FCP Response Code Definitions
+ * Source: NCITS T10, Project 1144D, Revision 07a (aka FCP2r07a)
+ */
+#define FCP_RSPNS_CODE_OFFSET 3
+
+#define FCP_RSPNS_TMF_DONE 0
+#define FCP_RSPNS_DLBRSTX 1
+#define FCP_RSPNS_BADCMND 2
+#define FCP_RSPNS_EROFS 3
+#define FCP_RSPNS_TMF_REJECT 4
+#define FCP_RSPNS_TMF_FAILED 5
+
/* unconverted miscellany */
/*