summaryrefslogtreecommitdiffstats
path: root/sys/cam/ctl/ctl_io.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/cam/ctl/ctl_io.h')
-rw-r--r--sys/cam/ctl/ctl_io.h24
1 files changed, 21 insertions, 3 deletions
diff --git a/sys/cam/ctl/ctl_io.h b/sys/cam/ctl/ctl_io.h
index 805a4ce..a9ed1d0 100644
--- a/sys/cam/ctl/ctl_io.h
+++ b/sys/cam/ctl/ctl_io.h
@@ -197,6 +197,7 @@ typedef enum {
CTL_MSG_PORT_SYNC, /* Information about port. */
CTL_MSG_LUN_SYNC, /* Information about LUN. */
CTL_MSG_IID_SYNC, /* Information about initiator. */
+ CTL_MSG_LOGIN, /* Information about HA peer. */
CTL_MSG_FAILOVER /* Fake, never sent though the wire */
} ctl_msg_type;
@@ -358,6 +359,25 @@ struct ctl_taskio {
uint8_t task_resp[3];/* Response information */
};
+
+/*
+ * HA link messages.
+ */
+#define CTL_HA_VERSION 1
+
+/*
+ * Used for CTL_MSG_LOGIN.
+ */
+struct ctl_ha_msg_login {
+ ctl_msg_type msg_type;
+ int version;
+ int ha_mode;
+ int ha_id;
+ int max_luns;
+ int max_ports;
+ int max_init_per_port;
+};
+
typedef enum {
CTL_PR_REG_KEY,
CTL_PR_UNREG_KEY,
@@ -523,16 +543,14 @@ union ctl_ha_msg {
struct ctl_ha_msg_port port;
struct ctl_ha_msg_lun lun;
struct ctl_ha_msg_iid iid;
+ struct ctl_ha_msg_login login;
};
-
struct ctl_prio {
struct ctl_io_hdr io_hdr;
struct ctl_ha_msg_pr pr_msg;
};
-
-
union ctl_io {
struct ctl_io_hdr io_hdr; /* common to all I/O types */
struct ctl_scsiio scsiio; /* Normal SCSI commands */
OpenPOWER on IntegriCloud