[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20080515132519.7ccbd080@extreme>
Date: Thu, 15 May 2008 13:25:19 -0700
From: Stephen Hemminger <shemminger@...tta.com>
To: "Subbu Seetharaman" <subbus@...verengines.com>
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH 12/15] BE NIC driver - f/w header files
On Thu, 15 May 2008 02:46:14 -0700
"Subbu Seetharaman" <subbus@...verengines.com> wrote:
> Signed-off-by: Subbu Seetharaman <subbus@...verengines.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@...verengines.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@...verengines.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@...verengines.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@...verengines.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@...verengines.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@...verengines.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@...verengines.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];
> +};
> +
No, a large device specific management interface using ioctl's (with no documentation)
is not going to be accepted.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists