+3260. [bug] "rrset-order cyclic" could appears to not rotate
+ for some query patterns. [RT #27170]
+
--- 9.9.0rc1 released ---
3259. [bug] named-compilezone: Suppress "dump zone to <file>"
* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: rbtdb.c,v 1.323 2011/12/07 22:21:05 marka Exp $ */
+/* $Id: rbtdb.c,v 1.324 2011/12/22 23:43:52 marka Exp $ */
/*! \file */
return (result);
}
+static inline unsigned int
+prand(isc_uint32_t val) {
+ val ^= val >> 16;
+ val ^= val >> 8;
+ val ^= val >> 4;
+ return (val & 0xf);
+}
+
static inline void
bind_rdataset(dns_rbtdb_t *rbtdb, dns_rbtnode_t *node,
rdatasetheader_t *header, isc_stdtime_t now,
raw = (unsigned char *)header + sizeof(*header);
rdataset->private3 = raw;
rdataset->count = header->count++;
+ /* Add a weak pseudo random value [0..15]. */
+ header->count += prand(header->count);
if (rdataset->count == ISC_UINT32_MAX)
rdataset->count = 0;