From: Stefan Sperling Subject: Re: limit nd6 timer storm To: Alexander Bluhm Cc: tech@openbsd.org Date: Tue, 9 Sep 2025 10:45:34 +0200 On Fri, Sep 05, 2025 at 05:29:21PM +0200, Alexander Bluhm wrote: > Hi, > > I see a constantly running nd6_timer() taking exclusive net lock. > Problem is that expired cached routes are not deleted. Regardless > to the question what do do with such routes, restarting the ND6 > timer immediately does not make sense. Limit it to once per second. > > ok? ok stsp@ > Index: netinet6/nd6.c > =================================================================== > RCS file: /data/mirror/openbsd/cvs/src/sys/netinet6/nd6.c,v > diff -u -p -r1.300 nd6.c > --- netinet6/nd6.c 14 Aug 2025 08:50:25 -0000 1.300 > +++ netinet6/nd6.c 5 Sep 2025 14:54:10 -0000 > @@ -267,8 +267,8 @@ nd6_timer(void *unused) > } > > secs = expire - uptime; > - if (secs < 0) > - secs = 0; > + if (secs < 1) > + secs = 1; > if (!TAILQ_EMPTY(&nd6_list)) { > nd6_timer_next = uptime + secs; > timeout_add_sec(&nd6_timer_to, secs); > >