|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: iSCSI: RE: effect of initializing CRC reg to 1's depends on implementati on? iSCSI--- Paul Koning <ni1d@arrl.net> wrote: > > I agree that the current description is not consistent > and is > confusing. That's why I proposed replacement text. I'd > be interested > in comments on that text. I gave you a comment in my last letter: Please also note that the Ethernet spec CRC algorithm, is an optimized version of a basic prefix-postfix-initialize-the- CRC-register-to-some-constant algoritm. BUT as SMD it operates on NON-AUGMENTED messages. FOR THAT REASON you cannot say that we have to multiply M(x) by x^32!!! You see, you cannot say that the message has to be multiplied by x^32, if you are describing the Ethernet CRC algo. > Luben> Please also note that the Ethernet spec CRC > algorithm, is an > Luben> optimized version of a basic > prefix-postfix-initialize-the- > Luben> CRC-register-to-some-constant algoritm. > > I'm not sure what spec you're talking about. The one you always mention, the one you quote in you messages. The one iSCSI is trying to present. > The algorithm in the Ethernet spec (section 6.2.4) which > was copied > into the 802.3 spec (section 3.2.8) pretty much verbatim > except for a > typo, is not a prefix-postfix-whatever algorithm at all. Yes, it is. I'll send you the math when I finish it (later this week). I'll also send you 2 algorithms, one simplest division, and another as per Ethernet, which produce identical results. (I can send it now, but no time.) > Instead, it > is a mathematical definition of the CRC value. The > phrase "initialize > the CRC register" does not occur at all in any form. So it doesn't in the definition I gave you. If it is a formal, mathematical definition, then you should see the same initial constant as I found: 0x2a26f826. If it mentiones 0xFFFFFFFF, then it means that SMD (Simultaneous Divide and Multiply) algo is described, which is hardly a formal mathematical definition. > If I understand right, this is a mathematically > equivalent way of > describing an Ethernet-style CRC. Yep. Mathematically, and when implemented, by hand, by a program, by a handheld calculator, by a mathematics analysis program, it will yield identical results as in ``Ethernet-style CRC''. > Fine, no problem. But what's the point? All we need is > a single > formal definition. The point? You and Pat wanted a mathematical definition, so here it is! This is a ``single formal definition''. > And it would make the most sense for > that > definition to look like the ones found in other > standards, so it will > be clear to the reader that the CRC in iSCSI is the same > as the one > used in many other places except for the G(x). Then lets forget about trying to REPHRASE Ethernet and just mention that: that it is equivalent to Ethernet, but just that it uses a different polynomial. > The > description you gave may be mathematically equivalent, > but that is not > at all obvious unless you're fluent in abstract math. True. > In any case, no mathematical description by itself > translates easily > to an implementation (again, unless you're fluent in > abstract math). True. > Most specs disregard that concern and leave it up to the > implementer > to search the literature. My current proposal is to do > likewise for > iSCSI. The only exception I've seen is the Ethernet > spec, which gives > a single example implementation in its appendix. Example implementation is good, as are examples. I'd vote for both to be included in iSCSI. -l ===== -- __________________________________________________ Do You Yahoo!? Check out Yahoo! Shopping and Yahoo! Auctions for all of your unique holiday gifts! Buy at http://shopping.yahoo.com or bid at http://auctions.yahoo.com
Home Last updated: Mon Dec 17 15:17:41 2001 8105 messages in chronological order |