From 3998bfd76620a676fbd77f19c5c6ea80a4cc88d2 Mon Sep 17 00:00:00 2001 From: Paul Jakma Date: Tue, 19 Aug 2008 14:13:43 +0100 Subject: [trivia] Remove ChangeLog files, as this data is now maintained in SCM --- ospfd/ChangeLog | 4984 ------------------------------------------------------- 1 file changed, 4984 deletions(-) delete mode 100644 ospfd/ChangeLog (limited to 'ospfd') diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog deleted file mode 100644 index 30e2d60b..00000000 --- a/ospfd/ChangeLog +++ /dev/null @@ -1,4984 +0,0 @@ -2007-09-18 Denis Ovsienko - - * ospf_network.c: (ospf_adjust_sndbuflen) Don't complain - about getting more buffer space, than requested. - * ospfd.[ch]: (ospf_new) Abandon OSPF_SNDBUFLEN_DEFAULT - and consider OS's initial buffer size instead. - * ospf_interface.c: (ospf_if_up) Fix missing argument. - -2007-08-21 Denis Ovsienko - - * ospfd.h: Extend struct ospf with maxsndbuflen field and - define its default value. - * ospfd.c: (ospf_new) init maxsndbuflen - * ospf_interface.c: (ospf_if_up) Call ospf_adjust_sndbuflen() - for each regular interface being brought up. - * ospf_network.[ch]: (ospf_adjust_sndbuflen) New function - makes sure ospf socket sending buffer is large enough - to cover the biggest interface MTU we have seen ever. - * ospf_packet.c: (ospf_write) Use maxsndbuflen to decide on - the biggest amount of data we are going to send at once. - -2007-08-07 Paul Jakma - - * ospf_spf.c: (ospf_spf_next) Finish off the explanatory - comment made in previous commit - -2007-08-07 Atis Elsts - - * ospf_spf.c: (ospf_spf_next) Sort heap in correct direction - after vertex cost is changed, thus fixing incorrect SPF - calculation on certain topologies. - -2007-08-06 Paul Jakma - - * ospf_lsa.c: (router_lsa_flags) Bug #331, NSSA regression caused - caused ASBRs to not advertise E-bit into NSSA areas. - -2007-05-09 Milan Kocian - - * ospf_vty.c: Fix commands: 'ip ospf authentication A.B.C.D', - 'no ip ospf authentication A.B.C.D', 'no ip ospf - authentication-key A.B.C.D'. Simply fix argv's indexes and - argc check in DEFUN functions. - -2007-05-07 Paul Jakma - - * ospf_spf.c: (ospf_vertex_new) Dont init vertices to infinity, - just let 0 be a special case. - (ospf_spf_add_parent) 0 distance candidate vertex is special, - cost still to be initialised - asserting that new distance - is <= existing only makes sense where w already has a cost. - (ospf_spf_next) Infinite cost links should not be followed, - bar those of the root. - -2007-04-30 Andrew J. Schorr - - * ospfd.c: (ospf_network_match_iface) Comment out - COMPATIBILITY_MODE. Going forward, the ospf "network" command - will use a simple test: does the network command prefix - contain the connected (destination) prefix of the interface? - -2007-04-21 Andrew J. Schorr - - * ospf_interface.c: (ospf_if_set_multicast) Fix bug: was testing - interface passive status improperly in light of the recent - 'passive-interface default' patch. Now need to test - OSPF_IF_PASSIVE_STATUS(oi) instead of - OSPF_IF_PARAM(oi, passive_interface). - -2007-03-23 Paul Jakma - - * ospf_spf.c: (various) Add more debug statements. - (ospf_nexthop_calculation) Fix silly regression causing ospfd - to fail to calculate paths past networks not attached to root - vertex, introduced with bug #330 fixes. - -2007-03-14 Andrew J. Schorr - - * ospf_snmp.c: (ospf_snmp_neighbor_state) New function to - map internal quagga neighbor states to SNMP standard values. - (ospfNbrEntry) Call new ospf_snmp_neighbor_state function. - -2007-03-14 Andrew J. Schorr - - * ospf_zebra.c: (ospf_zebra_add, ospf_zebra_delete) Fix bug - where inet_ntoa was used twice in the same debug message, - which doesn't work because there's a single shared buffer - for the returned string. The fix is to use inet_ntop. - -2007-02-27 Andrew J. Schorr - - * ospfd.c: (ospf_terminate) Exit immediately if ospf is not - actually running (e.g. the config file was empty). Fixes - bug where SIGTERM would not kill ospfd. - -2007-02-26 Paul Jakma - - * ospf_spf.c: Fix regression introduced with bug #330 fix: The - cost update added to ospf_spf_add_parent only handled PtP - case, differing from same functionality in higher-level - ospf_spf_next. Regression diagnosed by Anders Pedersen, - mailnews+router-quagga-dev@news.cohaesio.com. - (ospf_vertex_new) Initialise vertices to max-cost. - (ospf_spf_init) Root vertex always creates with 0 cost. - (ospf_spf_add_parent) Remove the buggy V->W cost calculating - code, instead take the new distance as a parameter. - (ospf_nexthop_calculation) Take distance as parameter, so it - can be passed down to add_parent. - (ospf_spf_next) Dont initialise candiate vertex distance, - vertex_new does so already. Pass distance down to - nexthop_calculation (see above). - -2007-01-24 Paul Jakma - - * ospf_spf.c: Bug #330: Nexthop calculation sometimes may fail, - and it needs to indicate this result to SPF. - (ospf_spf_add_parent) Flush of parent list needs to be done here, - for simplicity. - (ospf_nexthop_calculation) Caller needs to know whether - nexthop calculation succeeded. Every return statement must - correctly indicate such. - (ospf_spf_next) Queueing/prioritisation of vertices in SPF - must take into account whether nexthop_calculation succeeded, - or SPF may fail to find best paths. - -2006-12-12 Andrew J. Schorr - - * ospf_interface.c: (ospf_if_is_configured, ospf_if_lookup_by_prefix, - ospf_if_lookup_recv_if) Simplify logic using new CONNECTED_PREFIX - macro. - * ospf_lsa.c: (lsa_link_ptop_set) Using the new CONNECTED_PREFIX - macro, both options collapse into the same code. - * ospf_snmp.c: (ospf_snmp_if_update) Simplify logic using new - CONNECTED_ID macro. - (ospf_snmp_is_if_have_addr) Simplify logic using new CONNECTED_PREFIX - macro. - * ospf_vty.c: (show_ip_ospf_interface_sub) Use new CONNECTED_PEER macro - instead of testing the IFF_POINTOPOINT flag. - * ospfd.c: (ospf_network_match_iface) Use new CONNECTED_PEER macro - instead of testing with if_is_pointopoint. And add commented-out - code to implement alternative (in my opinion) more elegant behavior - that has no special-case treatment for PtP addresses. - (ospf_network_run) Use new CONNECTED_ID macro to simplify logic. - -2006-12-04 Andrew J. Schorr - - * 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. - -2006-11-30 Andrew J. Schorr - - * 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. - -2006-11-28 Andrew J. Schorr - - * 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. - -2006-10-24 Andrew J. Schorr - - * 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. - -2006-10-22 Yar Tikhiy - - * (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. - -2006-09-25 Andrew J. Schorr - - * 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. - -2006-08-28 Andy Gay - - * 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. - -2006-08-27 J.J. Krabbendam - - * ospfd.c: (ospf_finish_final) default redistribute should be - unset too, fixes bug where reconfiguring ospfd completely - can no longer enable default redistribution. - -2006-08-25 Paul Jakma - - * (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. - -2006-08-04 Paul Jakma - - * 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. - -2006-08-03 Paul Jakma - - * 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. - Implement draft-ogier-ospf-dbex-opt DB-exchange optimisation. - (ospf_db_desc) use UNSET_FLAG macro. - -2006-07-27 Andrew J. Schorr - - * ospfd.c: (ospf_router_id_update) Fix and document the algorithm for - selecting the router ID: if there is not a statically configured ID, - then stick to the most recent value to avoid disruptive changes. - This should fix bug #288. - -2006-07-26 Paul Jakma - - * ospf_lsa.{c,h}: (ospf_lsa_unlock) Change to take a double pointer - to the LSA to be 'unlocked', so that, if the LSA is freed, the - callers pointer to the LSA can be NULLed out, allowing any further - use of that pointer to provoke a crash sooner rather than later. - * ospf_*.c: (general) Adjust callers of ospf_lsa_unlock to match - previous. Try annotate 'locking' somewhat to show which 'locks' - are protecting what LSA reference, if not obvious. - * ospf_opaque.c: (ospf_opaque_lsa_install) Trivial: remove useless - goto, replace with return. - * ospf_packet.c: (ospf_make_ls_ack) Trivial: merge two list loops, - the dual-loop predated the delete-safe list-loop macro. - -2006-07-25 Paul Jakma - - * ospf_neigbor.h: (struct ospf_neighbor) Add some additional - neighbour state statistics fields, timestamps for progressive - and regressive state changes, and pointer to event string - for the latter state change. - * ospf_nsm.c: (nsm_notice_state_change) Update new state changs - history as required. - * ospf_vty.c: (show_ip_ospf_neighbor_detail_sub) Print out above - new per-neighbour state change stats. - -2006-07-10 Paul Jakma - - * ospf_nsm.c: (nsm_change_state) call nsm_clear_adj for all - adjacency losses, hence removing need for nsm_reset_nbr. - (nsm_reset_nbr) kill it, clear_adj in previous does fine. - (nsm_kill_nbr,nsm_start) remove nsm_reset_nbr call. - (ospf_nsm_event) Allow NSM function to be NULL, this along with - removal of nsm_reset_nbr, allows a bunch of now useless functiosn - to be removed. - Remove some useless variables. - (nsm_ignore) now useless, remove. - (nsm_bad_ls_req) ditto - (nsm_seq_number_mismatch) " - (nsm_oneway_received) " - (nsm_inactivity_timer) " - (nsm_ll_down) " - (NSM) replace removed action functions with NULL. - (nsm_notice_state_changes) Move state change logging code to new - func to declutter nsm_change_state and ospf_nsm_event. - Log event with AdjChange, it's useful to know. - (nsm_change_state) move adjchange and snmp logging to previous. - (ospf_nsm_event) call nsm_notice_state_changes from here. - Move the debug message to entry of function, so it gets out - even if something goes wrong. - Record state change timestamp and event in nbr struct. - * ospf_neighbor.h: (struct ospf_neighbor) Add fields to record - timestamp of last NSM change and event. - * ospf_vty.c: (show_ip_ospf_neighbor_detail_sub) Print - last state change timestamp and event, if available. - -2006-07-10 Andrew J. Schorr - - * ospf_packet.c: (ospf_hello) Improve NetworkMask mismatch warning - message to include interface name and conflicting prefix lengths. - -2006-07-07 Paul Jakma - - * ospf_nsm.h: Add a NSM_Deleted neighbour state, to act as dummy - state indicating the neighbour is to be deleted. - * ospf_nsm.c: (general) Use the NSM_Deleted state to delete - neighbours, thus allowing code to be slightly more obvious - in its flow. - (nsm_timer_set) Add NSM_Deleted. Add another timer the code - missed. - (nsm_kill_nbr) No need for special case call to nsm_change_state - anymore. - Make the assert and error-handling for same case more readable - (Andrew Schorr) - Remove the call to ospf_nbr_delete, nsm_change_state can do - this generally now via NSM_Deleted. - (struct ... NSM) Add the dummy NSM_Deleted state, the 3 events - that can lead to nsm_kill_nbr all now transition the NBR to - NSM_Deleted and the general change_state function can be left - to do the work. - (ospf_nsm_event) Special casing of events and early-return can - be removed now. - On transition into Deleted, delete the nbr. - * ospf_dump.c: (ospf_nsm_state_msg) Add Deleted. - -2006-07-06 Paul Jakma - - * ospf_nsm.c: (ospf_nsm_event) LLDown event also results in nbr - being deleted, requires early-return too. Likely explains - some crash reports after interface events. - -2006-07-04 Paul Jakma - - * ospf_nsm.c: (general) Various small cleanups from Andrew's - review of last set of patches. - (nsm_timer_set) Loading, Full and default can share - same code too. - (nsm_should_adj) Can just be one big OR. - (nsm_twoway_received) Collapse into return statement. - -2006-07-02 Paul Jakma - - * ospf_nsm.c: (nsm_should_adj) New function, just consolidate the - 10.4 adjacency check from nsm_twoway_received/nsm_adj_ok. - (nsm_twoway_received/nsm_adj_ok) Use former. - (nsm_clear_adj) clear adjacency related state for a - neighbour, needed for some state changes from > ExStart down - to ExStart or less, which need not go through nsm_reset_nbr. - (nsm_reset_nbr) move code to former. Should be static. - (ospf_nsm_event) Don't allow action functions to change - next_state if the NSM tables do not indicate next_state is - conditional, log warning if one tries - existing code - appears fine though. - Remove long dead code. - Use nsm_clear_adj for state changes that take down - adjacencies to TwoWay/ExStart. - (nsm_timer_set) ls_req timer should be OFF in early states. - Compact several identical sections. - Set inactivity timer to OFF for Down, for documentary - purposes. - (nsm_kill_nbr) Oops, action function shouldn't try return - 1 for error. - * ospf_lsa.c: (ospf_translated_nssa_refresh) CID #13. - -2006-06-30 Andrew J. Schorr - - * ospf_vty.c: (show_ip_ospf_neighbor_id) Should show all instances - of that neighbor (since it may appear on multiple interfaces) - instead of bailing out after showing the first match. - -2006-06-29 Andrew J. Schorr - - * ospf_nsm.c: (nsm_twoway_received) When deciding whether to - change from state Init to ExStart, the test for whether the - neighboring router is DR or BDR should be against the - local router's notion of DR/BDR, not the neighbor's view. - -2006-06-28 Erik Muller - - * ospfd.h: Define 2 new struct ospf config flags: - OSPF_LOG_ADJACENCY_CHANGES and OSPF_LOG_ADJACENCY_DETAIL - * ospf_nsm.c (nsm_change_state): Log adjacency changes if - requested. - * ospf_vty.c (ospf_log_adjacency_changes): New command function - to implement ospf subcommand "log-adjacency-changes [detail]". - (no_ospf_log_adjacency_changes) Turn off log-adjacency-changes. - (show_ip_ospf) Show whether adjacency changes are logged. - (ospf_config_write) Add "log-adjacency-changes [detail]" to config. - (ospf_vty_init) Add ospf_log_adjacency_changes and - no_ospf_log_adjacency_changes. - -2006-06-26 Paul Jakma - - * ospf_abr.c: (general) NSSA translate-candidate ABRs need to - be ASBRs, or other routers may rightfully refuse to install - translated type-5s LSAs. reported by dendroot@gmail.com. - (ospf_abr_nssa_check_status) Detect change in translator - state when ABR, and inc/dec redistribute count as when we - leave/enter the disabled state - so that translate-enabled - ABR properly sets ASBR bit on non-NSSA areas. - Run the resulting function through indent to clean it up. - * ospf_lsa.c: (router_lsa_flags) For purposes of ASBR bit, - NSSA area is same as stub area. - -2006-06-24 Andrew J. Schorr - - * ospf_snmp.c: (ospfTrapNbrStateChange, ospfTrapIfStateChange) Improve - info log message to indicate why the trap is being sent. - -2006-06-24 Andrew J. Schorr - - * ospf_dump.c: (config_write_debug) Fix typo to show debug ospf nsm - status properly (not ism status). - -2006-06-17 Andrew J. Schorr - - * ospf_vty.c: ({no_,}ospf_passive_interface) Replace if_lookup_by_name - with a call to if_get_by_name -- if the interface does not exist - already, it should be created. And remove the obsolete warning - message. - -2006-06-15 Paul Jakma - - * ospf_interface.h: (struct ospf_if_info) Add reference counts - for multicast group memberships. Add various macros to help - manipulate/check membership state. - * ospf_interface.c: (ospf_if_set_multicast) Maintain the - ospf_if_info reference counts, and only actually drop - memberships if it hits 0, to avoid losing membership when - OSPF is disabled on an interface with multiple active OSPF - interfaces. - * ospf_packet.c: (ospf_{hello,read}) Use the new macros to - check/set - multicast membership. - * ospf_vty.c: (show_ip_ospf_interface_sub) ditto. - -2006-05-31 Paul Jakma - - * ospf_lsdb.c: (ospf_lsdb_delete) robustify against NULL arguments, - print warning. - * ospf_lsa.c: (ospf_discard_from_db) ditto. - (ospf_maxage_lsa_remover) Check lsa->lsdb for validity, possible - mitigation (but not solution) for bug #269. - -2006-05-30 Paul Jakma - - * ospf_packet.c: (ospf_read) Debug message about packets - received on unenabled interfaces should be conditional on - debug being set. - -2006-05-23 Paul Jakma - - * ospf_vty.c: (general) Replace in-place route redistribution - command and help strings with the new auto-generated defines - from lib/route_types.h - -2006-05-13 Paul Jakma - - * ospf_lsa.c: (ospf_translated_nssa_refresh) fix the sanity - check to match the assert, small error in CID #13 fix. - -2006-05-12 Paul Jakma - - * ospf_lsa.c: (ospf_lsa_action) Get rid of the ospf_lookup - call, which is not checked for NULL return, by stripping out - functionality which is never used, hence fixing Coverity CID - #29. - (struct lsa_action) remove unused member. - (ospf_translated_nssa_refresh) Add non-assert sanity check, - in case DEBUG isn't defined. - Debug message when no type7 exists should print the ID from - the type5, not the type7, fixes CID #13. - * ospf_interface.c: (ospf_if_exists) Fix missing NULL return - check on ospf_lookup, CID #27. - * ospf_asbr.c: (ospf_redistribute_withdraw) remove ospf_lookup - call by taking the struct ospf * as argument, which the - caller has, fixing CID #28. - * ospf_asbr.h: (ospf_redistribute_withdraw) update declaration - * ospf_zebra.c: (ospf_redistribute_unset) update call to - ospf_redistribute_withdraw to match. - * ospf_ia.c: (ospf_update_router_route) ospf->backbone could be - NULL when passed to ospf_find_asbr_route_through_area, - check for NULL first, CID #14. - * ospf_ism.c: (ism_change_state) NULL check on oi->area is - useless, it's always valid. Only possibility where it - couldn't be is if there is a race between abr_task and - cleaning up oi's, in which case a NULL check here isn't going - to do anything. Fixes CID #15. - -2006-05-11 Paul Jakma - - * ospf_vty.c: (general) Audit ospf_lookup calls in commands, - ensure check for NULL result, make vty messages consistent. - (show_ip_ospf_interface) Missing NULL check on ospf_lookup - result, fixes Coverity CID #70. - (no_ospf_area_filter_list) Check NULL result from - ospf_area_lookup_by_area_id, fixes Coverity CID #69 - * ospf_route.c: (ospf_route_delete_same_ext) Fix deref before - NULL check by moving into check-protected block, fix CID #49. - * ospf_abr.c: (ospf_area_range_cost_set) Shouldn't create a new - range, should just lookup to see if one exists, the new range - is just leaked. Fixes CID #46. - * ospf_lsa.c: (ospf_default_originate_timer) Let the thread - take (struct ospf *) as thread argument, rather than (struct - ospf *)->default_originate, thus avoiding having to call - ospf_lookup. - * ospf_zebra.c: (ospf_redistribute_default_set) change setup - of ospf_default_originate_timer thread to match. - * ospfd.c: (ospf_router_id_update) ditto. - -2006-04-24 Paul Jakma - - * (general) More Virtual-link fixes, again with much help in - testing / debug from Juergen Kammer. Primarily in SPF. - * ospf_spf.h: Add guard. ospf_interface.h will include this - header. - * ospf_interface.h: Modify ospf_vl_lookup definition to take - struct ospf as argument, so as to allow for NULL area - argument. - (struct ospf_vl_data) Remove out_oi, instead add a struct - vertex_nexthop, to use as initial nexthop for backbone paths - through a vlink. - * ospf_interface.c: (ospf_vl_lookup) Modified to allow - NULL area to be passed to indicate "any" (first) area. - Add extra debug. - (ospf_vl_set_params) vl_oi -> nexthop. Add extra debug. - (ospf_vl_up_check) Fix debug, inet_ntoa returns a static - buffer.. - * ospf_route.c: (ospf_intra_add_router) Vlinks dont go through - backbone, don't bother checking. - * ospf_spf.c: (static struct list vertex_list) Record vertices - that will need to be freed. - (cmp) Order network before router vertices, as required, - wasn't implemented. - (vertex_nexthop_free) Mild additional robustness check. - (vertex_parent_free) Take void argument, as this function - is passed as list deconstructor for vertex parent list. - (ospf_vertex_new) More debug. Set deconstructor for parent - list. Track allocated vertices on the vertex_list. - (ospf_vertex_free) Get rid of the tricky recursive cleanup of - vertices. Now frees only the given vertex. - (ospf_vertex_add_parent) Fix assert. - (ospf_nexthop_calculation) Fix calculation of nexthop for - VLink vertices, lookup the vl_data and use its previously - recorded nexthop information. - (ospf_spf_calculate) Vertices are freed simply by deleting - vertex_list nodes and letting ospf_vertex_free as deconstructor - work per-node. - (ospf_spf_calculate_timer) Trivial optimisation, leave - backbone SPF calculation till last to reduce SPF churn on - VLink updates. - * ospf_vty.c: (ospf_find_vl_data) update call to ospf_vl_lookup - (no_ospf_area_vlink_cmd) ditto. - (show_ip_ospf_interface_sub) For Vlinks, the peer address is - more interesting than the output interface. - -2006-04-03 Paul Jakma - - * (general) Fix issues with handling of Vlinks and entries - in the nbrs route-table which were highlighted by the - nsm/nbr_self fixes from bug #234. Many thanks to Juergen - Kammer for his help and efforts in testing out debug patches to - pinpoint the issue. - * ospf_interface.c: (ospf_vl_new) Add nbr_self for Vlink. - * ospf_neighbor.c: (ospf_nbr_key) new static function, helper - to create key in nbrs table for a given nbr. - (ospf_nbr_delete) Use ospf_nbr_key. Add an assert() to - document an expected state. - (ospf_nbr_add_self) Ditto. - (ospf_nbr_lookup_by_addr) Add an assert. - * ospf_nsm.c: (nsm_kill_nbr) Can never kill the nbr_self - psuedo-neighbour. - -2006-03-27 Paul Jakma - - * ospf_lsa.c: (ospf_lsa_checksum) Add an explicit cast to avoid - the ambiguities of ANSI and C99 C with respect to type - conversion. Detailed problem report and test case with - example data supplied by Dmitry Ivanov . - -2006-03-25 Paul Jakma - - * ospf_interface.c: (ospf_if_lookup_recv_if) Ignore loopbacks, - we can never ever receive packets on those. Should fix - case where CARP is run with address in same subnet as real - interface. Problem report and diagnosis thanks to: - Landon Fuller . - However, ospf_read() still can't deal deterministically with - multiple interfaces in same subnet. - -2006-03-23 Steve Lawson - - * ospf_lsa.c: (ospf_lsa_install) Fix incorrect byte-order - conversion of OSPF_MAX_SEQUENCE_NUMBER - -2006-01-19 Paul Jakma - - * (general) various miscellaneous compiler warning fixes. - Remove redundant break statements from switch clauses - which return. - return from main, not exit, cause it annoys SOS. - Remove stray semi-colons which cause empty-statement - warnings. - -2006-01-18 Juergen Kammer - - * ospf_lsa.c: (ospf_router_lsa_new) dont take reference to the - stream data until it is constructed, data reference is - volatile due to the potential resize in link_info_set - -2006-01-18 Paul Jakma - - * ospf_lsa.c: (link_info_set) Resize the stream if required and - possible. Return number of links added. - (lsa_link_*_set) use return value from previous. - * ospf_lsa.h: Add OSPF_ROUTER_LSA_LINK_SIZE define. - -2006-01-17 Paul Jakma - - * ospf_packet.c: (ospf_verify_header) print out the types - involved if there's a mismatch. - * ospf_zebra.c: (ospf_zebra_add) Adjust to new zserv format. - -2006-01-10 Len Sorensen - - * (general) Bug #234, see also [quagga-dev 3902]. - Fix problem with nbr_self not being properly reinitialised - when an interface comes up, after having been down. - Some re-arrangement done by Paul Jakma, any bugs introduced - on top of Len's suggested changes are his. - * ospf_neighbor.c: (ospf_nbr_add_self) centralise - initialisation of nbr_self parameters here. - * ospf_interface.c: (ospf_if_new) deleting initialisation of - parameters of nbr_self, just rely on call to - ospf_nbr_add_self. - (ospf_if_cleanup) ditto. - * ospfd.c: (ospf_network_run) ditto. - -2006-01-10 Juris Kalnins - - * ospf_zebra.c: (ospf_interface_address_delete) fix rare leak of - struct connected in an error case. - * ospf_packet.c: (ospf_make_md5_digest) fix odd, if not - undefined effect, assignment of an increment expression. - -2006-01-10 Paul Jakma - - * ospfd.c: (ospf_network_run) checking to see if router-id - is set should be on ospf->router_id, not router_id_static. - This was causing ospfd to not start if router-id had not - been configured statically. - (ospf_if_update) ditto. - * ospf_vty.c: (config_write_ospf_distribute) trim down - redundant strings. - -2005-11-26 Paul Jakma - - * ospf_api.c: (struct opaque_lsa) change from gcc zero-length - array to C99 incomplete type array. - * (general) s/graceful/deferred/ in all files, the former term - is confusing wrt OSPF Graceful-Restart. - * ospfd.c: (ospf_deferred_shutdown_check) dont return - a function which returns void. SOS complains about this. - (ospf_finish) - -2005-11-20 Paul Jakma - - * ospfd.h: remove the OSPF_ROUTER_ID_UPDATE_DELAY define - (struct ospf) remove the router_id timer thread. - remove export of ospf_router_id_update_timer. - * ospfd.c: (ospf_router_id_update) call ospf_if_update to - poke interfaces into action after ID has been configured. - (ospf_router_id_update_timer) removed. - (ospf_finish_final) t_router_id_update timer is gone. - (ospf_network_run) router-id update timer gone. - call ospf_router_id_update directly if ID not configured. - In the per-iface loop, don't ospf_if_up interfaces if - ID is still not configured. The update function will call - ospf_if_update anyway. - (ospf_if_update) ID update timer is gone. Just return if no - ID is set. - * ospf_vty.c: (ospf_router_id) call ospf_router_id_update, no - timer needed. - * ospf_zebra.c: (ospf_router_id_update_zebra) call - ospf_router_id_update directly, not via timer. - * ospf_abr.c: (ospf_abr_announce_network_to_area) check - returned LSA of ospf_summary_lsa_refresh and print warning if - it failed. - (ospf_abr_announce_network_to_area) similar - (ospf_abr_announce_rtr_to_area) similar - * ospf_lsa.c: (ospf_router_lsa_new) check LSA returned is valid. - (ospf_router_lsa_originate) similar - (ospf_router_lsa_refresh, ospf_network_lsa_new) similar - (ospf_summary_lsa_new) Check ID is valid. - (ospf_summary_lsa_originate) ditto, and check returned LSA from - previous function is !NULL. - (ospf_summary_lsa_refresh) check ospf_summary_lsa_new return - is !NULL. - (ospf_summary_asbr_lsa_new) ID valid check. - (ospf_summary_asbr_lsa_originate) similar. - -2005-11-16 Andrew J. Schorr - - * ospf_dump.h: Define OSPF_TIME_DUMP_SIZE as appropriate buffer size - for use with ospf_timer_dump and ospf_timeval_dump. - * ospf_vty.c: Change all buffer sizes used with ospf_timer_dump and - ospf_timeval_dump to have size OSPF_TIME_DUMP_SIZE. - (show_ip_ospf_interface_sub) Fix possible buffer overflow in - call to ospf_timer_dump. - -2005-11-16 Andrew J. Schorr - - * ospf_ism.h: (OSPF_ISM_TIMER_OFF) Improve macro syntax by enclosing - in 'do {...} while(0)'. - -2005-11-14 Paul Jakma - - * ospfd.c: (ospf_new) stub-shutdown should just default to - unconfigured, too strange otherwise. - (ospf_finish_final) t_opaque_lsa_self TIMER_OFF should be - preprocessor conditional on HAVE_OPAQUE_LSA. - * ospfd.h: (struct ospf) remove the SHUTDOWN_DEFAULT define. - no longer used, plus it wasn't in range that the command - accepted. - * ospf_zebra.h: Depends on vty.h, include it. - -2005-11-11 Paul Jakma - - * ospf_spf.c: (ospf_canonical_nexthops_free) Free only - the nexthops pointing to the root vertex. We may visit a - vertex twice or the vertex may have some inherited nexthops, - if we free other nexthops we could crash. - -2005-11-04 Paul Jakma - - * ospf_{dump,spf,vty}.c: Oops, use the internal tv_sub - function rather than unportable timersub. - -2005-11-03 Paul Jakma - - * ospf_apiserver.c: (apiserver_sync_callback) stray semi-colon - * ospf_packet.c: include checksum.h, remove the in_cksum extern - * prototypes. - * ospf_te.h: Add braces, quell warning. - * ospf_packet.c: Change level of some warnings to - informational. - -2005-10-29 Paul Jakma - - * (general) RFC3137 stub-router support - * ospfd.h: Add OSPF_OUTPUT_COST_INFINITE define. - (struct ospf_master) Add a OSPF_MASTER_SHUTDOWN flag for - options, to allow shutdown to distinguish between complete - shutdown and shutdown of a subset of ospf instances. - (struct ospf) - Add stub_router_{startup,shutdown_}time, configuration of startup - and shutdown time for stub-router. - Add t_graceful_shutdown struct thread, timer for graceful - shutdown, if needed. - (struct ospf_area) Add stub_router_state - run time state of - stub-router for an area. Add flags for ADMIN, IS and WAS - states. - Add t_stub_router, timer thread to resend router-lsa for an - area. - * ospf_lsa.c: (ospf_link_cost) new simple function to spit out - either the given lnks cost or infinite cost if stub-router is - in effect. - (lsa_link_{ptop,broadcast,virtuallink,ptomp}_set) use - previous function for transit-links. - (ospf_stub_router_timer) timer thread for end of startup stub - router. Change state as required for the area and setup - re-origination of router-lsa. - (ospf_stub_router_check) Check/do whether stub-router should be - enabled, and whether it requires timer to be setup. - (ospf_router_lsa_new) call previous function at top. - (ospf_router_lsa_originate) no external callers, made static. - * ospf_lsa.h: (ospf_router_lsa_originate) removed. - * ospf_main.c: (sigint) make static. - remove call to exit, as ospf_terminate now deals with - exiting. - * ospf_route.c: (ospf_terminate) removed, now in ospfd.c. - * ospf_vty.c: (show_ip_ospf_area) print out state of - stub-router, if active. - (show_ip_ospf) print out configuration of stub-router - support, and details of graceful-shutdown if the timer is - active. - ((no)?ospf_max_metric_router_lsa_{admin,startup,shutdown}) new - commands to (de-)?configure stub-router support. - (config_write_stub_router) write out config of stub-router. - (ospf_config_write) call previous. - (ospf_vty_init) install the new stub-router commands. - * ospfd.c: various functions made static. - (ospf_new) Set defaults for stub-router. Graceful shutdown - is made to default on, just to be adventerous. - (ospf_graceful_shutdown_finish) new function, final part of - shutdown. - (ospf_graceful_shutdown_timer) timer thread wrapper for - graceful-shutdown. - (ospf_graceful_shutdown_check) check whether to setup timer - for shutdown or proceed directly to final shutdown. - (ospf_terminate) moved here from ospf_route.c, call - ospf_finish for each instance. - (ospf_finish) renamed to ospf_finish_final and made static. - (ospf_finish) new function, exported wrapper around - ospf_graceful_shutdown_check. - (ospf_finish_final) complete shutdown of an instance. - Add missing TIMER_OFF's of two timer threads. - (ospf_area_free) opaque self lsa timer should be turned off. - -2005-10-23 Paul Jakma - - * ospf_apiserver.c: (ospf_apiserver_term) This function should - not have side-effects (eg segv) if no apiserver instances are - active, ie be robust. - * ospf_vty.c: (show_ip_ospf) fix display of SPF timer if it - has not yet been run. - -2005-10-21 Paul Jakma - - * ospf_dump.c: (ospf_timeval_dump) fix ms adjustment, thanks to - Andrew Schorr. - * ospf_vty.c: (ospf_config_write) fix write out of spf timers - configuration. - -2005-10-21 Paul Jakma - - * (general) SPF millisecond resolution timer with adaptive, - linear back-off holdtime. Prettification of ospf_timer_dump. - * ospf_dump.c: (ospf_timeval_dump) new function. The guts of - ospf_timer_dump, but made to be more dynamic in printing out - the relative timeval, sliding the precision printed out - according to the value. - (ospf_timer_dump) guts moved to ospf_timeval_dump. - * ospf_dump.h: export ospf_timeval_dump. - * ospf_flood.c: (ospf_flood) remove gettimeofday, use - the libzebra exported recent_time instead, as it's not - terribly critical to have time exactly right - the dropped - LSA will be retransmited to us if we don't ACK it. - * ospf_packet.c: (ospf_ls_upd_timer) Ditto, but here we're - not transmitting, just putting LSA back on update transmit list. - * ospfd.h: delay and holdtimes should be unsigned. - Add spf_max_holdtime and spf_hold_multiplier. - Update default defines for delay and hold time to be in msec. - (struct ospf) change the SPF timestamp to a struct timeval. - Remove ospf_timers_spf_(un)?set. - * ospfd.c: (ospf_timers_spf_{set,unset}) removed. - (ospf_new) initialise spf_max_holdtime and spf_hold_multiplier - * ospf_spf.c: (ospf_spf_calculate) SPF timestamp is a timeval - now, update with gettimeofday. - (ospf_spf_calculate_schedule) Change SPF timers to millisecond - resolution. - Make the holdtime be adaptive, with a linear increase in - holdtime ever consecutive SPF run which occurs within holdtime - of previous SPF, bounded by spf_max_holdtime. - * ospf_vty.c: Update spf timers commands. - (ospf_timers_spf_set) trivial helper. - (ospf_timers_throttle_spf_cmd) new command to set SPF delay, - initial hold and max hold times with millisecond resolution. - (ospf_timers_spf_cmd) Deprecated. Accept the old values, - convert to msec, truncate to new limits. - (no_ospf_timers_throttle_spf_cmd) set timers to defaults. - (no_ospf_timers_spf_cmd) deprecated form, same as previous. - (show_ip_ospf_cmd) Display SPF parameters and times. - (show_ip_ospf_neighbour_header) Centralise the 'sh ip os ne' - header. - (show_ip_ospf_neighbor_sub) Fix the field widths. Get rid of - the multiple spaces which were making the lines even longer. - (show_ip_ospf_neighbor_cmd) Use show_ip_ospf_neighbour_header - (show_ip_ospf_neighbor_all_cmd) ditto and fix the field - widths for NBMA neighbours. - (show_ip_ospf_neighbor_int) Use header function. - (show_ip_ospf_nbr_nbma_detail_sub) use sizeof for timebuf, - local array - safer. - (show_ip_ospf_neighbor_detail_sub) ditto - (ospf_vty_init) install the new SPF throttle timer commands. - -2005-10-21 Paul Jakma - - * (general) OSPF fast, sub-second hello and 1s dead-interval - support. - * ospf_dump.c: (ospf_timer_dump) Print out milliseconds too. - Callers typically specify a length of 9, so most see - millisecs unless they specify the additional length. - * ospf_interface.h: (struct ospf_interface) new interface param, - fast_hello. - * ospf_interface.c: (ospf_if_table_lookup) add brackets, - gcc warning fix. - (ospf_new_if_params) Initialise fast_hello param. - (ospf_free_if_params) Check whether fast_hello is configured. - (ospf_if_new_hook) set fast_hello to default. - * ospf_ism.h: Wrap OSPF_ISM_TIMER_ON inside do {} while (0) to - prevent funny side-effects from its if statement when this - macro is used conditionally by other macros. - (OSPF_ISM_TIMER_MSEC_ON) new macro, set in milliseconds. - (OSPF_HELLO_TIMER_ON) new macro to set hello timer according - to whether fast_hello is set. - * ospf_ism.c: Update all setting of the hello timer to use - either OSPF_ISM_TIMER_MSEC_ON or OSPF_HELLO_TIMER_ON. The - former is used when hello is to be sent immediately. - * ospf_nsm.c: ditto - * ospf_packet.c: (ospf_hello) hello-interval is not checked - for mismatch if fast_hello is set. - (ospf_read) Annoying nit, fix "no ospf_interface" to be debug - rather than a warning, as it can be perfectly normal to - receive packets when logical subnets are used. - (ospf_make_hello) Set hello-interval to 0 if fast-hellos are - configured. - * ospf_vty.c: (ospf_auto_cost_reference_bandwidth) annoying - nit, don't vty_out if this command is given, it gets tired - quick. - (show_ip_ospf_interface_sub) Print the hello-interval - according to whether fast-hello is set or not. - Print the extra 5 millisec characters from (ospf_timer_dump) - if fast-hello is configured. - (ospf_vty_dead_interval_set) new function, common to all - forms of dead-interval command, to set dead-interval and - fast-hello correctly. If a dead-interval is given, unset - fast-hello, else if a hello-multiplier is set, set - dead-interval to 1 and fast-hello to given multiplier. - (ip_ospf_dead_interval_addr_cmd) use - ospf_vty_dead_interval_set(). - (ip_ospf_dead_interval_minimal_addr_cmd) ditto. - (no_ip_ospf_dead_interval) Unset fast-hello. - (no_ip_ospf_hello_interval) Bug-fix, unset of hello-interval - should set it to OSPF_HELLO_INTERVAL_DEFAULT, not - OSPF_ROUTER_DEAD_INTERVAL_DEFAULT. - (config_write_interface) Write out fast-hello. - (ospf_config_write) Write a comment about - "auto-cost reference-bandwidth" having to be equal on all - routers. Hopefully just as noticeable as old practice of - writing to vty, but less annoying. - (ospf_vty_if_init) install the two new dead-interval - commands. - * ospfd.h: Add defines for OSPF_ROUTER_DEAD_INTERVAL_MINIMAL - and OSPF_FAST_HELLO_DEFAULT. - -2005-10-18 Paul Jakma - - * (general) SPF memory management cleanup and fix for rare - double-free bug. - * ospf_spf.h: (struct vertex_parent) New struct to hold parent - specific data, eg the backlink and the parent vertex pointer, - and point to the appropriate general struct vertex_nexthop. - (struct vertex_nexthop) remove parent vertex pointer, so - this struct can be shared across vertices. - (struct vertex) rename list child to list children. Remove - list of nexthops, replace with list of vertex_parents. - * ospf_spf.c: (update_stat) trivial, remove cast from void *. - (vertex_nexthop_new) remove init of parent - field is gone - from struct vertex_nexthop. - (ospf_canonical_nexthops_free) Remove the canonical - vertex_nexthop memory objects. These are the vertex_nexthops - attached to the first level of router vertices from the root. - (vertex_parent_new) new function, create a vertex_parent. - (vertex_parent_free) ditto, but free it. - (ospf_vertex_new) Update to match changes to struct vertex. - (ospf_vertex_free) Recursively free a struct vertex and its - children. The parent list is used as a reference count. - vertex_nexthops must be free seperately, if required. - (ospf_vertex_dump) update to match struct vertex changes. - Print out backlink of parents too. - (ospf_vertex_add_parent) ditto. - (ospf_lsa_has_link) update comment. - (ospf_nexthop_add_unique) removed, not needed anymore. - (ospf_nexthop_merge) ditto. - (ospf_spf_consider_nexthop) renamed to ospf_spf_add_parent. - Simplified to just create vertex_parent and add it. - (ospf_spf_flush_parents) new function, flush out the parent - list. - (ospf_nexthop_calculation) Take the relevant route_lsa_link - as an argument, which simplifies things and removes the need - for the hack in ospf_nexthop_add_unique - ospf_spf_next - already knew exactly which link the cost calculated was for. - Update to match struct vertex changes too. - (ospf_spf_next) Don't create a vertex for W unnecessarily, if - it's there's a vertex already created for W, use it, and - hence there's no need to free it either. - Update some manipulation/comparisons of distance to match. - Flush the parent list if a lower cost path is found. - (ospf_spf_route_free) unused, removed. - (ospf_spf_dump) match the struct vertex changes, and dump the - ifname if possible. - (ospf_spf_calculate) At end of SPF, free the canonical nexthops - and call ospf_vertex_free on the root vertex to free the - entire tree. - * ospf_interface.c: (ospf_vl_set_params) match struct vertex - changes. - * ospf_route.c: (ospf_intra_route_add) ditto - (ospf_route_copy_nexthops_from_vertex) ditto - -2005-10-11 Paul Jakma - - * ospf_api.c: sign warnings. - * ospf_apiserver.c: sign warning and convert all the struct - in_addr initialisations so as not to make assumptions about - how this struct is organised, initialise the s_addr member - explicitely. - * ospf_packet.c: Add const qualifier to auth_key. - -2005-10-06 Alain Ritoux - - * ospf_snmp.c: Avoid mixing interface and ospf_interface objects - which now allows snmpwalk to work with ospfIfTable and - also with ospfIfMetricTable - -2005-10-01 Andrew J. Schorr - - * ospf_dump.c: Remove local hard-coded table ospf_redistributed_proto. - (ospf_redist_string) New function implemented using new library - function zebra_route_string(). Note that there are a few differences - in the output that will result: the new function returns strings - that are lower-case, whereas the old table was mixed case. Also, - the old table mapped ZEBRA_ROUTE_OSPF6 to "OSPFv3", whereas the - new function returns "ospf6". - * ospfd.h: Remove extern struct message ospf_redistributed_proto[], - and add extern const char *ospf_redist_string(u_int route_type) - instead. - * ospf_asbr.c: (ospf_external_info_add) In two messages, use - ospf_redist_string instead of LOOKUP(ospf_redistributed_proto). - * ospf_vty.c: Remove local hard-coded table distribute_str. - (config_write_ospf_redistribute,config_write_ospf_distribute): Use - new library function zebra_route_string() instead of distribute_str[]. - * ospf_zebra.c: (ospf_redistribute_set,ospf_redistribute_unset, - ospf_redistribute_default_set,ospf_redistribute_check) - In debug messages, use ospf_redist_string() instead of - LOOKUP(ospf_redistributed_proto). - -2005-09-30 Vincent Jardin - - * ospf_dump.c, ospf_ia.c, ospf_spf.c, ospf_ase.c: - remove unused DEBUG - -2005-09-29 Alain Ritoux - - * ospf_ism.c: generate SNMP traps on Interface state change - * ospf_nsm.c: generate SNMP traps on Neighbour state change - * ospf_snmp.[ch]: support for SNMP traps for interface and neighbours. - -2005-09-29 Alain Ritoux - - * ospf_vty.c: forece default route LSA to be re_issued whenever - cost is changed ( [no] ip ospf area XXX default-cost YYY) - Support ignore-mtu option - * ospfd.h: define OSPF_MTU_IGNORE_DEFAULT - * ospf_packet.c: support ignore-mtu option - * ospf_interface.h: field added for skipping MTU check - * ospf_interface.c: fix memory leak in ospf_crypt_key_delete() - Set mtu_ignore field to default value - * ospf_abr.[ch]: export ospf_abr_announce_network_to_area() - * ospf_ism.h: add MACRO to convert internal ISM status into SNMP - correct values - * ospf_snmp.c: add sanity check on LSA type in lsdb_lookup_next() - convert OSPFIFSTATE internal status into SNMP values - -2005-09-28 Alain Ritoux - - * ospf_packet.c: use new md5 API - -2005-09-19 Andrew J. Schorr - - * ospf_lsa.h: (ospf_external_lsa_flush) Comment out the 5th argument - (nexthop) since it is not used in the function (except inside - some commented-out code). - * ospf_lsa.c: (ospf_external_lsa_flush,ospf_external_lsa_refresh) - Comment out the 5th argument to ospf_external_lsa_flush. - * ospf_asbr.c: (ospf_redistribute_withdraw) Comment out 5th arg - to ospf_external_lsa_flush. - * ospf_vty.c: (no_ospf_default_information_originate) Eliminate 5th - uninitialized nexthop arg to ospf_external_lsa_flush. - * ospf_zebra.c: (ospf_zebra_read_ipv4) Comment out 5th arg - to ospf_external_lsa_flush. - * ospfd.c: (ospf_network_set) Comment out 5th arg - to ospf_external_lsa_flush. - -2005-09-17 Andrew J. Schorr - - * ospf_opaque.c: - (ospf_opaque_lsa_refresh_schedule,ospf_opaque_lsa_flush_schedule) - No need to call ospf_lookup(), just use lsa0->area->ospf instead. - -2005-08-21 Hasso Tepper - - * ospf_vty.c: Make "show ip ospf neighbor xxx" commands work. - Interface should be specified by name now. - -2005-08-17 Hasso Tepper - - * ospf_vty.c: Check carefully if interface exists before trying to - print info about it. - -2005-08-05 Hasso Tepper - - * ospf_zebra.c: Don't assert/stop before type == ZEBRA_ROUTE_MAX if - dealing with routemaps. There is ospf->route_map[ZEBRA_ROUTE_MAX] - for default-information. - -2005-07-26 Paul Jakma - - * ospf_abr.c: (ospf_abr_announce_network_to_area) SET_FLAG - should be on lsa not old, which may be freed for one thing, - obviously. - -2005-07-12 Paul Jakma - - * ospfd.h: add OSPF_ABR_DEFAULT for convenience, make - OSPF_ABR_CISCO be the default ABR type. - * ospfd.c: (ospf_new) initialise abr_type to OSPF_ABR_DEFAULT - * ospf_vty.c: (no_ospf_abr_type_cmd) add standard as a negatable - abr_type. default abr_type should be OSPF_ABR_DEFAULT. - (ospf_config_write) test whether default abr_type against - OSPF_ABR_DEFAULT, rather than any specific ABR_TYPE. - -2005-06-20 Hasso Tepper - - * ospf_nsm.c: Make database exchange for NSSA database work. - -2005-06-13 Paul Jakma - - * ospf_spf.c: Try get more information on a SEGV under - ospf_spf_vertex_add_parent. - (ospf_vertex_free) NULL out the child and nexthop lists - (ospf_vertex_add_parent) nexthop and child can not be NULL - vertex_nexthop's parent->child list can not be NULL - (ospf_spf_next) w and cw are per-loop iteration variables, move - declarations into loop body. - -2005-06-07 Hasso Tepper - - * ospf_apiserver.c: Fix obvious error in notifying clients about ISM - changes - oi->ifp->status doesn't give to us info about ISM, - oi->state does. - -2005-06-01 Akihiro Mizutani - - * ospf_ism.c (ospf_elect_bdr/ospf_elect_dr): Fix DR election bug. - -2005-05-26 Paul Jakma - - * ospf_abr.c: (ospf_abr_update_aggregate) Fix comment, cost bug itself - had been fixed long ago by Sowmini. - -2005-05-19 Paul Jakma - - * ospf_interface.c: (ospf_if_table_lookup) Fix a serious bug - a less serious one. - 1: this function is supposed to lookup - entries in the oifs ospf_interface route_table and return either - an existing oi or NULL to indicate not found, its caller depends - on this, yet this function uses route_node_get which /always/ - returns a route_node - one is created if none exists. Use - route_node_lookup instead. This should fix root cause of the - reports of the (ospf_add_to_if) assert being hit. - 2: oi's are inserted into this table with prefixlength set to - /32 (indeed, it should be a hash table, not a route_table), - however prefixlength to lookup was not changed, if no valid entry - can be inserted other than /32, then nothng but /32 should be - looked up. This possibly only worked by fluke.. - Fix confirmed by 2 reporters (one list, one IRC), definitely a - backport candidate once it has been incubated in HEAD for a while. - Thanks to Patrick Friedel and Ivan Warren for testing. - -2005-05-11 Paul Jakma - - * (general) Fix memory leaks in opaque AS-scope LSAs, reported and - with much debugging done by by scott collins . - * ospf_lsa.c: (ospf_discard_from_db) dont call - ospf_ase_unregister_external_lsa for opaque-lsa's, opaques are - never registered with ase in the first place. - * ospf_packet.c: (general) Disabuse opaque related code of its - tendency to try gather up things into temporary lists. - (ospf_ls_upd) remove the temporary lists opaque uses, call - opaque functions inline, just like all other types. - (ospf_ls_ack) ditto. - (ospf_recv_packet) fixup sign warning. - * ospf_opaque.c: (general) fix the unneeded use of lists, and - untwist some of the logic. - (ospf_opaque_self_originated_lsa_received) take a single LSA - as argument, not a list of them. Remove the list loop. Logic - otherwise unchanged. - (ospf_opaque_ls_ack_received) Mostly ditto. But untwist the logic, - move the actions up into the switch block, remove the goto's and - sanitise the logic near the end a bit. - * ospf_opaque.h: Adjust definitions of aforementioned functions - in ospf_opaque.c to match. - -2005-05-07 Yar Tikhiy - - * ospf_network.c: Log ifindex on multicast membership leave/join - events. - -2005-05-06 Paul Jakma - - * (general) extern and static qualifiers added. - unspecified arguments in definitions fixed, typically they should - be 'void'. - function casts added for callbacks. - Guards added to headers which lacked them. - Proper headers included rather than relying on incomplete - definitions. - gcc noreturn function attribute where appropriate. - * ospf_opaque.c: remove the private definition of ospf_lsa's - ospf_lsa_refresh_delay. - * ospf_lsa.h: export ospf_lsa_refresh_delay - * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const, - correct thing to do - removes need for the casts later. - * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's - home-brewed versions, shuts up several warnings. - * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and - VTY_GET_IPV4_PREFIX moved to lib/vty.h. - * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky - overloading of the THREAD_ARG pointer should at least use - uintptr_t. - -2005-04-15 Zhipeng Gong - - * ospf_abr.c: (ospf_abr_announce_network_to_area) dont forget - to approve LSAs for the case where metric has changed, lsa gets - flushed otherwise. (backport candidate). - -2005-04-11 Andrew J. Schorr - - * ospf_zebra.c (ospf_zebra_add): Call zclient_send_message instead - of writen. - -2005-04-02 Andrew J. Schorr - - * ospf_interface.h: (ospf_if_lookup_by_name) Remove declaration of a - function that does not exist. - -2005-04-02 Andrew J. Schorr - - * ospf_zebra.c: (zebra_interface_if_lookup) Must use - if_lookup_by_name_len. - -2005-04-02 Andrew J. Schorr - - * ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create. - -2005-04-02 Andrew J. Schorr - - * ospf_vty.c: (show_ip_ospf_interface_sub) Show ifindex and interface - flags to help with debugging. - * ospf_zebra.c: (ospf_interface_delete) After deleting, set ifp->ifindex - to IFINDEX_INTERNAL. - (zebra_interface_if_lookup) Make function static. Tighten up code. - -2005-03-31 Andrew J. Schorr - - * ospf_dump.c: (show_debugging_ospf) Show if ospf event debugging - is turned on. - -2005-03-29 Andrew J. Schorr - - * ospf_zebra.c: (ospf_interface_state_up) If the MTU of an operative - interface changes, print a debug message and call ospf_if_reset() - to simulate down/up on the interface. - * ospf_interface.h: Declare new function ospf_if_reset(). - * ospf_interface.c: (ospf_if_reset) New function to call ospf_if_down - and ospf_if_up for all ospf interfaces attached to an interface. - -2005-03-29 Andrew J. Schorr - - * ospf_packet.c: (ospf_write_frags) Enhance error message to - show MTU. Also make function static. - (ospf_write) Enhance error message to show interface name and MTU. - Also make function static. - -2005-03-29 Andrew J. Schorr - - * ospf_vty.c: (show_ip_ospf_interface_sub) Display interface MTU and - bandwidth; this is useful for debugging problems. Also, the function - should be static. - -2005-03-27 Hasso Tepper - - * ospf_snmp.c: Don't crash in snmp query if ospf instance doesn't - exist at all. - -2005-03-25 Hasso Tepper - - * ospfd.h: Include log.h, fixes compile with gcc-4.0. - -2005-03-13 Andrew J. Schorr - - * ospf_lsa.c: (ospf_lsa_refresh_walker) If the system clock jumps - backward, then current time may be less than - ospf->lsa_refresher_started. This was causing invalid values - for ospf->lsa_refresh_queue.index resulting in infinite loops. - Problem fixed by casting the expression to unsigned before taking - the modulus. - -2005-02-23 Andrew J. Schorr - - * ospfd.h: Add new field struct stream *ibuf to struct ospf. - * ospfd.c: (ospf_new) Check return code from ospf_sock_init. - Allocate ibuf using stream_new(OSPF_MAX_PACKET_SIZE+1). - (ospf_finish) Call stream_free(ospf->ibuf. - * ospf_packet.c: (ospf_read) Call stream_reset(ospf->ibuf) and then - pass it to ospf_recv_packet for use in receiving the packet - (instead of allocating a new stream for each packet received). - Eliminate all calls to stream_free(ibuf). - (ospf_recv_packet) The struct stream *ibuf is now passed in as - an argument. No need to use recvfrom to peek at the packet - header (to see how big it is), just use ospf->ibuf which is - always large enough (this eliminates a system call to recvfrom). - Therefore, no need to allocate a stream just for this packet, - and no need to free it when done. - -2005-02-23 Vincenzo Eramo - - * ospf_lsa.h: New flag to the LSA structure for the SPF calculation. - * ospf_lsdb.h: Export ospf_lsdb_clean_stat() function. - * ospf_spf.h: Add link to the LSA stat structure into vertex. - * ospf_spf.c: New functions cmp() and update_stat() to manage - candidates. Remove ospf_spf_has_vertex(), ospf_vertex_lookup(), - ospf_install_candidate() and ospf_spf_register() functions not needed - any more. Update ospf_vertex_new(), ospf_spf_next() and - ospf_spf_calculate() functions to use pqueue instead of linked list. - -2005-02-21 Hasso Tepper - - * ospf_ase.c: Don't show messages related to the ase calculations if - we are not debugging. - -2005-02-19 Hasso Tepper - - * ospf_api.h: char isn't always signed, but it has to be it here. - -2005-02-19 Paul Jakma - - * ospf_packet.c: (ospf_stream_copy) remove - (ospf_packet_dup) use stream_copy instead of ospf_stream_copy - -2005-02-17 Andrew J. Schorr - - * ospf_packet.c: (ospf_recv_packet) If there is somehow a runt - packet in the queue, it must be discarded. Improve warning messages. - Fix scope to static. - (ospf_read) Fix bug: should reset the read thread in all cases - to make sure we continue to get incoming messages. - -2005-02-15 Paul Jakma - - * ospf_packet.c: (ospf_recv_packet) Fix silly error wrt allocating - ibuf. Thanks Andrew. - -2005-02-14 Paul Jakma - - * ospf_packet.c: (ospf_recv_packet) use stream_recvmsg. - -2005-02-11 Hasso Tepper - - * ospf_lsdb.c: Fix sum of checksums calculation. - -2005-02-09 Andrew J. Schorr - - * ospf_packet.c: (ospf_write) If sendmsg fails, give more info in the - error message. - -2005-02-08 Andrew J. Schorr - - * ospf_interface.h: Reduce structure padding by putting new u_char - field multicast_memberships in a better spot (grouped with - other u_char fields type and state). - -2005-02-08 Andrew J. Schorr - - * ospf_interface.h: Improve passive_interface comment. Add new - multicast_memberships bitmask to struct ospf_interface to track - active multicast subscriptions. Declare new function - ospf_if_set_multicast. - * ospf_interface.c: (ospf_if_set_multicast) New function to configure - multicast memberships properly based on the current - multicast_memberships status and the current values of the - ospf_interface state, type, and passive_interface status. - (ospf_if_up) Remove call to ospf_if_add_allspfrouters (this is - now handled by ism_change_state's call to ospf_if_set_multicast). - (ospf_if_down) Remove call to ospf_if_drop_allspfrouters (now - handled by ism_change_state). - * ospf_ism.c: (ospf_dr_election) Remove logic to join or leave - the DRouters multicast group (now handled by ism_change_state's call - to ospf_if_set_multicast). - (ism_change_state) Add call to ospf_if_set_multicast to change - multicast memberships as necessary to reflect the new interface state. - * ospf_packet.c: (ospf_hello) When a Hello packet is received on a - passive interface: 1. Increase the severity of the error message - from LOG_INFO to LOG_WARNING; 2. Add more information to the error - message (packet destination address and interface address); - and 3. If the packet was sent to ospf-all-routers, then try - to fix the multicast group memberships. - (ospf_read) When a packet is received on an interface whose state - is ISM_Down, enhance the warning message to show the packet - destination address, and try to update/fix the multicast group - memberships if the packet was sent to a multicast address. - When a packet is received for ospf-designated-routers, but the - current interface state is not DR or BDR, then increase the - severity level of the error message from LOG_INFO to LOG_WARNING, - and try to fix the multicast group memberships. - * ospf_vty.c: (ospf_passive_interface) Call ospf_if_set_multicast for - any ospf interface that may have changed from active to passive. - (no_ospf_passive_interface) Call ospf_if_set_multicast for - any ospf interface that may have changed from passive to active. - (show_ip_ospf_interface_sub) Show multicast group memberships. - -2005-02-08 Paul Jakma - - * ospf_packet.c: (various) Remove unneeded stream_set_putp abuse. - -2005-02-02 Andrew J. Schorr - - * ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down, - not for event ISM_InterfaceDown. And improve the message by - adding the interface flags. - -2005-01-30 Andrew J. Schorr - - * ospf_network.c: (ospf_sock_init) Save errno before calling - ospfd_privs.change. - -2005-01-29 Andrew J. Schorr - - * ospf_packet.c: (ospf_packet_add) If oi->obuf is NULL, print - an error message and return. - (ospf_read) If the interface state is ISM_InterfaceDown, issue - a warning message and ignore the packet. - -2005-01-10 Greg Troxel - - * ospf_packet.h: Remove commented out definition of - OSPF_MAX_PACKET; neither it or the uncommented one are used any more. - - * ospf_packet.c (ospf_make_ls_upd): Leave room for authentication - when deciding if an update will fit. - (ospf_packet_authspace): Factor out calculation of size required - for authentication. - (ospf_make_db_desc): Use ospf_max_packet, not OSPF_MAX_PACKET. - Don't confuse readers that there is a macro. - -2004-12-30 Andrew J. Schorr - - * ospf_network.c: Improve all setsockopt error messages to give detailed - information on the arguments. - -2004-12-29 Andrew J. Schorr - - * ospf_packet.c: (ospf_db_desc) Reduce severity of "Negotiation done" - messages from LOG_WARNING to LOG_INFO, since this seems to be - normal. - -2004-12-29 Andrew J. Schorr - - * ospf_packet.c: (ospf_read) Always look up the interface if - ospf_recv_packet returns NULL ifp, since some platforms such - as Solaris 8 appear to support ifindex retrieval but don't. - -2004-12-22 Hasso Tepper - - * ospf_dump.c: Show debug configuration in vtysh. - * ospf_vty.c: Fix "show ip ospf" output. Router can't be elected in - any case if it's configured as "translate-never". - * ospf_lsdb.[ch]: New function to calculate sum of checksums. - * ospf_vty.c: Bugfix to show really number of AS external LSAs, not - number of all LSAs with AS scope, this includes opaque as LSAs as - well, show this number separately. Show numbers and sums of - checksums for each type of LSAs. - * ospf_lsa.c: Calculate checksum before putting LSA into database. - -2004-12-15 Andrew J. Schorr - - * ospf_interface.h: Declare new function ospf_default_iftype. - * ospf_interface.c: (ospf_default_iftype) New function to centralize - this logic in one place. - * ospf_zebra.c: (ospf_interface_add) Use new function - ospf_default_iftype. - * ospf_vty.c: (no_ip_ospf_network,config_write_interface) Fix logic - by using new function ospf_default_iftype. - -2004-12-11 Andrew J. Schorr - - * ospf_packet.c: (ospf_db_desc) Should be static, not global. - (ospf_hello,ospf_db_desc,ospf_ls_upd,ospf_ls_ack) Improve warning - messages to include identifying information (e.g. router id). - * ospf_nsm.c: (nsm_change_state) Improve info message to include - router id and state names. - -2004-12-09 Greg Troxel - - * ospf_apiserver.c (ospf_apiserver_term): Obtain struct - ospf_apiserver * from listnode. Remove unused variables. Follows - suggestion from Jay Fenlason. - -2004-12-08 Andrew J. Schorr - - * *.c: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr - - * ospf_main.c: (main) The 2nd argument to openzlog has been removed. - -2004-12-03 Andrew J. Schorr - - * ospf_packet.c: (ospf_db_desc) Reduce priority on a debug message - from LOG_NOTICE to LOG_DEBUG. - -2004-12-03 Andrew J. Schorr - - * ospf_main.c: (sigint) Use zlog_notice for termination message. - (main) Issue a startup announcement using zlog_notice. - -2004-11-30 Andrew J. Schorr - - * ospf_packet.c: (ospf_db_desc_proc) Fix spelling of packet in warning - message and in comment. - (ospf_db_desc) Warning message that a packet is being discarded - should give the router id of the packet source. Fix spelling - of packet in two warning messages. - (ospf_ls_req) Warning message that a link state request is being - discarded should give the router id of the neighbor that sent it. - -2004-11-26 Andrew J. Schorr - - * ospf_main.c: Remove #include "debug.h" (was not being used, and - lib/debug.h has now been deleted). - -2004-11-25 Hasso Tepper - - * ospf_main.c: Make group to run as configurable. - -2004-11-15 Greg Troxel - - * ospf_packet.c (ospf_recv_packet): Assume CMSG_SPACE is present - and works (lib/zebra.h provides if OS doesn't). - -2004-11-15 Paul Jakma - - * ospf_{apiserver,te}.c: ospf_lsa_free's should be ospf_lsa_unlock. - -2004-11-12 Paul Jakma - - * ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to - ignore stub area summary default. Even so it seems a strange - check, add a comment to that effect. - -2004-11-04 Paul Jakma - - * ospfd.c: (ospf_network_match_iface) revert to previous network - statement match behaviour. - -2004-11-02 Paul Jakma - - * ospf_packet.c: (ospf_write_frags) remove iov arg, msg already points - to it. Add convenience pointer to msg->msg_iov[1], and use this, - fixing the unfortunate borkenness introduced in moving of this code - to a function. - (ospf_write) remove iovp and fix up call to previous. - (ospf_ls_upd_packet_new) cast size to long int - unfortunately - glibc's size_t format modifier is not portable. - -2004-10-31 Paul Jakma - - * ospf_packet.c: (ospf_write_frags) Add debug output - (ospf_write) set type early, so we can pass it to - ospf_write_frags. - (ospf_ls_upd_packet_new) print size in debug output when too large - packet is encountered. - * ospf_zebra.c: (ospf_distribute_list_update_timer) Ugly misuse of - THREAD_ARG to store an integer, but it should at least use same - same type to retrieve the value. Assert value is sane. - -2004-10-22 Paul Jakma - - * ospf_network.c: (ospf_sock_init) call neutral setsock_ifindex() - function. - * ospf_packet.c: (ospf_read) manually look up ifindex - if system could not have returned one, eg openbsd, thanks to Rivo - Nurges for highlighting problem and fix. - Change setsockopt_pktinfo to setsockopt_ifindex. - -2004-10-19 Andrew J. Schorr - - * ospf_snmp.c: (ospf_snmp_if_update) Fix logic to handle PtP links - with dedicated subnets properly. - * ospf_lsa.c: (lsa_link_ptop_set) ditto. - * ospfd.c: (ospf_network_match_iface) ditto. - (ospf_network_run) ditto. - * ospf_interface.c: (ospf_if_is_configured) ditto. - (ospf_if_lookup_by_prefix) ditto. - (ospf_if_lookup_recv_if) ditto. - * ospf_vty.c: (show_ip_ospf_interface_sub) Display the peer or - broadcast address if present. - -2004-10-13 Hasso Tepper - - * ospf_main.c: Unbreak compilation with ospfapi disabled. - * ospf_snmp.c: Remove defaults used to initialize smux connection to - snmpd. Connection is initialized only if smux peer is configured. - -2004-10-12 Hasso Tepper - - * ospf_main.c, ospf_opaque.c: Unbreak ospfclient compilation - move - static variable from ospf_main.c into ospf_opaque.c. - -2004-10-11 Hasso Tepper - - * ospf_main.c, ospf_opaque.c: Disable ospfapi init by default. New - command line switch to enable it. - -2004-10-11 Paul Jakma - - * ospf_dump.c: (ospf_ip_header_dump) Assume header is in host order - remove ntohs that should have dissappeared. Take struct ip - as argument, caller has to know there's an IP header at start of - stream anyway. - * ospf_dump.h: update declaration of ospf_ip_header_dump. - * ospf_packet.c: (ospf_write) correct call to - sockopt_iphdrincl_swab_htosys which was munging the header. - (ospf_recv_packet) ip_len is needed for old OpenBSD fixup. - (ospf_read) sockopt_iphdrincl_swab_systoh ip header as soon as - we have it. - * (global) Const char update and signed/unsigned fixes. - * (various headers) size defines should be unsigned. - * ospf_interface.h: remove duplicated defines, include the - authoritative header - though, these defines should probably - be moved to a dedicated header, or ospfd.h. - * ospf_lsa.h: (struct lsa) ls_seqnum should be unsigned. - * ospf_packet.c: (ospf_write) cast result of shift to unsigned. - -2004-10-08 Hasso Tepper - - * *.[c|h]: Fix compiler warnings: make some strings const, signed -> - unsigned, remove unused variables etc. - -2004-10-07 Greg Troxel - - * ospf_apiserver.c (ospf_apiserver_unregister_opaque_type): Don't - use of variable names 'node' and 'nextnode' to avoid possible - conflict with list macros. Move variable declaration inside for - loop after a statement to top of function. - -2004-10-07 Paul Jakma - - * ospf_snmp.c: Missed list typedef update - * ospf_dump.c: Include sockopt.h for header swab functions. - -2004-10-05 Paul Jakma - - * ospf_packet.c: replace ospf_swap_iph_to... with - sockopt_iphdrincl_swab_... - -2004-10-03 James R. Leu - - * ospf_zebra.c: Read router id related messages from zebra daemon. - Schedule router-id update thread if it's changed. - * ospfd.c: Remove own router-id selection function. Use router id from - zebra daemon if it isn't manually overriden in configuration. - -2004-09-27 Paul Jakma - - * ospf_dump.c: (ospf_ip_header_dump) Use HAVE_IP_HDRINCL_BSD_ORDER - Apply to offset too. Print ip_cksum, lets not worry about - possible 2.0.37 compile problems. - * ospf_packet.c: (ospf_swap_iph_to{n,h}) Use - HAVE_IP_HDRINCL_BSD_ORDER. - (ospf_recv_packet) ditto. - (ospf_write) Fixup iov argument to ospf_write_frags. - (struct msghdr).msg_name is caddr_t on most platforms. - (ospf_recv_packet) ditto. And msg_flags is not always there - memset struct then set fields we care about rather than - initialise all fields individually. - -2004-09-26 Hasso Tepper - - * ospf_abr.c, ospf_dump.c, ospf_lsa.c, ospf_packet.c, ospf_vty.c, - ospf_zebra.c: Fix compiler warnings. - -2004-09-24 Paul Jakma - - * ospf_apiserver.{c,h}: lists typedef removal cleanup. - update some list loops to LIST_LOOP. some miscellaneous indent - fixups. - (ospf_apiserver_unregister_opaque_type) fix listnode_delete of - referenced node in loop. - (ospf_apiserver_term) loops calling ospf_apiserver_free, which - deletes referenced nodes from apiserver_list, fixed. - * ospf_interface.h: lists typedef removal cleanup. - * ospf_opaque.{c,h}: lists typedef removal cleanup. update some list - loops to LIST_LOOP. miscellaneous style and indent fixups. - * ospf_te.{c,h}: ditto - * ospf_packet.c: lists typedef removal cleanup. - (ospf_write) ifdef fragmentation support. move actual - fragmentation out to a new, similarly ifdefed, function. - (ospf_write_frags) fragmented write support, moved from previous. - -2004-09-23 Hasso Tepper - - * *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-12 Paul Jakma - - * ospf_packet.c: Fix bugzilla #107 - (ospf_packet_max) get rid of the magic 88 constant - (ospf_swab_iph_ton) new function. set ip header to network order, - taking BSDisms into account. - (ospf_swab_iph_toh) the inverse. - (ospf_write) Add support for IP fragmentation, will only work on - linux though, other kernels make it impossible. get rid of the - magic 4 constant. - (ospf_make_ls_upd) Bound check to end of stream, not to - interface mtu. - (ospf_ls_upd_packet_new) New function, allocate upd packet - taking oversized LSAs into account. - (ospf_ls_upd_queue_send) use ospf_ls_upd_packet_new to allocate, - rather than statically allocating mtu sized packet buffer, which - actually was wrong - it didnt take ip header into account, which - should not be included in packet buffer. - (ospf_ls_upd_send_queue_event) minor tweaks and remove - TODO comment. - -2004-08-31 David Wiggins - - * ospf_spf.c (ospf_spf_calculate): Many more comments and debug - print statements. New function ospf_vertex_dump used in debugging. - -2004-08-31 David Wiggins - - * ospf_spf.h (struct vertex): Comments for flags and structure members. - -2004-08-31 David Wiggins - - * ospf_route.c: When finding an alternate route, log cost as well. - -2004-08-31 David Wiggins - - * ospf_interface.c (ospf_lookup_if_params): Initialize af in - struct prefix allocated on stack. - -2004-08-31 David Wiggins - - * ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send - acks to AllSPFRouters, rather than All-DR. - -2004-08-27 Hasso Tepper - - * ospf_vty.c: Don't print ospf network type under interface only - if interface is in broadcast mode and interface type really is - broadcast. Fixes Bugzilla #108. - -2004-08-27 David Wiggins - - * ospf_spf.c (ospf_nexthop_calculation): Initialize address family - in on-stack struct prefix_ipv4. Fixes point-to-multipoint SPF - calculation. - -2004-08-26 Greg Troxel - - * ospf_packet.c (ospf_recv_packet): adjust size declaration of - buffer used to get interface index so that it compiles on other - than Linux and includes the required alignment space. Probably - this was only working on sparc/sparc64 because most of - sockaddr_dl was not being written. - -2004-08-19 Paul Jakma - - * ospf_packet.c: update to match sockopt renames. - -2004-08-04 Paul Jakma - - * ospf_spf.c: (ospf_spf_consider_nexthop) Add comment about issue. - Compare only against list head - all nexthops must be same cost - anyway, fixes a reference-listnode-after-delete bug noted by - Kir Kostuchenko. - (ospf_nexthop_calculation) Use ospf_spf_consider_nexthop for all - candidates attached to root. - -2004-07-27 Paul Jakma - - * ospf_packet.c: (ospf_ls_upd_send_queue_event) fix thinko from - last fix for ospfd wedging due to oversize LSAs: dont list loop on - ospf_ls_upd_queue_send() - guaranteed segfault. - -2004-07-27 Paul Jakma - - * ospf_opaque.c: (ospf_opaque_lsa_flush_schedule) do not NULL out - the LSA as then free_opaque_info_per_id() can never unlock (and - free) the LSA. Reported by Gunnar Stigen. - -2004-07-23 Paul Jakma - - * ospf_network.c: Replace PKTINFO/RECVIF with call to - setsockopt_pktinfo - * ospf_packet.c: Use getsockopt_pktinfo_ifindex and - SOPT_SIZE_CMSG_PKTINFO_IPV4. - -2004-07-14 Paul Jakma - - * ospf_packet.c: (ospf_ls_upd_send_queue_event) Partial fix for - problem reported by Peter Frost amongst others, where function - will spin indefinitely if update list contains LSAs greater than - MTU-headers or other condition leading to update list never being - cleared. Problem of what to do with these LSAs remains. - (ospf_make_ls_upd) add comment about large LSA problem, - indentation cleanup. - -2004-07-01 Greg Troxel - - * Makefile.am (lib_LTLIBRARIES): make libospf shared - -2004-06-30 Greg Troxel - - * Makefile.am: Add shlib support. - -2004-06-10 Hasso Tepper - - * *: Removed ifdefs HAVE_NSSA. - -2004-06-06 Paul Jakma - - * ospf_dump.c,ospf_lsa.c: Fix typos of merge of previous. - ospf_flood.c: (ospf_process_self_originated_lsa) fix zlog format - -2004-05-31 Sagun Shakya - - * ospf_dump.c: (ospf_lsa_header_dump) LOOKUP can return null if - index is out of range. - ospf_flood.c: endianness fix - ospf_lsa.c: Missing ntohl's on (struct lsa *)->data->ls_seqnum - in various places. - -2004-05-10 Hasso Tepper - - * ospf_zebra.c, ospfd.c: Move ospf_prefix_list_update() function - to ospf_zebra.c from ospfd.c and add redistribution updates if - route-map is used in redistribution. - * ospf_main.c: Remove now useless call to ospf_init(). - -2004-05-08 Paul Jakma - - * ospf_zebra.c: Sync with lib/zclient changes - -2004-05-05 Paul Jakma - - * ospf_network.c: (ospf_sock_init) Check whether IP_HDRINCL is - defined. Warn at compile and runtime. Use - IPTOS_PREC_INTERNETCONTROL otherwise. - * ospf_packet.c: (ospf_associate_packet_vl) cleanup, move - some of the checks up to ospf_read, return either a - virtual link oi, or NULL. - (ospf_read) Cleanup, make it responsible for checks. Remove - the nbr lookup - moved to ospf_neighbor. Adjust all nbr - lookups to use new wrappers exported by ospf_neighbor. - * ospf_neighbor.h: Add ospf_neigbour_get and ospf_nbr_lookup. - * ospf_neighbor.c: (ospf_neigbour_get) Index ospf_interface - neighbour table by router-id for virtual-link ospf_interfaces, - not by peer_addr (which breaks for asymmetric vlinks) - (ospf_nbr_lookup) add a wrapper for nbr lookups to deal with - above. - * ospf_interface.c: (ospf_vl_set_params) Catch changes of interface - address for either end of a virtual-link, and hence potential cost - changes. - -2004-04-22 Hasso Tepper - - * ospf_zebra.c: Don't ignore reject/bh routes, it's the only way - to "summarize" routes in ASBR at the moment. - -2004-04-20 Hasso Tepper - - * ospfd.c: Unset NP flag if area is going to be normal or stub. - Fixes UNH OSPF_NSSA.1.2a comment. - * ospf_abr.c: Originate default into stub/nssa area even if - summaries are disabled. - * ospf_zebra.c: Don't attempt to redistribute 127.0.0.0/8. - -2004-04-19 Hasso Tepper - - * ospf_vty.c: Don't warn that export- and import-list can't be - configured to backbone area if they are applied and are working - fine. - -2004-02-19 Sowmini Varadhan - - * ospf_packet.c: Don't drop packets in Solaris x86. - [quagga-dev 1005]. - -2004-03-18 Amir Guindehi - - * ospf_opaque.c: Attempt to correct the incorrect behavior of - Quagga's ospfd in the special situation that a node's opaque - capability has changed as "ON -> OFF -> ON". [quagga-dev 843]. - -2004-02-19 Sowmini Varadhan - - * ospf_abr.c: (ospf_abr_update_aggregate) UNH 3.12b,c, address range - should be configured with the highest cost path within the range, - not lowest. - -2004-02-17 Paul Jakma - - * ospf_zebra.c: (ospf_interface_delete) Do not delete the interface - params, nor the interface structure, if an interface delete - message is received from zebra. - * ospf_interface.c: (ospf_if_delete_hook) Delete the interface - params and interface, ie that which was previously removed in - (ospf_interface_delete) above. - -2004-02-11 Hasso Tepper - * ospf_interface.c, ospf_zebra.c: Don't attempt to read path->oi->ifp - if oi doesn't exist any more. - -2004-02-11 Vadim Suraev - * ospf_packet.c (ospf_ls_upd): Router should flush received network - LSA if it was originated with older router-id ([zebra 14710] #6). - -2003-12-08 Mattias Amnefelt - - * ospf_packet.c: (ospf_recv_packet) OpenBSD now leaves iph.ip_len - network byte order. - -2003-12-05 Greg Troxel - - * ospfd.c (ospf_network_match_iface): Rewrite code for clarity - while trying not to change semantics. Add ifdefed-out code to - avoid matching ppp interfaces whose destination address does not - also match the prefix under consideration, to help out people with - problems due to as-yet-unfixed bugs with p2p interfaces coming and - going. - -2003-07-25 kamatchi soundaram - - * ospf_packet.c (ospf_ls_upd_send_queue_event): get next route - node in body of the loop to avoid chance that route node - is unlocked and deleted before the next iteration tries to - get next route node. - -2003-05-24 Kenji Yabuuchi - - * ospf_interface.c(ospf_if_lookup_recv_if): Use the most specific - match for interface lookup. - -2003-05-18 Hasso Tepper - - * ospf_vty.c: Show NSSA LSA route info in "show ip ospf database" - output - -2003-05-16 Hasso Tepper - - * ospf_lsa.c: Fix handling of NSSA - -2003-04-23 Hasso Tepper - - * ospf_vty.c: fix "router xxx" node commands in vtysh - -2003-04-19 Hasso Tepper - - * {ospf_abr,ospfd}.c: area id's DECIMAL -> ADDRESS - * ospf_routemap.c: sync daemon's route-map commands to have same - syntax. - -2003-04-19 Sergey Vyshnevetskiy - - * ospf_packet.c: Add missing param to zlog - * ospf_flood.c: remove unused vars - -2003-04-17 Denis Ovsienko - - * ospf_interface.c: fix incorrect memset - -2003-04-10 Amir Guindehi - - * ospf_lsa.[ch]: opaque LSA fix, use ospf_lookup. - -2003-04-03 David Watson - - * ospf_lsa.c: byte order fix - -2002-03-17 Amir Guindehi - - * ospf_apiserver.[ch]: Merge Ralph Keller's OSPFAPI support. - * ospf_api.[ch]: Merge Ralph Keller's OSPFAPI support. - * ospfclient: OSPFAPI demonstration client. - -2003-01-23 Masahiko Endo - - * ospf_ism.c: NSM event schedule bug fix. - -2002-10-30 Greg Troxel - - * ospf_packet.c (ospf_make_md5_digest): MD5 length fix. - -2002-10-23 endo@suri.co.jp (Masahiko Endo) - - * ospf_opaque.c: Update Opaque LSA patch. - -2002-10-23 Ralph Keller - - * ospf_vty.c (show_ip_ospf_database): Fix CLI parse. - -2002-10-23 Juris Kalnins - - * ospf_interface.c (ospf_if_stream_unset): When write queue - becomes empty stop write timer. - -2002-10-10 Greg Troxel - - * ospf_packet.c (ospf_check_md5_digest): Change >= to > to make it - conform to RFC. - -2002-07-07 Kunihiro Ishiguro - - * zebra-0.93 released. - -2002-06-19 Kunihiro Ishiguro - - * ospf_spf.c (ospf_nexthop_calculation): Add NULL set to oi and - check of l2. Reported by: Daniel Drown - (ospf_lsa_has_link): LSA Length calculation fix. Reported by: - Paul Jakma . - - * ospfd.c (ospf_if_update): Fix nextnode reference bug. Reported - by: juris@mt.lv. - -2002-01-21 Kunihiro Ishiguro - - * ospfd.c: Merge [zebra 11445] Masahiko ENDO's Opaque-LSA support. - -2001-08-27 Kunihiro Ishiguro - - * ospf_interface.c (ospf_add_to_if): Use /32 address to register - OSPF interface information. - (ospf_delete_from_if): Likewise. - - * ospf_zebra.c (ospf_interface_address_delete): Likewise. - -2001-08-23 Kunihiro Ishiguro - - * ospf_zebra.c (ospf_redistribute_unset): When redistribute type - is OSPF, do not unset redistribute flag. - -2001-08-19 Kunihiro Ishiguro - - * zebra-0.92a released. - -2001-08-15 Kunihiro Ishiguro - - * zebra-0.92 released. - -2001-08-12 Kunihiro Ishiguro - - * ospfd.c (ospf_config_write): auto-cost reference-bandwidth - configuration display. - -2001-07-24 David Watson - - * ospf_spf.c (ospf_spf_next): Modify ospf_vertex_add_parent to - check for an existing link before connecting the parent and child. - ospf_nexthop_calculation is also modified to check for duplicate - entries when copying from the parent. Finally, ospf_spf_next - removes duplicates when it merges two equal cost candidates. - -2001-07-23 itojun@iijlab.net - - * ospfd.c (show_ip_ospf_neighbor): Check ospf_top before use it - [zebra 8549]. - -2001-07-23 Kunihiro Ishiguro - - * ospf_packet.c (ospf_write): Remove defined(__OpenBSD__) to make - it work on OpenBSD. - -2001-06-26 Kunihiro Ishiguro - - * ospf_zebra.c (config_write_ospf_default_metric): Display - default-metric configuration. - -2001-06-18 Kunihiro Ishiguro - - * ospf_ia.h (OSPF_EXAMINE_SUMMARIES_ALL): Remove old macros. - -2001-05-28 Kunihiro Ishiguro - - * ospf_snmp.c (ospfIfEntry): Fix interface lookup bug to avoid - crush. - (ospfIfMetricEntry): Likewise. - -2001-03-18 Kunihiro Ishiguro - - * ospf_packet.c (ospf_read): Fix typo. Reported by: "Jen B - Lin'Kova" . - -2001-03-15 Gleb Natapov - - * ospf_interface.c (ip_ospf_network): Set interface parameter. - (interface_config_write): Add check for OSPF_IFTYPE_LOOPBACK. - - * ospf_zebra.c (ospf_interface_add): Set interface parameter. - -2001-02-21 Kunihiro Ishiguro - - * ospf_packet.c (ospf_recv_packet): Solaris also need to add - (iph.ip_hl << 2) to iph.ip_len. - -2001-02-09 Kunihiro Ishiguro - - * ospfd.h (OSPF_LS_REFRESH_TIME): Fix OSPF_LS_REFRESH_TIME value. - Suggested by: David Watson . - - * ospf_zebra.c (zebra_init): Remove zebra node. - - * ospfd.c (ospf_area_range_set): Function name is changed from - ospf_ara_range_cmd. - (ospf_area_range_unset): New function which separated from DEFUN. - New commands are added: - "no area A.B.C.D range A.B.C.D/M advertise" - "no area <0-4294967295> range A.B.C.D/M advertise" - "no area A.B.C.D range A.B.C.D/M not-advertise" - "no area <0-4294967295> range A.B.C.D/M not-advertise" - - * ospf_lsa.c (ospf_lsa_more_recent): Fix previous change. - -2001-02-08 Matthew Grant - - * ospf_network.c (ospf_if_add_allspfrouters): Use - setsockopt_multicast_ipv4. - (ospf_if_drop_allspfrouters): Likewise. - - * ospf_lsa.c (ospf_router_lsa_install): Add rt_recalc flag. - (ospf_network_lsa_install): Likewise. - (ospf_summary_lsa_install): Likewise. - (ospf_summary_asbr_lsa_install): Likewise. - (ospf_external_lsa_install): Likewise. - (ospf_lsa_install): Call ospf_lsa_different to check this LSA is - new one or not. - -2001-02-08 Kunihiro Ishiguro - - * ospf_zebra.c (ospf_interface_delete): Do not free interface - structure when ospfd receive interface delete message to support - pseudo interface. - -2001-02-01 Dick Glasspool - - * ospfd.c (area_range_notadvertise): Change area range "suppress" - command to "not-advertise". - - * ospfd.h (OSPF_LS_REFRESH_TIME): Change OSPF_LS_REFRESH_TIME from - 1800 to 60. - - * ospf_abr.c (ospf_abr_update_aggregate): When update_aggregate is - updating the area-range, the lowest cost is now saved. - - * ospf_lsa.c (ospf_lsa_more_recent): Routing to compare sequence - numbers rather than creating overflow during calculation. - -2001-02-01 Kunihiro Ishiguro - - * zebra-0.91 is released. - -2001-01-31 Kunihiro Ishiguro - - * ospf_packet.c (ospf_db_desc_proc): Do not continue process when - NSM_SeqNumberMismatch is scheduled. - (ospf_ls_req): Free ls_upd when return from this function. - (ospf_ls_upd_timer): When update list is empty do not call - ospf_ls_upd_send(). Suggested by: endo@suri.co.jp (Masahiko - Endo). - -2001-01-26 Kunihiro Ishiguro - - * ospf_lsa.c (ospf_maxage_flood): Flood LSA when it reaches - MaxAge. RFC2328 Section 14. - (ospf_maxage_lsa_remover): Call above function during removing - MaxAge LSA. - -2001-01-26 Dick Glasspool - - * ospf_flood.c (ospf_flood_through_as): Function is updated for - NSSA Translations now done at ospf_abr.c with no change in P-bit. - - * ospf_lsa.c (ospf_get_nssa_ip): Get 1st IP connection for Forward - Addr. - (ospf_install_flood_nssa): Leave Type-7 LSA at Lock Count = 2. - - * ospf_ase.c (ospf_ase_calculate_route): Add debug codes. - - * ospf_abr.c (ospf_abr_translate_nssa): Recalculate LSA checksum. - - * ospf_packet.h (OSPF_SEND_PACKET_LOOP): Added for test packet. - - * ospf_dump.c (ospf_lsa_type_msg): Add OSPF_GROUP_MEMBER_LSA and - OSPF_AS_NSSA_LSA. - - * ospfd.c (data_injection): Function to inject LSA. This is - debugging command. - -2001-01-11 Kunihiro Ishiguro - - * ospf_route.c (ospf_route_match_same): Remove function. - (ospf_route_match_same_new): Renamed to ospf_route_match_same. - - * ospf_zebra.c (ospf_interface_address_delete): Add check for - oi->address. Suggested by Matthew Grant - . - (ospf_zebra_add): Remove function. - (ospf_zebra_add_multipath): Rename to ospf_zebra_add. - - * ospf_interface.c: Remove HAVE_IF_PSEUDO part. - - * ospf_zebra.c: Likewise. - -2001-01-10 Kunihiro Ishiguro - - * ospf_ase.c: Remove OLD_RIB part. - - * ospf_route.c: Likewise. - - * zebra-0.90 is released. - - * ospf_packet.c (ospf_recv_packet): Use ip_len adjestment code to - NetBSD. - -2001-01-09 Kunihiro Ishiguro - - * ospf_route.c (ospf_route_delete): Use - ospf_zebra_delete_multipath. - -2001-01-09 Matthew Grant - - * ospf_interface.c (ospf_if_cleanup): Function name is renamed - from ospf_if_free(). Rewrite whole procudure to support primary - address deletion. - - * ospf_zebra.c (ospf_interface_address_delete): Add primary - address deletion process. - -2001-01-09 Kunihiro Ishiguro - - * ospf_packet.c (ospf_recv_packet): OpenBSD has same ip_len - treatment like FreeBSD. - -2001-01-09 endo@suri.co.jp (Masahiko Endo) - - * ospf_packet.c (ospf_recv_packet): FreeBSD kernel network code - strips IP header size from receiving IP Packet. So we adjust - ip_len to whole IP packet size by adding IP header size. - -2001-01-08 endo@suri.co.jp (Masahiko Endo) - - * ospf_network.c (ospf_serv_sock): When socket() is failed return - immediately. - (ospf_serv_sock): Close socket when it is not used. - - * ospf_packet.c (ospf_write): Set sin_len when HAVE_SIN_LEN is - defined. - (ospf_write): When bind is fined, close sock. - -2001-01-07 Gleb Natapov - - * ospf_zebra.c (ospf_interface_state_up): Fixes coredump that - appears when you try to configure bandwidth on the ppp interface - that is not yet configured in ospfd. - -2001-01-07 Michael Rozhavsky - - * ospf_route.c (show_ip_ospf_route_external): "show ip ospf route" - will print nexthops for AS-external routes. - - * ospf_ase.c (ospf_ase_route_match_same): New function to compare - ASE route under multipath environment. - (ospf_ase_compare_tables): Likewise. - -2001-01-01 Kunihiro Ishiguro - - * ospfd.h (OSPF_VTYSH_PATH): Change "/tmp/ospfd" to "/tmp/.ospfd". - -2000-12-28 Kunihiro Ishiguro - - * ospf_route.c (ospf_route_install): Install multipath information - to zebra daemon. - - * ospf_zebra.c (ospf_zebra_add_multipath): Function for passing - multipath information to zebra daemon. - -2000-12-25 Dick Glasspool - - * ospf_packet.c (ospf_write): Call ospf_packet_delete when sendto - fail. - (DISCARD_LSA): Add argument N for logging point of DISCARD_LSA is - called. - - * ospf_lsa.c (ospf_external_lsa_refresh): NSSA install_flood will - leave Type-7 LSA at Lock Count = 2. - - * ospf_flood.c (ospf_flood_through): Flood_though_as updated for - NSSA no P-bit off during Area flooding, but P-bit is turned off - for mulitple NSSA AS flooding. - - * ospf_ase.c (ospf_ase_calculate_timer): Added calculations for - Type-7 LSDB. - - * ospf_abr.c (ospf_abr_translate_nssa): Removed one unlock call. - (ospf_abr_announce_nssa_defaults): Corrected Debug from EVENT to - NSSA. - -2000-12-25 Michael Rozhavsky - - * ospf_zebra.c (ospf_zebra_read_ipv4): Checking the age of the - found LSA and if the LSA is MAXAGE we should call refresh instead - of originate. - -2000-12-18 Dick Glasspool - - * ospf_abr.c: Removed redundant "...flood" in - announce_network_to_area(). Repaired nssa Unlock by using - discard. - - * ospf_packet.c: Removed old NSSA translate during mk_ls_update. - - * ospfd.c: Free up all data bases including NSSA. - - * ospf_lsa.c: Now allow removal of XLATE LSA's Check in - discard_callback. Added routine to get ip addr from within the - ifp. - - * ospf_flood.c: Now set Forward Address for outgoing Type-7. - - * ospf_lsa.h: Added prototype for the below. struct in_addr - ospf_get_ip_from_ifp (struct interface *ifp). - -2000-12-14 Gleb Natapov - - * ospf_packet.c (ospf_recv_packet): New OSPF pakcet read method. - Now maximum packet length may be 65535 bytes (maximum IP packet - length). - - * ospf_interface.c (ospf_if_stream_set): Don't make input buffer. - - * ospfd.c (config_write_network_area): Remove unnecessary area - lookup code. - -2000-12-13 Kunihiro Ishiguro - - * ospf_packet.c (ospf_read): Accept packet bigger than MTU value. - -2000-12-13 Gleb Natapov - - * ospfd.c (config_write_network_area): Fix bug in - config_write_network_area function. - -2000-12-12 Gleb Natapov - - * ospf_abr.c (ospf_abr_announce_network_to_area): Make Summary - LSA's origination and refreshment as same as other type of LSA. - - * ospf_lsa.c (ospf_summary_lsa_refresh): Return struct ospf_lsa *. - - * ospf_lsa.c (ospf_summary_asbr_lsa_refresh): Likewise. - -2000-12-08 Dick Glasspool - - The bulk of NSSA changes are contained herein; This version will - require manual setting of "always" for NSSA Translator, and will - not perform aggregation yet. - - * ospf_dump.c: "debug ospf nssa" is added. - - * ospf_dump.h: Likewise. - - * ospf_packet.c (ospf_hello): Display router ID on Bad NSSA Hello. - - * ospfd.c: Discard_LSA to stay away from LOCAL_XLT Process NSSA - 'never, candidate, always'. Change "suppress" to "not-advertise". - - * ospfd.h: Add TranslatorRole to struct ospf_area. Add anyNSSA to - struct ospf. - - * ospf_ase.c (ospf_ase_calculate_route): External to stay away - from LOCAL_XLT - - * ospf_nsm.c (ospf_db_summary_add): External to stay away from - LOCAL_XLT - - * ospf_abr.c: Major logic added for abr_nssa_task(). If ABR, and - NSSA translator, then do it. Approve the global list, and flush - any unapproved. - - * ospf_lsa.h: New LSA flag OSPF_LSA_LOCAL_XLT to indicate that the - Type-5 resulted from a Local Type-7 translation; not used for - flooding, but used for flushing. - - * ospf_flood.c: New NSSA flooding. - -2000-12-08 Michael Rozhavsky - - * ospfd.c (ospf_find_vl_data): New function for looking up virtual - link data. - (ospf_vl_set_security): Virtual link configuration with - authentication. - (ospf_vl_set_timers): Set timers for virtual link. - - * New commands are added. - "area A.B.C.D virtual-link A.B.C.D" - "area A.B.C.D virtual-link A.B.C.D hello-interval <1-65535> retransmit-interval <3-65535> transmit-delay <1-65535> dead-interval <1-65535>" - "area A.B.C.D virtual-link A.B.C.D hello-interval <1-65535> retransmit-interval <3-65535> transmit-delay <1-65535> dead-interval <1-65535> authentication-key AUTH_KEY" - "area A.B.C.D virtual-link A.B.C.D authentication-key AUTH_KEY" - "area A.B.C.D virtual-link A.B.C.D hello-interval <1-65535> retransmit-interval <3-65535> transmit-delay <1-65535> dead-interval <1-65535> message-digest-key <1-255> md5 KEY" - "area A.B.C.D virtual-link A.B.C.D message-digest-key <1-255> md5 KEY" - - * ospf_packet.c (ospf_check_md5_digest): Add neighbor's - cryptographic sequence number treatment. - (ospf_check_auth): OSPF input buffer is added to argument. - (ospf_read): Save neighbor's cryptographic sequence number. - - * ospf_nsm.c (nsm_change_status): Clear cryptographic sequence - number when neighbor status is changed to NSM down. - - * ospf_neighbor.c (ospf_nbr_new): Set zero to crypt_seqnum. - - * ospf_neighbor.h (struct ospf_neighbor): Add cryptographic - sequence number to neighbor structure. - -2000-11-29 Kunihiro Ishiguro - - * ospf_snmp.c (ospfIfLookup): OSPF MIB updates. - (ospfExtLsdbEntry): Add OspfExtLsdbTable treatment. - -2000-11-28 Michael Rozhavsky - - * ospfd.c (ospf_interface_down): Clear a ls_upd_queue queue of the - interface. - (ospf_ls_upd_queue_empty): New function to empty ls update queue - of the OSPF interface. - (no_router_ospf): 'no router ospf' unregister redistribution - requests from zebra. - -2000-11-28 Kunihiro Ishiguro - - * ospf_ism.c (ism_change_status): Increment status change number. - - * ospf_interface.h (struct ospf_interface): Add new member for - status change statistics. - - * Makefile.am: Update dependencies. - - * ospf_zebra.c (ospf_interface_add): OSPF SNMP interface update. - (ospf_interface_delete): OSPF SNMP interface delete. - - * ospf_snmp.h: New file is added. - -2000-11-23 Dick Glasspool - - * ospfd.h: Add new ospf_area structure member for - NSSATranslatorRole and NSSATranslator state. - - * ospfd.c: Provided for eventual commands to specify NSSA - elections for "translator- ALWAYS/NEVER/CANDIDATE". Provided for - decimal integer version of area-suppress. - - * ospf_flood.c: Flood Type-7's only into NSSA (not AS). - - * ospf_lsa.c: Undo some previous changes for NSSA. If NSSA - translator, advertise Nt bit. - - * ospf_route.c: 1st version of "sh ip os border-routers". - -2000-11-23 Michael Rozhavsky - - * ospfd.c (area_vlink): Virtual link can not configured in stub - area. - -2000-11-23 Gleb Natapov - - * ospf_packet.c (ospf_db_desc): In states Loading and Full the - slave must resend its last Database Description packet in response - to duplicate Database Description packets received from the - master. For this reason the slave must wait RouterDeadInterval - seconds before freeing the last Database Description packet. - Reception of a Database Description packet from the master after - this interval will generate a SeqNumberMismatch neighbor - event. RFC2328 Section 10.8 - (ospf_make_db_desc): DD Master flag treatment. - - * ospf_nsm.c (nsm_twoway_received): Move DD related procedure to - nsm_change_status(). - (nsm_bad_ls_req): Likewise. - (nsm_adj_ok): Likewise. - (nsm_seq_number_mismatch): Likewise. - (nsm_oneway_received): Likewise. - - * ospf_neighbor.h (struct ospf_neighbor): New structure member - last_send_ts for timestemp when last Database Description packet - was sent. - - * ospf_nsm.c (ospf_db_desc_timer): Make it sure nbr->last_send is - there. Call ospf_db_desc_resend() in any case. - -2000-11-16 Michael Rozhavsky - - * ospf_lsa.c (lsa_link_broadcast_set): When there is no DR on - network (suppose you have only one router with interface priority - 0). It's router LSA does not contain the link information about - this network. - - * ospf_nsm.c (nsm_timer_set): When you change a priority of - interface from/to 0 ISM_NeighborChange event should be scheduled - in order to elect new DR/BDR on the network. - - * ospf_interface.c (ip_ospf_priority): Likewise. - - * ospf_flood.c (ospf_ls_retransmit_add): When we add some LSA into - retransmit list we need to check whether the present old LSA in - retransmit list is not more recent than the new - one. - -2000-11-09 Dick Glasspool - - * ospf_packet.c: Allows for NSSA Type-7 LSA's throughout the NSSA - area. Any that exit the NSSA area are translated to type-5 LSA's. - The instantiated image is restored after translation. - (ospf_ls_upd_send_list): Renamed to ospf_ls_upd_queu_send(). - (ospf_ls_upd_send): Old function which enclosed by #ifdef 0 is - removed. - (ospf_ls_ack_send): Likewise. - - * ospf_flood.c: NSSA-LSA's without P-bit will be restricted to - local area. Otherwise they are allowed out the area to be - translated by ospf_packet.c. - - * ospf_lsa.c: Undo some previous changes for NSSA. - - * ospf_lsdb.h: New access for type 7. - -2000-11-07 Kunihiro Ishiguro - - * ospf_route.c (ospf_path_exist): New function to check nexthop - and interface are in current OSPF path or not. - (ospf_route_copy_nexthops_from_vertex): Add nexthop to OSPF path - when it is not there. Reported by Michael Rozhavsky - - -2000-11-06 Kunihiro Ishiguro - - * ospf_dump.c (config_write_debug): Add seventh string "detail" is - added for flag is OSPF_DEBUG_SEND | OSPF_DEBUG_RECV | - OSPF_DEBUG_DETAIL. - -2000-11-06 Michael Rozhavsky - - * ospf_lsa.c (router_lsa_flags): ASBR can't exit in stub area. - -2000-11-06 Kunihiro Ishiguro - - * ospf_lsa.c (ospf_router_lsa_originate): Reduce unconditional - logging. - -2000-11-06 Dick Glasspool - - * ospfd.h: Add ait_ntoa function prototype. - - * ospfd.c (ait_ntoa): New function for displaying area ID and - Stub/NSSA status. - (show_ip_ospf_interface_sub): Use ait_ntoa. - (show_ip_ospf_nbr_static_detail_sub): Likewise. - (show_ip_ospf_neighbor_detail_sub): Likewise. - - * ospf_route.c (ospf_intra_route_add): Set external routing type - to ospf route. - (ospf_intra_add_router): Likewise. - (ospf_intra_add_transit): Likewise. - (ospf_intra_add_stub): Likewise. - (ospf_add_discard_route): Likewise. - (show_ip_ospf_route_network): Use ait_ntoa. - (show_ip_ospf_route_network): Likewise. - (show_ip_ospf_route_router): Likewise. - - * ospf_lsa.c (show_lsa_detail): Use ait_ntoa. - (show_lsa_detail_adv_router): Likewise. - (show_ip_ospf_database_summary): Likewise. - - * ospf_route.h (struct route_standard): Add new member - external_routing. - - * ospf_ia.c (process_summary_lsa): Set external routing tyep to ospf - route. - (ospf_update_network_route): Likewise. - (ospf_update_router_route): Likewise. - -2000-11-04 Kunihiro Ishiguro - - * ospf_flood.c (ospf_process_self_originated_lsa): Enclose - OSPF_AS_NSSA_LSA treatment with #ifdef HAVE_NSSA. - -2000-11-03 Kunihiro Ishiguro - - * Unconditional logging is enclosed with if (IS_DEBUG_OSPF_EVENT). - Please specify "debug ospf event" for enable logging. - - * ospf_ism.c: Do not extern debug flag varible. It is done by - ospf_debug.h - * ospf_asbr.c: Likewise. - * ospf_lsa.c: Likewise. - * ospf_nsm.c: Likewise. - * ospf_zebra.c: Likewise. - - * ospf_dump.c (debug_ospf_event): New command "debug ospf event" - is added. - - * ospfd.c (router_ospf): Change logging from vty_out() to - zlog_info(). - (ospf_area_stub_cmd): Likewise. - - * ospf_dump.h: Extern term_debug flags. - (OSPF_DEBUG_EVENT): Add new flag. - (IS_DEBUG_OSPF_EVENT): Add new macro. - -2000-11-03 Dick Glasspool - - * ospf_flood.c (ospf_process_self_originated_lsa): - OSPF_AS_NSSA_LSA is treated as same as OSPF_AS_EXTERNAL_LSA. - (ospf_flood): Type-5's have no change. Type-7's can be received, - and will Flood the AS as Type-5's They will also flood the local - NSSA Area as Type-7's. The LSDB will be updated as Type-5's, and - during re-fresh will be converted back to Type-7's (if within an - NSSA). - (ospf_flood_through): Incoming Type-7's were allowed here if our - neighbor was an NSSA. So Flood our area with the Type-7 and also - if we are an ABR, flood thru AS as Type-5. - - * ospf_lsa.c (ospf_external_lsa_refresh): Flood NSSA both NSSA - area and other area. - - * ospf_packet.c (ospf_db_desc_proc): When AS External LSA is - exists in DD packet, make it sure that this area is not stub. - (ospf_ls_upd_list_lsa): When LSA type is NSSA then set lsa's area - to NULL. - (ospf_ls_upd): If the LSA is AS External LSA and the area is stub - then discard the lsa. If the LSA is NSSA LSA and the area is not - NSSA then discard the lsa. - -2000-11-03 Kunihiro Ishiguro - - * ospfd.c (ospf_interface_run): Fix bug of Hello packet's option - is not properly set when interface comes up. - -2000-11-02 Kunihiro Ishiguro - - * ospfd.h (OSPF_OPTION_O): Add new hello header option. - -2000-11-01 Dick Glasspool - - * ospf_lsa.h: Define OSPF_MAX_LSA to 8 when HAVE_NSSA is enabled. - (OSPF_GROUP_MEMBER_LSA): Define OSPF_GROUP_MEMBER_LSA. - - * ospf_lsa.c (show_database_desc): Add "Group Membership LSA" - string. - -2000-10-31 Dick Glasspool - - * ospf_lsa.h (OSPF_AS_NSSA_LSA): Define OSPF_AS_NSSA_LSA. - - * ospf_lsa.c (show_ip_ospf_database): NSSA database display - function is added. ALIASES which have "show ip ospf database - nssa-external" is added. - (show_ip_ospf_border_routers): New command "show ip ospf - border-routers" is added. - -2000-10-30 Dick Glasspool - - * ospfd.c (router_ospf): NSSA Enabled message is added for - testing. - (ospf_area_type_set): Are type set for NSSA area. - (ospf_area_stub_cmd): Special translation of no_summary into NSSA - and summary information. If NSSA is enabled pass the information - to ospf_area_type_set(). - (area_nssa): New commands are added: - "area A.B.C.D nssa" - "area <0-4294967295> nssa" - "area A.B.C.D nssa no-summary" - "area <0-4294967295> nssa no-summary" - (ospf_no_area_stub_cmd): Special translation of no_summary into - NSSA and summary information. If external_routing is - OSPF_AREA_NSSA unset area with ospf_area_type_set (area, - OSPF_AREA_DEFAULT). - (show_ip_ospf_area): Display NSSA status. - (config_write_ospf_area): Show NSSA configuration. - - * ospf_packet.c (ospf_hello): For NSSA support, ensure that NP is - on and E is off. - -2000-10-26 Gleb Natapov - - * ospf_lsa.c (ospf_network_lsa_body_set): The network-LSA lists - those routers that are fully adjacent to the Designated Router; - each fully adjacent router is identified by its OSPF Router ID. - The Designated Router includes itself in this list. RFC2328, - Section 12.4.2. - -2000-10-23 Jochen Friedrich - - * ospf_snmp.c: ospf_oid and ospfd_oid are used in smux_open after - it is registered. So those variables must be static. - -2000-10-18 K N Sridhar - - * ospfd.c: Add area_default_cost_decimal_cmd and - no_area_default_cost_decimal_cmd alias. - -2000-10-05 Gleb Natapov - - * ospfd.c (ospf_network_new): Fix setting area format. - (no_router_ospf): Check area existance when calling - ospf_interface_down(). - - * ospf_flood.c (ospf_external_info_check): Fix bug of refreshing - default route. - -2000-10-02 Kunihiro Ishiguro - - * zebra-0.89 is released. - -2000-09-29 Kunihiro Ishiguro - - * ospf_snmp.c (ospfHostEntry): OSPF Host MIB is implemented. - - * ospfd.c (ospf_nbr_static_cmp): OSPF neighbor is sorted by it's - address. - -2000-09-28 Michael Rozhavsky - - * ospf_interface.c (ospf_if_free): Fix deleting self neighbor twice. - -2000-09-27 Kunihiro Ishiguro - - * ospf_packet.c (ospf_read): Solaris on x86 has ip_len with host - byte order. - -2000-09-25 Toshiaki Takada - - * ospfd.c (ospf_compatible_rfc1583), (no_ospf_compatible_rfc1583): - Add CISCO compatible command. - -2000-09-25 Kunihiro Ishiguro - - * ospf_abr.c (ospf_area_range_lookup): New function is added for - area range lookup in OSPF-MIB. - (ospf_area_range_lookup_next): Likewise. - -2000-09-22 Kunihiro Ishiguro - - * ospfd.c (no_router_ospf): Delete virtual link before deleting - area structure. - - * ospf_lsa.c (ospf_external_lsa_refresh_type): Check - EXTERNAL_INFO(type). - - * ospfd.c (no_router_ospf): Call ospf_vl_delete() instead of - ospf_vl_data_free(). - - * ospf_interface.c (ospf_vl_shutdown): Execute ISM_InterfaceDown - when ospf_vl_shutdown is called. - (ospf_vl_delete): Call ospf_vl_shutdown() to delete virtual link - interface's thread. - -2000-09-21 Gleb Natapov - - * ospf_lsa.c: New implementation of OSPF refresh. - -2000-09-20 Kunihiro Ishiguro - - * ospf_snmp.c (ospfLsdbLookup): Add LSDB MIB implementation. - -2000-09-18 Kunihiro Ishiguro - - * ospf_snmp.c (ospfStubAreaEntry): Add OSPF stub area MIB. - -2000-09-18 Gleb Natapov - - * ospf_route.h (route_standard): Change member from `struct area' - to area_id. - - * ospf_abr.c (ospf_abr_announce_network), (ospf_abr_should_announce), - (ospf_abr_process_network_rt), (ospf_abr_announce_rtr), - (ospf_abr_process_router_rt): - * ospf_ase.c (ospf_find_asbr_route), - (ospf_find_asbr_router_through_area), - * ospf_ia.c (ospf_find_abr_route), (ospf_ia_router_route), - (process_summary_lsa), (ospf_update_network_route), - (ospf_update_router_route): - * ospf_route.c (ospf_intra_route_add), (ospf_intra_add_router), - (ospf_intra_add_transit), (ospf_intra_add_stub), - (ospf_route_table_dump), (show_ip_ospf_route_network), - (show_ip_ospf_route_router), (ospf_asbr_route_cmp), - (ospf_prune_unreachable_routers): - * ospf_spf.c (ospf_rtrs_print): - * ospfd.c (ospf_rtrs_free): Fix the struct change above. - -2000-09-14 Kunihiro Ishiguro - - * ospf_network.c (ospf_serv_sock_init): Enclose SO_BINDTODEVICE - with ifdef. - -2000-09-13 Gleb Natapov - - * ospf_ism.c (ospf_elect_dr), (ospf_elect_bdr): Fix DR election. - - * ospf_network.c (ospf_serv_sock_init): Add socket option - SO_BINDTODEVICE on read socket. - - * ospf_packet.c (ospf_hello): Ignore Hello packet if E-bit does - not match. - - * ospfd.c (ospf_area_check_free), (ospf_area_get), - (ospf_area_add_if): New function added. - -2000-09-13 Kunihiro Ishiguro - - * ospf_route.c (ospf_intra_add_router): Update ABR and ASBR router - count. - - * ospf_spf.c (ospf_spf_init): Rest ABR and ASBR router count - starting SPF calculation. - - * ospfd.h (struct ospf_area): Add ABR and ASBR router count. - -2000-09-12 Kunihiro Ishiguro - - * ospfd.c (ospf_area_id_cmp): New area structure is sorted by area - ID. - - * ospf_lsa.c (ospf_router_lsa_originate): For OSPF MIB update - lsa_originate_count. - (ospf_network_lsa_originate): Likewise. - (ospf_summary_lsa_originate): Likewise. - (ospf_summary_asbr_lsa_originate): Likewise. - (ospf_external_lsa_originate): Likewise. - -2000-09-11 Kunihiro Ishiguro - - * ospf_snmp.c (ospf_variables): ospfRouterID's type RouterID - syntax is IpAddress. - (ospf_admin_stat): New function for OSPF administrative status - check. - -2000-09-10 Jochen Friedrich - - * ospf_snmp.c: Implement OSPF MIB skeleton. - -2000-09-08 Kunihiro Ishiguro - - * ospf_snmp.c: New file is added. - -2000-09-07 David Lipovkov - - * ospf_zebra.c (ospf_interface_delete): Add pseudo interface - treatment. - - * ospf_interface.c (interface_config_write): Likewise. - -2000-08-17 Kunihiro Ishiguro - - * zebra-0.88 is released. - -2000-08-17 Michael Rozhavsky - - * ospfd.c (ospf_area_free): Remove virtual link configuration only - when Area is removed. - -2000-08-17 Kunihiro Ishiguro - - * ospfd.c (network_area): Revert check for EXTERNAL_INFO - (ZEBRA_ROUTE_CONNECT). - (no_network_area): Likewise. - -2000-08-16 Kunihiro Ishiguro - - * ospfd.h (struct ospf): Add distance_table and - distance_{all,intra,inter,external}. - - * ospf_zebra.c: Add OSPF distance related functions. - -2000-08-15 Gleb Natapov - - * ospf_asbr.c (ospf_external_info_find_lsa): New function added. - - * ospf_lsa.c (ospf_default_external_info), - (ospf_default_originate_timer), (ospf_external_lsa_refresh_default): - New function added. - - * ospf_zebra.c - (ospf_default_information_originate_metric_type_routemap), - (ospf_default_information_originate_always_metric_type_routemap): - Change name and add route-map function. - (ospf_default_information_originate_metric_routemap), - (ospf_default_information_originate_routemap), - (ospf_default_information_originate_type_metric_routemap): - New DEFUN added. - -2000-08-14 Kunihiro Ishiguro - - * ospf_zebra.c (zebra_interface_if_set_value): Change ifindex - restore size from two octet to four. - -2000-08-14 Michael Rozhavsky - - * ospf_ase.c (ospf_ase_incremental_update): Implement incremental - AS-external-LSA in 16.6 of RFC2328. - -2000-08-14 Matthew Grant - - * ospf_interface.c (ospf_if_get_output_cost): Change cost - calculation algorithm. - - * ospf_packet (ospf_ls_upd): Fix problem of LSA retransmitting. - -2000-08-11 Michael Rozhavsky - - * ospf_lsa.c (ospf_maxage_lsa_remover): Fix maxage remover for - AS-external-LSAs. - -2000-08-10 Toshiaki Takada - - * ospfd.c (auto_cost_reference_bandwidth): New DEFUN added. - `auto-cost reference-bandwidth' OSPF router command added. - -2000-08-08 Gleb Natapov - - * ospf_routemap.c (ospf_route_map_update): New function added. - Add route-map event hook. - -2000-08-08 Toshiaki Takada - - * ospf_zebra.c (ospf_distribute_check_connected): If redistribute - prefix is connected route on OSPF enabled interface, suppress to - announce it. - -2000-08-08 Matthew Grant - - * ospf_interface.c (ospf_if_get_output_cost): - New function added. Handle bandwidth parameter for cost - calculation. - -2000-08-08 Michael Rozhavsky - - * ospf_interface.c (interface_config_write): Show interface - configuration regardless interface is down. - - * ospf_ase.c (ospf_ase_caocluate_route): Whole rewritten external - route calculate function. - -2000-08-08 Gleb Natapov - - * ospf_routemap.c: New file added. - - * ospf_asbr.c (ospf_reset_route_map_set_values), - (ospf_route_map_set_compare): New function added. - - * ospf_lsa.c (ospf_external_lsa_body_set): Set routemap metric - with AS-external-LSA. - -2000-08-05 Kunihiro Ishiguro - - * ospf_ase.c (ospf_ase_calculate_route_add): Pass new->cost to - ospf_zebra_add as metric. - (ospf_ase_calculate_route_add): Likewise. - - * ospf_route.c (ospf_route_install): Pass or->cost to - ospf_zebra_add as metric. - - * ospf_zebra.c (ospf_zebra_add): Add metric arguemnt. - (ospf_zebra_delete): Likewise. - -2000-08-03 Matthew Grant - - * ospf_flood.c (ospf_flood_delayed_lsa_ack): New function added. - Dispatch delayed-ACK with flooding AS-external-LSA across virtual - link. - -2000-07-31 Matthew Grant - - * ospfd.c (show_ip_ospf_area): Fix lack of VTY_NEWLINE when - `show ip ospf'. - - * ospf_interface.c (ospf_if_free): Fix bug of crash with - Point-to-Point interface. - -2000-07-27 Michael Rozhavsky - - * ospf_flood.c (ospf_process_self_originated_lsa): - Make sure to clear LSA->param (redistributed external information) - before refreshment. - -2000-07-27 Gleb Natapov - - * ospfd.c (refresh_group_limit), (refresh_per_slice), - (refresh_age_diff): New defun added. Refresher related parameter - can be configurable. - -2000-07-27 Akihiro Mizutani - - * ospf_interface.c (interface_config_write): Print `description' - config directive to work. - -2000-07-24 Akihiro Mizutani - - * ospf_interface.c (ospf_if_init): Use install_default for - INTERFACE_NODE. - -2000-07-24 Gleb Natapov - - * ospf_packet.c (ospf_ls_upd_send_list), (ospf_ls_upd_send_event), - (ospf_ls_ack_send_list), (ospf_ls_ack_send_event): New function added. - This make sending always as many LS update/Ack combined in one ospf - packet. - -2000-07-24 Gleb Natapov - - * ospf_packet.c (ospf_ls_upd_list_lsa): Set NULL to lsa->area if - LSA is AS-external-LSA. - - * ospf_nsm.c (nsm_reset_nbr): Do not cancel Inactivity timer. - -2000-07-21 Toshiaki Takada - - * ospf_zebra.c (ospf_default_originate_timer): Set timer for - `default-information originate'. Fix some default originate - related functions. - -2000-07-12 Toshiaki Takada - - * ospf_lsa.c (stream_put_ospf_metric): New function added. - -2000-07-12 Toshiaki Takada - - * ospf_lsa.c (show_ip_ospf_database_router), - (show_ip_ospf_database_network), (show_ip_ospf_database_summary), - (show_ip_ospf_database_summary_asbr), (show_ip_ospf_database_externel), - (show_router_lsa), (show_any_lsa), (show_router_lsa_self), - (show_any_lsa_self): Functions removed. - - (show_lsa_prefix_set), (show_lsa_detail_proc), (show_lsa_detail), - (show_lsa_detail_adv_router_proc), (show_lsa_detail_adv_router): - New functions added. Replace above functions. - - (show_ip_ospf_database_all), (show_ip_ospf_database_self_originated): - Functions removed. - (show_ip_ospf_database_summary): New functions added. Replace - above functions. - - (show_ip_ospf_database_cmd): DEFUN rearranged. - (show_ip_ospf_database_type_id_cmd), - (show_ip_ospf_database_type_id_adv_router_cmd), - (show_ip_ospf_database_type_is_self_cmd): New ALIASes added. - (show_ip_ospf_database_type_adv_rotuer_cmd): New DEFUN added. - (show_ip_ospf_database_type_self_cmd): New ALIAS added. - -2000-07-11 Toshiaki Takada - - * ospf_asbr.c (ospf_external_info_new), - (ospf_external_info_free): New functions added. - - * ospf_lsa.h (ospf_lsa): Add new member `void *param' to set - origination parameter for external-LSA. - Remove member `redistribute'. - - * ospf_zebra.c (ospf_redistirbute_set): When `redistribute' - command executed, metric and metric-type values are overridden. - If one of those is changed refresh AS-external-LSAs for appropriate - type. - -2000-07-11 Michael Rozhavsky - - * ospf_lsa.c (ospf_summary_lsa_refresh), - (ospf_summary_asbr_lsa_refresh): Make sure to refresh summary-LSAs. - - * ospf_abr.c (set_metric): New function added. - -2000-07-07 Toshiaki Takada - - * ospf_zebra.c (ospf_default_information_originate_metric_type), - (ospf_default_information_originate_type_metric): New defun added. - Metic and Metric type can be set to default route. - (ospf_default_information_originate_always_metric_type): - (ospf_default_information_originate_always_type_metric): - New defun added. Metric and Metric type can be set to default - always route. - - * ospf_zebra.c (ospf_default_metric), (no_ospf_default_metric): - New defun added. - -2000-07-06 Gleb Natapov - - * ospf_flood.c (ospf_flood_through_area): Fix bug of considering - on the same interface the LSA was received from. - -2000-07-06 Michael Rozhavsky - - * ospfd.c (ospf_config_write): Fix bug of printing `area stub' - command with `write mem'. - - * ospfd.c (no_router_ospf): Remove installed routes from zebra. - - * ospf_zebra.c (ospf_interface_delete): Fix function to handle - zebra interface delete event. - -2000-07-06 Toshiaki Takada - - * ospf_zebra.c (ospf_default_information_originate), - (ospf_default_information_originate_always): New DEFUN added. - -2000-07-05 Michael Rozhavsky - - * ospf_route.c (ospf_terminate): Make sure to remove external route - when SIGINT received. - -2000-07-03 Gleb Natapov - - * ospf_flood.c, ospf_ism.c, ospf_lsa,c, ospfd.c: Make sure to free - many structure with `no router ospf'. - -2000-06-30 Gleb Natapov - - * ospf_neighbor.c (ospf_nbr_new), - ospf_nsm.c (nsm_timer_set): Start LS update timer only - when neighbor enters Exchange state. - -2000-06-29 Gleb Natapov - - * ospf_nsm.c (nsm_timer_set), (nsm_exchange_done), - ospf_packet.c (ospf_db_desc_proc): - Do not cancel DD retransmit timer when Master. - -2000-06-29 Gleb Natapov - - * ospf_abr.c (ospf_abr_announce_network_to_area), - (ospf_abr_announce_rtr_to_area) - ospf_ase.c (ospf_ase_rtrs_register_lsa), - ospf_flood.c (ospf_process_self_originated_lsa), - (ospf_flood_through_area), (ospf_ls_request_delete), - ospf_interface.c (ospf_if_free), - ospf_ism.c (ism_change_status), - ospf_lsa.c (ospf_router_lsa_update_timer), - (ospf_router_lsa_install), (ospf_network_lsa_install), - (ospf_lsa_maxage_delete), (ospf_lsa_action), - (ospf_schedule_lsa_flood_area), - ospf_nsm.c (nsm_change_status), - ospf_packet.c (ospf_make_ls_req_func), (ospf_make_ls_ack): - Use ospf_lsa_{lock,unlock} for all looking-up of LSA. - - * ospf_flood.c (ospf_ls_request_free): Function deleted. - - * ospf_lsa.c (ospf_discard_from_db): New function added. - -2000-06-26 Toshiaki Takada - - * ospfd.h (ospf): struct member `external_lsa' name changed to - `lsdb'. - -2000-06-26 Toshiaki Takada - - * ospf_lsa.c (ospf_lsa_install), (ospf_router_lsa_install), - (ospf_network_lsa_install), (ospf_summary_lsa_install), - (ospf_summary_asbr_lsa_install), (ospf_external_lsa_install): - Functions re-arranged. - - * ospf_lsa.c (IS_LSA_MAXAGE), (IS_LSA_SELF): Macro added. - -2000-06-20 Michael Rozhavsky - - * ospf_packet.c (ospf_ls_req), (ospf_ls_upd), (ospf_ls_ack): Add - verification of LS type. - -2000-06-20 Gleb Natapov - - * ospf_ase.c (ospf_ase_calculate_timer): Add more sanity check - whether rn->info is NULL. - -2000-06-20 Toshiaki Takada - - * ospfd.c (show_ip_ospf_interface_sub): Show Router-ID of both - DR and Backup correctly with `show ip ospf interface' command. - -2000-06-20 Toshiaki Takada - - * ospf_lsa.c (ospf_lsa_lock), (ospf_lsa_unlock), - (ospf_lsa_discard): These functions are used for avoiding - unexpected reference to freed LSAs. - -2000-06-13 Kunihiro Ishiguro - - * ospf_packet.c (ospf_ls_upd): Initialize lsa by NULL to avoid - warning. - -2000-06-12 Kunihiro Ishiguro - - * ospf_ase.h (ospf_ase_rtrs_register_lsa): Add prototype. - -2000-06-12 Toshiaki Takada - - * ospf_lsa.c (ospf_external_lsa_install): Make sure to register - LSA to rtrs_external when replacing AS-external-LSAs in LSDB. - Fix core dump. - -2000-06-10 Toshiaki Takada - - * ospf_lsdb.c (id_to_prefix), (ospf_lsdb_hash_key), - (ospf_lsdb_hash_cmp), (ospf_lsdb_new), (ospf_lsdb_iterator), - (lsdb_free), (ospf_lsdb_free), (ospf_lsdb_add), (ospf_lsdb_delete), - (find_lsa), (ospf_lsdb_lookup), (find_by_id), - (ospf_lsdb_lookup_by_id), (ospf_lsdb_lookup_by_header): Functinos - removed for migration to new_lsdb. - - * ospf_lsa.c (ospf_summary_lsa_install), - (ospf_summary_asbr_lsa_install), (ospf_maxage_lsa_remover), - (ospf_lsa_maxage_walker), (ospf_lsa_lookup), - (ospf_lsa_lookup_by_id): Use new_lsdb instead of ospf_lsdb. - (count_lsa), (ospf_lsa_count_table), (ospf_lsa_count), - (ospf_get_free_id_for_prefix): Funcitions removed. - -2000-06-09 Gleb Natapov - - * ospf_ism.c (ism_interface_down): Prevent some unneeded DR changes. - - * ospf_packet.c (ospf_db_desc_proc): Fix memory leak. - (ospf_hello): Always copy router-ID when hello is received. - -2000-06-08 Gleb Natapov - - * ospf_lsa.h (struct ospf_lsa): Add member of pointer to struct - ospf_area. - -2000-06-08 Michael Rozhavsky - - * ospf_ase.c (ospf_asbr_route_same): New function added. - This function makes sure external route calculation more - precisely. - -2000-06-07 Michael Rozhavsky - - * ospf_ism.c (ism_change_status): Use ospf_lsa_flush_area for - network-LSA deletion instead of using ospf_lsdb_delete. - Also cancel network-LSA origination timer. - -2000-06-07 Levi Harper - - * ospf_interface.c (ospf_if_down): Close read fd when an interface - goes down. - -2000-06-05 Kunihiro Ishiguro - - * ospf_asbr.c (ospf_external_info_lookup): Add explicit brace for - avoid ambiguous else. - - * ospf_flood.c (ospf_external_info_check): Likewise. - -2000-06-05 Toshiaki Takada - - * ospf_nsm.c (nsm_adj_ok): Fix bug of DR election. - -2000-06-04 Toshiaki Takada - - * ospf_zebra.c (ospf_default_information_originate), - (no_ospf_default_information_originate): New DEFUN added. - -2000-06-03 Toshiaki Takada - - * ospf_lsa.h, ospf_asbr.h (external_info): Struct moved from - ospf_lsa.h to ospf_asbr.h. - - * ospf_lsa.c, ospf_asbr.c (ospf_external_info_add), - (ospf_external_info_delete): Function moved from ospf_lsa.c - to ospf_asbr.c. - -2000-06-03 Toshiaki Takada - - * ospf_flood.c (ospf_external_info_check): New function added. - (ospf_process_self_orignated_lsa): Make sure to flush - self-originated AS-external-LSA, when router reboot and no longer - originate those AS-external-LSA. - -2000-06-02 Toshiaki Takada - - * ospf_network.c (ospf_serv_sock): Remove SO_DONTROUTE - socket option. - - * ospf_packet.c (ospf_write): Set MSG_DONTROUTE flag for - unicast destination packets. - -2000-06-02 Toshiaki Takada - - * ospf_lsdb.c (new_lsdb_delete): Delete entry from LSDB only when - specified LSA matches. - -2000-06-02 Gleb Natapov - - * ospf_network.c (ospf_serv_sock): Set SO_DONTROUTE - socket option. - -2000-06-01 Akihiro Mizutani - - * ospf_dump.c: Replace string `Debugging functions\n' with DEBUG_STR. - Replace string `OSPF information\n' with OSPF_STR. - -2000-06-01 Toshiaki Takada - - * ospf_lsdb.[ch]: Use new_lsdb struct for network-LSA instead of - ospf_lsdb. - -2000-06-01 Toshiaki Takada - - * ospf_dump.c (config_debug_ospf_packet), (config_debug_ospf_event), - (config_debug_ospf_ism), (config_debug_ospf_nsm), - (config_debug_ospf_lsa), (config_debug_ospf_zebra), - (term_debug_ospf_packet), (term_debug_ospf_event), - (term_debug_ospf_ism), (term_debug_ospf_nsm), - (term_debug_ospf_lsa), (term_debug_ospf_zebra): Repalce debug_ospf_* - variable to use for debug option flags. - - (debug_ospf_packet), (debug_ospf_ism), (debug_ospf_nsm), - (debug_ospf_lsa), (debug_ospf_zebra): Set {config,term}_debug_* - flags when vty->node is CONFIG_NODE, otherwise set only term_debug_* - flags. - - * ospf_dump.h (CONF_DEBUG_PACKET_ON), (CONF_DEBUG_PACKET_OFF), - (TERM_DEBUG_PACKET_ON), (TERM_DEBUG_PACKET_OFF), - (CONF_DEBUG_ON), (CONF_DEBUG_OFF), (IS_CONF_DEBUG_OSPF_PACKET), - (IS_CONF_DEBUG_OSPF): New Macro added. - -2000-05-31 Toshiaki Takada - - * ospfd.c (clear_ip_ospf_neighbor): New DEFUN added. - Currently this command is used for only debugging. - - * ospf_nsm.c (nsm_change_status): Make sure thread cancellation - for network-LSA when DR has no full neighbors. - - * ospf_nsm.c (ospf_db_summary_clear): New function added. - -2000-05-30 Toshiaki Takada - - * ospf_lsdb.c (new_lsdb_insert): LSAs are always freed by - maxage_lsa_remover when LSA is replaced. - -2000-05-25 Gleb Natapov - - * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all): Add argument - `struct ospf_area' to remove LSA from Link State retransmission list - of neighbor from only one Area. - -2000-05-24 Michael Rozhavsky - - * ospf_lsdb.c (ospf_lsdb_add): Preserve flags field when - overriting old LSA with new LSA. - -2000-05-24 Gleb Natapov - - * ospf_lsa.c (ospf_router_lsa_body_set): Fix bug of router-LSA - size calculation. - -2000-05-22 Michael Rozhavsky - - * ospf_route.c (ospf_intra_add_stub): - * ospf_spf.h (struct vertex): Use u_int32_t for distance (cost) - value instead of u_int16_t. - -2000-05-22 Axel Gerlach - - * ospf_ia.c (ospf_ia_network_route): Fix bug of Inter-area route - equal cost path calculation. - -2000-05-21 Toshiaki Takada - - * ospf_ase.c (ospf_ase_calculate_route_delete): New function added. - Make sure, when rotuer route is deleted, related external routes - are also deleted. - -2000-05-20 Toshiaki Takada - - * ospfd.c (ospf_interface_down): Make sure interface flag is disable - and set fd to -1. - -2000-05-16 Toshiaki Takada - - * ospf_asbr.c (ospf_asbr_should_announce), (ospf_asbr_route_remove): - Functions removed. - - * ospfd.h (EXTERNAL_INFO): Macro added. - Substitute `ospf_top->external_info[type]' with it. - -2000-05-16 Toshiaki Takada - - * ospf_lsa.c (ospf_rtrs_external_remove): New function added. - -2000-05-14 Gleb Natapov - - * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all) - * ospf_lsdb.c (new_lsdb_insert) - * ospf_packet.c (ospf_ls_ack): Fix database synchonization problem. - -2000-05-14 Gleb Natapov - - * ospf_lsa.h (tv_adjust), (tv_ceil), (tv_floor), (int2tv), - (tv_add), (tv_sub), (tv_cmp): Prototype definition added. - - * ospf_nsm.h (ospf_db_summary_delete_all): Prototype definition added. - -2000-05-13 Toshiaki Takada - - * ospf_lsa.[ch] (ospf_lsa): struct timestamp type is changed from - time_t to struct timeval. - (tv_adjust), (tv_ceil), (tv_floor), (int2tv), (tv_add), - (tv_sub), (tv_cmp): timeval utillity functions added. - -2000-05-12 Toshiaki Takada - - * ospf_lsa.[ch] (ospf_schedule_update_router_lsas): Delete function. - Change to use macro OSPF_LSA_UPDATE_TIMER instead of using - this function. - router-LSA refresh timer related stuff is re-organized. - -2000-05-10 Gleb Natapov - - * ospf_interface.c (ospf_vl_set_params): - * ospf_packet.c (ospf_check_network_mask): - * ospf_spf.[ch] (ospf_spf_next): - Remove field address from `struct vertex', and search for peer - address of virtual link in function `ospf_vl_set_params' instead. - -2000-05-10 Gleb Natapov - - * ospf_packet.c (ospf_ls_upd): Fix some memory leak related LSA. - -2000-05-08 Thomas Molkenbur - - * ospf_packet.c (ospf_packet_dup): Replace ospf_steram_copy() - with ospf_stream_dup() to fix memory leak. - -2000-05-08 Michael Rozhavsky - - * ospf_flood.c (ospf_flood_through_area): Fix the problem of - LSA update without DROther. - -2000-05-04 Gleb Natapov - - * ospf_spf.c (ospf_vertex_free): Fix memory leak of SPF calculation. - -2000-05-03 Toshiaki Takada - - * ospf_neighbor.c (ospf_db_summary_add): Use new_lsdb struct - instead linked-list. - (ospf_db_summary_count), (ospf_db_summary_isempty): - New function added. - - * ospf_lsa.c (ospf_rotuer_lsa): Re-arrange and divide functions. - -2000-05-02 Gleb Natapov - - * ospf_lsdb.c (new_lsdb_cleanup): Fix memory leak. When LSDB are - not needed any more, then free them. - -2000-05-02 Toshiaki Takada - - * ospfd.c (timers_spf), (no_timers_spf): New defun added. - SPF calculation timers related stuff is rearranged. - - * ospf_spf.c (ospf_spf_calculate_timer_add): Function removed. - SPF timer is scheduled by SPF calculation delay and holdtime - configuration variable. - - * ospf_lsa.c (ospf_external_lsa_nexthop_get): Set AS-external-LSA's - forwarding address when nexthop learned by other protocols is - in the OSPF domain. - - * ospf_zebra.c (ospf_redistribute_source_metric_type), - (ospf_redistribute_source_type_metric): Re-arrange DEFUNs and - ALIASes. - -2000-05-01 Toshiaki Takada - - * ospf_flood.c (ospf_ls_retransmit_count), - (ospf_ls_retransmit_isempty): New function added. - - (ospf_ls_retransmit_add), (ospf_ls_retransmit_delete), - (ospf_ls_retransmit_clear), (ospf_ls_retransmit_lookup), - (ospf_ls_retransmit_delete_all), (ospf_ls_retransmit_delete_nbr_all), - (ospf_ls_retransmit_add_nbr_all): Replace these functions to use - new_lsdb. - -2000-04-29 Toshiaki Takada - - * ospfd.c (no_network_area): Add check Area-ID whether specified - Area-ID with prefix matches config. - -2000-04-27 Toshiaki Takada - - * ospf_lsa.c (ospf_maxage_lsa_remover): Fix problem of - remaining withdrawn routes on zebra. - -2000-04-25 Michael Rozhavsky - - * ospf_nsm.c (nsm_kill_nbr), (nsm_ll_down), (nsm_change_status), - (ospf_nsm_event): Fix network-LSA re-origination problem. - -2000-04-24 Toshiaki Takada - - * ospf_nsm.c (ospf_db_desc_timer): Fix bug of segmentation fault - with DD retransmission. - - * ospf_nsm.c (nsm_kill_nbr): Fix bug of re-origination when - a neighbor disappears. - -2000-04-23 Michael Rozhavsky - - * ospf_abr.c (ospf_abr_announce_network_to_area): Fix bug of - summary-LSAs reorigination. Correctly copy OSPF_LSA_APPROVED - flag to new LSA. when summary-LSA is reoriginatd. - - * ospf_flood.c (ospf_flood_through_area): Fix bug of flooding - procedure. Change the condition of interface selection. - -2000-04-21 Toshiaki Takada - - * ospf_lsa.c (ospf_refresher_register_lsa): Fix bug of refresh never - occurs. - - * ospfd.c (show_ip_ospf_neighbor_id): New defun added. - `show ip ospf neighbor' related commands are re-arranged. - -2000-04-20 Toshiaki Takada - - * ospf_dump.c (debug_ospf_zebra): New defun added. - Suppress zebra related debug information. - -2000-04-19 Toshiaki Takada - - * ospf_zebra.c (ospf_distribute_list_update_timer), - (ospf_distribute_list_update), (ospf_filter_update): - New function added. Re-organize `distribute-list' router ospf - command. - -2000-04-13 Michael Rozhavsky - - * ospf_packet.c (ospf_make_ls_upd): Add check for MAX_AGE. - -2000-04-14 Michael Rozhavsky - - * ospf_packet.c (ospf_make_ls_upd): Increment LS age by configured - interface transmit_delay. - -2000-04-14 Sira Panduranga Rao - - * ospf_interface.c (ip_ospf_cost), (no_ip_ospf_cost): - Add to schedule router_lsa origination when the interface cost changes. - -2000-04-12 Toshiaki Takada - - * ospf_lsa.c (ospf_refresher_register_lsa), - (ospf_refresher_unregister_lsa): Fix bug of core dumped. - - * ospfd.c (no_router_ospf): Fix bug of core dumped. - -2000-03-29 Toshiaki Takada - - * ospf_nsm.c (nsm_oneway_received): Fix bug of MS flag unset. - -2000-03-29 Michael Rozhavsky - - * ospf_lsa.c (ospf_network_lsa): - * ospf_nsm.c (ospf_nsm_event): Fix bug of Network-LSA originated - in stub network. - -2000-03-28 Toshiaki Takada - - * ospf_nsm.c (nsm_bad_ls_req), (nsm_seq_number_mismatch), - (nsm_oneway_received): Fix bug of NSM state flapping between - ExStart and Exchange. - -2000-03-28 Toshiaki Takada - - * ospf_packet.h (strcut ospf_header): Fix the size of ospf_header, - change u_int8_t to u_char. - -2000-03-27 Toshiaki Takada - - * ospf_lsa.c (ospf_lsa_checksum): Take care of BIGENDIAN architecture. - -2000-03-27 Toshiaki Takada - - * ospfd.c (ospf_interface_run): Make sure Address family matches. - -2000-03-26 Love - - * ospf_packet.c (ospf_write): Chack result of sendto(). - -2000-03-26 Sira Panduranga Rao - - * ospf_nsm.c (nsm_oneway_received): Fix bug of 1-WayReceived in NSM. - -2000-03-23 Libor Pechacek - - * ospf_lsa.c (ospf_network_lsa) - * ospf_lsdb.c (new_lsdb_insert): Fix bug of accessing to - unallocated memory. - -2000-03-23 Toshiaki Takada - - * ospfd.c (ospf_config_write): Fix bug of duplicate line for - `area A.B.C.D authentication'. - -2000-03-22 Toshiaki Takada - - * ospf_debug.c (debug_ospf_lsa), (no_debug_ospf_lsa): Defun added. - Suppress all zlog related to LSAs with this config option. - -2000-03-21 Kunihiro Ishiguro - - * ospf_nsm.c (ospf_nsm_event): Add check for NSM_InactivityTimer. - -2000-03-21 Toshiaki Takada - - * ospf_packet.c (ospf_ls_upd_timer), (ospf_ls_req): - Fix bug of memory leak about linklist. - - * ospf_flood.c (ospf_flood_through_area): Likewise. - -2000-03-18 Sira Panduranga Rao - - * ospf_flood.c (ospf_ls_retransmit_lookup): Add checksum comparison - to identify LSA uniquely. This fix routes lost. - -2000-03-18 Toshiaki Takada - - * ospf_ase.c (ospf_find_asbr_route): Add sanity check with router - routing table. - -2000-03-17 Alex Zinin - - * ospf_spf.[ch]: Bug fix. - The 2nd stage of Dijkstra could consider one vertex - more than once if there is more than one link - between the routers, thus adding extra CPU overhead - and extra next-hops. - Fixed. - -2000-03-15 Sira Panduranga Rao - - * ospf_nsm.c (nsm_inactivity_timer): Changed to call nsm_kill_nbr(). - -2000-03-14 Toshiaki Takada - - * ospf_route.c (ospf_route_copy_nexthops): Fix bug of memory leak of - ospf_path. Actually ignore merging ospf_route with completely same - paths. - -2000-03-12 Toshiaki Takada - - * ospf_lsa.c (show_as_external_lsa_detail): fix bug of - external route tag byte order. - -2000-03-11 Toshiaki Takada - - * ospf_lsdb.c (ospf_lsdb_insert): New function added. - -2000-03-09 Toshiaki Takada - - * ospf_lsa.c (ospf_external_lsa_install), - (ospf_lsa_lookup), (show_ip_ospf_database_all), - (show_ip_ospf_database_self_originate): Use struct new_lsdb for - LSDB of AS-external-LSAs instead of ospf_lsdb. - - * ospf_lsa.c (ospf_lsa_unique_id): New function added. - Use for assigning Unique Link State ID instead of - ospf_get_free_id_for_prefix(). - -2000-03-09 Toshiaki Takada - - * ospf_ase.c (ospf_ase_calculate_timer): Fix bug of segmentation - fault reported by George Bonser . - -2000-03-07 Libor Pechacek - - * ospfd.c (ospf_interface_down): Fix bug of segmentation fault. - -2000-03-06 Toshiaki Takada - - * ospf_route.c (ospf_route_cmp): Change meaning of return values. - -2000-03-02 Alex Zinin - * ospfd.h, ospf_ia.h - New Shortcut ABR code. Now area's flag can be configured - with Default, Enable, and Disable values. - More info will be in the new ver of I-D soon (see IETF web). - -2000-02-25 Toshiaki Takada - - * ospf_lsa.c (ospf_lsa_header_set), (ospf_external_lsa_body_set), - (osfp_external_lsa_originate), (ospf_external_lsa_queue), - (ospf_external_lsa_originate_from_queue): New function added. - (ospf_external_lsa): Function removed. - - * ospf_zebra.c (ospf_zebra_read_ipv4): Originate AS-external-LSA - when listen a route from Zebra, instead creating external route. - - * ospf_asbr.c (ospf_asbr_route_add_flood_lsa), - (ospf_asbr_route_add_queue_lsa), - (ospf_asbr_route_install_lsa), (ospf_asbr_route_add): - Functions removed. - - * ospf_ase.c (process_ase_lsa): Function will not be used. - (ospf_ase_calculate), (ospf_ase_calculate_route_add), - (ospf_ase_calculate_new_route), (ospf_ase_caluculate_asbr_route): - process_ase_lsa () is separated to these functions. - - OSPF AS-external-LSA origination is whole re-organized. - -2000-02-18 Toshiaki Takada - - * ospf_packet.c (ospf_ls_upd): Fix bug of OSPF LSA memory leak. - - * ospf_asbr.c (ospf_asbr_route_add_flood_lsa), - (ospf_asbr_route_add_queue_lsa): Fix bug of OSPF external route - memory leak. - -2000-02-12 Kunihiro Ishiguro - - * ospf_asbr.c (ospf_asbr_route_install_lsa): Re-calculate LSA - checksum after change Advertised Router field. - -2000-02-09 Toshiaki Takada - - * ospf_asbr.c (ospf_external_route_lookup): Add new function. - -2000-02-08 Toshiaki Takada - - * ospfd.c (ospf_router_id_get), (ospf_router_id_update), - (ospf_router_id_update_timer): Router ID decision algorithm is changed. - Router ID is chosen from all of eligible interface addresses even if - it is not enable to OSPF. - -2000-02-08 Toshiaki Takada - - * ospf_asbr.c (ospf_asbr_route_add): Function divided to - ospf_asbr_route_add_flood_lsa, ospf_asbr_route_add_queue_lsa and - ospf_asbr_route_install_lsa. If Router-ID is not set, then LSA is - waited to install to LSDB. - `0.0.0.0 adv_router' AS-external-LSA origination bug was fixed. - -2000-02-01 Sira Panduranga Rao - - * ospf_flood.c (ospf_ls_retransmit_lookup): Compare LS seqnum - in the ACK before deleting. - - * ospf_packet.c (ospf_hello): Reset the flags after a shutdown - and no shutdown of the interface. - -2000-01-31 Toshiaki Takada - - * ospf_packet.c (ospf_ls_req): Send multiple Link State Update - packets respond to a Link State Request packet. - - * ospfd.c (show_ip_ospf_neighbor_detail_sub): Show thread state. - - * ospf_interface.c (ospf_vl_new): Crash when backbone area - is not configured and set virtual-link to no-backbone area, - bug fixed. - -2000-01-30 Kunihiro Ishiguro - - * ospf_neighbor.h (struct ospf_neighbor): Add pointer to last send - LS Request LSA. - - * ospf_packet.c (ospf_ls_upd): Comment out LS request list - treatment. That should be done in OSPF flooding procedure. - - * ospf_flood.c (ospf_flood_through_area): Enclose - ospf_check_nbr_loding inside if-else close. - -2000-01-31 Toshiaki Takada - - * ospf_packet.c (ospf_make_ls_upd): Fix bug of #LSAs counting. - -2000-01-29 Toshiaki Takada - - * ospf_packet.c (ospf_make_md5_digest): Fix bug of md5 authentication. - -2000-01-28 Toshiaki Takada - - * ospfd.c (show_ip_ospf): Show Number of ASE-LSAs. - -2000-01-27 Kunihiro Ishiguro - - * ospf_packet.c (ospf_make_db_desc): Don't use rm_list for - removing LSA from nbr->db_summary. - -2000-01-27 Sira Panduranga Rao - - * ospf_packet.c (ospf_ls_upd_send): Set AllSPFRouters to - destination when the link is point-to-point. - (ospf_ls_ack_send_delayed): Likewise. - -2000-01-27 Kunihiro Ishiguro - - * ospf_flood.c (ospf_ls_request_delete_all): Fix bug of next - pointer lookup after the node is freed. - -2000-01-26 Kunihiro Ishiguro - - * ospf_asbr.c (ospf_asbr_route_add): Instead of scanning all AS - external route, use ospf_top->external_self. - -2000-01-27 Toshiaki Takada - - * ospf_lsa.c (ospf_forward_address_get): New function added. - - * ospf_asbr.c (ospf_asbr_check_lsas): Originate AS-external-LSA - only when it should be replaced. - -2000-01-25 Kunihiro Ishiguro - - * ospf_flood.c (ospf_ls_retransmit_clear): Delete list node. - - * ospf_lsa.c (ospf_lsa_free): Reduce logging message using - ospf_zlog value. - - * ospf_ism.c (ism_change_status): Fix bug of DR -> non DR status - change. Self originated LSA is freed but not deleted from lsdb. - -2000-01-24 Kunihiro Ishiguro - - * ospf_ism.c (ism_interface_down): Don't use router_id for - detecting self neighbor structure. Instead of that compare - pointer itself. - - * ospf_neighbor.c (ospf_nbr_free): Cancel all timer when neighbor - is deleted. - (ospf_nbr_free): Free last send packet. - - * ospf_neighbor.h (struct ospf_neighbor): Remove host strucutre. - Instead of that src is introduced. - - * ospf_nsm.h: Enclose macro defenition with do {} while (0). - -2000-01-17 Kunihiro Ishiguro - - * ospfd.c: Change part of passive interface implementation. For - passive interface just disabling sending/receiving Hello on the - interface. - -2000-01-16 Kai Bankett - - * ospf_interface.h (OSPF_IF_PASSIVE): Add passive flag. - * ospf_interface.c (ospf_if_lookup_by_name): Add new function. - * ospf_lsa.c (ospf_router_lsa): Skip passive interface. - * ospfd.c (passive_interface): New command passive-interface is - added. - (ospf_config_write): Print passive interface. - -2000-01-15 Toshiaki Takada - - * ospf_interface.h (crypt_key): New struct added to store - multiple cryptographic autheitication keys. - (ospf_interface): struct changed. - - * ospf_interface.c: ospf_crypt_key_new, ospf_crypt_key_add, - ospf_crypt_key_lookup, ospf_crypt_key_delete: new functions added. - - * ospf_packet.c (ip_ospf_message_digest_key): Changed to store - multiple cryptographic authentication keys. - -2000-01-14 Toshiaki Takada - - * ospf_interface.c: DEFUN (if_ospf_*) commands changed name to - ip_ospf_* (). - Old notation `ospf *' still remains backward compatibility. - -1999-12-29 Alex Zinin - * ospf_lsa.c: ospf_lsa_more_recent() bug fix - * ospf_nsm.c, ospf_packet.c: remove nbr data struct when - int goes down, also check DD flags correctly (bug fix) - -1999-12-28 Alex Zinin - * "redistribute metric-type (1|2) metric " added - -1999-12-23 Alex Zinin - * added RFC1583Compatibility flag - * added dynamic interface up/down functionality - -1999-11-19 Toshiaki Takada - - * ospf_neighbor.h (struct ospf_neighbor): Add member state_change - for NSM state change statistics. - -1999-11-19 Toshiaki Takada - - * ospfd.c (show_ip_ospf_neighbor_detail), - (show_ip_ospf_neighbor_int_detail): DEFUN Added. - -1999-11-14 Kunihiro Ishiguro - - * ospf_asbr.c (ospf_asbr_check_lsas): Add check of - lsa->refresh_list. - -1999-11-11 Toshiaki Takada - - * ospf_ia.[ch] (OSPF_EXAMINE_SUMMARIES_ALL): Macro added. - This macro is expanded to ospf_examine_summaries () - for SUMMARY_LSA and SUMMARY_LSA_ASBR. - (OSPF_EXAMINE_TRANSIT_SUMMARIES_ALL): Macro added. - This macro is expanded to ospf_examine_transit_summaries () - for SUMMARY_LSA and SUMMARY_LSA_ASBR. - -1999-11-11 Toshiaki Takada - - * ospf_lsa.[ch] (ospf_find_self_summary_lsa_by_prefix): Changed to - macro OSPF_SUMMARY_LSA_SELF_FIND_BY_PREFIX. - (ospf_find_self_summary_asbr_lsa_by_prefix): Changed to - macro OSPF_SUMMARY_ASBR_LSA_SELF_FIND_BY_PREFIX. - (ospf_find_self_external_lsa_by_prefix): Changed to - macro OSPF_EXTERNAL_LSA_SELF_FIND_BY_PREFIX. - -1999-11-11 Toshiaki Takada - - * ospfd.c (ospf_abr_type): ospf_abr_type_cisco, ospf_abr_type_ibm, - ospf_abr_type_shortcut and ospf_abr_type_standard DEFUNs are - combined. - * ospfd.c (no_ospf_abr_type): no_ospf_abr_type_cisco, - no_ospf_abr_type_ibm and no_ospf_abr_type_shortcut DEFUNS are - combined. - -1999-11-10 Toshiaki Takada - - * ospf_route.c (ospf_lookup_int_by_prefix): Move function to - ospf_interface.c and change name to ospf_if_lookup_by_prefix (). - -1999-11-01 Alex Zinin - * ospf_packet.c - some correction to LSU processing - - * ospf_lsa.c ospfd.h - randomize initial LSA refreshment interval - and limit the size of LSA-group to 10 - to let randomization work more effectively. - -1999-10-31 Alex Zinin - * ospf_interface.c - cancel t_network_lsa_self - when freeing int structure - - * ospf_abr.c ospf_asbr.c ospf_flood.c ospf_lsa.c - ospf_lsa.h ospf_lsdb.h ospfd.c ospfd.h - - Summary and ASE LSA refreshment functions - added---LSA refreshment is paced to 70 LSAs - per sec to avoid link overflow. Refreshment events - are further randomized within a 10 sec interval - to avoid syncing. - - Also the sigfault of memcmp() in ospf_lsa_is_different() - is fixed. - -1999-10-30 Alex Zinin - * ospf_nsm.c - Fix the bug where MAX_AGE LSAs - are included into the DB summary. - - * ospf_interface.c - allocate 2*MTU input buffer instead of just MTU - for the cases when the other router mistakenly - sends larger packets thus causing fragmentation, etc. - - * ospf_nsm.c - in nsm_reset_nbr() lists should be freed - not when they are empty. - -1999-10-29 Kunihiro Ishiguro - - * ospf_zebra.c (ospf_acl_hook): Move OSPF_IS_ASBR and OSPF_IS_ABR - check inside of if (ospf_top). - -1999-10-29 Alex Zinin - * ospf_lsa.c ospf_lsdb.c : - add assertion in lsa and lsa->data alloc functions, - as well as in lsdb_add for new->data - - * ospf_lsdb.c: free hash table correctly - -1999-10-28 John Capo - - * ospf_packet.h (OSPF_PACKET_MAX): Correct MAX packet length - calculation - -1999-10-27 Kunihiro Ishiguro - - * OSPF-TRAP-MIB.txt: New file added. Edited version of RFC1850. - - * OSPF-MIB.txt: New file added. Edited version of RFC1850. - -1999-10-27 Alex Zinin - * ospfd, ospf_zebra, ospf_abr - "area import-list" command is added. - This command allows to filter the inter-area routes - injected into an area. Access list hook function - extended to invalidate area exp/imp lists. - -1999-10-25 Yoshinobu Inoue - - * ospfd.c (ospf_interface_run): Enable to detect P2P network - on an OSPF interface. - -1999-10-19 Jordan Mendelson - - * ospf_lsdb.c (ospf_lsdb_add): Fix bug of crash - in ospf_ls_retransmit_lookup (). - -1999-10-19 Vladimir B. Grebenschikov - - * ospf_route.c: Workaround about installation of OSPF routes into - the zebra daemon. Add checking of existance routes. Free - ospf_top->old_table if it exists. - -1999-10-15 Jordan Mendelson - - * Add support for MD5 authentication. - -1999-10-12 Alex Zinin - * ospfd.c, ospfd.h, ospf_abr.c: - a new command "area export-list" was added, it allows - the admin. to control which intra-area routes are - announced to other areas by the ABR - -1999-10-12 Alex Zinin - * ospf_asbr.c (ospf_asbr_check_lsas): Fix bug of coredump - when "no redistribute" is used after a distribute list - denying some networks was used - -1999-10-05 Toshiaki Takada - - * ospf_route.c (ospf_path_dup): New function added. - -1999-10-05 Toshiaki Takada - - * ospf_interface.[ch]: Some of VL related funciton name changed. - -1999-09-27 Alex Zinin - - * ospf_zebra.c: Distribute-list functionality added - -1999-09-27 Toshiaki Takada - - * ospfd.c (show_ip_ospf): Fix bug of segmentation fault when no ospf - instance exists. - -1999-09-25 Kunihiro Ishiguro - - * ospfd.c (ospf_interface_down): Fix bug of misusing nextnode() - instead of node->next. Reported by Hiroki Ishibashi - . - - * ospf_route.c (show_ip_ospf_route): Add check for ospf is enabled - or not. - -1999-09-23 Alex Zinin - - * stub area support added - -1999-09-23 Alex Zinin - - * fwd_addr in ASE-LSAs is now set correctly - * ASE routing changed to check the fwd_addr - and skip the route if the addr points to one - of our interfaces to avoid loops. - -1999-09-22 Alex Zinin - - * ospf_interface: - ospf_vls_in_area() added, it returns - the number of VLs configured through the area - - * ospf_interface.c ospf_lsa.c ospf_lsdb.c ospfd.c - honor correct mem alloc - -1999-09-22 Alex Zinin - - * memory.[ch]: - Some OSPF mem types added, - plus more info in "show mem" - -1999-09-21 Alex Zinin - - * ospfd.c: - "area range substitute" added. - It can be used on NAT-enabled (IP-masquarade) - routers to announce private networks - from an area as public ones into the outside - world (not in the RFC, btw :) - -1999-09-21 Alex Zinin - - * ospfd.c: - "area range suppress" added. - This command allows to instruct the router - to be silent about specific ranges, i.e., - it is a method of route filtering on area - borders - -1999-09-21 Alex Zinin - - * ospfd.c VLs removed when "no network area" executed - -1999-09-20 Alex Zinin - - * ospf_ase.c bug fix for not-zero fwd_addr - and directly connected routes. - -1999-09-20 Yon Uriarte - - * ospf_packet.c (ospf_make_ls_req): Introduce delta value for - checking the length of OSPF packet exceeds MTU or not. - - * ospf_lsa.c (ospf_lsa_different): Apply ntohs for checking - l1->data->length. - -1999-09-18 Alex Zinin - - * ospf_lsa.c bug fix for ospf_network_lsa() to - include itself into the RID list - -1999-09-10 Alex Zinin - - * Alternative ABR behaviors IBM/Cisco/Shortcut - implemented - -1999-09-10 Alex Zinin - - * router and network-LSA origination - changed to honor MinLSInterval - -1999-09-08 Alex Zinin - - * modified ABR behavior to honor VLs and transit - areas - -1999-09-07 Alex Zinin - - * completed VL functionality - -1999-09-06 Kunihiro Ishiguro - - * ospf_asbr.c: New file. - ospf_asbr.h: New file. - - * ospf_zebra.c (ospf_redistribute_connected): Add redistribute - related stuff. - -1999-09-05 Kunihiro Ishiguro - - * ospfd.h (OSPF_FLAG_VIRTUAL_LINK): Change OSPF_FLAG_VEND to - OSPF_FLAG_VIRTUAL_LINK for comprehensiveness. - -1999-09-03 Kunihiro Ishiguro - - * ospf_spf.c (ospf_spf_register): Change name from - ospf_spf_route_add() to ospf_spf_register(). - Include "ospfd/ospf_abr.h" for ospf_abr_task() prototype. - -1999-09-02 Kunihiro Ishiguro - - * ospf_lsa.c (ospf_external_lsa_install): Change to update - lsa->data rather than install new one, when same id lsa is already - installed. - -1999-09-01 Kunihiro Ishiguro - - * ospf_lsa.c (ospf_router_lsa_install): Return lsa value. - (ospf_network_lsa_install): Likewise. - (ospf_summary_lsa_install): Likewise. - (ospf_summary_asbr_lsa_install): Likewise. - (ospf_external_lsa_install): Likewise. - - * ospf_spf.c (ospf_spf_calculate): Comment out debug function - ospf_rtrs_print(). - -1999-08-31 Kunihiro Ishiguro - - * ospf_spf.c (ospf_rtrs_free): Add ospf_spf_calculate() for - freeing rtrs. - -1999-08-31 Toshiaki Takada - - * ospf_lsa.c (show_ip_ospf_database_summary), - (show_ip_ospf_database_summary_asbr), - (show_ip_ospf_database_external): New function added. - `show ip ospf database summary', - `show ip ospf database asbr-summary' - `show ip ospf database external' command can be used. - - * ospf_lsa.c (ospf_lsa_count_table): New function added. - (show_ip_ospf_database_all): show nothing if a type of LSA - does not exist. - -1999-08-31 Kunihiro Ishiguro - - * ospf_lsa.c (ospf_maxage_lsa_remover): Preserve next pointer when - the node is deleted. - -1999-08-31 Toshiaki Takada - - * ospf_flood.c (ospf_ls_retransmit_lookup): change to return - struct ospf_lsa *. - (ospf_ls_request_new), (ospf_ls_request_free), - (ospf_ls_request_add), (ospf_ls_request_delete), - (ospf_ls_request_delete_all), (ospf_ls_request_lookup): - New function added. - - * ospf_packet.c (ospf_ls_upd_send_lsa): New function added. - - * ospf_lsa.h (LS_AGE): Slightly change macro definition. - - * ospf_lsa.c (ospf_lsa_more_recent), (ospf_lsa_diffrent): - Use LS_AGE macro. - -1999-08-30 Alex Zinin - - * ospfd.c - fix a bug with area range config write - added "show ip ospf" command, it will be enhanced later on - -1999-08-30 Alex Zinin - - * ospf_lsa.c - updated ospf_router_lsa() to honor flags (B-bit) - -1999-08-30 Alex Zinin - - * ospf_abr.c - wrote major functions implementing ABR activity - -1999-08-30 Alex Zinin - - * ospf_ia.c ospf_route.c ospf_route.h - fixed the bug with ospf_route.origin field. - Now it holds pointer to lsa_header - -1999-08-30 Alex Zinin - - * ospf_flood.c ospf_flood.h: - transformed ospf_flood_if_select into ospf_flood_through_area() - added new ospf_flood_if_select() and ospf_flood_through_as() - -1999-08-30 Toshiaki Takada - - * ospf_flood.[ch]: New file added. - - * ospf_packet.c (ospf_lsa_flooding), - (ospf_lsa_flooding_select_if): functions move to ospf_flood.c - - * ospf_neighbor.c (ospf_put_lsa_on_retransm_list), - (ospf_remove_lsa_from_retransm_list), - (ospf_nbr_remove_all_lsas_from_retransm_list), - (ospf_lsa_remove_from_ls_retransmit): - (ospf_lsa_retransmit): functions move to - ospf_flood.c, and change function's name: - - ospf_put_lsa_on_retransm_list () - -> ospf_ls_retransmit_add () - ospf_remove_lsa_from_retransm_list () - -> ospf_ls_retransmit_delete () - ospf_nbr_remove_all_lsas_from_retransm_list () - -> ospf_ls_retransmit_clear () - ospf_lsa_remove_from_ls_retransmit () - -> ospf_ls_retransmit_delete_nbr_all () - ospf_lsa_retransmit () - -> ospf_ls_retransmit_add_nbr_all () - - * ospf_lsa.c (ospf_lsa_lookup_from_list): function move to - ospf_flood.c, and change name to ospf_ls_retransmit_lookup (). - -1999-08-30 Kunihiro Ishiguro - - * ospf_neighbor.c (ospf_nbr_lookup_by_addr): Use - route_node_lookup() instead of route_node_get(). - - * ospf_packet.c (ospf_ls_upd): Temporary comment out (6) check. - -1999-08-30 Kunihiro Ishiguro - - * ospf_route.c (ospf_lookup_int_by_prefix): Add check of - oi->address. - -1999-08-29 Alex Zinin - * ospf_lsa.c - MaxAge LSA deletion functions added. - -1999-08-29 Alex Zinin - * ospf_neighbor.c - ospf_nbr_lookup_by_addr(): added route_unlock_node() - when function returns NULL if (rn->info == NULL) - -1999-08-29 Alex Zinin - * ospfd.c - added a hack for area range deletion - -1999-08-29 Alex Zinin - * ospf_lsa.h - included lsdb field into struct ospf_lsa, to find - LSDB easier when removing MaxAge LSAs. - -1999-08-29 Alex Zinin - * ospf_lsa.c ospf_neighbor.c ospf_nsm.c - ospf_packet.c changed to honor new retransmit list - management functions - -1999-08-29 Alex Zinin - * ospf_neighbor.c , .h added new retransmit list functions. - -1999-08-29 Alex Zinin - * Makefile.in - added ospf_ase, ospf_abr, ospf_ia - -1999-08-29 Alex Zinin - * ospf_spf.c: - - changed ospf_next_hop_calculation() to include interface - and nexthop addr for directly connected routers---more informative - and solves problem with route installation into the kernel - - changed ospf_nexthop_out_if_addr() to support routers, not only - transit networks - - added ospf_process_stubs(); - -1999-08-29 Alex Zinin - * ospf_lsa.c: - - changed ospf_router_lsa() to provide correct links - for p-t-p interfaces; - - changed ospf_summary_lsa_install() to support table - of self-originated summary-LSAs; - - added ospf_summary_asbr_lsa_install() and ospf_external_lsa_install() - - changed ospf_lsa_install() accordingly - - changed show_ip_ospf_database_router_links() to support p-t-p - -1999-08-29 Kunihiro Ishiguro - - * ospf_packet.c (ospf_make_db_desc): Only master can clear more - flag. - -1999-08-29 Kunihiro Ishiguro - - * ospf_packet.c (ospf_read): Add check of IP src address. - -1999-08-28 Alex Zinin - * ospf_neighbor.h - added ospf_nbr_lookup_by_routerid() - -1999-08-28 Alex Zinin - * ospfd.h - added ABR/ASBR flag definitions and fields; - added iflist field to area structure; - summary_lsa_self and summary_lsa_asbr_self are changed - to be route tables; - added ranges field---configured area ranges; - A separate Routers RT added; - area range config commands and config write added - - -1999-08-28 Alex Zinin - * ospf_route.c : - ospf_route_free()--added code to free the list of paths; - The following functions added: - ospf_intra_add_router(); - ospf_intra_add_transit(); - ospf_intra_add_stub(); - the last function uses new ospf_int_lookup_by_prefix(); - show_ip_ospf_route_cmd()--changed to support new RT structure; - added ospf_cmp_routes()--general route comparision function; - added ospf_route_copy_nexthops() and ospf_route_copy_nexthops_from_vertex() - they are used in ASE and IA routing; - added ospf_subst_route() and ospf_add_route(); - -1999-08-28 Alex Zinin - * ospf_route.h : - changed struct ospf_path to include output interface, - changed struct ospf_route to support IA and ASE routing. - added prototypes of the function used in IA and ASE modules. - -1999-08-28 Alex Zinin - * ospf_lsa.h ospf_lsa.c : - added ospf_my_lsa(), an interface independent version of - ospf_lsa_is_self_originated(), it will be used in ASE and IA-routing. - -1999-08-27 Kunihiro Ishiguro - - * ospf_interface.c (interface_config_write): Add check for - oi->nbr_self. - -1999-08-25 Toshiaki Takada - - * ospf_lsa.c (ospf_lsa_dup): New function added. - - * ospf_packet.c (ospf_write), (ospf_read): Print send/recv - interface in debug message. - -1999-08-25 Toshiaki Takada - - * ospf_packet.c (ospf_ls_ack_send): The name is changed from - `ospf_ls_ack_send'. - (ospf_ls_ack_send_delayed) (ospf_ls_ack_timer): New function added. - Delayed Link State Acknowledgment is scheduled by timer. - -1999-08-25 Alex Zinin - - * ospf_lsa.c (ospf_router_lsa): Incorrectly included link to - a stub network instead of link to a transit network into - originated router-LSA, bug fixed. - -1999-08-24 Toshiaki Takada - - * ospfd.c (ospf_update_router_id): New function added. - - * ospf_network.c (ospf_write): Create new socket per transmission. - And select outgoing interface whether dst is unicast or multicast. - - * ospf_packet.c: LSA flooding will work. - -1999-08-24 VOP - - * ospf_route.c: Include "sockunion.h" - -1999-08-24 Kunihiro Ishiguro - - * ospf_network.c (ospf_serv_sock_init): Enclose - IPTOS_PREC_INTERNETCONTROL setting with #ifdef for OS which does - not have the definition. - -1999-08-23 Toshiaki Takada - - * ospf_packet.c: Fix bug of DD processing. - -1999-08-18 Toshiaki Takada - - * ospf_lsa.c (show_ip_ospf_database): Show actual `LS age'. - -1999-08-17 Toshiaki Takada - - * ospf_lsa.h (OSPF_MAX_LSA): The value of OSPF_MAX_LSA is - corrected. The bug of `mes_lookup' is fixed. - This had been reported by Poul-Henning Kamp . - - * ospf_lsa.c (ospf_router_lsa_install): The name is changed from - `ospf_add_router_lsa'. - (ospf_network_lsa_install): The name is changed from - `ospf_add_network_lsa'. - - * ospf_interface.h (ospf_interface): Add member `nbr_self'. - - * ospf_interface.c (ospf_if_is_enable): New function added. - -1999-08-16 Toshiaki Takada - - * ospf_lsa.h (struct lsa_header): The name is changed from - `struct ospf_lsa'. - (struct ospf_lsa): New struct added to control each LSA's aging - and timers. - - * ospf_lsa.c (ospf_lsa_data_free): The name is change from - `ospf_lsa_free'. - (ospf_lsa_data_new), (ospf_lsa_new), (ospf_lsa_free), - (ospf_lsa_different), (ospf_lsa_install): New function added. - - * ospf_packet.c (ospf_ls_upd_list_lsa): New function added. - -1999-08-12 Toshiaki Takada - - * ospf_nsm.c (nsm_reset_nbr): New function added. - KillNbr and LLDown neighbor event call this function. - -1999-08-10 Toshiaki Takada - - * ospf_packet.c (ospf_ls_retransmit) - (ospf_ls_upd_timer): New function added. - Set retransmission timer for Link State Update. - -1999-07-29 Toshiaki Takada - - * ospf_ism.c (ospf_dr_election): Fix bug of DR election. - -1999-07-28 Toshiaki Takada - - * ospf_network.c (ospf_serv_sock_init): Set IP precedence field - with IPTOS_PREC_INTERNET_CONTROL. - - * ospf_nsm.c (nsm_change_status): Schedule NeighborChange event - if NSM status change. - - * ospf_packet.c (ospf_make_hello): Never include a neighbor in - Hello packet, when the neighbor goes down. - -1999-07-26 Kunihiro Ishiguro - - * Makefile.am (noinst_HEADERS): Add ospf_route.h. - - * ospf_route.c (show_ip_ospf_route): Add `show ip ospf route' - command. - -1999-07-25 Toshiaki Takada - - * ospf_lsa.c (ospf_router_lsa): Fix bug of LS sequence number - assignement. - -1999-07-25 Kunihiro Ishiguro - - * ospf_route.c (ospf_route_table_free): New function added. - - * ospf_spf.c (ospf_spf_next): Free vertex w when cw's and w's - distance is same. - - * ospfd.h (struct ospf): Add old_table. - - * ospf_main.c (sighup): Call of log_rotate () removed. - - * ospf_lsa.c (ospf_lsa_is_self_originated): Fix bug of checking - area->lsa as self LSA. This should be area->lsa_self. - -1999-07-24 Kunihiro Ishiguro - - * ospf_zebra.c (ospf_zebra_add): ospf_zebra_add - (),ospf_zebra_delete () added. - - * ospf_spf.c (ospf_spf_calculate): Call ospf_intra_route_add (). - -1999-07-24 Toshiaki Takada - - * ospf_lsa.c: Change LS sequence number treatment. - (ospf_lsa_is_self_originated): New function added. - (show_ip_ospf_database_self_originated): New DEFUN added. - -1999-07-23 Kunihiro Ishiguro - - * ospf_interface.c (ospf_if_lookup_by_addr): Add loopback check. - -1999-07-22 Toshiaki Takada - - * ospf_spf.c (ospf_nexthop_new), (ospf_nexthop_free), - (ospf_nexthop_dup): function added. - (ospf_nexthop_calculation): function changed. - - * ospf_interface.c (ospf_if_lookup_by_addr): function added. - -1999-07-21 Toshiaki Takada - - * ospf_spf.c (ospf_spf_closest_vertex): function removed. - -1999-07-21 Kunihiro Ishiguro - - * ospf_spf.c (ospf_spf_next): Apply ntohs for fetching metric. - -1999-07-21 Toshiaki Takada - - * ospf_neighbor.c (ospf_nbr_lookup_by_router_id): fundtion removed. - - * ospf_lsa.c (show_ip_ospf_database_router): describe each - connected link. - -1999-07-21 Kunihiro Ishiguro - - * ospf_spf.c (ospf_spf_next): V is router LSA or network LSA so - change behavior according to LSA type. - (ospf_lsa_has_link): Link check function is added. - -1999-07-20 Kunihiro Ishiguro - - * ospf_spf.c (ospf_spf_calculate_schedule): Add new function for - SPF calcultion schedule addtition. - (ospf_spf_calculate_timer_add): Rough 30 sec interval SPF calc - timer is added. - (ospf_spf_next_router): Delete ospf_spf_next_network (). - - * ospf_lsa.c (show_ip_ospf_database_all): Network-LSA display - header typo correction. Display of router LSA's #link added. - -1999-07-19 Toshiaki Takada - - * ospf_packet.c (ospf_check_network_mask): Added new function for - receiving Raw IP packet on an appropriate interface. - -1999-07-16 Toshiaki Takada - - * ospfd.c (ospf_router_id): new DEFUN added. - -1999-07-15 Toshiaki Takada - - * ospf_spf.c (ospf_spf_init), (ospf_spf_free), - (ospf_spf_has_vertex), (ospf_vertex_lookup), - (ospf_spf_next_router), (ospf_spf_next_network), - (ospf_spf_closest_vertex), (ospf_spf_calculate): - function added. - -1999-07-13 Toshiaki Takada - - * ospf_ism.c: fix bug of DR Election. - - * ospf_nsm.c: fix bug of adjacency forming. - -1999-07-05 Kunihiro Ishiguro - - * ospfd.c (ospf_init): Change to use install_default. - -1999-07-01 Rick Payne - - * ospf_zebra.c (zebra_init): Install standard commands to - ZEBRA_NODE. - -1999-06-30 Toshiaki Takada - - * ospf_dump.c: Whole debug command is improved. - (ISM|NSM) (events|status|timers) debug option added. - (show_debugging_ospf): new DEFUN added. - -1999-06-30 Kunihiro Ishiguro - - * ospf_lsa.c (ospf_lsa_lookup_from_list): Change !IPV4_ADDR_CMP to - IPV4_ADDR_SAME. - -1999-06-29 Toshiaki Takada - - * ospf_dump.c (ospf_summary_lsa_dump): Add summary-LSA dump routine. - (ospf_as_external_lsa_dump): Add AS-external-LSA dump routine. - - * ospf_nsm.c (nsm_twoway_received): fix condtion of adjacnet. - - * ospf_ism.c (ospf_dr_election): fix DR Election. - - * ospf_dump.c (ospf_nbr_state_message): fix `show ip ospf neighbor' - command's state. - -1999-06-29 Kunihiro Ishiguro - - * ospf_dump.c (ospf_router_lsa_dump): Add router-LSA dump routine. - -1999-06-28 Toshiaki Takada - - * ospf_lsa.c (show_ip_ospf_database_network): fix bug of - `show ip ospf database network' command output. - - * ospf_nsm.c (nsm_inactivity_timer): Clear list of Link State - Retransmission, Database Summary and Link State Request. - - * ospf_packet.c (ospf_ls_req_timer): New function added. - Set Link State Request retransmission timer. - -1999-06-27 Kunihiro Ishiguro - - * ospf_main.c (main): Change default output from ZLOG_SYSLOG to - ZLOG_STDOUT. - - * ospfd.c (ospf_init): Register show_ip_ospf_interface_cmd and - show_ip_ospf_neighbor_cmd to VIEW_NODE. - - * ospf_lsa.c (ospf_lsa_init): Register show_ip_ospf_database_cmd - and show_ip_ospf_database_type_cmd to VIEW_NODE. - -1999-06-25 Toshiaki Takada - - * ospf_packet.c: fix bug of DD making. - fix bug of LS-Update reading. - -1999-06-23 Toshiaki Takada - - * ospf_packet.c: All type of packets are changed to use - fifo queue structure. - (ospf_fill_header) function added. - -1999-06-22 Toshiaki Takada - - * ospf_packet.c (ospf_packet_new): New function added to handle - sending ospf packet by fifo queue structure. - (ospf_packet_free), (ospf_fifo_new), (ospf_fifo_push), - (ospf_fifo_pop), (ospf_fifo_head), (ospf_fifo_flush), - (ospf_fifo_free): Likewise. - -1999-06-21 Toshiaki Takada - - * ospf_nsm.c (ospf_db_desc_timer): function added. - (nsm_timer_set) function added. - * ospf_dump.c (ospf_option_dump): function added. - * ospf_packet.c (ospf_ls_req) (ospf_make_ls_req): function added. - -1999-06-20 Toshiaki Takada - - * ospf_lsa.c (ospf_lsa_more_recent): function added. - * ospf_neighbor.h (struct ospf_neighbor): Change member ms_flag - to dd_flags. - -1999-06-19 Toshiaki Takada - - * ospf_lsa.c: DEFUN (show_ip_ospf_database) Added. - * ospf_interface.c (if_ospf_cost), (if_ospf_dead_interval), - (if_ospf_hello_interval), (if_ospf_priority), - (if_ospf_retransmit_interval), (if_ospf_transmit_delay) - argument changed from NUMBER to . - DEFUN (if_ospf_network_broadcast), - DEFUN (if_ospf_network_non_broadcast), - DEFUN (if_ospf_network_point_to_multipoint), - DEFUN (if_ospf_network_point_to_point) functions are combined to - DEFUN (if_ospf_network). - -1999-06-18 Toshiaki Takada - - * ospf_lsa.c: ospf_add_router_lsa (), ospf_add_network_lsa (), - ospf_lsa_lookup (), ospf_lsa_count () Added. - -1999-06-15 Toshiaki Takada - - * DEFUN (ospf_debug_ism), DEFUN (ospf_debug_nsm), - DEFUN (no_ospf_debug_ism), DEFUN (no_ospf_debug_nsm) Added. - `debug ospf ism' command shows debug message. - `debuf ospf nsm' command shows debug message. - -1999-06-14 Toshiaki Takada - - * ospf_lsa.c: ospf_network_lsa () Added. - ospf_lsa_checksum () Added. - * DEFUN (ospf_debug_packet), DEFUN (no_ospf_debug_packet) Added. - `debug ospf packet' command shows debug message. - -1999-06-13 Toshiaki Takada - - * ospf_packet.h: Remove struct ospf_ls_req {}, ospf_ls_upd {}, - ospf_ls_ack {}. - -1999-06-11 Toshiaki Takada - - * ospf_dump.c: fix IP packet length treatment. - -1999-06-10 Toshiaki Takada - - * ospf_ism.h: Add OSPF_ISM_EVENT_EXECUTE() Macro Added. - * ospf_nsm.h: Add OSPF_NSM_EVENT_EXECUTE() Macro Added. - - * ospf_packet.c: ospf_db_desc (), ospf_db_desc_send () Added. - ospf_make_hello (), ospf_make_db_desc () Added. - ospf_db_desc_proc () Added.n - - * Database Description packet can be processed. - -1999-06-08 Toshiaki Takada - - * ospf_lsa.c: New file. - -1999-06-07 Toshiaki Takada - - * ospf_neighbor.c: ospf_fully_adjacent_count () Added. - -1999-06-07 Kunihiro Ishiguro - - * ospf_spf.[ch]: New file. - -1999-05-30 Kunihiro Ishiguro - - * ospf_zebra.c: Changed to use lib/zclient.c routines. - - * ospf_zebra.h (zebra_start): Remove struct zebra. - -1999-05-29 Kunihiro Ishiguro - - * ospfd.c (ospf_config_write): Add cast (unsigned long int) to - ntohl for sprintf warning. - -1999-05-19 Toshiaki Takada - - * ospf_ism.c (ospf_dr_election): Join AllDRouters Multicast group - if interface state changes to DR or BDR. - -1999-05-14 Stephen R. van den Berg - - * ospf_main.c (signal_init): SIGTERM call sigint. - (sigint): Logging more better message. - -1999-05-12 Toshiaki Takada - - * ospfd.c: Fix bug of `no router ospf' statement, it will work. - -1999-05-11 Toshiaki Takada - - * ospf_neighbor.c: ospf_nbr_free () Added. - -1999-05-10 Toshiaki Takada - - * ospfd.h: struct ospf_area { }, struct ospf_network { } Changed. - * Fix bug of `no network' statement, it will work. - -1999-05-07 Toshiaki Takada - - * ospf_interface.c, ospf_zebra.c: Fix bug of last interface is not - updated by ospf_if_update (). - -1999-04-30 Kunihiro Ishiguro - - * Makefile.am (noinst_HEADERS): Add ospf_lsa.h for distribution. - -1999-04-25 Toshiaki Takada - - * ospf_interface.c: DEFUN (no_if_ospf_cost), - DEFUN (no_if_ospf_dead_interval), - DEFUN (no_if_ospf_hello_interval), - DEFUN (no_if_ospf_priority), - DEFUN (no_if_ospf_retransmit_interval), - DEFUN (no_if_ospf_transmit_delay) Added. - - interface_config_write () suppress showing interface - default values. - -1999-04-25 Kunihiro Ishiguro - - * ospf_dump.c (ospf_timer_dump): If thread is NULL return "inactive". - - * ospfd.c (ospf_if_update): Fix bug of using ospf_area { } instead - of ospf_network { }. So `router ospf' statement in ospfd.conf - works again. - (ospf_if_update): Call ospf_get_router_id for updating router ID. - -1999-04-25 Toshiaki Takada - - * ospf_interface.c: DEFUN (if_ospf_network) deleted. - DEFUN (if_ospf_network_broadcast), - DEFUN (if_ospf_network_non_broadcast), - DEFUN (if_ospf_network_point_to_multipoint), - DEFUN (if_ospf_network_point_to_point), - DEFUN (no_if_ospf_network) Added. - -1999-04-23 Toshiaki Takada - - * ospfd.h: struct area { } changed to struct ospf_network { }. - Add struct ospf_area { }. - * ospfd.c: Add ospf_area_lookup_by_area_id (), ospf_network_new (), - and ospf_network_free (). - DEFUN (area_authentication), DEFUN (no_area_authentication) Added. - -1999-04-22 Toshiaki Takada - - * ospf_lsa.h: New file. - * ospf_packet.h: LSA related struct definition are moved to - ospf_lsa.h. - * ospf_packet.c: ospf_verify_header () Added. - -1999-04-21 Toshiaki Takada - - * ospf_ism.c: ospf_elect_dr () and related function is changed. - DR Election bug fixed. - * ospf_dump.c: ospf_nbr_state_message (), ospf_timer_dump () Added. - * ospfd.c: DEFUN (show_ip_ospf_neighbor) Added. - -1999-04-19 Kunihiro Ishiguro - - * ospf_main.c (main): access_list_init () is added for vty - connection filtering. - -1999-04-16 Toshiaki Takada - - * ospfd.c: DEFUN (show_ip_ospf_interface) Added. - * ospf_neighbor.c: ospf_nbr_count () Added. - -1999-04-15 Toshiaki Takada - - * ospfd.h: struct ospf { } Changed. - * ospfd.c: ospf_lookup_by_process_id () Deleted. - * ospf_ism.c: ospf_wait_timer () Added. WaitTimer will work. - -1999-04-14 Toshiaki Takada - - * ospf_ism.c: ospf_elect_dr () Added. - * ospf_network.c: ospf_if_ipmulticast () Added. - -1999-04-11 Toshiaki Takada - - * ospf_interface.c: interface_config_write (), - DEFUN (if_ip_ospf_cost), - DEFUN (if_ip_ospf_dead_interval), - DEFUN (if_ip_ospf_hello_interval), - DEFUN (if_ip_ospf_priority), - DEFUN (if_ip_ospf_retransmit_interval) and - DEFUN (if_ip_ospf_transmit_delay) Added. - -1999-04-08 Toshiaki Takada - - * ospf_dump.c: ospf_packet_db_desc_dump () Added. - * ospf_neighbor.c: ospf_nbr_bidirectional () Added. - * ospf_nsm.c: nsm_twoway_received () Added. - -1999-04-02 Toshiaki Takada - - * ospf_neighbor.c: New file. - * ospf_neighbor.h: New file. - * ospf_nsm.c: New file. - * ospf_nsm.h: New file. - * ospf_packet.c: Add ospf_make_header (), ospf_hello () and - ospf_hello_send (). Now OSPFd can receive Hello and send Hello. - -1999-03-27 Kunihiro Ishiguro - - * ospf_packet.c: Add ospf_recv_packet (). Now OSPF Hello can receive. - -1999-03-19 Toshiaki Takada - - * ospf_packet.c: New file. - * ospf_packet.h: New file. - * ospf_network.c: New file. - * ospf_network.h: New file. - * ospfd.h: move OSPF message structure has moved to ospf_packet.h. - -1999-03-17 Kunihiro Ishiguro - - * ospf_zebra.c (ospf_zebra_get_interface): Fix for IPv6 interface - address. - - * Makefile.am (install-sysconfDATA): Overwrite install-sysconfDATA - for install ospfd.conf.sample as owner read only file. - - * ospf_main.c (usage): Change to use ZEBRA_BUG_ADDRESS. - -1999-03-15 Toshiaki Takada - - * ospf_ism.c: New file. - * ospf_ism.h: New file. - * ospf_dump.c: New file. - * ospf_dump.h: New file. - - * ospfd.h: Add (struct ospf), (struct config_network), - (struct message) structure. - - * ospf_interface.c: Add ospf_if_match_network (). - * ospf_interface.h (struct ospf_interface): Change struct members. - - * ospfd.c: ospf_lookup_by_process_id (), ospf_network_new (), - DEFUN (network_area): Added. - - * ospfd.conf.sample: Change sample configuration. - -1999-03-05 Toshiaki Takada - - * ospf_interface.c: New file. - * ospf_interface.h: New file. - * ospf_zebra.h: New file. - * ospf_zebra.c: Add interface function for zebra daemon. - * ospfd.c: New file. - -1999-02-23 Kunihiro Ishiguro - - * Move IPv6 codes and files to ospf6d directory. - -1999-02-18 Peter Galbavy - - * syslog support added - -1998-12-22 Toshiaki Takada - - * ospfd.h: New file. - * ospf_lsa.h: New file. - -1998-12-15 Kunihiro Ishiguro - - * Makefile.am: New file. - * ospf_main.c: New file. - -- cgit v1.2.1