aboutsummaryrefslogtreecommitdiffstats
path: root/packet-fcfcs.h
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2003-01-14 01:17:44 +0000
committerGuy Harris <guy@alum.mit.edu>2003-01-14 01:17:44 +0000
commit6de6ff2fb81105e22516559f4b9270ff32e8510b (patch)
treeee4400dbef9936264ee3ffc80a744a2a34d37366 /packet-fcfcs.h
parent4744edb0bedb8348023e97d6ec138e486debc794 (diff)
From Dinesh Dutt:
- Decoders for the few remaining FC protocols not included in my first patch. Included in this list are decoders for FC-CT (common transport), Name Server (dNS), Fabric Configuration Server (FCS) and Zone Server (FZS). - Decoder for MDS Debug Port Adapter. MDS Debug Port Adapter (internal name was Boardwalk and this is the file name) is a piece of hardware that can be purchased with Cisco's MDS Fibre Channel switches that converts FC frames into Ethernet frames. One end is connected to a port on a FC switch and the other end is connected to a FE/GE Ethernet port. The decoder included here decodes the encapsulation header that carries information such as SOF/EOF of FC frames. svn path=/trunk/; revision=6919
Diffstat (limited to 'packet-fcfcs.h')
-rw-r--r--packet-fcfcs.h254
1 files changed, 254 insertions, 0 deletions
diff --git a/packet-fcfcs.h b/packet-fcfcs.h
new file mode 100644
index 0000000000..81a2490b54
--- /dev/null
+++ b/packet-fcfcs.h
@@ -0,0 +1,254 @@
+/* packet-fcfcs.h
+ *
+ * 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