summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--proto/bgp/bgp.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/proto/bgp/bgp.c b/proto/bgp/bgp.c
index cdbdf461..11ad6264 100644
--- a/proto/bgp/bgp.c
+++ b/proto/bgp/bgp.c
@@ -46,9 +46,12 @@ bgp_close(struct bgp_proto *p)
void
bgp_start_timer(timer *t, int value)
{
- /* FIXME: Randomize properly */
if (value)
- tm_start(t, value);
+ {
+ /* The randomization procedure is specified in RFC 1771: 9.2.3.3 */
+ t->randomize = value / 4;
+ tm_start(t, value - t->randomize);
+ }
else
tm_stop(t);
}