[vyatta-svn] xorp: Changes to 'refs/tags/RELEASE_1_0_RC'
Tom Grennan
tgrennan at suva.vyatta.com
Wed Dec 6 11:00:40 PST 2006
Tag 'RELEASE_1_0_RC' created by pavlin <pavlin> at 1970-01-01 00:00 -0800
Changes since RELEASE_0_1:
atanu (574):
Add test4 in order to track a problem with the RIB on Linux.
Fix a typo in the comments.
The shell function "coord" sends commands to the coordinator process
Recently the argument "not" was allowed with the "lookup" argument:
Same bug in reregister code.
The test harness parser now supports the "med" argument when building
Add a unit test program for the next hop resolver. Fixed a number of
Add "test_rib_fea1.sh" and "test_terminate.sh" to the soak tests.
If a nexthop for which we have an answer from the RIB becomes invalid
1) If a next hop changed and we re-registered interest with the RIB,
Re-enabled tests "test4" and "test5". The tests required the aspaths
The arguments to enable and disable interface were incorrect.
Add the functions to enable and disable addresses.
Ignore RTM_DELETE messages when they pop up from the routing socket.
Rework the destructor for BGPMain. Previously calling the
Increase the XLOG level for INFO to be high.
Changed XLOG_WARNING to XLOG_INFO when using stale metrics.
Add some debugging.
Route add/delete commands from the RIB to the FEA are bracketed
Incorrect index to array when calling c_format.
Set the NEXT_HOP variable unconditionally. Previously it was only
Start a dummy fea so the RIB has someone to talk to.
In the active state if the tcp connection has succeeded we are
Removed bogus comment.
If an interval isn't specified do something.
Dynamically add next hop re-write filter.
The next hop rewrite code now changes the next hop attribute on the
Incorrect error message. update -> open.
The coord command will not block if the environment variable NOBLOCK
Change test15 to make multiple connections. Indent the code to match
Peering tests that use saved traffic files.
Add a mrtd format dump from our border router to the repository.
Add test_peering2.sh to the make check target.
If constructing a packet causes an exception catch it.
The length that was passed back from create forgot to add the size of
Remove redundant cast.
Allow these scripts to be called from other directories.
Script to inject a saved feed into our BGP.
In state active we set the hold duration to 4 minutes.
Remove test1 as is has started failing on Koala. This test is not
Add an additional half a second when priming the hold timer. This
Put back the hold time test. With the additional half second this test
Only do this if the hold timer is non zero, oops.
Enable test2. Inject a saved feed and then toggle another peering.
When we receive an open message unconditionally clear all timers and
Use a holdtime of 30 seconds for the holdtime test.
The xrl delete_peer does not require an AS number so remove this
Hopefully the last draft.
Put a one second delay between starting a program and firing an xrl at
When printing out an update packet distinguish between an NLRI or
If the wait command fails then terminate the test immediately.
Increase the variable that holds the count of number in XRLs in flight
Minor clarifications and bumped the release number.
1) Standard error is no longer re-directed. So all the XLOG messages
Replace calls to panic with XLOG_FATAL and calls to fprintf to XLOG_WARNING.
Correct comment
If we are being asked to release resources and the _handler was null
Fix typo.
Error handling in xorp work in progress.
Process failure table.
Start of FEA plan.
Add subsection on XRL failures due to communication problems.
Hopefully final draft before RFC.
Fix typo.
Add figure showing relationship between processes.
First cut. Multicast related sections TBD.
Restructure to match the introduction.
Add a section describing the xorpsh and correct the table entry.
Add a section on how we detect process failure.
Add a section on execution errors.
Text for actions to take when multicast components of the router fail.
Fix typo.
Mark all routing entries added by the fea with the "RTF_PROTO1" bit.
Add a terminate method to the fea.
ingnore error.ps.
Removed doofus.
Add terminate.
A shutdown XRL has just been added in common. BGP already had a
In test1, test peer2 creates a session and injects a large number of
Add some debugging.
In test2 remove all the calls to sleep and using print_peers wait for
MacOS X compilation fixes.
Bump the version number.
Update BGP section.
Bumped the date to June.
Refactor the code in the callback to use a switch statement so all
fprintf(stderr, -> debug_msg(
fprintf(stderr, -> debug_msg(
The handling of XRL errors should now correspond to the error
Add an id to each route add/delete that can be matched in the
Add a disconnect command.
New test that injects a feed then disconnects session.
Get echo to expand backslash sequences.
Lose the fancy formatting. Don't check for connection establishment,
Move test3 into the tests not fixed list.
Fix comment regarding REPLY_TIMED_OUT.
New style xrl callback handling.
Watch for fea and rib, birth and death.
Add XLOG and make method "ready" const.
Throw an exception when a NO_FINDER error occurs rather than just exiting.
Corrected error message.
An XRL call to "reset" causes the destruction of all current peers. A
These tests now all start a fea and rib.
BGP will now check for the existence of a fea and rib processes before
If a connect call fails, no longer generate an error. Dramatically
If a process that BGP is dependant on exits and a tidy exit is being
Each peer now has its own XrlStdRouter. So the call to pending now
printf -> debug_msg.
Pending will now return true when a peer is being initialised.
Its now an error if the callback for an XRL doesn't happen in the
Wait up to ten seconds for an XRL to complete.
Add "-w" wait time argument to call_xrl and change test script to use it.
In test2 poll for the peering to be dropped.
Can't seem to get test2 to work. Give in add a ten second sleep.
Count the number of update messages that are submitted to the
Add a status XRL to the coordinator. This returns the state of a
Use the new status method to detect when a peering is
Paragraph regarding the new "status" xrl.
Update a comment.
Enable verbose output to try and find the problem with these tests.
Add a generation id to the peer interactions. This allows us to detect
Temporarily remove test_peering2.sh from the check target, it is
Add a trace option ("-t") to the test_peers.
Generate an XLOG_INFO message if an incoming connection is rejected.
Go back to using an single XrlStdRouter. When a peer is removed mark
Increase the delay after a reset from 5 to 10 seconds. A test_peer can
1) Move test2 to the list of not fixed tests.
Re-enable test_peering2.sh.
Fix typo in comment.
Move the DOUT macro from test_next_hop_resolver.cc to test_main.hh and
Guard defines.
Declare next hop resolver test functions in header file.
Include test_next_hop_resolver.hh.
The bgp isolation tests are now called in a regular manor.
Add a debugging macro that uses the verbose level. Modify the test
The test harness allows a saved data file in mrtd format to be sent to
Rationalise function name: bgp_peer_updates_received -> bgp_peer_unchanged.
When we fail to send an XRL because we are out of buffer space, stop
Don't print a "+" everytime we call eventloop.run(). Too much output.
Only allow 1 xrl in flight between BGP and the RIB. The previous value
printf -> debug_msg.
DEBUG_LOGGING disabled.
Dump callback args from 12 to 13.
In the destructor for BGPMain we wait for all the timers to
Interfaces for IS-IS.
Increase callback.hh late bound arguments from 12 to 13.
Support for interface addresses and NLRI v4 and v6.
sumary -> summary.
When fetching routing table entries don't use an error to denote the
Allow the setting of the finder host and port on the command line.
Its not always possible to tell which test has failed. Has a test
Add some more warnings. Still trying in vain to find the reason for
The test_terminate.sh script doesn't actually verify that the bgp
From my reading of the spec (draft-ietf-idr-bgp4-20.txt) an unknown
Move the tokenize routine into its own header file.
Support for sending optional path attributes.
Out by one in argument checking code.
Tests to verify that we correctly handle optional path
Add test_path_attribute1.sh to the list of regression tests.
1) Remove the UKNOWN type value for path attributes.
An output filter has been added for unknown path attributes:
1) Move all the tests to the working set.
BGP - handling of unknown attributes completed.
Remove outdated comment.
Move set_parameter higher up the bgp.xif file then fix the generated errors.
Add the type values for multiprotocol reachable and unreachable.
SAFI = 3 - Removed in draft-ietf-idr-rfc2858bis-04.txt.
Start of multiprotocol extensions.
Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing.
Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing.
Str method now knows about multiprotocol attributes.
Renaming packet_test -> test_packet to conform with xorp naming
Rudimentary tests for IPv6 multiprotocol update packets.
Correct comment.
Increase the functionality of the process watcher so it can be used to
Add two methods:
Call the BGP MIB code when there are state transitions to allow SNMP
If we are interested in the target "bgp4_mib" actually register
Create a new static method to print notification error codes and
Use the new method in the notification class to format error codes to
Remove some dead code.
When we generate a notification packet save the error codes. We were
Undid last change. Last error should only contain state received from
Add the access methods for the multiprotocol attributes.
Print the AFI and SAFI values.
Add the hook for enabling the Multiprotocol capability "MultiProtocolIPv6".
Enable the sending of the IPv6 capability through the test harness.
Update the program names.
Update BGP section.
Bumped version number.
Rename packet_coding_test.cc to test_packet_coding.cc.
Rename packet_coding_test.cc to test_packet_coding.cc.
Refactor tests to use libxorp/test_main.hh.
Fix a minor casting problem that caused the AFI to incorrectly read.
Fixed the date and added a known problems section.
Documented the problem with new session getting withdraws from
Bumped version number and date.
1) Removed redundant casts.
Add a test for the refresh capability.
Change assert -> XLOG_ASSERT and add some comments regarding why it it
Occasionally test1 fails, perhaps because 10 seconds is not long
Code to tease apart an update packet into its IPv4 and IPv6
Some minor syntax errors (missing underscores), discovered when template code
Support for generating ipv6 update packets.
The copy constructor wasn't copying the ipv6 flag.
Create a session with both sides sending "BGP Multiple Protocol
The mandatory attributes ORIGIN, ASPATH and NEXT HOP only need to be
Uncomment all the IPv6 hooks and add some debugging.
1) Fix systematic bug in encoding and decoding multiprotocol nlri.
Forgot to call the encode method on the multiprotocol attributes.
Add some more multiprotocol test cases.
Add a test that sends an IPv6 only update packet.
Rather than creating a bogus next hop attribute for IPv6 just save the
Previously there was a single push method. Split into an ipv4 and an
Formatting.
Distinguish between ipv4 and ipv6.
#include <typeinfo>
Add a clone method to all path attributes. It is now therefore
1) Change all the clone methods to be const.
Don't use typeid() and <typeinfo> to figure out which template
Create an IPv6 nexthop and place it in path attribute list. Not a
The multiprotocol reachable attribute no longer requires an embeded
Actually set the bool that checks for the presence of local pref.
Clarify comment with regard to IPv4 and IPv6 nexthop mismatches.
Replace nasty horrible C style casts with cool C++ dynamic casts so we
Add some more IPv6 tests.
1) assert -> XLOG_ASSERT
Minor reformatting.
Use an AS path that will allow this test to pass.
Print address family in NULL parent table warning.
Added or removed the setting of local pref in tests that were not
Typo in comment.
Refactoring in preparation for IPv6 support.
Add a copy constructor.
Add support for IPv6 in the test harness.
test_trie.
In a list iterator used a different .begin() to .end(). Why did the
Free up the memory allocated for the update packet.
Free up the memory allocated for the update packet.
Free up the memory allocated for the update packet.
Comments and minor reformatting.
Full support for IPv6.
Apple size_t casts.
In methods built from templates its not always easy to detect if we are in an
For multiprotocol packets:
Add a test for multiprotocol unreachable packets.
Missed a few IPv4 dependencies.
1) IPv6 multiprotocol attributes are now extracted and placed in an
Fixed some problems in the building of IPv6 multiprotocol packets by
Zap dead code.
Missed adding a goto.
Add an aspath to keep the update packet legal.
Change the formatting of the multiprotocol output.
Manipulate the real head and tail pointers as opposed to local copies.
Rename update_walk to replay_walk.
Tests for the replay code.
The replay code no longer generates redundant withdraws.
Wait for the finder to become ready.
Add "replay" support.
Wait one second before exiting, this will allow any callers to the
No longer use the XrlRouter pending method to test if a command
When dumping the state from a trie it is now necessary to specify
o Add a str() method to return the seconds and microseconds.
We can now generate IPv4 and IPv6 mrtd format route table dumps.
There are two times with each entry in a route table dump. One seems
Remove two entries:
The test harness now has all the functionality it was designed to have
Reformatting.
Add all the missing IPv6 functions.
Small formatting nit when printing BGP Multiple Protocol Capability
We were printing nlri not withdrawn for withdrawn routes. The joys of
Implement a clone method for AnyAttribute().
When adding a path attribute to an update packet don't decode and
Add some fields to the update_packet so that its easy to find the
1) The clone methods for multiprotocol path attributes no longer go
We can now generate update packets containing multiprotocol path
Copy test1 and test2 to create test1_ipv6 and test2_ipv6.
Allow testing for idle connections. Very useful for testing that a
test26
Add an assertion to verify that the prefix length returned by the rib
Previous assertion not quite right a prefix length of zero was
Initialise the real prefix length in the IPv6 case.
Create the IPv6 ibgp and ebgp tables in the RIB.
Copy test1 and make an IPv6 version test1_ipv6.
Bad initialisation. Hopefully tinderbox failures will stop now.
Refactor some of the ipv4 tests in order to make them easier to clone
Print an error message when BGP considers that the finder has died and
Remove dead code.
Add a comment.
Remove a lot of dead code and kdocify.
Remove dead code. Script to convert old style config files.
Include "callback.hh".
If the run() method has not been entered for 2 seconds we print a
Make AFI and SAFI defines consts.
In the clone method use dynamic casts not static casts. The compiler
Use the AFI_IPV{4,6} consts in parameter.hh rather than using
Change assert to XLOG_ASSERT and add a comment about why its safe to
Make BGPVERSION a const from a define.
Remove all the annoying carriage returns.
Fixed:
Update this test program so the exit status of the program reflects
1) The wrong test was being called.
Don't use the default constructor on BGPPeerData as we are about to do
Rename plumbing_test.{cc,hh} test_plumbing.{cc,hh} as per convention.
Rename plumbing_test.{cc,hh} test_plumbing.{cc,hh} as per convention.
Rename plumbing_test.{cc,hh} test_plumbing.{cc,hh} as per convention.
Rename plumbing_test.{cc,hh} test_plumbing.{cc,hh} as per convention.
Use a string rather that a const char *, as it causes:
Open parameters are now stored in ref_ptr's, no longer need to worry
Now that we are using ref_ptr's to hold pointers to a parameter making
Reformatting and killing of dead code.
Multiroute somehow got left out of the parsing process.
We no longer need to explicity call delete on a parameter pointer. The
The test test_bgpmib.sh has been consistently failing since we made
New BGP draft.
Wait for the process to connect to the finder.
Be more forgiving about the number of outstanding timers there can be.
Revert to previous version.
#include "libxorp/xlog.h".
#include "libxorp/xlog.h"
parameter.{cc,hh}
Test program to test the open negotiation.
Change the enumns for AFI and SAFI.
Simplify the extraction of the AFI.
Add IPv4 and IPv6 RIBs for multicast put another way SAFI = 2.
The next hop resolver holds a pointer back to the decision table. This
Renaming:
Refactor such that we get one instance of a next hop resolver per
Comment out experimental class that fails on older compilers.
Configured the BGP process to use the RIB (disabled by
Add:
A routing topology where all three peerings are I-BGP.
Latest BGP draft.
Add test4 the same as test3 apart from the order of arrival of the
Add test2 back into the set of working tests as it no longer causes
Add test_routing2.sh to the list of tests.
Comment out the warning in stop_peering if the parent table pointer is
A new MED test that all six permutations are tried.
This is not really a BGP test its a RIB test repeated adding and
We have four separate instances of routing tables in BGP:
New "Capabilities Advertisement with BGP-4" rfc.
When I added the IPv6 multiprotocol support I had assumed that we
This library includes a BGP header file that includes another header
Multiprotocol IPv4 path attribute handling.
Move tests 4 and 5 to the working list.
The update packet can now handle all AFIs and SAFIs.
In skip_entire_queue change a fprintf to a XLOG_INFO.
After about two days the BGP process on xorp12 is exiting because it
Make the update packet accessor methods for multiprotocol NLRI const.
Multiprotocol NLRIs are not transitive oops.
Distinguish between AFI/SAFI parameters; sent, received and negotiated.
Checked in file with with wrong ARRAY_SIZE setting.
Add a method to remove path attributes from the list by pointer.
Start of checking multiprotocol nlris on input.
When asked to return SAFI = 2, multicast. We were returning the
In the IPv6 tests the multiprotocol capability is now announced.
More stringent update message tests for multiprotocol nlri attributes.
We no longer hold a pointer to each multiprotocol path attribute. The
Renamed test27 to test8_ipv6 and forgot to remove test27 from the list
Add to the list of tests that need to be written.
Change update packet accessor methods for multiprotocol nlri to use templates.
assert -> XLOG_ASSERT
Rationalise the many multiprotocol methods to a single templatised
class -> typename.
Both UpdatePacket::add_pathatt() methods were adding directly to the
Minor style changes and loads of debugging.
Check the number of PCBs in TIME_WAIT before each test not once per script.
Print SAFI as a string.
Print SAFI as well as AFI.
All multiprotocol AFI/SAFI combinations can now be teased apart and
Change the parameter name "MultiProtocolIPv6" to
Remove dead code that used to wait for 1 second so any calls to our
SAFI == multicast.
Fix typo in comment.
Add the "-n" flag to netstat so the netstat doesn't hang forever.
Used before set problem with the SAFI. Hence we were incorrectly
assert -> XLOG_ASSERT.
Increase the verbosity of XLOG_WARNING and XLOG_INFO.
Remove XLOG_INFO, I thought that we have been going into an infinite
Add a method that doesn't copy the path attribute that is being passed
Don't make a copy of the path attribute if there is no need.
Send in the ipv6 multiprotocol parameter in the open to force our BGP
Only send multiprotocol NLRIs if the peer actually sent the relevant
Remove bogus warning and dead code.
Add some debugging.
Add Notification error code: Open unsupported capability (7).
Add set parameter, this will allow us to enable the multiprotocol capability.
Enable IPv6 Unicast.
* Bump version to 0.5 and date to 2003-11-06.
1) Move routes to PIM to DONE.
Update RIB section.
* Bump version to 0.5 and date to 2003-11-06.
Remove:
Update BGP section: IPV6, SAFI Multicast and memory leak.
* Bump version to 0.5 and date to 2003-11-06.
Update comment regarding xorpsh behaviour when the rtrmgr fails.
Add to the rtrmgr entry - minor code cleanup.
* Bump version to 0.5 and date to 2003-11-06.
SNMP - No significant change.
* Bump version to 0.5 and date to 2003-11-06.
The test harness can't deal with SAFI multicast.
BGP deterministic MEDs.
* Bump version to 0.5 and date to 2003-11-06.
Update BGP.
Update the RFCs and Internet Drafts that BGP-4 is conformant with.
Add an entry for MacOS X.
Take my laptop name out of the uname output:-).
MacOS X.
Take reference to MacOS X out, as its in the BUILD_NOTES.
Update.
Add a script to run all the tests programs again, but this time
If we reject a connection attempt then close the file descriptor.
Change an assert(false) => XLOG_UNREACHABLE.
The BGP process often get a NO_FINDER response after sending an XRL to
Add a busy method to the rip_ipc_handler so that the destructor in BGP
When BGP is shutting down in the destructor in two places it waits for
Minor reformatting.
TCP connects are now asynchronous.
* Kdoc public interface.
If we are attempting to make a connection and the peer connects to
Remove bogus assert.
Changed close_socket -> local_close_socket - temporary fix to get file
Unconditionally do FLOW_CONTROL.
Remove retry clutter.
Remove eventloop reference.
Pass all the debugging information we can to the callback when
Remove unused define.
Remove sequence ID.
Send as many XRLs as possible from BGP to the RIB. Use the socket
Change type of comment from char * to string.
Only attempt to send a route add or delete if we are not
Temporary HACK to allow tinderbox to run.
Add a delay to allow the route change to propagate to the coordinating
Remove retry and status code.
1) The BGP process registers interest in a nexthop.
Remove the hack that allowed one route command to be in flight between
Add a TODO entry to augment the rib_client interface.
BGP processes update messages by passing them through a series of
Once a peering has been established even if the peering subsequently
Add a delay so if the BGP process core dumps we detect it.
Make the dump_entire_table a private method.
Multiple deletion tables can appear on the same peering if it is being
Temporarily remove test_plumbing from the regression tests.
Remove over aggressive assert its legal to construct an IPv6 Multicast
Remove over aggressive assert its legal to construct an IPv6 Multicast
Slides.
Move the architecture diagram before the design slides. Suggested by Mark.
Remove the word "possible".
Use \begin{slide} \end{slide} rather then \newpage.
Baseline stretch to fit all points on a single slide.
Add a slide on extensibility. Split future work onto a research slide.
There was a missing push for IPv6 update packets.
Traditionally update packets carried information such as aspath in the
A different way of enabling multiprotocol.
Better example for BGP.
Really fixing the Mac OS X compilation problem:-).
Pass the safi to the base route table.
Change the way we print the SAFI.
Rationalised some of the debugging. We typically have four sets of
Random formatting nits.
A change in the formatting of printing of the path attributes caused
assert -> XLOG_ASSERT
Some debugging message changes.
Typo in comment.
Minor nit. Post and pre increments were reversed.
Two tests added.
Add a str() method and some additional debugging.
Add some debugging.
Experimenting with modifying a trie while iterating through it. Code
Add a function to compare the reference output files.
A reference file to test the RIB-IN dump iterator interaction.
New test for RIB-IN dump iterator interaction.
When moving to a new peer we mark the iterator as invalid but its
When a new peering comes up we iterate through the RIB-INs pulling
A bunch of debugging.
Explain the purpose of test2.
The open packet was not being free'd found by leaktracer.
Actually free'ing the open packets that we send exposed a problem with
Update a comment.
XRL hooks to originate routes.
Protect all unused variables with the UNUSED macro. These variables
1) Support for originating (static) routes.
update_name incorrectly #defined out.
Looking for memory leak when a new peering is brought up.
Comment out DEBUG_LOGGING.
print -> debug_msg.
print -> debug_msg.
print -> debug_msg.
When originating a route don't prepend our AS it will be added later
Add a method to allow us to test if this peerhandler is originating
We are using the rib_ipc_handler to originate routes. Place a next hop
Add a method to allow us to test if this peerhandler is originating
Add a originate route table filter to prepend our AS number.
Assert that the iterator is valid.
Verify that route origination works for both EBGP and IBGP peers.
Add the network4 and network6 commands to originate routes.
Typo in comment.
Formatting nits.
Explain why we have a state (STOPPED) that is not in the specification.
Allow a traffic file to be supplied from the environment.
Profile SubnetRoutes in RefTries.
g++34 copy constructor fix.
A helper class and macros to instrument time spent in code.
The cache tables keep a copy of all routes that have been
Instrument the packet input code to detect path that take too long to execute.
TIMESPENT_OVERLIMIT -> 0 not "".
Constant name from LIMIT to TIMESPENT_LIMIT less likely to collide.
printf -> XLOG_WARNING.
Correct XLOG_WARNING message.
Sprinkle "typename" for gcc 3.4. Remove redundant reference to current.
The assert for AS types missed the AS_NONE case. Triggered when trying
It is now fatal if the destructor is called and routes are present.
Add a flush method to remove routes from the RIB_IN. Will only operate
Flush static routes.
Enabling and disabling peerings through the router manager should now work.
Enabling and disabling peerings through the router manager should now work.
When debugging is enabled print the whole output packet as opposed to
When debugging in enabled print the notification packet sent.
Fix typo.
Enabling and disabling a peer through the router manager recently stopped
Fix the originating of IPv6 routes and add a test.
Support for getting multicast routing tables and slight refactoring.
gcc 2.95 isn't happy with templatised methods with no arguments gcc
Callbacks can now deal with 15 arguments.
Finder host variable no longer on the the stack. Previously it was
Print IPv6 and multicast routes.
Enable printing of IPv6 and multicast routes from within the xorpsh.
Printing ipv6 and multicast routes.
Remove "no_fea" call on the RIB process. In anticipation of this
Allow a fixed window of route add/delete XRLs to be in flight from BGP
No longer generate debugging output by default.
Disable DEBUG_LOGGING.
Disable DEBUG_LOGGING.
Don't generate an error message when the peer drops the session.
printf -> debug_msg
Update the date of the 1.0 Release.
We are incorrectly processing notifications that we receive.
The BGP process is occassionally failing to return to the main
Cast to resolve the size_t != int problem on the Mac OS X.
Fix typo.
Update the documentation to reflect that withdraws are saved in the
Enable the sending of notify, open and keepalive packets, not just
Add the peername to the XLOG_* messages.
Move the setting of the saved error to one place.
Don't send a notify in response to a notify.
Some more debugging.
Add a test_peer command "bind" only, used to verify that the BGP
Add host.cmds and rip.cmds.
Close the template files.
Update.
Add "bind" and "reset" to match documentation.
If an event such as close or connection retry occurs while we are in
If an event such as close or connection retry occurs while we are in
Only stop listening for incoming connections if no peerings are enabled.
"peer-ip" no longer used in BGP should fix the tinderbox failure.
The xorpsh can run external programs for operational mode commands. An
Restrict the values that an AS Number can take.
Have only one sample configuration file "config.boot.sample".
The router manager invokes the activate method once per peering. The
When running an operational mode command start displaying output
reinterpret_cast -> static_cast fixes a compilation problem on the Macs.
Install all the hooks so that when keyboard interrupts are propogated
Start the ERRATA process.
Gather up all stderr output in one place and return it together when
Add rib.cmds so it gets installed.
Mac casting nit.
Updated the release notes for 1.0RC; ALL, BGP and SNMP.
BGP is slow to populate the kernel routing table.
Look in Bugzilla not here.
Update status and known problems.
For BGP comment out optional statements and add some comments.
For BGP enabled defaults to true for a peering so comment it out.
Reorder some BGP peer configuration statements and comment out some
It is a fatal error to BGP if the RIB fails to delete a route.
fred (5):
New C++ class for Linux /proc parsing
New files/declarations for Linux /proc parsing for fea
New code to return interface information for Linux
Check for Linux /proc filesystem
Completed C++ class for Linux interfaces using /proc filesystem
greenhal (2):
gcc 3.2 fix
tiny compiler fix of an unused variable problem
hodson (812):
Initial import.
Update directory path for anonymous cvs (replicating change already on
Fix naming inconsistencies with libxipc files and propagate changes to
o Rename xrlcmdmap.{hh,cc} as xrl_cmd_map.{hh,c}
o Remove declarations, definitions, and use of deprecated API calls.
o Add commands to remove opening brace from function name definition
De-bogon.
o constify fd() and running() methods.
Comment nit.
o Make XrlArgs(const char*) constructor explicit and propagate change.
Add modifier and accessor methods to xif interfaces for enabled
Add modifier and accessor methods to xrl interfaces for enabled
o Add new base class XrlSender for classes that are capable for sending Xrls.
Minor interface tidy up.
A first step fix to better handle SelectorList callbacks that
Configuration related changes to enable compilation on gcc 3.2.1 and gcc 2.9x.
Changes to enable libxorp compilation on gcc 3.2.1 and gcc 2.9x.
Changes to enable libxipc compilation on gcc 3.2.1 and gcc 2.9x.
Changes to enable rib compilation on gcc 3.2.1 and gcc 2.9x.
Minor output tidying up.
o Add framework for Xrl based Finder and FinderClient. This does not
Remove empty TESTS variable as it generates bad shell code with
o Ignore new test binaries.
Add note about xrl based finder.
o Mark sockets non-blocking after accepting them since Linux does not
o Compilation fix - do not duplicate default values of arguments in
Add methods to permit list of nets and hosts.
Add network interface argument to FinderTcpListenerBase and propagate.
Minor renaming.
Add skeleton xrl finder. At least it wasn't called finder_xp :-)
Fix naming bug in Xrl target generation. The variable _router is an
Continuing support for Xrl based finder.
Add version() method to xrl target base classes and generator script.
Interpret finder client errors into XrlError's rather than punting to
Change selector callback order from fixed order round-robin to
Add missing cast. Weird, did I edit the code before commit? I must
Simplify number of methods for initial version of xrl finder.
No longer include libxipc/xrl_router.hh in interface client files.
Only write values into fdtable if maximum number of fd's has increased.
Remove extraneous include and a blank line.
Add cref_ptr - compact reference pointer class. A slower, but more
Add operator != rather than relying on stl relops.
Remove extraneous #include.
Move static members out of XrlError. Too painful to print classes
Uncomment part of parsing code for XrlAtomSpells as without it the
Add cookie as argument and return value to finder registration call.
Remove an unused temporary.
Use a more verbose error message for compiler incompatibility.
Update to reflect current FEA - test is fairly simple.
o Handle the addition of added disabled addresses. They cause no state
Add toggle for address disable.
Add Xrl based finder code. This is not yet hooked into XrlRouter.
Remove DEBUG_LOGGING define.
Compilation fixes for when DEBUG_LOGGING is defined with gcc 3.2.x as
Move XIPC access lists for hosts and nets into permits.hh and
Base XrlPFConstructorError on XorpReasonedException.
Move clean of finder info to point when new connection with finder is
Move the dispatching of Xrl's out of per protocol family methods into
Add methods to clear permission lists.
Method rename.
Export permitted host and net lists from finder.
Remove extraneous include.
Remove extraneous include.
Link against libcomm where libxipc is used since libxipc will shortly
Remove remnant of ref counted file selector.
Invalidate descriptor in AsyncFileOperator destructor.
xlog an error when an invalid file descriptor is added.
Xrl based finder mega-commit.
Add Xrls to finder to query registered targets and xrls associated
Add xrl forwarding via XrlRouter to Finder.
Add finalize() method to XrlCmdMap so end of command additions can be
Add get_command_names() to export command names to a list.
Add finder introspection hooks.
Add support to enable and disable Xrls associated with a target. When
Update tests to send enable_xrls to finder.
Add missing return value to finder xrl. The joys of cross directory
- Use a XorpTimer to trigger resends.
Remove fprintf's.
Formatting bogons.
Switch messenger_event_stopped to use debug_msg rather than XLOG_INFO
Delete request state in XrlPFSUDP destructor rather than waiting for
Clean up declaration ordering.
Map Finder related Xrl errors to XrlError:RESOLVE_FAILED.
Increment retry counter.
Distinguish between a command failure on resolve (ie not resolve) and
Fix memory bug resulting from use of c_str() on a temporary string, ie
Fix similiar problem that was not picked up with memory checking.
o Add ability to unhook FinderMessenger event targets from their
Remove another double event notification.
Prevent copy and assignment operators being invoked (not currently a
For the time being do not bother trying to catch signals. The timing
EventLoop and router need to be in inner scope of xlog since if
Fail Xrl sends before local xrls are finished registering, otherwise
Fix leak in XrlPFSender tracking.
Avoid holding iterator across callback in XrlPFSUDP::recv. The
Change dispatch state implementation.
More permissive xrl resolution.
Move XrlBgpTarget into BGPMain and ensure ordering is such that
Fix an error mapping.
Enable queuing within FinderTcpMessenger.
Add commands to set and get enabled state of FeaClient.
Add -F flag for "no FEA" or shut the **** up.
Start rib with -F flag.
Compilation fix for GCC3.2.2 (reported by Adam).
Update copyright.
Update copyright.
Updates for release.
Remove RIP from build.
Apply htons on ports specified for libcomm.
Add support for "modinfo ready xrl" in template files. This is a hook
Dereference pointers to bools rather than use the pointers as boolean
Add sanity check for flags that endpoint and broadcast are not set
Add xrls to indicate ready status.
Add RIPv2 and RIPng related RFCs.
Import RIP MD5 authentication RFC.
Compilation fixes - apply UNUSED for unused arguments when HAVE_IPV6
Fix inconsistencies in error reporting by xrls in recent rib additions
Add modinfo ready xrl to cause rtrmgr to wait until ospf is ready to
Remove methods marked as deprecated from Timer, Selector, and
Add relative timeval scheduling methods.
Add timeval relative flag set methods.
Remove -all-static from linker flags.
Use a more conservative pool growth strategy.
Add has_payload() to iterator.
Fix bug in decrement of cref_ptr counter.
Add test for ref_ptr classes.
Remove dump statement in TrieNode::next (v. expensive).
Back out last (unintentional) commit.
Fix SelectorList::select that broke the eventloop entirely. Recent
kdoc nit.
Add external TimeVal generator methods:
TimeVal::set -> TimeVal::operator=
TimeVal::set -> TimeVal::operator=
o Add explicit assignment operator (just for clarity).
Add rudimentary test of TimeVal class.
Remove initial Finder code and conditional code paths that allowed
Remove references to TestFinderServer.
Add back IPNet::contains() check to TrieNode::next. Former commit
s/TestFinderServer/FinderNGServer/
Put verify in pop_obj into DBG section so it's not called in normal
Don't do any string operations unless debugging - majority cost in
Add conversion operator from ref_ptr<X*> to ref_ptr<const X*>.
Skeletal RIP.
Add rip to list of kdoc'ed directories.
Add rip to list of directories in build process.
Remove some crufty debugging.
Add index.
Add portions of IPv4 packet handling. Definitions of packet types,
Use system md5 header files and libraries and remove local copies of
Check for md5global.h where Linux puts typedef's for md5.h.
Run libtoolize now we've libtooled the project. Otherwise, running
Add a note on current state of XRL security and a proposed change.
Change to use OpenSSL MD5 implementation.
Remove references to md5global.h.
OpenSSL probing refinements.
Remove echo command that was unintentionally included in earlier commit.
Add authentication code.
Fix a wideboy comment.
Include file re-ordering.
Rename test_timers_update.cc -> test_timers.cc.
Avoid hard coding buffer size.
Include docs/mk/Makefile.doc.am on the list of files tested whose
Remove unused files and references to them.
Add anonymizer for fig2dev generated postscript.
Change generation method for eps files to strip creation and author
Repo-Copy error_handling.tex to devnotes/deprecated.
Document existing and proposed errors.
Quick note on reference and pointer presentation.
s/event_loop/eventloop/g
As discussed at this weeks meeting, replace internal xrl errors
o Change authentication interface to support 0 route entries in packets.
Add method to render an MD5 digest as a string.
Fill in instance name.
Purge NG designation from Finder class, method, and file names now
Renaming.
Purge NG designation from Finder class, method, and file names now
Explicitly disable copy constructor and assignment operator as there
Minor formatting tweaks.
Add XrlCmdError::error_code.
Set variables before appending to them (later versions of automake
msg-xrl
msg-libxipc
Add finder_event_notifier and finder_event_observer interfaces. The
o Support for class-based and instance-based Xrl resolution within
Simplify life by on supporting class registrations.
Change symlinks to use absolute path, can cause issues when building
Strip path components in core places to make rebuilding files from an
Path fix for regeneration of .hh and .cc files from outside of Xorp
Regeneration following edits to generator files.
Implement common/0.1/get_status
Marginally better cross directory building. Cruft in previous version
Partial cross directory build fix for file generation.
Cross directory file generation fix (yuk!).
Fix a compilation warning on gcc3.3 (uninline XrlAtom::discard_dymanic()).
Inline IPNet<IPvX> constructors to prevent multiple symbol defs with gcc3.3.
Relocate inline function implementations for IfTree iterator accessors
GCC3.3 fix: include "xorp.h" rather than "config.h" to suck in "assert.h".
GCC3.3 nit: EventLoop::timers_pending returns a bool.
GCC3.3 nit: a uint8_t is always going to be less than 0xffff :-)
GCC3.3 nit: remove dubious assertiont (max value of uint8_t is
GCC3.3 fix: inline specialized methods to avoid multiple symbol
GCC3.3: compilation fix (force symbol generation for plumbing templates).
GCC3.3 fix: inline specialized methods to avoid multiple symbol
GCC3.3 fix: disable an assertion that's always true.
Fix opening of absolute path input files.
Add top-level exception handler.
Generate test_xrl_parser.sh shell script from configure. Allows gmake
Add test target for Finder events.
Add xlog_process_name to extract process name set when xlog_init is
Do not quote paths in defines or includes (#!@$$).
Regenerate following changes to tgt-gen.
Add a note about finder command line arguments.
Do not use vector::capacity for vector bounds checking for types with
Zap trailing whitespaces.
Add an additional paranoia test.
Add constructor for pre-resolved finder host address.
Add constructors for pre-resolved finder host address.
Store Finder bound and port and add accessors to retrieve values.
Change XrlRouter instances to use address and port associated with
Specify Finder address and ports in XrlRouter constructor arguments.
Specify finder host and port in XrlRouter constructor.
Enable cross directory make check for rib.
Add localhost as known finder address.
Use FinderServer port() and addr() as arguments to Xrl constructor in
Add Finder event registration and notification code.
Force creation of $(OBJDIR) before attempting to copy files into it.
Add constructor taking arguments for Finder address and port.
o Add utils/pathconf.sh.in that generates shell script with source and
Sprout kdoc comments.
Cross-directory gmake check adaptation: use ${srcdir} as base for
Revert from generated unit test scripts to scripts that utilize
Check for presence of srcdir and set default paths accordingly.
Add common_0_1_shutdown method placeholders.
Coerce SNMP make check target to work with cross-directory build.
Add gen-pathconf.sh.in which can be processed and sourced by configure
Don't complain if directory already exists when making objdir.
Remove extraneous UDP listener. Code uses XrlStdRouter and so does
RequestHandler destruction clean-up.
Back out unintended commit.
Remove long deprecate XrlPFListener::Reply structure.
o Remove preferred interface and associated magic from finder receive
Use FinderServer class to instantiate Finder.
Sync Finder related code with libxipc.
Don't print Xrl error string and associated note. The text of the
Support an external finder.
Add test script to check finder runs and handles process deaths okay.
Do not call close when an error occurrs. Should be triggered by error
Bump timeout waiting for Finder.
Disable auto-reconnect behaviour once a connection is established for
Remove references to deprecated XrlErrors - FAILED_UNKNOWN and
o Sync errors with error handling document.
Sync errors with Xrl error handling document and closer to
Remove deprecated document. Finder now uses Xrls.
Output tidy up.
Version number bump.
Version number bump.
initial libxorp, libxipc, xrl, rip comments. more to follow.
More 0.3 additions.
Bump revision number.
0.3 updates.
Fix memory leak.
Add a note to include leak testing in final testing before release.
Fix bug in timeout callback dispatch. Erase state before invoking
Delete finder at end of test.
Constrain default number of sockets to be significantly less than the
Add leak check test which runs test binaries through LeakTracer.
Remove Xrl argument from dispatch callbacks - these have not been
Clean up state on exit.
Replace deprecated inet_aton with inet_addr.
Define __BEGIN_DECLS and __END_DECLS if not defined in sys/cdefs.h or
Don't set MALLOC_OPTIONS here - tinderbox should have this set as an
Include netdb.h for MAXHOSTNAMELEN.
Check for hstrerror in libresolv.
Don't rely on 'which' to find LeakTrace binary - not portable.
Minor include file re-ordering.
Include sys/sockio.h if it exists.
Exit without failure if programs are not dynamically linked against
Use HAVE_SYS_SOCKIO_H that configure nicely determines need for.
Dump extraneous include of sys/sockio.h.
Specify hidden dependencies for generated files used in libxipc.
Renaming:
Crank up inter-operation wait. This test needs to be re-written to be
Add virtual methods to XrlRouter for Finder related events.
A file containing list of C++ books and materials that we've found
Simplify callback invocation.
Change XrlCallback dispatch arguments to just contain XrlArgs rather
Change Peer class to use own XrlRouter rather than Coord instances
Sync with Xrl library.
Add FinderClientObserver class to observer FinderClient events
Trade xorp.h for config.h.
Change names of methods and members called "callback". Since for
Fix cross directory build of callback.hh.
Add debugging information to callbacks (source file and line). This
Add missing character.
Add design talk slides.
Add a slide on IPv6 link-local addresses.
Add FinderClientObserver to the base classes of XrlRouter. Class
Add UpdateQueue<A>::ffwd(ReadIterator& r) const.
Move UpdateQueue<A>::Reader to UpdateQueueReader<A> since ref_ptr
Implement UpdateQueue accessors.
WS bogon.
o Add route redistribution class (to be initially used for static routes).
Add a missing typename.
Enforce limits on minimum route deletion seconds and maximum
Add Trie::unbind_root(iterator) which returns an iterator pointing to
Sanitize RtPtrComparitor::operator().
o Exchange trie for map in RouteDB. This code does not need trie
Add more count checks.
Check map iterator != end before attempting to access data.
WS bogon.
Implement update queue as a list of update blocks.
Add rewind method for update queue read iterator.
Speed up route generation.
Switch to intrusive reference count on routes. This makes life easier
Sanitize route resurrection code.
WS bogons.
o Add RIPv2 route parsing.
Remove declaration never to be implemented.
Add original RIP rfc.
WS bogons.
WS Bogons.
Move RipPacket and RipPacketQueue into own files.
Add DEFAULT_INTERQUERY_GAP_MS - the minimum gap between queries RIP
Add find_route to find a specific route.
Add constants for RIP packet version and address family for route
Add specific route request packet handling.
kdoc NetCmp.
o Change interface to PacketQueue and head drop should amount of data
kdoc nits.
Add address family specific constants for RIP multicast groups.
o Add destination ip and port no's to output constructors and use them.
Remember to set packet size when finishing off IPv4 packets.
Add empty() method.
Correct horizon policy code.
Add missing newline.
Iterator advance glitch - didn't happen if packet was full so last
Change vector sizing policy.
Add output process tester. This test needs cleaning up and wants a
o Add test and validator class for poison reverse output policy.
Iterator advance glitch - didn't happen if packet was full so last
Add test cases for table output processing.
o Don't allocate a pool entry for null pointers in pointer
Build utils immediately after libraries. Facilitates top-level gmake
Build all for 'check' target. Facilitates top-level gmake check
Use OpenSSL implementation of md5. Removes need for contrib dir file
Use default route entries for constructed packets.
o Use a sensible default number of route entries in packet.
o Name callback types and marshalling functions according to request name.
o Regenerate following naming changes in clnt-gen.
Sync Xrl interface callback types with xrl files.
Remove xrl interface order dependent type declaration.
Address minor naming consistency nit:
Remove empty fea.xif and references to it.
Address minor naming consistency nit:
Correct description of endpoint().
Group get_all methods at end of interface to make reading the
Avoid allocating and deallocating memory around user callback
Catch XrlAtomFound exception in XrlArgs constructor taking string
Add new interface for replicating fea ifmgr state.
Add new Fea IfMgr configuration tree and classes to help with it's
Add libfeaclient to build process.
Add IPv6 address test.
Remove parent pointer from IfMgr*Atom structures and propagate change.
Remove flags related method(s).
Add IfMgr mirror target.
Addition of IfMgrMirrorTarget related code.
Add libfeaclient to list of kdoc targets.
Exchange std::string::clear() for std::string::erase().
Add back clear() method that got cleared before last commit.
Rename xrl/interfaces/fea_ifmgr_client2.xif to fea_ifmgr_mirror.xif.
Bump version number and date.
Switch from string.ascii_letters (python2.2) to string.letters (more
Add replicator class.
o Move command base class into separate file.
o Initialize static class object TimerList::_dummy_timer_node in
size_t casting in format strings.
Ignore #pragma directives that a pre-processor may emit.
Tweaklet to make stepping with gcc easier.
Call attach and detach on FinderClient instance associated with router.
Code for remote replication of IfMgr configuration state.
Minor clean-up.
Add hint methods.
Add XrlPFSenderFactory startup and shutdown methods. Have XrlRouter
Add non-static XrlPFSender::protocol().
Minor tidy up.
Add non-static XrlPFSender::protocol().
Enable cross-directory gmake check.
Fix core dump when config file is not found.
Fix getopt argument for -x <xrl_dir>.
Remove quick hack to auto connector class. Now retries to connect to
Debogon.
Fail XrlRouter::send when no finder is present and dispatch callback
Wait for finder to become ready before attempting to send xrls.
Add item to fix restart.
Wait for XrlRouter to be ready before using it.
Wait for XrlRouter to be ready before using it.
Handle end-of-file in sender.
Add code to wait for Finder to become ready.
Test timed_out flag while waiting for XrlRouter to become ready.
Unbreak build.
Reap dead tcp senders (if they ever occur).
Rearrange check on whether out going queue is empty and what action to
Switch default protocol family from udp to tcp.
Remove delay of 1 seconds waiting for Xrl responses to clear.
Add abstract XrlPFListener::response_pending and implement in derived
Swap main.cc for bgp.cc.
Enable Xrl dispatch tracing through XRLDISPATCHTRACE environment variable.
Check all flags that can be set whilst waiting for an Xrl result.
Fix over ambitious assertion.
Make test more demanding.
Spring cleaning.
Cache senders in XrlRouter rather than sender factory singleton.
Wait before retrying to send an Xrl when resolution fails.
Use default wait interval when calling call_xrl.
Fix compilation on gcc-2.95.4 20020320 [FreeBSD].
Additional kdoc descriptions.
Add functions that wrapper kdocification of each target, ie
o Add overview text to libfeaclient_module.h.
For libfeaclient glob *h rather than *.hh to get overview comments out
Allow script to be run from other locations, ie cd into script
Remove unused file.
Move split.{hh,cc} to util.{hh,cc}.
Use string::empty() to determine whether string is empty rather than
Add XORP_SRC_ROOT and XORP_BUILD_ROOT defines. This is part of making
Add an entry for the rtrmgr.
Place path finding code in one place (util.cc).
Change an erroneous 'echo' for 'exit'.
Run-time location independence.
A lazy fix.
Wait for XrlRouter::ready() before trying to dispatch Xrls.
Call XrlRouter::finalize() before attempting to use router.
Switch root directory argument for XorpShell constructor to be binary
o Move XrlPF methods into xrl_pf.cc.
Add unimplemented private copy constructor and assignment operator
Add declaration for unimplmented copy constructor and assignment operator.
Uncache Xrls when sender for them cannot be instantiated.
Fix ordering of ops in die() to be safe if call chain deletes sender
Remove EINTR handling around select call. We'll see EINTR after a
When a signal is received announce it and exit cleanly.
Remove broken test4.
Fix build.
Change ParseError exception to be derived from XorpReasonedException
Install unexpected exception handler.
Minor style tweaks.
Fix an out-by-one error in an input path.
Remove dummy file. Real version implemented in tools.
R.I.P. October 1, 2003.
Change list<string> argument in XrlAction::check_xrl_is_valid() to a const
Add suggestion about using temporary references with containers
WS cleanup.
Consistency nits.
Eliminate an unused variable.
Add a todo item.
Change IPNet<A>::_prefix_len type from size_t to uint32_t.
Add instance id to XrlPFSender and maintain a table of valid instance
Fix path variables to allow cross-directory gmake check to work.
Substitute an instance of <class A> with <typename A>.
Add IfConfigUpdateReplicator - a class to forward ifconfig updates to
Add service base class and observer.
Ignore test_service.
typo.
Correct a kdoc typo.
Add kdoc overview text.
Add initial attempt at bridging code with libfeaclient.
s/IfMgrIfTree::interfaces()/IfMgrIfTree::ifs()/ to be consistent with
Move flower_malloc into separate directory. Makes selectively
Re-generate following configure.in changes.
Cast size_t values to uint32_t in format strings.
Add code to compare state of interface trees in FEA and libfeaclient.
Flick trailing whitespaces out of files.
Shift inlines to end of file.
Derive exceptions from those in libxorp/exceptions.hh.
Fix some holes in binary serialization and deserialization.
Add binary serialization and deserialization methods.
Add binary serialization and deserialization tests.
Add interface pif_index to replicated fea interface configuration
Add pif index to values converted to commands in IfMgrIfAtomToCommands.
Remove resolved question in comment.
Initialize all fields in constructors.
Change IfMgrXrlMirror to support ServiceBase interface rather than
Fix kdoc warnings - using @param to refer to method arguments in other
Includes tweak.
Add base class for RIB notifier.
Add some RIP Xrl components.
Fix kdoc param and xrl argument name mismatch so kdocification
Remove C++ specific pre-amble from Xrl file kdoc comments.
Change ip_version_str() to return const reference to a string and
Simplify ip_version related format strings.
Change XORP_SRC_ROOT directory determination to always give absolute
Updates.
Add service.hh documentation.
Spelling correction.
Update to heap description.
Fix a signed unsigned comparison that only seems to show up on OS 10.3 / Darwin 7.0.
Update.
Bump revision and date stamps.
Created.
Update.
Intro edit.
Add check that "net-snmp-config --cflags" gives sane flags.
Add IPv4 socket interfaces. These are for sockets that bound to FEA
Add note for OS X 10.3.
Add entries for socket xifs.
Add methods to watch birth and death events of single Xrl Target
Make XrlCmdMap argument in target constructors optional and add
Removing trailing whitespace in Xif.util.file_{write,append}_string.
Re-generate.
Fix typo in example.
Fix buffer overflow.
Add ttl argument to multicast socket creation method.
Remove unused field from error_event (last_send_data_id).
Move Xrl registration from XrlRouter::add_handler() to XrlRouter::finalize().
Change target set_command_map() method so that a call with a null
Regenerate with tgt-gen revision 1.13.
Re-generate.
Add socket4_locator/0.1 to interfaces supported by fea.
Add socket_server.tgt that provides the FEA remote UDP/TCP socket
Add first cut at socket server code.
Pass finder port consistently to processes.
Pass finder host and port to TestSocket4UDP constructor.
Fix Linux compilation - send()/sendto() flag variations.
Add BaseAndDerived class to provide a basic test if two types are
Add safe_callback_back_obj.{hh,cc} which provide basis for safe
Add an example that uses a safe callback object.
Add IfMgrIfAtom::find_vif and IfMgrVifAtom::find_addr methods.
Remove a couple of incorrect uses 'inline'.
Change indented preprocessor directives to stop kdoc complaints.
Add xrl interfaces and xrl targets. They have kdoc comments if the
If set use KDOC_CMD as the kdoc command to execute. Useful for debugging.
Change PortIO<A>::send to take a vector for data rather than pointer
Add RIP_TTL.
Add non-const ports() accessor.
Sync with PortIOUser<A>.
Add socket4_user/0.1 to interfaces supported by RIP.
First pass at Xrl based packet send code.
Assorted steps towards functional RIPv2.
Add name argument to ServiceBase to constructor and service_name accessor.
Add service name argument to ServiceBase constructors.
Add "Technical Report on C++ performance".
Change default service name from empty string to "Unknown".
Refer to process states by enumeration value for the benefit of skim
Set service name in constructor.
Set service name in ServiceBase constructor.
Additional debug messages.
Add code to watch status of assorted RIP entities and update the info
Hook up libfeaclient support to FEA's xrl interface.
Update library dependencies of test programs that link against libfea.
Change contructor argument order of IfMgrXrlMirror.
Use "fea" as source for IfMgrXrlMirror instance.
const'ify IfTree refs.
Correct argument ordering to comm_bind_join_udp4().
Plumb in udp/tcp socket server.
Update test_mld6igmp_LDADD.
Update test_pim_LDADD.
s/[ ]+$//
Treat VARIABLE and LITERAL in exactly the same way.
Add default table request period.
Add table request timer to send periodic table request messages when
Additional debug messages.
IPv4 Port changed to have default NullAuthHandler. No longer
Plumb in XrlPortManager.
Add a missing typename qualification for gcc33.
Sync version constants with comment.
o Turn off loopback on multicast sockets.
Build version 2 request packet.
o Remove filter on packets received that from one of our interfaces
Remove stray '<' on first line.
Move rt_tab_debug.{hh,cc} to rt_tab_expect.{hh,cc} and rename
ExpectTable.
Place redistribution tables in top-level data structure.
Extra assertion.
Add validity check for read iterators.
Bring up to do.
Move Port timer and counter structures into their own file - port_vars.hh.
Add start() and stop() methods to output processes. Previously output
Break out port timer and counter structures.
Add xrls for add and removing static routes to RIP.
Set enabled state to "disabled" when shutting down. This informs
Flush update_queue when flushing routes. This releases any references
Add ADDR_BITLEN constant.
Add an additional check.
Fix a scoping bug.
Hook in solicited update output process. This answer route table
Enable XRL path packet reception.
Check IPv6 table registered variable rather than IPv4 before
Add a test case that causes abstract method to be called and process
Change safe callback object to not invoke virtual methods in
Nitlet for gcc3.3.1 on fbsd.
Add RIPv2 xrls for setting horizon, cost, and timer values.
Add templates for RIP.
Remove paste operation for PORT_TIMER_GET_HANDLER as it isn't needed
Add %allow values for horizon.
Consistency: rename rip4 -> rip and rip6 -> ripng.
Add address to pif_index resolution.
Sync with AddressTableBase.
Add IPv6 UDP and TCP xrl interfaces and fea support.
Sync linkage with fea.
Sync linkage with fea.
Fix compilation for HAVE_IPV6 and don't HAVE_IPV6.
Sync ripng with current rip.xif and rip.tgt.
Move common Xrl Target handling code for RIP and RIPng into
Correct destructor name.
Correct a cut and paste bogey.
Move code from xorp_rip.cc to xorp_rip_common.hh and templatize.
Comment out text trailing #endif. Spotted by gcc33. Not spotted by
Make range_random static so it doesn't appear in both librip and
Tweaks to test_outputs.cc to allow IPv6 test to run. It currently fails.
Fix compilation on OS X.
Instantiate and run IPv6 tests.
Move EventLoop constructor to eventloop.cc and implement destructor.
Re-jig to run tests for IPv6 in addition to IPv4.
Move some common code in test_utils.hh.
Further rationalization of common pieces between tests.
Use BGP instance's eventloop rather than instantiating another a
Instantiate one eventloop only.
Fix ResponsePacketAssembler<IPv6>::packet_full().
Back out unintentional commit.
Add ResponseReader class that handles differences between IPv4 and
Instantiate IPv6 version of the update queue test.
Trim trailing whitespaces.
Add some code to throw a wobbly if a timer expires more than N seconds
Add PACKET_VERSION to specialized constants.
Initial IPv6 data reception handling.
Add templatized lookup to yield correct XrlTarget name for given IP
Sync with RIP.
Add some additional debug_msg calls.
Add IPv{4,6,X}::is_loopback().
Check RIPng routes are not for loopback and change RIP to use
Configure RIPng multicast packets to be sent with a hop-count value of
Fix small lIPv6 nexthop packing bug.
Add missing ripng.tgt to list of tgt files.
Add static methods to authentication classes to get algorithm name.
o Add "enabled" accessor and modifier to port. Add method to mark
Add passive option to RIP and RIPng templates and XRLs.
Expand and sort into pre-1.0 and post-1.0 release items.
Export RIP policy options via XRLs and update templates.
Add const_ports accessor.
Add Xrl accessors to get all known peers and peers associated with a
Ensure all port counters are incremented - there were a couple of omissions.
Minor expansion.
Break "bad packets" counters into "authentication failures" and "bad packets"
Export RIP port counters.
Fix compiler about uninitialized variables on unknown version of gcc.
Extend number of counters in Peer. Sync increments of port and peer
Add entry that keeps coming and going from my mind :-)
Add get_peer_counters.
De-crinkle.
Add secs() and usecs() methods as synonyms for sec() and usec().
Change initialization point for finder port. Fixes build problem with
Fix uninitialized variable warnings that are emitted when optimization
Add xlog_is_running().
Add configure flag --enable-callback-debug which when enabled puts
Regenerate following changes to configure.in.
Generate separate callback files for debug and non-debug case.
No longer use flag to instruct callback-gen.py to build a debug or
Rule nit (broken cross directory build).
Add #error if callback_nodebug.hh or callback_debug.hh are included
Add a missing counter initialization.
Strip path from name of generator script placed in generated file header.
Add port independent constructors.
Build rip_xif.{hh,cc}, ripng_xif.{hh,cc}.
Add rip_xif.{hh,cc}, ripng_xif.{hh,cc}.
Make peer_last_active timestamp distinct field in get_peer_counters method.
Add awol socket6_user.xif to ripng interfaces.
User RIP_AF_CONSTANTS<A>::IP_PORT rather than RIP_PORT in templatized
Add typedefs to IP classes for sockaddr_inX and in_addrX. These are
Switch to templatized SockAddrType for argument to recvfrom.
Compilation fix for gcc-3.3.
o Add operational commands for show RIP/RIPng interface stats and show
Add rip/tools/Makefile to build.
Add tools directory.
Bring up to date.
YATI.
Fix cross directory build.
#ifdef out IPv6 libcomm calls if HAVE_IPV6 not defined.
Add comm_sock_leave{4,6}.
Remove unused trie.hh.
Remove unused rip_module.h.
Add option to set inter-packet gap.
Set last_active field of peer counters when instantiating peer.
Add a post 1.0 release item for review.
Include "routes active" in peer's counters.
o Add methods to socket4 and socket6 interfaces and implement in the
Change initialization procedure.
When iterator reaches last route in a block, create a new empty block
Flush routes database before destructing RIP objects. Fixes
Call stop_output_processing() in ~Port<A>.
o Unconditionally present ipv6 method prototypes in comm_api.h.
Do not return socket server for IPv6 address if IPv6 support is not available.
Clean-up IPv6 socket code.
Change RouteTable base class variables to private (_next_table and
Replace do { ... } while(0) skirting around one of the debug_msg
Fix code that worked through side-effect of string::c_str() begin
Explicitly check string::iterator against end. This code has
Add parent().
Missing <A>.
Add const route_container() method to expose routes associated with
For callback debug case store active callback data in a stack rather
Deadwood.
Add route redistribution interfaces.
Steps on the road to route redistribution.
Compilation fixes for OS X / ppc.
Fix compilation with --enable-debug-fnames.
Comment out definitions of DEBUG_PRINT_FUNCTION_NAME since it breaks
Trim headers.
Minor interface tweaks.
Minor interface updates.
Forced commit.
Fix build with gcc3.4 and --enable-callback-debug.
Fix build with DEBUG_LOGGING.
Explicitly turn off parallel build.
Disable Redist.
Reworking of RedistTable.
Fix tinderbox breakage on koala.
o Add redist policy. This allows route updates to be redistributed
Shift location of policy checks so they work during initial route dump
Compilation fix for systems with signed size_t.
Move static initialization of IPv6 prefixes -- have code on darwin/ppc
Avoid de-referencing when things go wrong. Exposed by currently broken and
Remove unused commands for plumbing in MergedTable's and ExtIntTables.
o Add a design note to kdoc comment.
Templatize some repetitive code.
Remove deprecated methods from RIB :- new_merged_table(), new_extint_table().
Add methods to access and modify XRL target names of rib and fea
Whitespace nits.
Use methods in xrl_config.hh xrl_config.cc for XRL target names.
Move redist container code into xrl_redist_manager.{hh,cc}.
o Update files to use global XRL target names in xrl_config.{hh,cc}.
Remove IP version string from redist4 and redist6 interface methods.
o Remove methods for adding static routes (should now go through route
Add redist{4,6}.xif as dependency of appropriate targets.
Regenerate.
Re-arrange top-level code.
Regenerate.
o Remove unused RouteEntry::global_metric from route.hh.
Expand information included in redist interface add_route method to
Add output for Redistributor objects to send updates via redist4 and
Knock redist off to do list.
Require same cookie as provided on redist_enable for redist_disable.
Sync with rib redist_disable XRLs.
Remove redist related commands. They don't make much sense in the
Add methods for add and deleting route redistributions.
Remove add and delete redistribution methods from rib class - now
Sync interface with RIB xrls.
Add xrl/interfaces/libredist{4,6}xif.a to linkage elements.
Update linkage for test_pim (it depends on pieces of the rib that have
Add "import" configuration statement for setting up route
Move xrl interface includes from headers to implementation files.
o Fix misplacement of new route redistributors.
Regenerate.
Don't fail redist table add if redist table already exists.
Hard-wire "static" origin table into each RIB. Temporary measure to
Replace \fbox with \framebox[\textwidth][l] to give consistent width
Change 'cost' tags to 'metric' for consistency.
Add help strings.
Additional messages for starting and ending initial route dump that
Fix destructor so it is safe to invoke if startup() has not been
Fix compilation on gcc-3.3.
Probe for GNU make under well known names and fix the info message at the end
Compilation fix for gcc-33. No really...
Remove duplicated constant.
o Add XrlRouter::failed() method.
Minor re-arrangment of generated code to reduce duplicate string
Add auto shutoff to FinderTcpAutoConnector so if it has not
Use TCP autoconnector to decide XrlRouter::failed(). Using an
Fix unsigned format error for a size_T on Mac.
Add unquote methods. Methods that can be used to remove quotes from
Use unquote() where appropriate.
Add support for "%allow-range" for range of integer values.
Add obvious allow-range restrictions.
Only fast forward triggered update output if running.
Fix reset of consecutive error counter.
o Move oft cut-and-paste route wait_until_xrl_router_is_ready() into
Remove deprecated scripts.
Fix warnings from clnt-gen.
Regenerate.
o Add XRL method to get active RIP addresses.
Add basic RIP commands.
Remove some completed items.
Expand PATH when looking for executables. There some host commands
Add small selection of host commands.
Replace splitpath with library routine split().
Add subsection for %allow-range.
Use positional arguments for rip commands.
Address race conditions in startup and shutdown. Suppress update
Add CallbackSafeObject as base of IfMgrManagedXrlReplicator -- this
To be safe shift placement of CallbackSafeObject higher up class chain.
When a replication command does not execute correctly, log the command
Add support to show status of a rip address to the show_stats
Add rip status command (same as rip statistics but with -b flag).
Remove extraneous output during shutdown.
Catch IPvX::InvalidCast when deleting vif addresses.
Use | rather short-circuit || to add and delete rib vifs. A failure
o Check array bounds before accessing entries in split_up_varnames.
Additional string bounds checking.
Enable or disable I/O handler based on enabled state of address in FEA.
o Add Xrls corresponding to start of route dump and end of route dump to
o Add show_routes command that reads routes from redist tables in RIB.
Remove inline from find_protocol declaration. (Compilation fix for gcc-3.4)
Move ospfd to contrib.
Fix a path to reflect new location under contrib.
Update copyright date.
o Remove a redundant copy.
Set interface name attribute of new vifs.
Remove a cerr output.
Make error output more useful.
Add show route table xxx commands.
Fix typos (including show incoming syntax that was not supposed to be there).
Tweak.
Add a header with the XORP CVS tag.
Remove RIP per address configuration options from the example - the
Update.
jcardona (154):
Incremented version number and corrected minor spelling errors and typos
Incremented version number and corrected a few typos
Added router management bibliography
Created snmp documentation Makefile.am
Created SNMP overivew document
Created figure for SNMP Overview document
Modified to build Makefile for snmp documentation
Created figure for SNMP overview
Added snmp directory
Builds SNMP documentation Makefile
Created
Fixed figure reference
Added SNMP tasks
Added fd set access functions needed to monitor XORP file descriptors from
Added fd_set access functions needed to monitor XORP file descriptors from
Added function to retrieve the absolute time at which the next timer will
Implemented TimerList::get_next_expire().
Fixed incorrect use of selected_mask
Helper classes to allow Xorp method calls from within Net-SNMP MIB modules
Use new typedef'd AlarmMap
Applied changes suggested in yesterday's codewalk.
Applied changes suggested during yesterday's codewalk.
Created
Added conditional compilation of the mibs directory
Added check for net-snmp and enabled use of libtool
Corrected deleted directory mrt
Removed unused macro file include
Added conditional compilation of mibs directory
Created
Added check for Net-SNMP and conditional compilation of mibs directory
Added libtool and Net-SNMP checks
Removed unused variables
Fixed so gmake check invokes test_xorpevents
Minor typos
Created
Modified not to use libtool.
Convenience scripts to exercise Net-SNMP.
Unlibtoolized.
Used better Automake primaries (as suggested by Pavlin)
Modified BGPPeerList to sort peers by remote IP
Fixed previous commit
Implemented bgpPeerTable
Convenience scripts to examine the mib tree
Formatting and commenting
Created configuration files to be able to run snmpd as non-root
Changed config to use SNMPv2c, since root access is required to create SNMPv3
Bourneshellized and added comments
Fixed trashing of row data context
Created BGP4 MIB target
Implemented Xrl target functionality for the BGP-4 MIB. At this time only the
Defined LD_LIBRARY_PATH in the test environment
Implemented common and xorp_if_mib XRL interfaces
A private Net-SNMP header file. See file heading for details.
Xrl target implementation class
Use absolute paths detected at runtime for MIB directories
Test script for bgpPeerTable
Improved checking of Net-SNMP version
XRL interfaces for SNMP
Fixed logfile path
Corrected traffic file path
Added configure tests to detect snmpd
Corrected test for UpdateTime
Improved snmpd detection
Fixed incorrect snmpd termination
Added additional tests for Net-SNMP configuration
Orion convinced me that failing to launch snmpd wasn't serious enough to exit
Not complete yet
kill output redirected
Added new section on how to use mib2c
Added SNMP bibliography
Added SNMP documentation to the Web page
Modified libnetsnmpxorp.so link rules to include all the symbols from XORP
- Modified startsnmp so it can be used by rtrmgr to launch snmpd
Changed test_bgpmib.sh.in to not use snmpenv.sh script.
Created template for snmpd
Added commented out configuration for snmp.
Added MIBDIRS environment variable
Using default absolute path to snmpd
Have configure generate 'startsnmp' so it is accessible to the rtrmgr in the
MIBDIRS environment variable modified to append to current list of mib
Added section on snmpd launch by rtrmgr
Hopefully clarified instructions on how to configure Net-SNMP
Updated SNMP status
Updated SNMP section
Created
Added known problems section
Exported events inside get_next_data_point to ensure that XORP events are
Wrote observer classes for TimerList and Selector list
Per Orion's suggestions:
Modified xorpevents to use the new observer classes and updated kdocumentation
Fix SnmpEventLoop destruction (patch provided by Orion)
Fixed potential double frees when reference counter underflows
Linux did not appreciate static storage of SnmpEventLoop. Reverted to heap.
Deleted redundant kill
Added flag to prevent conflicts with existing snmpd configuration files
Fixed incorrect handling of expired timers. When the "timer scheduled"
Per Orion's request:
No more need for explicit destructors
Implemented shutdown XRL.
Added Copyright notices
Imported changes done to test_peering2.sh:
No more need to call shutdown XRL since runit will now call it.
Added retry count to call_xrl
Modified shutdown xrl so it returns OKAY before killing snmpd
Increased the wait time when checking for snmpd.
Wrote preorder iterators for Trie and RefTrie, and added tests for them in
Capture process terminated message
&> is bash, as Pavlin wisely noted...
Implemented the Path Attributes Table.
Only nodes under the root are pushed to the stack, so there is no need for the
Minor changes on the files generated by the tests
Added comment about MIBS environment variable
Checking in yesterday's talk
Makefile.am
This is the log message for my previous commit (I was trying to do a partial
This is a net-snmp header file that does not compile in C++ (someone decided to
Added check for bug in one of Net-SNMP header files (container.h)
Enabled periodic update of local bgp4PathAttrTable
Improved bgp4PathAttrTable update algorithm
Fixed memory leak
Changed PreOrder iterator so it doesn't require internal state. This is the
Added operator to convert between preoder and postorder iterators.
Fixed incorrect 'valid' parameter usage
Implemented bgpEstablishedTrap
Created new interface to send BGP4-MIB traps
Replaced trie.hh with ref_trie.hh
Implemented bgpIdentifier
Corrected SUBDIR
Undid last commit
Fixed row comparison
Added mpatrol option, useful only for debugging
Added temporary fix to the problem that cause getbulk requests to fail with
Modified bgpPeerTable test to use GETBULK requests, which used to fail.
Reduced the number of debug tokens to keep the log file small
Modified mpatrol options
Fixed leak caused by uncalled destructors
Adding flower_malloc debug library and a test for it
Fxied tpyo
Fixed printf args
Removed line from reference report
Skipped flower_malloc tests in non-FreeBSD systems
Per Atanu's request, added some debug scripts to start the snmp agent and
Setting LD_LIBRARY_PATH
Fixed usage
Updated kdoc comments
Fixed snmptrap OID value
Documented scripts and updated README files for 0.4 release
Updated documentation for 0.4 release
Trimmed long lines in comments
Convenience script that shows the list of currently loaded mib modules
Added SNMP section
Adding new test to verify that bgp sends SNMP traps
Changed bgpVersion to match MIB format
Resolving conflicts between net-snmp and xorp 'config.h' files.
kohler (5):
typos
error document: merge my suggested text and Orion's changes; makes XRL error handling more explicit
working towards convergence
use Times
add samp04_iprouter
mjh (307):
Add work plan to take us to a 1.0 release and beyond.
Fix initialization error that was causing some tests to fail on koala.
Fix bug in next_hop_resolver - when a route doesn't resolve, the
Re-enable test_rib_fea1.sh, as all the tests now seem to work.
Fix mismatched new and delete.
Fix some unimportant memory leaks to keep LeakCheck quiet.
Fix minor memory leak in DeletionTable.
Fix serious space leak in FanoutTable's queue handling.
Fix memory leak in NhLookupTable's queue handling.
Fix memory leak in RiboutTable's output queue.
Fix uninitialized BGP peering type in test_ribout.
Fix unimportant memory leaks in tests.
Add support for adding and removing MED attributes. This turns out to
Modify tests so that the temporary file they use contains the user's
Re-think how we store IGP metrics for MED insertion.
Add (untested) support for transiting unknown optional transitive
Rename BGP RouteTables, dropping the BGP prefix, so the tables names
Add counters and timers needed for the BGP MIB.
Add XRL interface to supply the data required by the Peer table part
Fix bug in CacheTable route_dump, where the version of the route
update copyright
Change method name (to less self-explanatory name!) to satisfy g++ 3.2.1
Fixes to BGP peer monitoring XRLs that I seem to have forgotten to
Make BGP PathAttribute encode methods non-const. Previously they made
Rename DumpTable::dump_next_route() to do_next_route_dump() to keep
Remove unused methods from DummyPeerHandler
More compilation fixes on g++ 3.2.1.
A start at some debugging/diagnostic tools for BGP. Doesn't do
the real missing file :-)
add bgp/tools to build directories
Update Makefile.in in bgp
Fixes to allow rtrmgr to build on g++ 3.2.1
tools/print_peers can now print the list of BGP peers
print_peers now prints verbose stats on each peer if given the -v flag
Fix corner case where a peering is removed while we're listing the peerings.
Don't display values when they're not meaningful.
The commands to retrieve the state in the peer part of the BGP MIB
First pass at reference-counted Trie. This is a Trie in which
Fix initialization error that caused crash on Linux and FreeBSD with gcc 3.2.1
Move minitraits to a separate file to avoid compilation problems in
Change BGP to use RefTrie
Modifications to force an iterator to point to a valid (undeleted)
A start at code to read back the routing tables. Not yet linked in
Route table reader extensions.
Make RefTrieIterator::key() a const method.
re-commit minor change after power glitch
Link the route table reader for compilation. Add hooks to plumbing to
Routing table reader is now more or less complete. Not yet tested though.
XRL extensions for BGP routing table reader
Fix spurious warning.
Fix subtle little bug in NhLookupTable
Unfinished policy filter code. Not yet linked in for compilation.
Fix bug where the keepalive timer would expire while we were in state
Fix bugs in DumpTable:
Fix very hard to find little bug in PathAttribute::operator< which had
Fix bug in reporting MIB data - several timer values were stored in
Add print_routes test tool which prints out all the routes a XORP BGP
Enable building of print_routes
Pipeline get_next requests for routing table routes. Uses a fixed
Changes to RibIpcHandler's Xrl queue so that we can retransmit if we
Changes to SubnetRoute to include a parent route pointer. We use this
Add reference counting to SubnetRoute parent_route pointer, and
Minor tidying: RouteQueueEntry now takes a route reference rather than
Fix two space leaks I introduced yesterday.
Add SubnetRouteRef class, which simply maintains a pointer to a
Move the message queue in NhLookupTable to use SubnetRouteConstRef
Use SubnetRoute references to avoid the need to make temporary copies
Minor fixes for route table reporting.
Improvements to route table display - now indicates which routes won.
Integrate most of the BGP isolation tests into a single binary. A
Add missing file, remove old test binaries from .cvsignore
Return correct exit status.
don't reinitialized XLOG multiple times
Fix initialization bug (shouldn't affect anything)
Don't close debug output file multiple times.
Integrate test_next_hop_resolver into single isolation_tests binary.
Make more of this compile. Doesn't do anything useful yet.
Fix remaining compilation errors in policy, and link for compilation.
Really compile policy dir
Don't define an empty TESTS variable in Makefile.am, or automake on
Add test suite to ensure that rtrmgr template files in CVS parse
Fix BGP template file and config.boot for aardvark.
Better failure diagnosis.
Fix BGP rtrmgr template to match the change Atanu made in BGP XIF
Add peer enable/disable switch to BGP template.
Ensure that modules such as the RIB that don't need any explicit
Remove some unused code, and make the mechanism for starting modules
Turn off all non-critical debugging.
The sense of the BGP peer disable command in the rtrmgr was reversed.
Add no-op set commands to BGP peer nodes, so that xorpsh will allow us
Add the operational-mode rtrmgr command to print BGP peers.
Dummy show_interfaces command to keep xorpsh happy
Operation-mode rtrmgr config file for BGP.
Fix bug in reading operational-mode command responses - if stderr is closed before stdout, this isn't an error unless there was actually data on stderr.
Fix bug in rtrmgr process dependency tracking.
Add router manager command to display BGP route table.
Some code cleanup - remove unused default route constructors, and
Enable retrieval if VIF flags, and printing of results.
Use rtrmgr/tools/show_interfaces from xorpsh to query interface state.
BGP seems to be getting SEND_FAILED occasionally when trying to send
Update BGP design document to match current BGP status.
Update RIB design document to match current state of RIB code.
Update version number and date - no other changes are needed to
Minor changes to bring FEA design doc up to date.
Update Design Architecture document to match current XORP status.
Add information about RefTrie. Fix date.
Fix typos and some layout improvements.
Minor grammar fixes and typos. Note: this doc still needs updating
Fix minor typos and undefined reference.
Update status.html - I updated everything except multicast, but feel
Update release notes.
abort on SEND_FAILED. This is temporary, to give the tinderbox the chance to show up any remaining problems.
Move the disabling of RIB->FEA communication to an XRL (as opposed to
Fix typos
Make rtrmgr use new finder (or it can't talk to anything else!)
Workaround for yacc incompatibilities on newer RedHat systems. If you
Add work items for RIB and RTRMGR
Add some longer term tasks.
Simple change to retransmit "register interest" messages from
Move NextHopResolver retransmit timer to be a list of XorpTimers.
second pass on XRL error handling
Commit XRL error handling text to the correct document :-)
update XRL errors text
wordsmithing on the intro
Rephrasing to improve readability.
Add section on handling route add failures that are caused by resource
Update BGP->RIB route add/delete interface to match error handling
Some restructuring and renaming of the NextHop lookup request queue
Substantial re-write of NextHopResolver's handling of XRL requests and
Add FEA rib client for IPv6
Replace last remaining uses of sprintf with c_format. This doesn't
Add convenience method to access the XrlRouter's eventloop
Rationalize how we pass the eventloop around, what the accessor
More rationalization of eventloop naming/passing/storage-of-references
General code cleanup: prefer passing/storing references to pointers.
Spring cleaning.
More stylistic cleanup
Minor cleanup.
Add a tinderbox test that just ensures the config file parsing still works.
Some refactoring aimed at making module management less closely
More refactoring to better separate ModuleManager functionality from
Clean up module states to match Tuesday's discussion.
Inform the ModuleManager of module status changes.
Fix initialization/state-machine bug that resulted in killing
Properly handle waiting for processes to shutdown without calling sleep().
Add new task class. Add callback to module termination code.
Add new TaskManager class.
Start the task manager. Some cleanup internally in Task class.
Move some functionality over to TaskManager from XorpClient
Refactoring to use the TaskManager. Tinderbox tests succeed, but
Remove now-obsolete batch code from XorpClient and associated APIs.
Making progress towards getting the restructured code to work properly again.
Add a simple DelayValidation class to use when starting or stopping
Add get_status call to common interface; all processes currently
Status codes definintion
Changes to RIB to return NOT_READY state while it's getting VIF info
get_status XRL on BGP can now report PROC_FAILED when BGP has seen a
BGP now returns PROC_FAILED if the NextHopResolver suffered a fatal
Remove PROC_MAX - it makes ennumeration in switch statements less readable.
FEA should now return a status code of PROC_NOT_READY if any interface
Add mechanism to rtrmgr to use Xrl get_status to determine process
Fix templates to match rtrmgr changes
Fix bug in code calling get_status XRL. rtrmgr can now start
Fix bug in Finder::messenger_death_event which might cause the wrong
Fix a number of bugs in xorpsh's CLI related to text-entry mode.
Remove gratuitous debugging messages.
remove comment about MD5 - already done by Orion
Fix dumb cut-and-paste error
XLOG_UNFINISHED shouldn't take any parameters
Fixes to prevent compiler warnings when XLOG_UNREACHABLE() is used at
Replace calls to abort() with more self-explanatory self-destruction.
Fix RIB bug caused by a misunderstanding as to what
Fix corner case, where RIB would never enter ready state if the FEA
Replace old FinderServer code with new code cribbed from new finder,
config file for xorp0 BGP testing
First pass at more robust error handling code in the rtrmgr
Remove error handling from ModuleCommand - we now handle errors in the
oops
Errors during startup now are properly reported, and all processes
Add command line flag that causes the rtrmgr to exit cleanly after a
changes to run on xorp8. config.boot should no longer be modified for
Add comment explaining status codes
Add shutdown XRL to common interface. In many processes this is
Somehow I missed adding shutdown to this one.
Two more missing shutdown methods. Something strange must have
Add missing shutdown method
Return correct status when shutting down.
First step towards rtrmgr using the shutdown Xrl interface.
Fix typo that caused the wrong file to be sourced, causing the
Re-organizaton of how the relevant information about a module gets
Add validation that process re-configuration is now complete.
rtrmgr will now attempt to stop processes when the router config no
Correctly unschedule XRLs for processes that are about to be shut down
Add code to actually call shutdown XRLs. Fix bug in task ordering.
Return correct status when shutting down.
return the correct status code while shutting down.
The RIB's shutdown XRL wasn't actually shutting down the RIB.
Update
Allow . in quoted strings. This parser really needs some work to be
New much more capable string parser.
The fea template should specify the real fea, not the dummy one (or
A start at a xorpsh user guide.
Add remainder of document.
Fix bug in bootfile parser that I introduced fixing the bug Javier
Typos
Update rtrmgr and xorpsh status. Minor tweaks elsewhere.
Rename xorpsh_userguide.
0.2 -> 0.3, change date, no other changes needed.
Add text and modify figure to reflect the addition of the RibClient
Fix space-leaks in shutdown code (not important leaks - just help
Clean up on shutdown.
Bug fix that allows a router to be started with no configuration information.
Add DeletionTable to RIB. This performs background deletion of all
Routing protocols now register their XRL class and instance names when
compilation fix for gcc 2.95
Simple test suite for RIB Deletion Table.
Pretty much a complete re-write of the BGP decision process to fix the
Fix reversed BGP MED test.
Fix NULL pointer de-reference in RegisterTable - this fixes
Re-write of DecisionTable<A>::add_route to solve further MED problems.
Re-write of DecisionTable::delete_route to handle deterministic MED
Re-implement DecisionTable::replace_route to give deterministic MED
Changes primarily to FanoutTable, so that it now passes changes to the
Back out minor broken change.
Different peers should have different BGP IDs.
Switch FanoutTable to index the next tables using a multimap indexed
Add missing destructor for NextTableMap. Only called at BGP shutdown
Fix space leak in DecisionTable::replace_route. Mea culpa. This one
Added toplevel BUGS file, with a few bugs (mostly in xorpsh) I found
Nove these bugs into Bugzilla
quit from operational mode now causes xorpsh to deregister and exit cleanly.
xorpsh no longer crashes when we type "delete protocols".
The list maintaining the order for modules to be shutdown was not
Slightly more useful welcome message. Ideally should probably also
Add %help command to the template file for specifying help information
A start at making the help command in xorpsh do something useful.
Some of the basic help provided using the "help" command now works.
Add long help text for most of the configuration-mode static commands.
Fix compilation error on later compilers
Add help for set command.
Add long help string for show command.
Move main loop of rtrmgr into its own class.
Allow rtrmgr to return "not ready" when xorpsh requests the running
Fix input validation error that could cause xorpsh to crash
A complete re-write of the xorpsh interface for direct text entry of
Fix for issue Pavlin identified when adding/deleting the default route.
Add long BGP help string
Specify that BGP as and next-hop are mandatory parameters of a peer.
Fix infinite-loop bug in error handler for config change notifier.
Add additional isolation test for cascaded filters. Unfortunately didn't find
Ugly temporary fix for compilation errors introduced by switching from
Fix BGP space leak.
Minor cleanups.
Fix broken parameter to accept. Why didn't previous versions of gcc spot this?
Compilation fixes for gcc 3.4 (prerelease).
Fix to work around compiler brokenness
trivial workaround for gcc 3.4 bug
Fix compilation errors for gcc 3.4/ISO compliance.
Reverse erroneous commit of modified test file. Mea culpa.
Compilation fixes for gcc 3.4.
According to g++ 3.4, -Wmissing-prototypes is only relevant for C, not for C++.
Consistency
Fix relative paths
Reference docs page
Add kdoc comments
Add test that demonstrates broken DumpTable behaviour found by Atanu.
Add top level kdoc comment for DeletionTable
Add top level kdoc comment for InternalMessage
Enable new DumpTable test, and update reference file.
compilation fix for gcc34
Add another test case.
Fix specification of which config parameters are mandatory
Add a very specific test case for one of the race conditions fixed
Add seven more unit tests, each testing a different possible race
Add framework for a save hook, to be executed when the router config
rtrmgr config file save hook now works.
Avoid linear scan through list of peers with each route dumped.
Fix route dump bug, and add unit test.
re-implement BgpTrie as a subclass of RefTrie. Use delete_self()
Add delayed deletion method delete_self() to avoid invalidating
re-write final completion and self-deletion behaviour of dump table.
changes so that FanoutTable can explicitly track the genid of all the
Keep much better track of the genid associated with routes:
Initialize the DumpTable with the genids of the peers to dump, rather
add missing typenames for gcc3.4
Complete re-write of DumpIterators. Should work better, and be more
Fix bug in new DumpIterator code.
Fix dump bug (bad assumption on my part about order of execution
Removed unused methods relating to igp metric.
Record in the SubnetRoute itself whether or not the nexthop resolved.
Add a sanity check - routes whose nexthop didn't resolve should NEVER
Fix two bugs:
Fix bad assertion. We don't *always* keep track of the GenID of
Don't generate spurious warnings if XORP build directory no longer exists.
Disable debugging output
Fix parser error that prevented mandatory attributes being interpreted
Add additional sanity check
Call peering_came_in(), even when the peering is coming up for the
Fix illegal template commands
improved diagnostic for illegal template commands
reverse unintended commit of bgp.tp
Re-order the startup sequence in add_peering() to be much closer to
Fix to route_used() in DeletionTable. Should not pass on upstream if
Fix gcc 2.95 compilation failure
XORP config files are supposed to start with "/*XORP" so we can
Add kdoc comments.
More kdoc comments.
pavlin (2057):
* Add new file WORKPLAN that contains the workplan for various tasks
* Change the header from "Documentation" to "XORP Documentation"
* Bug fix: If (S,G,rpt) Join message is received, and there was no
Schedule an (S,G,rpt) routing entry as a candidate for
Redesign and reimplement the mechanism for handling the downstream
Modification to PimJpHeader::mrt_commit() to improve
Add section "4.4 Receiving (S,G,rpt) Join/Prune Messages"
* Add configuration for xorp6
Makefile.in regenerated
Add two more TODO entries
* Renamed *tracking_support_present to *tracking_support_disabled
* Add new PIM-related configuration XRLs and the appropriate support
* Bugfix the processing of the following events, so now the
Minor comment rewording (to make the comments more consistent
Bugfix: conditionally set the T-bit in the LAN Prune Delay
* Add Section 4.5 "Sending (*,*,RP) Join/Prune Messages"
Add a TODO entry to fix the ordering (in IMPL, SPEC and TESTSUITE)
* Add Section 4.6 Sending (*,G) Join/Prune Messages.
Add three more TODO entries.
Minor comment change (for consistency with the text in the spec).
Bugfix: if processing (S,G) or (S,G,rpt) Join/Prune message,
* Add Section 4.7 Sending (S,G) Join/Prune Messages
Clean-up the arguments of PimVif::pim_assert_send().
Re-generate Makefile.in
Reorder route_metric and metric_preference arguments in
* Configure xorp3/dc0 as the RP
Add XRL interface to generate PIM Assert messages (for testing purpose)
Stylistic cleanup:
Add two TODO entries about bugs in the implementation of the
Bugfix in PimMre::entry_can_remove() : ignore assert state when
* Disable PimMre::compute_mrib_next_hop_s() for (S,G,rpt) entries,
Add a TODO entry.
Add initial entry for things to include with the next release.
Changes to enable utils compilation on gcc 3.2.1 and gcc 2.9x.
Changes to enable libproto compilation on gcc 3.2.1 and gcc 2.9x.
Changes to enable cli compilation on gcc 3.2.1 and gcc 2.9x.
Changes to enable mrt compilation on gcc 3.2.1 and gcc 2.9x.
Changes to enable mfea compilation on gcc 3.2.1 and gcc 2.9x.
Changes to enable mld6igmp compilation on gcc 3.2.1 and gcc 2.9x.
Changes to enable pim compilation on gcc 3.2.1 and gcc 2.9x.
Changes to bgp compilation on gcc 3.2.1 and gcc 2.9x.
Changes to enable fea compilation on gcc 3.2.1 and gcc 2.9x.
Add a forgotten change to enable fea compilation on gcc 3.2.1 and gcc 2.9x.
- Changes to enable rib compilation on gcc 3.2.1 and gcc 2.9x.
Fix the creation/deletion of (S,G,rpt) routing entries.
Add a TODO entry about handing of (S,G,rpt) routing entries.
Expand __PATH_TO_FILE_HH__ in the header file #ifndef wrapper
* Fix the code for restarting the Join Timer for (*,*,RP), (*,G)
Fix the restarting of the (S,G,rpt) Override Timer, such that
Fix the code such that when a router sees (S,G) Prune or
Don't delete (S,G,rpt) routing entry if it is in NotPruned state,
Add .cvsignore
Fix the computation of RPF'(S,G,rpt) :
Add test_ref_trie to .cvsignore
Regenerate Makefile.in with the default automake-1.4
Update config.guess and config.sub with the lastest version
* Add a new method PimMre::recompute_is_prune_desired_sg_rpt_sg()
* Add a new method PimMre::recompute_rpfp_nbr_sg_rpt_sg_changed()
Don't delete PimMre routing entry if any of its interfaces
If the PimMre interface state is set to NoInfo, try to remove
Argument renaming: ipvxnet -> subnet_addr
Minor comments formatting.
* Add XRLs to add/delete subnet address to the set of subnets
Comment-out the enabling of CLI access inside mfea/test_mfea.cc
Change the type of the last argument to accept(2) from size_t
Add (uint32_t) and (uint32_t&) casting of size_t argument
* Cast size_t argument to (uint32_t) in the Python scripts
Changes to how PimMre and PimMfc entries are deleted:
* Separate the PimMre entries pending deletion into different lists:
Fix the mechanism for deletion of PimMre entries:
* Remove some old TODO items
Use ranlib over the generated libtecla library
Remove extra whitespaces after file names.
Add autoconf configuration to define HOST_OS_MACOSX for MacOS X
Code changes to make it (almost) compile on MacOS X version 10.2.3
Comment-out text after #endif
Bugfix inside PimMre::recompute_rpfp_nbr_sg_rpt_sg_changed() :
Add a comment to explain why const_cast is used in ether_ntoa()
In PimMre:::set_i_am_assert_loser_state(), always set the
Add Section 4.8 "(S,G,rpt) Periodic Messages"
Add an extra sentence in describing the results in Section 4.8,
Add a TODO entry whether to delete PimMfc if the iif changes.
Fix PimMre::is_prune_desired_sg_rpt() such that it computes
Add two implementation-related TODO entries.
Add new method XrlCliNode::my_xrl_target_name()
Add newline at end of files (spotted by a warning generated
Change uint8_t msg[MAX_BUFFER_BYTES];
printf("%d", size_t) -> printf("%u", (uint32_t)size_t)
Better comparison for $enable_ipv6 value.
* Add --disable-debug flag to ./configure to explicitly disable
Various PIM Assert related changes and bug fixes:
Add missing delete_assert_winner_metric*()
Merge all set_foo() and reset_foo() to
* Rename PimMre::recompute_rp_register_sg_changed()
Add a TODO entry.
* Fix the following methods to appropriately assign the new state
Add two more TODO entries.
Bugfix in PimVif::pim_assert_process() :
Cast (size_t) to (uint32_t) when printing.
Cast (size_t) to (uint32_t) when printing.
Cast (size_t) to (uint32_t) when printing.
Cast (size_t) to (uint32_t) when printing.
Apply Orion's patch to the MacOS X compilation problem.
Add a TODO entry
Bugfix in PimMfc::recompute_iif_olist_mfc() in comparing whether
Add XLOG_TRACE() log message to PimMfc::delete_mfc_from_kernel()
* Fix PimMre::rpfp_nbr_wc() to return properly MRIB.next_hop(RP(G))
Bugfix in assignment to a local static variable in method
Fix pim_mre_override_timer_timeout()
Compilation bugfix that was introduced with the previous commit.
* Fix the computation of PimMre::rpt_assert_metric() such
Add Section 4.9 "State Machine for (S,G,rpt) Triggered Messages"
Add a TODO entry about pending test scenario from Section 4.9
Remove a TODO comment that is not valid anymore.
Add a TODO entry.
Add print_routes to .cvsignore
When reading the whole forwarding table at once from the kernel,
Add a TODO entry.
Update with wish-list for next release.
Add a TODO entry.
Add a TODO entry.
* Modify PimMre::set_assert_winner_metric() to delete the old
Modify PimMfc::recompute_iif_olist_mfc() :
Compilation bugfix introduced with the previous commit.
Remove half of the most recent TODO entry, because it was done by
Add a number of methods to MfeaDfe to access various dataflow-related
Add new CLI command "show mfea dataflow" that prints information
Remove some TODO stuff that is done.
If a dataflow upcall is received, and if there is no matching PimMre
If we delete PimMfc entry inside method PimMfc::recompute_iif_olist_mfc(),
Add a TODO entry about
Fix the processing of assert messages when in I Am Assert Loser
Add dependency tracking for the CouldRegister(S,G) recomputation
Regenerate the dependency tracking info files.
Ignore the Assert state for (S,G,rpt) entries when attepmting to
Add a TODO entry.
* Bugfix in PimMrt::receive_data() :
* Add comments to clarify most of the PimMre methods which type
Implement the processing of assert-related
* Fix the dependency tracking mechanism for
Add a TODO entry.
* Fixes to PimMre::entry_can_remove()
Bugfix: reset the root of the MRIB lookup table to NULL if the last
* Make the MRIB default metric and metric preferences configurable.
Add configuration to setup MRIB default metric and metric preference
Compilation bugfix for Linux.
Add an extra space.
Reorganize the dependency tracking mechanism to add support
Use XLOG_ASSERT() for some output actions to verify that
Add Section 5.1 "(S,G) Assert Message State Machine".
* Remove redundant couple of XLOG_ASSERT() from
* Check the inner source and group address of an Assert message:
Fix the content of the AssertCancel(S,G) and AssertCancel(*,G)
Initialize PimMfc::_flags to zero in PimMfc constructor.
Add new binaries to .cvsignore and prune old ones.
Remove repetition of "isolation_tests"
Change the mechanism to recompute
Add Section 5.2 (*,G) Assert Message State Machine
Modify the dependency tracking mechanism such that
Add extra text to describe the test scenario when (*,*,RP) Join
Prune and/or update some obsolete TODO stuff.
MacOS X printf() compilation fix.
Change return type of ProtoNode::maxvifs() from size_t to uint16_t,
* Change vif index type from size_t to uint16_t
Change vif index type from size_t to uint16_t
Add BUFFER_COMPARE() macro.
Bugfix in PimScopeZone::set_scoped_vif() :
Replace "operator bool()" with method "bool is_valid()".
Add test_finder_ng to .cvsignore
* Reimplement the PIM Bootstrap mechanism
Add a new RELEASE_NOTES file. This file is suppose to contain
Compilation fix for gcc32 (on FreeBSD).
Add "explicit" to some of the class constructors in libxorp that
Add explicit casting due to the "explicit" constructor modification.
Change the definition of PIM_BOOTSTRAP_SCOPE_ZONE_TIMEOUT_DEFAULT
Bugfix in computing the "Randomized Override Interval":
* Add flags to BsrZone to distinguish between
Cast (size_t) argument to (uint32_t) inside printf().
Cast (size_t) argument to (uint32_t) inside XLOG_ERROR()
Implement generation of PIM Bootstrap and Cand-RP-Adv messages
If attempt to send PIM Cand-RP-Adv message(s),
* On second thought, reverse-back my previous change to
On startup, set the BS Timer for a candidate BSR to BS Timeout
Show info for "Expiring zones" and "Expiring RPs"
Add a TODO entry re. the Bootstrap spec.
* Add Section 6.1 "Candidate BSR State Machine".
* Remove incorrect XLOG_ASSERT() statements
Modify PimNode::add_config_cand_rp_by_addr()
Send the periodic or the cancelling (on shutdown)
* Add Section 6.2 "Non-Candidate BSR State Machine".
Add forgotten auto-generated EPS file.
Print type of XRL arguments when printing the usage string.
Add XRLs to configure PIM scope zones by adding/deleting
Add new methods to return the list of scoped zones, and to
Add new CLI command "show pim scope" to show the configured PIM
Add new method PimScopeZoneTable::is_zone_border_router()
* When sending Cand-RP-Adv message, set the Zone bit
* Add Section 6.3 "Sending Candidate-RP-Advertisements"
Remove an obsolete sentence from "Possible problems" in Section 6.3.
* Fix PimBsr::add_expire_bsr_zone(), so only the prefixes
If we are sending a cancelling Bootstrap message, then set the
Fix PimBsr::stop() so the BSR sends properly the cancelling
Add Section 6.4 "Creating the RP-Set at the BSR".
Move the check whether we are sending a Bootstrap message
* Remove the old PIM-SM BSR specs (bsr-01 and bsr-02).
Update the PIM-SM BSR spec reference from bsr-02 to bsr-03
Update the bib entry for the PIM-SM BSR spec from bsr-02 to bsr-03
* Update the PIM-SM architecture document to reflect the
Add the argument type when printing usage for CLI-related XRL shell
A typo
Remove finder_ng from .cvsignore
Remove add_permitted_host() for "0.0.0.0", because it is
* Use typedef to switch to the new finder
* Bump-up the version to 0.2
Compilation fix for Linux RedHat 8.0 :
Add a second optional argument ("scoped") to CLI commands
Nasty bugfix. What I meant originally was:
* Bugfix regarding keeping and removing RPs for group-prefixes
Add Section 6.7 "Segmantic Fragmentation of BSMs"
* Change the date to March 7, 2003
Spell check.
* Update the status for multicast
Add the subdir name __POLICY in the beginning of the following
kdoc nit: "@throw" -> "@throws"
kdoc nit: "@requester" -> "@param requester"
* Add a TODO entry to kdoc-ify ref_trie.hh and trie.hh in libxorp
* Move libcomm before libxipc, so the libcomm documentation
Fix two Latex compilation problems.
Updated to match XORP version 0.2 release code; cleanup.
Minor edits.
Updated to match XORP version 0.2 release code; cleanup.
Cleanip.
Minor cleanup.
Cleanup.
Replace some of "messages" with "packets"
Bump-up the date to March 10, 2003
Sync the file with the XORP coding style.
Cleanup. Bump-up the date to March 10, 2003
it's -> its
* Minor cleanup; bump-up the date to March 10, 2003
* Bump-up the date to March 10, 2003
* Bump-up the version to 0.2, and the date to March 10, 2003
Add Javier Cardona to the list of core team members.
* Add gcc/g++ 3.2.1 to the list of supported platforms.
Moved SNMP from the list of long-term future plans to the
Add a reference to xorp/RELEASE_NOTES.
* Set the release date for Release 0.2
Update the copyright year in the top-level LICENSE file.
Update the date of each document to March 10, 2003
Add release notes for LIBXORP, FEA, MFEA, MLD/IGMP
remove test_next_hop_resolver from .cvsignore
Update the documentation index Web page for Release 0.2
Remove two TODO entries that were already DONE.
Bump-up the version to 0.2 in xorp/VERSION and xorp/configure.in,
Update README for CLI.
Update the date in the status section of BGP README.
Update the date.
Minor fix.
Update README for pim.
Add a newline at end of file.
Add a TODO entry.
Fix gl_change_terminal() so it does the right thing if
Call gl_change_terminal() with default value of ther terminal
Set the terminal as appropriate: if is_stdio() is true, then
* Add a template with empty bullets for release notes for the
Minor edit.
* Update the priority of "Finish PIM testing" task from High to Done
const-ify arguments that are pointers and that the memory they point
Add a TODO entry.
Sync with the current testbed configuration.
Shuffle few things around.
* Add XRLs and supporting code to get/set/reset the IGMP/MLD
Conditionally set the target name (default to "IGMP")
Conditionally set the target name (default to "MFEA_4").
Conditionally set the target name (default to "PIMSM_4")
Misc. IPv6-related bug fixes:
Set the CLI and MFEA target names (to "CLI" and "MFEA_4" resp.)
Use "#define DO_IPV4 1" to conditionally compile the test program
Bugfix in inet_cksum_add() in computing the result IP checksum
Use "#define DO_IPV4 1" to conditionally compile the test program
Set the CLI, MFEA, and MLD6IGMP target names
* Bugfix in computing the MLD checksum: the checksum must
Add CLI commands for MLD (same as IGMP).
Add config entry for xorp6, and change the set of enabled interfaces
Add config entry for xorp6, and change the set of enabled interfaces
Add a bullet about MFEA-related changes
Add a file with info about the steps involved with the
Simplify the code for computing the checksum for the
Conditionally set the target name (default to "CLI")
Update the "last reported host" address whenever a membership
If IGMPv1 Membership Report is received, don't perform
Bugfix in Mld6igmpVif::igmp_membership_query_recv()
Start the v1 host timer even if I am not querier.
Remove a TODO entry about starting igmpv1_host_present_timer()
Bugfix: reset the VIF_QUERIER flag on an interface if
* Implement check for Router Alert IP option
Remove TODO item re. checking incoming packets for Router Alert
Add a TODO entry re. configuration to enable Router Alert
Add bullets about MLD/IGMP status.
Update the status of the "Testing of IGMPv1,2" task
Few minor fixes.
Change the year of the TODO document from 04 back to 02
* Rename rib/urib_module.h to rib/rib_module.h, and change
it's -> its
kdoc nit: @returns -> @return
* Const-ify and use references for the arguments of the methods
Arguments const-ification, and minor stylization nitlets.
Nitlets.
Change the order of building of some of the directories.
Stylistic nits here and there.
* Add "BOOL METHODS" section:
Add the XORP CVS ID
* Replace old Copyright headers with the most recent version
* #ifndef ... #define ... #endif wrapper nitlets
Remove extra empty lines.
* XRL router related variable and arguments renaming
Xrl router-related argument/variable renaming
XRL router-related variable/argument renaming
* Change the RibManager constructor such that the EventLoop
* Link against the RIB library (though, the RIB is not used yet).
Nitlets.
* Rename
* Rename x_module_id with xorp_module_id
Add configuration entry for hostname "pie"
Initialize _server_msgs_sent to zero.
Tweak code that is not used and that is going to be deleted
Fix the alphabetical order of the list of Makefiles to generate
Nitlets:
Add entries for XORP_MODULE_RIB and XORP_MODULE_RTRMGR
* Pass the (FEA) target name of the XRL target to send
Move the state-related stuff from ProtoUnit to a separate new
Rename FeaClient to RibClient.
* Add four lists of RibClient objects to RibManager: one list
Replace the configured interface for "possum" from fxp0 to rl0
* Add start() and stop() methods to RibManager and VifManager,
Add following XRL interface to RIB:
Reorder the FTI-related XRL implementation such that the implementation
* Add the fti (fea_fti.xif) XRL interface to XrlPimNode
Refactoring of the recently added XRL interface to the RIB:
Add a shell script with handy wrapper functions for the RIB.
Modify call_xrl() shell function such that if we must repeat
Make the return value of the 'command_pim' and 'rcommand_pim'
Refactoring some of the return strings when there is an error.
Misc. fixes and cleanup
Remove the expectancy to receive fail:bool = false
Replace the "fail & reason" XRL error return mechanism
Replace the "fail & reason" XRL error return mechanism
Add a TODO entry.
Add a figure with error dependency between XORP components.
Add the error_handling.tex document to Makefile.am
Add a mini-template for the things to include with the next
Add the strawman MFEA-to-FEA merge plan.
Add PIM configuration option and XRL interface to configure
Add a clarificication about the vif_index
* Add-back a "return;" statement, and a call to kernel_call_process()
Nit
Move the "mfea" directory to the list of libraries, so it should
* Add a new class TimeVal that should be used instead of
* Fix the TimeVal(const double& d) constructor, such that
Fix include files.
* Move the definition of all longish TimeVal methods to outside
* Change the argument type from "struct timeval" to TimeVal for
Nitlet.
* Edited the comment for XorpTimer::scheduled() :
Changes related to the FTI XRL interface as discusses on Tuesday
Change the value of "metric" in the FTI and rib_client XRL interface
Replace majority of "struct timeval" with TimeVal
Replace the multicast-specific Timer with XorpTimer.
* Replace the multicast-specific Timer with XorpTimer.
Fix a comment.
"friend Foo" -> "friend class Foo"
Add forgotten #ifdef HAVE_IPV6 #endif around IPv6-specific code
Nitlet.
Add (commented-out) configuration for interface ed1 for oreo.icir.org
Add a TODO entry.
Add a new method TimeVal::set_max() that sets the time value
* Replace all remaining multicast-specific Timer instances
Variables renaming: "foo_timeval" -> "foo_tv"
Update the work plan for release-0.3
Nitlets.
* Add various copy_in() and copy_out() methods to IPv4 and IPv6
* Replace "struct timeval" with TimeVal (in the Xorp timer and
Remove the deprecated TimeVal::randomize_uniform()
Use EventLoop::current_time() to get current time instead of
* Replace "timeval" with "TimeVal"
Replace TimerList::system_gettimeofday()
Nit.
MacOSX compilation fix.
MacOSX compilation fix
Nits.
Fix typos.
Add a TODO entry re. the PIM BSR spec.
* Add more text for the MFEA
MacOS X compilation fix
Rename #define-d flags checked by configure:
Add check for if_indextoname(3)
Rename XRLs ifmgr/0.1/get_vif_flags4 and ifmgr/0.1/get_vif_flags6
Update .cvsignore
Add .cvsignore file with the list of files CVS should ignore.
Add check for net/if_types.h header file.
Remove the following files from .cvsignore, because it seems
Replace
* Replace #elif HAVE_SYS_ETHERNET_H with
Replace the #ifdef ... #elif ... conditional inclusion of
* Cleanup acconfig.h :
Remove #include "libxorp/ether_compat.h" because it is not needed
Update ltconfig and ltmain.sh with the slightly newer version
Comment-out the --force flag to libtoolize, because with it
Add compilation fixes for NetBSD-current (and probably NetBSD-1.6.1).
Add few TODO items for the next release.
Fix a typo.
Add test_xorpevents to .cvsignore
(Carefully) replace the ltmain.sh from FreeBSD (libtool version 1.3.4)
Add a check whether netinet/icmp6.h contains "struct mld_hdr"
* Add MLD-related backward-compatibility definitions:
Remove a TODO entry that is already DONE.
Conditionally define mld_hdr to mld6_hdr for older IPv6 KAME stacks.
Replace the obsolete "struct mld6_hdr" with "struct mld_hdr"
* Removed the check for broken <new> header (as discussed during
Replace the non-standard bzero() and bcopy() with
Remove half of a TODO entry.
Fix the conditional definition of MLDV2_LISTENER_REPORT
Add conditional definitions of MLD_XXX from MLD6_XXX
* Replace all obsolete MLD6_XXX with MLD_XXX
Add few IGMPv3 and MLDv2 related definitions
* IPvXNet methods renaming:
* Remove bogus dnl comment from config/acipv6.m4 that is at the
* Apply few fixes to configure.in
Add comments regarding how "bootstrap" should be modified if
* Copy aclocal.m4 from config/aclocal.m4 to the local directory.
Add aclocal.m4 to the list of files ignored by CVS.
Add forgotten "run" in front of "cp -p config/aclocal.m4 ."
* Remove --output=config/aclocal.m4 option when running aclocal
Update config.guess and config.sub with the lastest version
* Update following utility files with more recent version (the one
Replace VERSION[] defined inside coord.cc and test_peer.cc
Apply various fixes to Makefile.am files:
Change all
Fix alignment after the renaming of event_loop to eventloop.
Update the locally kept version of some header files.
Update some of code that is related to the kernel ad