emlxs_fcf.h (a9800beb) | emlxs_fcf.h (8f23e9fa) |
---|---|
1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * | 1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * |
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE 9 * or http://www.opensolaris.org/os/licensing. | 8 * You can obtain a copy of the license at 9 * http://www.opensource.org/licenses/cddl1.txt. |
10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22/* | 10 * See the License for the specific language governing permissions 11 * and limitations under the License. 12 * 13 * When distributing Covered Code, include this CDDL HEADER in each 14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. 15 * If applicable, add the following below this CDDL HEADER, with the 16 * fields enclosed by brackets "[]" replaced with your own identifying 17 * information: Portions Copyright [yyyy] [name of copyright owner] 18 * 19 * CDDL HEADER END 20 */ 21 22/* |
23 * Copyright 2010 Emulex. All rights reserved. | 23 * Copyright (c) 2004-2012 Emulex. All rights reserved. |
24 * Use is subject to license terms. 25 */ 26 27#ifndef _EMLXS_FCF_H 28#define _EMLXS_FCF_H 29 30#ifdef __cplusplus 31extern "C" { --- 11 unchanged lines hidden (view full) --- 43#define FCF_EVENT_LINKDOWN 3 44#define FCF_EVENT_CVL 4 45#define FCF_EVENT_FCFTAB_FULL 5 46#define FCF_EVENT_FCF_FOUND 6 47#define FCF_EVENT_FCF_LOST 7 48#define FCF_EVENT_FCF_CHANGED 8 49 50/* Internal async events */ | 24 * Use is subject to license terms. 25 */ 26 27#ifndef _EMLXS_FCF_H 28#define _EMLXS_FCF_H 29 30#ifdef __cplusplus 31extern "C" { --- 11 unchanged lines hidden (view full) --- 43#define FCF_EVENT_LINKDOWN 3 44#define FCF_EVENT_CVL 4 45#define FCF_EVENT_FCFTAB_FULL 5 46#define FCF_EVENT_FCF_FOUND 6 47#define FCF_EVENT_FCF_LOST 7 48#define FCF_EVENT_FCF_CHANGED 8 49 50/* Internal async events */ |
51#define FCF_EVENT_FCFI_ONLINE 9 52#define FCF_EVENT_FCFI_OFFLINE 10 53#define FCF_EVENT_FCFI_PAUSE 11 | 51#define FCF_EVENT_FCFTAB_ONLINE 9 52#define FCF_EVENT_FCFTAB_OFFLINE 10 |
54 | 53 |
55#define FCF_EVENT_VFI_ONLINE 12 56#define FCF_EVENT_VFI_OFFLINE 13 57#define FCF_EVENT_VFI_PAUSE 14 | 54#define FCF_EVENT_FCFI_ONLINE 11 55#define FCF_EVENT_FCFI_OFFLINE 12 56#define FCF_EVENT_FCFI_PAUSE 13 |
58 | 57 |
59#define FCF_EVENT_VPI_ONLINE 15 60#define FCF_EVENT_VPI_OFFLINE 16 61#define FCF_EVENT_VPI_PAUSE 17 | 58#define FCF_EVENT_VFI_ONLINE 14 59#define FCF_EVENT_VFI_OFFLINE 15 60#define FCF_EVENT_VFI_PAUSE 16 |
62 | 61 |
63#define FCF_EVENT_RPI_ONLINE 18 64#define FCF_EVENT_RPI_OFFLINE 19 65#define FCF_EVENT_RPI_PAUSE 20 66#define FCF_EVENT_RPI_RESUME 21 | 62#define FCF_EVENT_VPI_ONLINE 17 63#define FCF_EVENT_VPI_OFFLINE 18 64#define FCF_EVENT_VPI_PAUSE 19 |
67 | 65 |
66#define FCF_EVENT_RPI_ONLINE 20 67#define FCF_EVENT_RPI_OFFLINE 21 68#define FCF_EVENT_RPI_PAUSE 22 69#define FCF_EVENT_RPI_RESUME 23 70 |
|
68/* State change reason codes */ /* explan */ 69#define FCF_REASON_NONE 0 70#define FCF_REASON_REENTER 1 71#define FCF_REASON_EVENT 2 /* evt */ 72#define FCF_REASON_REQUESTED 3 73#define FCF_REASON_NO_MBOX 4 74#define FCF_REASON_NO_BUFFER 5 75#define FCF_REASON_SEND_FAILED 6 /* status */ 76#define FCF_REASON_MBOX_FAILED 7 /* status */ | 71/* State change reason codes */ /* explan */ 72#define FCF_REASON_NONE 0 73#define FCF_REASON_REENTER 1 74#define FCF_REASON_EVENT 2 /* evt */ 75#define FCF_REASON_REQUESTED 3 76#define FCF_REASON_NO_MBOX 4 77#define FCF_REASON_NO_BUFFER 5 78#define FCF_REASON_SEND_FAILED 6 /* status */ 79#define FCF_REASON_MBOX_FAILED 7 /* status */ |
77#define FCF_REASON_NO_FCFI 8 78#define FCF_REASON_NO_VFI 9 79#define FCF_REASON_ONLINE_FAILED 10 80#define FCF_REASON_OFFLINE_FAILED 11 81#define FCF_REASON_OP_FAILED 12 /* attempts */ 82#define FCF_REASON_NO_PKT 13 83#define FCF_REASON_NO_NODE 14 84#define FCF_REASON_NOT_ALLOWED 15 | 80#define FCF_REASON_MBOX_BUSY 8 /* status */ 81#define FCF_REASON_NO_FCFI 9 82#define FCF_REASON_NO_VFI 10 83#define FCF_REASON_ONLINE_FAILED 11 84#define FCF_REASON_OFFLINE_FAILED 12 85#define FCF_REASON_OP_FAILED 13 /* attempts */ 86#define FCF_REASON_NO_PKT 14 87#define FCF_REASON_NO_NODE 15 88#define FCF_REASON_NOT_ALLOWED 16 89#define FCF_REASON_UNUSED 17 90#define FCF_REASON_INVALID 18 |
85 86typedef struct XRIobj 87{ 88 struct XRIobj *_f; 89 struct XRIobj *_b; 90 uint16_t XRI; 91 uint16_t state; 92#define XRI_STATE_FREE 0 93#define XRI_STATE_ALLOCATED 1 94 95 uint16_t sge_count; 96 uint16_t iotag; 97 MBUF_INFO SGList; 98 struct RPIobj *rpip; | 91 92typedef struct XRIobj 93{ 94 struct XRIobj *_f; 95 struct XRIobj *_b; 96 uint16_t XRI; 97 uint16_t state; 98#define XRI_STATE_FREE 0 99#define XRI_STATE_ALLOCATED 1 100 101 uint16_t sge_count; 102 uint16_t iotag; 103 MBUF_INFO SGList; 104 struct RPIobj *rpip; |
105 struct RPIobj *reserved_rpip; |
|
99 emlxs_buf_t *sbp; 100 uint32_t rx_id; /* Used for unsol exchanges */ 101 uint32_t flag; 102#define EMLXS_XRI_RESERVED 0x00000001 103#define EMLXS_XRI_PENDING_IO 0x00000002 | 106 emlxs_buf_t *sbp; 107 uint32_t rx_id; /* Used for unsol exchanges */ 108 uint32_t flag; 109#define EMLXS_XRI_RESERVED 0x00000001 110#define EMLXS_XRI_PENDING_IO 0x00000002 |
104#define EMLXS_XRI_ABORT_INP 0x00000004 | 111#define EMLXS_XRI_BUSY 0x00000004 |
105 | 112 |
113 uint32_t type; 114#define EMLXS_XRI_SOL_FCP_TYPE 1 115#define EMLXS_XRI_UNSOL_FCP_TYPE 2 116#define EMLXS_XRI_SOL_CT_TYPE 3 117#define EMLXS_XRI_UNSOL_CT_TYPE 4 118#define EMLXS_XRI_SOL_ELS_TYPE 5 119#define EMLXS_XRI_UNSOL_ELS_TYPE 6 120#define EMLXS_XRI_SOL_BLS_TYPE 7 121 |
|
106} XRIobj_t; 107 108 109typedef struct emlxs_deferred_cmpl 110{ 111 struct emlxs_port *port; 112 struct emlxs_node *node; 113 114 void *arg1; 115 void *arg2; 116 void *arg3; 117 118} emlxs_deferred_cmpl_t; 119 120 | 122} XRIobj_t; 123 124 125typedef struct emlxs_deferred_cmpl 126{ 127 struct emlxs_port *port; 128 struct emlxs_node *node; 129 130 void *arg1; 131 void *arg2; 132 void *arg3; 133 134} emlxs_deferred_cmpl_t; 135 136 |
137#define FABRIC_RPI 0xffff 138 |
|
121typedef struct RPIobj 122{ 123 uint16_t index; 124 uint16_t RPI; 125 126 uint16_t prev_reason; 127 uint16_t prev_state; 128 129 uint16_t reason; 130 uint16_t state; 131#define RPI_STATE_FREE 0 | 139typedef struct RPIobj 140{ 141 uint16_t index; 142 uint16_t RPI; 143 144 uint16_t prev_reason; 145 uint16_t prev_state; 146 147 uint16_t reason; 148 uint16_t state; 149#define RPI_STATE_FREE 0 |
132#define RPI_STATE_OFFLINE 1 | |
133 | 150 |
134#define RPI_STATE_UNREG_CMPL 2 135#define RPI_STATE_UNREG_FAILED 3 136#define RPI_STATE_UNREG 4 | 151#define RPI_STATE_RESERVED 1 152#define RPI_STATE_OFFLINE 2 |
137 | 153 |
138#define RPI_STATE_REG 5 139#define RPI_STATE_REG_FAILED 6 140#define RPI_STATE_REG_CMPL 7 | 154#define RPI_STATE_UNREG_CMPL 3 155#define RPI_STATE_UNREG_FAILED 4 156#define RPI_STATE_UNREG 5 |
141 | 157 |
142#define RPI_STATE_PAUSED 8 | 158#define RPI_STATE_REG 6 159#define RPI_STATE_REG_FAILED 7 160#define RPI_STATE_REG_CMPL 8 |
143 | 161 |
144#define RPI_STATE_RESUME 9 145#define RPI_STATE_RESUME_FAILED 10 146#define RPI_STATE_RESUME_CMPL 11 | 162#define RPI_STATE_PAUSED 9 |
147 | 163 |
148#define RPI_STATE_ONLINE 12 | 164#define RPI_STATE_RESUME 10 165#define RPI_STATE_RESUME_FAILED 11 166#define RPI_STATE_RESUME_CMPL 12 |
149 | 167 |
168#define RPI_STATE_ONLINE 13 |
|
150 | 169 |
170 |
|
151 uint32_t flag; 152#define EMLXS_RPI_VPI 0x00000010 /* rpi_online set */ 153#define EMLXS_RPI_PAUSED 0x00000020 /* rpi_paused set */ 154#define EMLXS_RPI_REG 0x00000040 155 156#define EMLXS_RPI_FIRST 0x80000000 157 158 uint32_t attempts; 159 uint32_t xri_count; /* Managed by XRIobj_t */ 160 | 171 uint32_t flag; 172#define EMLXS_RPI_VPI 0x00000010 /* rpi_online set */ 173#define EMLXS_RPI_PAUSED 0x00000020 /* rpi_paused set */ 174#define EMLXS_RPI_REG 0x00000040 175 176#define EMLXS_RPI_FIRST 0x80000000 177 178 uint32_t attempts; 179 uint32_t xri_count; /* Managed by XRIobj_t */ 180 |
181 uint32_t idle_timer; 182 |
|
161 struct VPIobj *vpip; 162 163 /* Node info */ 164 struct emlxs_node *node; 165 uint32_t did; 166 SERV_PARM sparam; 167 168 emlxs_deferred_cmpl_t *cmpl; --- 47 unchanged lines hidden (view full) --- 216#define EMLXS_VPI_REQ_MASK 0x0000000F 217 218#define EMLXS_VPI_VFI 0x00000010 /* vpi_online set */ 219#define EMLXS_VPI_VFI_LOGI 0x00000020 /* logi_count set */ 220#define EMLXS_VPI_INIT 0x00000040 221#define EMLXS_VPI_REG 0x00000080 222#define EMLXS_VPI_PORT_ONLINE 0x00000100 223#define EMLXS_VPI_LOGI 0x00000200 | 183 struct VPIobj *vpip; 184 185 /* Node info */ 186 struct emlxs_node *node; 187 uint32_t did; 188 SERV_PARM sparam; 189 190 emlxs_deferred_cmpl_t *cmpl; --- 47 unchanged lines hidden (view full) --- 238#define EMLXS_VPI_REQ_MASK 0x0000000F 239 240#define EMLXS_VPI_VFI 0x00000010 /* vpi_online set */ 241#define EMLXS_VPI_VFI_LOGI 0x00000020 /* logi_count set */ 242#define EMLXS_VPI_INIT 0x00000040 243#define EMLXS_VPI_REG 0x00000080 244#define EMLXS_VPI_PORT_ONLINE 0x00000100 245#define EMLXS_VPI_LOGI 0x00000200 |
246#define EMLXS_VPI_PORT_UNBIND 0x40000000 |
|
224#define EMLXS_VPI_PORT_ENABLED 0x80000000 225 226 uint32_t attempts; 227 | 247#define EMLXS_VPI_PORT_ENABLED 0x80000000 248 249 uint32_t attempts; 250 |
228 RPIobj_t fcf_rpi; /* Reserved Fabric RPI object */ 229 RPIobj_t *rpip; /* Fabric RPI pointer (&fcf_rpi) */ | 251 RPIobj_t fabric_rpi; /* Reserved Fabric RPI object */ 252 RPIobj_t *fabric_rpip; /* Fabric RPI pointer (&fabric_rpi) */ 253 RPIobj_t *p2p_rpip; |
230 | 254 |
231 emlxs_buf_t *flogi_sbp; 232 | |
233 struct emlxs_port *port; 234 235 struct VFIobj *vfip; /* Managed by VFIobj_t */ 236 uint32_t rpi_online; /* Managed by RPIobj_t */ 237 uint32_t rpi_paused; /* Managed by RPIobj_t */ 238 239} VPIobj_t; 240 --- 36 unchanged lines hidden (view full) --- 277#define EMLXS_VFI_OFFLINE_REQ 0x00000002 278#define EMLXS_VFI_PAUSE_REQ 0x00000004 279#define EMLXS_VFI_REQ_MASK 0x0000000F 280 281#define EMLXS_VFI_FCFI 0x00000010 /* vfi_online set */ 282#define EMLXS_VFI_INIT 0x00000020 283#define EMLXS_VFI_REG 0x00000040 284 | 255 struct emlxs_port *port; 256 257 struct VFIobj *vfip; /* Managed by VFIobj_t */ 258 uint32_t rpi_online; /* Managed by RPIobj_t */ 259 uint32_t rpi_paused; /* Managed by RPIobj_t */ 260 261} VPIobj_t; 262 --- 36 unchanged lines hidden (view full) --- 299#define EMLXS_VFI_OFFLINE_REQ 0x00000002 300#define EMLXS_VFI_PAUSE_REQ 0x00000004 301#define EMLXS_VFI_REQ_MASK 0x0000000F 302 303#define EMLXS_VFI_FCFI 0x00000010 /* vfi_online set */ 304#define EMLXS_VFI_INIT 0x00000020 305#define EMLXS_VFI_REG 0x00000040 306 |
307 SERV_PARM sparam; /* Last registered sparams */ 308 |
|
285 uint32_t attempts; 286 | 309 uint32_t attempts; 310 |
287 SERV_PARM fcf_sparam; | 311 struct FCFIobj *fcfp; /* Managed by FCFIobj_t */ |
288 | 312 |
289 struct FCFIobj *fcfp; /* Managed by FCFIobj_t */ 290 uint32_t vpi_online; /* Managed by VPIobj_t */ 291 uint32_t logi_count; /* Managed by VPIobj_t */ | 313 uint32_t vpi_online; /* Managed by VPIobj_t */ 314 uint32_t logi_count; /* Managed by VPIobj_t */ 315 struct VPIobj *flogi_vpip; /* Managed by VPIobj_t */ |
292 293} VFIobj_t; 294 295 296typedef struct FCFIobj 297{ 298 uint16_t index; 299 uint16_t FCFI; --- 22 unchanged lines hidden (view full) --- 322#define FCFI_STATE_VFI_OFFLINE 9 323 324#define FCFI_STATE_VFI_ONLINE 10 325#define FCFI_STATE_VFI_ONLINE_CMPL 11 326 327#define FCFI_STATE_PAUSED 12 328#define FCFI_STATE_ONLINE 13 329 | 316 317} VFIobj_t; 318 319 320typedef struct FCFIobj 321{ 322 uint16_t index; 323 uint16_t FCFI; --- 22 unchanged lines hidden (view full) --- 346#define FCFI_STATE_VFI_OFFLINE 9 347 348#define FCFI_STATE_VFI_ONLINE 10 349#define FCFI_STATE_VFI_ONLINE_CMPL 11 350 351#define FCFI_STATE_PAUSED 12 352#define FCFI_STATE_ONLINE 13 353 |
354 355 uint16_t pad; 356 uint16_t generation; 357 |
|
330 uint32_t offline_timer; 331 uint32_t attempts; | 358 uint32_t offline_timer; 359 uint32_t attempts; |
332 uint32_t generation; | 360 |
333 uint32_t event_tag; 334 uint32_t flag; 335#define EMLXS_FCFI_ONLINE_REQ 0x00000001 336#define EMLXS_FCFI_OFFLINE_REQ 0x00000002 337#define EMLXS_FCFI_PAUSE_REQ 0x00000004 338#define EMLXS_FCFI_REQ_MASK 0x0000000F 339 340#define EMLXS_FCFI_FCFTAB 0x00000010 /* fcfi_online set */ --- 40 unchanged lines hidden (view full) --- 381typedef struct FCFTable 382{ 383 384 uint16_t prev_reason; 385 uint16_t prev_state; 386 387 uint16_t reason; 388 uint16_t state; | 361 uint32_t event_tag; 362 uint32_t flag; 363#define EMLXS_FCFI_ONLINE_REQ 0x00000001 364#define EMLXS_FCFI_OFFLINE_REQ 0x00000002 365#define EMLXS_FCFI_PAUSE_REQ 0x00000004 366#define EMLXS_FCFI_REQ_MASK 0x0000000F 367 368#define EMLXS_FCFI_FCFTAB 0x00000010 /* fcfi_online set */ --- 40 unchanged lines hidden (view full) --- 409typedef struct FCFTable 410{ 411 412 uint16_t prev_reason; 413 uint16_t prev_state; 414 415 uint16_t reason; 416 uint16_t state; |
389#define FCFTAB_STATE_SHUTDOWN 0 390#define FCFTAB_STATE_OFFLINE 1 | 417/* Common states */ 418#define FCFTAB_STATE_SHUTDOWN 0 419#define FCFTAB_STATE_OFFLINE 1 |
391 | 420 |
392#define FCFTAB_STATE_SOLICIT 2 393#define FCFTAB_STATE_SOLICIT_FAILED 3 394#define FCFTAB_STATE_SOLICIT_CMPL 4 | 421/* FCOE states */ 422#define FCOE_FCFTAB_STATE_SHUTDOWN FCFTAB_STATE_SHUTDOWN 423#define FCOE_FCFTAB_STATE_OFFLINE FCFTAB_STATE_OFFLINE |
395 | 424 |
396#define FCFTAB_STATE_READ 5 397#define FCFTAB_STATE_READ_FAILED 6 398#define FCFTAB_STATE_READ_CMPL 7 | 425#define FCOE_FCFTAB_STATE_SOLICIT 2 426#define FCOE_FCFTAB_STATE_SOLICIT_FAILED 3 427#define FCOE_FCFTAB_STATE_SOLICIT_CMPL 4 |
399 | 428 |
400#define FCFTAB_STATE_FCFI_OFFLINE_CMPL 8 401#define FCFTAB_STATE_FCFI_OFFLINE 9 | 429#define FCOE_FCFTAB_STATE_READ 5 430#define FCOE_FCFTAB_STATE_READ_FAILED 6 431#define FCOE_FCFTAB_STATE_READ_CMPL 7 |
402 | 432 |
403#define FCFTAB_STATE_FCFI_ONLINE 10 404#define FCFTAB_STATE_FCFI_ONLINE_CMPL 11 | 433#define FCOE_FCFTAB_STATE_FCFI_OFFLINE_CMPL 8 434#define FCOE_FCFTAB_STATE_FCFI_OFFLINE 9 |
405 | 435 |
406#define FCFTAB_STATE_ONLINE 12 | 436#define FCOE_FCFTAB_STATE_FCFI_ONLINE 10 437#define FCOE_FCFTAB_STATE_FCFI_ONLINE_CMPL 11 |
407 | 438 |
408 uint32_t generation; | 439#define FCOE_FCFTAB_STATE_ONLINE 12 |
409 | 440 |
410 uint32_t read_timer; 411 uint32_t index; /* Used for read operations */ | 441 442/* FC states */ 443#define FC_FCFTAB_STATE_SHUTDOWN FCFTAB_STATE_SHUTDOWN 444#define FC_FCFTAB_STATE_OFFLINE FCFTAB_STATE_OFFLINE 445 446#define FC_FCFTAB_STATE_TOPO 2 447#define FC_FCFTAB_STATE_TOPO_FAILED 3 448#define FC_FCFTAB_STATE_TOPO_CMPL 4 449 450#define FC_FCFTAB_STATE_CFGLINK 5 451#define FC_FCFTAB_STATE_CFGLINK_FAILED 6 452#define FC_FCFTAB_STATE_CFGLINK_CMPL 7 453 454#define FC_FCFTAB_STATE_SPARM 8 455#define FC_FCFTAB_STATE_SPARM_FAILED 9 456#define FC_FCFTAB_STATE_SPARM_CMPL 10 457 458#define FC_FCFTAB_STATE_FCFI_OFFLINE_CMPL 11 459#define FC_FCFTAB_STATE_FCFI_OFFLINE 12 460 461#define FC_FCFTAB_STATE_FCFI_ONLINE 13 462#define FC_FCFTAB_STATE_FCFI_ONLINE_CMPL 14 463 464#define FC_FCFTAB_STATE_ONLINE 15 465 466 467 uint16_t TID; 468 uint16_t generation; 469 |
412 uint32_t flag; | 470 uint32_t flag; |
413#define EMLXS_FCFTAB_SOL_REQ 0x00000001 414#define EMLXS_FCFTAB_READ_REQ 0x00000002 415#define EMLXS_FCFTAB_OFFLINE_REQ 0x00000004 416#define EMLXS_FCFTAB_REQ_MASK 0x0000000F 417#define EMLXS_FCFTAB_SHUTDOWN 0x80000000 | 471/* Common flags */ 472#define EMLXS_FCFTAB_REQ_MASK 0x0000000F 473#define EMLXS_FCFTAB_SHUTDOWN 0x80000000 |
418 | 474 |
475/* FCOE flags */ 476#define EMLXS_FCOE_FCFTAB_SOL_REQ 0x00000001 477#define EMLXS_FCOE_FCFTAB_READ_REQ 0x00000002 478#define EMLXS_FCOE_FCFTAB_OFFLINE_REQ 0x00000004 479 480/* FC flags */ 481#define EMLXS_FC_FCFTAB_TOPO_REQ 0x00000001 482#define EMLXS_FC_FCFTAB_CFGLINK_REQ 0x00000002 483#define EMLXS_FC_FCFTAB_SPARM_REQ 0x00000004 484#define EMLXS_FC_FCFTAB_OFFLINE_REQ 0x00000008 485 |
|
419 uint32_t attempts; 420 421 uint32_t fcfi_online; /* Managed by FCFIobj_t */ 422 423 FCFIobj_t *fcfi[FCFTAB_MAX_FCFI_COUNT]; 424 uint32_t fcfi_count; 425 426 FCFIobj_t *table; 427 uint16_t table_count; 428 | 486 uint32_t attempts; 487 488 uint32_t fcfi_online; /* Managed by FCFIobj_t */ 489 490 FCFIobj_t *fcfi[FCFTAB_MAX_FCFI_COUNT]; 491 uint32_t fcfi_count; 492 493 FCFIobj_t *table; 494 uint16_t table_count; 495 |
429 uint32_t sol_timer; | 496 uint32_t online_timer; /* FC */ |
430 | 497 |
498 uint32_t sol_timer; /* FCOE */ 499 uint32_t read_timer; /* FCOE */ 500 |
|
431} FCFTable_t; 432#define FCFTAB_READ_ALL (void*)0xffff 433 434#ifdef __cplusplus 435} 436#endif 437 438#endif /* _EMLXS_FCF_H */ | 501} FCFTable_t; 502#define FCFTAB_READ_ALL (void*)0xffff 503 504#ifdef __cplusplus 505} 506#endif 507 508#endif /* _EMLXS_FCF_H */ |