3 * Ethereal - Network traffic analyzer
4 * By Gerald Combs <gerald@ethereal.com>
5 * Copyright 1998 Gerald Combs
7 * This program is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU General Public License
9 * as published by the Free Software Foundation; either version 2
10 * of the License, or (at your option) any later version.
12 * This program is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 * GNU General Public License for more details.
17 * You should have received a copy of the GNU General Public License
18 * along with this program; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22 #ifndef __PACKET_FCDNS_H_
23 #define __PACKET_FCDNS_H_
25 /* Opcode definitions */
26 #define FCDNS_GA_NXT 0x0100
27 #define FCDNS_GID_A 0x0101
28 #define FCDNS_GPN_ID 0x0112
29 #define FCDNS_GNN_ID 0x0113
30 #define FCDNS_GCS_ID 0x0114
31 #define FCDNS_GFT_ID 0x0117
32 #define FCDNS_GSPN_ID 0x0118
33 #define FCDNS_GPT_ID 0x011A
34 #define FCDNS_GIPP_ID 0x011B
35 #define FCDNS_GFPN_ID 0x011C
36 #define FCDNS_GHA_ID 0x011D
37 #define FCDNS_GFD_ID 0x011E
38 #define FCDNS_GFF_ID 0x011F
39 #define FCDNS_GID_PN 0x0121
40 #define FCDNS_GIPP_PN 0x012B
41 #define FCDNS_GID_NN 0x0131
42 #define FCDNS_GPN_NN 0x0132
43 #define FCDNS_GIP_NN 0x0135
44 #define FCDNS_GIPA_NN 0x0136
45 #define FCDNS_GSNN_NN 0x0139
46 #define FCDNS_GNN_IP 0x0153
47 #define FCDNS_GIPA_IP 0x0156
48 #define FCDNS_GID_FT 0x0171
49 #define FCDNS_GPN_FT 0x0172
50 #define FCDNS_GNN_FT 0x0173
51 #define FCDNS_GID_PT 0x01A1
52 #define FCDNS_GID_IPP 0x01B1
53 #define FCDNS_GPN_IPP 0x01B2
54 #define FCDNS_GID_FF 0x01F1
55 #define FCDNS_RPN_ID 0x0212
56 #define FCDNS_RNN_ID 0x0213
57 #define FCDNS_RCS_ID 0x0214
58 #define FCDNS_RFT_ID 0x0217
59 #define FCDNS_RSPN_ID 0x0218
60 #define FCDNS_RPT_ID 0x021A
61 #define FCDNS_RIPP_ID 0x021B
62 #define FCDNS_RHA_ID 0x021D
63 #define FCDNS_RFD_ID 0x021E
64 #define FCDNS_RFF_ID 0x021F
65 #define FCDNS_RIP_NN 0x0235
66 #define FCDNS_RSNN_NN 0x0239
67 #define FCDNS_DA_ID 0x0300
68 /* dNS messages defined by FC-SW2 */
70 #define FCDNS_GE_ID 0x0410
71 #define FCDNS_GE_PN 0x0420
72 #define FCDNS_GE_NN 0x0430
73 #define FCDNS_GE_IP 0x0450
74 #define FCDNS_GE_FT 0x0470
75 #define FCDNS_GE_PT 0x04A0
76 #define FCDNS_GE_ZM 0x04B0
77 #define FCDNS_GE_ZN 0x04C0
78 #define FCDNS_GE_IPP 0x04D0
79 #define FCDNS_GE_FF 0x04E0
81 static const value_string fc_dns_opcode_val[] = {
82 {FCDNS_GA_NXT, "GA_NXT" },
83 {FCDNS_GID_A, "GID_A" },
84 {FCDNS_GPN_ID, "GPN_ID" },
85 {FCDNS_GNN_ID, "GNN_ID" },
86 {FCDNS_GCS_ID, "GCS_ID" },
87 {FCDNS_GFT_ID, "GFT_ID" },
88 {FCDNS_GSPN_ID, "GSPN_ID" },
89 {FCDNS_GPT_ID, "GPT_ID" },
90 {FCDNS_GIPP_ID, "GIPP_ID" },
91 {FCDNS_GFPN_ID, "GFPN_ID" },
92 {FCDNS_GHA_ID, "GHA_ID" },
93 {FCDNS_GFD_ID, "GFD_ID" },
94 {FCDNS_GFF_ID, "GFF_ID" },
95 {FCDNS_GID_PN, "GID_PN" },
96 {FCDNS_GIPP_PN, "GIPP_PN" },
97 {FCDNS_GID_NN, "GID_NN" },
98 {FCDNS_GPN_NN, "GPN_NN" },
99 {FCDNS_GIP_NN, "GIP_NN" },
100 {FCDNS_GIPA_NN, "GIPA_NN" },
101 {FCDNS_GSNN_NN, "GSNN_NN" },
102 {FCDNS_GNN_IP, "GNN_IP" },
103 {FCDNS_GIPA_IP, "GIPA_IP" },
104 {FCDNS_GID_FT, "GID_FT" },
105 {FCDNS_GPN_FT, "GPN_FT" },
106 {FCDNS_GNN_FT, "GNN_FT" },
107 {FCDNS_GID_PT, "GID_PT" },
108 {FCDNS_GID_IPP, "GID_IPP" },
109 {FCDNS_GPN_IPP, "GPN_IPP" },
110 {FCDNS_GID_FF, "GID_FF" },
111 {FCDNS_RPN_ID, "RPN_ID" },
112 {FCDNS_RNN_ID, "RNN_ID" },
113 {FCDNS_RCS_ID, "RCS_ID" },
114 {FCDNS_RFT_ID, "RFT_ID" },
115 {FCDNS_RSPN_ID, "RSPN_ID" },
116 {FCDNS_RPT_ID, "RPT_ID" },
117 {FCDNS_RIPP_ID, "RIPP_ID" },
118 {FCDNS_RHA_ID, "RHA_ID" },
119 {FCDNS_RFD_ID, "RFD_ID" },
120 {FCDNS_RFF_ID, "RFF_ID" },
121 {FCDNS_RIP_NN, "RIP_NN" },
122 {FCDNS_RSNN_NN, "RSNN_NN"},
123 {FCDNS_DA_ID, "DA_ID"},
124 {FCDNS_GE_ID, "GE_ID"},
125 {FCDNS_GE_PN, "GE_PN"},
126 {FCDNS_GE_NN, "GE_NN"},
127 {FCDNS_GE_IP, "GE_IP"},
128 {FCDNS_GE_FT, "GE_FT"},
129 {FCDNS_GE_PT, "GE_PT"},
130 {FCDNS_GE_ZM, "GE_ZM"},
131 {FCDNS_GE_ZN, "GE_ZN"},
132 {FCDNS_GE_IPP, "GE_IPP"},
133 {FCDNS_GE_FF, "GE_FF"},
134 {FCCT_MSG_ACC, "MSG_ACC"},
135 {FCCT_MSG_RJT, "MSG_RJT"},
139 /* Port type definitions */
140 #define FCDNS_PTYPE_UNDEF 0x00
141 #define FCDNS_PTYPE_NPORT 0x01
142 #define FCDNS_PTYPE_NLPORT 0x02
143 #define FCDNS_PTYPE_FNLPORT 0x03
144 #define FCDNS_PTYPE_NXPORT 0x7F
145 #define FCDNS_PTYPE_FPORT 0x81
146 #define FCDNS_PTYPE_FLPORT 0x82
147 #define FCDNS_PTYPE_EPORT 0x84
148 #define FCDNS_PTYPE_BPORT 0x85
150 static const value_string fc_dns_port_type_val [] = {
151 {FCDNS_PTYPE_UNDEF , "Undefined Port Type"},
152 {FCDNS_PTYPE_NPORT , "N_Port"},
153 {FCDNS_PTYPE_NLPORT , "NL_Port"},
154 {FCDNS_PTYPE_FNLPORT , "F/NL_Port"},
155 {FCDNS_PTYPE_NXPORT , "Nx_Port"},
156 {FCDNS_PTYPE_FPORT , "F_Port"},
157 {FCDNS_PTYPE_FLPORT , "FL_Port"},
158 {FCDNS_PTYPE_EPORT , "E_Port"},
159 {FCDNS_PTYPE_BPORT , "B_Port"},
163 /* Reject Detailed Reason code definitions for dNS */
164 #define FCDNS_RJT_NOREASON 0x00
165 #define FCDNS_RJT_PIDNOTREG 0x01
166 #define FCDNS_RJT_PNAMENOTREG 0x02
167 #define FCDNS_RJT_NNAMENOTREG 0x03
168 #define FCDNS_RJT_CLASSNOTREG 0x04
169 #define FCDNS_RJT_IPNNOTREG 0x05
170 #define FCDNS_RJT_IPANOTREG 0x06
171 #define FCDNS_RJT_FC4NOTREG 0x07
172 #define FCDNS_RJT_SPNAMENOTREG 0x08
173 #define FCDNS_RJT_SNNAMENOTREG 0x09
174 #define FCDNS_RJT_PTYPENOTREG 0x0A
175 #define FCDNS_RJT_IPPNOTREG 0x0B
176 #define FCDNS_RJT_FPNAMENOTREG 0x0C
177 #define FCDNS_RJT_HRDADDNOTREG 0x0D
178 #define FCDNS_RJT_FC4DESNOTREG 0x0E
179 #define FCDNS_RJT_FC4FEANOTREG 0x0F
180 #define FCDNS_RJT_ACCRJT 0x10
181 #define FCDNS_RJT_PTYPEFMT 0x11
182 #define FCDNS_RJT_DBEMPTY 0x12
183 #define FCDNS_RJT_NOOBJSCOPE 0x13
184 #define FCDNS_RJT_AUTHRZN_EXCEPTION 0xF0
185 #define FCDNS_RJT_AUTH_EXCEPTION 0xF1
186 #define FCDNS_RJT_DB_FULL 0xF2
187 #define FCDNS_RJT_DB_EMPTY 0xF3
189 static const value_string fc_dns_rjt_det_code_val [] = {
190 {FCDNS_RJT_NOREASON , "No Additional Info"},
191 {FCDNS_RJT_PIDNOTREG , "PortID Not Regd."},
192 {FCDNS_RJT_PNAMENOTREG , "PortName Not Regd."},
193 {FCDNS_RJT_NNAMENOTREG , "NodeName Not Regd."},
194 {FCDNS_RJT_CLASSNOTREG , "Class Not Regd."},
195 {FCDNS_RJT_IPNNOTREG , "IP Addr (Node) Not Regd."},
196 {FCDNS_RJT_IPANOTREG , "IPA Not Regd."},
197 {FCDNS_RJT_FC4NOTREG , "FC4 TYPEs Not Regd."},
198 {FCDNS_RJT_SPNAMENOTREG, "Symbolic PortName Not Regd."},
199 {FCDNS_RJT_SNNAMENOTREG, "Symbolic NodeName Not Regd."},
200 {FCDNS_RJT_PTYPENOTREG , "PortType Not Regd."},
201 {FCDNS_RJT_IPPNOTREG , "IP Addr (Port) Not Regd."},
202 {FCDNS_RJT_FPNAMENOTREG, "Fabric Port Name Not Regd."},
203 {FCDNS_RJT_HRDADDNOTREG, "Hard Addr Not Regd."},
204 {FCDNS_RJT_FC4DESNOTREG, "FC4 Descriptors Not Regd."},
205 {FCDNS_RJT_FC4FEANOTREG, "FC4 Features Not Regd."},
206 {FCDNS_RJT_ACCRJT , "Access Denied"},
207 {FCDNS_RJT_PTYPEFMT , "Unacceptable PortId"},
208 {FCDNS_RJT_DBEMPTY , "Database Empty"},
209 {FCDNS_RJT_NOOBJSCOPE , "No Objects Regd. in Scope"},
210 {FCDNS_RJT_AUTHRZN_EXCEPTION, "Authorization Exception"},
211 {FCDNS_RJT_AUTH_EXCEPTION, "Authentication Exception"},
212 {FCDNS_RJT_DB_FULL, "Database Full"},
213 {FCDNS_RJT_DB_EMPTY, "Database Empty"},
217 /* Actual servers serving the directory service type identified by subtype */
218 #define FCDNS_GSSUBTYPE_DNS 0x02
219 #define FCDNS_GSSUBTYPE_IP 0x03
221 static const value_string fc_dns_subtype_val[] = {
222 {FCDNS_GSSUBTYPE_DNS, "dNS"},
223 {FCDNS_GSSUBTYPE_IP, "IP"},