[vyatta-svn] xorp: Changes to 'refs/tags/RELEASE_1_2_RC'
Tom Grennan
tgrennan at suva.vyatta.com
Wed Dec 6 11:00:52 PST 2006
Tag 'RELEASE_1_2_RC' created by pavlin <pavlin> at 1970-01-01 00:00 -0800
Changes since RELEASE_1_1:
abittau (40):
Added support for ordering statements when configuring the front end.
new interface to policy. Statements are now inserted and deleted line by line.
* Initial integration of policy manager and rtrmgr.
get rid of varmap.conf which we don't need anymore
attempt to fix compilation on:
supidly forgot i don't do explicit template instantiations....
fix compilation on some systems [hopefully]
fixed compilation with:
* Use 64bit line numbers. TODO: xrl u64 would be cleaner.
New policy interface. This actually looks very close to the "ultimate" one.
* Users can't set as-path directly... rather only through as-path-prepend and
* Initial support for BGP communities in policy.
fix a bug in the parsing of xrl arguments. If the argument contained multiple =
* Support for sets of different types.
fix compilation on some systems [gcc 2.95]
* Change %create to %set in templates. This allows modifying an existing policy
Initial support for filters with versions. Basically its like the other policy
fix variable name clash, add typeinfo include
disable debug logging - I always seem to forget this...
Fix some bugs:
* some fixes in export policies.
vague attempt to fix memory leaks in policy.
quick fix for IBGP. Basically if you are pushing a non changed route,
* Add range.hh in makefile
* get rid of assert in static filter table.
sort out more memory leaks?
Attempt to fix a bug when policy route pushing while a peer is deleted.
* First pass [didn't re-read or anything] of policy chapter in user manual
quick second pass on policy dox.
* Hopefully speeded up policy in BGP. Reads and writes are done via callbacks.
print a warning if user wants to trace bgp, instead of dying.
marko is right. my fault---sorry.
attempt to fix compilation gcc 2.95
keep semantics of old interface.
First optimization pass for policy.
support for a map protocol<->process.
these files might aid compilation.
forgot to change the human readable protocol to xrl target in the RIB map.
fixed dependency issues. Policies should now be deletable.
Consider route re-distribution from A->B. If A is dead when policy is
atanu (1068):
Correct the pathname to the script to start snmpd.
Explicitly add -lstdc++ for libnetsnmpxorp.
BGP sends route adds and deletes to the RIB via XRLs. Increase the
A problem in the assignment operator for PreOrderIterator and
Make the RefTrie destructor virtual, the RefTrie is the base class for
Use the cooler constructor:
Sending routes from BGP to the RIB is achieved using XRLs.
Replace "echo -n" with echo, call_xrl no longer generates an
Bugzilla URL: http://www.xorp.org/bugzilla/show_bug.cgi?id=121
Send a hello packet on calling start_hello_timer, rather than waiting
RouterID.
Explicitly taking the peering down in the test_peering code exposed a
Start of the hooks in DebugIO to bind together two opsf instances in
The peer manager can throw an exception if an input packet is sent to
The PeerOut and Peer classes can now receive packets.
The PeerManager can now forward incoming packets to the appropriate
EmulateSubnet a way of typing together the IO classes in different
Remove the word "we" from as many comments as possible.
When transmitting a packet it is required to set the destination and
Add the destination and source addresses to received packets.
Fix typo in comment.
The PeerOut can return the linktype, currently a hello packet will
The peer now accepts and uses the interfaces own address.
Use the template variable to decide whether to use an IPv4 or IPv6
Add a linktype that was missed Point-2-Point.
Reduce the hello timer and router dead interval in order to get the
Wait 10 seconds for the tests to generate packets, after that fail the
Remove a debugging printf that was left in by mistake.
1) Interface states
1) Start the hello timer in the wait time event, this is not
Candidates to be DR and BDR must be twoway or above, add this
1) Make NeighborInfo a class and use methods to access its state.
A received packet can now be accepted by the peer manager, previously
Rename NeigborInfo to Neighbor and make it a class in its own right.
Pass the source and destination addresses of a packet all the way
Templatise Neighbor.
Prepare to process incoming hello packets, also clear the neighbours
Changed all occurences of neighbor to neighbour for consistency.
Add a trace struct to store trace variables. By default all input
Kdoc create peer.
Return the type of this area.
Propogate the area type through to the peer. Needed by the hello
An options class to manipulate the options field in packets.
Clarify a reference to the OSPFv2 RFC by citing the RFC itself.
The neighbours are now indexed by source address as this is the most
Move the processing of the hello packet to a separate method.
Add a destructor to the Peer class to free the neighbour classes.
* In the debug output no longer print the pointer to data.
Make the neighbours data structure a list not a map.
* Fix a bug in process_hello_packet(), missing break statements when
Add tracing for interface events and neighbour events. During
* Interface event scheduling completed.
A little further in the receiving of hello packets.
* In OSPFv2 the DR and BDR are the source address, in OSPFv3 its the
Source address and router ID are now distinct.
We were using this routers router ID to determine if the DR or BDR
* get_candidate_id is now static to allow it to be called from other classes.
Complete neighbour event 1-WayReceived.
When tracing events print the interface name and current state, not
Temporary hack in event_2_way_received to get DR and BDR election working.
* Don't access the hello packet directly, to set the DR and BDR. Added
Make the initial state of a neighbour Init not Down.
Add more information in the event trace macros.
Add the data description packet that will be sent to the current
The ReceiveCallback typedef had the encompassing class in its name,
Some notes on the OSPF implementation.
Fix typo.
Catch the exception of no decoder exists to pretty print packet.
Add a decode for data description packets.
TODO.
Increase the timeout in two_peers to 15 seconds from two seconds wait
* New method to compute the value of the option field (send_options).
More words of wisdom.
Stubs for processing data description packets.
* Rename get_source_address -> get_neighbour_address plus associated
More wisdom.
Add a TBD for process_data_description_packet.
Interface MTU can now be set, required for the data description packets.
In LSAs rename get_lsa_type to get_ls_type for consistency with the
* MTU is now being set.
Are external-LSAs allowed in NSSA.
Pretty print the options field in a packet.
Move the area manipulation functions from the peer manager to the
A hook to get a reference to the database manager.
Fix a comment.
Checkpoint.
Clarify comment.
Add ls_database.{cc,hh} to the makefile and create ls_database.cc.
Remove suspect comment.
Add the SPT library.
Include the SPT header file.
Add the ls_database to the area router.
Rename LS_database -> LinkStateDatabase.
Rename LS_database_manager -> LinkStateDatabaseManager.
Lose references to LinkStateDatabaseManager.
Lose references to ls_database_manager.{cc.hh} and
Neighbour now references the area router directly to find if a lsa is
* The newer_lsa method is now in here.
Changed my mind:
Checkpoint.
Rename address -> source, better reflects the purpose of the address.
Initialise the _next_peerid.
Work to do in the AreaRouter.
When a peering is toggled this information is now propogated to the
The connect() method which uses libcomm now returns
No longer ignore SIGPIPE in a socket library.
Temporarily don't set errno to 0 we still have code using errno.
Retrieve a human readable string (in English) for the last error
Add a number of functions that are agnostic to address family. These
Although windows supports the function gai_strerror at the moment we
In comm_set_blocking() clear the O_NONBLOCK bit rather preserving it
Switch to using libcomm for socket operations. The libcomm library
Make the connect call non-blocking.
Call the comm_init() and comm_exit() functions in the Socket
Move the comm_init and comm_exit functions into the main bgp class,
The Dijkastra computation visits tentative nodes and recomputes
Add a valid flag to an LSA. Add a method valid() to check the status
The area router now tracks router links by peerid and also has
Checkpoint.
Remove old irrelevant comment.
Compilation fix required for Linux.
Checkpoint.
Checkpoint.
1) Update router links, methods to compute the router link part of a
Checkpoint.
Add a valid member to the data base handle.
Put a dataabse handle into the neighbour class and reorder some header
Create a database description packet.
In event NegotiationDone if the state is ExStart move to exchange.
Add some trace point if we are about to generate an sequence number
Fix typo in trace message.
According to the spec we don't need to check the more bit.
1) In event_negotiation_done():
Set the bogus prefix length to 16 from 1, which was just confusing.
Print the router link thats added.
Cosmetic change.
We have the default hello interval cranked down to 1 second in order
Remove a debugging printf.
1) Add a wrapper for the retransmit method in order to annotate the
Support the database being totally empty, the database open routing
The database handle is now initialised with the last entry it is
Add a last() method to the database handle plus add a number of
When originating a route don't put our own AS in the AS path for IBGP
Comment out the setting of the options from the top level. The peer
Add a str() routine to the options helper class and use it in the
Checkpoint.
Make LS sequence numbers unsigned.
Add architectural constants.
Initialise an LSA from InitialSequenceNumber (0x80000001) not 0.
The value of the options field in now computed by the peer manager and
The router ID and area ID are held as IPv4 this is fine but
Fill in more of the Router-LSA.
There are a number of 32 bit quanties that are set from variables of
Fix typo.
Change localhost to 127.0.0.1, otherwise localhost resolves to an IPv6
Add a validate method on the LsaDecoder that can be used to check if a
Addresses were being stored as type string in a struct that was being
The heap code allows a set of objects to be held as a priority
Fix typo.
Start of a delay queue.
Complete implementation.
Fix typo.
Add delay_queue.hh.
Fix some minor problems discovered by first compilation.
Use the delay queue to transmit router LSAs.
Clarify some comments.
The creation time is now stored with an LSA so that the age can be
Method to increment the sequence number.
A LSA can now be marked as self originating. Make the default state false.
Utiility method to get the sequence number from an LSA.
Don't allow an LSA to get older the MaxAge.
Don't allow an LSA to get older the MaxAge.
1) Mark the router LSA as self originating.
Spaces.
Update the sequence number and age for the router LSA that is
Implement the newer lsa method.
Add a link state request list to the neghbour.
Identify point where link state request packets should be sent.
Formatting nit.
Each neighbour now has a unique ID a NeighbourID associated with it.
The _running variable was not initialised. This test_peering test was
Introduce a NeighbourID of ALLNEIGHBOURS which can never be allocated
Make sure that a NeighbourID of ALLNEIGHBOURS which can never be allocated
Only consider an LSA if its valid.
New method find_lsa bases on newer_lsa, the new method also returns an
A set of accessor methods for the LSA nack list.
* The neighbours can now accept LSA for transmission (queue_lsa),
Remember to add the link cost to the age of the LSA.
Print the LSA sequence number in hex.
Make the LSA sequence number an unsigned.
Install decoders for all the packet and LSA types we currently
Make the initial sequence number a uint32_t again.
queue_lsa and push_lsas all the way through from the peer_manager.
The increment sequence number now explictly goes from
Print the Link State ID in hex.
Removed the transmitted variable it is now in the LSA itself.
* Don't allow the same router link to be added twice.
When transmitting an LSA set the transmitted bit.
Don't encode the LSA when creating a link state update packet it
Previously the code had the potential to fire off more than one Link
Replace a find with an explicit loop. The find was causing compilation
In the test code network mask was being treated like a prefix. Change
Possible problem in data description packets with respect to the
Add Link State Acknowledgement Packets.
Put in the tests for Link State Acknowledgement Packets.
Placeholders for processing request,update and acknowledgement packets.
Beginnings of the processing of a link state request packet.
Put a disclaimer in the README can't use for routing.
Casts for printfs.
The argument "empty" an be used to an aspath to denote an empty aspath.
New test, test7; on an I-BGP peering send an update with an empty aspath.
Two new tests (test31, test32), both send an update message with an
New test, test11, on two I-BGP peerings introduce the same update
1) Add some more debugging.
Add some debugging to start packet; print if this is an "EBGP" or
More debugging.
New test (test8) demonstrates that BGP will attempt to delete a route
Move test8 to the set of working tests, now that BGP deletes routes
On a peering if a route existed with a unique nexthop and a
assert -> XLOG_ASSERT
When making last change, forgot the xlog header file.
The recent changes in nhlookup mean that the order of registration and
Need to include the module name now aspath.hh uses XLOG_ functions.
Fixed the problem of empty aspaths, also enabled the relevant
When debugging is enabled the name of the caller is printed in
Checkpoint.
Make all references to OSPFv2 and OSPFv3 of this form not OSPF V2 or
An LSA has a creation time and age at creation time associated with
Fix a typo in a comment.
Previously for our own router LSA we did not save the creation time as
Send a link state update packet in response to a link state request packet.
Add an assert if an attempt is made to get the wire format of an LSA
Add some debugging to update_router_links.
The area router provides a database interface to the LSA database. In
Process a link state update packet in the peer and neightbour and pass
Change a printf to a XLOG_INFO.
17) When decoding a link state update packet if an LSA is not
Checkpoint.
Temporarily comment out a label which is not used yet.
Methods to add,delete and update LSAs to the database.
Add a get_peerid method the Peer class. Needed by the neighbour code
Checkpoint.
Checkpoint.
The gcc 4.0 compiler on a Mac doesn't like a statement after the
In order to process received LSAs it is necessary to know if the
The LSA class now has a virtual member external, that is used to
Checkpoint.
1) Working on flooding LSAs still. Hooks to flood external LSAs to
If a database description packet arrives with an AS-external-LSA in a
The link state request list was previously a list of link state
The LsaDecoder now has a method external that returns true if a LSA
When flooding an LSA now include the PeerID as well this allows a
Rename is_designated_router_or_backup_designated_router -> is_DR_or_BDR.
Complete the flooding code in here. When sending a link state update
This section is now completed; "13.3. Next step in the flooding procedure".
Include the spt that computes the SPF.
Start coding a network LSA.
The minimum length of a Network-LSA excluding the header should be 8
Don't allow a packet decoder registration to be overwritten. Useful
The router ID in a Network-LSA is stored as an IPv4 which is stored in
Register the Network-LSA decoder.
Network-LSA encoder/decoder tests.
The defines 'XORP_MODULE_NAME' and 'XORP_MODULE_VERSION' will only be
Fix a typo.
Changing the nexthop associated with a route was causing a
Add typeinfo include.
If an LSA is received on a broadcast interface and it is flooded back
Update a comment explaining why LSAs do not need to be removed from
Add debugging defines (commented out).
Update.
Put an assert in the update LSA method to try and catch the case of an
Working on identifying self-originated LSAs and then processing.
Discard AS-external-LSA's (LS type = 5, 0x4005) in NSSAs.
Test an address to see if it belongs to any of the routers
* Make the LS Sequence Number an uint32_t from a int32_t. Hope I
Complete the processing of self-originated LSAs.
Add comment about unknown packet types.
The implementation of string that comes with the gcc 2.95 doesn't
Check that the iterator is still valid before attempting to
The direct and delayed ack lists are now sent in link state
Move all the implementation code into the header file so this class
Vertex for use by the SPT calculation.
Add vertex.hh to the makefiles.
Add the hooks to start computing the routing table. Also start to use Vertex.
Checkpoint in the middle of adding routing computation.
The router and area ID's are 32 bit quantites that are sometimes
Rename an enum from "type" to "Type".
The RouteCmd class now supports types other than string. Add a
Change the output slightly.
Checkpoint for the routing computation.
Routing table.
In the IO class add_route and delete_route now have arguments. Plus
Hook the routing table in.
Clarify a comment.
Reduce the minimum size of a Router-LSA to 24 bytes from 40
Router-LSAs provide information about all the interfaces that exist in
1) A new event loading done. Still todo cause a Network-LSA to be
Should router links be generate in state backup?
Some of the state variable in a LSA were not initialized in the second
1) Put in a assert to verify that no LSAs that come over the wire
Nit.
Clarify the comment for a border area.
Add a constant for the AreaID for the backbone area.
Describe a problem with virtual links.
In the peer add a method to get the interface prefix length.
Checkpoint the checking of an incoming packet.
In the OSPFv2 case the hello packet contains the interface
Don't zero the stats variables when the session is established. The
Support propogating interface costs through the system.
Complete the RFC 2328 Section 8.2 Receiving protocol packets changes
Scheduled events.
1) Create an operator== function to compare Lsa_headers. Modify
In order to support virtual links the link type is now stored in the
Add the processing for the event KillNbr.
Add event AdjOK?.
Removed an outdated TBD warning from 2-Way.
InfTransDelay can now be configured, it is not used yet.
All LSAs carried in Link State Update Packets now have InfTransDelay
Remove the warning TBD for the change below.
Four predicates from RFC 2328 section 3.3 Classification of routers
When printing the options field add the pretty printer.
Does a virtual link endpoint exist in this area?
Virtual link endpoint and some predicates to describe what kind of
Previously the options were passed into the constructor, now reach
Getting ready to generate a Network-LSA.
Add the kdoc comment for update_age_inftransdelay().
Add an flag "-f" (forever) this will stop a test terminating. Useful
test17 has been consistently failing in the tinderbox runs but has
The class EmulateSubnet that ties together ospf instances would
Checkpoint.
Previously when an LSA was deleted from the database (_db[]) it was
Add a tracing flag to LSAs allowing an individual LSA to be traced as
Fix an uninitialised variable bug (multicast_on_peer), if an interface
Compilation nits from Mac OS X.
Remove reference to legacy header file.
In a NSSA if a Database Description Packet describes an
Only compute DR or BDR on Broadcast or NBMA links when running the
Only compute DR or BDR on Broadcast or NBMA links when running the
Regenerate the lex files with the version of flex on FreeBSD 4.10 to
Refactoring in preparation for generating and withdrawing
Initialise the interface state to be Down rather than setting the state.
If the peer is the DR it is now notified if any of its neighbours
List of all the files to ignore.
Comment out the printing of the address that is being used for XRL
If a host is heavily loaded its very possible that multiple requests
A clique of six routers with a seventh router feeding in a single
Assert the parent pointer is not NULL before dereferencing. Just saw a
24) Move is_DR(), is_BDR(), is_DR_or_BDR() and possibly
If XORP has been built with --enable-callback-debug and a regression
Add a missing newline to a debugging message.
Add some more debugging when trying to make a connection.
The stubs for generating,updating and withdrawing Network-LSAs.
When a peer goes to and from state DR or an adjacency goes to and from
An OSPFv2 Network-LSA contains a single network mask and a list of attached
Pass in the network mask.
Only lookup the netmask in the OSPFv2 case. There is an assert in the
The decoding of a link state update packet contaning multiple LSAs was
A method to update the time and increment the sequence number of self
In the two_peers increase the number of packets that are expected to
Assert that the age of an LSA is never set to a value greater than MaxAge.
Generation and withdrawal of Network-LSAs.
Print the link state id and the advertising router like an IPv4
Set the V6 bit in the options field of OSPFv3 packets.
Updating the age of an LSA that is already set to MaxAge is now
Don't try and update the age of an LSA if it is already at MaxAge.
Only update the age of a packet if it hasn't already reached MaxAge.
The DR election had become broken. In a neighbour get_candidate_id()
Scheduling a BackSeen event later should work now.
In the two_peers test both ospf instances have their interfaces
In the construct below system_gettimeofday() is static so with gcc29
Implement neighbours_exchange_or_loading() used by the flooding
25) A neighbour should only be listed in a hello packet if a hello
The area router can now send a BadLSReq event back to the neighbour.
Send an LSA directly to a neighbour do not add to the retransmission list.
Fix typo in warning message.
Print more information about the links in a Router-LSA.
Some more issues.
Previously if the hop count to a destination changed but the next hop
Checkpoint before refactoring routing table computation.
A method to find a Network-LSA by link state id only, required by the
Add the IP protocol number 89 to the list of constants.
Three new methods added to the io class two to leave and join
Spell protocol with the silent "o".
Pass node information by reference not value.
Checkpoint the incremental routing computation and switch tempararily
Add a method that was missed in the last commit.
Individual LSAs can have tracing enabled to track their flow through
Remove the XLOG_UNFINISHED and enable the debugging messages.
Add two utility functions to go from area and link types as strings to
OSPFv2 can now be configured using XRLs and can be started by the
Missed the header file that provides ProcessStatus in the test programs.
Allow the setting of the prefix-length to allow the interactive configuration
Add ospfv2.tp to the makefile so it gets installed.
Move test5 the connect test to the to be fixed list. This should allow
Add some help text and change linktype to link-type.
Pace the recomputation of the routing table.
When a link state acknowledgement packet comes in check all the fields
Add two queues to the layer that binds together OSPF instances should
operator== commented out for the moment.
Only check for options in the header of an OSPFv2 LSA header.
Add a method fire to start the timer running without introducing an
First part of the routing computation. The incremental computation is
Re-enable test5 now that the BGP connect code is working again.
Move the DebugIO class into its own header file from test_peering.cc
Make calls to change parameters such as the hello interval through the
Make calls to change parameters such as the hello interval through the
Add debugging entry points to allow test programs to introduce LSAs
Change the name of an area that is not STUB or NSSA from BORDER to NORMAL.
Test routing computation.
Conditionally compile out some more of the incremental update code.
On point-to-point networks are sent to the multicast address AllSPFRouters.
Utility routines to convert three bytes between host and network byte
OSPFv2 Summary-LSA Type 3.
OSPFv2 Summary-LSA Type 4.
AS-External-LSA.
AS-External-LSA.
When a hello packet hasn't been seen from a neighbour in router dead
The two_peers test now takes the linktype as an argument allowing
Three methods that will eventually be tied into the interface client
Make BACKBONE local to this file by making it static.
The IP checksum routine has been consistently mis-used so temporarily
The IP checksum routine has been consistently mis-used so temporarily
The number of bytes that make up the link information in an OSPFv2
The sequence number is a signed quantity deal with it as such.
If this router was the DR or BDR and the priority is set to zero using
Get the prefix length and MTU from the FEA not from the configuration file.
OSPF is seeing its own multicast packets until this is fixed in the
If a self originated LSA arrives which has a higher sequence number
Its encode() not update().
The timer to refresh router LSAs was accidentally commented out.
Only join the multicast group AllDRouters if this router is the DR or
Only update the age of an LSA if it isn't already MaxAge.
If the state is Down and a Hello is received go to state Init.
If a peer is taken down don't allow packets in or out.
On broadcast networks the DR or BDR send to AllSPFRouters other states
Move the vertex definition into the common header file.
Store a reference to the LSA in the vertex.
A little more of the routing computation.
Routing table.
The route add, replace and delete methods in the OSPF class are now
Routing table.
The first time through there is no previous routing table so don't try
The IO subsystem now has to provide three methods, startup, running
Cover all the error cases if we fail to install the tables in the RIB.
Startup the IO subsystem.
OSPF determines if it should be running by calling the running method
Called startup on the wrong class.
Add code to queue route andd and route deletes to the RIB. Code lifted
Add the queue to RIB to the IO subsystem. Also allow a metric to be
Put a reference to the LSA in the SPT vertex.
Don't clear the neighbour list on interface shutdown. It stops the
When an interface is taken down all the neighbours are sent a kill
Update a comment.
Put valid options into the test packets.
Close the database if the state drops from ExStart.
Leave or add MaxAge LSAs in the database, this stops the possibility
The comparison functions for LSA incorrectly dealt with the case that
Initialise all the variables in a Router-LSA.
Move the function that generates legal options fields into a common file.
In a Router-LSA for a type 2 link, print the link data field an
Add debugging defines.
Tidy up the printing of route adds,replaces and deletes.
Fix some minor problems introduced by cut-and-paste programming.
The debug IO subsystem should store routes that it is sent for later
The route entry now also stores if the route came from an area border
To simplify the determination of the nexthop if a Vertex is added that
The routing computation now processes:
The test program puts some LSAs in a LSA database and forces the
When computing inter-area routes only consider Summary-LSAs,
The routing computation now processes:
Routes are now being sent all the way to the RIB.
Correct error message.
The adding of the destination node was inadvertently removed in a
Don't print the router ID with every LSA that is printed from the link
Debugging to track this routers Network-LSA generation, updating and
Start the hello timer on entering the "Waiting" state.
Byte ordering issue with the interface address. Plus add some extra
Change the formatting of LSA printing, should make them easier to compare.
If a route command fails temporarily call XLOG_ERROR not XLOG_FATAL.
If the node being added to the SPT is adjacent to the origin the
Compilation fix for the Linux compilers.
The find_neighbour() now takes a Router ID parameter as opposed to the
Support for adding and deleting neighbours, required for all linktypes
Support for adding and deleting neighbours.
Clarify comment.
Clarify comment.
Allow the adding of neighbours using XRLs.
When bringing up an interface set running to true as the first
Enable the testing of PointToPoint links.
Only on BROADCAST interfaces should we just create neighbours.
Only join multicast groups for BROADCAST interfaces.
Support for configuring a PointToPoint neighbour.
Show the OSPFv2 routes.
Move the list of LSA and packet decoders into separate functions. The
Allow the received frame to be larger than the length specified in the OSPF
Enable multicast on BROADCAST and PointToPoint linktypes.
The specification recommends that IP packets are not fragmented. The
Subtract the router alert for IPv6 packets.
Compilation was failing on systems that don't have <netinet/ip6.h>. If
Put in some static_asserts to verify the size of IP headers.
Now that the tinderbox seems to be running okay re-enable test17. This
If a route add/delete command can not be queued for sending to the RIB
The FEA is no longer sending OSPF its own multicast packets, so
Deal correctly with connection collisions.
Read a MRTD routeview / table dump and send it via a test peer. The
If a peering is taken down administratively it looks as if the peering
Remove unused valiables, found by the 29 compiler.
Initialize the timer variables, this was causing a problem in the second FSM
For OSPFv2 stub networks can be announced with no neighbours.
The routing table can now hold a route from each participating
When adding a route to the routing table pass in the originating area.
Fix a typo in a comment.
Move the adding, replacing and deleting of routes to the RIB into
Add a str() method to the RouteEntry.
Hooks for Summary-LSA generation.
Remove spurious blank line.
Add the RouteEntry to the add and replace route methods, required for
When a route is added or deleted from the RIB send the route to the peer
The still connected assert was being triggered in the AcceptSession
XRL support for adding/deleting/changing area ranges, plus requesting LSAs.
Add the ability to configure of area ranges. Plus fix a typo in a help
Allow the toggling of the advertise state.
Some state related to stub areas; should summaries be introduced into
The RouteEntry now has methods to access it fields allows some sanity
The original RouteEntry is provided even when withdrawing a summary to
The summary_candidate method now selects routes that are candidate for
Fix typo in comment.
Stubs for accepting summary information into an area.
Remove the template file for the old OSPF.
Store the summary route information and only forward to the areas if
Propagate route information to the area if the router is an area
An area can now request all routes that are candidates for
If an area is removed then all it routes need to be withdrawn and all
If the routing table is empty don't try and access its contents.
When an area is being shutdown it now notifies the routing table which
When withdrawing a summary don't bother to check if the router is
Add support for longest match lookup in the routing table required by
A method backbone() that returns true if this area is the backbone.
Build Summary-LSAs.
The routing table can handle receiving routes from multiple
Allow a route entry to be marked as a discard route.
Allow the configuring of area ranges and compute discard routes if appropriate.
Remove the function summary_address_range() which was a placeholder
Print a warning when an attempt is made to install a discard route.
Summary_announce now takes a push flag so that an ordinary announce
Look up area ranges via the peer manager.
Summary-LSAs for all path type can now be constructed. Use a common
Assert that the area field in the RouteEntry and the area that
Set the originating area in the route entry.
Announce and withdraw Summary-LSAs.
Minor refactoring to split Point2Multipoint from Virtual Link and
Support for printing LSAs.
Enable database command for OSPFv2.
Add the Makefile for the OSPF tools directory.
Add the Makefile for the OSPF tools directory.
Too high was being set incorrectly as a consquence only the first LSA
The routes are now stored in a pseudo routing table allowing the
Verify that the correct routes have been sent to the pseudo routing table.
All multiple neighbours to be configured on Point-to-MultiPoint
When a Point-to-MultiPoint interface comes up change the state to
On Point-to-MultiPoint interface send a hello packet to each
Build the links that go into a Router-LSA for Point-to-MultiPoint
Allow a interface to be set to Point-2-Multipoint.
Refactor the initialisation of links that are included in Router-LSAs.
When creating a p2p link pass in the value of the link data rather
The first update to the routing table was working subsequent updates
When adding an LSA to the database if the empty slot to be used was
Add a regression test for this bug.
When returning a LSA that has been requested via an XRL update the age
Only update the age of the LSA when if it isn't already set to MaxAge.
Every LSA now provides its own name.
Provide a brief view for LSAs.
Provide brief and detailed outputs.
Pass back a flag signifying if an LSA is self originated.
Dereference self.
When requested to update the age and sequence number fields nothing
The code to delete a peer has never been fully implemented. Deleting a
Accept policy XRLs.
Move the defines MAX_AGE_IN_DATABASE and PARANOIA into ospf.hh from
No longer define MAX_AGE_IN_DATABASE.
Support for AS-External-LSAs from other areas or as part of
Typo.
Don't accept AS-External-LSAs into stub and nssa areas.
Entry points for generating and propogating AS-External-LSAs.
On startup request that any AS-External-LSAs that have arrived from
Send all AS-External-LSAs that are received from the wire upto the
Class for handling AS-External-LSAs.
Class for handling AS-External-LSAs.
AS-External-LSAs are now stored in a separate database for
Include an instance of a policy filter.
Hook up the XRLs to the policy filters.
Redistributed routes will now make it all the way to the peer manager.
Pass the policy tags all the way through to the external class that
Generate AS-External-LSAs for redistributing.
Previously the router could never be an AS boundary router as it could
Only set a LSA to MaxAge if its not already at MaxAge.
When removing a summary LSA the LSA that was constructed for the
The debugging message no longer prints unset (output) parameters.
Policy variable manipulation.
A method to access the policy filter.
Read some of the variables from an AS-External-LSA.
A method to filter AS-External-LSAs inserted into the outbound path.
Add a comment about the memory management of an
Add debugging for redistributed routes.
Hooks for import and exporting policy, only exporting is currently
Don't consider it to be a fatal error for a send to fail.
When flooding LSAs if the LSA originally came from the DR or BDR on
If a potential route has the nexthop falling inside the network being
The name returned by an AS-External-LSA has been changed from
Send the OSPFv2 targetname "ospfv2" to the policy manager not the
Second attempt.
The area router class should not attempt to age AS-External-LSAs they will
The method "refresh_router_lsa" is now externally visable allowing
A new method "refresh_router_lsas" that causes a new Router-LSA to be
1) When the first route is redistributed cause the generation of a new
When an LSA arrives on an interface and it matches an older LSA in the
When the router becomes or stops being an area border router force the
Initialise all the member variables of ASExternalLSA.
Previously the policy variable took a LSA it now takes component
Support for writing policy variables.
Add a filtered flag to the routing table entry.
Entry point for import filters.
Tell the policy manager about all the policy variables.
Set the external routing tag and bit E so any modification made by
Put in the hooks to get the list of configured areas.
Allow the retrieval of the list of areas by XRL.
1) If an area is not supplied then fetch the list of areas and print
Add more database commands specifically support for filtering on LSA
Return the name of an LSA given a type ID.
Move the XRL target name into the header file so it can be shared by
Support for printing a summary and OSPFv3 support.
Summary commands for LSA databases.
Add allow-range statement for priority, hello-interval,
The SPT library was unconditionally printing out warning messages if a
If a notify is received in response to an open then it highly likely
Allow the BGP ID or the routers AS number to be changed.
The XRL hooks for changing peer variables.
The XRL hooks for changing peer variables.
Allow peer variables to be set/changed.
Comment out setting of MD5 variables as the backing code doesn't
Removing a setting that makes no sense.
Refactor to make it simpler to add printers.
Delete all the dead code.
Helper class to read and write TLV records.
Update the documentation strings.
Add tlv.hh.
TLV defines to use to save LSAs to a file.
Initial support for saving the LSA database to a file.
A Router-LSA for the router itself always exists unconditionally in
Put the operating system name in the database file.
fclose() returns 0 on success, the code was expecting anything but 0
LSAs can now be saved in a file.
Put the version of OSPF into the saved database file.
Read a saved LSA database and feed it into the routing computation.
Add a method all() that allows all the trace variables to set to the
New method to verify that the Router-LSA that is referenced in the
When the router was the designated router and a neighbouring router on
An InternalRouteEntry can store a route for each area typically it
An InternalRouteEntry can store a route for each area typically it
Add the mapping to the policy manager of the OSPFv2 name "ospf4" to
Add the XRLs to toggle all the trace variables. Allow the trace
Comment out the installing of the ospf protocol to targetname
Pass policy tags all the way through the systems for an
Pass the policy tags into the do_filtering() method.
Add a method to detach a peer that doesn't free the memory for the
Move the initialising of all the stats counters from the constructor
When a request is made to delete a peer it cannot be deleted
With this compiler:
If a notify message is received during session setup previously the
If an open message is received with bad parameters such as an
The recommended default value for the holdtime is 90 not 120 seconds.
Don't allow the local port or peer port to be changed the protocol
Allow the peer specific data in a peering to be changed with new
Add some extra debugging to print out the peers BGP ID.
Allow peer specific state to be modified.
test12 was incorrectly waiting for both peerings to be established at
Each BGP peer now has a unique internal ID that can be used for sorting by
Enable test10, test11 and test12.
A regression test, test12 that demonstrates the bug #296
Comment out DEBUG_LOGGING and DEBUG_PRINT_FUNCTION_NAME to allow;
Add trace points for input and export policies.
The list of neighbours and individual neighbour info is now available
Put guards around the defines DEBUG_LOGGING and
Move the routine that returns the XRL target name into the common
Slight refactoring of the method that returns the neighbour
Operational command to print OSPF neighbour information.
Catch any exceptions thrown by malformed address strings.
Add the neighbour command.
Slight formatting nit.
Propogate back any errors returned from the peer when extracting the
Store the creation time as well as full adjacency time for the
When replacing a route pass in the area that the original route came
Initialise the variables that the optimiser is complaining about.
Remove an unused variable.
Make the sending to router alerts in packets conditional and change
No longer save the router alert state in the main class, store it in
Allow the setting of the router alert option via
Set the default for the router alert option to false both in the
Replace route is current implemented by calling delete then add
When in state ExStart, the slave was ignoring LSA headers in Data
Set the n-bit in the options field of packets in NSSA areas.
Verify that the N-bit recieved from neighbours matches the peers own
Defines for the P-bit which is the same option bit as the N-bit but is
Add the NSSA translation bit to the Router-LSA.
Type-7 LSA inherit from an AS-External-LSA.
Allow the area types to be set.
The incorrect value was being set for the Nt bit.
Track how many of each type of area exists. Required for deciding if
Translator role type for NSSAs, defaults to candidate.
Fix typo in comment.
Slight refactoring an AS-External-LSA in no longer created before the
Add a virtual method donew() to the ASExternalLSA class that the
Reordering to reduce the chance of leaking memory in the future.
Support the generation of Type-7-LSAs are required for NSSAs. Use the
In the base Lsa class external() is no longer pure virtual, it returns
If a Type-7-LSA has the propogate bit set and the router is a border
When refreshing a Type-7-LSA update the sequence number and age
Only accept:
Simple test to verify that the internal routing table entry when faced
Add test_routing_table.cc.
The internal routing table entry was not correctly handing the same
In order to support NSSAs the original LSA that contributed to a route
Consider Type-7-LSAs when updating the routing table.
Deal with summaries from other areas into a nssa area the same way
Reconfiguring areas.
Store the raw data associated with packet for possible later use for
Start of authentication routines.
Add a new method to ASExternalLsa that allows the forwarding address
Don't translate Type-7-LSAs to AS-External-LSAs if the forwarding
The MD5 authentication method adds a 16 byte trailer to the
If when redistributing from another protocol into a NSSA the
Add constants in the Packet class that provide the offsets and sizes
Fix to allow this file to compile with the optimiser.
The type OspfTypes::RouterID was originally IPv4 it was later changed
Don't allow authentication to be set in OSPFv3.
Allow authentication to be configured via XRLs.
Save the authentication method and password. When a new neighbour is
Simple password authentication.
Allow authentication to be configured.
Add consts for the various kinds of authentication.
Add consts for the checksum offset.
If cryptographic authentication is being used then the checksum is not
Add MD5 support.
If there is simple password mismatch print the passwords.
When a hello packet arrived from a new neighbour new authentication
Documentation update for authentication.
If the state transition to ExStart is normal then send a data
1) When adding the LSA headers to a data description packet there is
Slight refactoring of the database exchange. The packet holding all
Initial virtual link support.
Store the virtual link endpoint information in the area structure for
Allow a virtual link to be configured.
Allow a peer to be created of type virtual link.
Create a peering if the routing computation finds the virtual link
Make the policy tags a reference so that changes to the policy tags
Temporarily back out last change.
The SPT calculation returns the nexthop to each node that can be
Helper method to form an IPNet<IPv4> from the components in an LSA.
Search for virtual link endpoints during the routing computation make
A modified policy tag in the import code should now be propagated
If a packet arrives on an interface and its area for area 0.0.0.0 but
A route is a candidate for summarisation into other areas if it is of
A route is a candidate for summarisation into other areas if it is of
Some debugging statements and a correction to the return value from
Define the interface name of a virtual link.
When an interface is a virtual link return fake prefix length and mtu.
Provide the mapping from virtual links to physical interfaces. Also
Virtual link support.
Packets transmitted by the peers are now re-directed through here so
Add a trace variable for virtual links.
When a peer is deleted notify the peer first then the area
When deleting an interface the template variables were being sent. Adding
Methods the return the stored PeerIDs.
When the configuration for a virtual link is removed notify the area
If a virtual link is added or removed force a routing recomputation.
Invalidate the PeerID even though we are about to delete it. It is
On a virtual link the hello packet is supposed to have its mask field
A virtual link is configured in area 0.0.0.0 but refers to a transit
Use the peer's router ID for the vif name. Should make it easier to
Accept packets on peers that have been configured as virtual links.
Feed packets that are virtual link candidates into the virtual links.
Missing newline in a debug_msg.
Add route_table_aggregation.cc may have been causing compilation
When sending a data description packet on a virtual link set the MTU
Stop the sending of AS-External-LSAs on virtual links.
Remove the unconditional enabling of debugging.
Add some additional debugging.
NOOP.
If a virtual link endpoint goes away record this fact so the peer
Move the code around so that all the configuration methods are
Move the code around so that all the configuration methods are
Backout accidental commit.
When putting a Router-LSA into the routing table extract its interface
OSFP requires host routes in its internal routing table but it should
Given a destination Router-LSA and a source Router-LSA or Network-LSA
When deleting a route that was previously filtered don't return an error.
Correction when printing a type 2 router link the link ID field is
Add a new trace variable _find_interface_address.
When looking for the interface address consider two Router-LSAs that
The list of neighbours carried in a Network-LSA is a list of Router
The bidirectional test for router link to Network-LSA was
Additional debugging.
OSPF no longer sends host routes through to the RIB, therefore host
Remove extra newlines from debugging messages.
The OSPF routing table contains routers, routes to these routers
Enable test r2 (routing2) also correct the contents of the Network-LSA
When storing a routing table entry store it indexed by advertising
printf -> debug_msg.
When storing the routes indexed by advertising router only consider
Store the LSA along with the route.
No longer consider multiple Router-LSAs originated by the same router
New trace point for routes being sent to the RIB.
When generating a Network-LSA introduce the routers own router ID, not
Add comment to routes trace variable.
When exporting routes from other protocols make the metric in the
The show commands now support type-7-LSAs (NSSA).
Test function submitted by Hasso Tepper to demonstrate that routes
Don't print a warning message if the XRL subsystem doesn't accept an
Add a copy constructor and an assignment operator to the internal
When a new route becomes the winning route but it has the same cost
Tests added while looking for the missing copy constructor in the
Minor refactoring.
Method to set the source/interface address of the peer, required for
Method to get the source and destination addresses back.
The peer structure for virtual links always exists now making it
Allow hello-interval, router-dead-interval, transit-delay (renamed
Have input error tracing enabled by default.
Allow route reflectors and confederations to be configured. It was
Correct a typo in a comment.
Add methods to extract the originator ID and the cluster ID.
Store the route reflection status and the CLUSTER_ID.
For a peer to be considered a route reflector client the router must
Add a contains() method to the CLUSTER_LIST attribute.
An input and output filter for route reflection processing.
Plumb in the route reflection filters if route reflection is enabled.
Set the CLUSTER_ID and route reflection status.
Allow the setting of the CLUSTER_ID and route reflection status.
Add newlines to the debugging messages.
Comment out teh assert the checks for update packets going from IBGP
Don't pass the bool argument as a reference as the caller is negating
Store the ORIGINATOR_ID and CLUSTER_LIST attributes as IPv4 not
Add the ORIGINATOR_ID and CLUSTER_LIST attributes to the update packet
Store the CLUSTER_LIST in the order that it arrived on the wire, not
The path attributes ORIGINATOR_ID and CLUSTER_LIST can now be set in
Testing route reflection.
Add route reflection test.
Route reflector commands.
In route reflection and confederations make the disable variable false
Implement Optional Session Attributes: AllowAutomaticStart,
Add a delay to allow the IDLE holdtime transition.
When transitioning to the idle state the default is now automatic
Allow the delay open time to be configured.
Support for delayed open. Rename hook_idle_hold_timer ->
Allow the delay open time to be configured.
Set the holdtime to zero to suppress the sending of keepalives.
Add a delay between making a connection attempt and testing the state
Route Flap Damping.
Route Flap Damping.
Route Flap Damping.
Add a way to send corrupt packets for the regression tests.
Cast for the second argument to pow() to satisfy gcc33.
When the length field of a keepalive message is incorrect the subcode
Check that the 16 byte authentication marker at the beginning of every
Tests with keepalive messages to force the generation of message
Send a message with a zero message type (test37) and verify that a
Adding test37 "Illicit a Message Header Error Bad Message Type." to
When decoding an aspath don't call assert if there is an inconsistent
Add casts to print the length fields.
Comment out the asserts in add route and delete route that check that
When sending a notification message log an info message.
When printing a notification packet print the numeric value of the
It is no longer a fatal error to receive a notification message when
If a TCP connection comes on while the FSM is in state connect then
If the length field of a message has an illegal value then as well as
Apply jitter to the connect retry and keepalive timers. Can be enabled
In the second state machine return the bad meesage length if it is
Typo in format string update -> open.
If an open packet is too short return the bad length data in the
Provide a default argument for the error subcode of a notification
Clarify the jitter comment.
If check_open_packet found an error that required sending data back in
If check_open_packet() is presented with an unsupported version number
Check that the BGP identifier field is a valid unicast IP host
If in an update message the total attribute length is to large the the
If the origin path attribute has the wrong flags send the TLV back in
A keepalive message should not be sent more frequently than once a
If the length of an update packet is less than its minimum packet
Slightly change the error message when an update message has a short
Previously BGP never returned a notification message in response to
An receipt of a message with a bad type as well as returning bad
Modify test10, this test was introduced because a peering from a router
Cast a size_t to an unsigned int for printing.
Move of the notification message error codes and subcodes into a
Remove all the local definitions of the notification error codes and
Second attempt to fix test10.
Fix a typo in a comment.
When catching an exception pass a reference.
Add all the subcodes for update message errors.
The harness records all update messages that it sends in an outgoing
If there is any data associated with a notification packet print it.
New method in the base class that returns the total length of the path
Add brackets so the computation of the total length of the path
All previous tests by chance had path attributes of length four,
Check the path attribute flags for path attributes of type code 1-7
If the length field of a path attribute is incorrect set the error
If the length field of a path attribute is incorrect set the error
When a message parsing routine discovers an error it throws an
If the length of a path attribute is incorrect return the bad data in
If the origin type in a path attribute is illegal as well as returning
If the nexthop is not a valid unicast address return the bad data.
If a NLRI is syntactically incorrect set the error code to update
Tidy up the printing of an Unrecognized Well-known Attribute.
If an unknown path attribute is marked at well known set the error
Add a trace point for the introduction of new policies.
Update the list of RFCs for BGP-4 and OSPFv2.
At the point that a policy filter is reset add a trace point.
Trace messages being sent by BGP.
Add a peerdata() method in the second FSM so the config data can be
Add the ability to trace FSM changes.
Add a trace point for FSM changes.
If BGP isn't configured to accept a connection attempt from a peer
Set the verbose level of info and warning messages to low but allow
Allow the configuration of traceoptions.
If a connection attempt is rejected because the IDLE holdtimer is
The peer variable local-ip which is a mandatory variable of type txt
If the TCP connection fails restart the connect retry timer don't make
Print community path attributes in hex not decimal.
Initialize member variables to keep gcc 4.0.2 with optimiser happy.
Previously BGP would never advertise the capability AFI/SAFI
Remove AS_CONFED_SEQUENCE and AS_CONFED_SET from AS_PATH when sending
When acting as a route reflector if there is no ORIGINATOR_ID use the
Return an Update error, Malformed AS_PATH if an AS_PATH with
Reject MP_REACH_NLRI and MP_UNREACH_NLRI with AFI IPv4 and SAFI
Take a copy of the variable arguments so they can be used multiple
Backout the previous change as va_copy is not available in gcc 2.95.
Use va_copy conditionally.
An AS_PATH is made up of segments either AS_SEQUENCE or AS_SET.
Don't allow a holdtime of 1 or 2 second to be set.
Fix a typo in a comment.
Remove the reference to test_buffered_asyncio.
The router manager after starting a process will send it configuration
Replace the class Subsystem with ServiceBase.
If DEBUG_LOGGING is defined decode the packet that is about to be
The master in the database exchange no longer transmits a Database
No functional change, the order of declaration of the timers matches
setting RxmtInterval.
The retransmit-interval (RxmtInterval) can now be configured.
When a route is added to the internal routing table it becomes a
Directly connected routing table entries are now explicitly marked as
Send directly connected routes and routes where the nexthop is in the
If the forwarding address of an AS-External-LSA is non zero search the
Test code to demonstrate problem with non zero forwarding addresses in
When processing AS-External-LSAs one forwarding address has been
When searching for the common interface when comparing two Router-LSAs
Don't accept directly connected routes as candidates for
Test routing7 that demonstrates a problem with non-locally generated
If the neighbour state machine transitions to Down typically due to an
The default RxmtInterval was accidentally set to 1 not 5 seconds.
If the Router ID is changed flush out all Network-LSAs.
The retransmit function can deschedule itself by returning false, when
When the router ID is being changed and an interface is the DR
If a NeighborChange event is received when the interface is not
If the Network-LSA is not found in the database only print a warning.
It might be appropriate to leave MaxAge LSAs on the retransmission
If the router receives a self-originated LSA that is newer than its
Place the disable toggle last so all the interface/vif/address state will be
When building the list of router links if in state Backup or DR_other
Make the argument to print bool a const.
Add a debug_msg that prints all the variables that are used to
On receipt of an LSA it is necessary to know if the LSA came from the
The method premature_aging now sets the LSA to MaxAge previously the
All the machinery to handle the sequence number in a self-originated
When flooding a self-originated LSA that has reached MaxSequenceNumber
When flooding a self-originated LSA that has reached MaxSequenceNumber
When flooding a self-originated LSA that has reached MaxSequenceNumber
The methods that are handling MaxSequenceNumber processing don't need
All incrementing of sequence numbers is managed by routines that take
Allow an interface to be configured as loopback with the passive keyword.
Don't summarize AS-External-LSAs over virtual adjacencies.
A data description packet sent on a virtual link is supposed to have
Allow the retransmit-interval to be configured on a virtual link.
Remove spurious ';'.
The string "vlink" is used internally as an interface name for virtual
Set the V bit in the Router-LSA if Virtual link (type 4) router links
Backout previous bogus change.
The V bit in a Router-LSA should only be set if a virtual link in the
The V bit in a Router-LSA should be set if any virtual link in the
A much more stringent test for identifying a neighbour as a virtual
There was an assumption that Peer<A>::virtual_link_endpoint() would
When selecting candidates for summarisation don't reject directly
When considering Summary-LSAs as candidates for introduction into
When printing the metric field of an AS-External-LSA print the value
Set the metric in the AS-External-LSA test packet to LSInfinity.
The routines to manipulate 24 bit quantities in packets were
Fix a typo in a comment.
The str() method for a routing entry now prints all the fields.
When computing inter area routes add the contributing LSA to the
When computing inter-area routers mark Type 4 Summary LSAs as AS
When computing inter-area routers for Type 4 Summary LSAs store the
Fix typo in comment.
Allow a Type 4 LSA to be indexed by advertising router.
Clarify the comments for components of a routing table entry.
Clarify the comments for components of a routing table entry.
Routing table entries to routers are stored indexed by the router ID of
Transit areas must not have summaries from the backbone area.
Get the correct area ID for the backbone.
When sending out a new Router-LSA due to a router link or a
When a route is deleted the associated Summary-LSAs that are sent to
If a route is a discard route print this information.
When making a summarisation routing entry add the area and originating
When making a summarisation routing entry if the route is directly
When a route falls within an area range advertise the summary not the
The warning message was printing the wrong value.
Add some debugging and put in an assert to detect a nexthop of zero.
A directly connected route is a candidate for summarisation.
Comment out warning when searching for virtual link endpoints, all
Incomplete test when testing for a Type 4 Summary-LSA.
When responding to a self originated LSA if the LSA is in the database
Route entries with a nexthop of zero are only accepted if the
Backout previous change send data description packets immediately on
Add tracing when retransmitting.
MaxAge LSAs are not stored in the database they are only stored on the
When adding an LSA to the retranmission queue a check is made to see
In the trace message that is printed when retransmitting an LSA, print
MaxAge LSAs are not stored in the database, when a newer version of a
If when generating summaries, the summary is already in the database
show ospf4 is now equivalent to show ospf4 neighbour.
Revert the last bogus change.
If the router generates a new Router-LSA or Network-LSA then the
Replace printf's with fprintf(stderr to get get around the buffered
Add a hook to track interface/vif/address changes.
Don't consider it a fatal error if leaving a multicast group fails,
In order for an OSPF interface to be brought up the
Do not attempt to leave a multicast group if the address that is being
Routes provided by the policy framework (typically redistribution) or
When a process starts up it can signal to the router manager that it
When originating a route the nexthop that accompanies the route is no
Fix a typo in a comment.
AS-External-LSAs with the same base network now use the RFC2328
Remove appendixe() which was a placeholder for setting the host bits
Clarify a comment.
Clarify the documentation string for unique_find_lsa and make it clear
Summary-LSAs with the same base network now have the host bits of
When searching for Summary-LSAs with the same base networks the wrong
When creating a vertex from a stub router link set the host bits in
When an area is removed invalidate all the LSAs that belong to the
A summary-LSA with a default route was not making it to the routing
When processing Router-LSAs and Network-LSAs check that a route is not
If when creating a peer the interface can't be found destroy the peer
If a command of the form:
When generating the string that describes an LSA if it is not valid add
The AS-External-LSAs are stored in set with a specialised comparator
Enable the interface manager, allows BGP to get interface information.
Argument to set_hello_interval larger than 2^16.
Reset a string with foo = "" instead of foo.clear(), because gcc-2.9x
Mark the completed entries as done.
BGP requires that update messages sent to I-BGP peers should have the
When sending an update message to a confederation peer remove the
The ability to modify the next-hop value through policy had been
Track the state of the interface addresses in BGP if the state of an
Backout the previous change, it is legal to send a local pref to a
If an update message contains a NEXT_HOP that belongs to this router
Replace class Subsystem with class ServiceBase.
When the link state database changes schedule a computation in 1
Allow the type of an area to be changed.
The previous change although correct was committed by accident so
If a delete arrives at the nexthop lookup table and an add or replace
The very first time that entries are added to the routing table if an
bms (135):
Add additional checks for the ac*.m4 files in the config sub-
Fix a really, really lame bug whereby the return value of strcmp()
Bring in the new configure.in from the Windows branch.
Regen
Bring in the libcomm updates from the windows branch.
Regen.
Style (comments)
Introduce a new libcomm API function, comm_sock_is_connected(),
Add explicit include file sentinel for <sys/cdefs.h> to
Diff minimization with XORP/Win32.
Diff reduction with Windows branch:
Eliminate dependency on strsep(), which does not exist in the Microsoft
Use include guards. Put config.h at top.
Diff reduction: Bring in the fixes for the Auto-makefiles which allow
Regen.
Diff reduction: Use kill -0 in lieu of ps -p as it's a more portable idiom,
Diff reduction with XORP/Win32: bring in include file guards.
Diff reduction:
Diff reduction: Add include file guards.
Include <sys/time.h> where needed to fix build.
Remove a reference to <libxorp/xorpfd.hh> which crept in during the merge.
Remove references to xorpfd.hh which crept in during the merge.
Hack the meaning of HAVE_GETOPT_H to mean 'need getopt.h', and add
Add the missing test_run_command.sh wrapper.
Diff reduction: Add new files to libxorp from XORP/Win32, but do not connect
Fix a typo in the include file sentinel name.
Diff reduction: Add header file guards.
Diff reduction: Merge more header file guards from XORP/Win32.
Windows doesn't have alarm(), so don't use it there.
LIBXIPC: Diff reduction with XORP/Win32; header file guards.
LIBXIPC: Diff reduction with XORP/Win32.
LIBXIPC: Diff reduction with XORP/Win32.
LIBXIPC: Diff reduction with XORP/Win32.
Diff reduction: source was exported from earlier perforce
LIBFEACLIENT: Diff reduction with XORP/Win32.
RIP: Diff reduction with XORP/Win32.
STATIC_ROUTES: Diff reduction with XORP/Win32.
Import runit from XORP/Win32.
LIBXORP: Diff reduction with XORP/Win32.
Only test_xrl_sockets4_udp.sh should actually be invoked
Limited regen.
Resolve runit sleep(1) path issue.
Diff reduction with XORP/Win32.
Diff reduction with XORP/Win32.
Diff reduction with XORP/Win32.
Diff reduction with XORP/Win32.
Diff reduction with XORP/Win32.
Diff reduction with XORP/Win32. Windows specific changes only.
Diff reduction with XORP/Win32.
Diff reduction with XORP/Win32.
Diff reduction with XORP/Win32.
Diff reduction with XORP/Win32.
Diff reduction with XORP/Win32.
Diff reduction with XORP/Win32.
Diff reduction with XORP/Win32.
Diff reduction with XORP/Win32.
Diff reduction with XORP/Win32.
Diff reduction with XORP/Win32.
Diff reduction with XORP/Win32.
Diff reduction with XORP/Win32:
Diff reduction with XORP/Win32:
Diff reduction with XORP/Win32:
Diff reduction with XORP/Win32:
Diff reduction with XORP/Win32:
Diff reduction with XORP/Win32:
Diff reduction with XORP/Win32:
Diff reduction with XORP/Win32:
Diff reduction with XORP/Win32:
Diff reduction with XORP/Win32:
Diff reduction with XORP/Win32:
Diff reduction with XORP/Win32:
Diff reduction with XORP/Win32:
Resolve policy regression test coredump; explicitly
Workaround the unused variable warning for interval with a void cast
On Linux, hardcode the HAVE_IPV4_MULTICAST_ROUTING define to 1, as
Regen the configure script after the acipv4.m4 update.
XORP/Win32 merge back to mainline.
XORP/Win32 merge back to mainline.
XORP/Win32 merge back to mainline.
XORP/Win32 merge back to mainline.
XORP/Win32 merge back to mainline.
XORP/Win32 merge back to mainline.
XORP/Win32 merge back to mainline.
XORP/Win32 merge back to mainline.
XORP/Win32 merge back to mainline.
XORP/Win32 merge to mainline.
XORP/Win32 merge to mainline.
XORP/Win32 merge to mainline.
XORP/Win32 merge to mainline.
XORP/Win32 merge to mainline.
XORP/Win32 merge to mainline.
Resolve issue where IP-based XRL client transports would bind to
Only disable xorpsh authentication if NO_XORPSH_AUTHENTICATION
In comm_sock_is_connected(), use read(s,0,0) to check if a socket is
In SocketClient::connect(), use comm_sock_is_connected() immediately
On FreeBSD 4.x, we can't check for immediate loopback connection, as
bgp/socket.cc:
Put back a const_cast to fix compilation under Win32
Fix compilation under Windows.
Use memset() instead of importable bzero()
Fix compilation on Win32; use definition of struct ip shipped
Guerrilla fixes for Win32 compilation.
Set default behaviour under Win32 to use the 'known good', but
Fix botched merge from patch(1)
Explicitly handle IOT_DISCONNECT events on Win32; required for
Use a native Win32 path to MSYS /bin/sh.
Add information to BUILD_NOTES about building and using
TimerList::system_sleep() accepts a TimeVal containing the
This is the third rewrite of the Win32 native I/O dispatcher.
Fix compilation under Win32: conditional #include <getopt.h>
Remove -lpdcurses -ltermcap from the Win32 link line as they
Allow the base directory for the MinGW/MSYS installation to be set
Header file fixes for new Win32 toolchain.
Fix a grievous bug whereby we would potentially block forever in
Pass correct arguments to GetComputerNameExA().
Since we stopped using 'sh -c' to execute all external commands,
Teach comm_sock_pair() to support AF_INET6 on Windows systems.
Add a regression test for non-blocking connect(), but do not
Add missing #include <map>.
Windows support mega-patch.
Windows path needs to see win_strerror() definition from
Windows path does not currently use restart_module().
Add detailed instructions for individuals wishing to build
Add the toolchain patches required for building XORP
Fix a typo. Verified with 'gmake check'.
Fix a typo in the interface code which is used for retrieving routes
Impose an XRL input buffer size limit of 64KiB on what is
Deprecate the network4/network6 {} directive for
Force routes redistributed into BGP via the XRL
Update the IPv6 version of test28 to expect IGP in ORIGIN
Check in the XORP Installer for Windows.
Fix a typo in the code which exports BGP internal routing
Delete the documentation sections regarding the
Remove reference to network4{}/network6{}
Reject non-hex characters in ether_ntoa() (apart from the ':'
jcardona (3):
Bugzilla URL: 135
libstc++ no longer needs to be explicitely linked.
Modified test script to find libraries under libtool .libs directory.
kohler (1):
cleaning up my directories, i found this
mjh (47):
Fix bad link to CSS stylesheet
As discussed in the meeting on Monday, add XORP_FINDER_CLIENT_PORT
Add template file command to support ordering of config nodes of the
Fix bad idraw postscript (was crashing ghostscript 7)
Fix broken postscript
Update rtrmgr documentation to include %order command.
Fix bug number 136, and add improved error reporting when the user
Improve error checking in initialization of IPNet. Previously
Fix bug in RibOut/PeerHandler code, where we assumed all routes being
First stage of support for operators other than ":" in config files.
remove debugging
Add support for retrieving the config operator from a node via a
Change to parser to allow node numbers to be expressed. Node numbers
Add most of the framework for node numbering. Rtrmgr and xorpsh can
replace atoll with strtoll
Fix longstanding bug in parser that freed memory twice.
Better solution: don't use C strings.
Partially revert previous changes, and fix the real problem. Also fix
Add template file support for extracting the node number of a
g++ 3.3 doesn't like "static inline"
Change rtrmgr<->xorpsh interface to support rtrmgr allocating a client ID.
Properly allocate node IDs. Communicate clientid from rtrmgr to
Add files to hold functions for converting from and to config operators.
Regenerate
Add config_operators to test targets.
Fix buggy template xrl cleaning code. As far as I can tell, the
Connect up the %allow-operator command. If the allow operator command
Regenerate yacc output on a FreeBSD 4.x system.
Transplant much better string scanner from boot.ll to template.ll
Regenerate
Don't ask for operators on tags when comparing nodes. This fixes the
Allow all config operators on all types of terminal node. The choice
Complete re-write of the code to expand variables in Xrls. Previously
Explicitly xrl encode the xrl args before creating an XrlAtom. For
Possible fix to bgp crash23.
Tighten up the checks on BGP open messages.
Add the capability to the static filter to maintain old versions of
Reload the static filter banks every time a peering comes up. This will allow us to change settings on a peering.
A start at the code needed to support 4-byte AS numbers. Not tested
Remove support for the BGP Authentication Information parameter. We never really supported it (just aborted if we received it), and it's deprecated in the latest spec. We couldn't support it if we wanted to, as it's not properly specified in the original RFC.
Add static filters for well known communities: NO_EXPORT, NO_ADVERTISE.
Jumbo commit to integrate Tim Griffin's changes for BGP Confederations
Add test for NO_EXPORT community
Add test of static filter versioning. This revealed that the previous
Remove versioning in outgoing static filter table - this isn't needed
Test to illustrate critical BGP bug. Will cause tinderbox failure with a Seg fault in bgp/isolation_tests.
correct reference output
pavlin (901):
Regenerate.
Redefine the bin installation directory.
Fix the handling of the --with-snmp configure flag.
Append "mibs" to the installation prefix, because we are using
Reverse-back the previous commit that changes the pathname
Redefine the lib and pkglib installation directories
Add a note that OpenBSD-3.6 and earlier don't have PIM kernel support
* Add a new task 0350 to send email to xorp-mirrors to tell all mirror
* Add task 2725 to verify all the links on the XORP web site by
* Add an URL to the NetBSD's URL for requesting changes to the net/xorp
Use file "libxorp/callback_nodebug.hh" instead of "libxorp/callback.hh"
KeepAliveTimer(S,G) -> KeepaliveTimer(S,G)
* Add PIM spec related TODO items.
Gen ID -> GenID
SPT bit -> SPTbit
JoinPending -> Join-Pending
Remove an explicit referencing to a section number in the PIM-SM I-D,
* Fix the return type of PimMre::rp_addr_string()
Bug fixes:
Bug fix: if there is an XRL error, don't attempt to access
Add a placeholder for the release notes for the next 1.2 release.
Update the inherited_olist(S,G) implementation according to the
Update the pim_exclude(S,G) implementation according to the
Add a TODO entry.
Fix some of the comments when it comes to calculating
Add a TODO entry.
"Keepalive timer" -> "Keepalive Timer" to reflect the terminology
"keepalive timer" -> "Keepalive Timer" to reflect the terminology
* Add a spec-related TODO entry
Update the implementation of the following procedure
Update the implementation for Update_SPTbit(S,G,iif) according to
Remove a TODO entry that has been completed in the past.
* Add a spec-related TODO entry
"state-machine" -> "state machine" (for consistency with the language
* Add a mechanism to conditionally place all removed Mrib entries
Bug fix:
Update the state dependency graph to include the new
Add a note about the new PimMrt::add_task_delete_mrib_entries()
* Rename methods, variables and corresponding XRLs
"DR priority option" -> "DR_Priority option" to reflect the
Reverse the previous commit, because it was done by accident.
Add a release note for PIM-SM
* Rename PimVif::vif_propagation_delay() and vif_override_interval()
"Register-Stop timer" -> "Register-Stop Timer" to reflect the
Add few notes.
* Add a TODO entry
* Update the comments with the sample pseudo code taken from the PIM
Update the handling of PIM Register packets according to the
Add a TODO entry.
Add a note about suppression of PruneEcho messages.
Add a TODO entry.
"Expiry timer" -> "Expiry Timer"
Add two new TODO items.
Minor grammatical nits in comments.
Rename (for consistency with the newest -11 I-D terminology):
Fix the implementation of
Rename (for consistency with the newest -11 I-D terminology):
Modify the "-N" help string: add a note that -N doesn't start the
Remove the following TODO entry, because it should be a guideline
Rename (for consistency with the newest -11 I-D terminology):
Update the implementation of the (S,G) Assert state machine
Update the implementation of the (*,G) Assert state machine
* Simplify some of the comments that describe when the (*,G) assert
Update the implementation according to the lastest -11 I-D spec:
Add several TODO entries.
Update the PMBR spec sections references to point to
* Update the sanity check for conflicting Join/Prune entries to match
Cleanup some of the error messages.
Rename (for consistency with the newest -11 I-D terminology):
Cleanup one of the XRL error messages.
Rename (for consistency with the newest -11 I-D terminology):
Fix the comment with the t_override specification according to
Update the mechanism for setting the KAT(S,G) according to the
Add TODO entries.
Add the lastest PIM-SM spec: version -11 of the Internet Draft.
Remove old copies of the PIM-SM Bidir spec, because currently we
Remove an old copy of the PIM-DM spec, because currently we
Remove the old "State Refresh in PIM-DM" I-D, because
The PIM-SM spec entry updated to the lastest -11 I-D document.
* Updated the reference to the PIM-SM core spec to the -11 I-D
Updated the reference to the PIM-SM core spec to the -11 I-D
Add a TODO entry.
Add a release note for PIM-SM: the implementation is updated
Nits: "sizeof(IPvX)" -> "sizeof(my_addr)"
Get rid of a gcc-ism for declaring arrays using a variable for the size.
* Remove a duplicated TODO entry re. the processing of J/P messages
Remove TODO entries that are already done.
Add the vif name as an argument to the send_test_jp_entry XRL
Rename PimNode::pim_nbr_find(const IPvX& nbr_addr) to
* Remove TODO entries that are already done
Fix the constructor definition as a template:
Add virtual destrictors for the following abstract base classes:
Explicitly cast NULL to "const char *" as the last argument
Add missing "template <>" in front of template methods
Fix the constructor definition of a template:
Move UNUSED(foo) statements before the last "return" statement
Modify a kdoc comment.
Add virtual destrictors for the following abstract base classes:
Fix compilation errors for gcc-4.1 on FreeBSD-4.10 :
Fix a comment to match the lastest -11 I-D spec.
Remove TODO entries that are either obsolete or duplicate.
Temporary comment-out the ~FinderMessengerManager() virtual destructor
Move "== 0" added by the previous commit to the right place.
Remove extra empty lines.
Add a new script.
Add several files/scripts to the EXTRA_DIST list.
Execute utils/rcsid2ident.sh for each auto-generated yacc file.
Re-generate the yacc autogenerated files. Now the new files
* Remove TODO entries that are already done:
Rename XRL argument in the add_test_jp_entry[4,6] XRLs:
Rename variables:
Rename:
Rename:
Rename:
* Remove a TODO entry that is done.
Add an errata entry for PIM-SM and point-to-point links.
Minor rewording in the PIM-SM p2p entry.
Reclasify two TODO entries that are already implemented and
Remove TODO entries that are already done.
Remove a TODO entry for optimizing the behavior when a large number
* Reword a spec-related TODO entry
Remove TODO entries that are already done.
* Add a new method PimMre::my_assert_metric_wc() to compute
Remove TODO entries that don't apply anymore.
Remove a TODO entry that is already done, and add a related new
Remove TODO entries that are already done.
Fix an AssertCancel-related issue that is in the PIM-SM spec:
Add comments about extra cleanup that is not in the spec.
Bug fix:
Add spec-related TODO entries.
Move all "_comm_set_serrno()" calls to the beginning of the code
Add-back the bug fix that was applied in rev. 1.12 but was lost later.
* Fix the return value of comm_sock_open from int to xsock_t
Add XLOG_TRACE() messages when we add/delete MFC or bandwidth
Add missing XORP_UINT_CAST() and XORP_INT_CAST().
Add missing XORP_UINT_CAST() and XORP_INT_CAST().
Add missing XORP_INT_CAST()
Remove a note that is not valid anymore.
* Add XLOG_TRACE() messages when we add or delete dataflow monitors
* Use the new PimMfc::update_mfc() method to update the PimMfc entry
* Modify PimMre::is_monitoring_switch_to_spt_desired_sg()
Update the PimMrt::receive_data() implementation:
* Add a new "int *in_progress" argument to the following "high-level"
Remove obsolete comments.
* Modify PimMfc::update_mfc() to calculate the set of outgoing
Add a "-P <name>" command line option to print debug state by name.
Bug fix:
Bug fix:
Remove experimental code that sets the Bootstrap Timer to a randomized
Add a TODO entry.
Bug fix: if we attempt to add the same RP to the RP-Set, but
Fix a bug when we check whether the socket is non-blocking
* Combine the following XRLs
* Add sample "cand-bsr-by-vif-addr" and "cand-rp-by-vif-addr"
* Add description for the new cand-bsr-by-vif-name and cand-rp-by-vif-name
Add a release note for the new "cand-bsr-by-vif-addr: <IPv4 | IPv6>"
Reorder the actions when the network interface status changes:
Reorder the actions when the network interface status changes:
If a vif is configured as a Cand-BSR or a Cand-RP (by only specifying
Add explicit check for PIM Register vif when we are sending or receiving
Add explicit check for PIM Register vif, and don't send any
Add new configuration statement hello-period that can be used to
Add the new "hello-period" statement to the sample config file.
Document the new "hello-period" statement in the PIM-SM configuration.
Add the new "hello-period" configuration statement to the release notes.
Add new "hello-triggered-delay" PIM configuration option and
Refactor the implementation of method PimNode::send_test_jp_entry()
Modify an OpenBSD-related note.
* Remove the mibs/libtool-c++-linker.patch because it patches the
Bug fix: don't update the PimMfc entry if the data packet
If a PIM configured interface is gracefully shutdown, then don't call
* When (re)computing the incoming interface and the outgoing interfaces
Replace the single _test_jp_header (that is used for sending Join/Prune
* Add a new input event state to the event tracking machinery:
Add few more release notes for PIM-SM
Remove "static TimerNode _dummy_timer_node", because it is not needed
Add "version" statement per vif that can be used to configure
Document the new "version" IGMP/MLD configuration statement.
* Add new XRLs to get/set/reset the "IP Router Alert option check" flag
* Add RFC2113 to the list of references.
Document the new "enable-ip-router-alert-option-check" configuration
Remove a TODO entry that is done.
Edit the text that describes the "enable-ip-router-alert-option-check"
* Add new XRLs to get/set/reset MLD/IGMP related parameters (per vif):
Document the following new MLD/IGMP configuration options:
Formatting nits.
* Update the local copy of the random(3) implementation by using the
Use the domain-wide address on an interface as the primary address
Add the following info to the configuration documentation:
Set the querier's address using the appropriate method instead
* Refactor the implementation of Mld6igmpVif::update_primary_address()
Update the mechanism for updating the interfaces info so now it
Refactor the implementation of PimVif::update_primary_and_domain_wide_address()
Update the mechanism for updating the interface addresses, so now
* Add support to set the finder server address from the
Conditionally add the user-specified flags that must be after
Regenerate.
Add a release note for the new "CFLAGS_END" and "CXXFLAGS_END"
Add compilation notes for the following environmental variables:
Consider the environmental variables XORP_FINDER_SERVER_ADDRESS and
* Don't "#include <sys/cdefs.h>", because it is not needed
Add extra brackets inside the body of macro LONG_ROUNDUP_SIZEOF()
Fix the implementation of SET_OFFSET() and RESET_OFFSET() macros
Fix the implementation of PORT_TIMER_GET_HANDLER() and
Fix the implementation of a number of ADD_FOO() macros by wrapping
Update config.guess and config.sub to the lastest versions from
Add MFEA-related TODO entry.
Add implementation-related TODO entry.
Add a new method strip_empty_spaces() that strips the heading
* Fix a bug in ConfigTreeNode::set_variable() so now it searches
Refactor the implementation of strip_quotes_and_empty_space()
* Modify the child_handler() SIGCHLD signal handler so it
Implement a second mechanism for running a command inside the
* Rename function find_exec_path_name() to
Remove the OpCommandList::find_executable_filename() method,
When executing a "program" command, expand the program name to
* Add new section 2.3 Template Tree Command Actions and describe inside
Add XLOG_UNREACHABLE() at the end of do_c_format() function to pacify
Compilation bug fix: the last argument to getpeername()
Replace:
Compilation fix: replace ~0 with ~0U when initializing uint32_t values.
Compilation fix: replace ~0 with ~0U when initializing uint32_t value.
Compilation fix: replace ~0 with ~0U when initializing uint32_t values.
Compilation fix: replace ~0 with ~0U when initializing uint32_t values.
Compilation fix: replace ~0 with ~0U when initializing uint32_t values.
Compilation fix. Replace:
Add XLOG_UNREACHABLE() at the end of a method that contains the following
Compilation fix: replace ~0 with ~0U when initializing values.
Compilation fix: cast the last NULL argument of execlp() to "char *".
Introduce a new constant RIP_MAX_COST (equal to 0xffff) and use it
Nit: replace multiple empty spaces with tabs.
Replace XLOG_INFO(string(foo).c_str()) with
Modify an XLOG_ERROR() message to print the size of the packet
Fix ConfigTreeNode::expand_expression() and
Increase the lock configuration period from 30 to 60 seconds,
Print the size of a WHOLEPKT upcall packet received from the kernel.
Fix the MfeaNode::add_pim_register_vif() implementation, so now all
Modify the RunCommand semantics so now if the executed command has
Add support to the boot and template parsers so now they can
Fix a bug that was introduced with the previous commit.
Apply fixes to ConfigTreeNode::find_varname_node()
Propagate the node type when parsing the configuration,
Modify TemplateTree::find_node_by_type() to relax a bit the
Move the "import" and "export" nodes out of the block with the
Select a better temporary file name by considering the TMPDIR
Regenerate the autogenerated files on FreeBSD-4.10, because the
Move the temporary definitions of xsock_t, XORP_BAD_SOCKET and
The maximum storage for a path name should be MAXPATHLEN instead of
* Add new utility function "xorp_make_temporary_file()" that can
Add test_utils to the list of files to ignore.
Use the xorp_make_temporary_file() function to create a
Add missing set_operator(OP_ASSIGN) for new leaf nodes that were
Editorial nits.
If XrlAction::check_xrl_is_valid() fails, then print the module
Fix TemplateTreeNode::find_parent_varname_node() so it searches
* Add new methods XrlAction::related_module() and
Bug fix when adding a segment to a configuration node whose
Temporary comment-out some of the XRLs (until the new policy.tp
* Add support to the rtrmgr to run external programs when loading or
Replace printf() with debug_msg()
* Change the return type for xorp_make_temporary_file() to return
Add PIM-SM spec related TODO entry.
Refactor the mechanism for removing the temporary configuration file
Set inside MasterConfigTree::delete_entire_config() the _commit_cb
Get rid of the _tmp_fp FILE* pointer inside ClickConfigGenerator,
Fix the alphabetical ordering of some of the *.hh and *.cc files.
Re-generate to remove a bogus TODO file
Remove old TODO leftover comment.
Replace C-style comment with C++ style comment.
* Cleanup: replace "if(" with "if (", etc.
Improve the declaration of "operator=" by returning "Foo&"
Add new class RunCommand::ExecId that can be used to set the
* Add support for setting the execution ID (user ID and group ID)
Comment-out the debug_msg() controls, because they shouldn't be
Improve the declaration of "operator=" by returning "Foo&"
Nits.
Fix the ~DummyFinder() destructor so now it deletes properly
Minor edits.
* Add support for post-processing the template tree after all
Update a parse error message inside AllowOperatorsCommand::add_action()
printf() -> debug_msg()
Update ProgramAction::check_program_is_valid() to use mode_stack
Add new method MasterTemplateTree::load_template_tree()
* Fix the lex rule for parsing C-style quoted newlines.
Include <typeinfo> header file to fix a compilation problem
Update the sample code from the "static_routes_module.h" file.
* Fix some of the names in the #ifndef ... #define ... #endif
* Fix the logic inside XrlAction::expand_vars() for expanding variables
Modify the ordering for sending various info by the rtrmgr to
Add mechnanism to test the OpCommandList instance whether it is
Fix the xorpsh so now it can be run in non-interactive mode.
Move the XrlXorpshInterface field member inside the XorpShell class
Replace XLOG_WARNING messages inside is_pseudo_error() with debug_msg().
* Add a flag to enable XLOG_TRACE() output
* Replace method CliClient::is_tty() with is_input_tty() and
Remove the definition and usage of PIM_HELLO_ADDRESS_LIST_PRIVATE_OPTION
Use XORP_UINT_CAST() to fix a compilation error on MacOS X 10.4
* Modify the return error message inside valid_addr_port() to
If the command failed, then exit with exit code of 1.
Fix the ProgramFoo destructors to cleanup the RunCommand instance
Update the OpInstance implementation so now it uses the
Fix the comment for the traceroute command.
Fix the mechanism for tracking the number of existing OpCommand
Add new class CliCommandMatch and use it to pass information around
Added a section that describes running xorpsh in non-interactive mode.
Added release notes for xorpsh and CLI.
Added a new method CliClient::done() that returns true when the
Added a new method RouterCLI::done() and use it during shutdown
If we are deleting a subtree, then mark the whole subtree so
Add description of the new semantics of the %delete command.
Added new method TemplateTreeNode::is_module_root_node()
Modify some of the logic that considers whether a module is active.
* Changed the operational mode "show" command so now it doesn't show
Added release notes for xorpsh.
* Update the documentation to reflect the fact that now the "show"
Bug fix:
* Remove "set-parameter" node because it is not needed anymore
Replace %set with %create inside nodes "accept" and "reject",
* Fix some of the names of the leaf nodes, because there was a mismatch
* Fix some of the names of the leaf nodes, because there was a mismatch
Replace %set command with %create command inside the
Remove empty %set commands inside the multi-value "load @" and
Add extra explanation for the %set template command.
* Add new method TemplateTreeNode::is_leaf()
Add explicit check for the %set command.
Fix a NULL pointer problem in some of the default_str() methods.
Split the XorpShell into two classes: abstract base class
Modify the configuration parser to accept literals that are strings
Added an example that describes the %delete method's new semantics.
Change the invalid prefix length messages to use IPv4::addr_bitlen()
* Fix TemplateTreeNode::check_variable_name() so now it checks
Modify an error message to print a slightly better info.
* Add an extra "include_leaf_value_nodes" argument to method
Remove old code that has been "#if 0" for long time.
Modify the "show" command output: in configuration mode
Add a release note for xorpsh re. the modified configurational mode
Document modification to the configuration mode "show" command output:
* Reorder some of the methods (e.g., all the operators for IPNet operand
* Use string::size_type instead of "int" as the type of the index
Remove INTRANGE_TYPE, because it looks like an leftover that is not
Regenerate.
Reverse-back the previous modification of some of the comparison
Add new methods:
If we try to re-create a node that was previously deleted
Print an error if we attempt inside xorpsh to create a node
Add a new argument "bool show_top" to ConfigTree::show_subtree()
Refactor the mechanism for processing the input data.
Add flag "ignore_current_character" that is passed as a reference
Rebuild the whole command tree after we load new configuration.
If we set the value of an existing node by using the "create" command,
Add missing dummy implementations of
If we "exit discard" the xorpsh configurational mode, then
Fix some of the logic inside ConfigTreeNode::check_config_tree()
If we use a command "show foo" in configurational mode, but
Add a comment inside method RouterCLI::show_func()
* Add new method RouterCLI::makepath() that takes a vector of
Add initial support for wildcard commands.
Add support for setting the wildcard flag for commands like
Remove commented-out code.
Fix some of the logic for assembling the command_global_name
* Reset the _cli_client_ptr inside method RouterCLI::logout_func()
Added a new function has_empty_space() to test whether a C++
* Move the existing code for quoting a text value to
Fix a kdoc comment.
* Add an extra "is_multilevel_command" argument/flag to the various
* Remove "--with-path-to-net-snmpd-src=DIR" argument to mibs/configure.in
* Add "--with-path-to-snmpd" argument
* Add some missing command-line arguments (copied from the
Add ospf/Makefile to the list of generated files.
Re-generate
Added "ospf" to the list of built directories.
Regenerate.
Set NETSNMPCFLAGS to the value of `${DIR}/net-snmp-config --cflags`
Modify a comment.
Regenerate.
Remove duplicated listing of test_xrl_sockets4_udp.sh
* Change methods set_cli_process_callback() and set_cli_interrupt_callback()
* Modify method OpCommandList::top_level_commands() to return a map
If the configuration has been changed by some other user, then
* Reduce a line of replicated code
* Remove duplicated #include "config.h"
Add few comments.
Add include file guard for "config.h"
Minor edits.
* Use the new XorpFd class to deal with file descriptors
* Use the new XorpFd class to deal with file descriptors
Add -DNETSNMP_NO_INLINE to the list of the compiler flags to disable
Fix tab completion after specifying the value of a multi-value node.
Compilation fix for MacOS X.
Fix constructor usage in a template.
Bug fix in calculating the deleted part of the configuration tree
* Add new rtrmgr XRL set_config_directory that can be used to set
Fix a typo ("emplate" -> "template") in commented-out code.
Added a new method TemplateTreeNode::encoded_typestr() that
Modify TemplateTree::find_node() so it allows to search a template
Refactor the mechanism for matching the multi-values configurational
The prefix-length address attribute is now mandatory.
Recompute internally the broadcast address if it was omitted from
Fix a spelling in comment.
Add extra checks that the "path" argument to "is_absolute_path()"
Use the new is_absolute_path() function as appropriate to test whether
Editorial nitlets: spacing and comments.
* Back-sync the last modifications that were done by hand in
* Back-sync the last modifications that were done by hand in
* Back-sync the last modifications that were done by hand in
* Generalize the semantic of the %mandatory keyword so not it lists
Update the documentation to reflect the fact that now %mandatory
Add a note that %mandatory cannot be used to refer a multi-value node.
Add a release node for the rtrmgr (the generalized syntax of %mandatory).
Replace "(void)foo" with "UNUSED(foo)" as a guard for potentially
Use PATH_DELIMITER_STRING instead of a hard-coded "/".
Add missing #include "libxorp/utils.hh"
* Fix the test whether the system supports IPv4 multicast routing so
Replace "(void)v" with "UNUSED(v)"
Reorder the files alphabetically.
Add Linux-specific hacks because of Linux's broken header files.
Remove local (fixed) copies of <linux/mroute.h> and friends, because
Modified the definition of class XorpShell to publically derive from
Add a new class CommitStatus for storing information regarding
Add-back (for consistency) an empty comment line that was removed
* Reverse-back the previous commit to config/acipv6.m4, because it
Guard the whole file with #ifdef HOST_OS_WINDOWS ... #endif
* Replace "(void)foo" with "UNUSED(foo)" as a guard against
* Initialize uninitialized variable
Editorial mods: "i/o" -> "I/O", etc.
Change-back the verbose level to XLOG_VERBOSE_LOW to match the
Editorial nits: add extra spaces, etc.
Remove a TODO entry because it is not valid anymore since the
Update vif index type where it has been left unchanged since the type
Replace "%p" with "%s" inside debug_msg() when it comes to print
* Replace the type of a variable used to point into a string:
If the socket cannot be set as non-blocking inside the
If there is an error, then include comm_get_last_error_str()
* Replace XORP_INT_CAST() with XORP_UINT_CAST() casting for
Reset a string with foo = "" instead of foo.clear(), because gcc-2.9x
Replace XORP_INT_CAST() with XORP_UINT_CAST(), and use "%u" instead
* Change the return type of PimVif::pim_nbrs_number() to be size_t
* Replace XORP_INT_CAST() with XORP_UINT_CAST()
Fix a typo:
* Replace XORP_INT_CAST() with XORP_UINT_CAST()
Change format for printing (S,G) entries:
Remove duplicated declarations of variable "string error_msg".
Add methods IfMgrIfTree::is_directly_connected() to test whether
Add an extra comment to the is_directly_connected() methods that
Remove method Fib2mribNode::is_directly_connected() and use
Remove method StaticRoutesNode::is_directly_connected() and use
Bug fix that has been introduced with the previous commit:
Place all UNUSED() before the return(), because gcc-4.x doesn't like
Fix a potential compilation problem in case of Windows if it
Pass the IfMgrIfTree argument to the PortManagerBase constructor
* Add "const IfMgrIfTree& iftree" as a second argument to
Restore a comment that has been deleted by the previous commit.
* Replace XORP_INT_CAST() with XORP_UINT_CAST()
* Add an XLOG_TRACE()
Remove #define DEBUG_LOGGING
Update a comment.
* Fix some of the flag checkings (e.g., checking for end_of_file,
* Use "%s" instead of "%p" as the conversion specifiers to print
Reverse-back the previous "fix" to ProtoComm::close_proto_socket(),
Regenerate.
Increase the max. template nesting depth from 22 to 25 because of
* Move return() statement after all UNUSED() statements to pacify
Bug fix: the return value of comm_sock_bind() should be int
Fix a typo: "io" -> "I/O"
Use "%s" instead of "%p" as the conversion specifiers to print
Test the return value of comm_sock_bind() against XORP_ERROR
Update the .cvsignore list to use the template list of files
Pass by reference the iftree argument to the SpoofPortManager constructor.
Declare a static IfMgrIfTree ift_dummy instance and use it
Add missing empty space.
Remove an extra empty space.
* Add SEL_NONE = 0x0 to the list of possible values for SelectorMask.
Use an intermediate (void *) cast when casting (sockaddr *) to
Add a missing return statement.
Refactor the implementation of the FEA raw socket support:
Conditionally define IPv6 Router Alert related constants that
Add UNUSED() guards.
Regenerate
Plug-in the raw socket FEA interface to OSPF so now OSPF
Link OSPF with the libfeaclient libraries.
Plug-in the libfeaclient support, so now XrlIO class contains a local
* Add "operator==" for class JoinedMulticastGroup.
Add test_common.hh to the list of source files used by some of the
Bug fix when adding an address.
When setting the MAC address, if the interface is UP, then
Enable ConfigTreeNode::set_variable() to work for NODE_VALUE nodes
* Refactor the mechanism for updating the configuration: now the
* Apply the patch from Bugzilla entry #178 :
* Add a mechanism for registering a callback for tracking the
Add missing usec second argument to the TimeVal constructor.
Add a private "TimeVal(int i)" constructor that is not implemented.
Change a number of find_foo() methods from private to public, so they
* Add "enable_multicast_loopback" boolean flag to the register_receiver
Set the new enable_multicast_loopback XRL flag to false to disable
Add a comment why we need to enable the multicast loopback.
Correct the documentation that now the "stdout" and "stderr"
Add-back the raw sockets Windows support that was removed when
* Implement a new class ConfigNodeId that can be used for manipulation
Fix identation.
Add extra new line before printing the configuration when
Comment-out text after #endif
* Add a new OpCommandList() constructor that doesn't read immediately
* Refactor the implementation of class ConfigNodeId:
* Include "libxorp/xlog.h" header file by each of the *.yy files.
Add constant ConfigNodeId::ZERO() and the corresponding test for it.
Refactor the mechanism for assigning and using the node ID
Include file "policy_module.h" and regenerate.
* Update the policy code so now it uses the new format of the
Replace XLOG_FOO(my_string.c_str()) with
Use a slightly better error message if there is an interface/vif/address
If the commit transaction fails for interface configuration changes,
Bug fix: if we interrupt (Ctrl-C) the output of a command, then
Fix a spelling: occurence -> occurrence
Add new sections to Chapter 1 Command Structure:
* A second attempt to fix the "operator<" for
Fix a bug when deleting some unresolved RIB routes could take too
Add support for adding policy terms or nodes that are received
* Change the rules for parsing a string by taking the implementation
Print a better error message if there is an error.
Reset errno before a system call or explicitly check that the system
Add --disable-compiler-pipe as a ./configure option so the compiler's
* Add support for read-only configuration/template nodes.
* Add a subsection that describes the new %read-only command.
Add a release note for the new %read-only rtrmgr template command.
Add a top-level %help string for ospf4
* Change the semantic for %read-only so it applies only for leaf
Comment-out code that was uncommented by accident by the previous
* Change the description for the %read-only template command to
Mention the new %permanent template command in the release nodes.
Add extra info for permanent nodes.
Change the static routes' metric range from 0--65535 to 1--65535
Redirect the ping's stderr to stdout, in case some implementations
* Move the implementation of split() and xorp_basename() from
* Modify the popen2() implementation so now it executes directly the
* Remove a test command that was committed by accident by the previous
If the binary for an operational command specified in an *.cmds
Add ping6 and traceroute6 operational commands.
Add .cvsignore that lists the files ignored by CVS.
Add ospfv2.cmds to the Makefile
Remove leftover test state.
Bug fix in the intialization of RunShellCommand.
* Refactor the implementation of TestRunCommand to include support
Add a new flag "preserve_node_id" to ConfigNodeId::merge_deltas()
Add missing %help strings.
Add new method ConfigTreeNode::is_multi_value_node()
* Add "%option never-interactive" to all *.l and *.ll files so we
Fix the mechanism for calculating the deltas between configurations.
Introduce a new flag "is_verification" and propagate it around
Add new class IfTree::prepare_replacement_state() that can be used
Restore the original config on shutdown (disabled by default).
Add the missing "is_verification" flag-argument to start_module()
Add configuration support to enable the flag to restore
Replace fprintf(stderr, ...) leftover with debug_msg()
Replace restore_original_config_on_shutdown with
* Add restore-original-config-on-shutdown to the sample configuration
Add documentation description for restore-original-config-on-shutdown
Move the position of flag restore-original-config-on-shutdown.
* If we try to remove an entity and it is not in the tree anymore, then
If an interface is marked as disabled or deleted, then mark all
* Bug fix in the ordering of the second and third argument of fwrite()
Fix the error check after strtoul().
Add missing virtual destructor to base class NoHorizonValidator
* Don't use a NULL pointer as a second argument for fstat().
Add Linux Fedora Core4 to the list of platforms that XORP can be
* Fix the format of the printed message when there are other
Add Mac OS X 10.4.2 to the list of systems that can be used to run XORP.
* Add gcc-4.0.1 to the list of compilers that are OK with Fedora Core4
Improve a bit the text of an error message.
Remove commented-out include file.
Bug fix in expanding the "$0" positional argument (i.e., all arguments)
Add the following files to the list of files that ospfv2_base.{hh,cc}
Fix the mechanism for restoring the previous interface configuration
Add checks for header files <linux/sockios.h> and <net/if_media.h>
Add initial support for reading the interface link status
Remove bogus "static" keyword.
Add test_routing to .cvsignore
Check for the existence of the following headers:
* Add inside class IfConfig a pointer to the current configuration
Add new method +IfTree::track_live_config_state() that can
If the live config state as read from the kernel is modified
Add an ERRATA entry for the FEA that the link status monitoring
Minor text editing.
Clarify the Windows status for tracking the network link media.
Bug fix in the ordering of some of the arguments of fwrite().
* Don't explicitly disable the vif inside the iftree with the
Add missing initializations inside the IfMgrIfAtom and IfMgrVIfAtom
* Change slightly the semantics of IfTree::align_with().
Bug fix: print interface-related information even if there are no vifs
* Fix a bug with resetting the local interface tree in case
Add a note about FreeBSD-5.4, that XORP compiles on it and the
Set stdout and stderr of the child process to unbuffered.
Refactor the implementation of RunCommandBase::append_data()
Fix the formatting of the printed error message if the execution of
Add new function is_quotable_string() and use it instead of
Move the implementation of strip_empty_spaces() and has_empty_space()
If we try to print the help for an unrecognized command, then
Refactor the mechanism for generating the error messages if there is
Print a better formatted error message if an operation command fails.
Bug fix in SelectorList::Node::is_empty()
* Add new method ConfigTreeNode::expand_variable_to_full_varname()
Add a comment about the min and max MTU.
Add %allow-range for the interface mtu (as defined in RFC 791
Check the value of a variable whether it is valid when it is set
Add a new file that will contain a list of routing references.
Add two more books by Jeff Doyle.
Apply pointers-casting fixes for Sparc64.
Replace C-style pointer casting "(struct foo *)" with the C++ style:
Don't show the default values for new configuration nodes that are
* Explicitly check that there is no more than one value per leaf node.
Add missing nodes with the appropriate help messages for the "show route"
* Add "-b" flag to the "show_routes" command to print the routes
* Check for the existence of header file <sys/utsname.h>
* Add protocol_origin field to the following XRLs:
Add a check for uname(3) library function.
Add "brief" version for all "show route table" commands.
Move the marking of a route as unresolved to RtmUtils::rtm_get_to_fte_cfg()
Refactor some #ifdef code because gcc-2.95.x doesn't like it.
Regenerate after changes to some of the XRLs.
Fix some of the methods to consider the case when the address family
* Reorder the assignment of some of the fields related to the status
Fix a bug in the mechanism for sending FIB updates from the top
Fix a comment.
Fix the test for IPv6 multicast routing to conditionally include
Conditionally include <linux/mroute6.h> in the test for
Fix a typo in the path to the Click config generator: "/user" -> "/usr"
Add an explicit check that the multi-value nodes are excluded
* Add support for terse output of the routes (shown by the -t command
Add entries for "detail" and "terse" versions of each command.
Fix a bug with the formatting of the listed command completions
Add a mechanism to start/stop each pipe command, to verify that each
Changed the default routes output format from "detail" to "brief"
Add a new XRL rib/0.1/get_registered_protocols
Add a release note about RIB.
Fix the check whether the system supports IPv6 multicast routing
Remove KAME-related mld_hdr/mld6_hdr related definition, because
* Add check whether file <linux/mroute6.h> exists
* Conditionally include header file <linux/mroute6.h>
Cleanup the MLD-related definitions, and define some of the constant
Use MLD_MINLEN instead of sizeof(struct mld_hdr) when checking whether
Add missing size_t casting to MLD_MINSIZE when comparing it against
* Bug fix when deleting an interface address: delete the address
Modify the IfMgrIfTree:is_directly_connected() methods to return
Fix the mechanism for updating the routes when the address of an
Refactor the mechanism for updating the interface information:
Remove debug statement that was added by accident in the previous
Refactor the mechanism for updating the interface information:
Fix/refactor the mechanism for updating the network interface status:
Fix a typo inside a debug_msg()
When setting the MTU of an interface, if the interface is up,
* Add new method ConfigTreeNode::set_value_without_verification()
Refactor the mechanism for sending the commands to the remote
* Cleanup the mechanism for updating the interface information
Refactor the mechanism for updating the interface information:
Consider the "no-carrier" link state flag when deciding if an
Change the default XORP prompt in configurational mode from
Fix the %delete method specification for the "traceoptions flag all"
* Modify the default value for the "traceoptions flag all disable" flag
Use better formatting for the terse output of the routes.
Automatically assign the vif flags when a new vif is added
* Rename "response" and "errmsg" to "error_msg" (for consistency
If we change the running configuration via xorpsh and If the binary
* Fix a compilation error
Add missing "enable_interface" configuration statements.
Bug fix when adding an IGP route: check whether there is an EGP
Enable each new vif by default.
When adding a route and matching it against vifs for directly
Add print_neighbours to the list of CVS ignored files.
Bug fix: move the check of the message type after we discover the
Rename AWK_UNIX_PATH to AWK_VIA_SHELL_PATH and use it for both
Fix a typo.
Replace abort() with XLOG_FATAL()
Regenerate after configure.in change:
Add support to the lex/yacc parser for boolean policy terms.
Add policy-based support to remove MEDs from the routes advertised by
* Add new methods AllowOperatorsCommand::allowed_operators() and
Cleanup the formatting of some of the error messages.
* Add support for specifying the operator for a leaf node with value
Change the libcli default config prompt from "XORP> " to "XORP# "
Refactor the setting of the startup CLI prompt so now it can
* Change the default operational and configuration mode prompts
Add test_routing_table to the list of ignored files by CVS.
Add release notes for the xorpsh prompt modifications.
* Update the documentation to reflect the fact that now the
Fix the protocol name to match the remaped name "static" instead
Bug fix in setting the _e_bit value.
* Change the protocol policy name from the targetname to ospf4.
Don't set a default value for med-remove, because it is BGP-specific
* Add a policy name mapping between "rib" and "connected".
Fix the logic inside method Term::del_block()
Fix the policy-related template for OSPF.
If we try to use <TAB> to complete the creation of a
Ignore deleted config nodes when searching for a node whose value
Rename XORP_OPERATIONAL_MODE_PROMPT and XORP_CONFIGURATION_MODE_PROMPT
Bug fix in resetting the prompt after an error.
Reverse-back the previous commit, because it is the wrong fix
Reverse-back the previous commit that attempted to fix bugzilla #211,
Fix a comment.
On NetBSD and OpenBSD the definition of 'struct igmpmsg'
Ignore config nodes from the new tree that are marked as deleted
Comment-out stuff after "#endif"
Check for error when sending XRLs when registering/deregistering
Minor refactoring of class XorpShell (now XorpShell inherits from
Always test inside xorpsh whether the sending of an XRL succeeds,
Extend the template grammar to allow more than one "%foo" command
* Modify the "%allow" syntax so now we can provide help string for
* Modify the "%allow-range" syntax so now we can provide help string for
Remove a note about the publication date of a book, because it
Get rid of deprecated C++ feature:
Initialize the metric and tag policy variables as ElemU32 instead
Add missing operator== for ElemBool.
Add missing == operation to the set of possible operations
Const-ify the commit_status() method.
Misc. cleanup
* Redeclare methods expand_actions() and check_referred_variables()
* Fix the %allow and %allow-range mechanism:
Change the semantics for the cross-node %allow-range so when
Bug fix in creating the error message when a value fails the check
Replace "\usepackage{psfig}" with "\usepackage{epsfig}", because
Remove the old 0.21 listing behavior.
Add new methods allowed_values() and allowed_ranges() to obtain
Const-ify some of the methods.
* Add command-line completion and help for "%allow" listed
Add a flag to each template tree node to indicate whether
Remove extra #include file.
Decleare the type of the fifth argument ("len") of inet6_opt_next()
Use ostringstream instead of the c_format() facility
Print pid_t as a casted unsigned integer instead of a casted pointer.
Use size_t arithmetics instead of uint32_t to calculate the hash value.
Use the setsockopt(IP_PKTINFO) mechanism for obtaining the network
Fix a compilation error that hasn't been revealed so far because
Impmement the %allow-range mechanism internally to use int64_t type
Compilation fixes for gcc-4.0.2 on Fedora Core 4.
Compilation fix for gcc-4.0.2 on Fedora Core 4.
* Don't use a reference to a pointer as the second argument to
Fix the substring assignment.
Add release notes for rtrmgr and xorpsh.
Reverse-back the previous commit.
Fix the callback factory functions targetted at a const member function
* Add new functions to translate between lines of tokens to
Pass the command global name around as an array of strings (with
Propagate the command path, name and arguments as a vector of strings.
* Introduce a new helper function append_list_to_vector()
Fix the mechanism for getting a DEFAULT value from a template.
Bug fix: replace `~$(DEFAULT)` with `~$(@.disable.DEFAULT)`
Remove the mechanism for specifying the hook for saving a config
Add a release note for the rtrmgr.
Initialize uninitialized variables.
Add notes about the rp-priority and bsr-priority as defined in the
* Add a flag "is_command_argument" to CliCommand to indicate whether
Send immediately a Request message whenever a subnet is (re)enabled.
Minor nits.
Replace atoi(str) with strtoll(str, (char **)NULL, 10)
* Add a note describing the logic if there is more than one
Fix some space formatting.
"const uint32_t" -> "uint32_t" as the type of the argument for a method,
Use XLOG_WARNING() instead of XLOG_INFO() if bind() fails.
Port-back Windows specific modifications from rawsock.cc
Remove test_connect_CFLAGS, because they shouldn't be needed.
Reverse-back part of the previous commit that comments-out
"__LIBXORPWIN_IO_H__" -> "__LIBXORP_WIN_IO_H__"
* Editorial nits
Have two distinctive "class XorpFd" implementations: one for
Editorial nits.
Add missing instantiations of "template class XrlQueue<IPv4>"
Move all UNUSED(foo) to the beginning of the method rather than
Initialize local variables.
Add a check whether the build environment has va_copy() support.
Use #ifdef HAVE_VA_COPY instead of #ifdef va_copy
Bug fix inside TaskManager class constructor declaration:
Refactor part of the implementation that checks the link status
Reverse-back the last change because the original configuration is correct.
Add a check whether header file <linux/ethtool.h> exists.
Implement ioctl(SIOCETHTOOL)-based mechanism to check the
Cleanup the XRL returned error messages.
Remove an extra space when printing the list of users in configuration
* Save the name of the user in exclusive configuration mode and
Fix a typo.
Allow a string value to