---------------------
PatchSet 971
Date: 2005/01/10 14:20:43
Author: gdt
Branch: HEAD
Tag: (none)
Log:
2005-01-10  Greg Troxel  <[email protected]>

       * 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.

Members:
       ospfd/ChangeLog:1.88->1.89
       ospfd/ospf_packet.c:1.60->1.61
       ospfd/ospf_packet.h:1.4->1.5

---------------------
PatchSet 972
Date: 2005/01/10 22:31:16
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-01-10 Paul Jakma <[email protected]>

       * texinfo.tex: Updated to a version which understands @{ and @}
       * vtysh.texi: Add node name for @section
       * quagga.info: updated build of autogenerated file

Members:
       doc/ChangeLog:1.30->1.31
       doc/quagga.info:1.5->1.6
       doc/texinfo.tex:1.2->1.3
       doc/vtysh.texi:1.4->1.5

---------------------
PatchSet 975
Date: 2005/01/12 16:18:17
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-12 Andrew J. Schorr <[email protected]>

       * zebra.h: If not C99 and no va_copy macro available, fall back to
         memcpy (solves a build problem on FreeBSD 4.x).

Members:
       lib/ChangeLog:1.111->1.112
       lib/zebra.h:1.27->1.28

---------------------
PatchSet 976
Date: 2005/01/12 16:24:52
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-12 Andrew J. Schorr <[email protected]>

       * watchquagga.c: (run_job) Fix bug: delay.tv_sec was being used
         without having been initialized when the "force" argument was true.
         (try_restart) When phased restart is stopping the routing daemons,
         it should tell run_job to update the restart interval.
         (phase_check) In final step of phased restart when the routing
         daemons are being started again, tell run_job not to update
         the restart interval (this is now done when the daemons are
         stopped).

Members:
       watchquagga/ChangeLog:1.9->1.10
       watchquagga/watchquagga.c:1.8->1.9

---------------------
PatchSet 977
Date: 2005/01/12 16:41:33
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-12 Andrew J. Schorr <[email protected]>

       * redhat/quagga.spec.in: Pass --enable-gcc-rdynamic to configure
         to get gcc to link with -rdynamic for better backtraces.
         When the rpm is upgraded, the restart logic now works as follows:
         1. stop watchquagga; 2. stop all routing daemons; 3. restart zebra
         if it was running; 4. start all routing daemons that were running;
         and 5. start watchquagga if it was running.

Members:
       ChangeLog:1.93->1.94
       redhat/quagga.spec.in:1.23->1.24

---------------------
PatchSet 978
Date: 2005/01/12 16:52:55
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-12 Andrew J. Schorr <[email protected]>

       * configure.ac: If configure is invoked with --enable-snmp, but
         the configure script is unable to find SNMP support on the platform,
         then configure should give an error message and exit.

Members:
       ChangeLog:1.94->1.95
       configure.ac:1.85->1.86

---------------------
PatchSet 979
Date: 2005/01/12 17:27:27
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-12 Andrew J. Schorr <[email protected]>

       * configure.ac: Test for header file <ucontext.h> (for use in
         signal processing).
       * sigevent.c: (trap_default_signals) Use the SA_SIGINFO flag to
         pass additional siginfo_t and ucontext_t arguments to core_handler
         and exit_handler.
         (core_handler,exit_handler) Now invoked with 3 arguments (using
         SA_SIGINFO).  Pass additional info to zlog_signal.
         (program_counter) New function to find program counter in ucontext_t,
         needs to be enhanced to support more platforms (currently works only
         on Linux/x86).
       * log.h: Change the zlog_signal prototype to add new arguments
         siginfo_t * and program_counter.
       * log.c: (zlog_signal) Add new arguments siginfo and program_counter.
         Include si_addr and program counter (if non-NULL) in message.
         And remove #ifdef HAVE_GLIBC_BACKTRACE around hex_append, since
         that is now used to render the si_addr and PC pointers.

Members:
       ChangeLog:1.95->1.96
       configure.ac:1.86->1.87
       lib/ChangeLog:1.112->1.113
       lib/log.c:1.20->1.21
       lib/log.h:1.14->1.15
       lib/sigevent.c:1.5->1.6

---------------------
PatchSet 980
Date: 2005/01/12 23:49:05
Author: paul
Branch: HEAD
Tag: (none)
Log:
Ignore <dist tarball>.asc - i always seem to have one hanging around from
last release..

Members:
       .cvsignore:1.10->1.11

---------------------
PatchSet 981
Date: 2005/01/14 15:47:33
Author: gdt
Branch: HEAD
Tag: (none)
Log:
2005-01-14  Greg Troxel  <[email protected]>

       * command.c (print_version): Don't print host.name if it is NULL.
       Fixes segfault on Solaris reported by Goetz von Escher <[email protected]>

(pullup candidate)

Members:
       lib/ChangeLog:1.113->1.114
       lib/command.c:1.31->1.32

---------------------
PatchSet 982
Date: 2005/01/14 17:09:38
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-14 Andrew J. Schorr <[email protected]>

       * command.c (print_version): Do not bother even to examine host.name,
         since it is always NULL when this function is called from main.

Members:
       lib/ChangeLog:1.114->1.115
       lib/command.c:1.32->1.33

---------------------
PatchSet 983
Date: 2005/01/15 17:26:48
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-15 Andrew J. Schorr <[email protected]>

       * redhat/quagga.spec.in: Fix postun script to avoid misleading error
         message saying the postun scriptlet failed when watchquagga
         is not running.

         (pullup candidate)

Members:
       ChangeLog:1.96->1.97
       redhat/quagga.spec.in:1.24->1.25

---------------------
PatchSet 984
Date: 2005/01/16 23:31:54
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * command.[ch], vty.c: cmd_execute_command() function must not attempt
         to walk up in the node tree if called from vtysh. Different daemons
         might have commands with same syntax in different nodes (for example
         "router-id x.x.x.x" commands in zebra/ospfd/ospf6d daemons).

       * vtysh.c: Reflect changes in lib. cmd_execute_command() should know
         now that it's called from vtysh and must not attempt to walk up in
         the node tree.

       [pullup candidate]

Members:
       lib/ChangeLog:1.115->1.116
       lib/command.c:1.33->1.34
       lib/command.h:1.13->1.14
       lib/vty.c:1.31->1.32
       vtysh/ChangeLog:1.31->1.32
       vtysh/vtysh.c:1.39->1.40

---------------------
PatchSet 985
Date: 2005/01/16 23:34:02
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * main.c: With --nl-bufsize argument is required.

       [pullup candidate]

Members:
       zebra/ChangeLog:1.59->1.60
       zebra/main.c:1.20->1.21

---------------------
PatchSet 986
Date: 2005/01/17 11:04:32
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * bgp_route.c: Clear peer's routing table regardless whether it's
         configured or not. Being not configured is even better reason to
         do it.

Members:
       bgpd/ChangeLog:1.36->1.37
       bgpd/bgp_route.c:1.20->1.21

---------------------
PatchSet 987
Date: 2005/01/17 15:22:28
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-17 Andrew J. Schorr <[email protected]>

       * log.h: Change prototype for zlog_backtrace_sigsafe to take additional
         program_counter argument.
       * log.c: (zlog_backtrace_sigsafe) Add additional program_counter
         argument.  If it is non-NULL, use backtrace_symbols_fd to resolve
         the address.
         (zlog_signal) Call zlog_backtrace_sigsafe with additional
         program_counter argument.

       [pullup candidate]

Members:
       lib/ChangeLog:1.116->1.117
       lib/log.c:1.21->1.22
       lib/log.h:1.15->1.16

---------------------
PatchSet 997
Date: 2005/01/18 13:44:35
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * interface.c: Better statistics output in "show interface" command in
         case of /proc being used. I don't have others to test with at the
         moment.

Members:
       zebra/ChangeLog:1.60->1.61
       zebra/interface.c:1.20->1.21

---------------------
PatchSet 998
Date: 2005/01/18 13:53:33
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * *.c: Changed many functions to static. Some commented out
         functions and some tiny related fixes. No functional changes.

Members:
       isisd/ChangeLog:1.35->1.36
       isisd/isis_adjacency.c:1.8->1.9
       isisd/isis_dr.c:1.9->1.10
       isisd/isis_events.c:1.9->1.10
       isisd/isis_lsp.c:1.15->1.16
       isisd/isis_network.c:1.7->1.8
       isisd/isis_pdu.c:1.13->1.14
       isisd/isis_route.c:1.5->1.6
       isisd/isis_spf.c:1.11->1.12
       isisd/isis_tlv.c:1.10->1.11
       isisd/isis_zebra.c:1.12->1.13

---------------------
PatchSet 999
Date: 2005/01/18 22:18:59
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-18 Andrew J. Schorr <[email protected]>

       * log.h: Test for SA_SIGINFO to see whether zlog_signal takes final
         two args (siginfo and program_counter).
       * log.c: (hex_append) Include this function only if SA_SIGINFO or
         HAVE_GLIBC_BACKTRACE is defined.
         (zlog_signal) Final two args (siginfo and program_counter) now
         depend on whether SA_SIGINFO is defined on this platform.
       * sigevent.c: (program_counter) Do not include this function if
         SA_SIGINFO is not defined on this platform.
         (exit_handler,core_handler) Test for SA_SIGINFO to decide whether
         2nd & 3rd arguments are present and to decide how to invoke
         zlog_signal.
         (trap_default_signals) Test for SA_SIGINFO and invoke sigaction
         appropriately.

Members:
       lib/ChangeLog:1.117->1.118
       lib/log.c:1.22->1.23
       lib/log.h:1.16->1.17
       lib/sigevent.c:1.6->1.7

---------------------
PatchSet 1000
Date: 2005/01/23 19:24:46
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * vtysh.conf.sample: Fix typo "integrated-vtysh-conf" ->
         "integrated-vtysh-config".

Members:
       vtysh/ChangeLog:1.32->1.33
       vtysh/vtysh.conf.sample:1.2->1.3

---------------------
PatchSet 1005
Date: 2005/01/23 21:42:25
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * lib/command.[ch]: Make node_parent() function nonstatic. vtyh.c will
         use it as well.
       * vtysh/vtysh.c: Implement walkup in node tree for vtysh as it already
         works in vty.

Members:
       lib/ChangeLog:1.118->1.119
       lib/command.c:1.34->1.35
       lib/command.h:1.14->1.15
       vtysh/ChangeLog:1.33->1.34
       vtysh/vtysh.c:1.40->1.41

---------------------
PatchSet 1006
Date: 2005/01/24 09:05:27
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-01-24 Martin Pot <mpot at martybugs.net>

       * zebra/rt_netlink.c: ignore wireless newlink netlink messages.

Members:
       zebra/ChangeLog:1.61->1.62
       zebra/rt_netlink.c:1.26->1.27

---------------------
PatchSet 1007
Date: 2005/01/24 09:29:42
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * bgp_route.c: Fix showstopper bug. New route must be selected also
         if old one is flaged as BGP_INFO_ATTR_CHANGED.

Members:
       bgpd/ChangeLog:1.37->1.38
       bgpd/bgp_route.c:1.21->1.22

---------------------
PatchSet 1009
Date: 2005/01/24 10:24:31
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-01-24 Paul Jakma <[email protected]>

       * configure.ac: Bump version to 0.99.0
       * doc/quagga.info: Version bump (autogenerated)

Members:
       ChangeLog:1.97->1.98
       configure.ac:1.87->1.88
       doc/ChangeLog:1.31->1.32
       doc/quagga.info:1.6->1.7

---------------------
PatchSet 1010
Date: 2005/01/25 01:19:28
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-01-25 Paul Jakma <[email protected]>

       * ospf6_asbr.c: Add "hsls" to the zroute_name const char array.

Members:
       ospf6d/ChangeLog:1.35->1.36
       ospf6d/ospf6_asbr.c:1.15->1.16

---------------------
PatchSet 1011
Date: 2005/01/28 20:28:35
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-28 Andrew J. Schorr <[email protected]>

       * lib/command.h: Document behavior of argv_concat function.
       * lib/command.c: (argv_concat) Calculate total string length first so
         we can call malloc just once (instead of realloc'ing to add each
         string element).
         (do_echo,config_logmsg) Allow for possible NULL return value from
         argv_concat.

Members:
       lib/ChangeLog:1.119->1.120
       lib/command.c:1.35->1.36
       lib/command.h:1.15->1.16

---------------------
PatchSet 1012
Date: 2005/01/28 20:41:07
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-28 Andrew J. Schorr <[email protected]>

       * lib/buffer.h: Document behavior of buffer_getstr function.
       * lib/buffer.c: (buffer_getstr) Fix bug: must handle case where
         the string extends beyond the head struct buffer_data.

Members:
       lib/ChangeLog:1.120->1.121
       lib/buffer.c:1.7->1.8
       lib/buffer.h:1.5->1.6

---------------------
PatchSet 1013
Date: 2005/01/28 21:11:46
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-28 Andrew J. Schorr <[email protected]>

       * vtysh.h: Remove obsolete VTYSH_INDEX_* defines.  Fix many prototypes
         for functions with no arguments (must specify argument list as void).
       * vtysh.c: Enhance vtysh_client array to include the daemon's name
         and bitmask and socket path (in addition to the fd).  This allows
         us to use loop constructs for various operations that need to be
         applied to all client daemons, and it facilitates better error
         messages.  Also fix some prototypes with void argument lists.
         (vclient_close) Issue a warning message indicating which daemon's
         socket is being closed.
         (vtysh_execute_func,vtysh_config_from_file) Use a for loop to
         call vtysh_client_execute.
         (vtysh_write_terminal,write_config_integrated) Use a for loop to
         call vtysh_client_config.
         (vtysh_write_memory) Use a for loop to call vtysh_client_execute.
         (vtysh_show_daemons) Use a for loop.
         (vtysh_connect) The struct vtysh_client is now statically initialized,
         so do not initialize it here.
         (vtysh_connect_all) Use a for loop to call vtysh_connect.  Set
         ripd_client pointer for use in vtysh_exit_ripd_only.

Members:
       vtysh/ChangeLog:1.34->1.35
       vtysh/vtysh.c:1.41->1.42
       vtysh/vtysh.h:1.8->1.9

---------------------
PatchSet 1014
Date: 2005/01/29 15:52:07
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-29 Andrew J. Schorr <[email protected]>

       * 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.

Members:
       ospfd/ChangeLog:1.89->1.90
       ospfd/ospf_packet.c:1.61->1.62

---------------------
PatchSet 1015
Date: 2005/01/29 16:12:41
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-29 Andrew J. Schorr <[email protected]>

       * rt_netlink.c: (netlink_socket,netlink_request,netlink_parse_info,
         netlink_talk) Save errno before calling zserv_privs.change.

         [backport candidate]

Members:
       zebra/ChangeLog:1.62->1.63
       zebra/rt_netlink.c:1.27->1.28

---------------------
PatchSet 1016
Date: 2005/01/29 17:07:40
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-29 Andrew J. Schorr <[email protected]>

       * if_ioctl_solaris.c: (interface_list_ioctl) Save errno before calling
         zserv_privs.change.
       * ioctl{,_solaris}.c: (if_ioctl,if_ioctl_ipv6) Save errno before calling
         zserv_privs.change.
       * ipforward_solaris.c: (solaris_nd) Save errno before calling
         zserv_privs.change.
       * irdp_main.c: (irdp_sock_init) Save errno before calling
         zserv_privs.change.

       [backport candidate]

Members:
       zebra/ChangeLog:1.63->1.64
       zebra/if_ioctl_solaris.c:1.5->1.6
       zebra/ioctl.c:1.6->1.7
       zebra/ioctl_solaris.c:1.4->1.5
       zebra/ipforward_solaris.c:1.6->1.7
       zebra/irdp_main.c:1.10->1.11

---------------------
PatchSet 1017
Date: 2005/01/29 18:19:13
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-29 Andrew J. Schorr <[email protected]>

       * buffer.h: Fix comment on buffer_getstr to reflect that it now
         uses XMALLOC.
       * buffer.c: (buffer_getstr) Use XMALLOC(MTYPE_TMP) instead of malloc.
       * filter.c: (access_list_remark,ipv6_access_list_remark) Use
         argv_concat instead of buffer_getstr.
       * if.c: (interface_desc) Use argv_concat instead of buffer_getstr.
       * plist.c: (ip_prefix_list_description,ipv6_prefix_list_description)
         Use argv_concat instead of buffer_getstr.
       * bgp_filter.c: (ip_as_path,no_ip_as_path) Use argv_concat instead
         of buffer_getstr.
       * bgp_route.c: (bgp_show_regexp) Fix memory leak: need to free string
         returned by buffer_getstr.
         (bgp_show_community) Must use XFREE instead of free on string
         returned by buffer_getstr.
       * bgp_routemap.c: (set_community) Must use XFREE instead of free
         on string returned by buffer_getstr.
       * bgp_vty.c: (neighbor_description) Use argv_concat instead of
         buffer_getstr.

Members:
       bgpd/ChangeLog:1.38->1.39
       bgpd/bgp_filter.c:1.4->1.5
       bgpd/bgp_route.c:1.22->1.23
       bgpd/bgp_routemap.c:1.9->1.10
       bgpd/bgp_vty.c:1.11->1.12
       lib/ChangeLog:1.121->1.122
       lib/buffer.c:1.8->1.9
       lib/buffer.h:1.6->1.7
       lib/filter.c:1.4->1.5
       lib/if.c:1.24->1.25
       lib/plist.c:1.4->1.5

---------------------
PatchSet 1018
Date: 2005/01/30 17:24:02
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-30 Andrew J. Schorr <[email protected]>

       * ospf_network.c: (ospf_sock_init) Save errno before calling
         ospfd_privs.change.

Members:
       ospfd/ChangeLog:1.90->1.91
       ospfd/ospf_network.c:1.9->1.10

---------------------
PatchSet 1019
Date: 2005/01/30 17:40:29
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-30 Andrew J. Schorr <[email protected]>

       * ripd.c: (rip_create_socket) Save errno before calling
         ripd_privs.change.

Members:
       ripd/ChangeLog:1.31->1.32
       ripd/ripd.c:1.37->1.38

---------------------
PatchSet 1020
Date: 2005/01/30 18:08:12
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-30 Andrew J. Schorr <[email protected]>

       * ripng_interface.c: (ripng_multicast_join) Save errno before calling
         ripngd_privs.change.

Members:
       ripngd/ChangeLog:1.20->1.21
       ripngd/ripng_interface.c:1.14->1.15

---------------------
PatchSet 1021
Date: 2005/01/30 18:49:28
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-01-30 Andrew J. Schorr <[email protected]>

       * daemon.c: (daemon) Replace perror with zlog_err.
       * vty.c: (vty_serv_un) Replace perror with zlog_err.
       * ripd.c: (rip_create_socket) Replace perror with zlog_err.
       * ioctl.c: (if_ioctl,if_ioctl_ipv6,if_get_flags) Replace perror with
         zlog_err.
       * ioctl_solaris.c: (if_ioctl,if_ioctl_ipv6) Replace perror with
         zlog_err.

Members:
       lib/ChangeLog:1.122->1.123
       lib/daemon.c:1.2->1.3
       lib/vty.c:1.32->1.33
       ripd/ChangeLog:1.32->1.33
       ripd/ripd.c:1.38->1.39
       zebra/ChangeLog:1.64->1.65
       zebra/ioctl.c:1.7->1.8
       zebra/ioctl_solaris.c:1.5->1.6

---------------------
PatchSet 1024
Date: 2005/02/01 20:13:16
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * bgp_nexthop.c: Improve debug.
       * bgpd.[ch], bgp_nexthop.c, bgp_snmp.c: Remove useless bgp_get_master()
         function.
       * bgp_packet.c: MP AFI_IP update and withdraw parsing.
       * bgp_fsm.c: Reset peer synctime in bgp_stop(). bgp_fsm_change_status()
         is better place to log about peer status change than bgp_event().
         Log in bgp_connect_success().
       * bgp_vty.c: Fix typo in comment.
       * bgp_attr.c: Better log about unknown attribute.

       [merge from GNU Zebra]

Members:
       bgpd/ChangeLog:1.39->1.40
       bgpd/bgp_attr.c:1.8->1.9
       bgpd/bgp_fsm.c:1.9->1.10
       bgpd/bgp_nexthop.c:1.10->1.11
       bgpd/bgp_packet.c:1.13->1.14
       bgpd/bgp_snmp.c:1.7->1.8
       bgpd/bgp_vty.c:1.12->1.13
       bgpd/bgpd.c:1.12->1.13
       bgpd/bgpd.h:1.13->1.14

---------------------
PatchSet 1025
Date: 2005/02/01 20:57:17
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * bgpd.[ch], bgp_vty.c, bgp_route.c: "Restart session after
         maximum-prefix limit" feature support.

       [merge from GNU Zebra]

Members:
       bgpd/ChangeLog:1.40->1.41
       bgpd/bgp_route.c:1.23->1.24
       bgpd/bgp_vty.c:1.13->1.14
       bgpd/bgpd.c:1.13->1.14
       bgpd/bgpd.h:1.14->1.15

---------------------
PatchSet 1026
Date: 2005/02/01 21:30:04
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * bgp_attr.c, bgp_snmp.c, bgp_vty.c, bgpd.[ch]: Remove support for old
         draft - ie. "neighbor version 4-" commands. Preserve dummy "neighbor
         version" command as deprecated.

       [merge from GNU Zebra]

Members:
       bgpd/ChangeLog:1.41->1.42
       bgpd/bgp_attr.c:1.9->1.10
       bgpd/bgp_snmp.c:1.8->1.9
       bgpd/bgp_vty.c:1.14->1.15
       bgpd/bgpd.c:1.14->1.15
       bgpd/bgpd.h:1.15->1.16

---------------------
PatchSet 1027
Date: 2005/02/01 22:01:48
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * bgp_open.c, bgp_packet.c, bgp_vty.c, bgpd.[ch]: Remove "no neighbor
         capability route-refresh" commands. Route refresh capability is sent
         anyway now. Preserve dummy deprecated commands.

       [merge from GNU Zebra]

Members:
       bgpd/ChangeLog:1.42->1.43
       bgpd/bgp_open.c:1.4->1.5
       bgpd/bgp_packet.c:1.14->1.15
       bgpd/bgp_vty.c:1.15->1.16
       bgpd/bgpd.c:1.15->1.16
       bgpd/bgpd.h:1.16->1.17

---------------------
PatchSet 1028
Date: 2005/02/02 14:40:33
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * bgp_fsm.c, bgp_open.c, bgp_packet.c, bgp_route.[ch], bgp_vty.c,
         bgpd.[ch]: Add BGP_INFO_STALE flag and end-of-rib support. "bgp
         graceful-restart" commands added. Show numbers of individual
         messages in "show ip bgp neighbor" command. Final pieces of graceful
         restart.

       [merge from GNU Zebra]

Members:
       bgpd/ChangeLog:1.43->1.44
       bgpd/bgp_fsm.c:1.10->1.11
       bgpd/bgp_open.c:1.5->1.6
       bgpd/bgp_packet.c:1.15->1.16
       bgpd/bgp_route.c:1.24->1.25
       bgpd/bgp_route.h:1.6->1.7
       bgpd/bgp_vty.c:1.16->1.17
       bgpd/bgpd.c:1.16->1.17
       bgpd/bgpd.h:1.17->1.18

---------------------
PatchSet 1029
Date: 2005/02/02 14:50:11
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * bgp_route.c, bgp_vty.c, bgp_zebra.c, bgpd.[ch]: "enforce-multihop"
         -> "disable-connected-check".

       [merge from GNU Zebra]

Members:
       bgpd/ChangeLog:1.44->1.45
       bgpd/bgp_route.c:1.25->1.26
       bgpd/bgp_vty.c:1.17->1.18
       bgpd/bgp_zebra.c:1.6->1.7
       bgpd/bgpd.c:1.17->1.18
       bgpd/bgpd.h:1.18->1.19

---------------------
PatchSet 1030
Date: 2005/02/02 16:29:31
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * bgp_clist.[ch], bgp_route.c, bgp_routemap.c, bgp_vty.c:
         community-list cleanup.

       [merge from GNU Zebra]

Members:
       bgpd/ChangeLog:1.45->1.46
       bgpd/bgp_clist.c:1.4->1.5
       bgpd/bgp_clist.h:1.2->1.3
       bgpd/bgp_route.c:1.26->1.27
       bgpd/bgp_routemap.c:1.10->1.11
       bgpd/bgp_vty.c:1.18->1.19

---------------------
PatchSet 1031
Date: 2005/02/02 16:43:17
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * bgp_routemap.c: New route-map command - "match ip route-source".

       [merge from GNU Zebra]

Members:
       bgpd/ChangeLog:1.46->1.47
       bgpd/bgp_routemap.c:1.11->1.12

---------------------
PatchSet 1032
Date: 2005/02/02 17:15:34
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * bgp_vty.c: Deprecate "neighbor transparent-as" and "neighbor
         transparent-nexthop" commands.

       [merge from GNU Zebra]

Members:
       bgpd/ChangeLog:1.47->1.48
       bgpd/bgp_vty.c:1.19->1.20

---------------------
PatchSet 1033
Date: 2005/02/02 18:38:48
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-02 Andrew J. Schorr <[email protected]>

       * 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.
       * if.h: Declare if_flag_dump.

       [backport candidate]

Members:
       lib/ChangeLog:1.123->1.124
       lib/if.h:1.16->1.17
       ospfd/ChangeLog:1.91->1.92
       ospfd/ospf_packet.c:1.62->1.63

---------------------
PatchSet 1036
Date: 2005/02/03 16:42:40
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-03 Andrew J. Schorr <[email protected]>

       * log.c: (syslog_sigsafe) Reduce scope of syslog_fd: it is accessed
         inside this function only.
         (open_crashlog) New function to open /var/tmp/quagga.<daemon>.crashlog
         with flags O_WRONLY|O_CREAT|O_EXCL to save some crash info.
         (zlog_signal,_zlog_assert_failed) Increase logging priority from
         LOG_ERR to LOG_CRIT.  If no file logging is configured, try to use
         open_crashlog to create a crash logfile.
         (zlog_backtrace_sigsafe) If a crashlog file descriptor is open,
         dump a backtrace to that file.

Members:
       lib/ChangeLog:1.124->1.125
       lib/log.c:1.23->1.24

---------------------
PatchSet 1037
Date: 2005/02/03 17:12:01
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-03 Andrew J. Schorr <[email protected]>

       * basic.texi: Add note about last-resort crash logging to /var/tmp
         when file logging is not configured.
       * quagga.info: updated build of autogenerated file

Members:
       doc/ChangeLog:1.32->1.33
       doc/basic.texi:1.5->1.6
       doc/quagga.info:1.7->1.8

---------------------
PatchSet 1038
Date: 2005/02/03 19:22:05
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-03 Andrew J. Schorr <[email protected]>

       * log.c: (zlog_signal,zlog_backtrace_sigsafe) Eliminate use of fileno()
         since it is not async-signal-safe.
         (_zlog_assert_failed) Rewrite crashlog logic more compactly.
         (zlog_set_file,zlog_reset_file,zlog_rotate) Update logfile_fd
         for use in signal handler.

Members:
       lib/ChangeLog:1.125->1.126
       lib/log.c:1.24->1.25

---------------------
PatchSet 1039
Date: 2005/02/04 23:42:41
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-02-04 Paul Jakma <[email protected]>

       * ripd.c: Untangle the construction of RIP auth data.
         (rip_auth_prepare_str_send) new helper function, prepare
         correct key string.
         (rip_auth_simple_write) new helper, write out the
         rip simple password auth psuedo-RTE.
         (rip_auth_md5_ah_write) new helper, write out the
         MD5 auth-header psuedo-RTE.
         (rip_auth_header_write) new helper, write out correct
         auth header data / psuedo-RTE.
         (rip_auth_md5_set) rip out the memmove and writing of the
         auth header psuedo-RTE. So that all that is left is to
         write the trailing auth digest, and update digest offset
         field in the original header.
         (rip_write_rte) rip out writing of RIP header, writing of
         simple auth data psuedo-RTE. Make it do what its name suggests,
         write out actual RTEs.
         (rip_output_process) remove the incorrect additional decrements
         of rtemax. Prepare the auth_str, which simple or MD5 auth will
         need. Move write out of RIP header and auth data to inside the
         loop. Adjust paramaters as required.

Members:
       ripd/ChangeLog:1.33->1.34
       ripd/ripd.c:1.39->1.40
       ripd/ripd.h:1.11->1.12

---------------------
PatchSet 1040
Date: 2005/02/08 11:29:41
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-02-08 Paul Jakma <[email protected]>

       * ospf_packet.c: (various) Remove unneeded stream_set_putp abuse.

Members:
       ospfd/ChangeLog:1.92->1.93
       ospfd/ospf_packet.c:1.63->1.64

---------------------
PatchSet 1041
Date: 2005/02/08 15:37:30
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-08 Andrew J. Schorr <[email protected]>

       * 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.

Members:
       ospfd/ChangeLog:1.93->1.94
       ospfd/ospf_interface.c:1.29->1.30
       ospfd/ospf_interface.h:1.6->1.7
       ospfd/ospf_ism.c:1.6->1.7
       ospfd/ospf_packet.c:1.64->1.65
       ospfd/ospf_vty.c:1.28->1.29

---------------------
PatchSet 1042
Date: 2005/02/08 15:57:25
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-08 Andrew J. Schorr <[email protected]>

       * zebra.h: Change macro definitions SET_FLAG and UNSET_FLAG
         to use compound assignment operators (aesthetic change).

Members:
       lib/ChangeLog:1.126->1.127
       lib/zebra.h:1.28->1.29

---------------------
PatchSet 1043
Date: 2005/02/08 15:59:16
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-08 Andrew J. Schorr <[email protected]>

       * 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).

Members:
       ospfd/ChangeLog:1.94->1.95
       ospfd/ospf_interface.h:1.7->1.8

---------------------
PatchSet 1044
Date: 2005/02/09 15:35:50
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-09 Andrew J. Schorr <[email protected]>

       * ospf_packet.c: (ospf_write) If sendmsg fails, give more info in the
         error message.

Members:
       ospfd/ChangeLog:1.95->1.96
       ospfd/ospf_packet.c:1.65->1.66

---------------------
PatchSet 1045
Date: 2005/02/09 15:51:56
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-02-09 Paul Jakma <[email protected]>

       * (global) Update code to match stream.h changes.
         stream_get_putp effectively replaced with stream_get_endp.
         stream_forward renamed to stream_forward_getp.
         stream_forward_endp introduced to replace some previous
         setting/manual twiddling of putp by daemons.
       * lib/stream.h: Remove putp. Update reference to putp with endp.
         Add stream_forward_endp, which daemons were doing manually.
         Rename stream_forward to stream_forward_getp.
         lib/stream.c: Remove/update references to putp.
         introduce stream_forward_endp.

Members:
       ChangeLog:1.98->1.99
       bgpd/bgp_attr.c:1.10->1.11
       bgpd/bgp_dump.c:1.8->1.9
       bgpd/bgp_open.c:1.6->1.7
       bgpd/bgp_packet.c:1.16->1.17
       isisd/isis_lsp.c:1.16->1.17
       isisd/isis_network.c:1.8->1.9
       isisd/isis_pdu.c:1.14->1.15
       isisd/isis_tlv.c:1.11->1.12
       lib/ChangeLog:1.127->1.128
       lib/stream.c:1.2->1.3
       lib/stream.h:1.2->1.3
       ospfd/ospf_dump.c:1.15->1.16
       ospfd/ospf_lsa.c:1.32->1.33
       ospfd/ospf_packet.c:1.66->1.67
       ripd/ripd.c:1.40->1.41
       zebra/irdp_packet.c:1.8->1.9
       zebra/zserv.c:1.23->1.24

---------------------
PatchSet 1046
Date: 2005/02/10 16:38:09
Author: gdt
Branch: HEAD
Tag: (none)
Log:
notes on what files contain what, and an initial stab at understanding
how much storage is required.

Members:
       bgpd/IMPLEMENTATION.txt:INITIAL->1.1

---------------------
PatchSet 1047
Date: 2005/02/11 08:31:54
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * ospf_lsdb.c: Fix sum of checksums calculation.

       [backport candidate]

Members:
       ospfd/ChangeLog:1.96->1.97
       ospfd/ospf_lsdb.c:1.2->1.3

---------------------
PatchSet 1049
Date: 2005/02/12 14:35:49
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-02-12 Paul Jakma <[email protected]>

       * stream.h: Unsigned long updated to size_t
       * stream.c: ditto

Members:
       lib/ChangeLog:1.128->1.129
       lib/stream.c:1.3->1.4
       lib/stream.h:1.3->1.4

---------------------
PatchSet 1050
Date: 2005/02/14 23:47:47
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-02-14 Paul Jakma <[email protected]>

       * stream.h: Unsigned long updated to size_t
       * stream.c: ditto
       * stream.h: Add stream_copy, stream_dup, stream_recvmsg.
         Add comment describing struct stream abstraction, and various
         other comments.
         Deprecate several unsafe/ambigious macros.
         Add STREAM_WRITEABLE and STREAM_READABLE.
         Add (stream_getl_from) for symmetry.
         Update stream_forward_{endp,getp} to use size_t offset.
         Make stream data a 0 length array, rather than a seperate malloc.
       * stream.c: Add consistency checks. Update to follow stream.h
         changes.
         (stream_new) Alloc stream+data in one go.
         (stream_copy) new function, copy a stream.
         (stream_dup) new function, dup a stream.
         (stream_recvmsg) new function, recvmsg data into a stream.
         (stream_empty) no need to check getp == 0.

Members:
       lib/ChangeLog:1.129->1.130
       lib/stream.c:1.4->1.5
       lib/stream.h:1.4->1.5

---------------------
PatchSet 1051
Date: 2005/02/14 23:48:42
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-02-14 Paul Jakma <[email protected]>

       * ospf_packet.c: (ospf_recv_packet) use stream_recvmsg.

Members:
       ospfd/ChangeLog:1.97->1.98
       ospfd/ospf_packet.c:1.67->1.68

---------------------
PatchSet 1052
Date: 2005/02/14 23:49:09
Author: paul
Branch: HEAD
Tag: (none)
Log:
- oops, date was wrong in actual ChangeLog

Members:
       lib/ChangeLog:1.130->1.131

---------------------
PatchSet 1053
Date: 2005/02/14 23:53:05
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-02-14 Paul Jakma <[email protected]>

       * Not all Linux netlink systems have IFLA_WIRELESS

Members:
       zebra/ChangeLog:1.65->1.66
       zebra/rt_netlink.c:1.28->1.29

---------------------
PatchSet 1054
Date: 2005/02/15 10:10:55
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-02-15 Paul Jakma <[email protected]>

       * ospf_packet.c: (ospf_recv_packet) Fix silly error wrt allocating
         ibuf. Thanks Andrew.

Members:
       ospfd/ChangeLog:1.98->1.99
       ospfd/ospf_packet.c:1.68->1.69

---------------------
PatchSet 1055
Date: 2005/02/15 17:10:03
Author: gdt
Branch: HEAD
Tag: (none)
Log:
Adjust size complexity estimates.  Still not quite right, but closer.

Members:
       bgpd/IMPLEMENTATION.txt:1.1->1.2

---------------------
PatchSet 1056
Date: 2005/02/16 00:45:37
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-15 Andrew J. Schorr <[email protected]>

       * network.h: Declare new function set_nonblocking.  Indicate that
         readn and writen are deprecated.
       * network.c: (set_nonblocking) New function to make a file descriptor
         non-blocking, since it seems silly to have fcntl calls sprinkled
         throughout the code.

Members:
       lib/ChangeLog:1.131->1.132
       lib/network.c:1.3->1.4
       lib/network.h:1.3->1.4

---------------------
PatchSet 1057
Date: 2005/02/16 16:25:39
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-16 Andrew J. Schorr <[email protected]>

       * network.c: (set_nonblocking) Should check return code from
         fcntl(F_GETFL).

Members:
       lib/ChangeLog:1.132->1.133
       lib/network.c:1.4->1.5

---------------------
PatchSet 1058
Date: 2005/02/16 20:35:47
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-16 Andrew J. Schorr <[email protected]>

       * stream.h: Declare new function stream_read_try suitable for use
         with non-blocking file descriptors.  Indicate that stream_read
         and stream_read_unblock are deprecated.
       * stream.c: (stream_read_try) New function for use with non-blocking
         I/O.
         (stream_recvmsg) Should return -1 if the stream is too small to
         contain the data.

Members:
       lib/ChangeLog:1.133->1.134
       lib/stream.c:1.5->1.6
       lib/stream.h:1.5->1.6

---------------------
PatchSet 1059
Date: 2005/02/16 20:40:25
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-16 Andrew J. Schorr <[email protected]>

       * watchquagga.c: (try_connect) Use new set_nonblocking function instead
         of calling fcntl directly.

Members:
       watchquagga/ChangeLog:1.10->1.11
       watchquagga/watchquagga.c:1.9->1.10

---------------------
PatchSet 1060
Date: 2005/02/17 19:55:59
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-17 Andrew J. Schorr <[email protected]>

       * 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.

Members:
       ospfd/ChangeLog:1.99->1.100
       ospfd/ospf_packet.c:1.69->1.70

---------------------
PatchSet 1061
Date: 2005/02/17 20:02:49
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-17 Andrew J. Schorr <[email protected]>

       * network.h: Define a new ERRNO_IO_RETRY macro to test whether an I/O
         operation should be retried.  This eliminates the need to duplicate
         the same logic testing for EAGAIN or EINTR in multiple places.

Members:
       lib/ChangeLog:1.134->1.135
       lib/network.h:1.4->1.5

---------------------
PatchSet 1062
Date: 2005/02/17 20:07:22
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-17 Andrew J. Schorr <[email protected]>

       * stream.c: (stream_read_try) Use new ERRNO_IO_RETRY macro.

Members:
       lib/ChangeLog:1.135->1.136
       lib/stream.c:1.6->1.7

---------------------
PatchSet 1063
Date: 2005/02/17 20:11:58
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-17 Andrew J. Schorr <[email protected]>

       * watchquagga.c: (handle_read) Use new ERRNO_IO_RETRY macro.

Members:
       watchquagga/ChangeLog:1.11->1.12
       watchquagga/watchquagga.c:1.10->1.11

---------------------
PatchSet 1064
Date: 2005/02/19 01:17:07
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-02-19 Paul Jakma <[email protected]>

       * stream.c: (stream_new) fix dumb mistake.

Members:
       lib/ChangeLog:1.136->1.137
       lib/stream.c:1.7->1.8

---------------------
PatchSet 1065
Date: 2005/02/19 01:19:20
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-02-19 Paul Jakma <[email protected]>

       * ospf_packet.c: (ospf_stream_copy) remove
         (ospf_packet_dup) use stream_copy instead of ospf_stream_copy

Members:
       ospfd/ChangeLog:1.100->1.101
       ospfd/ospf_packet.c:1.70->1.71

---------------------
PatchSet 1066
Date: 2005/02/19 02:00:26
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-02-19 Paul Jakma <[email protected]>

       * zserv.c: (zebra_read_ipv6) replace the char * arithmetic with
         STREAM_READABLE.

Members:
       zebra/ChangeLog:1.66->1.67
       zebra/zserv.c:1.24->1.25

---------------------
PatchSet 1067
Date: 2005/02/19 13:58:06
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * configure.ac: Fix Linux detection. Host types like i686-pc-linux
         didn't match the pattern.

       Fixes bugzilla #150. [backport candidate]

Members:
       ChangeLog:1.99->1.100
       configure.ac:1.88->1.89

---------------------
PatchSet 1069
Date: 2005/02/19 17:58:40
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * ospf_api.h: char isn't always signed, but it has to be it here.

       Fixes bugzilla #153. [backport candidate]

Members:
       ospfd/ChangeLog:1.101->1.102
       ospfd/ospf_api.h:1.1->1.2

---------------------
PatchSet 1071
Date: 2005/02/20 19:09:23
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * rt_netlink.c: Don't show messages "ignoring message type 0x001[89]"
         if we are not debugging.

Members:
       zebra/ChangeLog:1.67->1.68
       zebra/rt_netlink.c:1.29->1.30

---------------------
PatchSet 1072
Date: 2005/02/21 14:58:42
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * ospf_ase.c: Don't show messages related to the ase calculations if
         we are not debugging.

Members:
       ospfd/ChangeLog:1.102->1.103
       ospfd/ospf_ase.c:1.9->1.10

---------------------
PatchSet 1073
Date: 2005/02/21 18:17:52
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * pqueue.[ch]: Introduce "update" function to meet ospf spf needs. It
         will allow to update node when:
         i) a node is inserted into the priority queue;
         ii) a node position is modified in the priority queue;
       * pqueue.h: Export trickle_down() function.

Members:
       lib/ChangeLog:1.137->1.138
       lib/pqueue.c:1.1->1.2
       lib/pqueue.h:1.1->1.2

---------------------
PatchSet 1074
Date: 2005/02/23 11:29:02
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * 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.

Members:
       ospfd/ChangeLog:1.103->1.104
       ospfd/ospf_lsa.h:1.9->1.10
       ospfd/ospf_lsdb.c:1.3->1.4
       ospfd/ospf_lsdb.h:1.2->1.3
       ospfd/ospf_spf.c:1.15->1.16
       ospfd/ospf_spf.h:1.4->1.5

---------------------
PatchSet 1075
Date: 2005/02/23 11:54:12
Author: hasso
Branch: HEAD
Tag: (none)
Log:
Added -p to the recommended diff flags.

Members:
       HACKING:1.14->1.15

---------------------
PatchSet 1076
Date: 2005/02/23 14:27:24
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * bgp_route.c: Make reannouncing prefixes with changed attributes
         work again.

Members:
       bgpd/ChangeLog:1.48->1.49
       bgpd/bgp_route.c:1.27->1.28

---------------------
PatchSet 1078
Date: 2005/02/23 15:12:34
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-23 Andrew J. Schorr <[email protected]>

       * buffer.h: Make the struct buffer and struct buffer_data structures
         private by moving them inside buffer.c.  Add comments for all
         functions.  Rename buffer_write as buffer_put (to be more consistent
         with the buffer_putc and buffer_putstr functions).  Declare a new
         buffer_write function that is used to write data to a file descriptor
         and/or add it to the buffer queue.  Remove unused function
         buffer_flush_vty_all.  Create a new enum typedef buffer_status_t
         to be used as the return code for all buffer_flush* functions
         and buffer_write.
       * buffer.c: The struct buffer and struct buffer_data declarations
         are now private to this file.  In conjunction with that, remove
         some unnecessary fields: struct buffer (alloc, unused_head,
         unused_tail, length), struct buffer_data (prev).
         (buffer_data_new) Removed: functionality incorporated into buffer_add.
         (buffer_data_free) Removed: use a macro BUFFER_DATA_FREE instead.
         (buffer_new) Use calloc instead of malloc + memset(zero).
         Supply an appropriate default size if the specified size is 0.
         (buffer_free) Eliminate code duplication by calling buffer_reset to
         free the contents of the buffer (and remove unused code related
         to unused_head).
         (buffer_empty,buffer_putc,buffer_putstr) Aesthetic change (make more
         compact).
         (buffer_reset) Use macro BUFFER_DATA_FREE.  No need to set
         alloc and length to 0 (these fields have been removed).
         (buffer_add) Fix scope to be static.  Call XMALLOC directly instead
         of calling removed buffer_data_new function.  Simplify the logic
         (since it's now a singly-linked list instead of doubly-linked).
         (buffer_write) Renamed to buffer_put.  Change to void, since return
         code of 1 was meaningless.  No need to adjust length field, since
         it has been removed.
         (buffer_putw,buffer_flush,buffer_flush_vty_all,buffer_flush_vty)
         Remove unused functions.
         (buffer_flush_all) Rewrite using buffer_flush_available to eliminate
         a possible failure mode if IOV_MAX is less than the number of buffers
         on the queue.
         (buffer_flush_window) Incorporate logic from buffer_flush_vty.
         Log an error message if there is a writev error.
         (buffer_flush_available) Be more paranoid: check for case where
         buffer is already empty.  Use new ERRNO_IO_RETRY macro, and use
         new enum for return codes.  Simplify deletion logic (since it's
         now a singly-linked list).
         (buffer_write) New function for use with non-blocking I/O.
       * vty.h: Replace the struct vty sb_buffer field with a fixed-size
         (5-character) sb_buf field and an sb_len field, since using
         a struct buffer was inappropriate for this task.  Add some useful
         comments about telnet window size negotiation.
       * vty.c: Include <arpa/telnet.h> (no longer included by zebra.h).
         Remove VTY_OBUF_SIZE (instead use buffer_new default size).
         Make telnet_backward_char and telnet_space_char static const.
         (vty_out) Replace buffer_write with buffer_put.
         (vty_log_out) Check for I/O errors.  If fatal, close the vty session.
         Consolidate 3 separate writes into a single write call.
         (vty_will_echo,vty_command,vty_next_line,vty_previous_line,
         vty_end_config,vty_describe_fold,vty_clear_buf,vty_serv_sock_addrinfo,
         vty_serv_sock_family,vty_serv_un,vty_use_backup_config,exec_timeout,
         vty_config_write,vty_save_cwd) Fix scope to static.
         (vty_new) Let buffer_new use its default buffer size.
         (vty_write) Fix signature: 2nd arg should be const char *.
         Replaced buffer_write with buffer_put.
         (vty_telnet_option) Fix minor bug (window height or width greater than
         255 was broken).  Use sb_buf and sb_len instead of removed sb_buffer
         (which was being used improperly).
         (vty_read) On error, use ERRNO_IO_RETRY to decide whether it's fatal.
         If the error is fatal, call buffer_reset so vty_close does not attempt
         to flush the data.  Use new sb_buf and sb_len instead of sb_buffer
         to store the SB negotiation string.
         (vty_flush) When vty->lines is 0, call buffer_flush_available instead
         of buffer_flush_window.  Look at the return code from buffer_flush
         to detect I/O errors (and in that case, log an error message and
         close the vty).
         (vty_create) Fix scope to static.  Initialize sb_len to 0 instead
         of creating sb_buffer.
         (vty_accept) Set socket nonblocking.
         (vtysh_accept) Use new set_nonblocking function instead of calling
         fcntl directly.
         (vtysh_flush) New function called from vtysh_read (after command
         execution) and from vtysh_write.  This flushes the buffer
         and reacts appropriately to the return code (by closing the vty
         or scheduling further flushes).
         (vtysh_read) Check whether error is fatal using ERRNO_IO_RETRY.
         If not, just try again later.  Otherwise, call buffer_reset before
         calling vty_close (to avoid trying to flush the buffer in vty_close).
         Fix logic to allow case where a command does not arrive atomically
         in a single read call by checking for the terminating NUL char.
         (vtysh_write) Use new vtysh_flush helper function.
         (vty_close) No need to call buffer_empty, just call buffer_flush_all
         in any case (it will check whether the buffer is empty).
         Do not free sb_buffer (since it has been removed).
         (vty_log_fixed) Use writev instead of write.
       * zebra.h: Do not include <arpa/telnet.h>, since this is used only
         by lib/vty.c.

Members:
       lib/ChangeLog:1.138->1.139
       lib/buffer.c:1.9->1.10
       lib/buffer.h:1.7->1.8
       lib/vty.c:1.33->1.34
       lib/vty.h:1.8->1.9
       lib/zebra.h:1.29->1.30

---------------------
PatchSet 1079
Date: 2005/02/23 15:43:01
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-23 Andrew J. Schorr <[email protected]>

       * 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.

Members:
       ospfd/ChangeLog:1.104->1.105
       ospfd/ospf_packet.c:1.71->1.72
       ospfd/ospfd.c:1.28->1.29
       ospfd/ospfd.h:1.11->1.12

---------------------
PatchSet 1080
Date: 2005/02/23 15:48:32
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-23 Andrew J. Schorr <[email protected]>

       * {vty.h,vty.c}: Remove vty_finish (duplicate of vty_reset).
       * isis_main.c: (reload) Call vty_reset instead of vty_finish (both
         functions were exactly the same).

Members:
       isisd/ChangeLog:1.36->1.37
       isisd/isis_main.c:1.17->1.18
       lib/ChangeLog:1.139->1.140
       lib/vty.c:1.34->1.35
       lib/vty.h:1.9->1.10

---------------------
PatchSet 1081
Date: 2005/02/23 16:20:07
Author: gdt
Branch: HEAD
Tag: (none)
Log:
add release procedure, noting redhat spec oddness

Members:
       HACKING:1.15->1.16

---------------------
PatchSet 1082
Date: 2005/02/24 16:02:53
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-02-24 Andrew J. Schorr <[email protected]>

       * stream.c: (stream_read_try) Log a warning message if a fatal
         I/O error occurs.
         (stream_fifo_new) Fix prototype.
       * stream.h: Fix prototype for stream_fifo_new (need void arg).

Members:
       lib/ChangeLog:1.140->1.141
       lib/stream.c:1.8->1.9
       lib/stream.h:1.6->1.7

---------------------
PatchSet 1083
Date: 2005/02/24 16:06:33
Author: ajs
Branch: HEAD
Tag: nonblocking_zserv_before
Log:
2005-02-24 Andrew J. Schorr <[email protected]>

       * redistribute.c: (zebra_check_addr,is_default,
         zebra_redistribute_default,zebra_redistribute) Fix scope to be static.

Members:
       zebra/ChangeLog:1.68->1.69
       zebra/redistribute.c:1.7->1.8

---------------------
PatchSet 1084
Date: 2005/02/28 20:52:15
Author: ajs
Branch: HEAD
Tag: nonblocking_zserv_after
Log:
2005-02-28 Andrew J. Schorr <[email protected]>

       * zserv.c: Must include network.h and buffer.h for non-blocking I/O.
         Remove global message_queue and t_write (need separate buffering for
         each client).
         (zebra_server_dequeue,zebra_server_enqueue) Remove functions
         related to old buggy buffering code.
         (zserv_delayed_close) New thread callback function to delete a client.
         (zserv_flush_data) New thread callback function to flush buffered
         data to client.
         (zebra_server_send_message) Rewritten to use buffer_write (so
         buffering of writes and non-blocking I/O work properly).
         (zsend_interface_add,zsend_interface_delete,zsend_interface_address,
         zsend_interface_update) Return 0 instead of -1 if !client->ifinfo
         (this is not really an error).  Return value from
         zebra_server_send_message.
         (zsend_route_multipath,zsend_ipv4_nexthop_lookup,
         zsend_ipv4_import_lookup) Return value from zebra_server_send_message.
         (zsend_ipv6_nexthop_lookup) Fix scope to static, and return value
         from zebra_server_send_message.
         (zsend_router_id_update) Must use zebra_server_send_message instead
         of deprecated writen function.  Return 0 instead of -1 if this client
         is not subscribed to router-id updates (since this is not really
         an error).
         (zread_interface_add) Change type to static int.  If
         zsend_interface_add fails or zsend_interface_address fails, return -1
         immediately (since the client has had an I/O error).
         (zread_interface_delete,zread_ipv4_add,zread_ipv4_delete,
         zread_ipv6_add,zread_ipv6_delete,zread_router_id_delete) Return 0
         to indicate success.
         (zread_ipv4_nexthop_lookup) Return value from
         zsend_ipv4_nexthop_lookup.
         (zread_ipv4_import_lookup) Return value from zsend_ipv4_import_lookup.
         (zebra_read_ipv6) Remove unused function.
         (zread_ipv6_nexthop_lookup) Return value from
         zsend_ipv6_nexthop_lookup.
         (zread_router_id_add) Return value from zsend_router_id_update.
         (zebra_client_close) Call buffer_free(client->wb) and
         thread_cancel(client->t_suicide).
         (zebra_client_create) Allocate client->wb using buffer_new.
         (zebra_client_read) Support non-blocking I/O by using stream_read_try.
         Use ZEBRA_HEADER_SIZE instead of 3.
         (zebra_accept) Fix bug: reset accept thread at top.  Make client
         socket non-blocking using the set_nonblocking function.
         (config_write_forwarding) Fix scope to static.
         (zebra_init) Remove initialization code for old buggy write buffering.
       * zserv.h: Add 2 new fields to struct zserv: struct buffer *wb
         (to enable buffered writes with non-blocking I/), and
         struct thread *t_suicide to support delayed close on I/O
         errors.
       * router-id.h: Remove prototypes for zread_router_id_add and
         zread_router_id_delete (their scope should be static to zserv.c).

Members:
       zebra/ChangeLog:1.69->1.70
       zebra/router-id.h:1.1->1.2
       zebra/zserv.c:1.25->1.26
       zebra/zserv.h:1.8->1.9

---------------------
PatchSet 1085
Date: 2005/03/02 22:43:26
Author: jardin
Branch: HEAD
Tag: (none)
Log:
Fix segfault when ospf6_create() is not called yet.
Thanks to Mohit Thakur.

Members:
       ospf6d/ChangeLog:1.36->1.37
       ospf6d/ospf6_zebra.c:1.10->1.11

---------------------
PatchSet 1092
Date: 2005/03/06 13:42:05
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * interface.c: Fix CRC and frame errors statistics in Linux.

Members:
       zebra/ChangeLog:1.70->1.71
       zebra/interface.c:1.21->1.22

---------------------
PatchSet 1093
Date: 2005/03/07 08:19:44
Author: hasso
Branch: HEAD
Tag: (none)
Log:
        * if_proc.c, ipforward_proc.c, rtread_proc.c: Fix fd leaks.

        [backport candidate]

Members:
       zebra/ChangeLog:1.71->1.72
       zebra/if_proc.c:1.3->1.4
       zebra/ipforward_proc.c:1.5->1.6
       zebra/rtread_proc.c:1.2->1.3

---------------------
PatchSet 1094
Date: 2005/03/07 08:35:39
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * command.c: host.name might be NULL.
       * vty.c: Fix fd leak.

       [backport candidate]

Members:
       lib/ChangeLog:1.141->1.142
       lib/command.c:1.36->1.37
       lib/vty.c:1.35->1.36

---------------------
PatchSet 1095
Date: 2005/03/07 08:54:41
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * isis_spf.c: host.name might be NULL.

       [backport candidate]

Members:
       isisd/ChangeLog:1.37->1.38
       isisd/isis_spf.c:1.12->1.13

---------------------
PatchSet 1099
Date: 2005/03/08 10:43:43
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-03-08 Jeroen Massar <[email protected]>

       * vty.c: (vty_hello) display motd file, if set
       * command.h: add char *motdfile to struct host
       * command.c: (config_write_host) write out motdfile config
         (banner_motd_file_cmd) new command, allow motd to be read from
         file.
         (no_banner_motd_cmd) free motdfile string, if needs be.
         (cmd_init) init (struct host).motdfile. Add new motd file
         commands.

Members:
       lib/ChangeLog:1.142->1.143
       lib/command.c:1.37->1.38
       lib/command.h:1.16->1.17
       lib/vty.c:1.36->1.37

---------------------
PatchSet 1100
Date: 2005/03/08 15:16:57
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-03-08 Paul Jakma <[email protected]>

       * command.c: (banner_motd_file_cmd) use XSTRDUP/XFREE
       * vty.c: (vty_hello) suggestions from Andrew, read by line and
         stub out trailling non-printable characters on each line thus
         allowing us to specify VTY_NEWLINE to vty_out.

Members:
       lib/ChangeLog:1.143->1.144
       lib/command.c:1.38->1.39
       lib/vty.c:1.37->1.38

---------------------
PatchSet 1101
Date: 2005/03/08 15:56:42
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-03-08 Paul Jakma <[email protected]>

       * command.c: (cmd_describe_command_real) sign compile warning fix
         (cmd_complete_command_real) ditto.
         (config_list_cmd) Don't list hidden or deprecated commands,
         hiding these from tab completion is still to be done.
       * command.h: cmd attr enum should start at 1.

Members:
       lib/ChangeLog:1.144->1.145
       lib/command.c:1.39->1.40
       lib/command.h:1.17->1.18

---------------------
PatchSet 1102
Date: 2005/03/08 16:00:12
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-03-08 Paul Jakma <[email protected]>

       * command.c: (no_banner_motd_cmd) use XFREE.
       * vty.c: (vty_hello) fix the indentation and comment.

Members:
       lib/ChangeLog:1.145->1.146
       lib/command.c:1.40->1.41
       lib/vty.c:1.38->1.39

---------------------
PatchSet 1103
Date: 2005/03/09 12:41:14
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * vtysh_config.c: Move password commands to the AAA_NODE. It
         quarantees that they will appear after SERVICE_NODE to make sure
         that encrypted passwords will work ("service password-encryption"
         command).

       [backport candidate]

Members:
       vtysh/ChangeLog:1.35->1.36
       vtysh/vtysh_config.c:1.11->1.12

---------------------
PatchSet 1105
Date: 2005/03/09 13:39:26
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-03-09 Paul Jakma <[email protected]>

       * command.c: Undo commit of sign warning fix and hidden command
         in list_cmd. Sign warning is more subtle. list_cmd on its own
         will be committed after.

Members:
       lib/ChangeLog:1.146->1.147
       lib/command.c:1.41->1.42

---------------------
PatchSet 1106
Date: 2005/03/09 13:42:23
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-03-09 Paul Jakma <[email protected]>

       * command.c: (config_list_cmd) Don't list hidden or deprecated
         commands, hiding these from tab completion is still to be done.

Members:
       lib/ChangeLog:1.147->1.148
       lib/command.c:1.42->1.43

---------------------
PatchSet 1107
Date: 2005/03/12 06:33:14
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-03-12 Paul Jakma <[email protected]>

       * rt_netlink.c: (netlink_route_multipath) dont set equalise flag.
         No stock Linux kernel has ever supported it, and even if it had

Members:
       zebra/ChangeLog:1.72->1.73
       zebra/rt_netlink.c:1.30->1.31

---------------------
PatchSet 1108
Date: 2005/03/12 06:36:10
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-03-12 Paul Jakma <[email protected]>

       * configure.ac: Solaris 8 can use the newer lifreq based methods
         too, allows IPv6.

Members:
       ChangeLog:1.100->1.101
       configure.ac:1.89->1.90

---------------------
PatchSet 1110
Date: 2005/03/13 19:17:21
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * zebra/interaface.c: "show interface description" command
         implemented.

Members:
       zebra/ChangeLog:1.73->1.74
       zebra/interface.c:1.22->1.23

---------------------
PatchSet 1111
Date: 2005/03/13 19:27:22
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-03-13 Andrew J. Schorr <[email protected]>

       * 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.

       [backport candidate]

Members:
       ospfd/ChangeLog:1.105->1.106
       ospfd/ospf_lsa.c:1.33->1.34

---------------------
PatchSet 1114
Date: 2005/03/14 17:35:52
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-03-14 Paul Jakma <[email protected]>

       * command.c: (sort_node) use vector_max instead of referencing
         (struct vector *)->max directly. Test that vector_max is > 0
         before using it to calculate an index.
         Fixup vector loop to make main body conditional on vector slot
         not being empty.
         (cmd_cmdsize) Fixup vector loop to make main body conditional on
         vector slot not being empty.
         (cmd_filter_by_completion) ditto
         (cmd_filter_by_string) ditto
         (is_cmd_ambiguous) ditto
         (cmd_describe_command_real) Change index integers to unsigned.
         Test that vector_max is > 0 before using it to calculate an index.
         Return immediately with CMD_ERR_NO_MATCH if vline has no
         active slots.
         Fixup vector loop to make main body conditional on vector slot
         not being empty.
         (cmd_complete_command_real) ditto.
         (cmd_execute_command_strict) Fixup vector loop to be conditional
         on non-null slot.

Members:
       lib/ChangeLog:1.148->1.149
       lib/command.c:1.43->1.44

---------------------
PatchSet 1115
Date: 2005/03/14 17:41:45
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-03-14 Paul Jakma <[email protected]>

       * command.c: (various) Fix indentation and other whitespace.

Members:
       lib/ChangeLog:1.149->1.150
       lib/command.c:1.44->1.45

---------------------
PatchSet 1116
Date: 2005/03/14 20:19:01
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-03-14 Paul Jakma <[email protected]>

       * (global) update all c files to match the lib/vector.h rename of
         (struct vector).active to max, and vector_max macro to
         vector_active.
       * lib/vector.h: Rename to (struct vector).max to slightly less
         confusing active, for the number of active slots, distinct from
         allocated or active-and-not-empty. Rename vector_max to
         vector_active for same reason.

Members:
       ChangeLog:1.101->1.102
       lib/ChangeLog:1.150->1.151
       lib/command.c:1.45->1.46
       lib/routemap.c:1.8->1.9
       lib/vector.c:1.1->1.2
       lib/vector.h:1.1->1.2
       lib/vty.c:1.39->1.40
       ospf6d/ospf6_lsa.c:1.14->1.15
       ripd/rip_interface.c:1.24->1.25
       ripngd/ripng_interface.c:1.15->1.16
       vtysh/vtysh.c:1.42->1.43
       vtysh/vtysh_config.c:1.12->1.13
       zebra/zebra_rib.c:1.18->1.19

---------------------
PatchSet 1117
Date: 2005/03/16 16:13:06
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-03-16 Andrew J. Schorr <[email protected]>

       * zebra.h: Must check whether __attribute__ should be defined before
         including zassert.h.

       [backport candidate]

Members:
       lib/ChangeLog:1.151->1.152
       lib/zebra.h:1.30->1.31

---------------------
PatchSet 1118
Date: 2005/03/21 10:28:14
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * bgp_route.c: Don't crash while clearing route tables if there is
         no particular afi/safi configured.

       [backport candidate]

Members:
       bgpd/ChangeLog:1.49->1.50
       bgpd/bgp_route.c:1.28->1.29

---------------------
PatchSet 1120
Date: 2005/03/25 13:05:47
Author: vincent
Branch: HEAD
Tag: (none)
Log:
2005-03-25 Jean-Mickael Guerin <[email protected]>
       * Extensions to Neighbor Discovery for Mobile IPv6

Members:
       ChangeLog:1.102->1.103
       configure.ac:1.90->1.91
       doc/ChangeLog:1.33->1.34
       doc/ipv6.texi:1.5->1.6

---------------------
PatchSet 1121
Date: 2005/03/25 13:08:53
Author: vincent
Branch: HEAD
Tag: (none)
Log:
2005-03-25 Jean-Mickael Guerin <[email protected]>
       * interface.c, interface.h, rtadv.c, rtadv.h: extensions to Neighbor
         discovery for Mobile IPv6.

Members:
       zebra/ChangeLog:1.74->1.75
       zebra/interface.c:1.23->1.24
       zebra/interface.h:1.6->1.7
       zebra/rtadv.c:1.18->1.19
       zebra/rtadv.h:1.1->1.2

---------------------
PatchSet 1123
Date: 2005/03/25 19:48:40
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * ospfd.h: Include log.h, fixes compile with gcc-4.0.

       [backport candidate]

Members:
       ospfd/ChangeLog:1.106->1.107
       ospfd/ospfd.h:1.12->1.13

---------------------
PatchSet 1125
Date: 2005/03/26 14:07:31
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * doc/defines.texi.in, lib/version.h.in: Update copyright string to
         include year 2005.

Members:
       ChangeLog:1.103->1.104
       doc/defines.texi.in:1.1->1.2

---------------------
PatchSet 1126
Date: 2005/03/26 14:13:40
Author: hasso
Branch: HEAD
Tag: (none)
Log:
Trying to finish previous commit ...

Members:
       lib/version.h.in:1.6->1.7

---------------------
PatchSet 1128
Date: 2005/03/27 14:07:23
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * configure.ac: Add Intel compiler (icc) support. Although Intel
         tries really hard to make icc look like gcc, there are some
         differences. It's very verbose with -Wall and it doesn't support
         the individual -W options. We are going to ignore some of these
         warnings.

Members:
       ChangeLog:1.104->1.105
       configure.ac:1.91->1.92

---------------------
PatchSet 1129
Date: 2005/03/27 14:32:25
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * ospf_snmp.c: Don't crash in snmp query if ospf instance doesn't
         exist at all.

       [backport candidate]

Members:
       ospfd/ChangeLog:1.107->1.108
       ospfd/ospf_snmp.c:1.11->1.12

---------------------
PatchSet 1132
Date: 2005/03/27 22:00:35
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * configure.ac: Fix most of "Presents But Cannot Compiled" warnings
         about various headers. CFLAGS is not correct place to specify
         includes, INCLUDES is for that.

Members:
       ChangeLog:1.105->1.106
       configure.ac:1.92->1.93

---------------------
PatchSet 1133
Date: 2005/03/28 16:29:07
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * configure.ac, */Makefile.am: Fix previous commit. SNMP includes
         must be after lib/ includes in some systems. Introduce SNMP_INCLUDES
         for that.

Members:
       ChangeLog:1.106->1.107
       configure.ac:1.93->1.94
       bgpd/Makefile.am:1.6->1.7
       isisd/Makefile.am:1.5->1.6
       lib/Makefile.am:1.17->1.18
       ospf6d/Makefile.am:1.10->1.11
       ospfd/Makefile.am:1.12->1.13
       ripd/Makefile.am:1.6->1.7
       ripngd/Makefile.am:1.9->1.10
       zebra/Makefile.am:1.10->1.11

---------------------
PatchSet 1134
Date: 2005/03/28 16:38:16
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * extract.pl.in: Use SNMP_INCLUDES to avoid warnings if compiling with
         snmp support.

Members:
       vtysh/ChangeLog:1.36->1.37
       vtysh/extract.pl.in:1.5->1.6

---------------------
PatchSet 1135
Date: 2005/03/29 17:08:16
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-03-29 Andrew J. Schorr <[email protected]>

       * 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.

Members:
       ospfd/ChangeLog:1.108->1.109
       ospfd/ospf_vty.c:1.29->1.30

---------------------
PatchSet 1136
Date: 2005/03/29 17:13:49
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-03-29 Andrew J. Schorr <[email protected]>

       * 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.

Members:
       ospfd/ChangeLog:1.109->1.110
       ospfd/ospf_packet.c:1.72->1.73

---------------------
PatchSet 1137
Date: 2005/03/29 18:03:49
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-03-29 Andrew J. Schorr <[email protected]>

       * rt_netlink.c: (netlink_link_change) If the status of an
         operative interface changes (e.g. MTU changes), the client
         daemons should be notified by calling zebra_interface_up_update.
         Previously, the information was being updated in zebra's
         interface structure, but the clients were not notified of
         changes to an operative interface.
       * 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.

Members:
       ospfd/ChangeLog:1.110->1.111
       ospfd/ospf_interface.c:1.30->1.31
       ospfd/ospf_interface.h:1.8->1.9
       ospfd/ospf_zebra.c:1.26->1.27
       zebra/ChangeLog:1.75->1.76
       zebra/rt_netlink.c:1.31->1.32

---------------------
PatchSet 1139
Date: 2005/03/30 17:33:13
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-03-30 Andrew J. Schorr <[email protected]>

       * irdp.h: Add prototype for irdp_sock_init, and fix protos for
         other irdp_* functions.
       * irdp_interface.c: (irdp_if_start) If irdp_sock is negative,
         call irdp_sock_init to create the IRDP socket.
         (irdp_if_init) Rename to irdp_init().
         (get_iflist_ifp) Remove function that is a duplicate of
         if_lookup_by_index.
         (*) Make many functions static.  And remove superfluous "\n" from
         several zlog messages.
       * irdp_main.c: (irdp_init) Remove function that used to call
         irdp_if_init() and irdp_sock_init(), since we will now create
         the socket only upon first use.
         (irdp_sock_init) Do not update global irdp_sock variable, just
         return the fd and assume that the caller will do so.  If setsockopt
         calls fail, close the socket before returning -1.
         (*) Make many functions static.
       * irdp_packet.c: Initialize irdp_sock to -1.
         (irdp_read_raw) Call standard library function if_lookup_by_index
         instead of get_iflist_ifp.
         (irdp_recvmsg) Should be static, not global.

Members:
       zebra/ChangeLog:1.76->1.77
       zebra/irdp.h:1.3->1.4
       zebra/irdp_interface.c:1.10->1.11
       zebra/irdp_main.c:1.11->1.12
       zebra/irdp_packet.c:1.9->1.10

---------------------
PatchSet 1140
Date: 2005/03/31 16:18:21
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-03-31 Andrew J. Schorr <[email protected]>

       * ospf_dump.c: (show_debugging_ospf) Show if ospf event debugging
         is turned on.

         [backport candidate]

Members:
       ospfd/ChangeLog:1.111->1.112
       ospfd/ospf_dump.c:1.16->1.17

---------------------
PatchSet 1141
Date: 2005/03/31 21:13:49
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * rt_netlink.c (netlink_talk_filter): Show always warning message,
         it's not for debug.
       * rt_netlink.c (netlink_talk): Don't assume we use netlink_cmd
         although we do now actually.
       * rt_netlink.c (netlink_route, netlink_route_multipath): Always use
         netlink_cmd to send messages to the kernel.

       [backport candidate]

Members:
       zebra/ChangeLog:1.77->1.78
       zebra/rt_netlink.c:1.32->1.33

---------------------
PatchSet 1145
Date: 2005/04/02 11:18:42
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-02 Paul Jakma <[email protected]>

       * fig{-{normal,rs}-processing,_topologies_{rs,full}}.dia: new
         files, dia diagramme XML versions of the original corresponding
         EPS encapsulated bitmaps.
       * fig{-{normal,rs}-processing,_topologies_{rs,full}}.png: new
         files, png exports by dia of the source dia diagrammes above.
       * fig{-{normal,rs}-processing,_topologies_{rs,full}}.eps: removed,
         replaced by above dia source.
       * routeserver.texi: remove extension in image macros.
       * quagga.info: updated build
       * Makefile.am: Add rules to build eps (using 'convert'), png (using
         dia). Add figures_BUILT_SOURCES to extra_dist to avoid the
         dependency on dia :) (amongst other things) for dist users.

Members:
       doc/ChangeLog:1.34->1.35
       doc/Makefile.am:1.9->1.10
       doc/fig-normal-processing.dia:INITIAL->1.1
       doc/fig-normal-processing.eps:1.1->1.2(DEAD)
       doc/fig-normal-processing.png:INITIAL->1.1
       doc/fig-rs-processing.dia:INITIAL->1.1
       doc/fig-rs-processing.eps:1.1->1.2(DEAD)
       doc/fig-rs-processing.png:INITIAL->1.1
       doc/fig_topologies_full.dia:INITIAL->1.1
       doc/fig_topologies_full.eps:1.1->1.2(DEAD)
       doc/fig_topologies_full.png:INITIAL->1.1
       doc/fig_topologies_rs.dia:INITIAL->1.1
       doc/fig_topologies_rs.eps:1.1->1.2(DEAD)
       doc/fig_topologies_rs.png:INITIAL->1.1
       doc/quagga.info:1.8->1.9
       doc/routeserver.texi:1.2->1.3

---------------------
PatchSet 1146
Date: 2005/04/02 13:13:59
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-02 Paul Jakma <[email protected]>

       * Makefile.am: quagga_TEXINFOS should depend on figures_BUILT_SOURCES.

Members:
       doc/ChangeLog:1.35->1.36
       doc/Makefile.am:1.10->1.11

---------------------
PatchSet 1147
Date: 2005/04/02 17:01:05
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-02 Andrew J. Schorr <[email protected]>

       * configure.ac: Add strnlen to AC_CHECK_FUNCS.
       * zebra.h: Should include str.h to pick up missing functions.
       * str.h: Declare strnlen if needed.
       * str.c: Do not include str.h since zebra.h now includes it.
         (strnlen) New function.

Members:
       ChangeLog:1.107->1.108
       configure.ac:1.94->1.95
       lib/ChangeLog:1.152->1.153
       lib/str.c:1.1->1.2
       lib/str.h:1.1->1.2
       lib/zebra.h:1.31->1.32

---------------------
PatchSet 1148
Date: 2005/04/02 17:37:07
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-02 Andrew J. Schorr <[email protected]>

       * ospf6_route.c: (ospf6_route_show, ospf6_route_show_detail) Protect
         against the possibility that the string returned by if_indextoname
         may not terminate with '\0'.

Members:
       ospf6d/ChangeLog:1.37->1.38
       ospf6d/ospf6_route.c:1.11->1.12

---------------------
PatchSet 1149
Date: 2005/04/02 18:13:33
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-02 Paul Jakma <[email protected]>

       * INSTALL.quagga.txt: Add note about additional CVS build
         requirements, if one wishes to build ps/pdf docs.

Members:
       ChangeLog:1.108->1.109
       INSTALL.quagga.txt:1.8->1.9

---------------------
PatchSet 1150
Date: 2005/04/02 18:24:43
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-02 Paul Jakma <[email protected]>

       * .cvsignore: ignore eps files, built from sources

Members:
       doc/.cvsignore:1.12->1.13
       doc/ChangeLog:1.36->1.37

---------------------
PatchSet 1151
Date: 2005/04/02 19:38:43
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-02 Andrew J. Schorr <[email protected]>

       Fix problems when netlink interfaces are renamed (same ifindex used
       for a new interface).  Start cleaning up some problems with the way
       interface names are handled.
       * interface.c: (if_new_intern_ifindex) Remove obsolete function.
         (if_delete_update) After distributing the interface deletion message,
         set ifp->ifindex to IFINDEX_INTERNAL.
         (if_dump_vty) Detect pseudo interface by checking if ifp->ifindex is
         IFINDEX_INTERNAL.
         (zebra_interface) Check return code from interface_cmd.func.
         Do not set internal ifindex values to if_new_intern_ifindex(),
         since we now use IFINDEX_INTERNAL for all pseudo interfaces.
       * kernel_socket.c: (ifm_read) Fix code and comments to reflect that
         all internal interfaces now have ifp->ifindex set to IFINDEX_INTERNAL.
       * rt_netlink.c: (set_ifindex) New function used to update ifp->ifindex.
         Detects interface rename events by checking if that ifindex is already
         being used.  If it is, delete the old interface before assigning
         the ifindex to the new interface.
         (netlink_interface, netlink_link_change) Call set_ifindex to update
         the ifindex.
       * if.h: Remove define for IFINDEX_INTERNBASE and add define
         IFINDEX_INTERNAL 0, since all internal (i.e. non-kernel) pseudo-
         interfaces should have ifindex set to 0.
         (if_new) Remove function.
         (if_delete_retain) New function to delete an interface without
         removing from iflist and freeing the structure.
         (ifname2ifindex) New function.
       * if.c: (if_new) Remove function (absorb into if_create).
         (if_create) Replace function if_new with call to calloc.
         Set ifp->ifindex to IFINDEX_INTERNAL.  Fix off-by-one error
         in assert to check length of interface name.  Add error message
         if interface with this name already exists.
         (if_delete_retain) New function to delete an interface without
         removing from iflist and freeing the structure.
         (if_delete) Implement with help of if_delete_retain.
         (ifindex2ifname) Reimplement using if_lookup_by_index.
         (ifname2ifindex) New function to complement ifindex2ifname.
         (interface) The interface command should check the name length
         and fail with a warning message if it is too long.
         (no_interface) Fix spelling in warning message.
         (if_nametoindex) Reimplement using if_lookup_by_name.
         (if_indextoname, ifaddr_ipv4_lookup) Reimplement using
         if_lookup_by_index.
       * bgp_zebra.c: (bgp_interface_delete) After deleting, set ifp->ifindex
         to IFINDEX_INTERNAL.
       * isis_zebra.c: (isis_zebra_if_del) Call if_delete_retain instead
         of if_delete, since it is generally not safe to remove interface
         structures.  After deleting, set ifp->ifindex to IFINDEX_INTERNAL.
         (zebra_interface_if_lookup) Tighten up code.
       * ospf6_zebra.c: (ospf6_zebra_if_del) Previously, this whole function
         was commented out.  But this is not safe: we should at least update
         the ifindex when the interface is deleted.  So the new version
         updates the interface status and sets ifp->ifindex to
         IFINDEX_INTERNAL.
         (ospf6_zebra_route_update) Use if_indextoname properly.
       * 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.
       * rip_interface.c: (rip_interface_delete) After deleting, set
         ifp->ifindex to IFINDEX_INTERNAL.
       * ripng_interface.c: (ripng_interface_delete) After deleting, set
         ifp->ifindex to IFINDEX_INTERNAL.

Members:
       bgpd/ChangeLog:1.50->1.51
       bgpd/bgp_zebra.c:1.7->1.8
       isisd/ChangeLog:1.38->1.39
       isisd/isis_zebra.c:1.13->1.14
       lib/ChangeLog:1.153->1.154
       lib/if.c:1.25->1.26
       lib/if.h:1.17->1.18
       ospf6d/ChangeLog:1.38->1.39
       ospf6d/ospf6_zebra.c:1.11->1.12
       ospfd/ChangeLog:1.112->1.113
       ospfd/ospf_vty.c:1.30->1.31
       ospfd/ospf_zebra.c:1.27->1.28
       ripd/ChangeLog:1.34->1.35
       ripd/rip_interface.c:1.25->1.26
       ripngd/ChangeLog:1.21->1.22
       ripngd/ripng_interface.c:1.16->1.17
       zebra/ChangeLog:1.78->1.79
       zebra/interface.c:1.24->1.25
       zebra/kernel_socket.c:1.21->1.22
       zebra/rt_netlink.c:1.33->1.34

---------------------
PatchSet 1152
Date: 2005/04/02 19:48:39
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-02 Andrew J. Schorr <[email protected]>

       * str.c: Replace strlcpy and strlcat with actual working versions
         copied from rsync-2.6.2/lib/compat.c.

Members:
       lib/ChangeLog:1.154->1.155
       lib/str.c:1.2->1.3

---------------------
PatchSet 1153
Date: 2005/04/02 19:53:00
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-02 Paul Jakma <[email protected]>

       * Makefile.am: Urg, dont use automake _SOURCES, _BUILT_SOURCES
         for figures, automake doesnt know anything about them.

Members:
       doc/ChangeLog:1.37->1.38
       doc/Makefile.am:1.11->1.12

---------------------
PatchSet 1154
Date: 2005/04/02 20:03:39
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * configure.ac: Add --enable-isis-topology to enable isisd topology
         generator code.
       * isisd/Makefile.am: Variables to handle conditonal compiling of
         topology generator code.
       * isisd/isis_lsp.c: lsppdu_realloc() is used by topology generator.
       * isisd/isisd.c: Rename show_isis_topology_cmd to not conflict the one
         in the isis_spf.c.
       * isisd/isisd.h: Remove TOPOLOGY_GENERATE define, it will be defined in
         toplevel config.h if topology generator is enabled.
       * isisd/topology/Makefile.am: Handle the libtoolized Quagga libraries.

Members:
       ChangeLog:1.109->1.110
       configure.ac:1.95->1.96
       isisd/ChangeLog:1.39->1.40
       isisd/Makefile.am:1.6->1.7
       isisd/isis_lsp.c:1.17->1.18
       isisd/isisd.c:1.12->1.13
       isisd/isisd.h:1.4->1.5
       isisd/topology/Makefile.am:1.1->1.2

---------------------
PatchSet 1155
Date: 2005/04/02 23:50:38
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-02 Andrew J. Schorr <[email protected]>

       * if.h: (if_lookup_by_name_len, if_get_by_name_len) New functions.
       * if.c: (if_lookup_by_name_len, if_get_by_name_len) New functions.
         (if_get_by_name) Tighten up code.
         (interface) Use new function if_get_by_name_len.
       * zclient.c: (zebra_interface_add_read) Use new if_get_by_name_len
         function.
         (zebra_interface_state_read) Use new if_lookup_by_name_len function.
       * kernel_socket.c: (ifm_read) Use new if_lookup_by_name_len function
         to save a memcpy.
       * if_ioctl_solaris.c: (interface_list_ioctl) Fix subtle bug with new
         if_get_by_name_len function.
       * ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create.

Members:
       lib/ChangeLog:1.155->1.156
       lib/if.c:1.26->1.27
       lib/if.h:1.18->1.19
       lib/zclient.c:1.15->1.16
       ospfd/ChangeLog:1.113->1.114
       ospfd/ospf_interface.c:1.31->1.32
       zebra/ChangeLog:1.79->1.80
       zebra/if_ioctl_solaris.c:1.6->1.7
       zebra/kernel_socket.c:1.22->1.23

---------------------
PatchSet 1156
Date: 2005/04/03 00:05:56
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-02 Andrew J. Schorr <[email protected]>

       * if.c: (if_nametoindex) The man page is rather vague, but it seems
         like the argument to if_nametoindex has an implicit maximum length
         of IFNAMSIZ characters.

Members:
       lib/ChangeLog:1.156->1.157
       lib/if.c:1.27->1.28

---------------------
PatchSet 1157
Date: 2005/04/03 00:09:52
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-02 Andrew J. Schorr <[email protected]>

       * isis_zebra.c: (isis_zebra_if_del) Must use if_lookup_by_name_len.

Members:
       isisd/ChangeLog:1.40->1.41
       isisd/isis_zebra.c:1.14->1.15

---------------------
PatchSet 1158
Date: 2005/04/03 00:16:41
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-02 Andrew J. Schorr <[email protected]>

       * ospf_zebra.c: (zebra_interface_if_lookup) Must use
         if_lookup_by_name_len.

Members:
       ospfd/ChangeLog:1.114->1.115
       ospfd/ospf_zebra.c:1.28->1.29

---------------------
PatchSet 1159
Date: 2005/04/03 00:23:55
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-02 Andrew J. Schorr <[email protected]>

       * ospf_interface.h: (ospf_if_lookup_by_name) Remove declaration of a
         function that does not exist.
       * ospf6_interface.[ch]: (ospf6_interface_lookup_by_name) Remove unused
         function.

Members:
       ospf6d/ChangeLog:1.39->1.40
       ospf6d/ospf6_interface.c:1.14->1.15
       ospf6d/ospf6_interface.h:1.5->1.6
       ospfd/ChangeLog:1.115->1.116
       ospfd/ospf_interface.h:1.9->1.10

---------------------
PatchSet 1160
Date: 2005/04/03 04:40:52
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-02 Andrew J. Schorr <[email protected]>

       * if_ioctl.c: (interface_list_ioctl) Use if_get_by_name_len.
       * if_proc.c: (ifaddr_proc_ipv6) Increase size of ifname buffer to
         avoid overflow.
       * kernel_socket.c: (ifan_read) Use if_get_by_name_len.
       * if.h: Fix comments to reflect that if_lookup_by_name and
         if_get_by_name now require the argument strings to be NUL-terminated.
       * if.c: (if_lookup_by_name) Compare using strcmp.
         (if_get_by_name) Pass strlen(ifname) as 2nd arg to if_create.

Members:
       lib/ChangeLog:1.157->1.158
       lib/if.c:1.28->1.29
       lib/if.h:1.19->1.20
       zebra/ChangeLog:1.80->1.81
       zebra/if_ioctl.c:1.5->1.6
       zebra/if_proc.c:1.4->1.5
       zebra/kernel_socket.c:1.23->1.24

---------------------
PatchSet 1161
Date: 2005/04/03 14:07:21
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * configure.ac: Use AC_RUN_IFELSE instead of obsolete AC_TRY_RUN macro
         and define action for cross-compiling.

       [backport candidate]

Members:
       ChangeLog:1.110->1.111
       configure.ac:1.96->1.97

---------------------
PatchSet 1162
Date: 2005/04/04 00:46:37
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * configure.ac: Fix AC_LANG_SOURCE usage. It needs double square
         brackets around source. Single ones broke square brackets in the
         code (arrays).

Members:
       ChangeLog:1.111->1.112
       configure.ac:1.97->1.98

---------------------
PatchSet 1163
Date: 2005/04/05 01:45:23
Author: paul
Branch: HEAD
Tag: (none)
Log:
2004-04-05 Paul Jakma <[email protected]>

       * lib/vty.c: Improve logging of failures to open vty socket(s).
         See bugid #163.
       * zebra/zserv.c: print more helpful errors when we fail to successfully
         bind and listen on zserv socket. Closes bugzilla #163.

Members:
       lib/ChangeLog:1.158->1.159
       lib/vty.c:1.40->1.41
       zebra/ChangeLog:1.81->1.82
       zebra/zserv.c:1.26->1.27

---------------------
PatchSet 1164
Date: 2005/04/05 09:04:18
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-05 Paul Jakma <[email protected]>

       * Makefile.am: Get rid of built_sources. It causes them to be added
         to dist, and the dist host can not generate the PDFs.

Members:
       doc/ChangeLog:1.38->1.39
       doc/Makefile.am:1.12->1.13

---------------------
PatchSet 1165
Date: 2005/04/05 11:10:06
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-05 Paul Jakma <[email protected]>

       * HACKING: remove the 'manually patch redhat/quagga.spec' bit
         from RELEASE section. Let the rpm revision be CONFDATE, will work
         fine.

Members:
       ChangeLog:1.112->1.113
       HACKING:1.16->1.17

---------------------
PatchSet 1166
Date: 2005/04/05 11:14:50
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-05 Paul Jakma <[email protected]>

       * HACKING: Expand on the importance of supplying good ChangeLog's in
         the PATCH SUBMISSION section.

Members:
       ChangeLog:1.113->1.114
       HACKING:1.17->1.18

---------------------
PatchSet 1167
Date: 2005/04/05 15:36:49
Author: hasso
Branch: HEAD
Tag: quagga_pre_listloop_cleanup
Log:
       * lib/prefix.[hc]: inet6_ntoa utility function copied from
         ripngd/ripngd.c (inet6_ntop).
       * ripngd.[hc]: Remove inet6_ntop() and any usage of it. inet6_ntoa()
         from lib is used now.
       * ripng_interface.c: inet6_ntop() -> inet6_ntoa().
       * ripng_peer.c: inet6_ntop() -> inet6_ntoa().

Members:
       lib/ChangeLog:1.159->1.160
       lib/prefix.c:1.5->1.6
       lib/prefix.h:1.4->1.5
       ripngd/ChangeLog:1.22->1.23
       ripngd/ripng_interface.c:1.17->1.18
       ripngd/ripng_peer.c:1.1->1.2
       ripngd/ripngd.c:1.16->1.17
       ripngd/ripngd.h:1.4->1.5

---------------------
PatchSet 1168
Date: 2005/04/07 08:30:20
Author: paul
Branch: HEAD
Tag: quagga_post_listloop_cleanup
Log:
2005-04-07 Paul Jakma <[email protected]>

       * (global): Fix up list loops to match changes in lib/linklist,
         and some basic auditing of usage.
       * configure.ac: define QUAGGA_NO_DEPRECATED_INTERFACES
       * HACKING: Add notes about deprecating interfaces and commands.
       * lib/linklist.h: Add usage comments.
         Rename getdata macro to listgetdata.
         Rename nextnode to listnextnode and fix its odd behaviour to be
         less dangerous.
         Make listgetdata macro assert node is not null, NULL list entries
         should be bug condition.
         ALL_LIST_ELEMENTS, new macro, forward-referencing macro for use
         with for loop, Suggested by Jim Carlson of Sun.
         Add ALL_LIST_ELEMENTS_RO for cases which obviously do not need the
         "safety" of previous macro.
         LISTNODE_ADD and DELETE macros renamed to ATTACH, DETACH, to
         distinguish from the similarly named functions, and reflect their
         effect better.
         Add a QUAGGA_NO_DEPRECATED_INTERFACES define guarded section
         with the old defines which were modified above,
         for backwards compatibility - guarded to prevent Quagga using it..
       * lib/linklist.c: fix up for linklist.h changes.
       * ospf6d/ospf6_abr.c: (ospf6_abr_examin_brouter) change to a single
         scan of the area list, rather than scanning all areas first for
         INTER_ROUTER and then again for INTER_NETWORK. According to
         16.2, the scan should be area specific anyway, and further
         ospf6d does not seem to implement 16.3 anyway.

Members:
       ChangeLog:1.114->1.115
       HACKING:1.18->1.19
       configure.ac:1.98->1.99
       bgpd/bgp_network.c:1.10->1.11
       bgpd/bgp_nexthop.c:1.11->1.12
       bgpd/bgp_packet.c:1.17->1.18
       bgpd/bgp_route.c:1.29->1.30
       bgpd/bgp_routemap.c:1.12->1.13
       bgpd/bgp_snmp.c:1.9->1.10
       bgpd/bgp_vty.c:1.20->1.21
       bgpd/bgp_zebra.c:1.8->1.9
       bgpd/bgpd.c:1.18->1.19
       isisd/isis_adjacency.c:1.9->1.10
       isisd/isis_circuit.c:1.17->1.18
       isisd/isis_dr.c:1.10->1.11
       isisd/isis_dynhn.c:1.4->1.5
       isisd/isis_events.c:1.10->1.11
       isisd/isis_flags.c:1.2->1.3
       isisd/isis_lsp.c:1.18->1.19
       isisd/isis_pdu.c:1.15->1.16
       isisd/isis_route.c:1.6->1.7
       isisd/isis_spf.c:1.13->1.14
       isisd/isis_tlv.c:1.12->1.13
       isisd/isis_zebra.c:1.15->1.16
       isisd/isisd.c:1.13->1.14
       lib/ChangeLog:1.160->1.161
       lib/if.c:1.29->1.30
       lib/keychain.c:1.4->1.5
       lib/linklist.c:1.8->1.9
       lib/linklist.h:1.5->1.6
       lib/smux.c:1.14->1.15
       ospf6d/ChangeLog:1.40->1.41
       ospf6d/ospf6_abr.c:1.12->1.13
       ospf6d/ospf6_area.c:1.9->1.10
       ospf6d/ospf6_asbr.c:1.16->1.17
       ospf6d/ospf6_flood.c:1.10->1.11
       ospf6d/ospf6_interface.c:1.15->1.16
       ospf6d/ospf6_intra.c:1.11->1.12
       ospf6d/ospf6_message.c:1.12->1.13
       ospf6d/ospf6_neighbor.c:1.10->1.11
       ospf6d/ospf6_snmp.c:1.6->1.7
       ospf6d/ospf6_spf.c:1.10->1.11
       ospf6d/ospf6_top.c:1.13->1.14
       ospf6d/ospf6d.c:1.17->1.18
       ospf6d/ospf6d.h:1.14->1.15
       ospfd/ospf_abr.c:1.13->1.14
       ospfd/ospf_apiserver.c:1.17->1.18
       ospfd/ospf_ase.c:1.10->1.11
       ospfd/ospf_flood.c:1.13->1.14
       ospfd/ospf_ia.c:1.6->1.7
       ospfd/ospf_interface.c:1.32->1.33
       ospfd/ospf_ism.c:1.7->1.8
       ospfd/ospf_lsa.c:1.34->1.35
       ospfd/ospf_neighbor.c:1.6->1.7
       ospfd/ospf_opaque.c:1.13->1.14
       ospfd/ospf_packet.c:1.73->1.74
       ospfd/ospf_route.c:1.11->1.12
       ospfd/ospf_snmp.c:1.12->1.13
       ospfd/ospf_spf.c:1.16->1.17
       ospfd/ospf_te.c:1.9->1.10
       ospfd/ospf_vty.c:1.31->1.32
       ospfd/ospf_zebra.c:1.29->1.30
       ospfd/ospfd.c:1.29->1.30
       ripd/rip_interface.c:1.26->1.27
       ripd/rip_offset.c:1.2->1.3
       ripd/rip_peer.c:1.1->1.2
       ripd/ripd.c:1.41->1.42
       ripngd/ripng_interface.c:1.18->1.19
       ripngd/ripng_nexthop.c:1.4->1.5
       ripngd/ripng_offset.c:1.2->1.3
       ripngd/ripng_peer.c:1.2->1.3
       ripngd/ripngd.c:1.17->1.18
       vtysh/vtysh_config.c:1.13->1.14
       vtysh/vtysh_user.c:1.5->1.6
       zebra/connected.c:1.12->1.13
       zebra/if_ioctl.c:1.6->1.7
       zebra/if_ioctl_solaris.c:1.7->1.8
       zebra/interface.c:1.25->1.26
       zebra/irdp_interface.c:1.11->1.12
       zebra/irdp_main.c:1.12->1.13
       zebra/redistribute.c:1.8->1.9
       zebra/router-id.c:1.1->1.2
       zebra/rtadv.c:1.19->1.20
       zebra/zserv.c:1.27->1.28

---------------------
PatchSet 1169
Date: 2005/04/07 18:07:39
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * Makefile.am: Remove rebuild4 target, it's not used any more by build
         procedure. Define vtysh_cmd_FILES. Use EXTRA_DIST.

Members:
       vtysh/ChangeLog:1.37->1.38
       vtysh/Makefile.am:1.18->1.19

---------------------
PatchSet 1170
Date: 2005/04/07 19:42:09
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * extract.pl.in: Ignore "router zebra".

Members:
       vtysh/ChangeLog:1.38->1.39
       vtysh/extract.pl.in:1.6->1.7

---------------------
PatchSet 1171
Date: 2005/04/08 02:30:51
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * prefix.[hc]: Pass argument to the inet6_ntoa by value making it more
         inet_ntoa alike.
       * ripngd.[hc], ripng_interface.c, ripng_peer.c: inet6_ntoa() takes
         argument now by value.

Members:
       lib/ChangeLog:1.161->1.162
       lib/prefix.c:1.6->1.7
       lib/prefix.h:1.5->1.6
       ripngd/ChangeLog:1.23->1.24
       ripngd/ripng_interface.c:1.19->1.20
       ripngd/ripng_peer.c:1.3->1.4
       ripngd/ripngd.c:1.18->1.19

---------------------
PatchSet 1172
Date: 2005/04/08 15:20:18
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * routemap.[ch]: Added "description ..." command.
         Closes Bugzilla #167.

Members:
       lib/ChangeLog:1.162->1.163
       lib/routemap.c:1.9->1.10
       lib/routemap.h:1.5->1.6

---------------------
PatchSet 1173
Date: 2005/04/08 16:40:36
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * bgpd.texi: Document new "bgp bestpath as-path confed" command.
       * bgp_aspath.[ch], bgp_route.c, bgp_vty.c, bgpd.[ch]: Allow to enable
         the length of confederation path segments to be included during the
         as-path length check in the best path decision.

Members:
       bgpd/ChangeLog:1.51->1.52
       bgpd/bgp_aspath.c:1.4->1.5
       bgpd/bgp_aspath.h:1.2->1.3
       bgpd/bgp_route.c:1.30->1.31
       bgpd/bgp_vty.c:1.21->1.22
       bgpd/bgpd.c:1.19->1.20
       bgpd/bgpd.h:1.19->1.20
       doc/ChangeLog:1.39->1.40
       doc/bgpd.texi:1.4->1.5

---------------------
PatchSet 1174
Date: 2005/04/08 17:42:03
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-08 Andrew J. Schorr <[email protected]>

       * 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>.

Members:
       lib/ChangeLog:1.163->1.164
       lib/zebra.h:1.32->1.33

---------------------
PatchSet 1175
Date: 2005/04/08 19:50:40
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-08 Andrew J. Schorr <[email protected]>

       * 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.

Members:
       lib/ChangeLog:1.164->1.165
       lib/vty.c:1.41->1.42

---------------------
PatchSet 1176
Date: 2005/04/08 20:02:04
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-08 Andrew J. Schorr <[email protected]>

       * sigevent.c: On GNU_LINUX, check whether __USE_GNU is already defined.

Members:
       lib/ChangeLog:1.165->1.166
       lib/sigevent.c:1.7->1.8

---------------------
PatchSet 1177
Date: 2005/04/09 14:07:47
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * bgp_vty.c: Make "exit-address-family" work in IPv4 unicast address
         family node.

       [backport candidate]

Members:
       bgpd/ChangeLog:1.52->1.53
       bgpd/bgp_vty.c:1.22->1.23

---------------------
PatchSet 1178
Date: 2005/04/09 14:27:50
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * routemap.c: Show description in "show route-map" output.

Members:
       lib/ChangeLog:1.166->1.167
       lib/routemap.c:1.10->1.11

---------------------
PatchSet 1179
Date: 2005/04/09 17:38:51
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * rt_netlink.c (netlink_parse_info): Fix warning. It's safe to cast
         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.

Members:
       zebra/ChangeLog:1.82->1.83
       zebra/rt_netlink.c:1.34->1.35

---------------------
PatchSet 1180
Date: 2005/04/09 17:59:28
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * rt_netlink.c: One tiny missing comma caused pointless debug messages
         about IPv6 nexthops.

Members:
       zebra/ChangeLog:1.83->1.84
       zebra/rt_netlink.c:1.35->1.36

---------------------
PatchSet 1181
Date: 2005/04/10 16:01:56
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-10 Andrew J. Schorr <[email protected]>

       * 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.

Members:
       zebra/ChangeLog:1.84->1.85
       zebra/zserv.c:1.28->1.29

---------------------
PatchSet 1182
Date: 2005/04/10 16:58:10
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-10 Paul Jakma <[email protected]>

       * 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

Members:
       isisd/ChangeLog:1.41->1.42
       isisd/Makefile.am:1.7->1.8
       isisd/isis_lsp.c:1.19->1.20
       isisd/isisd.c:1.14->1.15
       isisd/topology/Makefile.am:1.2->1.3

---------------------
PatchSet 1183
Date: 2005/04/10 17:31:51
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-10 Paul Jakma <[email protected]>

       * configure.ac: Fix host string recognition for Solaris Nevada aka
         solaris2.10.1, and hopefully future such strings.

Members:
       ChangeLog:1.115->1.116
       configure.ac:1.99->1.100

---------------------
PatchSet 1184
Date: 2005/04/10 17:43:40
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-10 Paul Jakma <[email protected]>

       * quagga.info: Update to match bgpd.texi addition

Members:
       doc/ChangeLog:1.40->1.41
       doc/quagga.info:1.9->1.10

---------------------
PatchSet 1185
Date: 2005/04/10 17:54:26
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-10 Paul Jakma <[email protected]>

       * if_ioctl_solaris.c: (if_lookup_linklocal) fix order of args
         in ALL_LIST_ELEMENTS_RO macro.

Members:
       zebra/ChangeLog:1.85->1.86
       zebra/if_ioctl_solaris.c:1.8->1.9

---------------------
PatchSet 1186
Date: 2005/04/11 08:05:21
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-11 Paul Jakma <[email protected]>

       * (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...

Members:
       solaris/.cvsignore:INITIAL->1.1
       solaris/ChangeLog:INITIAL->1.1
       solaris/Makefile.am:INITIAL->1.1
       solaris/bgpd.xml.in:INITIAL->1.1
       solaris/depend.daemons:INITIAL->1.1
       solaris/depend.dev:INITIAL->1.1
       solaris/depend.doc:INITIAL->1.1
       solaris/depend.libs:INITIAL->1.1
       solaris/ospf6d.xml.in:INITIAL->1.1
       solaris/ospfd.xml.in:INITIAL->1.1
       solaris/pkginfo.daemons.tmpl.in:INITIAL->1.1
       solaris/pkginfo.dev.tmpl.in:INITIAL->1.1
       solaris/pkginfo.doc.tmpl.in:INITIAL->1.1
       solaris/pkginfo.libs.tmpl.in:INITIAL->1.1
       solaris/pkginfo.tmpl.in:INITIAL->1.1
       solaris/prototype.daemons.in:INITIAL->1.1
       solaris/prototype.dev.in:INITIAL->1.1
       solaris/prototype.doc.in:INITIAL->1.1
       solaris/prototype.libs.in:INITIAL->1.1
       solaris/quagga.init.in:INITIAL->1.1
       solaris/ripd.xml.in:INITIAL->1.1
       solaris/ripngd.xml.in:INITIAL->1.1
       solaris/zebra.xml.in:INITIAL->1.1

---------------------
PatchSet 1187
Date: 2005/04/11 08:10:47
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-11 Paul Jakma <[email protected]>

       * 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.

Members:
       ChangeLog:1.116->1.117
       Makefile.am:1.19->1.20
       configure.ac:1.100->1.101

---------------------
PatchSet 1188
Date: 2005/04/11 08:58:35
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-11 Paul Jakma <[email protected]>

       * Makefile.am: README.txt to EXTRA_DIST
       * README.txt: new file, package creation, install, usage notes.

Members:
       solaris/ChangeLog:1.1->1.2
       solaris/Makefile.am:1.1->1.2
       solaris/README.txt:INITIAL->1.1

---------------------
PatchSet 1189
Date: 2005/04/11 15:55:55
Author: ajs
Branch: HEAD
Tag: nonblocking_zclient_before
Log:
2005-04-11 Andrew J. Schorr <[email protected]>

       * configure.ac: Move AC_CANONICAL_* stuff before AM_INIT_AUTOMAKE to
         eliminate warning message about AC_ARG_PROGRAM being called
         before AC_CANONICAL_TARGET.

Members:
       ChangeLog:1.117->1.118
       configure.ac:1.101->1.102

---------------------
PatchSet 1190
Date: 2005/04/11 16:51:40
Author: ajs
Branch: HEAD
Tag: nonblocking_zclient_after
Log:
2005-04-11 Andrew J. Schorr <[email protected]>

       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.

Members:
       bgpd/ChangeLog:1.53->1.54
       bgpd/bgp_zebra.c:1.9->1.10
       isisd/ChangeLog:1.42->1.43
       isisd/isis_zebra.c:1.16->1.17
       isisd/isis_zebra.h:1.2->1.3
       lib/ChangeLog:1.167->1.168
       lib/zclient.c:1.16->1.17
       lib/zclient.h:1.4->1.5
       ospf6d/ChangeLog:1.41->1.42
       ospf6d/ospf6_zebra.c:1.12->1.13
       ospfd/ChangeLog:1.116->1.117
       ospfd/ospf_zebra.c:1.30->1.31
       ripd/ChangeLog:1.35->1.36
       ripd/rip_zebra.c:1.6->1.7
       ripngd/ChangeLog:1.24->1.25
       ripngd/ripng_zebra.c:1.6->1.7

---------------------
PatchSet 1191
Date: 2005/04/11 21:22:09
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-11 Paul Jakma <[email protected]>

       * .cvsignore: Add built files

Members:
       solaris/.cvsignore:1.1->1.2
       solaris/ChangeLog:1.2->1.3

---------------------
PatchSet 1192
Date: 2005/04/12 15:48:19
Author: hasso
Branch: HEAD
Tag: (none)
Log:
       * isis_adjacency.c: Fix typo introduced with listloop cleanup.

Members:
       isisd/ChangeLog:1.43->1.44
       isisd/isis_adjacency.c:1.10->1.11

---------------------
PatchSet 1193
Date: 2005/04/13 04:31:35
Author: paul
Branch: HEAD
Tag: (none)
Log:
2004-05-13 Paul Jakma <[email protected]>

       * test-buffer.c: Andrew's buffer tester
       * test-memory.c: basic memory tester
       * Makefile.am: Add new tests

Members:
       tests/.cvsignore:1.4->1.5
       tests/Makefile.am:1.1->1.2
       tests/test-buffer.c:INITIAL->1.1
       tests/test-memory.c:INITIAL->1.1

---------------------
PatchSet 1194
Date: 2005/04/13 04:32:23
Author: paul
Branch: HEAD
Tag: (none)
Log:
- add changelog

Members:
       tests/ChangeLog:INITIAL->1.1

---------------------
PatchSet 1195
Date: 2005/04/13 04:37:23
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-13 Paul Jakma <[email protected]>

       * Makefile.am: {i,r}.manifest are (or will be) system provided files
         and not in CVS, hence dont depend on them or distribute them.

Members:
       solaris/ChangeLog:1.3->1.4
       solaris/Makefile.am:1.2->1.3

---------------------
PatchSet 1196
Date: 2005/04/15 12:47:15
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-15 Paul Jakma <[email protected]>

       * 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.

Members:
       lib/ChangeLog:1.168->1.169
       lib/Makefile.am:1.18->1.19
       lib/memory.c:1.11->1.12
       lib/memory.h:1.9->1.10
       lib/memtypes.awk:INITIAL->1.1
       lib/memtypes.c:INITIAL->1.1

---------------------
PatchSet 1197
Date: 2005/04/15 13:10:17
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-15 Zhipeng Gong <[email protected]>

       * 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).

Members:
       ospfd/ChangeLog:1.117->1.118
       ospfd/ospf_abr.c:1.14->1.15

---------------------
PatchSet 1198
Date: 2005/04/15 23:12:51
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-15 Paul Jakma <[email protected]>

       * topology/Makefile.am: random.c is a source of libtopology, so list
         it.

Members:
       isisd/ChangeLog:1.44->1.45
       isisd/topology/Makefile.am:1.3->1.4

---------------------
PatchSet 1199
Date: 2005/04/15 23:18:37
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-15 Paul Jakma <[email protected]>

       * Makefile.am: memtypes.awk is gawk dependent, use the GAWK automake
         var.
       * memtypes.h: New file, auto-generated, checked in for convenience.

Members:
       lib/ChangeLog:1.169->1.170
       lib/Makefile.am:1.19->1.20
       lib/memtypes.h:INITIAL->1.1

---------------------
PatchSet 1200
Date: 2005/04/16 16:38:23
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-16 Paul Jakma <[email protected]>

       * configure.ac: check for gawk, needed to build memtypes.h

Members:
       ChangeLog:1.118->1.119
       configure.ac:1.102->1.103

---------------------
PatchSet 1201
Date: 2005/04/16 16:51:05
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-16 Paul Jakma <[email protected]>

       * 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.

Members:
       lib/ChangeLog:1.170->1.171
       lib/memtypes.awk:1.1->1.2
       lib/memtypes.c:1.1->1.2

---------------------
PatchSet 1202
Date: 2005/04/16 18:11:24
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-16 Andrew J. Schorr <[email protected]>

       * 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.

Members:
       ChangeLog:1.119->1.120
       configure.ac:1.103->1.104
       lib/ChangeLog:1.171->1.172
       lib/thread.c:1.13->1.14
       lib/thread.h:1.4->1.5
       lib/vty.c:1.42->1.43

---------------------
PatchSet 1203
Date: 2005/04/19 22:28:36
Author: paul
Branch: HEAD
Tag: (none)
Log:
2004-05-19 Paul Jakma <[email protected]>

       * heavy.c: test programme to show how long-running functions
         kill responsiveness. Demonstrating the most niggly problem
         left in bgpd.

Members:
       tests/ChangeLog:1.1->1.2
       tests/heavy.c:INITIAL->1.1

---------------------
PatchSet 1204
Date: 2005/04/20 10:08:27
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-20 Paul Jakma <[email protected]>

       * Makefile.am: Add @INCLUDES@ and srcdir to allow out-of-tree
         builds to work.

Members:
       ospfclient/ChangeLog:1.2->1.3
       ospfclient/Makefile.am:1.6->1.7

---------------------
PatchSet 1205
Date: 2005/04/20 10:38:17
Author: jardin
Branch: HEAD
Tag: (none)
Log:
There is no RIPv3. It is a RIPng (by the way for your information, the version of RIPng is v1).

Members:
       solaris/ripngd.xml.in:1.1->1.2

---------------------
PatchSet 1206
Date: 2005/04/21 11:24:43
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-21 Paul Jakma <[email protected]>

       * Makefile.am: pkginfo.%.tmpl is a generated file, srcdir prefix
         is not appropriate.

Members:
       solaris/ChangeLog:1.4->1.5
       solaris/Makefile.am:1.3->1.4

---------------------
PatchSet 1207
Date: 2005/04/21 17:58:44
Author: paul
Branch: HEAD
Tag: (none)
Log:
2004-05-21 Paul Jakma <[email protected]>

       * heavy.c: Add a timer thread to demonstrate thread interactivity,
         Add a daemon_exit command to assist with debugging (eg for memory
         tracers, etc..)

Members:
       tests/heavy.c:1.1->1.2

---------------------
PatchSet 1208
Date: 2005/04/21 18:23:48
Author: paul
Branch: HEAD
Tag: (none)
Log:
- bah, commit changelog

Members:
       tests/ChangeLog:1.2->1.3

---------------------
PatchSet 1209
Date: 2005/04/22 01:43:47
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-22 Paul Jakma <[email protected]>

       * 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 <[email protected]>.
         (thread_should_yield) make this available.

Members:
       lib/ChangeLog:1.172->1.173
       lib/thread.c:1.14->1.15
       lib/thread.h:1.5->1.6

---------------------
PatchSet 1210
Date: 2005/04/22 01:50:08
Author: paul
Branch: HEAD
Tag: (none)
Log:
2004-05-22 Paul Jakma <[email protected]>

       * heavy-thread.c: Andrew Schorr's adaptation of heavy.c to use a
         background thread to avoid responsivity problems.

Members:
       tests/ChangeLog:1.3->1.4
       tests/heavy-thread.c:INITIAL->1.1

---------------------
PatchSet 1211
Date: 2005/04/22 01:54:44
Author: paul
Branch: HEAD
Tag: (none)
Log:
2004-05-22 Paul Jakma <[email protected]>

       * Makefile.am: Build heavythread

Members:
       tests/ChangeLog:1.4->1.5
       tests/Makefile.am:1.2->1.3

---------------------
PatchSet 1212
Date: 2005/04/22 01:57:03
Author: paul
Branch: HEAD
Tag: (none)
Log:
- fix comment

Members:
       lib/thread.h:1.6->1.7

---------------------
PatchSet 1213
Date: 2005/04/22 13:56:37
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-22 Andrew J. Schorr <[email protected]>

       * bgpd.8,isisd.8,ospf6d.8,ospfd.8,ripd.8,ripngd.8,zebra.8: Fix
         spelling mistake: intrefaces -> interfaces.

Members:
       doc/ChangeLog:1.41->1.42
       doc/bgpd.8:1.6->1.7
       doc/isisd.8:1.2->1.3
       doc/ospf6d.8:1.5->1.6
       doc/ospfd.8:1.6->1.7
       doc/ripd.8:1.5->1.6
       doc/ripngd.8:1.5->1.6
       doc/zebra.8:1.6->1.7

---------------------
PatchSet 1214
Date: 2005/04/22 14:14:49
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-22 Andrew J. Schorr <[email protected]>

       * bgpd.8,isisd.8,ospf6d.8,ospfd.8,ripd.8,ripngd.8,zebra.8: Fix
         spelling mistake: idenifier -> identifier.

Members:
       doc/ChangeLog:1.42->1.43
       doc/bgpd.8:1.7->1.8
       doc/isisd.8:1.3->1.4
       doc/ospf6d.8:1.6->1.7
       doc/ospfd.8:1.7->1.8
       doc/ripd.8:1.6->1.7
       doc/ripngd.8:1.6->1.7
       doc/zebra.8:1.7->1.8

---------------------
PatchSet 1215
Date: 2005/04/22 14:44:17
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-22 Paul Jakma <[email protected]>

       * 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.

Members:
       lib/ChangeLog:1.173->1.174
       lib/memory.h:1.10->1.11

---------------------
PatchSet 1216
Date: 2005/04/22 15:23:34
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-22 Andrew J. Schorr <[email protected]>

       * 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.

Members:
       lib/ChangeLog:1.174->1.175
       lib/thread.h:1.7->1.8

---------------------
PatchSet 1217
Date: 2005/04/25 01:37:03
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-25 Paul Jakma <[email protected]>

       * HACKING: Add some notes about build system changes, to
         document common oversights (common for me anyway).
         Seperate sections with two newlines, easier to read.

Members:
       ChangeLog:1.120->1.121
       HACKING:1.19->1.20

---------------------
PatchSet 1218
Date: 2005/04/25 14:52:26
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-25 Paul Jakma <[email protected]>

       * Makefile.am: Refer to source files via srcdir variable, fix
         out-of-tree build breakage.

Members:
       lib/ChangeLog:1.175->1.176
       lib/Makefile.am:1.20->1.21

---------------------
PatchSet 1219
Date: 2005/04/25 15:02:44
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-25 Paul Jakma <[email protected]>

       * memory.c: Make the string field much wider
       * memtypes.c: Correct the prefix list str/entry strings

Members:
       lib/ChangeLog:1.176->1.177
       lib/memory.c:1.12->1.13
       lib/memtypes.c:1.2->1.3

---------------------
PatchSet 1220
Date: 2005/04/25 15:18:43
Author: paul
Branch: HEAD
Tag: (none)
Log:
- arg, fix the missing slash. Beat myself with the diff of the last commit
 to HACKING (which I added..)

Members:
       lib/Makefile.am:1.21->1.22

---------------------
PatchSet 1221
Date: 2005/04/25 15:53:46
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-25 Paul Jakma <[email protected]>

       * thread.c: Kill unused TIMER_NO_SORT bits

Members:
       lib/ChangeLog:1.177->1.178
       lib/thread.c:1.15->1.16

---------------------
PatchSet 1222
Date: 2005/04/25 16:13:42
Author: paul
Branch: HEAD
Tag: (none)
Log:
- make various defines conditional, so that they can be specified from
 the rpmbuild commandline, eg rpmbuild --define 'keep_build 1'

Members:
       redhat/quagga.spec.in:1.25->1.26

---------------------
PatchSet 1223
Date: 2005/04/25 17:26:43
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-25 Paul Jakma <[email protected]>

       * 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.

Members:
       lib/Makefile.am:1.22->1.23
       lib/command.c:1.46->1.47
       lib/memtypes.c:1.3->1.4
       lib/memtypes.h:1.1->1.2
       lib/workqueue.c:INITIAL->1.1
       lib/workqueue.h:INITIAL->1.1

---------------------
PatchSet 1224
Date: 2005/04/25 17:29:10
Author: paul
Branch: HEAD
Tag: (none)
Log:
- forgot to commit changelog, belongs to previous commit.

Members:
       lib/ChangeLog:1.178->1.179

---------------------
PatchSet 1225
Date: 2005/04/25 17:42:24
Author: paul
Branch: HEAD
Tag: (none)
Log:
2004-05-25 Paul Jakma <[email protected]>

       * main.c: new file, common 'main' portion which then calls
         test_init.
       * heavy.c: remove common portions now in 'main.
       * heavy-wq.c: ditto
       * heavy-thread.c: ditto
       * heavy*.c: Set the slow_function iteration number lower, to 300, it
         was several orders of magnitude too 'slow' to be useful. :)
       * Makefile.am: main is a source of the tests. heavy should link
         to the math library.

Members:
       tests/ChangeLog:1.5->1.6
       tests/Makefile.am:1.3->1.4
       tests/heavy-thread.c:1.1->1.2
       tests/heavy-wq.c:INITIAL->1.1
       tests/heavy.c:1.2->1.3
       tests/main.c:INITIAL->1.1

---------------------
PatchSet 1226
Date: 2005/04/26 03:23:44
Author: paul
Branch: HEAD
Tag: (none)
Log:
- build isisd per default

Members:
       redhat/quagga.spec.in:1.26->1.27

---------------------
PatchSet 1227
Date: 2005/04/26 03:35:03
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-26 Paul Jakma <[email protected]>

       * quagga.xml.in: New, better, single integrated manifest for all
         the services, courtesy of [email protected].
       * {{ospf,ospf6,rip,ripng,bgp}d,zebra}.xml.in: removed due to
         previous
       * quagga.init.in: Use the package tarname for properties, use
         the correct daemon name variable.
       * Makefile.am: Updated to match single manifest
       * prototype.daemons.in: ditto

Members:
       solaris/ChangeLog:1.5->1.6
       solaris/Makefile.am:1.4->1.5
       solaris/bgpd.xml.in:1.1->1.2(DEAD)
       solaris/ospf6d.xml.in:1.1->1.2(DEAD)
       solaris/ospfd.xml.in:1.1->1.2(DEAD)
       solaris/prototype.daemons.in:1.1->1.2
       solaris/quagga.init.in:1.1->1.2
       solaris/quagga.xml.in:INITIAL->1.1
       solaris/ripd.xml.in:1.1->1.2(DEAD)
       solaris/ripngd.xml.in:1.2->1.3(DEAD)
       solaris/zebra.xml.in:1.1->1.2(DEAD)

---------------------
PatchSet 1228
Date: 2005/04/26 18:14:30
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-26 Andrew J. Schorr <[email protected]>

       * buffer.c (buffer_write): Comment out call to buffer_flush_available.
         This should speed up buffering at the expense of a possible increase
         in latency in flushing the data if inside a long-running thread.

Members:
       lib/ChangeLog:1.179->1.180
       lib/buffer.c:1.10->1.11

---------------------
PatchSet 1229
Date: 2005/04/27 13:39:27
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-27 Paul Jakma <[email protected]>

       * workqueue.h: (struct work_queue_item) change retry_count to ran,
         its a count of number item has been run.
       * workqueue.c: (show_work_queues) Fix formating of slightly
         bugfix: fix SIGFPE if wq->runs is 0.
         (work_queue_run) retry logic was slightly wrong.
         cycles.best is 0 initialy, granularity is 1, so update best
         if cycles >= granularity, not just >.

Members:
       lib/ChangeLog:1.180->1.181
       lib/workqueue.c:1.1->1.2
       lib/workqueue.h:1.1->1.2

---------------------
PatchSet 1230
Date: 2005/04/27 13:44:54
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-27 Paul Jakma <[email protected]>

       * memory.h: memtypes is built source, default includes points to
         top_builddir, so we should refer to lib/memtypes.h

Members:
       lib/ChangeLog:1.181->1.182
       lib/memory.h:1.11->1.12

---------------------
PatchSet 1231
Date: 2005/04/27 17:29:54
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-27 Andrew J. Schorr <[email protected]>

       * workqueue.c (show_work_queues): Remove unused gettimeofday call.

Members:
       lib/ChangeLog:1.182->1.183
       lib/workqueue.c:1.2->1.3

---------------------
PatchSet 1232
Date: 2005/04/28 02:31:13
Author: ajs
Branch: HEAD
Tag: (none)
Log:
2005-04-27 Andrew J. Schorr <[email protected]>

       Add wall-clock timing statistics to 'show thread cpu' output.
       * thread.h: Define struct rusage_t to contain wall-clock time
         and cpu time.  Change GETRUSAGE macro to collect both pieces
         of data.  Make appropriate changes to struct cpu_thread_history
         to track CPU time and real time.  Change proto for
         thread_consumed_time to return real and cpu time elapsed.
         And declare a new global variable 'struct timeval recent_time'.
       * thread.c (struct timeval recent_time): New global timestamp variable.
         (timeval_adjust): If timeout is negative, set to 0 (not 10
         microseconds).  And remove upper bound of 1,000,000 seconds, since
         this does not seem to make any sense (and it breaks
         funcname_thread_add_timer_timeval).
         (timeval_cmp): Should return long, not int.
         (vty_out_cpu_thread_history): Show CPU time and real time.
         (cpu_record_hash_print): Calculate totals for CPU and real time.
         (cpu_record_print): Change 'show thread cpu' title to show CPU and
         real time.
         (thread_timer_remain_second): Put current time in global recent_time.
         (funcname_thread_add_timer_timeval): Fix assert.  Replace 2-case
         switch assignment with a ternary expression.  Use global recent_time
         variable.  Fix use of timeval_adjust (previously, the value was not
         actually being adjusted).
         (thread_cancel): Add missing "break" statement in case
         THREAD_BACKGROUND.
         (thread_timer_wait): Use global recent_time value instead of calling
         gettimeofday.  And there's no need to check for negative timeouts,
         since timeval_subtract already sets these to zero.
         (thread_timer_process): Timers are sorted, so bail out once we
         encounter a timer that has not yet popped.  And remove some
         extraneous asserts.
         (thread_fetch): Do not process foreground timers before calling
         select.  Instead, add them to the ready list just after the select.
         Also, no need to maintain a count of the number of ready threads,
         since we don't care how many there are, just whether there's
         one at the head of the ready list (which is easily checked).
         Stick current time in global variable recent_time to reduce
         the number of calls to gettimeofday.  Tighten logic for
         calculating the select timeout.
         (thread_consumed_time): Now returns real time and puts the elapsed
         cpu time in an additional argument.
         (thread_should_yield): Use real (wall-clock) time to decide whether
         to yield.
         (thread_call): Maintain CPU and real time statistics.
       * vty.c (vty_command): For slow commands, show real and cpu time.

Members:
       lib/ChangeLog:1.183->1.184
       lib/thread.c:1.16->1.17
       lib/thread.h:1.8->1.9
       lib/vty.c:1.43->1.44

---------------------
PatchSet 1233
Date: 2005/04/28 18:35:14
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-28 Paul Jakma <[email protected]>

       * rib.h: (struct rib) Add lock field for refcounting.
       * zserv.h: (struct zebra_t) Add a ribq workqueue to the zebra
         'master' struct.
       * zserv.c: (zread_ipv4_add) XMALLOC then memset should be XCALLOC.
       * zebra_rib.c: Clean up refcounting of route_node, make struct rib
         refcounted and convert rib_process to work-queue. In general,
         rib's should be rib_addnode'd and delnode'd to route_nodes, and
         these symmetrical functions will manage the locking of referenced
         route_node and freeing of struct rib - rather than having users
         manage each seperately - with much scope for bugs..
         (newrib_free) removed and replaced with rib_lock
         (rib_lock) new function, check state of lock and increment.
         (rib_unlock) new function, check lock state and decrement. Free
         struct rib if refcount hits 0, freeing struct nexthop's, as
         newrib_free did.
         (rib_addnode) Add RIB to route_node, locking both.
         (rib_delnode) Delete RIB from route_node, unlocking each.
         (rib_process) Converted to a work-queue work function.
         Functional changes are minimal, just arguments, comments and
         whitespace.
         (rib_queue_add_qnode) Helper function to setup a ribq item.
         (rib_queue_add) Helper function, same arguments as old
         rib_process, to replace in callers of rib_process.
         (rib_queue_qnode_del) ribq deconstructor.
         (rib_queue_init) Create the ribq.
         (rib_init) call rib_queue_init.
         (remainder) Sanitise refcounting of route_node's. Convert to
         rib_queue_add, rib_addnode and rib_delnode. Change XMALLOC/memset
         to XCALLOC. Remove calls to nexthop_delete and nexthop_free.

Members:
       zebra/ChangeLog:1.86->1.87
       zebra/rib.h:1.5->1.6
       zebra/zebra_rib.c:1.19->1.20
       zebra/zserv.c:1.29->1.30
       zebra/zserv.h:1.9->1.10

---------------------
PatchSet 1234
Date: 2005/04/28 18:45:37
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-28 Paul Jakma <[email protected]>

       * quagga.info: updated

Members:
       doc/ChangeLog:1.43->1.44
       doc/quagga.info:1.10->1.11

---------------------
PatchSet 1235
Date: 2005/04/28 19:19:08
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-28 Paul Jakma <[email protected]>

       * NEWS: Added some 0.99 news

Members:
       ChangeLog:1.121->1.122
       NEWS:1.15->1.16

---------------------
PatchSet 1236
Date: 2005/04/28 19:21:15
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-28 Paul Jakma <[email protected]>

       * quagga.info: updated
       * Makefile.am: automake seems to depend doc built stuff on srcdir
         for some reason, or maybe its cause we have quagga.info,
         quagga.texi in CVS - not sure. Anyway, the static rule for
         quagga.pdf should depend on the srcdir quagga.texi in that case.

Members:
       doc/ChangeLog:1.44->1.45
       doc/Makefile.am:1.13->1.14

---------------------
PatchSet 1237
Date: 2005/04/29 04:16:42
Author: paul
Branch: HEAD
Tag: (none)
Log:
2005-04-29 Paul Jakma <[email protected]>

       * defines.texi.in: Add PACKAGE_NAME, PACKAGE_STRING.
       * quagga.texi: Use PACKAGE_NAME, this is more to give me an excuse
         to update quagga.texi so that the 'UPDATED' in version.texi will
         be more recent, the Makefile seems to be dumb and not examine
         the texi files from which quagga.texi is generated.
       * quagga.info: Fresh copy to match updates.

Members:
       doc/ChangeLog:1.45->1.46
       doc/defines.texi.in:1.2->1.3
       doc/quagga.info:1.11->1.12
       doc/quagga.texi:1.5->1.6

---------------------
PatchSet 1238
Date: 2005/04/29 04:20:54
Author: paul
Branch: HEAD
Tag: quagga_0_99_1_release
Log:
2005-04-29 Paul Jakma <[email protected]>

       * NEWS: Added some more 0.99 news.
       * configure.ac: bump to 0.99.1 (0.99.0 was never released except
         via CVS snapshots)

Members:
       ChangeLog:1.122->1.123
       NEWS:1.16->1.17
       configure.ac:1.104->1.105