summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2006-07-25[ospfd] Additional NSM neighbour state change stats/informationPaul Jakma
2006-07-25 Paul Jakma <paul.jakma@sun.com> * 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-25[lib] Optimise thread_call by caching pointer to thread history in the threadPaul Jakma
2006-07-25 Paul Jakma <paul.jakma@sun.com> * thread.h: (struct thread) Add a cache pointer to the struct cpu_thread_history, if it is known - saving hash lookup on each thread_call. * thread.c: (thread_call) Cache the pointer to the cpu_thread_history, so that future thread_calls of same thread can avoid the hash_lookup.
2006-07-11[ospfd] record timestamp and event of last NSM state change for neighbourPaul Jakma
2006-07-10 Paul Jakma <paul.jakma@sun.com> * ospf_nsm.c: (ospf_nsm_event) 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-11[ospfd] trivial: NSM AdjChange should print event, declutter core functionsPaul Jakma
2006-07-10 Paul Jakma <paul.jakma@sun.com> * ospf_nsm.c: (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.
2006-07-11[ospfd] Remove nsm_reset_nbr and a bunch of useless NSM event/action functionsPaul Jakma
2006-07-10 Paul Jakma <paul.jakma@sun.com> * 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.
2006-07-11[ospfd] Improve Hello NetworkMask mismatch warning to give more infoAndrew J. Schorr
2006-07-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * ospf_packet.c: (ospf_hello) Improve NetworkMask mismatch warning message to include interface name and conflicting prefix lengths.
2006-07-11[lib] Do not call vty_close in vty_log_out to avoid possible free memory accessAndrew J. Schorr
2006-07-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * vty.c: (vty_log_out) Do not call vty_close, because this could result in a parent function's accessing the freed memory. Instead, set status VTY_CLOSE and call shutdown(vty->fd, SHUT_RDWR). And add a comment on vty_close.
2006-07-10[lib] Fix infinite recursion for errors on vtys with terminal monitor enabledAndrew J. Schorr
2006-07-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * vty.c: (vty_log_out, vty_read, vty_flush, vtysh_flush, vtysh_read) After an I/O error, must set vty->monitor to 0 before calling zlog_warn, otherwise an infinite recursion could occur (since zlog_warn triggers a message to be written to the vty, and that in turn triggers another error message when it fails, etc.).
2006-07-10[ospfd] cleanup NSM neighbour delete through a new Deleted NSM statePaul Jakma
2006-07-07 Paul Jakma <paul.jakma@sun.com> * 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[ospfd] early-return in nsm_event missed LLDown event, fixes use after freePaul Jakma
2006-07-06 Paul Jakma <paul.jakma@sun.com> * 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[doc] remove the auto-generated quagga.info file from CVSPaul Jakma
2006-07-04 Paul Jakma <paul.jakma@sun.com> * quagga.info: remove auto-generated file. It will still be present in dist tarballs, so shouldn't affect anyone but direct users of CVS. Required texinfo version should be widely available. * .cvsignore: ignore quagga.info
2006-07-04[ospfd] Apply some simplifications to ospf_nsm, from Andrew's suggestionsPaul Jakma
2006-07-04 Paul Jakma <paul.jakma@sun.com> * 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-04[ospfd] CID #13, dont try print out fields of LSA we know to be NULL.Paul Jakma
2006-07-02 Paul Jakma <paul.jakma@sun.com> * ospf_lsa.c: (ospf_translated_nssa_refresh) CID #13.
2006-07-04[ospfd] Clear adjacency state for NSM changes down to TwoWay/ExStartPaul Jakma
2006-07-02 Paul Jakma <paul.jakma@sun.com> * ospf_nsm.c: (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) Remove long dead code. Use nsm_clear_adj for state changes that take down adjacencies to TwoWay/ExStart. (nsm_kill_nbr) Oops, action function shouldn't try return 1 for error.
2006-07-04[ospfd] trivial cleanup of nsm_timer_setPaul Jakma
2006-07-02 Paul Jakma <paul.jakma@sun.com> * ospf_nsm.c: (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.
2006-07-04[ospfd] Ensure NSM state functions can redirect next_state accidentlyPaul Jakma
2006-07-02 Paul Jakma <paul.jakma@sun.com> * ospf_nsm.c: (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.
2006-07-04[ospfd] consolidate adjacency check logicPaul Jakma
2006-07-02 Paul Jakma <paul.jakma@sun.com> * 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.
2006-07-03[debug] Debug messages to terminal vty sessions should include timestampsAndrew J. Schorr
2006-07-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * vty.c: (vty_log_out) Debug messages to terminal vty sessions should include timestamps.
2006-07-02[zebra] Fix CID #104, check addr for null, and #18, check nexthop type argsPaul Jakma
2006-07-02 Paul Jakma <paul.jakma@sun.com> * rt_netlink.c: (netlink_interface_addr) Fix CID #104, can not proceed if addr is NULL. * zebra_rib.c: (static_add_ipv6) Fix CID #18, double check required arguments are supplied for the given nexthop type.
2006-07-02[bgpd] Fix crash on shutdown of peerPaul Jakma
2006-07-02 Paul Jakma <paul.jakma@sun.com> * bgp_fsm.c: (bgp_{stop,start}) Move clear/free of certain bits of state from stop to start, as they may be used via peer references on clearing queues..
2006-06-30[ripd] update to use auto-generated redistribute route-type defsPaul Jakma
2006-06-29 Paul Jakma <paul.jakma@sun.com> * rip_zebra: (general) convert redistribute commands to use the auto-generated defines.
2006-06-30[lib] Fix merge error in ChangeLogPaul Jakma
- entry was left in wrong order, according to date.
2006-06-30[ospfd] Fix "show ip ospf neighbor A.B.C.D" to show all matchesAndrew J. Schorr
2006-06-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * 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-30[lib] Fix typo in cpp conditional for malloc.h includePaul Jakma
2006-06-28 Paul Jakma <paul.jakma@sun.com> * memory.c: Fix typo in cpp conditional around malloc.h, from comment in bug #269.
2006-06-30[ospfd] Avoid getting NSM stuck in ExStart by using local view of DR/BDRAndrew J. Schorr
2006-06-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * 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-29[ospfd] Implement new ospf router subcommand "log-adjacency-changes [detail]"Andrew J. Schorr
2006-06-28 Erik Muller <erikm@internap.com> * 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. * ospfd.texi: Document new ospf router subcommand "log-adjacency-changes [detail]".
2006-06-27[lib] Remove bare routes in route_types: fix mistake in commmitPaul Jakma
2006-06-27 Paul Jakma <paul.jakma@sun.com> * route_types.awk: Fix previous commit. Forgot to remove the printf of the bare/numeric route-type help string (empty string)
2006-06-27[lib] Remove numeric route-type argument in redistribute arg stringsPaul Jakma
2006-06-27 Paul Jakma <paul.jakma@sun.com> * route_types.awk: Remove setting the 'bare' numeric route type in redist strings.
2006-06-27[ospfd] Replace redistribution strings with new route_types.h defines.Paul Jakma
2006-05-23 Paul Jakma <paul.jakma@sun.com> * 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-06-27[lib] Centralise Zserv route type information, auto-generate redist stringsPaul Jakma
2006-05-23 Paul Jakma <paul.jakma@sun.com> * route_types.txt: New file, table of ZEBRA_ROUTE definitions. * route_types.awk: New script, to parse previous and generate (for now) redistribute string defines. * Makefile.am: build route_types.h using previous two, ala memtypes.h, include the script and table file in EXTRA_DIST. * command.h: pull in route_types.h, add a REDIST_STR define.
2006-06-26[doc] OSPF MD5 keyid documentation, fix texinfo warnings in bgpd.texiPaul Jakma
2006-06-26 Paul Jakma <paul.jakma@sun.com> * ospfd.texi: Document that MD5 keyid is part of the protocol. * bgpd.texi: shut texinfo warnings up by replacing brackets in variable with angle brackets.
2006-06-26[ospfd] NSSA translate-enabled ABR should declare itself as ASBRPaul Jakma
2006-06-26 Paul Jakma <paul.jakma@sun.com> * 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[ospfd] Improve two info log messages in ospf_snmp.cAndrew J. Schorr
2006-06-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * ospf_snmp.c: (ospfTrapNbrStateChange, ospfTrapIfStateChange) Improve info log message to indicate why the trap is being sent.
2006-06-24[ospfd] When writing out config, show "debug ospf nsm status" properlyAndrew J. Schorr
2006-06-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * ospf_dump.c: (config_write_debug) Fix typo to show debug ospf nsm status properly (not ism status).
2006-06-18[ospfd] Fix ospf passive-interface subcommand to create interface if necessaryAndrew J. Schorr
2006-06-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * 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[redhat quagga.spec] Detect fedora release automaticallyAndrew J. Schorr
2006-06-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu> * redhat/quagga.spec.in: Get default distro automatically by using rpm to query the fedora-release version. And fix a typo (should be default_dist, not dist_default).
2006-06-15[ospfd] Fix multicast membership drop bugPaul Jakma
2006-06-15 Paul Jakma <paul.jakma@sun.com> * Reported by Milan Koci * 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-06-15[zebra] Fix forgetfulness wrt configured address on FreeBSDPaul Jakma
2006-06-15 Paul Jakma <paul.jakma@sun.com> * (general) The key fixes are actually Andrew Schorr's. * interface.c: (ip_address_uninstall) Unset the configured flag. * connected.c: (connected_same) new helper, check whether two connected are same. (connected_implicit_withdraw) new helper, consolidation of existing code in connected_add_ipv{4,6}. Try filter out unneeded Zserv address delete/adds when address is exact same. Where old address is implicitely removed, be sure to preserve the IFC_CONFIGURED flag if set, fixes bug where configured addresses were being lost on FreeBSD.
2006-06-15[zebra] remove internal if_flag_dump, use libzebras version.Paul Jakma
2006-06-15 Paul Jakma <paul.jakma@sun.com> * lib/if.c: (if_flag_dump) remove the whitespace indentation, callers should provide. * zebra/interface.c: (if_flag_dump_vty) redundant code, remove. (if_dump_vty) use libzebra if_flag_dump.
2006-06-15[lib] list_delete shouldn't duplicate list_delete_all_nodePaul Jakma
2006-06-15 Paul Jakma <paul.jakma@sun.com> * linklist.c: (list_delete) call list_delete_all_node, don't duplicate it.
2006-06-15[lib] Experimental: have XFREE NULL out the freed pointerPaul Jakma
2006-06-15 Paul Jakma <paul.jakma@sun.com> * memory.h: Experimental, have XFREE macro NULL out the freed pointer.
2006-06-15[lib] Fix vector leak in error path in command.c, CID #38Paul Jakma
2006-06-15 Paul Jakma <paul.jakma@sun.com> * command.c: (cmd_describe_command_real) Fix leak, CID #38.
2006-06-15[ospfd] lsdb_delete/discard_from_db should be more robust to bad argsPaul Jakma
2006-05-31 Paul Jakma <paul.jakma@sun.com> * 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-06-15[ospfd] suppres mostly uninteresting debug message unless debug is setPaul Jakma
2006-05-30 Paul Jakma <paul.jakma@sun.com> * ospf_packet.c: (ospf_read) Debug message about packets received on unenabled interfaces should be conditional on debug being set.
2006-05-28[tests] Fix stray character in previous commitPaul Jakma
2006-05-28[tests] test-sig.c: configure loggingPaul Jakma
2006-05-28 Paul Jakma <paul.jakma@sun.com> * test-sig.c: (main) configure logging, there's no terminal to write to for one thing, but we do want stdout, and we don't want a test to spam syslog.
2006-05-28[lib] Add support for Sun libc printstack to zlog_backtrace_sigsafePaul Jakma
2006-05-28 Paul Jakma <paul.jakma@sun.com> * configure.ac: Check for Sun libc printstack(), add a general HAVE_STACK_TRACE define for lib/log.c, if any supported stack symbol dumping function is found (glibc backtrace/sun libc printstack). * log.c: (general) Add support for Sun libc printstack(). (hex_append) make the cpp conditional on general HAVE_STACK_TRACE define. (zlog_backtrace_sigsafe) Ditto. Add printstack() version of the the DUMP macro in this function.
2006-05-28[lib] vty_log shouldn't crash if called when vty isn't initiliasedPaul Jakma
2006-05-28 Paul Jakma <paul.jakma@sun.com> * vty.c: (vty_log/vty_log_fixed) dont crash if called when vty hasn't been initiliased.
2006-05-28[lib] malloc.h is deprecated, try not to include it anymorePaul Jakma
2006-05-28 Paul Jakma <paul.jakma@sun.com> * memory.c: malloc.h is deprecated in favour of stdlib.h, however we still need it on GNU Libc for mallinfo().
2006-05-28[lib] include inttypes.h rather than stdint.h, provide defines where missingPaul Jakma
2006-05-28 Paul Jakma <paul.jakma@sun.com> * zebra.h: Include inttypes.h rather than stdint.h, best practice according to the autoconf manual. Add UINT*_MAX defines for older platforms lacking these (FBSD 4)