Adam,
Thanks to you and Benjamin for this review and feedback on the hashing. Please see inline [Satya]. I will add my response to other queries in the forthcoming Jorge's reply to Benjamin (as there are other comments to be addressed). Best, --Satya On 1/9/19, 10:31 PM, "Adam Roach" <a...@nostrum.com> wrote: Adam Roach has entered the following ballot position for draft-ietf-bess-evpn-df-election-framework-07: No Objection When responding, please keep the subject line intact and reply to all email addresses included in the To and CC lines. (Feel free to cut this introductory paragraph, however.) Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html for more information about IESG DISCUSS and COMMENT positions. The document, along with other ballot positions, can be found here: https://datatracker.ietf.org/doc/draft-ietf-bess-evpn-df-election-framework/ ---------------------------------------------------------------------- COMMENT: ---------------------------------------------------------------------- I have one minor comment that the authors may wish to consider. §1.2.1: > It is well-known that for good > hash distribution using the modulus operation, the modulus N should > be a prime-number not too close to a power of 2 [CLRS2009]. I suppose this refers to the explanation in [CLRS2009] §11.3.1. The [Satya] Yes, it is from [CLRS2009] §11.3.1 description there is pretty hand-wavy and not completely accurate except under certain (admittedly common) conditions -- in which this case is not included. You may wish to consider instead citing "The Art of Computer Programming (Vol. 3)" by Knuth, as it captures a lot more of the nuance behind why this rule of thumb is frequently true, and covers the general case. There is probably a set of considerations to take into account for Ethernet Tags with an even distribution, but only because you have a relatively small set of potential inputs -- not for any of the reasons cited in [CLRS2009]. Quoting Knuth: In general, we want to avoid values of M that divide r^k+a or r^k−a, where k and a are small numbers and r is the radix of the alphabetic character set (usually r=64, 256 or 100), since a remainder modulo such a value of M tends to be largely a simple superposition of key digits. Such considerations suggest that we choose M to be a prime number such that r^k!=a(modulo)M or r^k!=−a(modulo)M for small k & a. I see that Benjamin has made a related comment. I share his objection to the way point #2 is phrased, and think it needs to be reworded to properly capture the subtleties implied by the preceding passage. [Satya] Yes, noted. I will change point #2. Here is a suggested description of Point #2 Th Ethernet tag that identifies the BD can be as large as 2^24; however, it is not guaranteed that the tenant BD on the ES will conform to a uniform distribution. In fact, it up to the customer what BDs they will configure on the ES. Quoting Knuth [Art of Computer Programming Pg. 516] " In general, we want to avoid values of M that divide r^k+a or r^k−a, where k and a are small numbers and r is the radix of the alphabetic character set (usually r=64, 256 or 100), since a remainder modulo such a value of M tends to be largely a simple superposition of key digits. Such considerations suggest that we choose M to be a prime number such that r^k!=a(modulo)M or r^k!=−a(modulo)M for small k & a." In our case, N is the number of PEs in RFC 7432 which corresponds to M above. Since N, N-1 or N+1 need not satisfy the primality properties of the M above; as per RFC 7432 modulo based DF assignment, whenever a PE goes down or a new PE boots up (hosting the same Ethernet Segment), the modulo scheme need not necessarily map BDs to PEs uniformly.
_______________________________________________ BESS mailing list BESS@ietf.org https://www.ietf.org/mailman/listinfo/bess