C1) Ah, the perturbation (salt) is applied to a section of the to-be-hashed content, and then the whole thing is hashed in one go.
Gotta say I find the casting confusing, and does this end up being a 16 bit permute (rather than 24 or 32)? The unaligned accesses here might be issues on some platforms. Perhaps 24 bits of permute and align the rest? *((uint16_t *) &tuple[1]) = si->perturbation; + *((uint8_t *) &tuple[0]) = ip->ip_p; + *((uint16_t *) &tuple[1]) = si->perturbation; + *((uint32_t *) &tuple[3]) = ip->ip_src.s_addr; + *((uint32_t *) &tuple[7]) = ip->ip_dst.s_addr; F) the ecn_mark code still definitely looks wrong to me. Some new stuff + fqc_cfg->quantum = BOUND_VAR(fqc_cfg->quantum,256,6056); We have not seen much need for smaller quantums than 256. I am not sure where the 6056 figure comes from. + fqc_cfg->limit= BOUND_VAR(fqc_cfg->limit,1,20480); Ahh, let's start aiming for 40gb links. + fqc_cfg->flows_cnt= BOUND_VAR(fqc_cfg->flows_cnt,1,65536); Given that you are using modulo in the code this is ok, but enforcing a power of two here and using an and elsewhere might be good. _______________________________________________ aqm mailing list aqm@ietf.org https://www.ietf.org/mailman/listinfo/aqm