xref: /illumos-gate/usr/src/uts/common/sys/fibre-channel/fca/emlxs/emlxs_messages.h (revision bb63f56ebeb244bd34f5e8d50900e3420f01b394)
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.
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 2009 Emulex.  All rights reserved.
24  * Use is subject to License terms.
25  */
26 
27 
28 #ifndef _EMLXS_MESSAGES_H
29 #define	_EMLXS_MESSAGES_H
30 
31 #ifdef	__cplusplus
32 extern "C" {
33 #endif
34 
35 
36 #ifdef DEF_MSG_REPORT
37 
38 #define	DEFINE_MSG(_id, _name, _msg, _level, _mask, _desc, _action, \
39 	_ereport, _impact)	{_msg, _id, _level, _mask, _desc, \
40 	_action, 0, 0, 0},
41 
42 #else	/* DEF_MSG_REPORT */
43 
44 #ifdef DEF_MSG_STRUCT
45 
46 #define	DEFINE_MSG(_id, _name, _msg, _level, _mask, _desc, _action, \
47 	_ereport, _impact)	emlxs_msg_t _name = {_msg, _id, _level, \
48 	_mask, _ereport, _impact};
49 
50 #else
51 
52 #define	DEFINE_MSG(_id, _name, _msg, _level, _mask, _desc, _action, \
53 	_ereport, _impact)	extern emlxs_msg_t _name;
54 
55 #endif	/* DEF_MSG_STRUCT */
56 
57 #endif	/* DEF_MSG_REPORT */
58 
59 
60 /*
61  *
62  * LOG Message Types Numbering Sequence
63  *
64  * Message Group            From
65  *
66  * MISC			000
67  * DRIVER		100    -Driver Attach and Detach events
68  * INIT			200    -HBA initialization events
69  * MEM			300
70  * SLI			400
71  * MBOX			500
72  * NODE			600
73  * LINK			700
74  * ELS			800
75  * PKT			900
76  * FCP			1000
77  * FCT (FCP Target)	1100
78  * IP			1200
79  * SFS			1300
80  * IOCTL		1400
81  * FIRMWARE		1500
82  * CT			1600
83  * FCSP			1700
84  * EVENTS		2000
85  *
86  */
87 
88 #ifdef DEF_MSG_REPORT
89 typedef struct emlxs_msg_group
90 {
91 	uint32_t	min;
92 	uint32_t	max;
93 	char		desc[80];
94 }  emlxs_msg_group_t;
95 
96 emlxs_msg_group_t msg_group[] =
97 {
98 	{0,	99,	"Miscellaneous Events"},
99 	{100,	199,	"Driver Events"},
100 	{200,	299,	"HBA Initialization Events"},
101 	{300,	399,	"Memory Management Events"},
102 	{400,	499,	"Service level Interface (SLI) Events"},
103 	{500,	599,	"Mailbox Events"},
104 	{600,	699,	"Node Events"},
105 	{700,	799,	"Link Events"},
106 	{800,	899,	"ELS Events"},
107 	{900,	999,	"General I/O Packet Events"},
108 	{1000,	1099,	"FCP Traffic Events"},
109 	{1100,	1199,	"FCT Traffic Events"},
110 	{1200,	1299,	"IP Traffic Events"},
111 	{1300,	1399,	"Solaris SFS Events"},
112 	{1400,	1499,	"IOCTL Events"},
113 	{1500,	1599,	"Firmware Download Events"},
114 	{1600,	1699,	"Common Transport Events"},
115 	{1700,	1799,	"Fibre Channel Security Protocol (FCSP) Events"},
116 };
117 
118 #define	MAX_MSG_GROUPS	(sizeof (msg_group) / sizeof (emlxs_msg_group_t))
119 #endif	/* DEF_MSG_REPORT */
120 
121 
122 /* Verbose flags */
123 #define	MSG_DISABLED		0x00000000	/* Always off */
124 #define	MSG_MISC		0x00000001	/* Misc events */
125 #define	MSG_DRIVER		0x00000002	/* Driver attach and detach */
126 						/* events */
127 #define	MSG_INIT		0x00000004	/* Initialization events */
128 #define	MSG_MEM			0x00000008	/* Memory management events */
129 #define	MSG_SLI			0x00000010	/* SLI events */
130 #define	MSG_MBOX		0x00000020	/* Mailbox events */
131 #define	MSG_NODE		0x00000040	/* Node table events */
132 #define	MSG_LINK		0x00000080	/* Link events */
133 #define	MSG_ELS			0x00000100	/* ELS events */
134 #define	MSG_PKT			0x00000200	/* General I/O packet events */
135 #define	MSG_FCP			0x00000400	/* FCP traffic events */
136 #define	MSG_FCT			0x00000800	/* FCP Target Mode events */
137 #define	MSG_IP			0x00001000	/* IP traffic events */
138 #define	MSG_SFS			0x00002000	/* ULP interface events */
139 #define	MSG_IOCTL		0x00004000	/* IOCtl events */
140 #define	MSG_FIRMWARE		0x00008000	/* Firmware download events */
141 #define	MSG_CT			0x00010000	/* CT events */
142 #define	MSG_FCSP		0x00020000	/* FCSP events */
143 #define	MSG_RESV18		0x00040000
144 #define	MSG_RESV19		0x00080000
145 #define	MSG_RESV20		0x00100000
146 #define	MSG_RESV21		0x00200000
147 #define	MSG_FCT_API		0x00400000	/* FCP Target Mode API trace */
148 #define	MSG_FCT_DETAIL		0x00800000	/* Detailed Target Mode */
149 						/* events */
150 #define	MSG_FCSP_DETAIL		0x01000000	/* Detailed FCSP events */
151 #define	MSG_NODE_DETAIL		0x02000000	/* Detailed node events */
152 #define	MSG_IOCTL_DETAIL	0x04000000	/* Detailed IOCTL events */
153 #define	MSG_IP_DETAIL		0x08000000	/* Detailed ip events */
154 						/* (very verbose) */
155 #define	MSG_FIRMWARE_DETAIL	0x10000000	/* Detailed firmware download */
156 						/* events (very verbose) */
157 #define	MSG_SFS_DETAIL		0x20000000	/* Detailed SFS interface */
158 						/* events (very verbose) */
159 #define	MSG_MBOX_DETAIL		0x40000000	/* Detailed Mailbox events */
160 						/* (very verbose) */
161 #define	MSG_SLI_DETAIL		0x80000000	/* Detailed SLI events */
162 						/* (very verbose) */
163 #define	MSG_ALWAYS		0xffffffff	/* Always on */
164 
165 /* DFC Events */
166 #define	EVT_LINK		0x00000001	/* FC_REG_LINK_EVENT */
167 #define	EVT_RSCN		0x00000002	/* FC_REG_RSCN_EVENT */
168 #define	EVT_CT			0x00000004	/* FC_REG_CT_EVENT   */
169 #define	EVT_MPULSE		0x00000008	/* FC_REG_MULTIPULSE_EVENT */
170 #define	EVT_DUMP		0x00000010	/* FC_REG_DUMP_EVENT */
171 #define	EVT_TEMP		0x00000020	/* FC_REG_TEMP_EVENT */
172 #define	EVT_VPORTRSCN		0x00000040	/* FC_REG_VPORTRSCN_EVENT */
173 #define	EVT_ASYNC		0x00000080	/* FC_REG_ASYNC_EVENT */
174 #ifdef SAN_DIAG_SUPPORT
175 #define	EVT_SD_ELS		0x00001000
176 #define	EVT_SD_FABRIC		0x00002000
177 #define	EVT_SD_SCSI		0x00004000
178 #define	EVT_SD_BOARD		0x00008000
179 #endif /* SAN_DIAG_SUPPORT */
180 #define	EVT_FCOE		0x80000000	/* FC_REG_FCOE_EVENT */
181 
182 /* Msg Levels */
183 #define	EMLXS_DEBUG	1
184 #define	EMLXS_NOTICE	2
185 #define	EMLXS_WARNING	3
186 #define	EMLXS_ERROR	4
187 #define	EMLXS_PANIC	5
188 #define	EMLXS_EVENT	6
189 
190 
191 typedef struct emlxs_msg
192 {
193 	char		buffer[64];	/* Msg buffer */
194 	uint32_t	id;		/* Msg number */
195 	uint32_t	level;		/* Msg level  */
196 	uint32_t	mask;		/* Msg mask (bit field) Message */
197 					/* will be logged only */
198 
199 #ifdef DEF_MSG_REPORT
200 	char		desc[512];
201 	char		action[512];
202 	uint32_t	flags;
203 #endif	/* DEF_MSG_REPORT */
204 
205 	char		*fm_ereport_code;
206 	int		fm_impact_code;
207 } emlxs_msg_t;
208 
209 
210 /* ACTION defines (common) */
211 #define	ACTION_NONE		"No action needed, informational."
212 #define	ACTION_NONE_REP		"No action needed, informational. " \
213 				"However, if the problem persists, " \
214 				"report these errors to your customer " \
215 				"service representative."
216 #define	ACTION_NONE_ADM		"No action needed, informational. " \
217 				"However, if the problem persists, " \
218 				"report these errors to your system "\
219 				"administrator."
220 #define	ACTION_CHK_HSCFG	"Check your hardware and software " \
221 				"configuration. If the problem persists, " \
222 				"report these errors to your customer " \
223 				"service representative."
224 #define	ACTION_CHK_HCFG		"Check your hardware configuration. " \
225 				"If the problem persists, report these " \
226 				"errors to your customer service " \
227 				"representative."
228 #define	ACTION_CHK_CONN		"Check your network connections. " \
229 				"If the problem persists, report these " \
230 				"errors to your system administrator."
231 #define	ACTION_REP		"Contact your customer service " \
232 				"representative."
233 #define	ACTION_IMG_REP		"Obtain the proper image file. If the " \
234 				"problem persists, report these errors " \
235 				"to your customer service representative."
236 
237 
238 /* MESSAGE defines */
239 #ifdef DEF_MSG_REPORT
240 emlxs_msg_t emlxs_message[] =
241 {
242 #endif /* DEF_MSG_REPORT */
243 
244 	/* GROUP:  MISC	000 - 099 */
245 
246 	DEFINE_MSG(1, \
247 		emlxs_debug_msg, \
248 		"", \
249 		EMLXS_DEBUG, \
250 		MSG_MISC, \
251 		"This is a general purpose informational message.", \
252 		ACTION_NONE, \
253 		NULL, \
254 		0)
255 
256 	DEFINE_MSG(2, \
257 		emlxs_notice_msg, \
258 		"", \
259 		EMLXS_NOTICE, \
260 		MSG_MISC, \
261 		"This is a general purpose informational message.", \
262 		ACTION_NONE, \
263 		NULL, \
264 		0)
265 
266 	DEFINE_MSG(3, \
267 		emlxs_warning_msg, \
268 		"", \
269 		EMLXS_WARNING, \
270 		MSG_MISC, \
271 		"This is a general purpose warning message.", \
272 		ACTION_NONE, \
273 		NULL, \
274 		0)
275 
276 	DEFINE_MSG(4, \
277 		emlxs_error_msg, \
278 		"", \
279 		EMLXS_ERROR, \
280 		MSG_MISC, \
281 		"This is a general purpose error message.", \
282 		ACTION_NONE, \
283 		NULL, \
284 		0)
285 
286 	DEFINE_MSG(5, \
287 		emlxs_panic_msg, \
288 		"", \
289 		EMLXS_PANIC, \
290 		MSG_MISC, \
291 		"This is a general purpose panic message.", \
292 		ACTION_REP, \
293 		NULL, \
294 		0)
295 
296 	DEFINE_MSG(6, \
297 		emlxs_event_msg, \
298 		"", \
299 		EMLXS_EVENT, \
300 		MSG_MISC, \
301 		"This is a general purpose event message.", \
302 		ACTION_REP, \
303 		NULL, \
304 		0)
305 
306 
307 	/* GROUP:  DRIVER	100 - 199 */
308 
309 	DEFINE_MSG(100, \
310 		emlxs_attach_msg, \
311 		"Driver attach.", \
312 		EMLXS_NOTICE, \
313 		MSG_DRIVER, \
314 		"This indicates that the driver is performing an attach " \
315 		"operation.", \
316 		ACTION_NONE, \
317 		NULL, \
318 		0)
319 
320 	DEFINE_MSG(101, \
321 		emlxs_attach_failed_msg, \
322 		"Driver attach failed.", \
323 		EMLXS_ERROR, \
324 		MSG_DRIVER, \
325 		"This indicates that the driver was unable to attach due to " \
326 		"some issue.", \
327 		ACTION_CHK_HSCFG, \
328 		NULL, \
329 		0)
330 
331 	DEFINE_MSG(102, \
332 		emlxs_attach_debug_msg, \
333 		"Driver attach.", \
334 		EMLXS_DEBUG, \
335 		MSG_DRIVER, \
336 		"This indicates that the driver is performing a attach " \
337 		"operation.", \
338 		ACTION_NONE, \
339 		NULL, \
340 		0)
341 
342 	DEFINE_MSG(110, \
343 		emlxs_detach_msg, \
344 		"Driver detach.", \
345 		EMLXS_NOTICE, \
346 		MSG_DRIVER, \
347 		"This indicates that the driver is performing a detach " \
348 		"operation.", \
349 		ACTION_NONE, \
350 		NULL, \
351 		0)
352 
353 	DEFINE_MSG(111, \
354 		emlxs_detach_failed_msg, \
355 		"Driver detach failed.", \
356 		EMLXS_ERROR, \
357 		MSG_DRIVER, \
358 		"This indicates that the driver was unable to detach due to " \
359 		"some issue.", \
360 		ACTION_CHK_HSCFG, \
361 		NULL, \
362 		0)
363 
364 	DEFINE_MSG(112, \
365 		emlxs_detach_debug_msg, \
366 		"Driver detach.", \
367 		EMLXS_DEBUG, \
368 		MSG_DRIVER, \
369 		"This indicates that the driver is performing a detach " \
370 		"operation.", \
371 		ACTION_NONE, \
372 		NULL, \
373 		0)
374 
375 	DEFINE_MSG(120, \
376 		emlxs_suspend_msg, \
377 		"Driver suspend.", \
378 		EMLXS_DEBUG, \
379 		MSG_DRIVER, \
380 		"This indicates that the driver is performing a suspend " \
381 		"operation.", \
382 		ACTION_NONE, \
383 		NULL, \
384 		0)
385 
386 	DEFINE_MSG(121, \
387 		emlxs_suspend_failed_msg, \
388 		"Driver suspend failed.", \
389 		EMLXS_ERROR, \
390 		MSG_DRIVER, \
391 		"This indicates that the driver was unable to suspend due " \
392 		"to some issue.", \
393 		ACTION_CHK_HSCFG, \
394 		NULL, \
395 		0)
396 
397 	DEFINE_MSG(130, \
398 		emlxs_resume_msg, \
399 		"Driver resume.", \
400 		EMLXS_DEBUG, \
401 		MSG_DRIVER, \
402 		"This indicates that the driver is performing a resume " \
403 		"operation.", \
404 		ACTION_NONE, \
405 		NULL, \
406 		0)
407 
408 	DEFINE_MSG(131, \
409 		emlxs_resume_failed_msg, \
410 		"Driver resume failed.", \
411 		EMLXS_ERROR, \
412 		MSG_DRIVER, \
413 		"This indicates that the driver was unable to resume due to " \
414 		"some issue.", \
415 		ACTION_CHK_HSCFG, \
416 		NULL, \
417 		0)
418 
419 
420 	/* GROUP:  INIT	200 - 299 */
421 
422 
423 	DEFINE_MSG(200, \
424 		emlxs_init_msg, \
425 		"Adapter initialization.", \
426 		EMLXS_NOTICE, \
427 		MSG_INIT, \
428 		"This indicates that the adapter is initializing.", \
429 		ACTION_NONE, \
430 		NULL, \
431 		0)
432 
433 	DEFINE_MSG(201, \
434 		emlxs_init_failed_msg, \
435 		"Adapter initialization failed.", \
436 		EMLXS_ERROR, \
437 		MSG_INIT, \
438 		"This indicates that an attempt to initialize the adapter " \
439 		"has failed.", \
440 		ACTION_CHK_HCFG, \
441 		NULL, \
442 		0)
443 
444 	DEFINE_MSG(202, \
445 		emlxs_init_debug_msg, \
446 		"Adapter initialization.", \
447 		EMLXS_DEBUG, \
448 		MSG_INIT, \
449 		"This indicates that the adapter is initializing.", \
450 		ACTION_NONE, \
451 		NULL, \
452 		0)
453 
454 	DEFINE_MSG(210, \
455 		emlxs_adapter_trans_msg, \
456 		"Adapter transition.", \
457 		EMLXS_DEBUG, \
458 		MSG_INIT, \
459 		"This indicates that the adapter is changing states.", \
460 		ACTION_NONE, \
461 		NULL, \
462 		0)
463 
464 	DEFINE_MSG(220, \
465 		emlxs_online_msg, \
466 		"Adapter online.", \
467 		EMLXS_DEBUG, \
468 		MSG_INIT, \
469 		"This indicates that the adapter is online and ready to " \
470 		"communicate.", \
471 		ACTION_NONE, \
472 		NULL, \
473 		0)
474 
475 	DEFINE_MSG(230, \
476 		emlxs_offline_msg, \
477 		"Adapter offline.", \
478 		EMLXS_DEBUG, \
479 		MSG_INIT, \
480 		"This indicates that the adapter is offline and unable to " \
481 		"communicate.", \
482 		ACTION_NONE, \
483 		NULL, \
484 		0)
485 
486 	DEFINE_MSG(231, \
487 		emlxs_shutdown_msg, \
488 		"Adapter shutdown.", \
489 		EMLXS_WARNING, \
490 		MSG_INIT, \
491 		"This indicates that the adapter has been shutdown and will " \
492 		"require a reboot to reinitialize.", \
493 		ACTION_REP, \
494 		DDI_FM_DEVICE_INVAL_STATE, \
495 		DDI_SERVICE_LOST)
496 
497 	DEFINE_MSG(240, \
498 		emlxs_reset_failed_msg, \
499 		"Adapter reset failed.", \
500 		EMLXS_ERROR, \
501 		MSG_INIT, \
502 		"This indicates that an attempt to reset the adapter has " \
503 		"failed.", \
504 		ACTION_CHK_HCFG, \
505 		DDI_FM_DEVICE_INVAL_STATE, \
506 		DDI_SERVICE_LOST)
507 
508 
509 	/* GROUP:  MEM		300 - 399 */
510 
511 
512 	DEFINE_MSG(300, \
513 		emlxs_mem_alloc_msg, \
514 		"Memory alloc.", \
515 		EMLXS_DEBUG, \
516 		MSG_MEM, \
517 		"This indicates that the driver allocated system memory.", \
518 		ACTION_NONE, \
519 		NULL, \
520 		0)
521 
522 	DEFINE_MSG(301, \
523 		emlxs_mem_alloc_failed_msg, \
524 		"Memory alloc failed.", \
525 		EMLXS_ERROR, \
526 		MSG_MEM, \
527 		"This indicates that the driver was unable to allocate " \
528 		"system memory. The system is low on memory resources.", \
529 		ACTION_NONE_ADM, \
530 		NULL, \
531 		0)
532 
533 	DEFINE_MSG(310, \
534 		emlxs_pool_error_msg, \
535 		"Memory pool error.", \
536 		EMLXS_ERROR, \
537 		MSG_MEM, \
538 		"This indicates that a problem has occurred with the " \
539 		"memory buffer pool management.", \
540 		ACTION_NONE_REP, \
541 		NULL, \
542 		0)
543 
544 	DEFINE_MSG(311, \
545 		emlxs_pool_alloc_failed_msg, \
546 		"Memory pool alloc failed.", \
547 		EMLXS_DEBUG, \
548 		MSG_MEM, \
549 		"This indicates that the driver was unable to allocate " \
550 		"memory from one of its own memory pools.",
551 		"If the problem occurs frequently you may be able to " \
552 		"configure more resources for that pool. If this does " \
553 		"not solve the problem, report these errors to customer " \
554 		"service.", \
555 		NULL, \
556 		0)
557 
558 	DEFINE_MSG(320, \
559 		emlxs_no_unsol_buf_msg, \
560 		"No unsolicited buffer available.", \
561 		EMLXS_NOTICE, \
562 		MSG_MEM, \
563 		"This indicates that the driver's unsolicited buffer pool " \
564 		"is exhausted. The I/O will be dropped and most likely ", \
565 		"retried by the remote device. If the problem occurs " \
566 		"frequently you may be able to configure more resources " \
567 		"for that pool. If this does not solve the problem, report " \
568 		"these errors to customer service.", \
569 		NULL, \
570 		0)
571 
572 	DEFINE_MSG(330, \
573 		emlxs_invalid_access_handle_msg, \
574 		"Invalid access handle.", \
575 		EMLXS_ERROR, \
576 		MSG_MEM, \
577 		"This indicates that the driver had an invalid access " \
578 		"handle assigned by the system.", \
579 		"If the problem occurs frequently, report these errors " \
580 		"to customer service.", \
581 		NULL, \
582 		DDI_SERVICE_LOST)
583 
584 	DEFINE_MSG(331, \
585 		emlxs_invalid_dma_handle_msg, \
586 		"Invalid DMA handle.", \
587 		EMLXS_ERROR, \
588 		MSG_MEM, \
589 		"This indicates that the driver had an invalid dma " \
590 		"handle assigned by the system.", \
591 		"If the problem occurs frequently, report these errors " \
592 		"to customer service.", \
593 		NULL, \
594 		DDI_SERVICE_UNAFFECTED)
595 
596 
597 	/* GROUP:  SLI		400 - 499 */
598 
599 
600 	DEFINE_MSG(400, \
601 		emlxs_vpd_msg, \
602 		"Vital Product Data.", \
603 		EMLXS_DEBUG, \
604 		MSG_SLI, \
605 		"This provides vendor specific information about the " \
606 		"adapter.", \
607 		ACTION_NONE, \
608 		NULL, \
609 		0)
610 
611 	DEFINE_MSG(410, \
612 		emlxs_link_atten_msg, \
613 		"Link atten.", \
614 		EMLXS_DEBUG, \
615 		MSG_SLI, \
616 		"This indicates that the adapter has triggered a link " \
617 		"attention interrupt.", \
618 		ACTION_NONE, \
619 		NULL, \
620 		0)
621 
622 	DEFINE_MSG(411, \
623 		emlxs_state_msg, \
624 		"State change.", \
625 		EMLXS_DEBUG, \
626 		MSG_SLI, \
627 		"This indicates that the adapter has changed state.", \
628 		ACTION_NONE, \
629 		NULL, \
630 		0)
631 
632 	DEFINE_MSG(412, \
633 		emlxs_linkup_atten_msg, \
634 		"Link Up atten.", \
635 		EMLXS_DEBUG, \
636 		MSG_SLI, \
637 		"This indicates that the adapter has triggered a link up " \
638 		"attention interrupt.", \
639 		ACTION_NONE, \
640 		NULL, \
641 		0)
642 
643 	DEFINE_MSG(413, \
644 		emlxs_linkdown_atten_msg, \
645 		"Link Down atten.", \
646 		EMLXS_DEBUG, \
647 		MSG_SLI, \
648 		"This indicates that the adapter has triggered a link down " \
649 		"attention interrupt.", \
650 		ACTION_NONE, \
651 		NULL, \
652 		0)
653 
654 	DEFINE_MSG(420, \
655 		emlxs_hardware_error_msg, \
656 		"Adapter hardware error.", \
657 		EMLXS_ERROR, \
658 		MSG_SLI, \
659 		"This indicates that an interrupt has occurred and the " \
660 		"status register indicates a nonrecoverable hardware ", \
661 		"error. This error usually indicates a hardware problem " \
662 		"with the adapter. Try running adapter diagnostics. Report "\
663 		"these errors to customer service.", \
664 		NULL, \
665 		0)
666 
667 	DEFINE_MSG(421, \
668 		emlxs_temp_msg, \
669 		"Adapter temperature.", \
670 		EMLXS_NOTICE, \
671 		MSG_SLI, \
672 		"This indicates that the adapter has provided general " \
673 		"information about the adapter's temperature.", \
674 		ACTION_NONE, \
675 		NULL, \
676 		0)
677 
678 	DEFINE_MSG(422, \
679 		emlxs_temp_warning_msg, \
680 		"Adapter temperature.", \
681 		EMLXS_WARNING, \
682 		MSG_SLI, \
683 		"This indicates that adapter's temperature is too hot.", \
684 		"Check hardware ventilation. Reduce adapter usage. " \
685 		"Shutdown host system.", \
686 		NULL, \
687 		0)
688 
689 	DEFINE_MSG(423, \
690 		emlxs_adapter_notice_msg, \
691 		"Adapter notice.", \
692 		EMLXS_NOTICE, \
693 		MSG_SLI, \
694 		"This indicates that the adapter has provided general " \
695 		"information about the adapter's condition.", \
696 		ACTION_NONE, \
697 		NULL, \
698 		0)
699 
700 	DEFINE_MSG(424, \
701 		emlxs_adapter_warning_msg, \
702 		"Adapter warning.", \
703 		EMLXS_WARNING, \
704 		MSG_SLI, \
705 		"This indicates that an interrupt has occurred indicating " \
706 		"a recoverable adapter error.", \
707 		"This error usually indicates a hardware or firmware " \
708 		"problem with the adapter. Check and/or update firmware " \
709 		"levels. Report these errors to customer service.", \
710 		NULL, \
711 		0)
712 
713 	DEFINE_MSG(425, \
714 		emlxs_adapter_error_msg, \
715 		"Adapter error.", \
716 		EMLXS_ERROR, \
717 		MSG_SLI, \
718 		"This indicates that a recoverable adapter error has " \
719 		"occurred.", \
720 		"This error usually indicates a hardware or firmware " \
721 		"problem with the adapter. Check and/or update firmware " \
722 		"levels. Report these errors to customer service.", \
723 		NULL, \
724 		0)
725 
726 	DEFINE_MSG(426, \
727 		emlxs_async_msg, \
728 		"Adapter Async Status.", \
729 		EMLXS_NOTICE, \
730 		MSG_SLI, \
731 		"This indicates that the adapter has provided general " \
732 		"information about the adapter's async status.", \
733 		ACTION_NONE, \
734 		NULL, \
735 		0)
736 
737 	DEFINE_MSG(430, \
738 		emlxs_ring_event_msg, \
739 		"Ring event.", \
740 		EMLXS_DEBUG, \
741 		MSG_SLI, \
742 		"This indicates that an SLI ring event has occurred.", \
743 		ACTION_NONE, \
744 		NULL, \
745 		0)
746 
747 	DEFINE_MSG(431, \
748 		emlxs_ring_error_msg, \
749 		"Ring error.", \
750 		EMLXS_DEBUG, \
751 		MSG_SLI, \
752 		"This indicates an SLI ring error is being reported by " \
753 		"the adapter", \
754 		ACTION_NONE, \
755 		NULL, \
756 		0)
757 
758 	DEFINE_MSG(432, \
759 		emlxs_ring_reset_msg, \
760 		"Ring reset.", \
761 		EMLXS_DEBUG, \
762 		MSG_SLI, \
763 		"This indicates an SLI ring is being reset.", \
764 		ACTION_NONE, \
765 		NULL, \
766 		0)
767 
768 	DEFINE_MSG(440, \
769 		emlxs_adapter_msg, \
770 		"Adapter msg.", \
771 		EMLXS_DEBUG, \
772 		MSG_SLI, \
773 		"This indicates that a message was sent to the driver " \
774 		"from the adapter.", \
775 		ACTION_NONE, \
776 		NULL, \
777 		0)
778 
779 	DEFINE_MSG(450, \
780 		emlxs_iocb_invalid_msg, \
781 		"IOCB invalid.", \
782 		EMLXS_ERROR, \
783 		MSG_SLI, \
784 		"This indicates that an IOCB was received from the adapter " \
785 		"with an illegal value. This error could indicate a driver " \
786 		"or firmware problem.", \
787 		ACTION_NONE_REP, \
788 		DDI_FM_DEVICE_INTERN_UNCORR, \
789 		DDI_SERVICE_DEGRADED)
790 
791 	DEFINE_MSG(451, \
792 		emlxs_iocb_qfull_msg, \
793 		"IOCB queue full.", \
794 		EMLXS_DEBUG, \
795 		MSG_SLI, \
796 		"This indicates that the IOCB queue is full. This will " \
797 		"occur during normal operation.", \
798 		ACTION_NONE, \
799 		NULL, \
800 		0)
801 
802 	DEFINE_MSG(452, \
803 		emlxs_iocb_event_msg, \
804 		"IOCB event.", \
805 		EMLXS_DEBUG, \
806 		MSG_SLI, \
807 		"This indicates an IOCB local error event is being " \
808 		"reported by the adapter", \
809 		ACTION_NONE, \
810 		NULL, \
811 		0)
812 
813 	DEFINE_MSG(453, \
814 		emlxs_iocb_stale_msg, \
815 		"IOCB stale.", \
816 		EMLXS_DEBUG, \
817 		MSG_SLI, \
818 		"This indicates an IOCB completed after its " \
819 		"associated packet completed.", \
820 		ACTION_NONE, \
821 		NULL, \
822 		0)
823 
824 	DEFINE_MSG(460, \
825 		emlxs_sli_detail_msg, \
826 		"SLI detail.", \
827 		EMLXS_DEBUG, \
828 		MSG_SLI_DETAIL, \
829 		"This provides detailed information about an SLI event.", \
830 		ACTION_NONE, \
831 		NULL, \
832 		0)
833 
834 
835 	/* GROUP:  MBOX		500 - 599 */
836 
837 
838 	DEFINE_MSG(500, \
839 		emlxs_mbox_event_msg, \
840 		"Mailbox event.", \
841 		EMLXS_DEBUG, \
842 		MSG_MBOX, \
843 		"This indicates that a mailbox event has occurred.", \
844 		ACTION_NONE, \
845 		NULL, \
846 		0)
847 
848 	DEFINE_MSG(501, \
849 		emlxs_mbox_detail_msg, \
850 		"Mailbox detail.", \
851 		EMLXS_DEBUG, \
852 		MSG_MBOX_DETAIL, \
853 		"This provides detailed information about a mailbox event.", \
854 		ACTION_NONE, \
855 		NULL, \
856 		0)
857 
858 	DEFINE_MSG(510, \
859 		emlxs_stray_mbox_intr_msg, \
860 		"Stray mailbox interrupt.", \
861 		EMLXS_DEBUG, \
862 		MSG_MBOX, \
863 		"This indicates that a mailbox command completion interrupt " \
864 		"was received and the mailbox is not valid. This error could " \
865 		"indicate a driver or firmware problem.", \
866 		ACTION_NONE_REP, \
867 		DDI_FM_DEVICE_INTERN_UNCORR, \
868 		DDI_SERVICE_DEGRADED)
869 
870 	DEFINE_MSG(520, \
871 		emlxs_mbox_completion_error_msg, \
872 		"Mailbox error.", \
873 		EMLXS_DEBUG, \
874 		MSG_MBOX, \
875 		"This indicates that an unsupported or illegal mailbox " \
876 		"command was completed. This error could indicate a driver " \
877 		"or firmware problem.", \
878 		ACTION_NONE_REP, \
879 		NULL, \
880 		DDI_SERVICE_UNAFFECTED)
881 
882 	DEFINE_MSG(530, \
883 		emlxs_mbox_timeout_msg, \
884 		"Mailbox timeout.", \
885 		EMLXS_ERROR, \
886 		MSG_MBOX, \
887 		"The firmware did not response a mailbox command. " \
888 		"This error could indicate a hardware or firmware problem.", \
889 		ACTION_NONE_REP, \
890 		DDI_FM_DEVICE_NO_RESPONSE, \
891 		DDI_SERVICE_LOST)
892 
893 
894 	/* GROUP:  NODE		600 - 699 */
895 
896 	DEFINE_MSG(600, \
897 		emlxs_node_create_msg, \
898 		"Node create.", \
899 		EMLXS_DEBUG, \
900 		MSG_NODE, \
901 		"This indicates that a node has been created for a " \
902 		"remote device.", \
903 		ACTION_NONE, \
904 		NULL, \
905 		0)
906 
907 	DEFINE_MSG(601, \
908 		emlxs_node_opened_msg, \
909 		"Node opened.", \
910 		EMLXS_DEBUG, \
911 		MSG_NODE_DETAIL, \
912 		"This indicates that a node has been opened for " \
913 		"IO transport.", \
914 		ACTION_NONE, \
915 		NULL, \
916 		0)
917 
918 	DEFINE_MSG(602, \
919 		emlxs_node_create_failed_msg, \
920 		"Node create failed.", \
921 		EMLXS_NOTICE, \
922 		MSG_NODE, \
923 		"This indicates that a node create request for a remote " \
924 		"device has failed.", \
925 		ACTION_NONE, \
926 		NULL, \
927 		0)
928 
929 	DEFINE_MSG(603, \
930 		emlxs_node_update_msg, \
931 		"Node updated.", \
932 		EMLXS_DEBUG, \
933 		MSG_NODE, \
934 		"This indicates that a node has been updated for a " \
935 		"remote device.", \
936 		ACTION_NONE, \
937 		NULL, \
938 		0)
939 
940 	DEFINE_MSG(610, \
941 		emlxs_node_destroy_msg, \
942 		"Node destroy.", \
943 		EMLXS_DEBUG, \
944 		MSG_NODE, \
945 		"This indicates that a node has been destroyed for a " \
946 		"remote device.", \
947 		ACTION_NONE, \
948 		NULL, \
949 		0)
950 
951 	DEFINE_MSG(611, \
952 		emlxs_node_closed_msg, \
953 		"Node closed.", \
954 		EMLXS_DEBUG, \
955 		MSG_NODE_DETAIL, \
956 		"This indicates that a node has been temporarily " \
957 		"closed for IO transport.", \
958 		ACTION_NONE, \
959 		NULL, \
960 		0)
961 
962 	DEFINE_MSG(612, \
963 		emlxs_node_missing_msg, \
964 		"Node missing.", \
965 		EMLXS_NOTICE, \
966 		MSG_NODE, \
967 		"This indicates that a FCP2 device node has been " \
968 		"found missing.", \
969 		ACTION_NONE, \
970 		NULL, \
971 		0)
972 
973 	DEFINE_MSG(620, \
974 		emlxs_node_not_found_msg, \
975 		"Node not found.", \
976 		EMLXS_DEBUG, \
977 		MSG_NODE, \
978 		"This indicates that there was an attempt to send an I/O pkt " \
979 		"to an unknown device node. The driver maintains a node " \
980 		"table entry for every device it needs to communicate with " \
981 		"on the FC network.", \
982 		ACTION_NONE_REP, \
983 		NULL, \
984 		0)
985 
986 	DEFINE_MSG(621, \
987 		emlxs_node_timeout_msg, \
988 		"Node timeout.", \
989 		EMLXS_DEBUG, \
990 		MSG_NODE, \
991 		"This indicates that the node timer expired. " \
992 		"This means the node is ready to be opened or " \
993 		"it has been offline too long and needs to be flushed.", \
994 		ACTION_NONE, \
995 		NULL, \
996 		0)
997 
998 	/* GROUP:  LINK		700 - 799 */
999 
1000 	DEFINE_MSG(700, \
1001 		emlxs_link_event_msg, \
1002 		"Link event.", \
1003 		EMLXS_DEBUG, \
1004 		MSG_LINK | MSG_SLI, \
1005 		"This indicates that a link event has occurred.", \
1006 		ACTION_NONE, \
1007 		NULL, \
1008 		0)
1009 
1010 	DEFINE_MSG(710, \
1011 		emlxs_link_down_msg, \
1012 		"Link down.", \
1013 		EMLXS_NOTICE, \
1014 		MSG_LINK, \
1015 		"This indicates that the fibre channel link is down to " \
1016 		"the adapter.", \
1017 		ACTION_CHK_CONN, \
1018 		NULL, \
1019 		0)
1020 
1021 	DEFINE_MSG(720, \
1022 		emlxs_link_up_msg, \
1023 		"Link up.", \
1024 		EMLXS_NOTICE, \
1025 		MSG_LINK, \
1026 		"This indicates that the fibre channel link is up.", \
1027 		ACTION_NONE, \
1028 		NULL, \
1029 		0)
1030 
1031 	DEFINE_MSG(721, \
1032 		emlxs_npiv_link_up_msg, \
1033 		"NPIV Link up.", \
1034 		EMLXS_NOTICE, \
1035 		MSG_LINK, \
1036 		"This indicates that the fibre channel link is up for all " \
1037 		"virtual ports.", \
1038 		ACTION_NONE, \
1039 		NULL, \
1040 		0)
1041 
1042 	DEFINE_MSG(730, \
1043 		emlxs_link_reset_msg, \
1044 		"Link reset.", \
1045 		EMLXS_NOTICE, \
1046 		MSG_LINK | MSG_SFS, \
1047 		"This indicates that an issue has forced the fibre channel " \
1048 		"link to be reset.", \
1049 		ACTION_NONE, \
1050 		NULL, \
1051 		0)
1052 
1053 	DEFINE_MSG(731, \
1054 		emlxs_link_reset_failed_msg, \
1055 		"Link reset failed.", \
1056 		EMLXS_ERROR, \
1057 		MSG_LINK | MSG_SFS, \
1058 		"This indicates that an attempt to reset the fibre channel " \
1059 		"link has failed.", \
1060 		ACTION_NONE_REP, \
1061 		DDI_FM_DEVICE_INTERN_CORR, \
1062 		DDI_SERVICE_DEGRADED)
1063 
1064 
1065 
1066 	/* GROUP:  ELS		800 - 899 */
1067 
1068 	DEFINE_MSG(800, \
1069 		emlxs_els_send_msg, \
1070 		"ELS sent. ", \
1071 		EMLXS_DEBUG, \
1072 		MSG_ELS, \
1073 		"This indicates that an ELS command is being sent.", \
1074 		ACTION_NONE, \
1075 		NULL, \
1076 		0)
1077 
1078 	DEFINE_MSG(801, \
1079 		emlxs_els_completion_msg, \
1080 		"ELS comp. ", \
1081 		EMLXS_DEBUG, \
1082 		MSG_ELS, \
1083 		"This indicates that an ELS command completed normally.", \
1084 		ACTION_NONE, \
1085 		NULL, \
1086 		0)
1087 
1088 	DEFINE_MSG(810, \
1089 		emlxs_stray_els_completion_msg, \
1090 		"Stray ELS completion.", \
1091 		EMLXS_ERROR, \
1092 		MSG_ELS, \
1093 		"This indicates that the an ELS command completion was " \
1094 		"received without issuing a corresponding ELS command. " \
1095 		"This error could indicate a driver or firmware problem. ", \
1096 		ACTION_NONE_REP, \
1097 		DDI_FM_DEVICE_INTERN_UNCORR, \
1098 		DDI_SERVICE_DEGRADED)
1099 
1100 	DEFINE_MSG(811, \
1101 		emlxs_bad_els_completion_msg, \
1102 		"Abnormal ELS completion.", \
1103 		EMLXS_DEBUG, \
1104 		MSG_ELS, \
1105 		"This indicates that an ELS command completed with a status " \
1106 		"error in the IOCB. It could mean the Fibre Channel device " \
1107 		"on the network is not responding or the Fibre Channel " \
1108 		"device is not an FCP target. The driver will automatically ", \
1109 		"retry this ELS command if needed. If the command is a PLOGI " \
1110 		"or PRLI, and the destination PortID is not an FCP Target, " \
1111 		"no action is needed. Otherwise, check physical connections " \
1112 		"to Fibre Channel network and the state the remote PortID " \
1113 		"is in.", \
1114 		NULL, \
1115 		0)
1116 
1117 	DEFINE_MSG(820, \
1118 		emlxs_unsol_els_msg, \
1119 		"ELS rcvd. ", \
1120 		EMLXS_DEBUG, \
1121 		MSG_ELS, \
1122 		"This indicates that an unsolicited ELS command was " \
1123 		"received.", \
1124 		ACTION_NONE, \
1125 		NULL, \
1126 		0)
1127 
1128 	DEFINE_MSG(821, \
1129 		emlxs_unsol_els_dropped_msg, \
1130 		"Unsolicited ELS dropped.", \
1131 		EMLXS_DEBUG, \
1132 		MSG_ELS, \
1133 		"This indicates that an unsolicited ELS command was " \
1134 		"received and then dropped for some reason.", \
1135 		ACTION_NONE, \
1136 		NULL, \
1137 		0)
1138 
1139 	DEFINE_MSG(822, \
1140 		emlxs_els_reply_msg, \
1141 		"ELS reply.", \
1142 		EMLXS_DEBUG, \
1143 		MSG_ELS, \
1144 		"This indicates that a reply is being sent for an " \
1145 		"unsolicited ELS command.", \
1146 		ACTION_NONE, \
1147 		NULL, \
1148 		0)
1149 
1150 	DEFINE_MSG(830, \
1151 		emlxs_invalid_els_msg, \
1152 		"Invalid ELS command found.", \
1153 		EMLXS_ERROR, \
1154 		MSG_ELS, \
1155 		"This indicates that an ELS command was found with an " \
1156 		"invalid command code.", \
1157 		ACTION_NONE_REP, \
1158 		DDI_FM_DEVICE_INTERN_UNCORR, \
1159 		DDI_SERVICE_UNAFFECTED)
1160 
1161 
1162 	/* GROUP:  PKT		900 - 999 */
1163 
1164 
1165 	DEFINE_MSG(900, \
1166 		emlxs_pkt_abort_msg, \
1167 		"Packet abort.", \
1168 		EMLXS_NOTICE, \
1169 		MSG_PKT, \
1170 		"This indicates that an I/O packet is being aborted.", \
1171 		ACTION_NONE, \
1172 		NULL, \
1173 		0)
1174 
1175 	DEFINE_MSG(901, \
1176 		emlxs_pkt_abort_failed_msg, \
1177 		"Packet abort failed.", \
1178 		EMLXS_WARNING, \
1179 		MSG_PKT, \
1180 		"This indicates that an attempt to abort an I/O packet " \
1181 		"has failed.", \
1182 		ACTION_NONE_REP, \
1183 		NULL, \
1184 		0)
1185 
1186 	DEFINE_MSG(910, \
1187 		emlxs_pkt_timeout_msg, \
1188 		"Packet timeout.", \
1189 		EMLXS_DEBUG, \
1190 		MSG_PKT, \
1191 		"This indicates that an I/O packet has timed out and is " \
1192 		"being aborted.", \
1193 		ACTION_NONE, \
1194 		NULL, \
1195 		0)
1196 
1197 	DEFINE_MSG(911, \
1198 		emlxs_ring_watchdog_msg, \
1199 		"Ring watchdog.", \
1200 		EMLXS_DEBUG, \
1201 		MSG_PKT, \
1202 		"This indicates that IO(s) are getting stale waiting on a " \
1203 		"ring tx queue.", \
1204 		ACTION_NONE, \
1205 		NULL, \
1206 		0)
1207 
1208 	DEFINE_MSG(912, \
1209 		emlxs_txq_watchdog_msg, \
1210 		"TXQ watchdog.", \
1211 		EMLXS_DEBUG, \
1212 		MSG_PKT, \
1213 		"This indicates that an IO was found missing from the " \
1214 		"transmit queue.", \
1215 		ACTION_NONE, \
1216 		NULL, \
1217 		0)
1218 
1219 	DEFINE_MSG(920, \
1220 		emlxs_pkt_flush_msg, \
1221 		"Packet flush.", \
1222 		EMLXS_DEBUG, \
1223 		MSG_PKT, \
1224 		"This indicates that an I/O packet is being flushed.", \
1225 		ACTION_NONE, \
1226 		NULL, \
1227 		0)
1228 
1229 	DEFINE_MSG(921, \
1230 		emlxs_pkt_flushed_msg, \
1231 		"Packet flushed.", \
1232 		EMLXS_DEBUG, \
1233 		MSG_PKT, \
1234 		"This indicates that an I/O packet has been flushed.", \
1235 		ACTION_NONE, \
1236 		NULL, \
1237 		0)
1238 
1239 	DEFINE_MSG(922, \
1240 		emlxs_flush_timeout_msg, \
1241 		"Packet flush timeout.", \
1242 		EMLXS_NOTICE, \
1243 		MSG_PKT, \
1244 		"This indicates that an I/O packet flush request has " \
1245 		"timed out with some I/O packets's still not completed. " \
1246 		"The driver will attempt to recover by itself.", \
1247 		ACTION_NONE_REP, \
1248 		NULL, \
1249 		0)
1250 
1251 	DEFINE_MSG(930, \
1252 		emlxs_pkt_trans_failed_msg, \
1253 		"Packet transport failed.", \
1254 		EMLXS_NOTICE, \
1255 		MSG_PKT, \
1256 		"This indicates that an attempt to send an I/O packet " \
1257 		"failed. The I/O packet will be retried by the upper layer.", \
1258 		ACTION_NONE, \
1259 		NULL, \
1260 		0)
1261 
1262 	DEFINE_MSG(931, \
1263 		emlxs_pkt_trans_error_msg, \
1264 		"Packet transport error.", \
1265 		EMLXS_ERROR, \
1266 		MSG_PKT, \
1267 		"This indicates that an error occurred while attempting to " \
1268 		"send an I/O packet. The I/O packet will likely be failed " \
1269 		"back to the user application.", \
1270 		ACTION_NONE_REP, \
1271 		DDI_FM_DEVICE_INTERN_CORR, \
1272 		DDI_SERVICE_UNAFFECTED)
1273 
1274 	DEFINE_MSG(932, \
1275 		emlxs_pkt_trans_msg, \
1276 		"Packet transport.", \
1277 		EMLXS_DEBUG, \
1278 		MSG_PKT, \
1279 		"This provides additional information about a packet " \
1280 		"being sent.", \
1281 		ACTION_NONE, \
1282 		NULL, \
1283 		0)
1284 
1285 	DEFINE_MSG(940, \
1286 		emlxs_pkt_completion_error_msg, \
1287 		"Packet completion error.", \
1288 		EMLXS_DEBUG, \
1289 		MSG_PKT, \
1290 		"This indicates that an I/O packet was completed with an " \
1291 		"error status. This can occur during normal operation.", \
1292 		ACTION_NONE_REP, \
1293 		NULL, \
1294 		0)
1295 
1296 
1297 	/* GROUP:  FCP		1000 - 1099 */
1298 
1299 	DEFINE_MSG(1000, \
1300 		emlxs_stray_fcp_completion_msg, \
1301 		"Stray FCP completion.", \
1302 		EMLXS_DEBUG, \
1303 		MSG_FCP, \
1304 		"This indicates that an FCP command completion was received " \
1305 		"without issuing a corresponding FCP Command. This error " \
1306 		"could indicate a driver or firmware problem.", \
1307 		ACTION_NONE_REP, \
1308 		DDI_FM_DEVICE_INTERN_UNCORR, \
1309 		DDI_SERVICE_DEGRADED)
1310 
1311 	DEFINE_MSG(1001, \
1312 		emlxs_fcp_completion_error_msg, \
1313 		"FCP completion error.", \
1314 		EMLXS_DEBUG, \
1315 		MSG_FCP, \
1316 		"This indicates that an FCP command completed with an error " \
1317 		"status. These errors can occur during normal operation.", \
1318 		ACTION_NONE, \
1319 		NULL, \
1320 		0)
1321 
1322 
1323 	/* GROUP:  FCT		1100 - 1199 */
1324 
1325 #ifdef SFCT_SUPPORT
1326 	DEFINE_MSG(1100,\
1327 		emlxs_fct_detail_msg,\
1328 		"FCT detail.",\
1329 		EMLXS_DEBUG,\
1330 		MSG_FCT_DETAIL,\
1331 		"This provides detailed information about the driver's " \
1332 		"FCT interface.",\
1333 		ACTION_NONE, \
1334 		NULL, \
1335 		0)
1336 
1337 	DEFINE_MSG(1110,\
1338 		emlxs_fct_debug_msg,\
1339 		"FCT debug.",\
1340 		EMLXS_DEBUG,\
1341 		MSG_FCT,\
1342 		"This provides general information about the driver's " \
1343 		"FCT interface.",\
1344 		ACTION_NONE, \
1345 		NULL, \
1346 		0)
1347 
1348 	DEFINE_MSG(1120,\
1349 		emlxs_fct_error_msg,\
1350 		"FCT error.",\
1351 		EMLXS_DEBUG,\
1352 		MSG_FCT,\
1353 		"This indicates a general error has occurred in the driver's " \
1354 		"FCT interface.",\
1355 		ACTION_NONE_REP, \
1356 		NULL, \
1357 		0)
1358 
1359 	DEFINE_MSG(1130,\
1360 		emlxs_fct_api_msg,\
1361 		"FCT API.",\
1362 		EMLXS_DEBUG,\
1363 		MSG_FCT_API,\
1364 		"This provides an API trace with the driver's FCT interface.",\
1365 		ACTION_NONE, \
1366 		NULL, \
1367 		0)
1368 
1369 #endif /* SFCT_SUPPORT */
1370 
1371 	/* GROUP:  IP		1200 - 1299 */
1372 
1373 
1374 	DEFINE_MSG(1200, \
1375 		emlxs_ip_detail_msg, \
1376 		"IP detail. ", \
1377 		EMLXS_DEBUG, \
1378 		MSG_IP_DETAIL, \
1379 		"This provides detailed information about the driver's " \
1380 		"IP interface.", \
1381 		ACTION_NONE, \
1382 		NULL, \
1383 		0)
1384 
1385 	DEFINE_MSG(1210, \
1386 		emlxs_stray_ip_completion_msg, \
1387 		"Stray IP completion.", \
1388 		EMLXS_ERROR, \
1389 		MSG_IP, \
1390 		"This indicates that the an IP sequence completion was " \
1391 		"received without issuing a corresponding IP sequence. " \
1392 		"This error could indicate a driver or firmware problem. ", \
1393 		ACTION_NONE_REP, \
1394 		DDI_FM_DEVICE_INTERN_UNCORR, \
1395 		DDI_SERVICE_DEGRADED)
1396 
1397 	DEFINE_MSG(1211, \
1398 		emlxs_bad_ip_completion_msg, \
1399 		"Abnormal IP completion.", \
1400 		EMLXS_DEBUG, \
1401 		MSG_IP, \
1402 		"This indicates that an IP sequence completed with a status " \
1403 		"error in the IOCB. It could mean the Fibre Channel device " \
1404 		"on the network is not responding.", \
1405 		ACTION_NONE_ADM, \
1406 		NULL, \
1407 		0)
1408 
1409 	DEFINE_MSG(1220, \
1410 		emlxs_unsol_ip_dropped_msg, \
1411 		"Unsolicited IP dropped.", \
1412 		EMLXS_DEBUG, \
1413 		MSG_IP, \
1414 		"This indicates that an unsolicited IP sequence was " \
1415 		"received, but was dropped for some reason.", \
1416 		ACTION_NONE, \
1417 		NULL, \
1418 		0)
1419 
1420 	DEFINE_MSG(1221, \
1421 		emlxs_unsol_ip_debug_msg, \
1422 		"IP recvd.", \
1423 		EMLXS_DEBUG, \
1424 		MSG_IP, \
1425 		"This indicates that an unsolicited IP sequence was " \
1426 		"received.", \
1427 		ACTION_NONE, \
1428 		NULL, \
1429 		0)
1430 
1431 	DEFINE_MSG(1230, \
1432 		emlxs_invalid_ip_msg, \
1433 		"Invalid IP sequence found.", \
1434 		EMLXS_ERROR, \
1435 		MSG_IP, \
1436 		"This indicates that an IP sequence was found with an " \
1437 		"invalid code.", \
1438 		ACTION_NONE_REP, \
1439 		DDI_FM_DEVICE_INTERN_UNCORR, \
1440 		DDI_SERVICE_DEGRADED)
1441 
1442 
1443 	/* GROUP:  SFS		1300 - 1399 */
1444 
1445 	DEFINE_MSG(1300, \
1446 		emlxs_sfs_debug_msg, \
1447 		"SFS.", \
1448 		EMLXS_DEBUG, \
1449 		MSG_SFS, \
1450 		"This provides general information about the driver's " \
1451 		"SFS interface.", \
1452 		ACTION_NONE, \
1453 		NULL, \
1454 		0)
1455 
1456 	DEFINE_MSG(1301, \
1457 		emlxs_sfs_detail_msg, \
1458 		"SFS detail.", \
1459 		EMLXS_DEBUG, \
1460 		MSG_SFS_DETAIL, \
1461 		"This provides detailed information about the driver's " \
1462 		"SFS interface.", \
1463 		ACTION_NONE, \
1464 		NULL, \
1465 		0)
1466 
1467 	DEFINE_MSG(1310, \
1468 		emlxs_diag_error_msg, \
1469 		"Diagnostic error.", \
1470 		EMLXS_WARNING, \
1471 		MSG_SFS, \
1472 		"This indicates that a diagnostic request did not complete " \
1473 		"because of some issue.", \
1474 		ACTION_NONE_REP, \
1475 		NULL, \
1476 		0)
1477 
1478 	DEFINE_MSG(1311, \
1479 		emlxs_echo_complete_msg, \
1480 		"ECHO diagnostic completed.", \
1481 		EMLXS_DEBUG, \
1482 		MSG_SFS, \
1483 		"This indicates that an ECHO diagnostic has completed.", \
1484 		ACTION_NONE, \
1485 		NULL, \
1486 		0)
1487 
1488 	DEFINE_MSG(1312, \
1489 		emlxs_echo_failed_msg, \
1490 		"ECHO diagnostic failed.", \
1491 		EMLXS_WARNING, \
1492 		MSG_SFS, \
1493 		"This indicates that an ECHO diagnostic has failed to return " \
1494 		"a positive result. This could indicate a connectivity " \
1495 		"problem with your FC network.", \
1496 		ACTION_CHK_CONN, \
1497 		NULL, \
1498 		0)
1499 
1500 	DEFINE_MSG(1313, \
1501 		emlxs_biu_complete_msg, \
1502 		"BIU diagnostic completed.", \
1503 		EMLXS_DEBUG, \
1504 		MSG_SFS, \
1505 		"This indicates that an BIU diagnostic has completed.", \
1506 		ACTION_NONE, \
1507 		NULL, \
1508 		0)
1509 
1510 	DEFINE_MSG(1314, \
1511 		emlxs_biu_failed_msg, \
1512 		"BIU diagnostic failed.", \
1513 		EMLXS_ERROR, \
1514 		MSG_SFS, \
1515 		"This indicates that an BIU diagnostic has failed to return " \
1516 		"a positive result. This usually caused by an adapter " \
1517 		"hardware problem.", \
1518 		ACTION_REP, \
1519 		NULL, \
1520 		0)
1521 
1522 	DEFINE_MSG(1315, \
1523 		emlxs_post_complete_msg, \
1524 		"POST diagnostic completed.", \
1525 		EMLXS_DEBUG, \
1526 		MSG_SFS, \
1527 		"This indicates that an POST diagnostic has completed.", \
1528 		ACTION_NONE, \
1529 		NULL, \
1530 		0)
1531 
1532 	DEFINE_MSG(1316, \
1533 		emlxs_post_failed_msg, \
1534 		"POST diagnostic failed.", \
1535 		EMLXS_ERROR, \
1536 		MSG_SFS, \
1537 		"This indicates that an POST diagnostic has failed to return " \
1538 		"a positive result. This is usually caused by an adapter " \
1539 		"hardware problem.", \
1540 		ACTION_REP, \
1541 		NULL, \
1542 		0)
1543 
1544 
1545 	/* GROUP:  IOCTL	1400 - 1499 */
1546 
1547 
1548 	DEFINE_MSG(1400, \
1549 		emlxs_ioctl_debug_msg, \
1550 		"IOCTL.", \
1551 		EMLXS_DEBUG, \
1552 		MSG_IOCTL, \
1553 		"This provides general information about the driver's " \
1554 		"IOCTL interface.", \
1555 		ACTION_NONE, \
1556 		NULL, \
1557 		0)
1558 
1559 	DEFINE_MSG(1401, \
1560 		emlxs_ioctl_detail_msg, \
1561 		"IOCTL detail.", \
1562 		EMLXS_DEBUG, \
1563 		MSG_IOCTL_DETAIL, \
1564 		"This provides detailed information about the driver's " \
1565 		"IOCTL interface.", \
1566 		ACTION_NONE, \
1567 		NULL, \
1568 		0)
1569 
1570 	DEFINE_MSG(1410, \
1571 		emlxs_dfc_debug_msg, \
1572 		"DFC", \
1573 		EMLXS_DEBUG, \
1574 		MSG_IOCTL, \
1575 		"This provides general information about the driver's " \
1576 		"DFC interface.", \
1577 		ACTION_NONE, \
1578 		NULL, \
1579 		0)
1580 
1581 	DEFINE_MSG(1411, \
1582 		emlxs_dfc_detail_msg, \
1583 		"DFC detail.", \
1584 		EMLXS_DEBUG, \
1585 		MSG_IOCTL_DETAIL, \
1586 		"This provides detailed information about the driver's " \
1587 		"DFC interface.", \
1588 		ACTION_NONE, \
1589 		NULL, \
1590 		0)
1591 
1592 	DEFINE_MSG(1420, \
1593 		emlxs_dfc_error_msg, \
1594 		"DFC Error.", \
1595 		EMLXS_DEBUG, \
1596 		MSG_IOCTL, \
1597 		"This indicates that an error was found while processing a " \
1598 		"DFC request.", \
1599 		ACTION_NONE, \
1600 		NULL, \
1601 		0)
1602 
1603 
1604 
1605 	/* GROUP:  FIRMWARE	1500 - 1599 */
1606 
1607 	DEFINE_MSG(1500, \
1608 		emlxs_image_msg, \
1609 		"Firmware image.", \
1610 		EMLXS_DEBUG, \
1611 		MSG_FIRMWARE, \
1612 		"This provides information about the firmware image.", \
1613 		ACTION_NONE, \
1614 		NULL, \
1615 		0)
1616 
1617 	DEFINE_MSG(1501, \
1618 		emlxs_image_detail_msg, \
1619 		"Firmware detail.", \
1620 		EMLXS_DEBUG, \
1621 		MSG_FIRMWARE_DETAIL, \
1622 		"This provides detailed information about the firmware " \
1623 		"image.", \
1624 		ACTION_NONE, \
1625 		NULL, \
1626 		0)
1627 
1628 
1629 	DEFINE_MSG(1502, \
1630 		emlxs_image_library_msg, \
1631 		"Firmware Library", \
1632 		EMLXS_NOTICE, \
1633 		MSG_DRIVER, \
1634 		"This shows the versions of firmware contained in the " \
1635 		"driver's library.", \
1636 		ACTION_NONE, \
1637 		NULL, \
1638 		0)
1639 
1640 	DEFINE_MSG(1510, \
1641 		emlxs_image_bad_msg, \
1642 		"Bad firmware image.", \
1643 		EMLXS_ERROR, \
1644 		MSG_FIRMWARE, \
1645 		"This indicates that a bad firmware image was provided to " \
1646 		"the download function.", \
1647 		ACTION_IMG_REP, \
1648 		NULL, \
1649 		0)
1650 
1651 	DEFINE_MSG(1511, \
1652 		emlxs_image_incompat_msg, \
1653 		"Firmware image not compatible.", \
1654 		EMLXS_ERROR, \
1655 		MSG_FIRMWARE, \
1656 		"This indicates that the firmware image provided was not " \
1657 		"compatible with the existing hardware.", \
1658 		ACTION_IMG_REP, \
1659 		NULL, \
1660 		0)
1661 
1662 	DEFINE_MSG(1520, \
1663 		emlxs_download_msg, \
1664 		"Firmware download.", \
1665 		EMLXS_NOTICE, \
1666 		MSG_FIRMWARE, \
1667 		"This indicates that an attempt to download a firmware image " \
1668 		"has occurred.", \
1669 		ACTION_NONE, \
1670 		NULL, \
1671 		0)
1672 
1673 	DEFINE_MSG(1521, \
1674 		emlxs_download_complete_msg, \
1675 		"Firmware download complete.", \
1676 		EMLXS_NOTICE, \
1677 		MSG_FIRMWARE, \
1678 		"This indicates that an attempt to download a firmware image " \
1679 		"was successful.", \
1680 		ACTION_NONE, \
1681 		NULL, \
1682 		0)
1683 
1684 	DEFINE_MSG(1522, \
1685 		emlxs_download_failed_msg, \
1686 		"Firmware download failed.", \
1687 		EMLXS_ERROR, \
1688 		MSG_FIRMWARE, \
1689 		"This indicates that an attempt to download a firmware image " \
1690 		"was failed.", \
1691 		ACTION_CHK_HCFG, \
1692 		NULL, \
1693 		0)
1694 
1695 	DEFINE_MSG(1530, \
1696 		emlxs_fw_dump_msg, \
1697 		"Firmware dump.", \
1698 		EMLXS_DEBUG, \
1699 		MSG_FIRMWARE, \
1700 		"This indicates that a firmware core dump has occurred.", \
1701 		ACTION_CHK_HCFG, \
1702 		NULL, \
1703 		0)
1704 
1705 	/* GROUP:  CT		1600 - 1699 */
1706 
1707 	DEFINE_MSG(1600, \
1708 		emlxs_ct_send_msg, \
1709 		"CT sent. ", \
1710 		EMLXS_DEBUG, \
1711 		MSG_CT, \
1712 		"This indicates that an CT command is being sent.", \
1713 		ACTION_NONE, \
1714 		NULL, \
1715 		0)
1716 
1717 	DEFINE_MSG(1601, \
1718 		emlxs_ct_completion_msg, \
1719 		"CT comp. ", \
1720 		EMLXS_DEBUG, \
1721 		MSG_CT, \
1722 		"This indicates that an CT command completed normally.", \
1723 		ACTION_NONE, \
1724 		NULL, \
1725 		0)
1726 
1727 	DEFINE_MSG(1610, \
1728 		emlxs_stray_ct_completion_msg, \
1729 		"Stray CT completion.", \
1730 		EMLXS_ERROR, \
1731 		MSG_CT, \
1732 		"This indicates that the an CT command completion was " \
1733 		"received without issuing a corresponding CT command. " \
1734 		"This error could indicate a driver or firmware problem. ", \
1735 		ACTION_NONE_REP, \
1736 		DDI_FM_DEVICE_INTERN_UNCORR, \
1737 		DDI_SERVICE_DEGRADED)
1738 
1739 	DEFINE_MSG(1611, \
1740 		emlxs_bad_ct_completion_msg, \
1741 		"Abnormal CT completion.", \
1742 		EMLXS_DEBUG, \
1743 		MSG_CT, \
1744 		"This indicates that an CT command completed with a status " \
1745 		"error in the IOCB. It could mean the Fibre Channel device " \
1746 		"on the network is not responding. The driver will " \
1747 		"automatically retry this CT command if needed.", \
1748 		"Check physical connections to Fibre Channel network and " \
1749 		"the state the remote PortID is in.", \
1750 		NULL, \
1751 		0)
1752 
1753 	DEFINE_MSG(1620, \
1754 		emlxs_unsol_ct_msg, \
1755 		"CT rcvd. ", \
1756 		EMLXS_DEBUG, \
1757 		MSG_CT, \
1758 		"This indicates that an unsolicited CT command was received.", \
1759 		ACTION_NONE, \
1760 		NULL, \
1761 		0)
1762 
1763 	DEFINE_MSG(1621, \
1764 		emlxs_unsol_ct_dropped_msg, \
1765 		"Unsolicited CT dropped.", \
1766 		EMLXS_DEBUG, \
1767 		MSG_CT, \
1768 		"This indicates that an unsolicited CT command was received " \
1769 		"and then dropped for some reason.", \
1770 		ACTION_NONE, \
1771 		NULL, \
1772 		0)
1773 
1774 	DEFINE_MSG(1622, \
1775 		emlxs_ct_reply_msg, \
1776 		"CT reply.", \
1777 		EMLXS_DEBUG, \
1778 		MSG_CT, \
1779 		"This indicates that a reply is being sent for an " \
1780 		"unsolicited CT command.", \
1781 		ACTION_NONE, \
1782 		NULL, \
1783 		0)
1784 
1785 	DEFINE_MSG(1630, \
1786 		emlxs_invalid_ct_msg, \
1787 		"Invalid CT command found.", \
1788 		EMLXS_ERROR, \
1789 		MSG_CT, \
1790 		"This indicates that an CT command was found with an invalid " \
1791 		"command code.", \
1792 		ACTION_NONE_REP, \
1793 		DDI_FM_DEVICE_INTERN_UNCORR, \
1794 		DDI_SERVICE_DEGRADED)
1795 
1796 	/* GROUP: FC-SP (DHCHAP)	1700 - 1799 */
1797 
1798 #ifdef DHCHAP_SUPPORT
1799 
1800 	DEFINE_MSG(1700, \
1801 		emlxs_fcsp_debug_msg, \
1802 		"FCSP", \
1803 		EMLXS_DEBUG, \
1804 		MSG_FCSP, \
1805 		"This provides general information about the driver's " \
1806 		"FCSP interface.", \
1807 		ACTION_NONE, \
1808 		NULL, \
1809 		0)
1810 
1811 	DEFINE_MSG(1701, \
1812 		emlxs_fcsp_detail_msg, \
1813 		"FCSP detail.", \
1814 		EMLXS_DEBUG, \
1815 		MSG_FCSP_DETAIL, \
1816 		"This provides detailed information about the driver's " \
1817 		"FCSP interface.", \
1818 		ACTION_NONE, \
1819 		NULL, \
1820 		0)
1821 
1822 	DEFINE_MSG(1702, \
1823 		emlxs_fcsp_error_msg, \
1824 		"FCSP error.", \
1825 		EMLXS_DEBUG, \
1826 		MSG_FCSP, \
1827 		"This indicates that an error was found while processing " \
1828 		"a DFC request.", \
1829 		ACTION_NONE, \
1830 		NULL, \
1831 		0)
1832 
1833 	DEFINE_MSG(1705, \
1834 		emlxs_fcsp_state_msg, \
1835 		"FCSP state.", \
1836 		EMLXS_DEBUG, \
1837 		MSG_FCSP, \
1838 		"This indicates that an authentication state is changing.", \
1839 		ACTION_NONE, \
1840 		NULL, \
1841 		0)
1842 
1843 	DEFINE_MSG(1706, \
1844 		emlxs_fcsp_event_msg, \
1845 		"FCSP event", \
1846 		EMLXS_DEBUG, \
1847 		MSG_FCSP, \
1848 		"This indicates that an authentication event has occurred.", \
1849 		ACTION_NONE, \
1850 		NULL, \
1851 		0)
1852 
1853 	DEFINE_MSG(1707, \
1854 		emlxs_fcsp_status_msg, \
1855 		"FCSP status.", \
1856 		EMLXS_DEBUG, \
1857 		MSG_FCSP, \
1858 		"This indicates that an authentication status is being " \
1859 		"updated.", \
1860 		ACTION_NONE, \
1861 		NULL, \
1862 		0)
1863 
1864 	DEFINE_MSG(1710, \
1865 		emlxs_fcsp_start_msg, \
1866 		"FCSP start.", \
1867 		EMLXS_DEBUG, \
1868 		MSG_FCSP, \
1869 		"This indicates that authentication is being started to a " \
1870 		"specific node.", \
1871 		ACTION_NONE, \
1872 		NULL, \
1873 		0)
1874 
1875 	DEFINE_MSG(1720, \
1876 		emlxs_fcsp_complete_msg, \
1877 		"FCSP comp. ", \
1878 		EMLXS_DEBUG, \
1879 		MSG_FCSP, \
1880 		"This indicates that authentication is being stopped or " \
1881 		"completed to a specific node.", \
1882 		ACTION_NONE, \
1883 		NULL, \
1884 		0)
1885 #endif	/* DHCHAP_SUPPORT */
1886 
1887 
1888 	/* GROUP:  EVENT	2000 - 2099 */
1889 
1890 	DEFINE_MSG(2000, \
1891 		emlxs_link_event, \
1892 		"Link.", \
1893 		EMLXS_EVENT, \
1894 		EVT_LINK, \
1895 		"This indicates that a link event has occurred.", \
1896 		ACTION_NONE, \
1897 		NULL, \
1898 		0)
1899 
1900 	DEFINE_MSG(2010, \
1901 		emlxs_rscn_event, \
1902 		"RSCN.", \
1903 		EMLXS_EVENT, \
1904 		EVT_RSCN, \
1905 		"This indicates that an unsolicited RSCN command was " \
1906 		"received.", \
1907 		ACTION_NONE, \
1908 		NULL, \
1909 		0)
1910 
1911 	DEFINE_MSG(2020, \
1912 		emlxs_ct_event, \
1913 		"CT.", \
1914 		EMLXS_EVENT, \
1915 		EVT_CT, \
1916 		"This indicates that an unsolicited CT command was received.", \
1917 		ACTION_NONE, \
1918 		NULL, \
1919 		0)
1920 
1921 	DEFINE_MSG(2030, \
1922 		emlxs_dump_event, \
1923 		"DUMP", \
1924 		EMLXS_EVENT, \
1925 		EVT_DUMP, \
1926 		"This indicates that an HBA core dump has occurred.", \
1927 		ACTION_NONE, \
1928 		NULL, \
1929 		0)
1930 
1931 	DEFINE_MSG(2040, \
1932 		emlxs_temp_event, \
1933 		"TEMP", \
1934 		EMLXS_EVENT, \
1935 		EVT_TEMP, \
1936 		"This indicates that an adapter temperature event has " \
1937 		"occurred.", \
1938 		ACTION_NONE, \
1939 		NULL, \
1940 		0)
1941 
1942 	DEFINE_MSG(2050, \
1943 		emlxs_fcoe_event, \
1944 		"FCOE", \
1945 		EMLXS_EVENT, \
1946 		EVT_FCOE, \
1947 		"This indicates that an adapter FCOE event has occurred.", \
1948 		ACTION_NONE, \
1949 		NULL, \
1950 		0)
1951 
1952 	DEFINE_MSG(2060, \
1953 		emlxs_async_event, \
1954 		"ASYNC", \
1955 		EMLXS_EVENT, \
1956 		EVT_ASYNC, \
1957 		"This indicates that an adapter ASYNC event has occurred.", \
1958 		ACTION_NONE, \
1959 		NULL, \
1960 		0)
1961 
1962 	DEFINE_MSG(2070, \
1963 		emlxs_vportrscn_event, \
1964 		"VPORTRSCN", \
1965 		EMLXS_EVENT, \
1966 		EVT_VPORTRSCN, \
1967 		"This indicates that an unsolicited RSCN event was " \
1968 		"received.", \
1969 		ACTION_NONE, \
1970 		NULL, \
1971 		0)
1972 
1973 #ifdef SAN_DIAG_SUPPORT
1974 	DEFINE_MSG(2200, \
1975 		emlxs_sd_els_event, \
1976 		"SD_ELS", \
1977 		EMLXS_EVENT, \
1978 		EVT_SD_ELS, \
1979 		"This indicates that an SD ELS event has occurred.", \
1980 		ACTION_NONE, \
1981 		NULL, \
1982 		0)
1983 
1984 	DEFINE_MSG(2210, \
1985 		emlxs_sd_fabric_event, \
1986 		"SD_FC", \
1987 		EMLXS_EVENT, \
1988 		EVT_SD_FABRIC, \
1989 		"This indicates that an SD FABRIC event has occurred.", \
1990 		ACTION_NONE, \
1991 		NULL, \
1992 		0)
1993 
1994 	DEFINE_MSG(2220, \
1995 		emlxs_sd_scsi_event, \
1996 		"SD_SCSI", \
1997 		EMLXS_EVENT, \
1998 		EVT_SD_SCSI, \
1999 		"This indicates that an SD SCSI event has occurred.", \
2000 		ACTION_NONE, \
2001 		NULL, \
2002 		0)
2003 #endif /* SAN_DIAG_SUPPORT */
2004 
2005 #ifdef DEF_MSG_REPORT
2006 };	/* emlxs_message[] */
2007 #endif /* DEF_MSG_REPORT */
2008 
2009 #ifdef	__cplusplus
2010 }
2011 #endif
2012 
2013 #endif	/* _EMLXS_MESSAGES_H */
2014