diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/iscsi_if.h | 204 |
1 files changed, 73 insertions, 131 deletions
diff --git a/include/iscsi_if.h b/include/iscsi_if.h index 20f2bc2..01d38e7 100644 --- a/include/iscsi_if.h +++ b/include/iscsi_if.h @@ -495,47 +495,64 @@ enum iscsi_param { ISCSI_PARAM_TGT_RESET_TMO, ISCSI_PARAM_TARGET_ALIAS, + + ISCSI_PARAM_CHAP_IN_IDX, + ISCSI_PARAM_CHAP_OUT_IDX, + + ISCSI_PARAM_BOOT_ROOT, + ISCSI_PARAM_BOOT_NIC, + ISCSI_PARAM_BOOT_TARGET, + + ISCSI_PARAM_AUTO_SND_TGT_DISABLE, + ISCSI_PARAM_DISCOVERY_SESS, + ISCSI_PARAM_PORTAL_TYPE, + ISCSI_PARAM_CHAP_AUTH_EN, + ISCSI_PARAM_DISCOVERY_LOGOUT_EN, + ISCSI_PARAM_BIDI_CHAP_EN, + ISCSI_PARAM_DISCOVERY_AUTH_OPTIONAL, + + ISCSI_PARAM_DEF_TIME2WAIT, + ISCSI_PARAM_DEF_TIME2RETAIN, + ISCSI_PARAM_MAX_SEGMENT_SIZE, + ISCSI_PARAM_STATSN, + ISCSI_PARAM_KEEPALIVE_TMO, + ISCSI_PARAM_LOCAL_PORT, + ISCSI_PARAM_TSID, + ISCSI_PARAM_DEF_TASKMGMT_TMO, + + ISCSI_PARAM_TCP_TIMESTAMP_STAT, + ISCSI_PARAM_TCP_WSF_DISABLE, + ISCSI_PARAM_TCP_NAGLE_DISABLE, + ISCSI_PARAM_TCP_TIMER_SCALE, + ISCSI_PARAM_TCP_TIMESTAMP_EN, + ISCSI_PARAM_TCP_XMIT_WSF, + ISCSI_PARAM_TCP_RECV_WSF, + ISCSI_PARAM_IP_FRAGMENT_DISABLE, + ISCSI_PARAM_IPV4_TOS, + ISCSI_PARAM_IPV6_TC, + ISCSI_PARAM_IPV6_FLOW_LABEL, + ISCSI_PARAM_IS_FW_ASSIGNED_IPV6, + + ISCSI_PARAM_DISCOVERY_PARENT_IDX, + ISCSI_PARAM_DISCOVERY_PARENT_TYPE, /* must always be last */ ISCSI_PARAM_MAX, }; -#define ISCSI_MAX_RECV_DLENGTH (1ULL << ISCSI_PARAM_MAX_RECV_DLENGTH) -#define ISCSI_MAX_XMIT_DLENGTH (1ULL << ISCSI_PARAM_MAX_XMIT_DLENGTH) -#define ISCSI_HDRDGST_EN (1ULL << ISCSI_PARAM_HDRDGST_EN) -#define ISCSI_DATADGST_EN (1ULL << ISCSI_PARAM_DATADGST_EN) -#define ISCSI_INITIAL_R2T_EN (1ULL << ISCSI_PARAM_INITIAL_R2T_EN) -#define ISCSI_MAX_R2T (1ULL << ISCSI_PARAM_MAX_R2T) -#define ISCSI_IMM_DATA_EN (1ULL << ISCSI_PARAM_IMM_DATA_EN) -#define ISCSI_FIRST_BURST (1ULL << ISCSI_PARAM_FIRST_BURST) -#define ISCSI_MAX_BURST (1ULL << ISCSI_PARAM_MAX_BURST) -#define ISCSI_PDU_INORDER_EN (1ULL << ISCSI_PARAM_PDU_INORDER_EN) -#define ISCSI_DATASEQ_INORDER_EN (1ULL << ISCSI_PARAM_DATASEQ_INORDER_EN) -#define ISCSI_ERL (1ULL << ISCSI_PARAM_ERL) -#define ISCSI_IFMARKER_EN (1ULL << ISCSI_PARAM_IFMARKER_EN) -#define ISCSI_OFMARKER_EN (1ULL << ISCSI_PARAM_OFMARKER_EN) -#define ISCSI_EXP_STATSN (1ULL << ISCSI_PARAM_EXP_STATSN) -#define ISCSI_TARGET_NAME (1ULL << ISCSI_PARAM_TARGET_NAME) -#define ISCSI_TPGT (1ULL << ISCSI_PARAM_TPGT) -#define ISCSI_PERSISTENT_ADDRESS (1ULL << ISCSI_PARAM_PERSISTENT_ADDRESS) -#define ISCSI_PERSISTENT_PORT (1ULL << ISCSI_PARAM_PERSISTENT_PORT) -#define ISCSI_SESS_RECOVERY_TMO (1ULL << ISCSI_PARAM_SESS_RECOVERY_TMO) -#define ISCSI_CONN_PORT (1ULL << ISCSI_PARAM_CONN_PORT) -#define ISCSI_CONN_ADDRESS (1ULL << ISCSI_PARAM_CONN_ADDRESS) -#define ISCSI_USERNAME (1ULL << ISCSI_PARAM_USERNAME) -#define ISCSI_USERNAME_IN (1ULL << ISCSI_PARAM_USERNAME_IN) -#define ISCSI_PASSWORD (1ULL << ISCSI_PARAM_PASSWORD) -#define ISCSI_PASSWORD_IN (1ULL << ISCSI_PARAM_PASSWORD_IN) -#define ISCSI_FAST_ABORT (1ULL << ISCSI_PARAM_FAST_ABORT) -#define ISCSI_ABORT_TMO (1ULL << ISCSI_PARAM_ABORT_TMO) -#define ISCSI_LU_RESET_TMO (1ULL << ISCSI_PARAM_LU_RESET_TMO) -#define ISCSI_HOST_RESET_TMO (1ULL << ISCSI_PARAM_HOST_RESET_TMO) -#define ISCSI_PING_TMO (1ULL << ISCSI_PARAM_PING_TMO) -#define ISCSI_RECV_TMO (1ULL << ISCSI_PARAM_RECV_TMO) -#define ISCSI_IFACE_NAME (1ULL << ISCSI_PARAM_IFACE_NAME) -#define ISCSI_ISID (1ULL << ISCSI_PARAM_ISID) -#define ISCSI_INITIATOR_NAME (1ULL << ISCSI_PARAM_INITIATOR_NAME) -#define ISCSI_TGT_RESET_TMO (1ULL << ISCSI_PARAM_TGT_RESET_TMO) -#define ISCSI_TARGET_ALIAS (1ULL << ISCSI_PARAM_TARGET_ALIAS) +/* iSCSI HBA params */ +enum iscsi_host_param { + ISCSI_HOST_PARAM_HWADDRESS, + ISCSI_HOST_PARAM_INITIATOR_NAME, + ISCSI_HOST_PARAM_NETDEV_NAME, + ISCSI_HOST_PARAM_IPADDRESS, + ISCSI_HOST_PARAM_PORT_STATE, + ISCSI_HOST_PARAM_PORT_SPEED, + ISCSI_HOST_PARAM_MAX, +}; + +/* portal type */ +#define PORTAL_TYPE_IPV4 "ipv4" +#define PORTAL_TYPE_IPV6 "ipv6" /* iSCSI Flash Target params */ enum iscsi_flashnode_param { @@ -603,106 +620,32 @@ enum iscsi_flashnode_param { ISCSI_FLASHNODE_MAX, }; -#define ISCSI_FNODE_IS_FW_ASSIGNED_IPV6 \ - (1ULL << ISCSI_FLASHNODE_IS_FW_ASSIGNED_IPV6) -#define ISCSI_FNODE_PORTAL_TYPE (1ULL << ISCSI_FLASHNODE_PORTAL_TYPE) -#define ISCSI_FNODE_AUTO_SND_TGT_DISABLE \ - (1ULL << ISCSI_FLASHNODE_OPT_AUTO_SND_TGT_DISABLE) -#define ISCSI_FNODE_DISCOVERY_SESS \ - (1ULL << ISCSI_FLASHNODE_OPT_DISCOVERY_SESS) -#define ISCSI_FNODE_ENTRY_EN (1ULL << ISCSI_FLASHNODE_ENTRY_EN) -#define ISCSI_FNODE_HDR_DGST_EN (1ULL << ISCSI_FLASHNODE_HDR_DGST_EN) -#define ISCSI_FNODE_DATA_DGST_EN (1ULL << ISCSI_FLASHNODE_DATA_DGST_EN) -#define ISCSI_FNODE_IMM_DATA_EN (1ULL << ISCSI_FLASHNODE_IMM_DATA_EN) -#define ISCSI_FNODE_INITIAL_R2T_EN (1ULL << ISCSI_FLASHNODE_INITIAL_R2T_EN) -#define ISCSI_FNODE_DATASEQ_INORDER \ - (1ULL << ISCSI_FLASHNODE_DATASEQ_INORDER) -#define ISCSI_FNODE_PDU_INORDER (1ULL << ISCSI_FLASHNODE_PDU_INORDER) -#define ISCSI_FNODE_CHAP_AUTH_EN (1ULL << ISCSI_FLASHNODE_CHAP_AUTH_EN) -#define ISCSI_FNODE_SNACK_REQ_EN (1ULL << ISCSI_FLASHNODE_SNACK_REQ_EN) -#define ISCSI_FNODE_DISCOVERY_LOGOUT_EN \ - (1ULL << ISCSI_FLASHNODE_DISCOVERY_LOGOUT_EN) -#define ISCSI_FNODE_BIDI_CHAP_EN (1ULL << ISCSI_FLASHNODE_BIDI_CHAP_EN) -#define ISCSI_FNODE_DISCOVERY_AUTH_OPTIONAL \ - (1ULL << ISCSI_FLASHNODE_DISCOVERY_AUTH_OPTIONAL) -#define ISCSI_FNODE_ERL (1ULL << ISCSI_FLASHNODE_ERL) -#define ISCSI_FNODE_TCP_TIMESTAMP_STAT \ - (1ULL << ISCSI_FLASHNODE_TCP_TIMESTAMP_STAT) -#define ISCSI_FNODE_TCP_NAGLE_DISABLE \ - (1ULL << ISCSI_FLASHNODE_TCP_NAGLE_DISABLE) -#define ISCSI_FNODE_TCP_WSF_DISABLE \ - (1ULL << ISCSI_FLASHNODE_TCP_WSF_DISABLE) -#define ISCSI_FNODE_TCP_TIMER_SCALE \ - (1ULL << ISCSI_FLASHNODE_TCP_TIMER_SCALE) -#define ISCSI_FNODE_TCP_TIMESTAMP_ENABLE \ - (1ULL << ISCSI_FLASHNODE_TCP_TIMESTAMP_ENABLE) -#define ISCSI_FNODE_IP_FRAG_DISABLE \ - (1ULL << ISCSI_FLASHNODE_IP_FRAG_DISABLE) -#define ISCSI_FNODE_MAX_RECV_DLENGTH \ - (1ULL << ISCSI_FLASHNODE_MAX_RECV_DLENGTH) -#define ISCSI_FNODE_MAX_XMIT_DLENGTH \ - (1ULL << ISCSI_FLASHNODE_MAX_XMIT_DLENGTH) -#define ISCSI_FNODE_FIRST_BURST (1ULL << ISCSI_FLASHNODE_FIRST_BURST) -#define ISCSI_FNODE_DEF_TIME2WAIT (1ULL << ISCSI_FLASHNODE_DEF_TIME2WAIT) -#define ISCSI_FNODE_DEF_TIME2RETAIN \ - (1ULL << ISCSI_FLASHNODE_DEF_TIME2RETAIN) -#define ISCSI_FNODE_MAX_R2T (1ULL << ISCSI_FLASHNODE_MAX_R2T) -#define ISCSI_FNODE_KEEPALIVE_TMO (1ULL << ISCSI_FLASHNODE_KEEPALIVE_TMO) -#define ISCSI_FNODE_ISID (1ULL << ISCSI_FLASHNODE_ISID) -#define ISCSI_FNODE_TSID (1ULL << ISCSI_FLASHNODE_TSID) -#define ISCSI_FNODE_PORT (1ULL << ISCSI_FLASHNODE_PORT) -#define ISCSI_FNODE_MAX_BURST (1ULL << ISCSI_FLASHNODE_MAX_BURST) -#define ISCSI_FNODE_DEF_TMF_TMO (1ULL << ISCSI_FLASHNODE_DEF_TMF_TMO) -#define ISCSI_FNODE_IPADDR (1ULL << ISCSI_FLASHNODE_IPADDR) -#define ISCSI_FNODE_ALIAS (1ULL << ISCSI_FLASHNODE_ALIAS) -#define ISCSI_FNODE_REDIRECT_IPADDR \ - (1ULL << ISCSI_FLASHNODE_REDIRECT_IPADDR) -#define ISCSI_FNODE_MAX_SEGMENT_SIZE \ - (1ULL << ISCSI_FLASHNODE_MAX_SEGMENT_SIZE) -#define ISCSI_FNODE_LOCAL_PORT (1ULL << ISCSI_FLASHNODE_LOCAL_PORT) -#define ISCSI_FNODE_IPV4_TOS (1ULL << ISCSI_FLASHNODE_IPV4_TOS) -#define ISCSI_FNODE_IPV6_TC (1ULL << ISCSI_FLASHNODE_IPV6_TC) -#define ISCSI_FNODE_IPV6_FLOW_LABEL \ - (1ULL << ISCSI_FLASHNODE_IPV6_FLOW_LABEL) -#define ISCSI_FNODE_NAME (1ULL << ISCSI_FLASHNODE_NAME) -#define ISCSI_FNODE_TPGT (1ULL << ISCSI_FLASHNODE_TPGT) -#define ISCSI_FNODE_LINK_LOCAL_IPV6 \ - (1ULL << ISCSI_FLASHNODE_LINK_LOCAL_IPV6) -#define ISCSI_FNODE_DISCOVERY_PARENT_IDX \ - (1ULL << ISCSI_FLASHNODE_DISCOVERY_PARENT_IDX) -#define ISCSI_FNODE_DISCOVERY_PARENT_TYPE \ - (1ULL << ISCSI_FLASHNODE_DISCOVERY_PARENT_TYPE) -#define ISCSI_FNODE_TCP_XMIT_WSF (1ULL << ISCSI_FLASHNODE_TCP_XMIT_WSF) -#define ISCSI_FNODE_TCP_RECV_WSF (1ULL << ISCSI_FLASHNODE_TCP_RECV_WSF) -#define ISCSI_FNODE_CHAP_IN_IDX (1ULL << ISCSI_FLASHNODE_CHAP_IN_IDX) -#define ISCSI_FNODE_CHAP_OUT_IDX (1ULL << ISCSI_FLASHNODE_CHAP_OUT_IDX) -#define ISCSI_FNODE_USERNAME (1ULL << ISCSI_FLASHNODE_USERNAME) -#define ISCSI_FNODE_USERNAME_IN (1ULL << ISCSI_FLASHNODE_USERNAME_IN) -#define ISCSI_FNODE_PASSWORD (1ULL << ISCSI_FLASHNODE_PASSWORD) -#define ISCSI_FNODE_PASSWORD_IN (1ULL << ISCSI_FLASHNODE_PASSWORD_IN) -#define ISCSI_FNODE_STATSN (1ULL << ISCSI_FLASHNODE_STATSN) -#define ISCSI_FNODE_EXP_STATSN (1ULL << ISCSI_FLASHNODE_EXP_STATSN) -#define ISCSI_FNODE_IS_BOOT_TGT (1ULL << ISCSI_FLASHNODE_IS_BOOT_TGT) - struct iscsi_flashnode_param_info { uint32_t len; /* Actual length of the param */ uint16_t param; /* iscsi param value */ uint8_t value[0]; /* length sized value follows */ } __attribute__((__packed__)); -/* iSCSI HBA params */ -enum iscsi_host_param { - ISCSI_HOST_PARAM_HWADDRESS, - ISCSI_HOST_PARAM_INITIATOR_NAME, - ISCSI_HOST_PARAM_NETDEV_NAME, - ISCSI_HOST_PARAM_IPADDRESS, - ISCSI_HOST_PARAM_MAX, +enum iscsi_discovery_parent_type { + ISCSI_DISC_PARENT_UNKNOWN = 0x1, + ISCSI_DISC_PARENT_SENDTGT = 0x2, + ISCSI_DISC_PARENT_ISNS = 0x3, }; -#define ISCSI_HOST_HWADDRESS (1ULL << ISCSI_HOST_PARAM_HWADDRESS) -#define ISCSI_HOST_INITIATOR_NAME (1ULL << ISCSI_HOST_PARAM_INITIATOR_NAME) -#define ISCSI_HOST_NETDEV_NAME (1ULL << ISCSI_HOST_PARAM_NETDEV_NAME) -#define ISCSI_HOST_IPADDRESS (1ULL << ISCSI_HOST_PARAM_IPADDRESS) +/* iSCSI port Speed */ +enum iscsi_port_speed { + ISCSI_PORT_SPEED_UNKNOWN = 0x1, + ISCSI_PORT_SPEED_10MBPS = 0x2, + ISCSI_PORT_SPEED_100MBPS = 0x4, + ISCSI_PORT_SPEED_1GBPS = 0x8, + ISCSI_PORT_SPEED_10GBPS = 0x10, +}; + +/* iSCSI port state */ +enum iscsi_port_state { + ISCSI_PORT_STATE_DOWN = 0x1, + ISCSI_PORT_STATE_UP = 0x2, +}; /* iSCSI PING status/error code */ enum iscsi_ping_status_code { @@ -739,7 +682,7 @@ enum iscsi_ping_status_code { #define CAP_DIGEST_OFFLOAD 0x1000 /* offload hdr and data digests */ #define CAP_PADDING_OFFLOAD 0x2000 /* offload padding insertion, removal, and verification */ -#define CAP_LOGIN_OFFLOAD 0x4000 /* offload normal session login */ +#define CAP_LOGIN_OFFLOAD 0x4000 /* offload session login */ /* * These flags describes reason of stop_conn() call @@ -807,7 +750,6 @@ enum chap_type_e { #define ISCSI_CHAP_AUTH_NAME_MAX_LEN 256 #define ISCSI_CHAP_AUTH_SECRET_MAX_LEN 256 - struct iscsi_chap_rec { uint16_t chap_tbl_idx; enum chap_type_e chap_type; |