[Xorp-hackers] Fwd: [xorp.ct] RIB Modifications and Optimizations + some BUG fixes (#108)

Ben Greear greearb at candelatech.com
Tue Mar 19 15:34:55 PDT 2013


I'm working on pushing our own release out the door, but will
get this applied as soon as I have that work finished.

Thanks!
Ben


-------- Original Message --------
Subject: 	[xorp.ct] RIB Modifications and Optimizations + some BUG fixes (#108)
Date: 	Tue, 19 Mar 2013 10:20:00 -0700
From: 	Igor Maravić <notifications at github.com>
Reply-To: 	greearb/xorp.ct <reply+i-12191458-e304b937a53d83e3a06b62a61e07e95076e53737-292522 at reply.github.com>
To: 	greearb/xorp.ct <xorp.ct at noreply.github.com>



Hi Ben,

I had some other obligations on my work, so I've put XORP development a little on the side for a last few months.

Any how, I had some RIB modification and optimization patches and some BUG fixes that were sitting on my tree.
I've rebased them on the top of the XORP master branch, and this is the pull request for them.

They've passed all XORP tests.

BR
Igor

PS. Please post this to the xorp-hackers group. I can't do it from GitHub.

----------------------------------------------------------------------------------------------------------------------------------------------------------------


         You can merge this Pull Request by running

    git pull https://github.com/i-maravic/xorp.ct master

Or view, comment on, or merge it at:

https://github.com/greearb/xorp.ct/pull/108


         Commit Summary

   * xorp: libxorp: Fix find_subtree function of TrieNode
   * trivial: ws fixes
   * xorp: libxorp: Add operator!= to the Trie iterators
   * xorp: libxorp: Add size() method, and change payload_count type to size_t
   * xorp: rib: Add str() method for RouteRange
   * xorp: rib: Register for the max_specific subnet
   * xorp: rib: Dynamicly allocate memory for nexthop, instead of saving them in map
   * xorp: rib: Print parent name of RedistTable in str()
   * xorp: rib: Add constified method for geting parent from RouteTable classes
   * xorp: rib: ExtInt table can now be initialized with NULL parents
   * xorp: rib: Uncoditionally plumb ExtInt table
   * xorp: rib: Pretify print_rib function
   * xorp: libxorp: trie: Print warning only if debugging
   * xorp: rib: Don't propagate route copy from PolicyConnectedTable
   * xorp: rib: tests: Add some additional tests, to better test RIB
   * xorp: rib: Cache routes in ExtInt table
   * xorp: rib: Don't check for next_table in ExtInt table
   * xorp: libxorp: Fix finding of bounds in trie
   * xorp: libxorp: Make trie lookup faster
   * xorp: rtrmgr: Fix memory leaks in template.ll
   * xorp: policy: backend: Fix memory leak in PolicyredistMap
   * xorp: rib: Enlarge max word limit, and set it via static variable
   * xorp: rib: Change variable and function names in ExtInt table and ResolvedIPRouteEntry
   * xorp: rib: Don't make copies in PolicyConnected RouteTable
   * xorp: rib: Drop merged tables from RIB tree
   * xorp: rib: Split add_route to add_igp_route and add_egp_route
   * xorp: libxorp: Add MemoryPool class
   * xorp: Use MemoryPool for NextHops and IPRouteEntrys
   * xorp: rib: Make use of ResolvedIPRouteEntry by augmenting constructor arguments that it takes
   * xorp: rib: Delete unnecessary functions
   * xorp: Enable user to disable assertions
   * xorp: rib: Add admin_distance parameter to RouteEntry constructor
   * xorp: rib: Check if nexthop == NULL only in IPRouteEntry constructor
   * xorp: Make nexthop and policytags be shared_pointers in RouteEntries
   * xorp: rib: Removed lookup_route and parent functions from base RouteTable
   * xorp: rib: Templetize functions for adding new origin tables
   * xorp: rib: Save protocols in the appropriate RIBs
   * xorp: rib: Further RIB optimizations


         File Changes

   * *M* xorp/SConstruct <https://github.com/greearb/xorp.ct/pull/108/files#diff-0> (16)
   * *M* xorp/libxorp/ipnet.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-1> (58)
   * *M* xorp/libxorp/ipv4.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-2> (26)
   * *M* xorp/libxorp/ipv4.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-3> (42)
   * *M* xorp/libxorp/ipv6.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-4> (65)
   * *M* xorp/libxorp/ipv6.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-5> (74)
   * *A* xorp/libxorp/memory_pool.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-6> (100)
   * *M* xorp/libxorp/nexthop.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-7> (46)
   * *M* xorp/libxorp/nexthop.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-8> (26)
   * *M* xorp/libxorp/tests/test_trie.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-9> (115)
   * *M* xorp/libxorp/trie.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-10> (47)
   * *M* xorp/libxorp/xlog.h <https://github.com/greearb/xorp.ct/pull/108/files#diff-11> (6)
   * *M* xorp/policy/backend/policy_redist_map.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-12> (3)
   * *M* xorp/rib/SConscript <https://github.com/greearb/xorp.ct/pull/108/files#diff-13> (2)
   * *M* xorp/rib/parser.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-14> (6)
   * *M* xorp/rib/parser_direct_cmds.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-15> (2)
   * *M* xorp/rib/protocol.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-16> (5)
   * *M* xorp/rib/protocol.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-17> (2)
   * *M* xorp/rib/rib.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-18> (581)
   * *M* xorp/rib/rib.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-19> (136)
   * *M* xorp/rib/route.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-20> (107)
   * *M* xorp/rib/route.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-21> (101)
   * *M* xorp/rib/rt_tab_base.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-22> (6)
   * *M* xorp/rib/rt_tab_base.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-23> (29)
   * *M* xorp/rib/rt_tab_deletion.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-24> (169)
   * *M* xorp/rib/rt_tab_deletion.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-25> (116)
   * *M* xorp/rib/rt_tab_extint.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-26> (913)
   * *M* xorp/rib/rt_tab_extint.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-27> (78)
   * *M* xorp/rib/rt_tab_log.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-28> (46)
   * *M* xorp/rib/rt_tab_log.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-29> (23)
   * *M* xorp/rib/rt_tab_origin.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-30> (124)
   * *M* xorp/rib/rt_tab_origin.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-31> (118)
   * *M* xorp/rib/rt_tab_pol_conn.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-32> (155)
   * *M* xorp/rib/rt_tab_pol_conn.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-33> (18)
   * *M* xorp/rib/rt_tab_pol_redist.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-34> (93)
   * *M* xorp/rib/rt_tab_pol_redist.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-35> (18)
   * *M* xorp/rib/rt_tab_redist.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-36> (105)
   * *M* xorp/rib/rt_tab_redist.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-37> (26)
   * *M* xorp/rib/rt_tab_register.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-38> (91)
   * *M* xorp/rib/rt_tab_register.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-39> (86)
   * *M* xorp/rib/tests/commands <https://github.com/greearb/xorp.ct/pull/108/files#diff-40> (22)
   * *M* xorp/rib/tests/rt_tab_expect.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-41> (28)
   * *M* xorp/rib/tests/rt_tab_expect.hh <https://github.com/greearb/xorp.ct/pull/108/files#diff-42> (18)
   * *M* xorp/rib/tests/test_deletion.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-43> (28)
   * *M* xorp/rib/tests/test_redist.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-44> (47)
   * *M* xorp/rib/tests/test_register.cc <https://github.com/greearb/xorp.ct/pull/108/files#diff-45> (18)
   * *M* xorp/rtrmgr/template.ll <https://github.com/greearb/xorp.ct/pull/108/files#diff-46> (20)
   * *M* xorp/site_scons/config/allconfig.py <https://github.com/greearb/xorp.ct/pull/108/files#diff-47> (2)


         Patch Links:

   * https://github.com/greearb/xorp.ct/pull/108.patch
   * https://github.com/greearb/xorp.ct/pull/108.diff





More information about the Xorp-hackers mailing list