First of, it is important to state that checksums like CRC32 are only
> I've been looking at AoE and I'm trying to understand what affect the Ethernet
> CRC-32 data integrity checking has on the AoE communications? Particularly when
> going to GbE and jumbo frames support there seems to be some data out there
> that there is a chance that the CRC32 won't detect the error in the frame and
> with a protocol like AoE that error would most probably end up being written to
> the target disk.
helpful in detecting "wire" errors -- they do not protect against
intentional modification (this was one of the design problems with WEP --
for such purposes cryptographic hash functions are required).
Now to the powers of CRC32: a 32bit CRC is able to detect any single error
burst that is no longer than 32bit. The length of the datagram does not
matter in this case. For all error bursts longer than 32bit it will only
detect a fraction of them: 99.999999976716936% (1-2^-32).
The ATA protocol uses checksums as well: Ultra-ATA introduced a checksum on
the data transmission and SATA introduced a 32bit CRC for all bits
transmitted over the wire. Besides that, for every block written on a disk,
a parity will be stored as well.
To sum it up: check your network cards for frame errors and your switches
as well. When you see errors, act. The risk is IMHO low.
I think I did not get the question. What error point do you introduce using
> I think that there is a further problem to understand and that is with network
> connection points. AoE is not routable but that doesn't mean you can't use
> network switches to interconnect initiators with their AoE targets and at these
> switches there seems to be a possible error point introduced which AoE isn't
> protecting against? Are there best practices for AoE installations to protect
> against these error points?