Understanding SCSI host-side NMP errors/conditions in ESXi
search cancel

Understanding SCSI host-side NMP errors/conditions in ESXi

book

Article ID: 309543

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

This article provides information about the SCSI host status messages that you observe when reviewing NMP errors in the vmkernel log.

 

Environment

VMware vSphere ESXi 6.x
VMware vSphere ESXi 7.x
VMware vSphere ESXi 8.x

Resolution

This table outlines the VMkernel SCSI host status messages that are defined and updated by VMware:
 
Status
Example
Definition
VMK_SCSI_HOST_OK = 0x00 or 0x0
vmkernel: 76:23:45:36.239 cpu11:22687)NMP: nmp_CompleteCommandForPath: Command 0x28 (0x41000b10f000) to NMP device "naa.********************" failed on physical path "vmhba3:C0:T2:L10" H:0x0 D:0x2 P:0x0 Valid sense data: 0x2 0x4 0x3.
This status is returned when there is no error on the host side. This is when you see if there is a status for a device or plugin. This status is also when you see valid sense data instead of possible sense data.
 
For more Device SCSI status (such as Check Condition), see http://www.t10.org/lists/2status.htm.
VMK_SCSI_HOST_NO_CONNECT= 0x01 or 0x1
vmkernel: 27:10:19:24.190 cpu1:4552)NMP: nmp_CompleteCommandForPath: Command 0x2a (0x41000504e500) to NMP device "naa.********************" failed on physical path "vmhba1:C0:T1:L0" H:0x1 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned if the connection is lost to the LUN. This can occur if the LUN is no longer visible to the host from the array side or if the physical connection to the array has been removed.
 
VMK_SCSI_HOST_BUS_BUSY = 0x02 or 0x2
vmkernel: 116:03:44:19.039 cpu4:4100)NMP: nmp_CompleteCommandForPath: Command 0x2a (0x4100020e0b00) to NMP device "naa.********************" failed on physical path "vmhba2:C0:T0:L152" H:0x2 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned when the HBA driver is unable to issue a command to the device. This status occurs due to dropped FCP frames in the environment.
VMK_SCSI_HOST_TIMEOUT= 0x03 or 0x3
vmkernel: 4:10:53:57.450 cpu6:4197)ScsiDeviceIO: 1672: Command 0x1a to device "naa.********************" failed H:0x3 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned when the command in-flight to the array times out.
VMK_SCSI_HOST_BAD_TARGET= 0x04 or 0x4
vmkernel: 0:00:21:42.980 cpu0:4103)ScsiDeviceIO: SCSICompleteDeviceCommand:747: Command 0x28 to device
"naa.********************" failed H:0x4 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned after the driver abort commands to a bad target. Typically, this status occurs when the target experiences a hardware error, but it can also occur if a command is sent to a bad target ID.
VMK_SCSI_HOST_ABORT = 0x05 or 0x5
vmkernel: 0:00:13:23.910 cpu20:4251)NMP: nmp_CompleteCommandForPath: Command 0x2a (0x4100010bf9c0) to NMP device "naa.********************" failed on physical path "vmhba3:C0:T0:L4" H:0x5 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned if the driver aborts commands in-flight to the target. This occurs due to a command timeout or parity error in the frame.
VMK_SCSI_HOST_PARITY= 0x06 or 0x6

 
This status is returned for generic errors. For example, this status occurs for events not covered by the other errors (such as data overrun or underrun).
VMK_SCSI_HOST_ERROR= 0x07 or 0x7
vmkernel: 0:00:57:27.056 cpu4:4100)NMP: nmp_CompleteCommandForPhysicalPath: Command 0x16 (0x41000e639880) to NMP device "naa.********************" failed on physical path "vmhba3:C0:T0:L0" H:0x7 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned when a device is reset due to a Storage Initiator Error. This typically occurs due to an outdated HBA firmware or possibly (though rarely) as the result of a bad HBA.
VMK_SCSI_HOST_RESET= 0x08 or 0x8
vmkernel: 0:19:26:42.068 cpu0:4103)NMP: nmp_CompleteCommandForPath: Command 0x28 (0x4100070e8e80) to NMP device "naa.********************" failed on physical path "vmhba2:C0:T1:L27" H:0x8 D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned when the HBA driver aborts I/O. It also occurs if the HBA resets the target.
VMK_SCSI_HOST_BAD_INTR= 0x09 or 0x9
 
This is a legacy error and never be returned.
VMK_SCSI_HOST_PASSTHROUGH = 0x0a or 0xa
 
This is a legacy error and never be returned. It was meant for a way for drivers to return an I/O that failed due to temporary conditions in the driver and that I/O be retried.
VMK_SCSI_HOST_SOFT_ERROR= 0x0b or 0xb
vmkernel: 0:02:59:13.873 cpu4:4302)NMP: nmp_CompleteCommandForPath: Command 0x2a (0x41000603c840) to NMP device "naa.********************" failed on physical path "vmhba0:C0:T0:L0" H:0xb D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned if the HBA driver returns a DID_REQUEUE command. Upon receiving this status, the I/O command is reissued immediately.
VMK_SCSI_HOST_RETRY = 0x0c or 0xc
vmkernel: 0:00:21:46.926 cpu3:4099)NMP: nmp_CompleteCommandForPhysicalPath: Command 0x28 (0x41000cea7d00) to NMP device "naa.********************" failed on physical path "vmhba2:C0:T0:L6" H:0xc D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned due to a transient error. When this status is returned, the I/O command is requeued and issued again.
VMK_SCSI_HOST_REQUEUE = 0x0d or 0xd
vmkernel: 0:20:34:39.755 cpu0:4103)NMP: nmp_CompleteCommandForPhysicalPath: Command 0x28 (0x41000fe5fa00) to NMP device "naa.********************" failed on physical path "vmhba2:C0:T0:L63" H:0xd D:0x0 P:0x0 Possible sense data: 0x0 0x0 0x0.
This status is returned when the HBA driver tries to abort a command which then sets the IOSTAT_LOCAL_REJECT status on all commands in the iocb ring. This causes the original command to requeue.
 
 



Additional Information