Wireshark  4.3.0
The Wireshark network protocol analyzer
packet-fcfcs.h
1 /* packet-fcfcs.h
2  *
3  * Wireshark - Network traffic analyzer
4  * By Gerald Combs <gerald@wireshark.org>
5  * Copyright 1998 Gerald Combs
6  *
7  * SPDX-License-Identifier: GPL-2.0-or-later
8  */
9 
10 #ifndef __PACKET_FCFCS_H_
11 #define __PACKET_FCFCS_H_
12 
13 #define FCFCS_GTIN 0x100
14 #define FCFCS_GIEL 0x101
15 #define FCFCS_GIET 0x111
16 #define FCFCS_GDID 0x112
17 #define FCFCS_GMID 0x113
18 #define FCFCS_GFN 0x114
19 #define FCFCS_GIELN 0x115
20 #define FCFCS_GMAL 0x116
21 #define FCFCS_GIEIL 0x117
22 #define FCFCS_GPL 0x118
23 #define FCFCS_GPT 0x121
24 #define FCFCS_GPPN 0x122
25 #define FCFCS_GAPNL 0x124
26 #define FCFCS_GPS 0x126
27 #define FCFCS_GATIN 0x128
28 #define FCFCS_GPLNL 0x191
29 #define FCFCS_GPLT 0x192
30 #define FCFCS_GPLML 0x193
31 #define FCFCS_GNPL 0x1A1
32 #define FCFCS_GPNL 0x1A2
33 #define FCFCS_GNID 0x1B1
34 #define FCFCS_RIELN 0x215
35 #define FCFCS_RPL 0x280
36 #define FCFCS_RPLN 0x291
37 #define FCFCS_RPLT 0x292
38 #define FCFCS_RPLM 0x293
39 #define FCFCS_DPL 0x380
40 #define FCFCS_DPLN 0x391
41 #define FCFCS_DPLML 0x393
42 #define FCFCS_GCAP 0xe020
43 
44 /* Used in protocol detail window */
45 static const value_string fc_fcs_opcode_val[] = {
46  {FCCT_MSG_ACC, "MSG_ACC"},
47  {FCCT_MSG_RJT, "MSG_RJT"},
48  {FCFCS_GTIN, "Get Topology Info"},
49  {FCFCS_GIEL, "Get Interconnect Element List"},
50  {FCFCS_GIET, "Get Interconnect Element Type"},
51  {FCFCS_GDID, "Get Interconnect Element Domain ID"},
52  {FCFCS_GMID, "Get Interconnect Element Mgmt ID"},
53  {FCFCS_GFN, "Get Interconnect Element Fabric Name"},
54  {FCFCS_GIELN, "Get Interconnect Element Logical Name"},
55  {FCFCS_GMAL, "Get Interconnect Element Mgmt Addr List"},
56  {FCFCS_GIEIL, "Get Interconnect Element Info List"},
57  {FCFCS_GPL, "Get Port List"},
58  {FCFCS_GPT, "Get Port Type"},
59  {FCFCS_GPPN, "Get Physical Port Number"},
60  {FCFCS_GAPNL, "Get Physical Port Name List"},
61  {FCFCS_GPS, "Get Port State"},
62  {FCFCS_GATIN, "Get Attached Topology Info"},
63  {FCFCS_GPLNL, "Get Platform Node Name List"},
64  {FCFCS_GPLT, "Get Platform Type"},
65  {FCFCS_GPLML, "Get Platform Mgmt Addr List"},
66  {FCFCS_GNPL, "Get Platform Node Name List"},
67  {FCFCS_GPNL, "Get Platform Name List"},
68  {FCFCS_GNID, "Get Node Identification Data"},
69  {FCFCS_RIELN, "Register Interconnect Element Logical Name"},
70  {FCFCS_RPL, "Register Platform"},
71  {FCFCS_RPLN, "Register Platform Node Name"},
72  {FCFCS_RPLT, "Register Platform Type"},
73  {FCFCS_RPLM, "Register Platform Mgmt. Address"},
74  {FCFCS_DPL, "Deregister Platform"},
75  {FCFCS_DPLN, "Deregister Platform Node Name"},
76  {FCFCS_DPLML, "Deregister Platform Mgmt. Address List"},
77  {FCFCS_GCAP, "Get Capabilities"},
78  {0, NULL},
79 };
80 
81 /* Used in protocol summary window */
82 static const value_string fc_fcs_opcode_abbrev_val[] = {
83  {FCCT_MSG_ACC, "MSG_ACC"},
84  {FCCT_MSG_RJT, "MSG_RJT"},
85  {FCFCS_GTIN, "GTIN"},
86  {FCFCS_GIEL, "GIEL"},
87  {FCFCS_GIET, "GIET"},
88  {FCFCS_GDID, "GDID"},
89  {FCFCS_GMID, "GMID"},
90  {FCFCS_GFN, "GFN"},
91  {FCFCS_GIELN, "GIELN"},
92  {FCFCS_GMAL, "GMAL"},
93  {FCFCS_GIEIL, "GIEIL"},
94  {FCFCS_GPL, "GPL"},
95  {FCFCS_GPT, "GPT"},
96  {FCFCS_GPPN, "GPPN"},
97  {FCFCS_GAPNL, "GAPNL"},
98  {FCFCS_GPS, "GPS"},
99  {FCFCS_GATIN, "GATIN"},
100  {FCFCS_GPLNL, "GPLNL"},
101  {FCFCS_GPLT, "GPLT"},
102  {FCFCS_GPLML, "GPLML"},
103  {FCFCS_GNPL, "GNPL"},
104  {FCFCS_GPNL, "GPNL"},
105  {FCFCS_GNID, "GNID"},
106  {FCFCS_RIELN, "RIELN"},
107  {FCFCS_RPL, "RPL"},
108  {FCFCS_RPLN, "RPLN"},
109  {FCFCS_RPLT, "RPLT"},
110  {FCFCS_RPLM, "RPLM"},
111  {FCFCS_DPL, "DPL"},
112  {FCFCS_DPLN, "DPLN"},
113  {FCFCS_DPLML, "DPLML"},
114  {FCFCS_GCAP, "GCAP"},
115  {0, NULL},
116 };
117 
118 static const value_string fc_fcs_ietype_val[] = {
119  {0, "Unknown"},
120  {1, "Switch"},
121  {2, "Hub"},
122  {3, "Bridge"},
123  {0, NULL},
124 };
125 
126 /* Port type definitions, same as in dNS (fcdns.h) */
127 #define FCFCS_PTYPE_UNDEF 0x00
128 #define FCFCS_PTYPE_NPORT 0x01
129 #define FCFCS_PTYPE_NLPORT 0x02
130 #define FCFCS_PTYPE_FNLPORT 0x03
131 #define FCFCS_PTYPE_NXPORT 0x7F
132 #define FCFCS_PTYPE_FPORT 0x81
133 #define FCFCS_PTYPE_FLPORT 0x82
134 #define FCFCS_PTYPE_EPORT 0x84
135 #define FCFCS_PTYPE_BPORT 0x85
136 
137 static const value_string fc_fcs_port_type_val[] = {
138  {FCFCS_PTYPE_UNDEF , "Undefined Port Type"},
139  {FCFCS_PTYPE_NPORT , "N_Port"},
140  {FCFCS_PTYPE_NLPORT , "NL_Port"},
141  {FCFCS_PTYPE_FNLPORT , "F/NL_Port"},
142  {FCFCS_PTYPE_NXPORT , "Nx_Port"},
143  {FCFCS_PTYPE_FPORT , "F_Port"},
144  {FCFCS_PTYPE_FLPORT , "FL_Port"},
145  {FCFCS_PTYPE_EPORT , "E_Port"},
146  {FCFCS_PTYPE_BPORT , "B_Port"},
147  {0, NULL},
148 };
149 
150 static const value_string fc_fcs_port_txtype_val[] = {
151  {1, "Unknown"},
152  {2, "Long Wave Laser"},
153  {3, "Short Wave Laser"},
154  {4, "Long Wave Laser Cost Reduced"},
155  {5, "Electrical"},
156  {0, NULL},
157 };
158 
159 static const value_string fc_fcs_port_modtype_val[] = {
160  {1, "Unknown"},
161  {2, "Other"},
162  {3, "GBIC"},
163  {4, "Embedded"},
164  {5, "GLM"},
165  {6, "GBIC with Serial ID"},
166  {7, "GBIC without Serial ID"},
167  {8, "SFP with Serial ID"},
168  {9, "SFP without Serial ID"},
169  {0, NULL},
170 };
171 
172 static const value_string fc_fcs_port_state_val[] = {
173  {0, "Unknown"},
174  {1, "Online"},
175  {2, "Offline"},
176  {3, "Testing"},
177  {4, "Fault"},
178  {0, NULL},
179 };
180 
181 static const value_string fc_fcs_plat_type_val[] = {
182  {1, "Unknown"},
183  {2, "Other"},
184  {5, "Gateway"},
185  {6, "Converter"},
186  {7, "HBA"},
187  {8, "Software Proxy Agent"},
188  {9, "Storage Device"},
189  {10, "Host Computer"},
190  {11, "Storage Subsystem"},
191  {12, "Module"},
192  {13, "Software Driver"},
193  {14, "Storage Access Device"},
194  {0, NULL},
195 };
196 
197 static const value_string fc_fcs_rjt_code_val[] = {
198  {0x00, "No Additional Explanation"},
199  {0x01, "Invalid Name_Identifier for Interconnect Element or Port"},
200  {0x10, "Interconnect Element List Not Available"},
201  {0x11, "Interconnect Element Type Not Available"},
202  {0x12, "Domain ID Not Available"},
203  {0x13, "Mgmt. ID Not Available"},
204  {0x14, "Fabric Name Not Available"},
205  {0x15, "Interconnect Element Logical Name Not Available"},
206  {0x16, "Mgmt. Address Not Available"},
207  {0x17, "Interconnect Element Information List Not Available"},
208  {0x30, "Port List Not Available"},
209  {0x31, "Port Type Not Available"},
210  {0x32, "Physical Port Number Not Available"},
211  {0x34, "Attached Port Name List Not Available"},
212  {0x36, "Port State Not Available"},
213  {0x50, "Unable to Register Interconnect Element Logical Name"},
214  {0x60, "Platform Name Does Not Exist"},
215  {0x61, "Platform Name Already Exists"},
216  {0x62, "Platform Node Name Does Not Exist"},
217  {0x63, "Platform Node Name Already Exists"},
218  {0, NULL},
219 };
220 
221 static const true_false_string fc_fcs_portflags_tfs = {
222  "RTIN ELS Supported",
223  "RTIN ELS Not Supported",
224 };
225 
226 static const value_string fc_fcs_fcsmask_val[] = {
227  {1, "Basic Configuration Service"},
228  {2, "Platform Configuration Service"},
229  {3, "Basic+Platform Configuration Service"},
230  {4, "Topology Discovery Configuration Service"},
231  {5, "Basic+Topology Discovery Configuration Service"},
232  {6, "Platform+Topology Discovery Configuration Service"},
233  {7, "Basic+Platform+Topology Discovery Configuration Service"},
234  {0, NULL},
235 };
236 
237 static const value_string fc_fcs_unsmask_val[] = {
238  {1, "Basic Unzoned Name Service"},
239  {0, NULL},
240 };
241 
242 #endif
Definition: value_string.h:26
Definition: tfs.h:27