This is a rather literal implementation of slip-ratio as documented by BIND Response Rate Limiting. It tracks the number of times each response category would be blocked and lets every nth item through as a truncated response to induce a TCP retry on client.
A looser, and possibly slightly more efficient alternate approach could be to let requests through based on weighted random number rather than tracking the actual number of times a response category is blocked - e.g. slip-ratio 4 would allow 25% of blocked responses through, instead of every 4th blocked response.
This is a rather literal implementation of
slip-ratio
as documented by BIND Response Rate Limiting. It tracks the number of times each response category would be blocked and lets every nth item through as a truncated response to induce a TCP retry on client.A looser, and possibly slightly more efficient alternate approach could be to let requests through based on weighted random number rather than tracking the actual number of times a response category is blocked - e.g.
slip-ratio 4
would allow 25% of blocked responses through, instead of every 4th blocked response.closes #32
Signed-off-by: Chris O'Haver cohaver@infoblox.com