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