aboutsummaryrefslogtreecommitdiffstats
path: root/packet-fcfcs.h
blob: fcb8dbc5c97306a956135700c8b2594f529a4516 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
/* packet-fcfcs.h
 *
 * $Id: packet-fcfcs.h,v 1.2 2003/03/06 21:55:26 guy Exp $
 *
 * Ethereal - Network traffic analyzer
 * By Gerald Combs <gerald@ethereal.com>
 * Copyright 1998 Gerald Combs
 * 
 * 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 */

#ifndef __PACKET_FCFCS_H_
#define __PACKET_FCFCS_H_

#define FCFCS_GTIN       0x100
#define FCFCS_GIEL       0x101
#define FCFCS_GIET       0x111
#define FCFCS_GDID       0x112
#define FCFCS_GMID       0x113
#define FCFCS_GFN        0x114
#define FCFCS_GIELN      0x115
#define FCFCS_GMAL       0x116
#define FCFCS_GIEIL      0x117
#define FCFCS_GPL        0x118
#define FCFCS_GPT        0x121
#define FCFCS_GPPN       0x122
#define FCFCS_GAPNL      0x124
#define FCFCS_GPS        0x126
#define FCFCS_GATIN      0x128
#define FCFCS_GPLNL      0x191
#define FCFCS_GPLT       0x192
#define FCFCS_GPLML      0x193
#define FCFCS_GNPL       0x1A1
#define FCFCS_GPNL       0x1A2
#define FCFCS_GNID       0x1B1
#define FCFCS_RIELN      0x215
#define FCFCS_RPL        0x280
#define FCFCS_RPLN       0x291
#define FCFCS_RPLT       0x292
#define FCFCS_RPLM       0x293   
#define FCFCS_DPL        0x380
#define FCFCS_DPLN       0x391
#define FCFCS_DPLML      0x393
#define FCFCS_GCAP       0xe020

/* Used in protocol detail window */
static const value_string fc_fcs_opcode_val[] = {
    {FCCT_MSG_ACC, "MSG_ACC"},
    {FCCT_MSG_RJT, "MSG_RJT"},
    {FCFCS_GTIN, "Get Topology Info"},
    {FCFCS_GIEL, "Get Interconnect Element List"},
    {FCFCS_GIET, "Get Interconnect Element Type"},
    {FCFCS_GDID, "Get Interconnect Element Domain ID"},
    {FCFCS_GMID, "Get Interconnect Element Mgmt ID"},
    {FCFCS_GFN, "Get Interconnect Element Fabric Name"},
    {FCFCS_GIELN, "Get Interconnect Element Logical Name"},
    {FCFCS_GMAL, "Get Interconnect Element Mgmt Addr List"},
    {FCFCS_GIEIL, "Get Interconnect Element Info List"},
    {FCFCS_GPL, "Get Port List"},
    {FCFCS_GPT, "Get Port Type"},
    {FCFCS_GPPN, "Get Physical Port Number"},
    {FCFCS_GAPNL, "Get Physical Port Name List"},
    {FCFCS_GPS, "Get Port State"},
    {FCFCS_GATIN, "Get Attached Topology Info"},
    {FCFCS_GPLNL, "Get Platform Node Name List"},
    {FCFCS_GPLT, "Get Platform Type"},
    {FCFCS_GPLML, "Get Platform Mgmt Addr List"},
    {FCFCS_GNPL, "Get Platform Node Name List"},
    {FCFCS_GPNL, "Get Platform Name List"},
    {FCFCS_GNID, "Get Node Identification Data"},
    {FCFCS_RIELN, "Register Interconnect Element Logical Name"},
    {FCFCS_RPL, "Register Platform"},
    {FCFCS_RPLN, "Register Platform Node Name"},
    {FCFCS_RPLT, "Register Platform Type"},
    {FCFCS_RPLM, "Register Platform Mgmt. Address"},
    {FCFCS_DPL, "Deregister Platform"},
    {FCFCS_DPLN, "Deregister Platform Node Name"},
    {FCFCS_DPLML, "Deregister Platform Mgmt. Address List"},
    {FCFCS_GCAP, "Get Capabilities"},
    {0, NULL},
};

/* Used in protocol summary window */
static const value_string fc_fcs_opcode_abbrev_val[] = {
    {FCCT_MSG_ACC, "MSG_ACC"},
    {FCCT_MSG_RJT, "MSG_RJT"},
    {FCFCS_GTIN, "GTIN"},
    {FCFCS_GIEL, "GIEL"},
    {FCFCS_GIET, "GIET"},
    {FCFCS_GDID, "GDID"},
    {FCFCS_GMID, "GMID"},
    {FCFCS_GFN, "GFN"},
    {FCFCS_GIELN, "GIELN"},
    {FCFCS_GMAL, "GMAL"},
    {FCFCS_GIEIL, "GIEIL"},
    {FCFCS_GPL, "GPL"},
    {FCFCS_GPT, "GPT"},
    {FCFCS_GPPN, "GPPN"},
    {FCFCS_GAPNL, "GAPNL"},
    {FCFCS_GPS, "GPS"},
    {FCFCS_GATIN, "GATIN"},
    {FCFCS_GPLNL, "GPLNL"},
    {FCFCS_GPLT, "GPLT"},
    {FCFCS_GPLML, "GPLML"},
    {FCFCS_GNPL, "GNPL"},
    {FCFCS_GPNL, "GPNL"},
    {FCFCS_GNID, "GNID"},
    {FCFCS_RIELN, "RIELN"},
    {FCFCS_RPL, "RPL"},
    {FCFCS_RPLN, "RPLN"},
    {FCFCS_RPLT, "RPLT"},
    {FCFCS_RPLM, "RPLM"},
    {FCFCS_DPL, "DPL"},
    {FCFCS_DPLN, "DPLN"},
    {FCFCS_DPLML, "DPLML"},
    {FCFCS_GCAP,  "GCAP"},
    {0, NULL},
};

static const value_string fc_fcs_ietype_val[] = {
    {0, "Unknown"},
    {1, "Switch"},
    {2, "Hub"},
    {3, "Bridge"},
    {0, NULL},
};

/* Port type definitions, same as in dNS (fcdns.h) */
#define FCFCS_PTYPE_UNDEF    0x00
#define FCFCS_PTYPE_NPORT    0x01
#define FCFCS_PTYPE_NLPORT   0x02
#define FCFCS_PTYPE_FNLPORT  0x03
#define FCFCS_PTYPE_NXPORT   0x7F
#define FCFCS_PTYPE_FPORT    0x81
#define FCFCS_PTYPE_FLPORT   0x82
#define FCFCS_PTYPE_EPORT    0x84
#define FCFCS_PTYPE_BPORT    0x85

static const value_string fc_fcs_port_type_val[] = {
    {FCFCS_PTYPE_UNDEF   , "Undefined Port Type"},
    {FCFCS_PTYPE_NPORT   , "N_Port"},
    {FCFCS_PTYPE_NLPORT  , "NL_Port"},
    {FCFCS_PTYPE_FNLPORT , "F/NL_Port"},
    {FCFCS_PTYPE_NXPORT  , "Nx_Port"},
    {FCFCS_PTYPE_FPORT   , "F_Port"},
    {FCFCS_PTYPE_FLPORT  , "FL_Port"},
    {FCFCS_PTYPE_EPORT   , "E_Port"},
    {FCFCS_PTYPE_BPORT   , "B_Port"},
    {0, NULL},
};

static const value_string fc_fcs_port_txtype_val[] = {
    {1, "Unknown"},
    {2, "Long Wave Laser"},
    {3, "Short Wave Laser"},
    {4, "Long Wave Laser Cost Reduced"},
    {5, "Electrical"},
    {0, NULL},
};

static const value_string fc_fcs_port_modtype_val[] = {
    {1, "Unknown"},
    {2, "Other"},
    {3, "GBIC"},
    {4, "Embedded"},
    {5, "GLM"},
    {6, "GBIC with Serial ID"},
    {7, "GBIC without Serial ID"},
    {8, "SFP with Serial ID"},
    {9, "SFP without Serial ID"},
    {0, NULL},
};

static const value_string fc_fcs_port_state_val[] = {
    {0, "Unknown"},
    {1, "Online"},
    {2, "Offline"},
    {3, "Testing"},
    {4, "Fault"},
    {0, NULL},
};

static const value_string fc_fcs_plat_type_val[] = {
    {1, "Unknown"},
    {2, "Other"},
    {5, "Gateway"},
    {6, "Converter"},
    {7, "HBA"},
    {8, "Software Proxy Agent"},
    {9, "Storage Device"},
    {10, "Host Computer"},
    {11, "Storage Subsystem"},
    {12, "Module"},
    {13, "Software Driver"},
    {14, "Storage Access Device"},
    {0, NULL},
};

static const value_string fc_fcs_rjt_code_val[] = {
    {0x00, "No Additional Explanation"},
    {0x01, "Invalid Name_Identifier for Interconnect Element or Port"},
    {0x10, "Interconnect Element List Not Available"},
    {0x11, "Interconnect Element Type Not Available"},
    {0x12, "Domain ID Not Available"},
    {0x13, "Mgmt. ID Not Available"},
    {0x14, "Fabric Name Not Available"},
    {0x15, "Interconnect Element Logical Name Not Available"},
    {0x16, "Mgmt. Address Not Available"},
    {0x17, "Interconnect Element Information List Not Available"},
    {0x30, "Port List Not Available"},
    {0x31, "Port Type Not Available"},
    {0x32, "Physical Port Number Not Available"},
    {0x34, "Attached Port Name List Not Available"},
    {0x36, "Port State Not Available"},
    {0x50, "Unable to Register Interconnect Element Logical Name"},
    {0x60, "Platform Name Does Not Exist"},
    {0x61, "Platform Name Already Exists"},
    {0x62, "Platform Node Name Does Not Exist"},
    {0x63, "Platform Node Name Already Exists"},
    {0, NULL},
};

static const true_false_string fc_fcs_portflags_tfs = {
    "RTIN ELS Supported",
    "RTIN ELS Not Supported",
};

static const value_string fc_fcs_fcsmask_val[] = {
    {1, "Basic Configuration Service"},
    {2, "Platform Configuration Service"},
    {3, "Basic+Platform Configuration Service"},
    {4, "Topology Discovery Configuration Service"},
    {5, "Basic+Topology Discovery Configuration Service"},
    {6, "Platform+Topology Discovery Configuration Service"},
    {7, "Basic+Platform+Topology Discovery Configuration Service"},
    {0, NULL},
};

static const value_string fc_fcs_unsmask_val[] = {
    {1, "Basic Unzoned Name Service"},
    {0, NULL},
};

#endif