On 11/3/2013 4:41 PM, Bart Van Assche wrote:
On 3/11/2013 4:15, Sagi Grimberg wrote:
On 11/1/2013 8:46 PM, Bart Van Assche wrote:
On 31/10/2013 5:24, Sagi Grimberg wrote:
+/**
+ * Signature T10-DIF block-guard types
+ */
+enum ib_t10_dif_bg_type {
+ IB_T10DIF_CRC,
+ IB_T10DIF_CSUM
+};
In SPC-4 paragraph 4.22.4 I found that the T10-PI guard is the CRC
computed from the generator polynomial x^16 + x^15 + x^11 + x^9 + x^8
+ x^7 + x^5 + x^4 + x^2 + x + 1. Could you tell me where I can find
which guard computation method IB_T10DIF_CSUM corresponds to ?
Bart.
The IB_T10DIF_CSUM computation method corresponds to IP checksum rules.
this is aligned with SHOST_DIX_GUARD_IP guard type.
Since the declarations added in <rdma/ib_verbs.h> constitute an
interface definition I think it would help if it would be made more
clear what these two symbols stand for. How about mentioning the names
of the standards these two guard computation methods come from ? An
alternative is to add a comment like the one above
scsi_host_guard_type in <scsi/scsi_host.h> which explains the two
guard computation methods well:
/*
* All DIX-capable initiators must support the T10-mandated CRC
* checksum. Controllers can optionally implement the IP checksum
* scheme which has much lower impact on system performance. Note
* that the main rationale for the checksum is to match integrity
* metadata with data. Detecting bit errors are a job for ECC memory
* and buses.
*/
Bart.
Agreed,
I'll comment on each type correspondence (T10-DIF CRC checksum and IP
checksum).
Sagi.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html