mirror of
https://git.proxmox.com/git/mirror_frr
synced 2026-01-25 01:03:34 +00:00
2004-05-05 Anthony.Golia@morganstanley.com
* ripd.c: (rip_update_jitter) Bound jitter to a more sensible
value, eg 1/4 of update time.
This commit is contained in:
parent
5f77949e7e
commit
239389ba30
@ -1,3 +1,8 @@
|
||||
2004-05-05 Anthony.Golia@morganstanley.com
|
||||
|
||||
* ripd.c: (rip_update_jitter) Bound jitter to a more sensible
|
||||
value, eg 1/4 of update time.
|
||||
|
||||
2004-05-03 Paul Jakma <paul@dishone.st>
|
||||
|
||||
* ripd.c: (rip_rte_process) fix typo in merge of previous patch
|
||||
|
||||
17
ripd/ripd.c
17
ripd/ripd.c
@ -2710,7 +2710,22 @@ rip_request_send (struct sockaddr_in *to, struct interface *ifp,
|
||||
int
|
||||
rip_update_jitter (unsigned long time)
|
||||
{
|
||||
return ((rand () % (time + 1)) - (time / 2));
|
||||
#define JITTER_BOUND 4
|
||||
/* We want to get the jitter to +/- 1/JITTER_BOUND the interval.
|
||||
Given that, we cannot let time be less than JITTER_BOUND seconds.
|
||||
The RIPv2 RFC says jitter should be small compared to
|
||||
update_time. We consider 1/JITTER_BOUND to be small.
|
||||
*/
|
||||
|
||||
int jitter_input = time;
|
||||
int jitter;
|
||||
|
||||
if (jitter_input < JITTER_BOUND)
|
||||
jitter_input = JITTER_BOUND;
|
||||
|
||||
jitter = (((rand () % ((jitter_input * 2) + 1)) - jitter_input));
|
||||
|
||||
return jitter/JITTER_BOUND;
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
Loading…
Reference in New Issue
Block a user