Users Guide

Broadcom DRVLin-LPe-UG124-100
112
Emulex Drivers for Linux User Guide
A.4.1 lpfc_prot_mask
This parameter controls the DIF operations that the driver registers with the operating system. The operating system selects
an operation to use for each I/O command that matches the adapter DIF capability. The driver indicates its capabilities by
the operations it registers with the operating system.
If the parameter is not passed to the driver, the default DIX_TYPE0 is used.
The SCSI layer will typically use the bit masks listed in the following table to determine how to place the protection data
associated with I/Os to the SCSI host. The default value for lpfc_prot_mask is to allow all of the options.
The following table shows how protection data gets placed for each supported profile.
A.4.2 lpfc_prot_guard
This lpfc_prot_guard parameter correlates to the SCSI_host_guard_type of the Linux kernel. This parameter
specifies the type of CRC the Linux operating system will pass to the lpfc driver. The following table shows the two guard
types: CRC and IP-CSUM, with values of 0x1 and 0x2, respectively.
The default value for lpfc_prot_guard is SHOST_DIX_GUARD_IP. This value defines the format for the guard tag when
the data is transferred between the host and the adapter. When data is transferred on the wire, the protection data guard tag
is always translated into a T10 DIF CRC. To override the default, you can pass a module parameter value with either insmod
or modprobe.
The SCSI layer typically uses an IP-CSUM as the method for computing the protection data guard tag because it uses less
CPU overhead.
Table 9: lpfc_prot_mask Protection Types
Flag Value Indicates Description
SHOST_DIF_TYPE1_PROTECTION 1 Adapter supports T10 DIF Type 1 Adapter to target Type 1 protection
SHOST_DIX_TYPE0_PROTECTION 8 Adapter supports DIX Type 0 Host to adapter protection only
SHOST_DIX_TYPE1_PROTECTION 16 Adapter supports DIX Type 1 Host to adapter Type 1 protection
Table 10: Protection Data Placement for Supported Profiles
Flag Value BlockGuard Profile Operation
SHOST_DIF_TYPE1_PROTECTION 1A1 READ_STRIP / WRITE_INSERT
SHOST_DIX_TYPE0_PROTECTION 8 AST2 READ_INSERT / WRITE_STRIP
SHOST_DIX_TYPE1_PROTECTION
SHOST_DIF_TYPE1_PROTECTION
17 AST1 / C1 READ_PASS / WRITE_PASS
Table 11: lpfc_prot_guard Guard Types
Flag Value Indicates
SHOST_DIX_GUARD_CRC 0x1 Adapter supports T10 DIF CRC
SHOST_DIX_GUARD_IP 0x2 Adapter supports both T10 DIF CRC and IP-CSUM