On Sat, Jun 14, 2008 at 10:55:52PM -0400, David Higgs wrote:
> On Sat, Jun 14, 2008 at 9:16 PM, Henning Brauer <[EMAIL PROTECTED]> wrote:
> > * David Higgs <[EMAIL PROTECTED]> [2008-06-15 01:59]:
> >> On Sat, Jun 14, 2008 at 1:11 PM, Henning Brauer <[EMAIL PROTECTED]> wrote:
> >> > * Toni Mueller <[EMAIL PROTECTED]> [2008-06-14 11:29]:
> >> >> Would it be possible to walk along the live table, without copying the
> >> >> table, or would the continuous stream of route inserts and deletes lead
> >> >> to a corrupted view and/or access to the wrong parts of the system's
> >> >> memory (which must to be prevented), or would this be such a
> >> >> performance hit that this is unfeasible?
> >> >
> >> > userland can walk a kernel table since when exactly?
> >> > (leave dirty /dev/mem style hacks aside)
> >>
> >> If the kernel table is kept in an ordered state, userland could
> >> provide a "starting value" or key.  The kernel can then return the
> >> requested chunk (up to the size requested) starting at the "next"
> >> table item that comes after the key.
> >
> > wow. you completely miss the point.
> > userland cannot poke in kernel memory.
> > (footnote: ok, it can, but assuming it can't is better)
> 
> I knew that, but I explained myself poorly.  I was thinking something
> along the lines of making a different route sysctl (other than
> NET_RT_DUMP) that can copy out smaller portions of the routing table
> at a time.  Userland programs could then iterate their way through the
> routing table.
> 
> Depending on the structures being copied out, this might be completely
> unworkable.  On top of that, you'd at best just push back the limits
> on available real memory.  Best to wait for a restartable route
> sysctl.
> 
> Apologies for the noise and my out-loud musings.
> 

Yes that's more or less what needs to be done. I'm willing to look at
diffs and help working out the evil guts of this.

-- 
:wq Claudio

Reply via email to