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
|
/* packet-fcfcs.h
*
* Wireshark - Network traffic analyzer
* By Gerald Combs <gerald@wireshark.org>
* Copyright 1998 Gerald Combs
*
* SPDX-License-Identifier: GPL-2.0-or-later
*/
#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
|