198 lines
7.3 KiB
C
198 lines
7.3 KiB
C
|
/* $NetBSD: isns_defs.h,v 1.1.1.1 2011/01/16 01:22:50 agc Exp $ */
|
||
|
|
||
|
/*-
|
||
|
* Copyright (c) 2004,2009 The NetBSD Foundation, Inc.
|
||
|
* All rights reserved.
|
||
|
*
|
||
|
* This code is derived from software contributed to The NetBSD Foundation
|
||
|
* by Wasabi Systems, Inc.
|
||
|
*
|
||
|
* Redistribution and use in source and binary forms, with or without
|
||
|
* modification, are permitted provided that the following conditions
|
||
|
* are met:
|
||
|
* 1. Redistributions of source code must retain the above copyright
|
||
|
* notice, this list of conditions and the following disclaimer.
|
||
|
* 2. Redistributions in binary form must reproduce the above copyright
|
||
|
* notice, this list of conditions and the following disclaimer in the
|
||
|
* documentation and/or other materials provided with the distribution.
|
||
|
*
|
||
|
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||
|
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||
|
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||
|
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||
|
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||
|
* POSSIBILITY OF SUCH DAMAGE.
|
||
|
*/
|
||
|
|
||
|
#ifndef _ISNS_DEFS_H_
|
||
|
#define _ISNS_DEFS_H_
|
||
|
|
||
|
/*
|
||
|
* enum of iSNS Registration, query, and response types
|
||
|
*/
|
||
|
|
||
|
typedef enum {
|
||
|
isnsp_DevAttrReg = 1,
|
||
|
isnsp_DevAttrQry,
|
||
|
isnsp_DevGetNext,
|
||
|
isnsp_DevDereg,
|
||
|
isnsp_SCNReg,
|
||
|
isnsp_SCNDereg,
|
||
|
isnsp_SCNEvent,
|
||
|
isnsp_SCN,
|
||
|
isnsp_DDReg,
|
||
|
isnsp_DDDereg,
|
||
|
isnsp_DDSReg,
|
||
|
isnsp_DDSDereg,
|
||
|
isnsp_ESI,
|
||
|
isnsp_Heartbeat, /* 0x000e */
|
||
|
|
||
|
/* Next few are iFCP only */
|
||
|
isnsp_RqstDomId = 0x0011,
|
||
|
isnsp_RlseDomId,
|
||
|
isnsp_GetDomId,
|
||
|
|
||
|
isnsp_DevAttrRegRsp = 0x8001,
|
||
|
isnsp_DevAttrQryRsp,
|
||
|
isnsp_DevGetNextRsp,
|
||
|
isnsp_DevDeregRsp,
|
||
|
isnsp_SCNregRsp,
|
||
|
isnsp_SCNDeregRsp,
|
||
|
isnsp_SCNeventRsp,
|
||
|
isnsp_SCNRsp,
|
||
|
isnsp_DDRegRsp,
|
||
|
isnsp_DDDeregRsp,
|
||
|
isnsp_DDSRegRsp,
|
||
|
isnsp_DDSDeregRsp,
|
||
|
isnsp_ESIRsp, /* 0x800d */
|
||
|
|
||
|
/* Next few are iFCP only */
|
||
|
isnsp_RqstDomIdRsp = 0x8011,
|
||
|
isnsp_RlseDomIdRsp,
|
||
|
isnsp_GetDomIdRsp
|
||
|
} isnsp_func_id_t;
|
||
|
|
||
|
/*
|
||
|
* enum of iSNS tag types
|
||
|
*/
|
||
|
|
||
|
typedef enum { /* Len Reg Key Query Key Val */
|
||
|
isnst_Delimiter = 0, /* 0 N/A N/A 0 */
|
||
|
isnst_EID, /* 4-256 1 1|2|16&17|32|64 1 */
|
||
|
isnst_EntProtocol, /* 4 1 1|2|16&17|32|64 2 */
|
||
|
isnst_MgtIPAddr, /* 16 1 1|2|16&17|32|64 3 */
|
||
|
isnst_Timestamp, /* 8 -- 1|2|16&17|32|64 4 */
|
||
|
isnst_ProtVersRange, /* 4 1 1|2|16&17|32|64 5 */
|
||
|
isnst_RegPeriod, /* 4 1 1|2|16&17|32|64 6 */
|
||
|
isnst_EntityIndex, /* 4 1 1|2|16&17|32|64 7 */
|
||
|
isnst_EntityNextIndex, /* 8 1 1|2|16&17|32|64 8 */
|
||
|
/* */
|
||
|
isnst_EntISAKMP_P1= 11, /* var 1 1|2|16&17|32|64 11 */
|
||
|
isnst_Certificate, /* var 1 1|2|16&17|32|64 12 */
|
||
|
/* */
|
||
|
isnst_PortalIPAddr= 16, /* 16 1 1|2|16&17|32|64 16 */
|
||
|
isnst_PortalPort, /* 4 1 1|2|16&17|32|64 17 */
|
||
|
isnst_SymbName, /* 4-256 16&17 1|16&17|32|64 18 */
|
||
|
isnst_ESIIntval, /* 4 16&17 1|16&17|32|64 19 */
|
||
|
isnst_ESIPort, /* 4 16&17 1|16&17|32|64 20 */
|
||
|
/* */
|
||
|
isnst_PortalIndex=22, /* 4 16&17 1|16&17|32|64 22 */
|
||
|
isnst_SCNPort, /* 4 16&17 1|16&17|32|64 23 */
|
||
|
isnst_PortalNextIndex, /* 4 -- 1|16&17|32|64 24 */
|
||
|
/* */
|
||
|
isnst_PortalSecBmap=27, /* 4 16&17 1|16&17|32|64 27 */
|
||
|
isnst_PortalISAKMP_P1, /* var 16&17 1|16&17|32|64 28 */
|
||
|
isnst_PortalISAKMP_P2, /* var 16&17 1|16&17|32|64 29 */
|
||
|
/* */
|
||
|
isnst_PortalCert = 31, /* var 16&17 1|16&17|32|64 31 */
|
||
|
isnst_iSCSIName, /* 4-224 1 1|16&17|32|33 32 */
|
||
|
isnst_iSCSINodeType, /* 4 32 1|16&17|32 33 */
|
||
|
isnst_iSCSIAlias, /* 4-256 32 1|16&17|32 34 */
|
||
|
isnst_iSCSISCNBmap, /* 4 32 1|16&17|32 35 */
|
||
|
isnst_iSCSINodeIndex, /* 4 32 1|16&17|32 36 */
|
||
|
isnst_WWNNToken, /* 8 32 1|16&17|32 37 */
|
||
|
isnst_iSCSINodeNextIdx, /* 4 -- 1|16&17|32 38 */
|
||
|
/* */
|
||
|
isnst_iSCSIAuthMethod=42,/* var 32 1|16&17|32 42 */
|
||
|
isnst_iSCSINodeCert, /* var 32 1|16&17|32 43 */
|
||
|
/* */
|
||
|
isnst_PGiSCSIName=48, /* 4-224 32|16&17 1|16&17|32|52 48 */
|
||
|
isnst_PGPortIPAddr, /* 16 32|16&17 1|16&17|32|52 49 */
|
||
|
isnst_PGPortIPPort, /* 4 32|16&17 1|16&17|32|52 50 */
|
||
|
isnst_PGTag, /* 4 32|16&17 1|16&17|32|52 51 */
|
||
|
isnst_PGIndex, /* 4 32|16&17 1|16&17|32|52 52 */
|
||
|
isnst_PGNextIndex, /* 4 -- 1|16&17|32|52 53 */
|
||
|
/* */
|
||
|
isnst_FCPortNameWWPN=64,/* 8 1 1|16&17|64|66|96|128
|
||
|
64 */
|
||
|
isnst_FCPortID, /* 4 64 1|16&17|64 65 */
|
||
|
isnst_FCPortType, /* 4 64 1|16&17|64 66 */
|
||
|
isnst_FCSymbPortName, /* 4-256 64 1|16&17|64 67 */
|
||
|
isnst_FCFabricPortName, /* 8 64 1|16&17|64 68 */
|
||
|
isnst_FCHardAddr, /* 4 64 1|16&17|64 69 */
|
||
|
isnst_FCPortIPAddr, /* 16 64 1|16&17|64 70 */
|
||
|
isnst_FCClassOService, /* 4 64 1|16&17|64 71 */
|
||
|
isnst_FC4Types, /* 32 64 1|16&17|64 72 */
|
||
|
isnst_FC4Descr, /* 4-256 64 1|16&17|64 73 */
|
||
|
isnst_FC4Features, /* 128 64 1|16&17|64 74 */
|
||
|
isnst_iFCPSCNBmap, /* 4 64 1|16&17|64 75 */
|
||
|
isnst_iFCPPortRole, /* 4 64 1|16&17|64 76 */
|
||
|
isnst_PermPortName, /* 8 -- 1|16&17|64 77 */
|
||
|
/* */
|
||
|
isnst_PortCert = 83, /* var 64 1|16&17|64 83 */
|
||
|
/* */
|
||
|
isnst_FC4TypeCode = 95, /* 4 -- 1|16&17|64 95 */
|
||
|
isnst_FCNodeNameWWNN, /* 8 64 1|16&17|64|96 96 */
|
||
|
isnst_SymbNodeName, /* 4-256 96 64|96 97 */
|
||
|
isnst_NodeIPAddr, /* 16 96 64|96 98 */
|
||
|
isnst_NodeIPA, /* 8 96 64|96 99 */
|
||
|
isnst_NodeCert, /* var 96 64|96 100 */
|
||
|
isnst_ProxyiSCSIName, /* 4-256 96 64|96 101 */
|
||
|
/* Note: above really should be 4-224
|
||
|
* in the iSNS spec, but isn't */
|
||
|
/* */
|
||
|
isnst_SwitchName = 128, /* 8 128 128 128 */
|
||
|
isnst_PrefID, /* 4 128 128 129 */
|
||
|
isnst_AssignedID, /* 4 128 128 130 */
|
||
|
isnst_VirtFabricID, /* 4-256 128 128 131 */
|
||
|
/* */
|
||
|
isnst_iSNSSrvrVndOUI=256,/* 4 -- SOURCE Attr 256 */
|
||
|
/* */
|
||
|
isnst_DDS_ID=2049, /* 4 2049 1|32|64|2049|2065
|
||
|
2049 */
|
||
|
isnst_DDS_SymName, /* 4-256 2049 2049 2050 */
|
||
|
isnst_DDS_Status, /* 4 2049 2049 2051 */
|
||
|
isnst_DDS_Next_ID, /* 4 -- 2049 2052 */
|
||
|
/* */
|
||
|
isnst_DD_ID = 2065, /* 4 2049 1|32|64|2049|2065
|
||
|
2065 */
|
||
|
isnst_DD_SymName, /* 4-256 2065 2065 2066 */
|
||
|
isnst_DD_iSCSIIndex, /* 4 2065 2065 2067 */
|
||
|
isnst_DD_iSCSIName, /* 4-224 2065 2065 2068 */
|
||
|
isnst_DD_iFCPNode, /* 8 2065 2065 2069 */
|
||
|
isnst_DD_PortIndex, /* 4 2065 2065 2070 */
|
||
|
isnst_DD_PortIPAddr, /* 16 2065 2065 2071 */
|
||
|
isnst_DD_PortPort, /* 4 2065 2065 2072 */
|
||
|
isnst_DD_Features=2078, /* 4 2065 2065 2078 */
|
||
|
isnst_DD_Next_ID /* 4 -- 2065 2079 */
|
||
|
} isnst_tag_type_t;
|
||
|
|
||
|
/*
|
||
|
* iSNS PDU header flags
|
||
|
*/
|
||
|
|
||
|
#define ISNS_FLAG_FIRST_PDU (0x0400)
|
||
|
#define ISNS_FLAG_LAST_PDU (0x0800)
|
||
|
#define ISNS_FLAG_REPLACE_REG (0x1000)
|
||
|
#define ISNS_FLAG_AUTH (0x2000)
|
||
|
#define ISNS_FLAG_SND_SERVER (0x4000)
|
||
|
#define ISNS_FLAG_SND_CLIENT (0x8000)
|
||
|
|
||
|
|
||
|
#endif /* _ISNS_DEFS_H_ */
|