summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge commit 'quagga_0_99_6_release' into linux-realmsquagga-0.99.6-realms.patchJeffrey C. Ollie2007-04-0960-431/+2047
|\
| * [0.99] Bump version to 0.99.6quagga_0_99_6_releasePaul Jakma2006-12-082-1/+5
| | | | | | | | | | | | 2006-12-08 Paul Jakma <paul.jakma@sun.com> * configure.ac: Bump to 0.99.6
| * [isisd] Fix compiler warnings and allow v4-only compilationPaul Jakma2006-12-0817-35/+118
| | | | | | | | | | | | | | | | | | | | | | 2006-12-08 Hannes Gredler <hannes@gredler.at> * isis_adjacency.c: (isis_new_adj) Allow NULL snpa argument. * isis_pdu.c: (various) Update calls to isis_new_adj() to pass NULL and use default. * (general) Add forward declarations where required. Fix up const char *'s. Allow V4-only compilation.
| * [zebra] Changes of nexthops of static routes didnt take effectPaul Jakma2006-12-082-10/+18
| | | | | | | | | | | | | | | | 2006-12-08 Piotr Chytla <pch@packetconsulting.pl> * zebra_rib.c: (static_install_ipv{4,6}) Case where existing RIB is updated must explicitely rib_addqueue the route_node, to ensure the update actually takes effect.
| * [bgpd] Bug #302, bgpd can get stuck in state ClearingPaul Jakma2006-12-082-5/+18
| | | | | | | | | | | | | | | | | | | | | | | | 2006-12-07 Paul Jakma <paul.jakma@sun.com> * bgp_fsm.c: Bug #302 fix, diagnosis, suggestions and testing by Juergen Kammer <j.kammer@eurodata.de>. Fix follows from his suggested fix, just made in a slightly different way. (bgp_event) Transitions into Clearing always must call bgp_clear_route_all(). (bgp_stop) No need to clear routes here, BGP FSM should do it.
| * [ospfd] Consider all connected addresses when creating ospf interfacesAndrew J. Schorr2006-12-042-2/+8
| | | | | | | | | | | | | | | | | | | | 2006-12-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * ospfd.c: (ospf_network_run) Remove an offending 'break' statement. Previously, after creating a single ospf_interface on a given network interface, the code would skip to the next interface without considering other connected addresses on the interface. After removing the 'break', we now consider all connected addresses.
| * [bgpd] Implement 'debug bgp zebra' to log all messages to and from zebra.Andrew J. Schorr2006-11-304-6/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-11-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * bgp_debug.h: Declare new bgp_debug_zebra conf and term flags, and define BGP_DEBUG_ZEBRA. * bgp_debug.c: Declare conf_bgp_debug_zebra and term_bgp_debug_zebra. (debug_bgp_zebra, no_debug_bgp_zebra, undebug_bgp_zebra) New functions to enable/disable bgp zebra debugging. (no_debug_bgp_all) Turn off zebra debugging. (show_debugging_bgp) Show whether zebra debugging is on. (bgp_config_write_debug) Add 'debug bgp zebra' if configured. (bgp_debug_init) Add new zebra debugging commands. * bgp_zebra.c: (bgp_router_id_update, bgp_interface_add, bgp_interface_delete, bgp_interface_up, bgp_interface_down, bgp_interface_address_add, bgp_interface_address_delete, zebra_read_ipv4, zebra_read_ipv6, bgp_zebra_announce, bgp_zebra_withdraw, bgp_redistribute_set, bgp_redistribute_unset) If zebra debugging is enabled, log an appropriate debug message.
| * [ospfd] Add debug messages for a few zebra messages that had been overlookedAndrew J. Schorr2006-11-302-0/+34
| | | | | | | | | | | | | | | | | | | | | | 2006-11-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * ospf_zebra.c: (ospf_router_id_update_zebra, ospf_interface_address_add, ospf_interface_address_delete) If (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE)) is enabled, then add a debug message about what Zebra is telling us. (ospf_zebra_add_discard) Add a debug message matching the one already in ospf_zebra_delete_discard.
| * [bgpd] Fix bug where a deleted route that was quickly re-added was being lostAndrew J. Schorr2006-11-282-5/+38
| | | | | | | | | | | | | | | | | | | | | | | | | | 2006-11-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * bgp_route.c: (bgp_info_restore) New function that undoes the effects of a previous call to bgp_info_delete. This is used when a route is deleted and quickly re-added before the deletion has been processed. (bgp_static_update_rsclient, bgp_static_update_main, bgp_redistribute_add) Check whether a pre-existing route has the BGP_INFO_REMOVED set, and, if so, we need to call bgp_info_restore to resurrect it.
| * [ospfd] Fix bug in passive-interface default commands.Andrew J. Schorr2006-11-282-43/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-11-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * ospf_vty.c: (ospf_passive_interface_default) Take additional 'newval' arg so we can update ospf->passive_interface_default inside this function. More importantly, we now call ospf_if_set_multicast on all ospf_interfaces. (ospf_passive_interface, no_ospf_passive_interface) Fix bug: for 'default' case, argv[0] is undefined, so we must test for (argc == 0) before using argv[0]. And since ospf_passive_interface_default now calls ospf_if_set_multicast as needed, we can just return after calling ospf_passive_interface_default.
| * [bgpd] trivial: non C99 u_int.._t should be uint.._tPaul Jakma2006-10-272-1/+6
| | | | | | | | | | | | | | 2006-10-27 Paul Jakma <paul.jakma@sun.com> * bgp_route.c: (bgp_table_stats) oops, u_intXX_t should be uintXX_t
| * [ospfd] Stop losing subsequent default-information originate 'always' infoAndrew J. Schorr2006-10-242-16/+13
| | | | | | | | | | | | | | | | | | 2006-10-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * ospf_zebra.c: (ospf_redistribute_default_set) Fix bug where a new value for ospf->default_originate was being ignored if a previous 'default-information originate' command had already been processed.
| * [ospfd] Add passive-interface default supportPaul Jakma2006-10-227-54/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-10-22 Yar Tikhiy <yar@comp.chem.msu.su> * (general) Add support for passive-interface default (with minor edits by Paul Jakma). * ospf_interface.h: Add OSPF_IF_PASSIVE_STATUS macro, looking at configured value, or the global 'default' value, as required. * ospf_interface.c: (ospf_if_new_hook) Leave passive unconfigured per default, allowing global 'default' to take effect for unconfigured interfaces. * ospf_packet.c: (various) use OSPF_IF_PASSIVE_STATUS * ospf_vty.c: (ospf_passive_interface_default) new function, unset passive from all interfaces if default is enabled, as the per-iface settings become redundant. (ospf_passive_interface_update) new func, update passive setting taking global default into account. ({no,}ospf_passive_interface_addr_cmd) Add support for 'default' variant of command. (show_ip_ospf_interface_sub) Update to take global default into account when printing passive status. (ospf_config_write) ditto. * ospfd.c: (ospf_new) set global passive-interface default. * ospfd.h: (struct ospf) Add field for global passive-interface.
| * [bgpd] struct peer must have bgp field valid (redistribute crash)Paul Jakma2006-10-223-9/+25
| | | | | | | | | | | | | | | | | | | | | | | | 2006-10-19 Paul Jakma <paul.jakma@sun.com> * bgpd.c: (peer_new) bgp element of peer absolutely must be filled in, make peer_new() require it as argument and update all callers. Fixes a crash reported by Jan 'yanek' Bortl and Andrew Schorr where bgpd would crash in bgp_pcount_adjust trying to dereference the bgp member of bgp->peer_self, triggered through redistribution. * bgp_route.c: (bgp_pcount_adjust) assert sanity of arguments.
| * [bgpd] Coverity CID #64: Needless NULL check, CID #64: Deref of potentially ↵Paul Jakma2006-10-152-5/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | NULL pointer. 2006-10-15 Paul Jakma <paul.jakma@sun.com> * bgp_packet.c: (bgp_update_packet) adv->rn can not be NULL, check is bogus - changed to assert(), CID#64. binfo is checked for NULL, but then dereferenced unconditionally, fix, CID #63. (bgp_withdraw_packet) Assert adv->rn is valid, as with bgp_update_packet().
| * [bgpd] CID#73, potential crash in bgp statistics if called for AFI/SAFI with ↵Paul Jakma2006-10-152-1/+7
| | | | | | | | | | | | | | | | | | emtpy table 2006-10-15 Paul Jakma <paul.jakma@sun.com> * bgp_route.c: (bgp_table_stats_walker) NULL deref if table is empty, bgp_table_top may return NULL, Coverity CID#73.
| * [bgpd] Bug #302 fixes. ClearingCompleted event gets flushed, leaving peers ↵Paul Jakma2006-10-154-13/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | stuck in Clearing. 2006-10-14 Paul Jakma <paul.jakma@sun.com> * bgp_fsm.h: Remove BGP_EVENT_FLUSH_ADD, dangerous and not needed. * bgp_fsm.c: (bgp_stop) Move BGP_EVENT_FLUSH to the top of the of the function, otherwise it could flush a ClearingCompleted event, bug #302. * bgp_packet.c: Replace all BGP_EVENT_FLUSH_ADD with BGP_EVENT_ADD, fixing bug #302.
| * [daemon startup] Add --dry-run/-C argument to daemons, to check config file ↵Paul Jakma2006-10-159-9/+113
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | syntax 2006-10-04 Oliver Hookins <ohookins@gmail.com> * bgpd/bgp_main.c: Add configuration check option, with '-C' rather than '-c' for consistency between daemons. * isisd/isis_main.c: ditto * ospf6d/ospf6_main.c: ditto * ospfd/ospf_main.c: ditto * ripngd/ripng_main.c: ditto * vtysh/vtysh_main.c: ditto * ripd/rip_main.c: Change the config check option to '-C' and tidy up the code. * zebra/main.c: ditto 2006-10-04 Stergiakis Alexandros <astergiakis@antcor.com> * ripd/rip_main.c: This trivial patch introduces a new command-line option '-c', which instructs zebra/ripd to check its configuration file for validity, print any error message, and then exit. This is useful when the configuration file is edited by hand or otherwise, and you simply want to validate it without any other effect. * zebra/main.c: ditto
| * [lib] Handle upgrade from SUNWzebra to Quagga for 'interface fooX:Y' commandsPaul Jakma2006-10-152-2/+56
| | | | | | | | | | | | | | | | | | | | | | | | 2006-10-14 Paul Jakma <paul.jakma@sun.com> * if.c: (general) Handle upgrades from SUNWzebra, which tried to track each logical interface as a seperate struct interface, to Quagga, which assigns only one struct interface per ifindex. (if_sunwzebra_get) Try decompose a logical interface name (fooX:Y) to the 'primary' name (fooX), for Solaris. (interface_cmd) Use if_sunwzebra_get on Solaris.
| * [snmp] Fix asn_build calls to pass correct variable sizes (fixes 64-bit issues)Andrew J. Schorr2006-09-262-7/+17
| | | | | | | | | | | | | | | | | | | | | | | | 2006-09-26 Pierre-Yves Ritschard <pierre-yves@spootnik.org> * smux.c: (smux_open,smux_trap,smux_register) Fix various asn_build_* calls to pass the proper length in the final argument: use sizeof(<variable>) instead of sizeof(<type>), since there were several inconsistencies between the actual variable type and the size that was passed. This should fix some problems on 64-bit architectures where sizeof(int) != sizeof(long).
| * [ospfd] Improve some warning messages.Andrew J. Schorr2006-09-252-7/+21
| | | | | | | | | | | | | | | | | | 2006-09-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * ospf_packet.c: (ospf_packet_dup, ospf_make_md5_digest) Fix zlog_warn messages to eliminate compiler warnings. (ospf_hello) Improve warning messages to show why we are complaining.
| * Add recent NetBSD/FreeBSD versions to list of what ought to work.Greg Troxel2006-09-201-2/+9
| | | | | | | | | | | | | | Add Dragonfly. Clarify that the C99 requirement includes libraries and headers, not just compiler.
| * [bgpd] Trivial fix of printf format/arg mismatchAndrew J. Schorr2006-09-192-2/+6
| | | | | | | | | | | | | | 2006-09-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * bgpd.c: (peer_uptime) Fix printf format/arg mismatch in zlog_warn message (%ld/size_t -> %lu/u_long).
| * [bgpd] reduce the process queue hold time to something more sensiblePaul Jakma2006-09-142-1/+4
| | | | | | | | | | | | | | | | 2006-09-14 Paul Jakma <paul.jakma@sun.com> * bgp_route.c: (bgp_process_queue_init) process queue hold time too high, adds extra memory load. Change to be much lower, until such time as it's made configurable.
| * [bgpd] RIB statistics address space size shouldnt double count spacePaul Jakma2006-09-142-5/+13
| | | | | | | | | | | | | | | | | | 2006-09-14 Paul Jakma <paul.jakma@sun.com> * bgp_route.c: (bgp_table_stats_walker) Address space announced should only count top-level unaggregateable prefixes, to avoid falling afoul of anti-dodgy-accounting regulations in various jurisdictions.. ;)
| * [bgpd] simplify peer refcounts, squash slow peer leakPaul Jakma2006-09-144-38/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-09-14 Paul Jakma <paul.jakma@sun.com> * (general) fix the peer refcount issue exposed by previous, by just removing refcounting of peer threads, which is mostly senseless as they're references leading from struct peer, which peer_free cancels anyway. No need to muck around.. * bgp_fsm.h: Just remove the refcounting from the various TIMER/READ/WRITE/EVENT ON/OFF/ADD macros. * bgp_fsm.c: (bgp_stop) use BGP_EVENT_FLUSH, no refcounts attached to events anymore. (bgp_event) remove peer_unlock, events not refcounted. * bgpd.c: (peer_free) flush events before free.
| * [bgpd] Fix 0.99 shutdown regression, introduce Clearing and Deleted statesPaul Jakma2006-09-149-93/+251
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-09-14 Paul Jakma <paul.jakma@sun.com> * (general) Fix some niggly issues around 'shutdown' and clearing by adding a Clearing FSM wait-state and a hidden 'Deleted' FSM state, to allow deleted peers to 'cool off' and hit 0 references. This introduces a slow memory leak of struct peer, however that's more a testament to the fragility of the reference counting than a bug in this patch, cleanup of reference counting to fix this is to follow. * bgpd.h: Add Clearing, Deleted states and Clearing_Completed and event. * bgp_debug.c: (bgp_status_msg[]) Add strings for Clearing and Deleted. * bgp_fsm.h: Don't allow timer/event threads to set anything for Deleted peers. * bgp_fsm.c: (bgp_timer_set) Add Clearing and Deleted. Deleted needs to stop everything. (bgp_stop) Remove explicit fsm_change_status call, the general framework handles the transition. (bgp_start) Log a warning if a start is attempted on a peer that should stay down, trying to start a peer. (struct .. FSM) Add Clearing_Completed events, has little influence except when in state Clearing to signal wait-state can end. Add Clearing and Deleted states, former is a wait-state, latter is a placeholder state to allow peers to disappear quietly once refcounts settle. (bgp_event) Try reduce verbosity of FSM state-change debug, changes to same state are not interesting (Established->Established) Allow NULL action functions in FSM. * bgp_packet.c: (bgp_write) Use FSM events, rather than trying to twiddle directly with FSM state behind the back of FSM. (bgp_write_notify) ditto. (bgp_read) Remove the vague ACCEPT_PEER peer_unlock, or else this patch crashes, now it leaks instead. * bgp_route.c: (bgp_clear_node_complete) Clearing_Completed event, to end clearing. (bgp_clear_route) See extensive comments. * bgpd.c: (peer_free) should only be called while in Deleted, peer refcounting controls when peer_free is called. bgp_sync_delete should be here, not in peer_delete. (peer_delete) Initiate delete. Transition to Deleted state manually. When removing peer from indices that provide visibility of it, take great care to be idempotent wrt the reference counting of struct peer through those indices. Use bgp_timer_set, rather than replicating. Call to bgp_sync_delete isn't appropriate here, sync can be referenced while shutting down and finishing deletion. (peer_group_bind) Take care to be idempotent wrt list references indexing peers.
| * [bgpd] Add RIB reporting commands, show bgp ... statisticsPaul Jakma2006-09-144-26/+447
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-09-13 Paul Jakma <paul.jakma@sun.com> * bgp_aspath.c: (aspath_highest) new, return highest ASN in an aspath. * bgp_route.c: (bgp_peer_count_walker) new, do the walk done in bgp_peer_counts as a thread. (bgp_peer_counts) move walk to previous and call it via thread_execute so this RIB walk shows up in thread stats. (bgp_table_stats) New, gather some statistics for a given RIB. (bgp_table_stats_walker) New, RIB walker thread for former. (bgp_table_stats_vty) Parsing front-end for 'show bgp ...', useful model for future rationalisation of 'show ... bgp'. (bgp_route_init) Add new RIB stats commands.
| * 2006-09-13 Tom Everett <tom@khubla.com>Greg Troxel2006-09-132-0/+9
| | | | | | | | | | * kernel_socket.c (rtm_type_str): ifdef RTM_OLD{ADD,DEL} to compile on systems that no longer define them.
| * [ripd] bug #293: routemap set metric doesn't check for underflow correctlyPaul Jakma2006-09-112-1/+4
| | | | | | | | | | | | | | | | 2006-09-11 Paul Jakma <paul.jakma@sun.com> * rip_routemap.c: (route_set_metric) underflow check needs to use signed, problem identified and diagnosed by Pavel Nikiforov in bug #293.
| * [ripd] bug #278: remove gratuitous use of mid-function declarationPaul Jakma2006-09-112-2/+8
| | | | | | | | | | | | | | 2006-09-11 Paul Jakma <paul.jakma@sun.com> * ripd.c: (rip_read) remove gratuitous use of mid-function declaration of vrecv, bug #278.
| * [bgpd] Handle pcount as flags are changed, fixing pcount issuesPaul Jakma2006-09-076-126/+157
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-09-06 Paul Jakma <paul.jakma@sun.com> * (general) Squash any and all prefix-count issues by abstracting route flag changes, and maintaining count as and when flags are modified (rather than relying on explicit modifications of count being sprinkled in just the right places throughout the code). * bgp_route.c: (bgp_pcount_{dec,inc}rement) removed. (bgp_pcount_adjust) new, update prefix count as needed for a given route. (bgp_info_{uns,s}et_flag) set/unset a BGP_INFO route status flag, calling previous function when appropriate. (general) Update all set/unsets of flags to use previous. Remove pcount_{dec,inc}rement calls. No need to unset BGP_INFO_VALID in places where bgp_info_delete is called, it does that anyway. * bgp_{damp,nexthop}.c: Update to use bgp_info_{un,}set_flag. * bgp_route.h: Export bgp_info_{un,}set_flag. Add a 'meta' BGP_INFO flag, BGP_INFO_UNUSEABLE. Move BGP_INFO_HOLDDOWN macro to here from bgpd.h
| * [bgpd] Add 'show ... neighbor .... prefix-counts' commandPaul Jakma2006-09-042-0/+226
| | | | | | | | | | | | | | | | | | 2006-09-03 Paul Jakma <paul.jakma@sun.com> * bgp_route.c: Add 'show ... bgp ... <neighbour> prefix-count' commands, to provide detailed counts of prefixes for a peer. Informative, and should help pin down to pfxcnt drift problems.
| * [ospfd] Fix assertion in DB-exchange fix, hit by ogier-db-ex-opt commitPaul Jakma2006-08-302-21/+21
| | | | | | | | | | | | | | | | | | | | 2006-08-28 Andy Gay <andy@andynet.net> * ospf_packet.c: (ospf_make_db_desc) Assert added with More-bit fixes does not hold up with addition of Ogier DB-Exchange optimisation, which can empty the db-summary list in between sent DD packets. Remove assert, update More-bit always when in Exchange.
* | Appying patch from http://vcalinus.gemenii.ro/quagga-0.99.5-realms.diffquagga-0.99.5-realms.diffCalin Velea2007-04-0925-9/+1391
|/
* [0.99] version bump to 0.99.5quagga_0_99_5_releasePaul Jakma2006-08-272-1/+5
| | | | | | 2006-08-27 Paul Jakma <paul.jakma@sun.com> * configure.ac: Bump to 0.99.5
* [ospfd] redistribute default no longer works after complete reconfig, fixPaul Jakma2006-08-272-0/+7
| | | | | | | | 2006-08-27 J.J. Krabbendam <jkrabbendam@aimsys.nl> * ospfd.c: (ospf_finish_final) default redistribute should be unset too, fixes bug where reconfiguring ospfd completely can no longer enable default redistribution.
* [bgpd] fix mtype in XFREE and NULL out freed pointerPaul Jakma2006-08-272-1/+7
| | | | | | | 2006-08-27 Paul Jakma <paul.jakma@sun.com> * bgp_advertise.c: (bgp_sync_delete) fix mtype in XFREE. NULL out peer->hash after free, to be sure.
* [tests] update heavywq for workqueue api changesPaul Jakma2006-08-272-3/+9
| | | | | | | 2006-08-26 Paul Jakma <paul.jakma@sun.com> * heavy-wq.c: (slow_func_del,slow_func) update to match workqueue changes
* [ospfd] Bug #134, ospfd should be more robust to backward time changePaul Jakma2006-08-2710-31/+43
| | | | | | | | | | | | | | 2006-08-25 Paul Jakma <paul.jakma@sun.com> * (general) Bug #134. Be more robust to backward time changes, use the newly added libzebra time functions. In most cases: recent_time -> recent_relative_time() gettimeofday -> quagga_gettime (QUAGGA_CLK_MONOTONIC, ..) time -> quagga_time. (ospf_make_md5_digest) time() call deliberately not changed. (ospf_external_lsa_refresh) remove useless gettimeofday, LSA tv_orig time was already set in ospf_lsa_new, called via ospf_external_lsa_new.
* [lib] Bug #134: threads should be more robust against backward time jumpsPaul Jakma2006-08-273-24/+210
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2006-08-25 Paul Jakma <paul.jakma@sun.com> * thread.c: (general) Add support for monotonic clock, it may still jump forward by huge amounts, but should be immune to going backwards. Fixes bug #134. (quagga_gettimeofday_relative_adjust) helper, does what name says - adjusts gettimeofday based relative timer. (quagga_gettimeofday) helper to keep recent_time up to date. (quagga_get_relative) helper, update and getch the relative timer using gettimeofday(). POSIX CLOCK_MONOTONIC is also supported, but the code is not enabled yet nor tested. (quagga_real_stabilised) helper, retrieve absolute time but stabilised so as to never decrease. (quagga_gettime) Exported interface, analogous to POSIX clock_gettime() in interface, supporting several clocks. (quagga_time) Exported interface, analogous to traditional time(), will never decrease. (recent_relative_time) Convenience function to retrieve relative_time timeval, similar to existing recent_time absolute timeval, for when an approximately recent value will do. (remainder) Update to use above helpers. (thread_getrusage) Previously was a macro, but needs to be a function to twiddle with thread.c private stuff. * thread.c: Point the GETRUSAGE macro at previous function. Export quagga_gettime, quagga_time and recent_relative_time for general use.
* [ospfd] draft-ogier-ospf-dbex-opt DB-exchange optimisationPaul Jakma2006-08-272-14/+35
| | | | | | | 2006-08-03 Paul Jakma <paul.jakma@sun.com> * ospf_packet.c: (ospf_make_db_desc) Implement draft-ogier-ospf-dbex-opt DB-exchange optimisation.
* [ospfd] Raise ExchangeDone earlier, avoid often needless round of DD packetsPaul Jakma2006-08-272-19/+53
| | | | | | | | | | | | | 2006-08-03 Paul Jakma <paul.jakma@sun.com> * ospf_packet.c: (ospf_make_db_desc) Unset the DD More bit after constructing the packet, if appropriate. (ospf_db_desc_proc) Speed up Exchange, slave should raise ExchangeDone earlier, as RFC mandates, by forming its reply before deciding whether both sides are done, avoids a needless round of empty DD packet exchanges at the end of Exchange, hence speeding up ExchangeDone. (ospf_db_desc) use UNSET_FLAG macro.
* [ospfd] trivial: consolidate LSDB delete code into single functionPaul Jakma2006-08-272-53/+53
| | | | | | | | | | 2006-08-04 Paul Jakma <paul.jakma@sun.com> * ospf_lsdb.c: (ospf_lsdb_delete_entry) new function, consolidate exact same functionality replicated in other functions. (ospf_lsdb_add) Strip out code by using ospf_lsdb_delete_entry. (ospf_lsdb_delete) ditto. (ospf_lsdb_delete_all) ditto.
* [zebra] trivial: rtadv.h depends on interface.hPaul Jakma2006-08-062-0/+3
| | | | | | 2006-08-06 Paul Jakma <paul.jakma@sun.com> * rtadv.h: depends on interface.h, so should include it.
* [zebra] fix inconsistencies in ifstat_update_* declarations and definitionsPaul Jakma2006-08-064-10/+19
| | | | | | | | | | | 2006-08-06 Paul Jakma <paul.jakma@sun.com> * interface.h: (ifstat_update_proc) declaration should match ifstat_update_sysctl really, which is to not return status, as such status is not used anywhere. * if_{proc,sysctl}.c: Make ifstat_update_* definitions and return values consistent with each other and their declarations, ie: (void) (*) (void).
* [bgpd] aspath_loop_check was broken, fix it and the aspath unit test code.Paul Jakma2006-08-064-6/+18
| | | | | | | | | | | 2006-08-06 Paul Jakma <paul.jakma@sun.com> * bgp_aspath.c: (aspath_loop_check) Fix the typo-bug which essentially had disabled this check. Problem reported by Bartek Kania <mrbk@gnarf.org> in [quagga-users 7388]. * aspath_test.c: (validate) Fix the sense of the aspath_loop_check, which was the wrong way around and had actually been testing for aspath_loop_check to be buggy.
* [zebra] IRDP: Move stream_free to where its created, probably fixing a leakPaul Jakma2006-08-043-3/+13
| | | | | | | | | | | | 2006-08-01 Paul Jakma <paul.jakma@sun.com> * irdp_main.c: (irdp_advertisement) free the stream here, when done, right under where it was allocated so it's blindingly obvious it's correct. This possibly fixes a very slow leak of streams in zebra. * irdp_packet.c: (send_packet) don't free the stream here as it's hard to tell if right, plus an error case seemed to returning before free anyway.
* [zebra] add more stuff to misc_null to avoid compile breakagesPaul Jakma2006-08-042-0/+7
| | | | | | | 2006-08-04 Paul Jakma <paul.jakma@sun.com> * misc_null.c: Add ifstat_update_sysctl, add another required header.
* [testzebra] Patch to misc_null.c to get older gcc to recognize #pragma tricksAndrew J. Schorr2006-08-022-0/+10
| | | | | | | 2006-08-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * misc_null.c: Must include header files to get older versions of gcc to process the #pragma statements properly.