--------------------- PatchSet 971 Date: 2005/01/10 14:20:43 Author: gdt Branch: HEAD Tag: (none) Log: 2005-01-10 Greg Troxel * ospf_packet.h: Remove commented out definition of OSPF_MAX_PACKET; neither it or the uncommented one are used any more. * ospf_packet.c (ospf_make_ls_upd): Leave room for authentication when deciding if an update will fit. (ospf_packet_authspace): Factor out calculation of size required for authentication. (ospf_make_db_desc): Use ospf_max_packet, not OSPF_MAX_PACKET. Don't confuse readers that there is a macro. 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 * 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 * 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 * 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 * 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 * 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 * configure.ac: Test for header file (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 .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 * command.c (print_version): Don't print host.name if it is NULL. Fixes segfault on Solaris reported by Goetz von Escher (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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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..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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * (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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 (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 , 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 * 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 * {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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * (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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * .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 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * (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 * 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 . 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * (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 * 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 * 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 * 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 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 * .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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 . (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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * quagga.xml.in: New, better, single integrated manifest for all the services, courtesy of alan.maguire@sun.com. * {{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 * 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 * 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 * 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 * 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 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 * 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 * 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 * 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 * 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 * 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 * 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