<feed xmlns='http://www.w3.org/2005/Atom'>
<title>quagga/tests/.gitignore, branch isis-redist</title>
<subtitle>Quagga routing suite</subtitle>
<link rel='alternate' type='text/html' href='http://git.sublab.org/quagga/'/>
<entry>
<title>tests: add a test program for lib/command.c</title>
<updated>2014-01-07T23:49:41+00:00</updated>
<author>
<name>Christian Franke</name>
<email>chris@opensourcerouting.org</email>
</author>
<published>2013-11-15T18:23:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.sublab.org/quagga/commit/?id=d30eb038466ae3d14862df08bf58ee80c00bf311'/>
<id>d30eb038466ae3d14862df08bf58ee80c00bf311</id>
<content type='text'>
Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>zebra: rework recursive route resolution</title>
<updated>2013-09-19T16:04:40+00:00</updated>
<author>
<name>Christian Franke</name>
<email>chris@opensourcerouting.org</email>
</author>
<published>2013-07-05T15:35:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.sublab.org/quagga/commit/?id=fa713d9ee5ed30dedd0a290be9aaff780a2896be'/>
<id>fa713d9ee5ed30dedd0a290be9aaff780a2896be</id>
<content type='text'>
Change the datastructure for recursive routes. This brings the following
benefits:

By using struct nexthop also to store nexthops obtained by recursive
resolution, we can get rid of quite a bit of code duplication in the fib
management. (rt_netlink, rt_socket, ...)

With the new datastructure we can make use of all available paths when
recursive routes are resolved with multipath routes.

Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change the datastructure for recursive routes. This brings the following
benefits:

By using struct nexthop also to store nexthops obtained by recursive
resolution, we can get rid of quite a bit of code duplication in the fib
management. (rt_netlink, rt_socket, ...)

With the new datastructure we can make use of all available paths when
recursive routes are resolved with multipath routes.

Signed-off-by: Christian Franke &lt;chris@opensourcerouting.org&gt;
Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>tests: add DejaGNU framework</title>
<updated>2013-04-14T14:01:05+00:00</updated>
<author>
<name>David Lamparter</name>
<email>equinox@opensourcerouting.org</email>
</author>
<published>2013-02-26T15:21:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.sublab.org/quagga/commit/?id=f281ab9752393fcc7cbb54c50edb66f25c2a31fb'/>
<id>f281ab9752393fcc7cbb54c50edb66f25c2a31fb</id>
<content type='text'>
DejaGNU seems to be the 'standard' GNU test framework (which by itself
doesn't say much), but it seems relatively usable and the "remote
system" capabilities might come in handy for virtualisation-based tests
for kernel interactions or something.

Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
DejaGNU seems to be the 'standard' GNU test framework (which by itself
doesn't say much), but it seems relatively usable and the "remote
system" capabilities might come in handy for virtualisation-based tests
for kernel interactions or something.

Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>build: update .gitignore for all test programs</title>
<updated>2013-01-16T00:10:24+00:00</updated>
<author>
<name>Leonid Rosenboim</name>
<email>lrosenbo@wrs.com</email>
</author>
<published>2012-11-06T19:44:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.sublab.org/quagga/commit/?id=8d083b9ec5bb0375ebb6d8b2b05c848febd92cb5'/>
<id>8d083b9ec5bb0375ebb6d8b2b05c848febd92cb5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>lib/table: add route_table_get_next() and iterator</title>
<updated>2012-09-26T19:50:48+00:00</updated>
<author>
<name>Avneesh Sachdev</name>
<email>avneesh@opensourcerouting.org</email>
</author>
<published>2012-08-17T15:19:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.sublab.org/quagga/commit/?id=28971c8cb1138700e87dc7da673e59b5596bb51b'/>
<id>28971c8cb1138700e87dc7da673e59b5596bb51b</id>
<content type='text'>
  * lib/table.[ch]

    - Add a function (route_table_get_next()) to get the route_node in
      a tree that succeeds a given prefix in iteration order.

      This allows one to reliably walk nodes in a tree while allowing
      modifications, and is useful for achieving scale and
      performance. Other approaches are also possible -- the main plus
      point of this one is that it does not require any state about
      the walk to be maintained in the table data structures.

    - Add an iterator for walking the nodes in a tree. This introduces
      a new structure (route_table_iter_t) and the following main
      functions.

        route_table_iter_init()
        route_table_iter_pause()
        route_table_iter_next()
        route_table_iter_cleanup()

      The iterator normally uses node pointers and the existing
      route_next() function to walk nodes efficiently. When an
      iteration is 'paused' with route_table_iter_pause(), it stores
      the last prefix processed. The next call to
      route_table_iter_next() transparently invokes
      route_table_get_next() with the prefix to resume iteration.

  * bgpd/bgp_table.[ch]

    Add wrappers for the new table features described above.

  * tests/table_test.c

    Add tests for the new table code.

Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  * lib/table.[ch]

    - Add a function (route_table_get_next()) to get the route_node in
      a tree that succeeds a given prefix in iteration order.

      This allows one to reliably walk nodes in a tree while allowing
      modifications, and is useful for achieving scale and
      performance. Other approaches are also possible -- the main plus
      point of this one is that it does not require any state about
      the walk to be maintained in the table data structures.

    - Add an iterator for walking the nodes in a tree. This introduces
      a new structure (route_table_iter_t) and the following main
      functions.

        route_table_iter_init()
        route_table_iter_pause()
        route_table_iter_next()
        route_table_iter_cleanup()

      The iterator normally uses node pointers and the existing
      route_next() function to walk nodes efficiently. When an
      iteration is 'paused' with route_table_iter_pause(), it stores
      the last prefix processed. The next call to
      route_table_iter_next() transparently invokes
      route_table_get_next() with the prefix to resume iteration.

  * bgpd/bgp_table.[ch]

    Add wrappers for the new table features described above.

  * tests/table_test.c

    Add tests for the new table code.

Signed-off-by: David Lamparter &lt;equinox@opensourcerouting.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>[administrivia] Git should ignore backup files and .loT files</title>
<updated>2008-08-22T19:00:46+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-10-21T17:35:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.sublab.org/quagga/commit/?id=d68cbf9261869e532dfdd14dbb4122b3f3feb0d4'/>
<id>d68cbf9261869e532dfdd14dbb4122b3f3feb0d4</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>[administrivia] Add .gitignore files, based on .cvsignores.</title>
<updated>2008-08-22T18:49:33+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-02-19T17:30:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.sublab.org/quagga/commit/?id=3c5a0a4f8fe3811affff6d5e123379eedb083571'/>
<id>3c5a0a4f8fe3811affff6d5e123379eedb083571</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
