Go to the documentation of this file.
23 #include <linux/types.h>
52 #define FC_FRAME_HEADER_LEN 24
54 #define FC_MAX_PAYLOAD 2112U
55 #define FC_MIN_MAX_PAYLOAD 256U
57 #define FC_MAX_FRAME (FC_MAX_PAYLOAD + FC_FRAME_HEADER_LEN)
58 #define FC_MIN_MAX_FRAME (FC_MIN_MAX_PAYLOAD + FC_FRAME_HEADER_LEN)
76 #define FC_RCTL_ILS_REQ FC_RCTL_DD_UNSOL_CTL
77 #define FC_RCTL_ILS_REP FC_RCTL_DD_SOL_CTL
120 #define FC_RCTL_NAMES_INIT { \
121 [FC_RCTL_DD_UNCAT] = "uncat", \
122 [FC_RCTL_DD_SOL_DATA] = "sol data", \
123 [FC_RCTL_DD_UNSOL_CTL] = "unsol ctl", \
124 [FC_RCTL_DD_SOL_CTL] = "sol ctl/reply", \
125 [FC_RCTL_DD_UNSOL_DATA] = "unsol data", \
126 [FC_RCTL_DD_DATA_DESC] = "data desc", \
127 [FC_RCTL_DD_UNSOL_CMD] = "unsol cmd", \
128 [FC_RCTL_DD_CMD_STATUS] = "cmd status", \
129 [FC_RCTL_ELS_REQ] = "ELS req", \
130 [FC_RCTL_ELS_REP] = "ELS rep", \
131 [FC_RCTL_ELS4_REQ] = "FC-4 ELS req", \
132 [FC_RCTL_ELS4_REP] = "FC-4 ELS rep", \
133 [FC_RCTL_BA_NOP] = "BLS NOP", \
134 [FC_RCTL_BA_ABTS] = "BLS abort", \
135 [FC_RCTL_BA_RMC] = "BLS remove connection", \
136 [FC_RCTL_BA_ACC] = "BLS accept", \
137 [FC_RCTL_BA_RJT] = "BLS reject", \
138 [FC_RCTL_BA_PRMT] = "BLS dedicated connection preempted", \
139 [FC_RCTL_ACK_1] = "LC ACK_1", \
140 [FC_RCTL_ACK_0] = "LC ACK_0", \
141 [FC_RCTL_P_RJT] = "LC port reject", \
142 [FC_RCTL_F_RJT] = "LC fabric reject", \
143 [FC_RCTL_P_BSY] = "LC port busy", \
144 [FC_RCTL_F_BSY] = "LC fabric busy to data frame", \
145 [FC_RCTL_F_BSYL] = "LC fabric busy to link control frame",\
146 [FC_RCTL_LCR] = "LC link credit reset", \
147 [FC_RCTL_END] = "LC end", \
168 #define FC_FID_WELL_KNOWN_MAX 0xffffff
169 #define FC_FID_WELL_KNOWN_BASE 0xfffff5
174 #define FC_FID_DOM_MGR 0xfffc00
179 #define FC_FID_DOMAIN 0
180 #define FC_FID_PORT 1
181 #define FC_FID_LINK 2
199 #define FC_TYPE_NAMES_INIT { \
200 [FC_TYPE_BLS] = "BLS", \
201 [FC_TYPE_ELS] = "ELS", \
202 [FC_TYPE_IP] = "IP", \
203 [FC_TYPE_FCP] = "FCP", \
204 [FC_TYPE_CT] = "CT", \
205 [FC_TYPE_ILS] = "ILS", \
211 #define FC_XID_UNKNOWN 0xffff
212 #define FC_XID_MIN 0x0
213 #define FC_XID_MAX 0xfffe
218 #define FC_FC_EX_CTX (1 << 23)
219 #define FC_FC_SEQ_CTX (1 << 22)
220 #define FC_FC_FIRST_SEQ (1 << 21)
221 #define FC_FC_LAST_SEQ (1 << 20)
222 #define FC_FC_END_SEQ (1 << 19)
223 #define FC_FC_END_CONN (1 << 18)
224 #define FC_FC_RES_B17 (1 << 17)
225 #define FC_FC_SEQ_INIT (1 << 16)
226 #define FC_FC_X_ID_REASS (1 << 15)
227 #define FC_FC_X_ID_INVAL (1 << 14)
229 #define FC_FC_ACK_1 (1 << 12)
230 #define FC_FC_ACK_N (2 << 12)
231 #define FC_FC_ACK_0 (3 << 12)
233 #define FC_FC_RES_B11 (1 << 11)
234 #define FC_FC_RES_B10 (1 << 10)
235 #define FC_FC_RETX_SEQ (1 << 9)
236 #define FC_FC_UNI_TX (1 << 8)
237 #define FC_FC_CONT_SEQ(i) ((i) << 6)
238 #define FC_FC_ABT_SEQ(i) ((i) << 4)
239 #define FC_FC_REL_OFF (1 << 3)
240 #define FC_FC_RES2 (1 << 2)
241 #define FC_FC_FILL(i) ((i) & 3)
248 #define FC_BA_SEQ_ID_VAL 0x80
345 #define FC_DEF_E_D_TOV 2000UL
346 #define FC_DEF_R_A_TOV 10000UL