summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2005-04-252005-04-25 Paul Jakma <paul.jakma@sun.com>paul
* workqueue.{c,h}: Helper API for setting up and running queues via background threads. * command.c: install the 'show workqueues' command * memtypes.c: Add work queue mtypes, and a rib-queue type for a zebra rib work queue. * memtypes.h: Updated to match memtypes.c * Makefile.am: Add new workqueue files to build.
2005-04-25- make various defines conditional, so that they can be specified frompaul
the rpmbuild commandline, eg rpmbuild --define 'keep_build 1'
2005-04-252005-04-25 Paul Jakma <paul.jakma@sun.com>paul
* thread.c: Kill unused TIMER_NO_SORT bits
2005-04-25- arg, fix the missing slash. Beat myself with the diff of the last commitpaul
to HACKING (which I added..)
2005-04-252005-04-25 Paul Jakma <paul.jakma@sun.com>paul
* memory.c: Make the string field much wider * memtypes.c: Correct the prefix list str/entry strings
2005-04-252005-04-25 Paul Jakma <paul.jakma@sun.com>paul
* Makefile.am: Refer to source files via srcdir variable, fix out-of-tree build breakage.
2005-04-252005-04-25 Paul Jakma <paul.jakma@sun.com>paul
* HACKING: Add some notes about build system changes, to document common oversights (common for me anyway). Seperate sections with two newlines, easier to read.
2005-04-222005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* thread.h: Fix type for struct thread_master add_type: should be unsigned char. Also, add some documentation of thread_add_background args. And remove extraneous declaration of show_thread_work_queues_cmd.
2005-04-222005-04-22 Paul Jakma <paul.jakma@sun.com>paul
* memory.h: Move include of memtypes.h to after the definition of struct memory_list, gcc 4.0 doesn't like arrays of incomplete types.
2005-04-222005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* bgpd.8,isisd.8,ospf6d.8,ospfd.8,ripd.8,ripngd.8,zebra.8: Fix spelling mistake: idenifier -> identifier.
2005-04-222005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* bgpd.8,isisd.8,ospf6d.8,ospfd.8,ripd.8,ripngd.8,zebra.8: Fix spelling mistake: intrefaces -> interfaces.
2005-04-22- fix commentpaul
2005-04-222004-05-22 Paul Jakma <paul@dishone.st>paul
* Makefile.am: Build heavythread
2005-04-222004-05-22 Paul Jakma <paul@dishone.st>paul
* heavy-thread.c: Andrew Schorr's adaptation of heavy.c to use a background thread to avoid responsivity problems.
2005-04-222005-04-22 Paul Jakma <paul.jakma@sun.com>paul
* thread.h: Add background thread type and thread_add_background macro and accompanying funcname_... function. export thread_should_yield, background threads can use it. Lower thread yield time to 10ms, 100ms is noticeable lag and a thread would only be /starting/ to finish sometime afterward. * thread.c: (general) Add background thread type and schedule nearly all thread types through the ready list for fairness. (timeval_adjust) static qualifier missing (vty_out_cpu_thread_history) add support for printout of background threads (show_thread_cpu) ditto. (thread_master_debug) add debug of background list (thread_master_create) fixup long line (thread_add_unuse) add asserts for required state. (thread_master_free) free background thread list (funcname_thread_add_timer_timeval) make generic, able to support arbitrary timer-like thread types. (funcname_thread_add_timer) pass thread type to .._add_timer_timeval (funcname_thread_add_timer_msec) ditto (funcname_thread_add_background) Add a background thread, with an optional millisecond delay factor, using .._add_timer_timeval. (thread_cancel) Add background thread type. Move the thread_list_delete common to all cases to bottom of function, after the switch statement.. (thread_cancel_event) indent (thread_timer_wait) Static qualifier, and make it able to cope with arbitrary timer-like thread lists, so its of use to background threads too. (thread_process_fd) static qualifier. Again, make it take a list reference rather than thread_master. Fix indentation. (thread_timer_process) Check for ready timer-like threads in the given list and move them on to the ready list - code originally embedded in thread_fetch. (thread_fetch) Schedule all threads, other than events, through the ready list, to ensure fairness. Timer readying code moved to thread_timer_process so it can be reused for background threads. Remove the unneeded quagga_sigevent_process, as pointed out by John Lin <john.ch.lin@gmail.com>. (thread_should_yield) make this available.
2005-04-21- bah, commit changelogpaul
2005-04-212004-05-21 Paul Jakma <paul@dishone.st>paul
* heavy.c: Add a timer thread to demonstrate thread interactivity, Add a daemon_exit command to assist with debugging (eg for memory tracers, etc..)
2005-04-212005-04-21 Paul Jakma <paul.jakma@sun.com>paul
* Makefile.am: pkginfo.%.tmpl is a generated file, srcdir prefix is not appropriate.
2005-04-20There is no RIPv3. It is a RIPng (by the way for your information, the ↵jardin
version of RIPng is v1).
2005-04-202005-04-20 Paul Jakma <paul@dishone.st>paul
* Makefile.am: Add @INCLUDES@ and srcdir to allow out-of-tree builds to work.
2005-04-192004-05-19 Paul Jakma <paul@dishone.st>paul
* heavy.c: test programme to show how long-running functions kill responsiveness. Demonstrating the most niggly problem left in bgpd.
2005-04-162005-04-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* configure.ac: Added AC_ARG_ENABLE(time-check). By default, warning messages will now be printed for threads or commands that take longer than 5 seconds, but this configure argument can be used to disable the checks or change the threshold. * thread.h (thread_consumed_time): Declare new function to calculate elapsed microseconds. * thread.c (thread_consumed_time): Must be global not static so we can call it from lib/vty.c:vty_command. (thread_should_yield): Surround with `#if 0' to make clear that this function is not currently being used anywhere. (thread_call): If CONSUMED_TIME_CHECK is defined, print a CPU HOG warning message if the thread takes more than CONSUMED_TIME_CHECK microseconds. * vty.c (vty_command): If CONSUMED_TIME_CHECK is defined, print a CPU HOG warning message if the command takes more than CONSUMED_TIME_CHECK microseconds.
2005-04-162005-04-16 Paul Jakma <paul@dishone.st>paul
* memtypes.c: the comment about use of comments in the comments headers was causing comment within comment warnings from compiler * memtypes.awk: Add extensive comments on the file format for memtypes.c. tighten the pattern for the MTYPE matching action (suggestion from Andrew) and tighten which field we try the match on.
2005-04-162005-04-16 Paul Jakma <paul.jakma@sun.com>paul
* configure.ac: check for gawk, needed to build memtypes.h
2005-04-152005-04-15 Paul Jakma <paul@dishone.st>paul
* Makefile.am: memtypes.awk is gawk dependent, use the GAWK automake var. * memtypes.h: New file, auto-generated, checked in for convenience.
2005-04-152005-04-15 Paul Jakma <paul@dishone.st>paul
* topology/Makefile.am: random.c is a source of libtopology, so list it.
2005-04-152005-04-15 Zhipeng Gong <zpgong@cdc.3upsystems.com>paul
* 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-152005-04-15 Paul Jakma <paul@dishone.st>paul
* memtypes.c: The new, unified location for memory type definitions. The memtype enum and declarations for memory_lists are built from this automatically and put into memtypes.h. * memtypes.awk: New script to generate memtypes.h from memtypes.c * memory.h: Finally, the enum can banished! * memory.c: Finally, the seperate mtype memory_list definitions can be banished! (log_memstats) Increase width of fields (show_memory_zebra_cmd) display zebra specific memory types. Increase width of fields. * Makefile.am: Add memtypes.{c,h}, add BUILT_SOURCES for memtypes.h Add a rule to build memtypes.h using memtypes.awk. Add memtypes.awk to EXTRA_DIST.
2005-04-132005-04-13 Paul Jakma <paul.jakma@sun.com>paul
* Makefile.am: {i,r}.manifest are (or will be) system provided files and not in CVS, hence dont depend on them or distribute them.
2005-04-13- add changelogpaul
2005-04-132004-05-13 Paul Jakma <paul@dishone.st>paul
* test-buffer.c: Andrew's buffer tester * test-memory.c: basic memory tester * Makefile.am: Add new tests
2005-04-12 * isis_adjacency.c: Fix typo introduced with listloop cleanup.hasso
2005-04-112005-04-11 Paul Jakma <paul.jakma@sun.com>paul
* .cvsignore: Add built files
2005-04-112005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
Implement non-blocking zclient I/O with buffering. * zclient.h (struct zclient): Add two fields to support non-blocking I/O: struct buffer *wb, and struct thread *t_write. (zclient_free): Remove function. (zebra_redistribute_send): Change 2nd arg from socket fd to struct zclient * (needed to support non-blocking I/O and buffering). (zclient_send_message): New function to send an arbitrary message with non-blocking I/O. * zclient.c (zclient_new): Create write buffer. (zclient_free): Remove unused function. (zclient_stop): Must cancel new t_write thread. Also, reset all buffers: ibuf, obuf, and wb. (zclient_failed): New helper function for typical error handling. (zclient_flush_data): New thread to flush queued data. (zclient_send_message): New function to send the message in zclient->obuf to zebra using non-blocking I/O and buffering. (zebra_message_send, zapi_ipv4_route, zapi_ipv6_route): Use new zclient_send_message function instead of calling writen. (zclient_start): Set socket non-blocking. Also, change 2nd arg to zebra_redistribute_send from zclient->sock to zclient. (zebra_redistribute_send): Change 2nd arg to struct zclient *. Can now use zclient->obuf to assemble the message instead of allocating a temporary stream. And call zclient_send_message to send the message instead of writen. (zclient_read): Convert to support non-blocking I/O by using stream_read_try instead of deprecated stream_read. (zclient_redistribute): Change 2nd arg to zebra_redistribute_send from zclient->sock to zclient. * ospf6_zebra.c (ospf6_zebra_redistribute, ospf6_zebra_no_redistribute): Change 2nd arg to zebra_redistribute_send from zclient->sock to zclient. * ospf_zebra.c (ospf_zebra_add): Call zclient_send_message instead of writen. * rip_zebra.c (rip_redistribute_set, rip_redistribute_unset, rip_redistribute_clean): Change 2nd arg to zebra_redistribute_send from zclient->sock to zclient. * ripng_zebra.c (ripng_redistribute_unset, ripng_redistribute_clean): Change 2nd arg to zebra_redistribute_send from zclient->sock to zclient. * bgp_zebra.c (bgp_redistribute_set, bgp_redistribute_unset): The 2nd arg to zebra_redistribute_send is now zclient instead of zclient->sock. * isis_zebra.h (isis_zebra_finish): Remove declaration of unused function. * isis_zebra.c (isis_zebra_route_add_ipv4): Call zclient_send_message to send the message to zebra instead of calling writen directly, since zclient_send_message understands non-blocking I/O and will manage the buffer queue appropriately. (isis_zebra_finish): Remove unused function, particularly since the zclient_free function has been removed.
2005-04-112005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* configure.ac: Move AC_CANONICAL_* stuff before AM_INIT_AUTOMAKE to eliminate warning message about AC_ARG_PROGRAM being called before AC_CANONICAL_TARGET.
2005-04-112005-04-11 Paul Jakma <paul.jakma@sun.com>paul
* Makefile.am: README.txt to EXTRA_DIST * README.txt: new file, package creation, install, usage notes.
2005-04-112005-04-11 Paul Jakma <paul.jakma@sun.com>paul
* configure.ac: Call AC_CANONICAL_{BUILD,TARGET} macros. Target isnt set otherwise, afaict. AC_SUBST enable_{user,group,vty_group} and quagga_statedir - the Solaris package bits for one need this. configure the solaris/ Makefile. * Makefile.am: solaris is a subdir - unconditional or else it wont be included in non-solaris made dists.
2005-04-112005-04-11 Paul Jakma <paul.jakma@sun.com>paul
* (all) Initial check-in of files for building S10 packages * protototype.*.in: package prototype files for SysV packages * *.xml.in: SMF manifests for Quagga daemons * pkginfo.*.tmpl.in: daemon specific pkginfo, refererenced by prototype files. * pkginfo.tmpl.in: Quagga common pkginfo bits * quagga.init.in: SMF method script * Makefile.am: Automake file for building packages * depend.*: Solaris 10 dependencies for packages, referenced by prototype files. * .cvsignore: no idea what this is for...
2005-04-102005-04-10 Paul Jakma <paul@dishone.st>paul
* if_ioctl_solaris.c: (if_lookup_linklocal) fix order of args in ALL_LIST_ELEMENTS_RO macro.
2005-04-102005-04-10 Paul Jakma <paul@dishone.st>paul
* quagga.info: Update to match bgpd.texi addition
2005-04-102005-04-10 Paul Jakma <paul.jakma@sun.com>paul
* configure.ac: Fix host string recognition for Solaris Nevada aka solaris2.10.1, and hopefully future such strings.
2005-04-102005-04-10 Paul Jakma <paul@dishone.st>paul
* Makefile.am: topology should not be a conditional SUBDIR, otherwise make dist breaks. * topology/Makefile.am: remove EXTRA_DIST of files which dont exist in that directory, broke make dist. * isisd.c: (show_isis_generated_topology_cmd) convert LIST_LOOP * isis_lsp.c: (generate_topology_lsps) ditto (build_topology_lsp_data) ditto
2005-04-102005-04-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* zserv.c (zebra_client_read): Fix bug: first read attempt should read ZEBRA_HEADER_SIZE minus the number of bytes already read. Improve efficiency by maintaining a calculation of the number of bytes read instead of calling stream_get_endp multiple times. If message length is too small, issue a warning message (not debug) before closing the connection. And also check that message length is not too big.
2005-04-09 * rt_netlink.c: One tiny missing comma caused pointless debug messageshasso
about IPv6 nexthops.
2005-04-09 * rt_netlink.c (netlink_parse_info): Fix warning. It's safe to casthasso
status to unsigned here, because we already checked that it isn't negative or 0. * rt_netlink.c (netlink_interface_addr): Prefix length belongs to the address, not to the interface. * rt_netlink.c (netlink_route_multipath): Fix debug. No useless info is printed out now and IPv6 info is handeled.
2005-04-09 * routemap.c: Show description in "show route-map" output.hasso
2005-04-09 * bgp_vty.c: Make "exit-address-family" work in IPv4 unicast addresshasso
family node. [backport candidate]
2005-04-082005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* sigevent.c: On GNU_LINUX, check whether __USE_GNU is already defined.
2005-04-082005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* vty.c: (vty_log_fixed) Use casts to (void *) to try to eliminate compiler warnings when assigning a (const char *) value to struct iovec iov_base.
2005-04-082005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>ajs
* zebra.h: If GNU_LINUX is defined, then define _GNU_SOURCE. This fixes a problem where we were not getting the declaration of strnlen in <string.h>.