tech-net archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Route lookup library



On 12 Oct, 2014, at 22:37 , Alistair Crooks <agc%pkgsrc.org@localhost> wrote:
> On Sun, Oct 12, 2014 at 09:13:37AM -0700, Alan Barrett wrote:
>> On Fri, 10 Oct 2014, Dennis Ferguson wrote:
>>> In any case, this is part of a larger library of lockless-reader
>>> data structure code and other bits which provide a sufficient base
>>> to construct a basic network stack which can move packets from
>>> input to output interface, or input interface to demultiplexed
>>> transport session, without locking around the shared data.  I'm
>>> trying to organize the rest of it so that I can donate it all, but
>>> everything is more or less implemented in the "style" of the
>>> above (e.g. builds into the kernel or a user space library
>>> unchanged, often provides separate "volatile" and "non-volatile"
>>> reader functions, ...?) and I was interested in seeing if anyone
>>> found bits of this objectionable.
>> 
>> I like those features.
> 
> I agree -- I'd love to see this in-tree. You've obviously tested this
> out pretty thoroughly, so are there any programs we could use to do
> that ourselves, and to put into atf tests?

I have a test jig I used for development, but this is both a big mess
and depends on very inefficient and long-running random trials to
find anything wrong (I have trouble writing my own directed tests
as I find the tests I write myself only test the stuff that works and
fails to ever find the stuff that doesn't work).

There is an undocumented function rttree_sanity_() in the library
which does a fairly exhaustive check of a built data structure and
can usually find the leftovers from a prior incorrect
_add()/_delete()/_change().  I'll look to see if there's anything that
can be salvaged from the test jig for atf.

Dennis Ferguson


Home | Main Index | Thread Index | Old Index