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

Reply via email to