Subject: Re: Further news on gated 3.5b4 vs. NetBSD-1.2
To: None <gated-people@merit.edu, tech-net@NetBSD.ORG>
From: Curt Sampson <cjs@portal.ca>
List: tech-net
Date: 03/11/1997 19:21:05
On Mon, 10 Mar 1997, Curt Sampson wrote:

> So now rtparms also has pointers into krt_xaddrs()'s static buffer.
> krt_recv_route() then goes on its merry way and eventually does a
> rescan of the interfaces:
> 
>     /* Rescan the interfaces to make sure we have the latest information */
>     /* Even if we are getting interface status change messages, there are */
>     /* cases where the kernel does not send them, or we could have missed one */
>     krt_ifread(task_state);

My current solution to this problem is to change this call to krt_ifread()
to a call to krt_ifcheck() instead:

    krt_ifcheck();

The krt_ifcheck routine schedules a task that runs krt_ifread, thus
getting around the problem of the multiple calls to the non-rentrant
krt_xaddrs() function.

However, it strikes me that it would be desirable to schedule the
job a few seconds in the future, rather than running it right away,
so that if there are a bunch of updates happening at once, we can
reduce the cost of the scans. Does anyone know how to do this?

And while we're on the topic, is there any internal documentation
available for gated? The `internals guide' that comes with 3.5 beta
4 is one page that says essentially `this doesn't exist.'

It's become apparent that this has nothing to do with NetBSD, so
I'm redirecting replies to just the gated list and me.

cjs

Curt Sampson    cjs@portal.ca	   Info at http://www.portal.ca/
Internet Portal Services, Inc.	   Through infinite myst, software reverberates
Vancouver, BC  (604) 257-9400	   In code possess'd of invisible folly.