3 * Wireshark - Network traffic analyzer
4 * By Gerald Combs <gerald@wireshark.org>
5 * Copyright 1998 Gerald Combs
7 * SPDX-License-Identifier: GPL-2.0-or-later
10 #ifndef __PACKET_FCFZS_H_
11 #define __PACKET_FCFZS_H_
13 /* Opcode definitions */
14 #define FC_FZS_GZC 0x100
15 #define FC_FZS_GEST 0x111
16 #define FC_FZS_GZSN 0x112
17 #define FC_FZS_GZD 0x113
18 #define FC_FZS_GZM 0x114
19 #define FC_FZS_GAZS 0x115
20 #define FC_FZS_GZS 0x116
21 #define FC_FZS_ADZS 0x200
22 #define FC_FZS_AZSD 0x201
23 #define FC_FZS_AZS 0x202
24 #define FC_FZS_DZS 0x203
25 #define FC_FZS_AZM 0x204
26 #define FC_FZS_AZD 0x205
27 #define FC_FZS_RZM 0x300
28 #define FC_FZS_RZD 0x301
29 #define FC_FZS_RZS 0x302
31 static const value_string fc_fzs_opcode_val
[] = {
32 {FC_FZS_GZC
, "Get Capabilities"},
33 {FC_FZS_GEST
, "Get Enforcement State"},
34 {FC_FZS_GZSN
, "Get Zone Set List"},
35 {FC_FZS_GZD
, "Get Zone List"},
36 {FC_FZS_GZM
, "Get Zone Member List"},
37 {FC_FZS_GAZS
, "Get Active Zone Set"},
38 {FC_FZS_GZS
, "Get Zone Set"},
39 {FC_FZS_ADZS
, "Add Zone Set"},
40 {FC_FZS_AZSD
, "Activate Zone Set Direct"},
41 {FC_FZS_AZS
, "Activate Zone Set"},
42 {FC_FZS_DZS
, "Deactivate Zone Set"},
43 {FC_FZS_AZM
, "Add Zone Members"},
44 {FC_FZS_AZD
, "Add Zone"},
45 {FC_FZS_RZM
, "Remove Zone Members"},
46 {FC_FZS_RZD
, "Remove Zone"},
47 {FC_FZS_RZS
, "Remove Zone Set"},
48 {FCCT_MSG_ACC
, "MSG_ACC"},
49 {FCCT_MSG_RJT
, "MSG_RJT"},
53 /* Reason code explanations */
54 #define FC_FZS_RJT_NODETAIL 0x0
55 #define FC_FZS_RJT_ZONENOTSUPPORTED 0x1
56 #define FC_FZS_RJT_ZSNUNKNOWN 0x10
57 #define FC_FZS_RJT_NZSACTIVE 0x11
58 #define FC_FZS_RJT_ZONEUNKNOWN 0x12
59 #define FC_FZS_RJT_ZONESTATEUNKNOWN 0x13
60 #define FC_FZS_RJT_INVLDPLEN 0x14
61 #define FC_FZS_RJT_ZSTOOLARGE 0x15
62 #define FC_FZS_RJT_DZSFAIL 0x16
63 #define FC_FZS_RJT_NOTSUPPORTED 0x17
64 #define FC_FZS_RJT_CAPNOTSUPPORTED 0x18
65 #define FC_FZS_RJT_ZMIDTYPEUNKNOWN 0x19
66 #define FC_FZS_RJT_INVLDZSDEF 0x1A
68 static const value_string fc_fzs_rjt_code_val
[] = {
69 {FC_FZS_RJT_NODETAIL
, "No Additional Explanation"},
70 {FC_FZS_RJT_ZONENOTSUPPORTED
, "Zones Not Supported"},
71 {FC_FZS_RJT_ZSNUNKNOWN
, "Zone Set Name Unknown"},
72 {FC_FZS_RJT_NZSACTIVE
, "No Zone Set Active"},
73 {FC_FZS_RJT_ZONEUNKNOWN
, "Zone Name Unknown"},
74 {FC_FZS_RJT_ZONESTATEUNKNOWN
, "Zone State Unknown"},
75 {FC_FZS_RJT_INVLDPLEN
, "Incorrect Payload Length"},
76 {FC_FZS_RJT_ZSTOOLARGE
, "Zone Set to be Activated Too Large"},
77 {FC_FZS_RJT_DZSFAIL
, "Deactivate Zone Set Failed"},
78 {FC_FZS_RJT_NOTSUPPORTED
, "Request Not Supported"},
79 {FC_FZS_RJT_CAPNOTSUPPORTED
, "Capability Not Supported"},
80 {FC_FZS_RJT_ZMIDTYPEUNKNOWN
, "Zone Member Identifier Type Not Supported"},
81 {FC_FZS_RJT_INVLDZSDEF
, "Invalid Zone Set Definition"},
85 /* Zone Member Identifier Types */
87 #define FC_FZS_ZONEMBR_PWWN 1
88 #define FC_FZS_ZONEMBR_DP 2
89 #define FC_FZS_ZONEMBR_FCID 3
90 #define FC_FZS_ZONEMBR_NWWN 4
91 #define FC_FZS_ZONEMBR_PWWN_LUN 0xE1
92 #define FC_FZS_ZONEMBR_DP_LUN 0xE2
93 #define FC_FZS_ZONEMBR_FCID_LUN 0xE3
95 static const value_string fc_fzs_zonembr_type_val
[] = {
97 {FC_FZS_ZONEMBR_PWWN
, "N_Port WWN"},
98 {FC_FZS_ZONEMBR_DP
, "Domain/Physical Port (0x00ddpppp)"},
99 {FC_FZS_ZONEMBR_FCID
, "FC Address"},
100 {FC_FZS_ZONEMBR_NWWN
, "Node WWN"},
101 {FC_FZS_ZONEMBR_PWWN_LUN
, "N_Port WWN+LUN"},
102 {FC_FZS_ZONEMBR_DP_LUN
, "Domain/Physical Port+LUN"},
103 {FC_FZS_ZONEMBR_FCID_LUN
, "FC Address+LUN"},