ra_timer_update() just updates rai->timer.tm, we need to call
evtimer_add(3) for the new timeout to be scheduled. I missed
this one when converting rtadvd to libevent. ok?
Index: config.c
===================================================================
RCS file: /d/cvs/src/usr.sbin/rtadvd/config.c,v
retrieving revision 1.61
diff -u -p -U5 -r1.61 config.c
--- config.c 12 Jul 2017 06:11:07 -0000 1.61
+++ config.c 8 Aug 2017 01:03:35 -0000
@@ -623,10 +623,11 @@ make_prefix(struct rainfo *rai, int ifin
/*
* reset the timer so that the new prefix will be advertised quickly.
*/
rai->initcounter = 0;
ra_timer_update(rai);
+ evtimer_add(&rai->timer.ev, &rai->timer.tm);
}
/*
* Delete a prefix to the list of specified interface and reconstruct
* the outgoing packet.
--
jca | PGP : 0x1524E7EE / 5135 92C1 AD36 5293 2BDF DDCC 0DFA 74AE 1524 E7EE