Signed-off-by: Subbu Seetharaman <subbus@serverengines.com> --- drivers/message/beclib/fw/amap/ioctl_defs.h | 101 +++ drivers/message/beclib/fw/amap/ioctl_eth.h | 72 +++ drivers/message/beclib/fw/amap/ioctl_hdr.h | 80 +++ drivers/message/beclib/fw/amap/ioctl_mcc.h | 109 ++++ drivers/message/beclib/fw/amap/ioctl_opcodes.h | 791 ++++++++++++++++++++++++ drivers/message/beclib/fw/amap/ioctl_top.h | 44 ++ drivers/message/beclib/fw/amap/ioctl_types.h | 450 ++++++++++++++ 7 files changed, 1647 insertions(+), 0 deletions(-) create mode 100644 drivers/message/beclib/fw/amap/ioctl_defs.h create mode 100644 drivers/message/beclib/fw/amap/ioctl_eth.h create mode 100644 drivers/message/beclib/fw/amap/ioctl_hdr.h create mode 100644 drivers/message/beclib/fw/amap/ioctl_mcc.h create mode 100644 drivers/message/beclib/fw/amap/ioctl_opcodes.h create mode 100644 drivers/message/beclib/fw/amap/ioctl_top.h create mode 100644 drivers/message/beclib/fw/amap/ioctl_types.h diff --git a/drivers/message/beclib/fw/amap/ioctl_defs.h b/drivers/message/beclib/fw/amap/ioctl_defs.h new file mode 100644 index 0000000..e6208ef --- /dev/null +++ b/drivers/message/beclib/fw/amap/ioctl_defs.h @@ -0,0 +1,101 @@ +/* + * Copyright (C) 2005 - 2008 ServerEngines + * All rights reserved. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or at your option any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, 5th Floor + * Boston, MA 02110-1301 USA + * + * + * The full GNU General Public License is included in this distribution + * in the file called GPL. + * + * Contact Information: + * linux-drivers@serverengines.com + * + * ServerEngines + * 209 N. Fair Oaks Ave + * Sunnyvale, CA 94085 + */ +/* + * Autogenerated by srcgen version: 0127 + */ +#ifndef __ioctl_defs_amap_h__ +#define __ioctl_defs_amap_h__ + +/* --- IOCTLDEF_DEFINED_ENUMS --- */ +#define MGMT_MAX_CONNECTIONS_PER_SESSION (1) +#define MGMT_MAX_INITIATOR_PORTALS (1) +#define MGMT_MAX_NIC_PORTS (2) +#define MGMT_MAX_ISCSI_PORTS (2) +#define MGMT_MAX_PORTALS_PER_PG (4) +#define MGMT_IPV4_ADDRESS_LEN (4) +#define MGMT_IPV4_SUBNET_MASK_LEN (4) +#define MGMT_MAX_DNS_SERVER (5) +#define MGMT_MAX_MULTICAST_TIMEOUT_ENTRIES (5) +#define MGMT_ISID_LENGTH (6) +#define MGMT_MAX_SCSI_CHANNELS (8) +#define MGMT_MAX_BOOTABLE_LUN (8) +#define MGMT_LUN_SIZE (8) +#define MGMT_IOCTL_MIN_SRB_TIMEOUT_VALUE (10) +#define MGMT_DIGEST_KEY_LEN (12) +#define MGMT_CHAP_SECRET_MIN_LEN (12) +#define MGMT_MAX_ROUTE_ENTRIES (16) +#define MGMT_CHAP_SECRET_LEN (16) +#define MGMT_IPV6_ADDRESS_LEN (16) +#define MGMT_IPV6_SUBNET_MASK_LEN (16) +#define MGMT_MAX_CDB_LEN (16) +#define MGMT_SENSE_BUFFER_LEN (18) +#define MGMT_MAX_SG_COUNT (19) +#define MGMT_SECURITY_KEY_LEN (30) +#define MGMT_ISCSI_ALIAS_LEN (32) +#define MGMT_MAX_MANUFACTURER_STRING (32) +#define MGMT_MAX_MODEL_NUMBER_STRING (32) +#define MGMT_MAX_CTLR_SERIALNO_STRING (32) +#define MGMT_MAX_FLASHROM_VERSION_STRING (32) +#define MGMT_MAX_FW_VERSION_STRING (32) +#define MGMT_MAX_IP_VERSION_STRING (32) +#define MGMT_MAX_ISCSI_VERSION_STRING (32) +#define MGMT_MAX_BIOS_VERSION_STRING (32) +#define MGMT_MAX_REDBOOT_VERSION_STRING (32) +#define MGMT_MAX_DRV_VERSION_STRING (32) +#define MGMT_MAX_INITIATOR_ALLOWED (32) +#define MGMT_MAX_TGT_IP_SUPPORTED (32) +#define MGMT_MAX_TARGETS_ALLOWED_USING_DISCOVERY (64) +#define MGMT_MAX_ARP_ENTRIES (64) +#define MGMT_DNS_NAME_LEN (64) +#define MGMT_MAX_CTLR_DESCRIPTION_STRING (64) +#define MGMT_MAX_PORTAL_GROUPS (128) +#define MGMT_ISCSI_NAME_LEN (224) +#define MGMT_ISNS_PORTAL_SYM_NAME_LEN (256) +#define MGMT_CHAP_NAME_LEN (256) +#define MGMT_SEND_TARGET_TEXTKEY (256) +#define MGMT_MAX_SCOPE_LIST_LENGTH (256) +#define MGMT_MAX_QUERY_LIST_LENGTH (256) +#define MGMT_PRESHARED_KEYSIZE (256) +#define MGMT_IPSEC_ID_SIZE (256) +#define MGMT_MAX_TARGETS_ALLOWED (512) +#define MGMT_MAX_LUNS (512) +#define MGMT_MAX_HOST_TABLE (512) +#define MGMT_MAX_ISCSI_SESSIONS_ALLOWED (512) +#define MGMT_MAX_CONNECTIONS (512) +#define MGMT_MAX_PORTALS (1024) +#define MAX_SEEPROM_SIZE (1024) +#define MGMT_MAX_IOCTL_PAYLOAD_SIZE (73728) + +#ifdef SG_PRAGMA_PACK +#pragma pack(pop) +#endif + +#endif /* __ioctl_defs_amap_h__ */ diff --git a/drivers/message/beclib/fw/amap/ioctl_eth.h b/drivers/message/beclib/fw/amap/ioctl_eth.h new file mode 100644 index 0000000..bdc717e --- /dev/null +++ b/drivers/message/beclib/fw/amap/ioctl_eth.h @@ -0,0 +1,72 @@ +/* + * Copyright (C) 2005 - 2008 ServerEngines + * All rights reserved. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or at your option any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, 5th Floor + * Boston, MA 02110-1301 USA + * + * + * The full GNU General Public License is included in this distribution + * in the file called GPL. + * + * Contact Information: + * linux-drivers@serverengines.com + * + * ServerEngines + * 209 N. Fair Oaks Ave + * Sunnyvale, CA 94085 + */ +/* + * Autogenerated by srcgen version: 0127 + */ +#ifndef __ioctl_eth_amap_h__ +#define __ioctl_eth_amap_h__ +#include "ioctl_hdr.h" +#include "ioctl_types.h" + +/* --- RXF_STATS_INTERESTING_OFFSETS --- */ +#define P0_RECVD_TOTAL_BYTES_LSD_DWORD_OFFSET (0) +#define P0_RECVD_TOTAL_BYTES_MSD_DWORD_OFFSET (1) +#define P0_XMIT_BYTES_LSD_DWORD_OFFSET (40) +#define P0_XMIT_BYTES_MSD_DWORD_OFFSET (41) +#define P1_RECVD_TOTAL_BYTES_LSD_DWORD_OFFSET (59) +#define P1_RECVD_TOTAL_BYTES_MSD_DWORD_OFFSET (60) +#define P1_XMIT_BYTES_LSD_DWORD_OFFSET (99) +#define P1_XMIT_BYTES_MSD_DWORD_OFFSET (100) +/* + * --- ENABLE_RSS_ENUM --- + * Enable RSS enum. + */ +#define RSS_ENABLE_NONE (0) /* No RSS */ +#define RSS_ENABLE_IPV4 (1) /* IPV4 HASH only (i.e. only IP */ + /* source/dest two-tuple) */ +#define RSS_ENABLE_TCP_IPV4 (2) /* TCP IPV4 HASH only + (i.e. only TCP/IP four-tuple) */ +#define RSS_ENABLE_IPV4_OR_TCP_IPV4 (3) /* IPV4 or TCP IPV4 HASH (i.e. if */ + /* + * TCP/IP, then use four-tuple, else if + * IP use two-tuple) + */ +/* + * --- RSS_FLUSH_CQ_ENUM --- + * Flush CQ enum. + */ +#define RSS_FLUSH_CQ_DEFAULT (1) /* Flush default host networking CQ */ +#define RSS_FLUSH_CQ_PROC0 (2) /* Flush RSS CQ for processor 0 */ +#define RSS_FLUSH_CQ_PROC1 (4) /* Flush RSS CQ for processor 1 */ +#define RSS_FLUSH_CQ_PROC2 (8) /* Flush RSS CQ for processor 2 */ +#define RSS_FLUSH_CQ_PROC3 (16) /* Flush RSS CQ for processor 3 */ + +#endif /* __ioctl_eth_amap_h__ */ diff --git a/drivers/message/beclib/fw/amap/ioctl_hdr.h b/drivers/message/beclib/fw/amap/ioctl_hdr.h new file mode 100644 index 0000000..7e96fd1 --- /dev/null +++ b/drivers/message/beclib/fw/amap/ioctl_hdr.h @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2005 - 2008 ServerEngines + * All rights reserved. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or at your option any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, 5th Floor + * Boston, MA 02110-1301 USA + * + * + * The full GNU General Public License is included in this distribution + * in the file called GPL. + * + * Contact Information: + * linux-drivers@serverengines.com + * + * ServerEngines + * 209 N. Fair Oaks Ave + * Sunnyvale, CA 94085 + */ +/* + * Autogenerated by srcgen version: 0127 + */ +#ifndef __ioctl_hdr_amap_h__ +#define __ioctl_hdr_amap_h__ +#include "nativedefs.h" +#include "ioctl_defs.h" +#include "ioctl_opcodes.h" + +struct BE_IOCTL_REQUEST_HEADER_AMAP { + struct BE_UEXACT8_AMAP opcode; + struct BE_UEXACT8_AMAP subsystem; + struct BE_UEXACT8_AMAP port_number; + struct BE_UEXACT8_AMAP domain; + struct BE_UEXACT32_AMAP timeout; + struct BE_UEXACT32_AMAP request_length; + BE_BIT rsvd0[32]; /* DWORD 3 */ +} SG_PACK; +struct IOCTL_REQUEST_HEADER_AMAP { + u32 dw[4]; +}; + +struct BE_IOCTL_RESPONSE_HEADER_AMAP { + struct BE_UEXACT8_AMAP opcode; + struct BE_UEXACT8_AMAP subsystem; + BE_BIT rsvd0[8]; /* DWORD 0 */ + struct BE_UEXACT8_AMAP domain; + struct BE_UEXACT8_AMAP status; + struct BE_UEXACT8_AMAP additional_status; + BE_BIT rsvd1[16]; /* DWORD 1 */ + struct BE_UEXACT32_AMAP response_length; + struct BE_UEXACT32_AMAP actual_response_length; +} SG_PACK; +struct IOCTL_RESPONSE_HEADER_AMAP { + u32 dw[4]; +}; + +/* + * The firmware/driver overwrites the input IOCTL_REQUEST_HEADER with the + * output IOCTL_RESPONSE_HEADER. + */ +union BE_IOCTL_HEADER_AMAP { + struct BE_IOCTL_REQUEST_HEADER_AMAP request; + struct BE_IOCTL_RESPONSE_HEADER_AMAP response; +} SG_PACK; +struct IOCTL_HEADER_AMAP { + u32 dw[4]; +}; + +#endif /* __ioctl_hdr_amap_h__ */ diff --git a/drivers/message/beclib/fw/amap/ioctl_mcc.h b/drivers/message/beclib/fw/amap/ioctl_mcc.h new file mode 100644 index 0000000..ccb463b --- /dev/null +++ b/drivers/message/beclib/fw/amap/ioctl_mcc.h @@ -0,0 +1,109 @@ +/* + * Copyright (C) 2005 - 2008 ServerEngines + * All rights reserved. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or at your option any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, 5th Floor + * Boston, MA 02110-1301 USA + * + * + * The full GNU General Public License is included in this distribution + * in the file called GPL. + * + * Contact Information: + * linux-drivers@serverengines.com + * + * ServerEngines + * 209 N. Fair Oaks Ave + * Sunnyvale, CA 94085 + */ +/* + * Autogenerated by srcgen version: 0127 + */ +#ifndef __ioctl_mcc_amap_h__ +#define __ioctl_mcc_amap_h__ +#include "ioctl_defs.h" +#include "ioctl_opcodes.h" + +/* + * Where applicable, a WRB, may contain a list of Scatter-gather elements. + * Each element supports a 64 bit address and a 32bit length field. + */ +struct BE_MCC_SGE_AMAP { + BE_BIT pa_lo[32]; /* DWORD 0 */ + BE_BIT pa_hi[32]; /* DWORD 1 */ + BE_BIT length[32]; /* DWORD 2 */ +} SG_PACK; +struct MCC_SGE_AMAP { + u32 dw[3]; +}; + +/* + * The design of an [link]MCC_SGE[/link] allows up to 19 elements to be + * embedded in a WRB, supporting 64KB data transfers (assuming a 4KB page size). + */ +union BE_MCC_WRB_PAYLOAD_AMAP { + struct BE_MCC_SGE_AMAP sgl[19]; + BE_BIT embedded[59][32]; /* DWORD 0 */ +} SG_PACK; +struct MCC_WRB_PAYLOAD_AMAP { + u32 dw[59]; +}; + +/* + * This is the structure of the MCC Command WRB for commands + * sent to the Management Processing Unit (MPU). See section + * for usage in embedded and non-embedded modes. + */ +struct BE_MCC_WRB_AMAP { + BE_BIT embedded; /* DWORD 0 */ + BE_BIT rsvd0[2]; /* DWORD 0 */ + BE_BIT sge_count[5]; /* DWORD 0 */ + BE_BIT rsvd1[16]; /* DWORD 0 */ + BE_BIT special[8]; /* DWORD 0 */ + BE_BIT payload_length[32]; /* DWORD 1 */ + BE_BIT tag[2][32]; /* DWORD 2 */ + BE_BIT rsvd2[32]; /* DWORD 4 */ + union BE_MCC_WRB_PAYLOAD_AMAP payload; +} SG_PACK; +struct MCC_WRB_AMAP { + u32 dw[64]; +}; + +/* This is the structure of the MCC Completion queue entry */ +struct BE_MCC_CQ_ENTRY_AMAP { + BE_BIT completion_status[16]; /* DWORD 0 */ + BE_BIT extended_status[16]; /* DWORD 0 */ + BE_BIT mcc_tag[2][32]; /* DWORD 1 */ + BE_BIT rsvd0[27]; /* DWORD 3 */ + BE_BIT consumed; /* DWORD 3 */ + BE_BIT completed; /* DWORD 3 */ + BE_BIT hpi_buffer_completion; /* DWORD 3 */ + BE_BIT async_event; /* DWORD 3 */ + BE_BIT valid; /* DWORD 3 */ +} SG_PACK; +struct MCC_CQ_ENTRY_AMAP { + u32 dw[4]; +}; + +/* Mailbox structures used by the MPU during bootstrap */ +struct BE_MCC_MAILBOX_AMAP { + struct BE_MCC_WRB_AMAP wrb; + struct BE_MCC_CQ_ENTRY_AMAP cq; +} SG_PACK; +struct MCC_MAILBOX_AMAP { + u32 dw[68]; +}; + +#endif /* __ioctl_mcc_amap_h__ */ diff --git a/drivers/message/beclib/fw/amap/ioctl_opcodes.h b/drivers/message/beclib/fw/amap/ioctl_opcodes.h new file mode 100644 index 0000000..3627f7f --- /dev/null +++ b/drivers/message/beclib/fw/amap/ioctl_opcodes.h @@ -0,0 +1,791 @@ +/* + * Copyright (C) 2005 - 2008 ServerEngines + * All rights reserved. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or at your option any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, 5th Floor + * Boston, MA 02110-1301 USA + * + * + * The full GNU General Public License is included in this distribution + * in the file called GPL. + * + * Contact Information: + * linux-drivers@serverengines.com + * + * ServerEngines + * 209 N. Fair Oaks Ave + * Sunnyvale, CA 94085 + */ +/* + * Autogenerated by srcgen version: 0127 + */ +#ifndef __ioctl_opcodes_amap_h__ +#define __ioctl_opcodes_amap_h__ + +/* + * --- IOCTL_SUBSYSTEMS --- + * The IOCTLs are grouped into the following subsystems. The subsystem + * code along with the opcode uniquely identify a particular IOCTL. + */ +#define IOCTL_SUBSYSTEM_RSVD (0) /* This subsystem is reserved. It is */ + /* never used. */ +#define IOCTL_SUBSYSTEM_COMMON (1) /* IOCTLs in this group are common to + * all subsystems. See + * COMMON_SUBSYSTEM_OPCODES for opcodes + * and Common Host Configuration IOCTLs + * for the IOCTL descriptions. + */ +#define IOCTL_SUBSYSTEM_COMMON_ISCSI (2) /* IOCTLs in this group are */ + /* + * common to Initiator and Target. See + * COMMON_ISCSI_SUBSYSTEM_OPCODES and + * Common iSCSI Initiator and Target + * IOCTLs for the IOCTL descriptions. + */ +#define IOCTL_SUBSYSTEM_ETH (3) /* This subsystem is used to + execute Ethernet commands. */ + +#define IOCTL_SUBSYSTEM_TPM (4) /* This subsystem is used + to execute TPM commands. */ +#define IOCTL_SUBSYSTEM_PXE_UNDI (5) /* This subsystem is used + * to execute PXE + * and UNDI specific commands. + */ + +#define IOCTL_SUBSYSTEM_ISCSI_INI (6) /* This subsystem is used to + execute ISCSI Initiator + specific commands. + */ +#define IOCTL_SUBSYSTEM_ISCSI_TGT (7) /* This subsystem is used + to execute iSCSI Target + specific commands.between + PTL and ARM firmware. + */ +#define IOCTL_SUBSYSTEM_MILI_PTL (8) /* This subsystem is used to + execute iSCSI Target specific + commands.between MILI + and PTL. */ +#define IOCTL_SUBSYSTEM_MILI_TMD (9) /* This subsystem is used to + execute iSCSI Target specific + commands between MILI + and TMD. */ +#define IOCTL_SUBSYSTEM_PROXY (11) /* This subsystem is used + to execute proxied commands + within the host at the + explicit request of a + non priviledged domain. + This 'subsystem' is entirely + virtual from the controller + and firmware perspective as + it is implemented in host + drivers. + */ + +/* + * --- COMMON_SUBSYSTEM_OPCODES --- + * These opcodes are common to both networking and storage PCI + * functions. They are used to reserve resources and configure + * BladeEngine. These opcodes all use the IOCTL_SUBSYSTEM_COMMON + * subsystem code. + */ +#define OPCODE_COMMON_NTWK_MAC_QUERY (1) +#define SUBSYSTEM_COMMON_NTWK_MAC_QUERY (1) +#define SUBSYSTEM_COMMON_NTWK_MAC_SET (1) +#define SUBSYSTEM_COMMON_NTWK_MULTICAST_SET (1) +#define SUBSYSTEM_COMMON_NTWK_VLAN_CONFIG (1) +#define SUBSYSTEM_COMMON_NTWK_LINK_STATUS_QUERY (1) +#define SUBSYSTEM_COMMON_READ_FLASHROM (1) +#define SUBSYSTEM_COMMON_WRITE_FLASHROM (1) +#define SUBSYSTEM_COMMON_QUERY_MAX_IOCTL_BUFFER_SIZE (1) +#define SUBSYSTEM_COMMON_ADD_PAGE_TABLES (1) +#define SUBSYSTEM_COMMON_REMOVE_PAGE_TABLES (1) +#define SUBSYSTEM_COMMON_RING_DESTROY (1) +#define SUBSYSTEM_COMMON_CQ_CREATE (1) +#define SUBSYSTEM_COMMON_EQ_CREATE (1) +#define SUBSYSTEM_COMMON_ETH_RX_CREATE (1) +#define SUBSYSTEM_COMMON_ETH_TX_CREATE (1) +#define SUBSYSTEM_COMMON_ISCSI_DEFQ_CREATE (1) +#define SUBSYSTEM_COMMON_ISCSI_WRBQ_CREATE (1) +#define SUBSYSTEM_COMMON_MCC_CREATE (1) +#define SUBSYSTEM_COMMON_JELL_CONFIG (1) +#define SUBSYSTEM_COMMON_FORCE_FAILOVER (1) +#define SUBSYSTEM_COMMON_ADD_TEMPLATE_HEADER_BUFFERS (1) +#define SUBSYSTEM_COMMON_REMOVE_TEMPLATE_HEADER_BUFFERS (1) +#define SUBSYSTEM_COMMON_POST_ZERO_BUFFER (1) +#define SUBSYSTEM_COMMON_GET_QOS (1) +#define SUBSYSTEM_COMMON_SET_QOS (1) +#define SUBSYSTEM_COMMON_TCP_GET_STATISTICS (1) +#define SUBSYSTEM_COMMON_SEEPROM_READ (1) +#define SUBSYSTEM_COMMON_TCP_STATE_QUERY (1) +#define SUBSYSTEM_COMMON_GET_CNTL_ATTRIBUTES (1) +#define SUBSYSTEM_COMMON_NOP (1) +#define SUBSYSTEM_COMMON_NTWK_RX_FILTER (1) +#define SUBSYSTEM_COMMON_GET_FW_VERSION (1) +#define SUBSYSTEM_COMMON_SET_FLOW_CONTROL (1) +#define SUBSYSTEM_COMMON_GET_FLOW_CONTROL (1) +#define SUBSYSTEM_COMMON_SET_TCP_PARAMETERS (1) +#define SUBSYSTEM_COMMON_SET_FRAME_SIZE (1) +#define SUBSYSTEM_COMMON_GET_FAT (1) +#define SUBSYSTEM_COMMON_MODIFY_EQ_DELAY (1) +#define SUBSYSTEM_COMMON_FIRMWARE_CONFIG (1) +#define SUBSYSTEM_COMMON_ENABLE_DISABLE_DOMAINS (1) +#define SUBSYSTEM_COMMON_GET_DOMAIN_CONFIG (1) +#define SUBSYSTEM_COMMON_SET_VLD_CONFIG (1) +#define SUBSYSTEM_COMMON_GET_VLD_CONFIG (1) +#define SUBSYSTEM_COMMON_GET_PORT_EQUALIZATION (1) +#define SUBSYSTEM_COMMON_SET_PORT_EQUALIZATION (1) +#define SUBSYSTEM_COMMON_RED_CONFIG (1) +#define OPCODE_COMMON_NTWK_MAC_SET (2) +#define OPCODE_COMMON_NTWK_MULTICAST_SET (3) +#define OPCODE_COMMON_NTWK_VLAN_CONFIG (4) +#define OPCODE_COMMON_NTWK_LINK_STATUS_QUERY (5) +#define OPCODE_COMMON_READ_FLASHROM (6) +#define OPCODE_COMMON_WRITE_FLASHROM (7) +#define OPCODE_COMMON_QUERY_MAX_IOCTL_BUFFER_SIZE (8) +#define OPCODE_COMMON_ADD_PAGE_TABLES (9) +#define OPCODE_COMMON_REMOVE_PAGE_TABLES (10) +#define OPCODE_COMMON_RING_DESTROY (11) +#define OPCODE_COMMON_CQ_CREATE (12) +#define OPCODE_COMMON_EQ_CREATE (13) +#define OPCODE_COMMON_ETH_RX_CREATE (14) +#define OPCODE_COMMON_ETH_TX_CREATE (15) +#define OPCODE_COMMON_NET_RESERVED0 (16) /* Reserved */ +#define OPCODE_COMMON_NET_RESERVED1 (17) /* Reserved */ +#define OPCODE_COMMON_NET_RESERVED2 (18) /* Reserved */ +#define OPCODE_COMMON_ISCSI_DEFQ_CREATE (19) +#define OPCODE_COMMON_ISCSI_WRBQ_CREATE (20) +#define OPCODE_COMMON_MCC_CREATE (21) +#define OPCODE_COMMON_JELL_CONFIG (22) +#define OPCODE_COMMON_FORCE_FAILOVER (23) +#define OPCODE_COMMON_ADD_TEMPLATE_HEADER_BUFFERS (24) +#define OPCODE_COMMON_REMOVE_TEMPLATE_HEADER_BUFFERS (25) +#define OPCODE_COMMON_POST_ZERO_BUFFER (26) +#define OPCODE_COMMON_GET_QOS (27) +#define OPCODE_COMMON_SET_QOS (28) +#define OPCODE_COMMON_TCP_GET_STATISTICS (29) +#define OPCODE_COMMON_SEEPROM_READ (30) +#define OPCODE_COMMON_TCP_STATE_QUERY (31) +#define OPCODE_COMMON_GET_CNTL_ATTRIBUTES (32) +#define OPCODE_COMMON_NOP (33) +#define OPCODE_COMMON_NTWK_RX_FILTER (34) +#define OPCODE_COMMON_GET_FW_VERSION (35) +#define OPCODE_COMMON_SET_FLOW_CONTROL (36) +#define OPCODE_COMMON_GET_FLOW_CONTROL (37) +#define OPCODE_COMMON_SET_TCP_PARAMETERS (38) +#define OPCODE_COMMON_SET_FRAME_SIZE (39) +#define OPCODE_COMMON_GET_FAT (40) +#define OPCODE_COMMON_MODIFY_EQ_DELAY (41) +#define OPCODE_COMMON_FIRMWARE_CONFIG (42) +#define OPCODE_COMMON_ENABLE_DISABLE_DOMAINS (43) +#define OPCODE_COMMON_GET_DOMAIN_CONFIG (44) +#define OPCODE_COMMON_SET_VLD_CONFIG (45) +#define OPCODE_COMMON_GET_VLD_CONFIG (46) +#define OPCODE_COMMON_GET_PORT_EQUALIZATION (47) +#define OPCODE_COMMON_SET_PORT_EQUALIZATION (48) +#define OPCODE_COMMON_RED_CONFIG (49) + +/* + * --- COMMON_ISCSI_SUBSYSTEM_OPCODES --- + * IOCTLs used to configure discovery and networking parameters in + * iSCSI Initiator and Target modes. These opcodes all use the + * IOCTL_SUBSYSTEM_COMMON_ISCSI subsystem code. + */ +#define OPCODE_COMMON_ISCSI_ERROR_RECOVERY_INVALIDATE_COMMANDS (1) +#define SUBSYSTEM_COMMON_ISCSI_ERROR_RECOVERY_INVALIDATE_COMMANDS (2) +#define OPCODE_COMMON_ISCSI_CFG_POST_SGL_PAGES (2) +#define SUBSYSTEM_COMMON_ISCSI_CFG_POST_SGL_PAGES (2) +#define SUBSYSTEM_COMMON_ISCSI_CFG_REMOVE_SGL_PAGES (2) +#define SUBSYSTEM_COMMON_ISCSI_CFG_POST_OOO_BUFFERS (2) +#define SUBSYSTEM_COMMON_ISCSI_CFG_REMOVE_OOO_BUFFERS (2) +#define SUBSYSTEM_COMMON_ISCSI_NTWK_PING (2) +#define SUBSYSTEM_COMMON_ISCSI_NTWK_GET_NIC_CONFIG (2) +#define SUBSYSTEM_COMMON_ISCSI_NTWK_GET_ARP_TABLE (2) +#define SUBSYSTEM_COMMON_ISCSI_NTWK_SET_ARP_TABLE (2) +#define SUBSYSTEM_COMMON_ISCSI_NTWK_GET_ROUTE_TABLE (2) +#define SUBSYSTEM_COMMON_ISCSI_NTWK_SET_ROUTE_TABLE (2) +#define SUBSYSTEM_COMMON_ISCSI_DISCOVERY_GET_PARAMETERS (2) +#define SUBSYSTEM_COMMON_ISCSI_DISCOVERY_SET_PARAMETERS (2) +#define SUBSYSTEM_COMMON_ISCSI_STATS_GET_NODE_ATTRIBUTES (2) +#define SUBSYSTEM_COMMON_ISCSI_STATS_GET_NIC_STATISTICS (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_DOWNLOAD_XML (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_DELETE_XML (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_GET_RX_STATS (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_GET_TX_STATS (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_ADD_CERTIFICATE (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_DEL_CERTIFICATE (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_ADD_PRIVATE_KEY (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_DEL_PRIVATE_KEY (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_ADD_PASSPHRASE (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_DEL_PASSPHRASE (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_ENABLE_DISABLE_FLASH_ENCRYPTION (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_GET_GROUP_NAMES (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_GET_SINGLE_GROUP_NAME (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_ADD_GROUP (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_DELETE_GROUP (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_GET_QMSTATS (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_GET_MMSTATS (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_GET_STATE (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_CLEAR_PSK_CACHE (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_GET_PSK (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_SET_GUID (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_SET_PSK (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_SET_TUNNEL_MODE_OUTER_ADDRESS (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_GET_SECURITY_CAPABILITIES (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_SET_GROUP_PSK (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_ADD_ROOT_CERTIFICATE (2) +#define SUBSYSTEM_COMMON_ISCSI_IPSEC_ENABLE_DISABLE (2) +#define SUBSYSTEM_COMMON_ISCSI_CLEANUP (2) +#define SUBSYSTEM_COMMON_ISCSI_ADD_8BYTE_LUN (2) +#define SUBSYSTEM_COMMON_ISCSI_SET_FRAGNUM_BITS_FOR_SGL_CRA (2) +#define SUBSYSTEM_COMMON_ISCSI_CFG_CLEAR_EVENT_LOG (2) +#define SUBSYSTEM_COMMON_ISCSI_CFG_READ_EVENT_LOG (2) +#define OPCODE_COMMON_ISCSI_CFG_REMOVE_SGL_PAGES (3) +#define OPCODE_COMMON_ISCSI_CFG_POST_OOO_BUFFERS (4) +#define OPCODE_COMMON_ISCSI_CFG_REMOVE_OOO_BUFFERS (5) +#define OPCODE_COMMON_ISCSI_NTWK_PING (6) +#define OPCODE_COMMON_ISCSI_NTWK_GET_NIC_CONFIG (7) +#define OPCODE_COMMON_ISCSI_NTWK_GET_ARP_TABLE (8) +#define OPCODE_COMMON_ISCSI_NTWK_SET_ARP_TABLE (9) +#define OPCODE_COMMON_ISCSI_NTWK_GET_ROUTE_TABLE (10) +#define OPCODE_COMMON_ISCSI_NTWK_SET_ROUTE_TABLE (11) +#define OPCODE_COMMON_ISCSI_DISCOVERY_GET_PARAMETERS (12) +#define OPCODE_COMMON_ISCSI_DISCOVERY_SET_PARAMETERS (13) +#define OPCODE_COMMON_ISCSI_STATS_GET_NODE_ATTRIBUTES (14) +#define OPCODE_COMMON_ISCSI_STATS_GET_NIC_STATISTICS (15) +#define OPCODE_COMMON_ISCSI_IPSEC_DOWNLOAD_XML (16) +#define OPCODE_COMMON_ISCSI_IPSEC_DELETE_XML (17) +#define OPCODE_COMMON_ISCSI_IPSEC_GET_RX_STATS (18) +#define OPCODE_COMMON_ISCSI_IPSEC_GET_TX_STATS (19) +#define OPCODE_COMMON_ISCSI_IPSEC_ADD_CERTIFICATE (20) +#define OPCODE_COMMON_ISCSI_IPSEC_DEL_CERTIFICATE (21) +#define OPCODE_COMMON_ISCSI_IPSEC_ADD_PRIVATE_KEY (22) +#define OPCODE_COMMON_ISCSI_IPSEC_DEL_PRIVATE_KEY (23) +#define OPCODE_COMMON_ISCSI_IPSEC_ADD_PASSPHRASE (24) +#define OPCODE_COMMON_ISCSI_IPSEC_DEL_PASSPHRASE (25) +#define OPCODE_COMMON_ISCSI_IPSEC_ENABLE_DISABLE_FLASH_ENCRYPTION (26) +#define OPCODE_COMMON_ISCSI_IPSEC_GET_GROUP_NAMES (27) +#define OPCODE_COMMON_ISCSI_IPSEC_GET_SINGLE_GROUP_NAME (28) +#define OPCODE_COMMON_ISCSI_IPSEC_ADD_GROUP (29) +#define OPCODE_COMMON_ISCSI_IPSEC_DELETE_GROUP (30) +#define OPCODE_COMMON_ISCSI_IPSEC_GET_QMSTATS (31) +#define OPCODE_COMMON_ISCSI_IPSEC_GET_MMSTATS (32) +#define OPCODE_COMMON_ISCSI_IPSEC_GET_STATE (33) +#define OPCODE_COMMON_ISCSI_IPSEC_CLEAR_PSK_CACHE (34) +#define OPCODE_COMMON_ISCSI_IPSEC_GET_PSK (35) +#define OPCODE_COMMON_ISCSI_IPSEC_SET_GUID (36) +#define OPCODE_COMMON_ISCSI_IPSEC_SET_PSK (37) +#define OPCODE_COMMON_ISCSI_IPSEC_SET_TUNNEL_MODE_OUTER_ADDRESS (38) +#define OPCODE_COMMON_ISCSI_IPSEC_GET_SECURITY_CAPABILITIES (39) +#define OPCODE_COMMON_ISCSI_IPSEC_SET_GROUP_PSK (40) +#define OPCODE_COMMON_ISCSI_IPSEC_ADD_ROOT_CERTIFICATE (41) +#define OPCODE_COMMON_ISCSI_IPSEC_ENABLE_DISABLE (42) +#define OPCODE_COMMON_ISCSI_CLEANUP (43) +#define OPCODE_COMMON_ISCSI_ADD_8BYTE_LUN (44) +#define OPCODE_COMMON_ISCSI_SET_FRAGNUM_BITS_FOR_SGL_CRA (45) +#define OPCODE_COMMON_ISCSI_CFG_CLEAR_EVENT_LOG (46) +#define OPCODE_COMMON_ISCSI_CFG_READ_EVENT_LOG (47) + +/* + * --- ISCSI_INI_SUBSYSTEM_OPCODES --- + * Opcodes applicable to the IOCTL_SUBSYSTEM_ISCSI_INI subsystem. + */ +#define OPCODE_ISCSI_INI_NTWK_GET_TCPIP_CONFIG (1) +#define OPCODE_ISCSI_INI_NTWK_SET_TCPIP_CONFIG (2) +#define OPCODE_ISCSI_INI_NTWK_GET_DHCP_STATUS (3) +#define OPCODE_ISCSI_INI_CFG_GET_CNTL_ATTRIBUTES (4) +#define OPCODE_ISCSI_INI_CFG_GET_HBA_COUNT (5) +#define SUBSYSTEM_ISCSI_INI_NTWK_GET_TCPIP_CONFIG (6) +#define SUBSYSTEM_ISCSI_INI_NTWK_SET_TCPIP_CONFIG (6) +#define SUBSYSTEM_ISCSI_INI_NTWK_GET_DHCP_STATUS (6) +#define SUBSYSTEM_ISCSI_INI_CFG_GET_CNTL_ATTRIBUTES (6) +#define SUBSYSTEM_ISCSI_INI_CFG_GET_HBA_COUNT (6) +#define OPCODE_ISCSI_INI_CFG_GET_HBA_NAME (6) +#define SUBSYSTEM_ISCSI_INI_CFG_GET_HBA_NAME (6) +#define SUBSYSTEM_ISCSI_INI_CFG_SET_HBA_NAME (6) +#define SUBSYSTEM_ISCSI_INI_CFG_SET_HBA_TIME (6) +#define SUBSYSTEM_ISCSI_INI_CFG_GET_CHAP_SECRET (6) +#define SUBSYSTEM_ISCSI_INI_CFG_SET_CHAP_SECRET (6) +#define SUBSYSTEM_ISCSI_INI_CFG_GET_HBA_STATUS (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_GET_ALL_SESSIONS (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_GET_SESSION_LIST (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_GET_A_SESSION (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_GET_ALL_CONNECTIONS (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_GET_CONFIGURATION (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_SET_CONFIGURATION (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_GET_CONFIGURATION_LIST (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_MODIFY_SESSION_LOGINKEYS (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_MODIFY_CONNECTION_LOGINKEYS (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_ADD_CONNECTION_TO_SESSION (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_CLOSE_CONNECTION (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_LOGIN_TARGET (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_LOGOUT_TARGET (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_GET_ALL_PLOGIN_TGTNAME_PORTAL (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_QUERY_A_PERSISTENT_LOGIN (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_QUERY_PERSISTENT_LOGINS (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_ADD_PERSISTENT_LOGIN (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_DELETE_PERSISTENT_LOGIN (6) +#define SUBSYSTEM_ISCSI_INI_SESSION_GET_ALL_SESSION_ID (6) +#define SUBSYSTEM_ISCSI_INI_DISCOVERY_GET_ALL_DISCOVERED_TARGET_ID (6) +#define SUBSYSTEM_ISCSI_INI_DISCOVERY_REPORT_ALL_TARGETS (6) +#define SUBSYSTEM_ISCSI_INI_DISCOVERY_REPORT_A_TARGET (6) +#define SUBSYSTEM_ISCSI_INI_DISCOVERY_SEND_TARGETS (6) +#define SUBSYSTEM_ISCSI_INI_RETRIEVE_PARSED_TARGET_INFO (6) +#define SUBSYSTEM_ISCSI_INI_DRIVER_REOPEN_A_SESSION (6) +#define SUBSYSTEM_ISCSI_INI_DRIVER_REOPEN_ALL_SESSIONS (6) +#define SUBSYSTEM_ISCSI_INI_DRIVER_REOPEN_A_CONN (6) +#define SUBSYSTEM_ISCSI_INI_DRIVER_DEL_ALL_NONPERSISTENT_SESSIONS (6) +#define SUBSYSTEM_ISCSI_INI_DRIVER_STORE_NONPERSISTENT_SESSIONS (6) +#define SUBSYSTEM_ISCSI_INI_DRIVER_LOGIN_ALL_SESSIONS (6) +#define SUBSYSTEM_ISCSI_INI_DRIVER_OFFLOAD_SESSION (6) +#define SUBSYSTEM_ISCSI_INI_DRIVER_INVALIDATE_CONNECTION (6) +#define SUBSYSTEM_ISCSI_INI_DRIVER_OFFLOAD_CONN (6) +#define SUBSYSTEM_ISCSI_INI_BTL_MAPPING_QUERY_OS_BT_INUSE (6) +#define SUBSYSTEM_ISCSI_INI_BTL_MAPPING_MAX_OS_SUPPORTED_BTL (6) +#define SUBSYSTEM_ISCSI_INI_STATS_GET_INSTANCE_STATISTICS (6) +#define SUBSYSTEM_ISCSI_INI_STATS_GET_LOGIN_STATISTICS (6) +#define SUBSYSTEM_ISCSI_INI_STATS_GET_SESSION_ATTRIBUTES (6) +#define SUBSYSTEM_ISCSI_INI_STATS_GET_A_SESSION_STATISTICS (6) +#define SUBSYSTEM_ISCSI_INI_STATS_GET_CONN_STATISTICS_PER_SESSION (6) +#define SUBSYSTEM_ISCSI_INI_STATS_GET_IPSEC_STATISTICS (6) +#define SUBSYSTEM_ISCSI_INI_BOOT_GET_BOOT_TARGET (6) +#define SUBSYSTEM_ISCSI_INI_BOOT_SET_BOOT_TARGET (6) +#define SUBSYSTEM_ISCSI_INI_BOOT_GET_BOOT_LUN (6) +#define SUBSYSTEM_ISCSI_INI_BOOT_SET_BOOT_LUN (6) +#define SUBSYSTEM_ISCSI_INI_BOOT_READ_WRITE (6) +#define SUBSYSTEM_ISCSI_INI_BOOT_GET_BIOS_CONFIGURATION (6) +#define SUBSYSTEM_ISCSI_INI_BOOT_SET_BIOS_CONFIGURATION (6) +#define SUBSYSTEM_ISCSI_INI_SCSI_PASS_THRU (6) +#define OPCODE_ISCSI_INI_CFG_SET_HBA_NAME (7) +#define OPCODE_ISCSI_INI_CFG_SET_HBA_TIME (8) +#define OPCODE_ISCSI_INI_CFG_GET_CHAP_SECRET (9) +#define OPCODE_ISCSI_INI_CFG_SET_CHAP_SECRET (10) +#define OPCODE_ISCSI_INI_CFG_GET_HBA_STATUS (11) +#define OPCODE_ISCSI_INI_SESSION_GET_ALL_SESSIONS (12) +#define OPCODE_ISCSI_INI_SESSION_GET_SESSION_LIST (13) +#define OPCODE_ISCSI_INI_SESSION_GET_A_SESSION (14) +#define OPCODE_ISCSI_INI_SESSION_GET_ALL_CONNECTIONS (15) +#define OPCODE_ISCSI_INI_SESSION_GET_CONFIGURATION (16) +#define OPCODE_ISCSI_INI_SESSION_SET_CONFIGURATION (17) +#define OPCODE_ISCSI_INI_SESSION_GET_CONFIGURATION_LIST (18) +#define OPCODE_ISCSI_INI_SESSION_MODIFY_SESSION_LOGINKEYS (19) +#define OPCODE_ISCSI_INI_SESSION_MODIFY_CONNECTION_LOGINKEYS (20) +#define OPCODE_ISCSI_INI_SESSION_ADD_CONNECTION_TO_SESSION (21) +#define OPCODE_ISCSI_INI_SESSION_CLOSE_CONNECTION (22) +#define OPCODE_ISCSI_INI_SESSION_LOGIN_TARGET (23) +#define OPCODE_ISCSI_INI_SESSION_LOGOUT_TARGET (24) +#define OPCODE_ISCSI_INI_SESSION_GET_ALL_PLOGIN_TGTNAME_PORTAL (25) +#define OPCODE_ISCSI_INI_SESSION_QUERY_A_PERSISTENT_LOGIN (26) +#define OPCODE_ISCSI_INI_SESSION_QUERY_PERSISTENT_LOGINS (27) +#define OPCODE_ISCSI_INI_SESSION_ADD_PERSISTENT_LOGIN (28) +#define OPCODE_ISCSI_INI_SESSION_DELETE_PERSISTENT_LOGIN (29) +#define OPCODE_ISCSI_INI_SESSION_GET_ALL_SESSION_ID (30) +#define OPCODE_ISCSI_INI_DISCOVERY_GET_ALL_DISCOVERED_TARGET_ID (31) +#define OPCODE_ISCSI_INI_DISCOVERY_REPORT_ALL_TARGETS (32) +#define OPCODE_ISCSI_INI_DISCOVERY_REPORT_A_TARGET (33) +#define OPCODE_ISCSI_INI_DISCOVERY_SEND_TARGETS (34) +#define OPCODE_ISCSI_INI_RETRIEVE_PARSED_TARGET_INFO (35) +#define OPCODE_ISCSI_INI_DRIVER_REOPEN_A_SESSION (36) +#define OPCODE_ISCSI_INI_DRIVER_REOPEN_ALL_SESSIONS (37) +#define OPCODE_ISCSI_INI_DRIVER_REOPEN_A_CONN (38) +#define OPCODE_ISCSI_INI_DRIVER_DEL_ALL_NONPERSISTENT_SESSIONS (39) +#define OPCODE_ISCSI_INI_DRIVER_STORE_NONPERSISTENT_SESSIONS (40) +#define OPCODE_ISCSI_INI_DRIVER_LOGIN_ALL_SESSIONS (41) +#define OPCODE_ISCSI_INI_DRIVER_OFFLOAD_SESSION (42) +#define OPCODE_ISCSI_INI_DRIVER_INVALIDATE_CONNECTION (43) +#define OPCODE_ISCSI_INI_DRIVER_OFFLOAD_CONN (44) +#define OPCODE_ISCSI_INI_BTL_MAPPING_QUERY_OS_BT_INUSE (45) +#define OPCODE_ISCSI_INI_BTL_MAPPING_MAX_OS_SUPPORTED_BTL (46) +#define OPCODE_ISCSI_INI_STATS_GET_INSTANCE_STATISTICS (47) +#define OPCODE_ISCSI_INI_STATS_GET_LOGIN_STATISTICS (48) +#define OPCODE_ISCSI_INI_STATS_GET_SESSION_ATTRIBUTES (49) +#define OPCODE_ISCSI_INI_STATS_GET_A_SESSION_STATISTICS (50) +#define OPCODE_ISCSI_INI_STATS_GET_CONN_STATISTICS_PER_SESSION (51) +#define OPCODE_ISCSI_INI_STATS_GET_IPSEC_STATISTICS (52) +#define OPCODE_ISCSI_INI_BOOT_GET_BOOT_TARGET (53) +#define OPCODE_ISCSI_INI_BOOT_SET_BOOT_TARGET (54) +#define OPCODE_ISCSI_INI_BOOT_GET_BOOT_LUN (55) +#define OPCODE_ISCSI_INI_BOOT_SET_BOOT_LUN (56) +#define OPCODE_ISCSI_INI_BOOT_READ_WRITE (57) +#define OPCODE_ISCSI_INI_BOOT_GET_BIOS_CONFIGURATION (58) +#define OPCODE_ISCSI_INI_BOOT_SET_BIOS_CONFIGURATION (59) +#define OPCODE_ISCSI_INI_SCSI_PASS_THRU (60) + + +/* + * --- ISCSI_TGT_SUBSYSTEM_OPCODES --- + * Opcodes in the IOCTL_SUBSYSTEM_ISCSI_TGT subsystem. + */ +#define OPCODE_ISCSI_TGT_START_LISTEN_SERVER (1) +#define OPCODE_ISCSI_TGT_STOP_LISTEN_SERVER (2) +#define OPCODE_ISCSI_TGT_GET_CONNECTION_INFO (3) +#define OPCODE_ISCSI_TGT_CONNECTION_REJECT (4) +#define OPCODE_ISCSI_TGT_OFFLOAD_CONNECTION (5) +#define OPCODE_ISCSI_TGT_ISNS_SEND_PACKET (6) +#define SUBSYSTEM_ISCSI_TGT_START_LISTEN_SERVER (7) +#define SUBSYSTEM_ISCSI_TGT_STOP_LISTEN_SERVER (7) +#define SUBSYSTEM_ISCSI_TGT_GET_CONNECTION_INFO (7) +#define SUBSYSTEM_ISCSI_TGT_CONNECTION_REJECT (7) +#define SUBSYSTEM_ISCSI_TGT_OFFLOAD_CONNECTION (7) +#define SUBSYSTEM_ISCSI_TGT_ISNS_SEND_PACKET (7) +#define OPCODE_ISCSI_TGT_INVALIDATE_CONNECTION (7) +#define SUBSYSTEM_ISCSI_TGT_INVALIDATE_CONNECTION (7) +#define SUBSYSTEM_ISCSI_TGT_ADD_IP_ADDR (7) +#define SUBSYSTEM_ISCSI_TGT_DELETE_IP_ADDR (7) +#define SUBSYSTEM_ISCSI_TGT_LIST_IP_ADDR (7) +#define SUBSYSTEM_ISCSI_TGT_START_ESI_LISTEN (7) +#define SUBSYSTEM_ISCSI_TGT_STOP_ESI_LISTEN (7) +#define SUBSYSTEM_ISCSI_TGT_SLP_REGISTER (7) +#define SUBSYSTEM_ISCSI_TGT_SLP_DEREGISTER (7) +#define OPCODE_ISCSI_TGT_ADD_IP_ADDR (8) +#define OPCODE_ISCSI_TGT_DELETE_IP_ADDR (9) +#define OPCODE_ISCSI_TGT_LIST_IP_ADDR (10) +#define OPCODE_ISCSI_TGT_START_ESI_LISTEN (11) +#define OPCODE_ISCSI_TGT_STOP_ESI_LISTEN (12) +#define OPCODE_ISCSI_TGT_SLP_REGISTER (13) +#define OPCODE_ISCSI_TGT_SLP_DEREGISTER (14) + + +/* + * --- MILI_PTL_SUBSYSTEM_OPCODES --- + * Opcodes in the IOCTL_SUBSYSTEM_MILI_PTL subsystem. + */ +#define OPCODE_MILI_PTL_CREATE_PORTAL (1) +#define OPCODE_MILI_PTL_DELETE_PORTAL (2) +#define OPCODE_MILI_PTL_CREATE_PORTAL_GROUP (3) +#define OPCODE_MILI_PTL_DELETE_PORTAL_GROUP (4) +#define OPCODE_MILI_PTL_ADD_PORTAL_TO_PORTAL_GROUP (5) +#define OPCODE_MILI_PTL_DELETE_PORTAL_FROM_PORTAL_GROUP (6) +#define OPCODE_MILI_PTL_ADD_TARGET (7) +#define SUBSYSTEM_MILI_PTL_CREATE_PORTAL (8) +#define SUBSYSTEM_MILI_PTL_DELETE_PORTAL (8) +#define SUBSYSTEM_MILI_PTL_CREATE_PORTAL_GROUP (8) +#define SUBSYSTEM_MILI_PTL_DELETE_PORTAL_GROUP (8) +#define SUBSYSTEM_MILI_PTL_ADD_PORTAL_TO_PORTAL_GROUP (8) +#define SUBSYSTEM_MILI_PTL_DELETE_PORTAL_FROM_PORTAL_GROUP (8) +#define SUBSYSTEM_MILI_PTL_ADD_TARGET (8) +#define OPCODE_MILI_PTL_DELETE_TARGET (8) +#define SUBSYSTEM_MILI_PTL_DELETE_TARGET (8) +#define SUBSYSTEM_MILI_PTL_ADD_PORTAL_GROUP_TO_TARGET (8) +#define SUBSYSTEM_MILI_PTL_DELETE_PORTAL_GROUP_FROM_TARGET (8) +#define SUBSYSTEM_MILI_PTL_SET_TARGET_LOGIN_PARAMS (8) +#define SUBSYSTEM_MILI_PTL_START_LISTEN_SERVER (8) +#define SUBSYSTEM_MILI_PTL_STOP_LISTEN_SERVER (8) +#define SUBSYSTEM_MILI_PTL_MIB_GET_ISCSI_INSTANCE_ATTRIBUTES (8) +#define SUBSYSTEM_MILI_PTL_MIB_GET_ISCSI_INSTANCE_SSN_ERROR_STATS (8) +#define SUBSYSTEM_MILI_PTL_MIB_GET_ISCSI_TARGET_ATTRIBUTES (8) +#define SUBSYSTEM_MILI_PTL_MIB_GET_ISCSI_TARGET_LOGIN_LOGOUT_STATS (8) +#define SUBSYSTEM_MILI_PTL_MIB_GET_ISCSI_SESSION_ATTRIBUTES_AND_STATS (8) +#define SUBSYSTEM_MILI_PTL_MIB_GET_ISCSI_CONNECTION_ATTRIBUTES_AND_STATS (8) +#define SUBSYSTEM_MILI_PTL_GET_ISCSI_SESSION_LIST (8) +#define SUBSYSTEM_MILI_PTL_KILL_SESSION (8) +#define OPCODE_MILI_PTL_ADD_PORTAL_GROUP_TO_TARGET (9) +#define OPCODE_MILI_PTL_DELETE_PORTAL_GROUP_FROM_TARGET (10) +#define OPCODE_MILI_PTL_SET_TARGET_LOGIN_PARAMS (11) +#define OPCODE_MILI_PTL_START_LISTEN_SERVER (12) +#define OPCODE_MILI_PTL_STOP_LISTEN_SERVER (13) +#define OPCODE_MILI_PTL_MIB_GET_ISCSI_INSTANCE_ATTRIBUTES (14) +#define OPCODE_MILI_PTL_MIB_GET_ISCSI_INSTANCE_SSN_ERROR_STATS (15) +#define OPCODE_MILI_PTL_MIB_GET_ISCSI_TARGET_ATTRIBUTES (16) +#define OPCODE_MILI_PTL_MIB_GET_ISCSI_TARGET_LOGIN_LOGOUT_STATS (17) +#define OPCODE_MILI_PTL_MIB_GET_ISCSI_SESSION_ATTRIBUTES_AND_STATS (18) +#define OPCODE_MILI_PTL_MIB_GET_ISCSI_CONNECTION_ATTRIBUTES_AND_STATS (19) +#define OPCODE_MILI_PTL_GET_ISCSI_SESSION_LIST (20) +#define OPCODE_MILI_PTL_KILL_SESSION (21) + +/* + * --- MILI_TMD_SUBSYSTEM_OPCODES --- + * Opcodes in the IOCTL_SUBSYSTEM_MILI_TMD subsystem. + */ +#define OPCODE_MILI_TMD_ADD_TARGET (1) +#define OPCODE_MILI_TMD_DELETE_TARGET (2) +#define OPCODE_MILI_TMD_UPDATE_TARGET_AUTH_PARAMS (3) +#define OPCODE_MILI_TMD_ADD_INITIATOR (4) +#define OPCODE_MILI_TMD_DELETE_INITIATOR (5) +#define OPCODE_MILI_TMD_UPDATE_INITIATOR_AUTH_PARAMS (6) +#define OPCODE_MILI_TMD_BIND_INITIATOR_TO_TARGET (7) +#define OPCODE_MILI_TMD_DELETE_IT_BINDING (8) +#define SUBSYSTEM_MILI_TMD_ADD_TARGET (9) +#define SUBSYSTEM_MILI_TMD_DELETE_TARGET (9) +#define SUBSYSTEM_MILI_TMD_UPDATE_TARGET_AUTH_PARAMS (9) +#define SUBSYSTEM_MILI_TMD_ADD_INITIATOR (9) +#define SUBSYSTEM_MILI_TMD_DELETE_INITIATOR (9) +#define SUBSYSTEM_MILI_TMD_UPDATE_INITIATOR_AUTH_PARAMS (9) +#define SUBSYSTEM_MILI_TMD_BIND_INITIATOR_TO_TARGET (9) +#define SUBSYSTEM_MILI_TMD_DELETE_IT_BINDING (9) +#define OPCODE_MILI_TMD_ACTIVATE_TARGET (9) +#define SUBSYSTEM_MILI_TMD_ACTIVATE_TARGET (9) +#define SUBSYSTEM_MILI_TMD_DEACTIVATE_TARGET (9) +#define SUBSYSTEM_MILI_TMD_SET_INITIATOR_QOS (9) +#define OPCODE_MILI_TMD_DEACTIVATE_TARGET (10) +#define OPCODE_MILI_TMD_SET_INITIATOR_QOS (11) + + +/* + * --- ETH_SUBSYSTEM_OPCODES --- + * These opcodes are used for configuring the Ethernet interfaces. These + * opcodes all use the IOCTL_SUBSYSTEM_ETH subsystem code. + */ +#define OPCODE_ETH_RSS_CONFIG (1) +#define OPCODE_ETH_ACPI_CONFIG (2) +#define SUBSYSTEM_ETH_RSS_CONFIG (3) +#define SUBSYSTEM_ETH_ACPI_CONFIG (3) +#define OPCODE_ETH_PROMISCUOUS (3) +#define SUBSYSTEM_ETH_PROMISCUOUS (3) +#define SUBSYSTEM_ETH_GET_STATISTICS (3) +#define SUBSYSTEM_ETH_GET_RX_FRAG_SIZE (3) +#define SUBSYSTEM_ETH_SET_RX_FRAG_SIZE (3) +#define OPCODE_ETH_GET_STATISTICS (4) +#define OPCODE_ETH_GET_RX_FRAG_SIZE (5) +#define OPCODE_ETH_SET_RX_FRAG_SIZE (6) + + +/* + * --- TPM_SUBSYSTEM_OPCODES --- + * These opcodes are used for configuring TCP protocol Module functionality. + * These opcodes all use the IOCTL_SUBSYSTEM_COMMON_ISCSI subsystem code. + */ +#define OPCODE_TPM_CONNECTION_OFFLOAD (1) +#define OPCODE_TPM_CONNECTION_UPLOAD (2) +#define OPCODE_TPM_CONNECTION_UPDATE (3) +#define SUBSYSTEM_TPM_CONNECTION_OFFLOAD (4) +#define SUBSYSTEM_TPM_CONNECTION_UPLOAD (4) +#define SUBSYSTEM_TPM_CONNECTION_UPDATE (4) +#define OPCODE_TPM_GET_STATISTICS (4) +#define SUBSYSTEM_TPM_GET_STATISTICS (4) +#define SUBSYSTEM_TPM_CONNECTION_QUERY (4) +#define OPCODE_TPM_CONNECTION_QUERY (5) + +/* + * --- PXE_UNDI_SUBSYSTEM_OPCODES --- + * These opcodes are used for configuring PXE and UNDI functionality. + * These opcodes use the IOCTL_SUBSYSTEM_PXE_UNDI subsystem code. + */ +#define OPCODE_PXE_UNDI_CONTROL (1) +#define OPCODE_PXE_UNDI_TRANSMIT (2) +#define OPCODE_PXE_UNDI_RECEIVE (3) +#define OPCODE_PXE_UNDI_GET_STATISTICS (4) +#define SUBSYSTEM_PXE_UNDI_CONTROL (5) +#define SUBSYSTEM_PXE_UNDI_TRANSMIT (5) +#define SUBSYSTEM_PXE_UNDI_RECEIVE (5) +#define SUBSYSTEM_PXE_UNDI_GET_STATISTICS (5) + + +/* + * --- MCC_STATUS_CODE --- + * These are the global status codes used by all subsystems + */ +#define MCC_STATUS_SUCCESS (0) /* Indicates a successful + completion of the command */ +#define MCC_STATUS_INSUFFICIENT_PRIVILEGES (1) /* The client does not have + sufficient privileges to + execute the command */ +#define MCC_STATUS_INVALID_PARAMETER (2) /* A parameter in the command + was invalid. The extended + status contains the index + of the parameter */ +#define MCC_STATUS_INSUFFICIENT_RESOURCES (3) /* There are insufficient + chip resources to execute + the command */ +#define MCC_STATUS_QUEUE_FLUSHING (4) /* The command is completing + because the queue was + getting flushed */ +#define MCC_STATUS_DMA_FAILED (5) /* The command is completing + with a DMA error */ + +/* + * --- MGMT_ERROR_CODES --- + * Error Codes returned in the status field of the IOCTL response header + */ +#define MGMT_STATUS_SUCCESS (0) /* The IOCTL completed + without errors */ +#define MGMT_STATUS_FAILED (1) /* Error status in the Status + field of the + struct IOCTL_RESPONSE_HEADER */ +#define MGMT_STATUS_ILLEGAL_REQUEST (2) /* Invalid IOCTL opcode */ +#define MGMT_STATUS_ILLEGAL_FIELD (3) /* Invalid parameter in + the IOCTL payload */ +/* The buffer provided by MILI is insufficient for Firmware/OSM to + * return IOCTL output. Firmware/OSM sets the buffer size requirement in + * the required_data_length field. Note: required_data_length must + * be larger than expected_data_length. + */ +#define MGMT_STATUS_INSUFFICIENT_BUFFER (4) +/* This domain is not permitted to execute such request Applicable to + * BE-VM only + * */ +#define MGMT_STATUS_UNAUTHORIZED_REQUEST (5) /* This domain is not + permitted to */ +#define MGMT_STATUS_INVALID_ISNS_ADDRESS (10) +#define MGMT_STATUS_INVALID_IPADDR (11) +#define MGMT_STATUS_INVALID_GATEWAY (12) +#define MGMT_STATUS_INVALID_SUBNETMASK (13) +#define MGMT_STATUS_INVALID_PREFERRED_DNS (14) +#define MGMT_STATUS_INVALID_ALTERNATE_DNS (15) +#define MGMT_STATUS_INVALID_TARGET_IPADDR (16) +#define MGMT_STATUS_UNRESOLVED_DNS_NAME (17) +#define MGMT_STATUS_INVALID_ISCSI_INI_NAME (18) +#define MGMT_STATUS_INVALID_ISCSI_INI_ALIAS (19) +#define MGMT_STATUS_TGTTBL_FULL (20) +#define MGMT_STATUS_LUNTBL_FULL (21) +#define MGMT_STATUS_IPSEC_NOT_SUPPORTED (22) +#define MGMT_STATUS_FLASHROM_SAVE_FAILED (23) +#define MGMT_STATUS_FLASHROM_RESTORE_FAILED (24) +#define MGMT_STATUS_INVALID_TCPPORT (25) +#define MGMT_STATUS_ICCBINDEX_ALLOC_FAILED (26) +#define MGMT_STATUS_IOCTLHANDLE_ALLOC_FAILED (27) +#define MGMT_STATUS_INVALID_PHY_ADDR_FROM_OSM (28) /* Invalid physical + address from OSM */ +#define MGMT_STATUS_INVALID_PHY_ADDR_LEN_FROM_OSM (29) +#define MGMT_STATUS_ASSERT_FAILED (30) +#define MGMT_STATUS_INVALID_SESSION (31) /* Invalid SESSION id */ +#define MGMT_STATUS_INVALID_CONNECTION (32) /* Invalid connection id */ +#define MGMT_STATUS_BTL_PATH_EXCEEDS_OSM_LIMIT (33) +#define MGMT_STATUS_BTL_TGTID_EXCEEDS_OSM_LIMIT (34) +#define MGMT_STATUS_BTL_PATH_TGTID_OCCUPIED (35) /* In the OSM target + table the slot of the + specified Path and + TargetID is already + occupied by another + target. */ +#define MGMT_STATUS_BTL_NO_FREE_SLOT_PATH (36) /* OSM can't locate a free + slot in it's target table + for the specified path ID + */ +#define MGMT_STATUS_BTL_NO_FREE_SLOT_TGTID (37) /* OSM can't locate a free + slot in it's target table + for the specified target ID + */ +#define MGMT_STATUS_OSM_DEVSLOT_NOT_FOUND (38) /* OSM can't locate the entry + in it's target table for + the specified iSCSI + SESSION/target + */ +#define MGMT_STATUS_FLASHROM_READ_FAILED (39) +#define MGMT_STATUS_POLL_IOCTL_TIMEOUT (40) /* Polling IOCTL is timeout */ +#define MGMT_STATUS_ERROR_ACITISCSI (41) /* Error returned from + ACIT-ISCSI module */ +#define MGMT_STATUS_ERROR_ACITMAIN (42) /* Error returned from + ACIT-Main module */ +/* + * This error indicates that ioctl buffer size is too big for either the + * OSM or OS to handle. In Windows, after MILI allocates the + * buffer, OS will forward the IOCTL request to the driver + * IF the IOCTL buffer size is less than / equal to the + * maximum IO size. When the OSM detects this situation, + * OSM set this status in the IOCTL header. + */ +#define MGMT_STATUS_BUFFER_SIZE_EXCEED_OSM_OR_OS_LIMIT (43) +#define MGMT_STATUS_REBOOT_REQUIRED (44) +#define MGMT_STATUS_INSUFFICIENT_TIMEOUT (45) +#define MGMT_STATUS_IPADDR_NOT_SET (46) +#define MGMT_STATUS_IPADDR_DUP_DETECTED (47) +#define MGMT_STATUS_CANT_REMOVE_LAST_CONNECTION (48) +#define MGMT_STATUS_TARGET_NOT_FOUND (48) +#define MGMT_STATUS_TARGET_BUSY (49) +#define MGMT_STATUS_TGT_ERR_LISTEN_SOCKET (50) +#define MGMT_STATUS_TGT_ERR_BIND_SOCKET (51) +#define MGMT_STATUS_TGT_ERR_NO_SOCKET (52) +#define MGMT_STATUS_TGT_ERR_PORTAL_NOT_FOUND (53) +#define MGMT_STATUS_TGT_ERR_IP_ADDR_MAX_REACHED (54) +#define MGMT_STATUS_TGT_ERR_ISNS_COMM_FAILED (55) +#define MGMT_STATUS_CANNOT_DELETE_BOOT_TARGET (56) +#define MGMT_STATUS_TGT_PORTAL_MODE_IN_LISTEN (57) + + +/* + * --- MGMT_ADDL_STATUS --- + * Values for the Additional Status field of IOCTL_RESPONSE_BUFFER. This field + */ +#define MGMT_ADDI_STATUS_NO_STATUS (0) +#define MGMT_ADDI_STATUS_INVALID_IPTYPE (1) +#define MGMT_ADDI_STATUS_IPV6_UNSUPPORTED (2) +#define MGMT_ADDI_STATUS_DNSTEXT_TOO_LONG (3) +#define MGMT_ADDI_STATUS_INVALID_INTR_ININAME (4) +#define MGMT_ADDI_STATUS_INVALID_TGT_ININAME (5) +#define MGMT_ADDI_STATUS_INVALID_ISNS_ININAME (6) +#define MGMT_ADDI_STATUS_INVALID_INTR_ALIAS (7) +#define MGMT_ADDI_STATUS_INVALID_TGT_ALIAS (8) +#define MGMT_ADDI_STATUS_TARGET_HANDLE_NOT_FOUND (9) +#define MGMT_ADDI_STATUS_SESSION_HANDLE_NOT_FOUND (10) +#define MGMT_ADDI_STATUS_CONNECTION_HANDLE_NOT_FOUND (11) +#define MGMT_ADDI_STATUS_PORTALGROUP_HANDLE_NOT_FOUND (12) +#define MGMT_ADDI_STATUS_PORTAL_HANDLE_NOT_FOUND (13) +#define MGMT_ADDI_STATUS_INVALID_INTR_PORT (14) +#define MGMT_ADDI_STATUS_INVALID_TGT_PORT (15) +#define MGMT_ADDI_STATUS_ACTIVE_SESSIONS_PRESENT (16) +#define MGMT_ADDI_STATUS_SESSION_ALREADY_OPENED (17) +#define MGMT_ADDI_STATUS_SESSION_ALREADY_CLOSED (18) +#define MGMT_ADDI_STATUS_DEST_HOST_UNREACHABLE (19) +#define MGMT_ADDI_STATUS_LOGIN_IN_PROGRESS (20) +#define MGMT_ADDI_STATUS_TCP_CONNECT_FAILED (21) +#define MGMT_ADDI_STATUS_INSUFFICIENT_RESOURCES (22) +#define MGMT_ADDI_STATUS_LINK_DOWN (23) +#define MGMT_ADDI_STATUS_DHCP_ERROR (24) +#define MGMT_ADDI_STATUS_CONNECTION_OFFLOADED (25) +#define MGMT_ADDI_STATUS_CONNECTION_NOT_OFFLOADED (26) +#define MGMT_ADDI_STATUS_CONNECTION_UPLOAD_IN_PROGRESS (27) +#define MGMT_ADDI_STATUS_REQUEST_REJECTED (28) /* Used to communicate + a flush or upload/close + request on a connection + was rejected by protocol + firmware. + */ +#define MGMT_ADDI_STATUS_INVALID_SUBSYSTEM (29) +#define MGMT_ADDI_STATUS_INVALID_OPCODE (30) +#define MGMT_ADDI_STATUS_INVALID_MAXCONNECTION_PARAM (31) +#define MGMT_ADDI_STATUS_INVALID_KEY (32) +#define MGMT_ADDI_STATUS_PORTAL_GROUP_BOUND_TO_TARGET (33) +#define MGMT_ADDI_STATUS_PORTALS_BOUND_TO_PORTAL_GROUP (34) /* Unbind Portals + from Portal Group + before deleting */ +/* The domain number in the IOCTL header +* is invalid or out-of-range. The domain number passed-in to the IOCTL +* must be <= to the number of domains enabled by the manufacturer.Check the +* response data from IOCTL_COMMON_GET_CNTL_ATTRIBUTES to +* determine the actual number of domains supported +*/ +#define MGMT_ADDI_STATUS_INVALID_DOMAIN (35) +#define MGMT_ADDL_STATUS_TGT_CONN_RST (36) +#define MGMT_ADDL_STATUS_TGT_INVALID_CONN_HANDLE (37) +#define MGMT_ADDL_STATUS_TGT_INVALID_CID (38) +#define MGMT_ADDL_STATUS_TGT_INVALID_CQID (39) +#define MGMT_ADDL_STATUS_TGT_INVALID_CHUTE (40) +#define MGMT_ADDL_STATUS_CONN_RST (41) +#define MGMT_ADDL_STATUS_DUPLICATE_KEY (42) +#define MGMT_ADDI_STATUS_LOGIN_INITIATOR_ERROR (43) +#define MGMT_ADDI_STATUS_LOGIN_AUTHENTICATION_ERROR (44) +#define MGMT_ADDI_STATUS_LOGIN_AUTHORIZATION_ERROR (45) +#define MGMT_ADDI_STATUS_LOGIN_NOT_FOUND (46) +#define MGMT_ADDI_STATUS_LOGIN_TARGET_REMOVED (47) +#define MGMT_ADDI_STATUS_LOGIN_UNSUPPORTED_VERSION (48) +#define MGMT_ADDI_STATUS_LOGIN_TOO_MANY_CONNECTIONS (49) +#define MGMT_ADDI_STATUS_LOGIN_MISSING_PARAMETER (50) +#define MGMT_ADDI_STATUS_LOGIN_NO_SESSION_SPANNING (51) +#define MGMT_ADDI_STATUS_LOGIN_SESSION_TYPE_NOT_SUPPORTED (52) +#define MGMT_ADDI_STATUS_LOGIN_SESSION_DOES_NOT_EXIST (53) +#define MGMT_ADDI_STATUS_LOGIN_INVALID_DURING_LOGIN (54) +#define MGMT_ADDI_STATUS_LOGIN_TARGET_ERROR (55) +#define MGMT_ADDI_STATUS_LOGIN_SERVICE_UNAVAILABLE (56) +#define MGMT_ADDI_STATUS_LOGIN_OUT_OF_RESOURCES (57) +#define MGMT_ADDI_STATUS_SAME_CHAP_SECRET (58) +#define MGMT_ADDI_STATUS_INVALID_SECRET_LENGTH (59) +#define MGMT_ADDI_STATUS_DUPLICATE_ENTRY (60) /* an entry with same + attribtues already exists + with a different key */ +#define MGMT_ADDI_STATUS_INITIATOR_HANDLE_NOT_FOUND (61) +#define MGMT_ADDI_STATUS_ITBINDING_HANDLE_NOT_FOUND (62) +#define MGMT_ADDI_STATUS_SETTINGS_MODIFIED_REBOOT_REQD (63) + +#endif /* __ioctl_opcodes_amap_h__ */ diff --git a/drivers/message/beclib/fw/amap/ioctl_top.h b/drivers/message/beclib/fw/amap/ioctl_top.h new file mode 100644 index 0000000..39b2dac --- /dev/null +++ b/drivers/message/beclib/fw/amap/ioctl_top.h @@ -0,0 +1,44 @@ +/* + * Copyright (C) 2005 - 2008 ServerEngines + * All rights reserved. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or at your option any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, 5th Floor + * Boston, MA 02110-1301 USA + * + * + * The full GNU General Public License is included in this distribution + * in the file called GPL. + * + * Contact Information: + * linux-drivers@serverengines.com + * + * ServerEngines + * 209 N. Fair Oaks Ave + * Sunnyvale, CA 94085 + */ +/* + * Autogenerated by srcgen version: 0127 + */ +#ifndef __ioctl_top_amap_h__ +#define __ioctl_top_amap_h__ +#include "asyncmesg.h" +#include "ioctl_opcodes.h" +#include "ioctl_defs.h" +#include "ioctl_types.h" +#include "ioctl_mcc.h" +#include "ioctl_common.h" +#include "ioctl_eth.h" + +#endif /* __ioctl_top_amap_h__ */ diff --git a/drivers/message/beclib/fw/amap/ioctl_types.h b/drivers/message/beclib/fw/amap/ioctl_types.h new file mode 100644 index 0000000..85f91ca --- /dev/null +++ b/drivers/message/beclib/fw/amap/ioctl_types.h @@ -0,0 +1,450 @@ +/* + * Copyright (C) 2005 - 2008 ServerEngines + * All rights reserved. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or at your option any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + * See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, 5th Floor + * Boston, MA 02110-1301 USA + * + * + * The full GNU General Public License is included in this distribution + * in the file called GPL. + * + * Contact Information: + * linux-drivers@serverengines.com + * + * ServerEngines + * 209 N. Fair Oaks Ave + * Sunnyvale, CA 94085 + */ +/* + * Autogenerated by srcgen version: 0127 + */ +#ifndef __ioctl_types_amap_h__ +#define __ioctl_types_amap_h__ +#include "nativedefs.h" +#include "ioctl_defs.h" +#include "host_struct.h" +#include "post_codes.h" + +/* + * --- IPVERSIONS --- + * Defintion for IPVersion in IP_ADDRESS_SUBNET_FORMAT and IP_ADDRESS_FORMAT + */ +#define IPVERSION_V4 (0) +#define IPVERSION_V6 (1) + +/* MAC address format */ +struct BE_MAC_ADDRESS_FORMAT_AMAP { + struct BE_UEXACT16_AMAP SizeOfStructure; + struct BE_UEXACT8_AMAP MACAddress[6]; +} SG_PACK; +struct MAC_ADDRESS_FORMAT_AMAP { + u32 dw[2]; +}; + + +/* --- MGMT_TGT_TMF_METHODS --- */ +#define MGMT_TMF_METHOD_LU_RESET (5) +#define MGMT_TMF_METHOD_TGT_WARM_RESET (6) +#define MGMT_TMF_METHOD_TGT_COLD_RESET (7) + +/* + * --- MGMT_TMF_METHODS --- + * Other TMF methods specified in RFC3720, not currently supported + */ +#define MGMT_TMF_METHOD_ABORT_TASK (1) +#define MGMT_TMF_METHOD_ABORT_TASK_SET (2) +#define MGMT_TMF_METHOD_CLEAR_ACA (3) +#define MGMT_TMF_METHOD_CLEAR_TASK_SET (4) +#define MGMT_TMF_METHOD_TASK_REASSIGN (8) + +/* + * --- LOGIN_TARGET_PARAMS_FLAGS --- + * Bit definition of login_flags in LOGIN_TARGET_PARAMS_IN + */ +#define MGMT_LOGIN_FLAG_NO_IPSEC (0) +#define MGMT_LOGIN_FLAG_REQUIRE_IPSEC (1) +#define MGMT_LOGIN_FLAG_MULTIPATH_ENABLED (2) + +/* --- MGMT_SESSION_STATUS --- */ +#define MGMT_SESSION_STATUS_OPENED (1) /* Session login success */ +#define MGMT_SESSION_STATUS_OPENNING (2) /* Should be ignored by + application */ +#define MGMT_SESSION_STATUS_LUN_REPORTING (4) /* Should be ignored by + application */ +#define MGMT_SESSION_STATUS_LUN_REPORTED (8) /* Should be ignored by + application */ +#define MGMT_SESSION_STATUS_CLOSING (16) /* Should be ignored by + application */ +#define MGMT_SESSION_STATUS_CLOSED (32) /* Session logged out success */ +#define MGMT_SESSION_STATUS_CLOSED_IN_RECOVERY (64) /* Should be ignored + by application */ +#define MGMT_SESSION_STATUS_IN_DEVICE_RESET (128) /* Should be ignored + by application */ +#define MGMT_SESSION_STATUS_OPEN_FAILED (256) /* Login failed */ +#define MGMT_SESSION_STATUS_SENDTARGET_FAILED (512) /* SendTarget command + failed */ +#define MGMT_SESSION_STATUS_REPORTLUN_FAILED (1024) /* REPORT_LUN command + failed */ +#define MGMT_SESSION_STATUS_CLOSE_FAILED (2048) /* Logout failed */ +#define MGMT_SESSION_STATUS_IN_RETRY (4096) /* This session is in + retry queue */ +#define MGMT_SESSION_STATUS_DELETED (8192) /* This session marked as + deleted */ + +/* --- MGMT_SESSION_FLAGS --- */ +#define MGMT_SESSION_FLAG_NON_PERSISTENT (1) +#define MGMT_SESSION_FLAG_PERSISTENT (2) +/* Either MGMT_SESSION_FLAG_BOOTABLE_PRIMARY or + * MGMT_SESSION_FLAG_BOOTABLE_SECONDARY should be set + */ +#define MGMT_SESSION_FLAG_BOOTABLE_PRIMARY (4) +#define MGMT_SESSION_FLAG_BOOTABLE_SECONDARY (8) +#define MGMT_SESSION_FLAG_RESERVED (16) +#define MGMT_SESSION_FLAG_DISCOVERY (16) +#define MGMT_SESSION_FLAG_INFORMATIONAL (32) +#define MGMT_SESSION_FLAG_DATA_SESSION (64) +#define MGMT_SESSION_FLAG_LIST_SESSION (128) /* if set to 1, all targets + are returned else only logged + in targets are returned + */ + +/* + * --- SESSION_TYPE --- + * Session Type + */ +#define MGMT_SESSION_TYPE_DISCOVERY_SESSION (16) /* Discovery session + LUNs are NOT exposed + to the host OS */ +#define MGMT_SESSION_TYPE_INFORMATIONAL_SESSION (32) /* Informational + session LUNs are NOT + exposed to the host + OS */ +#define MGMT_SESSION_TYPE_DATA_SESSION (64) /* Data session. LUNs are + exposed to the host OS + */ +#define MGMT_SESSION_TYPE_BOOT_SESSION (128) /* Boot session */ +#define MGMT_SESSION_TYPE_MASK_SESSION_TYPE (240) + +/* + * --- MGMT_SESSION_OWNER --- + * Application should ignore these bits. These bits are used by + * the host driver. + */ +#define MGMT_SESSION_FLAG_DRIVER_OWNED (4096) /* This indicates session + owned by the driver + */ +#define MGMT_SESSION_FLAG_FIRMWARE_OWNED (8192) /* This indicates session + owned by the firmware */ + +/* + * --- MGMT_CONN_STATUS --- + * Bit definition in connection_status in MGMT_CONN_INFO + */ +#define MGMT_CONN_STATUS_OPENED (1) /* TCP connection is opened. All */ + /* + * MGMT_CONN_STATUS_ISCSI_LOGIN_STATE + * valid ONLY if + * MGMT_CONN_STATUS_OPENED is 1 + */ +#define MGMT_CONN_STATUS_OPENNING (2) /* Should be ignored by + application */ +#define MGMT_CONN_STATUS_REDIRECTED (4) /* The iSCSI login is + redirected. */ +#define MGMT_CONN_STATUS_REDIRECTED_PERM (8) /* Valid only if */ + /* + * MGMT_CONN_STATUS_REDIRECTED + * bit is 1 When this bit is set, + * the iSCSI login is redirected + * permanently else the iSCSI + * login is redirected + * temporarily + */ +#define MGMT_CONN_STATUS_ISCSI_LOGIN_STATE_INI (16) /* 1: Initial login + state as defined + in iSCSI spec */ +#define MGMT_CONN_STATUS_ISCSI_LOGIN_STATE_SEC (32) /* 1: Security login + state as defined in + iSCSI spec */ +#define MGMT_CONN_STATUS_ISCSI_LOGIN_STATE_OPR (64) /* 1: Operational + login state as defined + in iSCSI spec */ +#define MGMT_CONN_STATUS_ISCSI_LOGIN_STATE_FULL (128) /* 1: Full login state + as defined in iSCSI + spec */ +#define MGMT_CONN_STATUS_CLOSING (256) /* Should be ignored by + application */ +#define MGMT_CONN_STATUS_CLOSED (512) /* Connection logged out + success */ +#define MGMT_CONN_STATUS_CLOSED_IN_RECOVERY (1024) /* TCP connection is + closed for recovery + purpose */ +#define MGMT_CONN_STATUS_OPEN_FAILED (2048) /* Login failed */ +#define MGMT_CONN_STATUS_CLOSE_FAILED (4096) /* Logout failed */ + +/* + * --- MGMT_CONNECTION_OWNER --- + * Application should ignore these bits. These bits are used + * by the host driver. + */ +#define MGMT_CONN_FLAG_DRIVER_OWNED (4096) /* This indicates connection + owned by the driver */ +#define MGMT_CONN_FLAG_FIRMWARE_OWNED (8192) /* This indicates connection + owned by the firmware */ + +/* + * --- MGMT_CONN_LOGIN_OPTIONS_FLAG --- + * Bitmap definitions for "flags" in MGMT_CONN_LOGIN_OPTIONS + */ +#define MGMT_CONN_LOGIN_OPTIONS_FLAG_IPSEC_ENABLED (1) +#define MGMT_CONN_LOGIN_OPTIONS_FLAG_DIGEST_CRC32 (2) +#define MGMT_CONN_LOGIN_OPTIONS_FLAG_LEADING (4) + +/* + * --- MGMT_SESSION_LOGIN_OPTIONS_FLAGS --- + * Bitmap defintions for flags in MGMT_SESSION_LOGIN_OPTIONS + */ +#define MGMT_SESSION_LOGIN_OPTIONS_FLAG_INIT_R2T (1) /* Initial R2T - + 0: disabled + 1: enabled */ +#define MGMT_SESSION_LOGIN_OPTIONS_FLAG_IMMEDIATE_DATA (2) /* ImmediateData - + 0: disabled + 1: enabled */ +#define MGMT_SESSION_LOGIN_OPTIONS_FLAG_DPDU_INORDER (4) /* Data PDU In order - + 0: disabled + 1: enabled */ +#define MGMT_SESSION_LOGIN_OPTIONS_FLAG_DSEQ_INORDER (8) /* Data Sequence + In order - + 0: disabled + 1: enabled */ + +/* --- DEFAULT_MAX_BURST_LENGTH_DEFINE --- */ +#define DEFAULT_MAX_BURST_LENGTH (262144) + +/* --- DEFAULT_MAX_OUTSTANDING_R2T_DEFINE --- */ +#define DEFAULT_MAX_OUTSTANDING_R2T (1) + + +/* + * --- MGMT_DEV_ADDR_MODE --- + * Definition of device addressing mode + */ +#define MGMT_DEV_ADDR_MODE_PERIPHERAL (0) +#define MGMT_DEV_ADDR_MODE_FLAT_SPACE (1) +#define MGMT_DEV_ADDR_MODE_LOGICAL_UNIT (2) +#define MGMT_DEV_ADDR_MODE_EXTENDED_LOGICAL_UNIT (3) +#define MGMT_DEV_ADDR_MODE_CUSTOM (4) + +/* --- MGMT_UNASSIGNED_OS_BTL_VALUE_ENUM --- */ +#define MGMT_UNASSIGNED_OS_BTL_VALUE (65535) /* No OS BTL value is + assigned */ +/* + * --- MGMT_SLP_PARAMS_FLAG --- + * Bitmap definition for flags in MGMT_SLP_PARAMS + */ +#define MGMT_SLP_PARAMS_FLAG_DISABLE (0) /* SLP Discovery disabled */ +#define MGMT_SLP_PARAMS_FLAG_MULTICAST (0) /* Multicast */ +#define MGMT_SLP_PARAMS_FLAG_NOSECURITY (0) /* Security disabled */ +#define MGMT_SLP_PARAMS_FLAG_ENABLE (1) /* SLP Discovery enabled */ +#define MGMT_SLP_PARAMS_FLAG_BROADCAST (2) /* Broadcast */ +#define MGMT_SLP_PARAMS_FLAG_SECURITY (4) /* Security enabled */ + +/* + * --- MGMT_ISNS_FLAG_CONFIG --- + * Definition of flags in MGMT_ISNS_PARAMS + */ +#define MGMT_ISNS_FLAG_CONFIG_DISABLE (0) /* iSNS Discovery disabled */ +#define MGMT_ISNS_FLAG_CONFIG_ENABLE (1) /* iSNS Discovery enabled */ +/* The iSNS server settings are configured manually. If this bit is +* set, the following must not be set - MGMT_ISNS_FLAG_CONFIG_VIA_HEARTBEAT - +* MGMT_ISNS_FLAG_CONFIG_VIA_DHCP - MGMT_ISNS_FLAG_CONFIG_VIA_SLP +*/ +#define MGMT_ISNS_FLAG_CONFIG_MANUAL (16) +/* The iSNS server settings are configured via heartbeat mechanism. +* If this bit is set, the following must not be set - +* MGMT_ISNS_FLAG_CONFIG_MANUAL - MGMT_ISNS_FLAG_CONFIG_VIA_DHCP - +* MGMT_ISNS_FLAG_CONFIG_VIA_SLP +*/ +#define MGMT_ISNS_FLAG_CONFIG_VIA_HEARTBEAT (32) +/* The iSNS server settings are configured via DHCP If this bit is +* set, the following must not be set - MGMT_ISNS_FLAG_CONFIG_MANUAL - +* MGMT_ISNS_FLAG_CONFIG_VIA_HEARTBEAT - MGMT_ISNS_FLAG_CONFIG_VIA_SLP +*/ +#define MGMT_ISNS_FLAG_CONFIG_VIA_DHCP (64) +#define MGMT_ISNS_FLAG_CONFIG_VIA_SLP (128)
