From 3998bfd76620a676fbd77f19c5c6ea80a4cc88d2 Mon Sep 17 00:00:00 2001 From: Paul Jakma Date: Tue, 19 Aug 2008 14:13:43 +0100 Subject: [trivia] Remove ChangeLog files, as this data is now maintained in SCM --- ChangeLog | 1990 -------------------- bgpd/ChangeLog | 3992 --------------------------------------- doc/ChangeLog | 510 ----- guile/ChangeLog | 26 - isisd/ChangeLog | 600 ------ lib/ChangeLog | 4270 ------------------------------------------ m4/ChangeLog | 16 - ospf6d/ChangeLog | 1199 ------------ ospfclient/ChangeLog | 71 - ospfd/ChangeLog | 4984 ------------------------------------------------- pkgsrc/ChangeLog | 15 - ripd/ChangeLog | 1217 ------------ ripngd/ChangeLog | 388 ---- solaris/ChangeLog | 164 -- tests/ChangeLog | 160 -- vtysh/ChangeLog | 500 ----- watchquagga/ChangeLog | 59 - zebra/ChangeLog | 2712 --------------------------- 18 files changed, 22873 deletions(-) delete mode 100644 ChangeLog delete mode 100644 bgpd/ChangeLog delete mode 100644 doc/ChangeLog delete mode 100644 guile/ChangeLog delete mode 100644 isisd/ChangeLog delete mode 100644 lib/ChangeLog delete mode 100644 m4/ChangeLog delete mode 100644 ospf6d/ChangeLog delete mode 100644 ospfclient/ChangeLog delete mode 100644 ospfd/ChangeLog delete mode 100644 pkgsrc/ChangeLog delete mode 100644 ripd/ChangeLog delete mode 100644 ripngd/ChangeLog delete mode 100644 solaris/ChangeLog delete mode 100644 tests/ChangeLog delete mode 100644 vtysh/ChangeLog delete mode 100644 watchquagga/ChangeLog delete mode 100644 zebra/ChangeLog diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index cf5c774d..00000000 --- a/ChangeLog +++ /dev/null @@ -1,1990 +0,0 @@ -2008-07-22 Paul Jakma - - * HACKING: Document preference for compiler conditional code, over - cpp conditional. - * configure.ac: DISABLE_BGP_ANNOUNCE always should be defined. - -2008-06-10 Paul Jakma - - * configure.ac: Bump version to 0.99.10 - -2008-05-29 Martin Nagy - - * */*main.c: Sanity check port numbers before using. - -2008-01-30 Peter Szilagyi - - * lib/stream.h: Remove named 'new' parameter in prototype - for c++ header compatibility. - * ospfd/ospf_opaque.h: ditto - * ospfd/ospfd.h: Renamed struct export to _export for c++ - header compatibility. - * ospf6d/ospf6_area.h: ditto - -2008-01-11 Ingo Flaschberger - - * configure.ac: Improve HAVE_BSD_LINK_DETECT test. - -2008-01-10 Ingo Flaschberger - - * configure.ac: Define HAVE_BSD_LINK_DETECT if is - present. - -2007-10-14 Paul Jakma - - * NEWS: Note that MRT dumps are now version 2 - -2007-09-07 Paul Jakma - - * configure.ac: Bump version to 0.99.9 - -2007-08-07 James Carlson - - * configure.ac: Added support for separate link-layer access - mechanisms in isisd. - -2007-07-27 Paul Jakma - - * configure.ac: Bump version to 0.99.8 - -2007-06-25 Hasso Tepper - - * configure.ac: Fix typo so it compiles again on BSD systems. - -2007-06-22 Paul Jakma - - * configure.ac: IRDP also depends on struct icmphdr, enabling - only on in_pktinfo breaks when an OS acquires pktinfo, as - Solaris NV has. Reported by Jim Carlson. - -2007-05-10 Paul Jakma - - * configure.ac: Add back check for inet_aton, which got dropped - somehow in previous jumbo patch. - Use AC_GNU_SOURCE to define _GNU_SOURCE, rather than having - lib/zebra.h do it. - AC_FUNC_STRNLEN has side-effects with latest autoconf, use - AC_CHECK_FUNC on strnlen instead. - -2007-05-09 Paul Jakma - - * configure.ac: sys/conf.h depends on sys/param.h, at least on - FBSD 6.2. - (bug #363) Should check for in_pktinfo for IRDP - -2006-05-27 Paul Jakma - - * configure.ac: General cleanup of header and type checks, introducing - an internal define, QUAGGA_INCLUDES, to build up a list of - stuff to include so as to avoid 'present but cant be compiled' - warnings. - Misc additional checks of things missing according to autoscan. - Add LIBM, for bgpd's use of libm, so as to avoid burdening - LIBS, and all the binaries, with libm linkage. - Remove the bad practice of using m4 changequote(), just - quote the []'s in the case statements properly. - This should fix bugs 162, 303 and 178. - * */*.{c,h}: Update all HAVE_* to the standard autoconf namespaced - HAVE_* defines. I.e. HAVE_SA_LEN -> HAVE_STRUCT_SOCKADDR_SA_LEN, - * bgpd/Makefile.am: Add LIBM to bgpd's LDADD, for pow(). - -2007-04-30 Andrew J. Schorr - - * configure.ac: Change gcc CFLAGS from '-std=c99' to '-std=gnu99' - to improve portability. - -2007-04-29 Paul Jakma - - * configure.ac: Bump to 0.99.7 - -2007-04-16 David Young - - * connected.c (zebra): Only suppress adding a connected - route to the kernel if it is already marked "real" - (ZEBRA_IFC_REAL), i.e., "in kernel." According to Paul - Jakma, this probably fixes Quagga bug #202. - -2007-02-06 Greg Troxel > - - * configure.ac: Use generic sed test, since autoconf 2.59 lacks - AC_PROG_SED and while 2.59 is somewhat crufty, it isn't officially - crufty. - -2007-02-06 Greg Troxel - - * bootstrap.sh: use -i to install missing files - -2007-02-03 Greg Troxel - - * configure.ac: add AC_PROG_SED - -2007-02-02 Greg Troxel - - * README.NetBSD: use bootstrap.sh instead of autoreconf - - * bootstrap.sh: new file with just 'autoreconf' - - * update-autotools: print out tool name before invoking to aid debugging - -2006-12-08 Paul Jakma - - * configure.ac: Bump to 0.99.6 - -2006-10-04 Oliver Hookins - - * bgpd/bgp_main.c: Add configuration check option, with - '-C' rather than '-c' for consistency between daemons. - * isisd/isis_main.c: ditto - * ospf6d/ospf6_main.c: ditto - * ospfd/ospf_main.c: ditto - * ripngd/ripng_main.c: ditto - * vtysh/vtysh_main.c: ditto - * ripd/rip_main.c: Change the config check option to - '-C' and tidy up the code. - * zebra/main.c: ditto - -2006-10-04 Stergiakis Alexandros - - * ripd/rip_main.c: This trivial patch introduces a new - command-line option '-c', which instructs zebra/ripd - to check its configuration file for validity, print - any error message, and then exit. This is useful when - the configuration file is edited by hand or otherwise, - and you simply want to validate it without any other - effect. - * zebra/main.c: ditto - -2006-08-27 Paul Jakma - - * configure.ac: Bump to 0.99.5 - -2006-06-15 Andrew J. Schorr - - * redhat/quagga.spec.in: Get default distro automatically - by using rpm to query the fedora-release version. - And fix a typo (should be default_dist, not dist_default). - -2006-05-28 Paul Jakma - - * configure.ac: Update SOS CFLAGS, Xt shouldn't be used and - enable debug options. - Add a check for GNU Make and warn the user if it does not appear - to be the make used. - Check for Sun libc printstack(), add a general HAVE_STACK_TRACE - define for lib/log.c, if any supported stack symbol dumping - function is found (glibc backtrace/sun libc printstack). - -2006-05-10 Paul Jakma - - * configure.ac: Bump to 0.99.4 - -2006-03-30 Paul Jakma - - * TODO: Add reminder for useful MED functionality we should - implement. - -2006-02-15 Paul Jakma - - * configure.ac: Check for mallinfo, being careful to link test - so we can detect things like umem being used (which doesn't - provide a mallinfo). - -2006-01-31 Paul Jakma - - * configure.ac: Cleanup the hideous {net,ucd}-snmp section - by removing ucd-snmp. Hence fixing detection where - net-snmp is installed in /usr/local (Boris Kovalenko reported - the problem). - -2006-01-19 Paul Jakma - - * configure.ac: Bump to 0.99.3 - -2005-11-26 Paul Jakma - - * configure.ac: Collect together CFLAGS based on compiler - detected a bit. Recognise and set default CFLAGS for SunPro / - SOS10. - -2005-11-14 Paul Jakma - - * configure.ac: Tell gcc we like C99. - [bug #231] Check and test for stdint.h. - -2005-11-11 Paul Jakma - - * NEWS: Update. - * configure.ac: Bump to 0.99.2 - -2005-11-10 Paul Jakma - - * HACKING: Add recommendation to provide a single Subject - style description to the commit message. - Add some recommendations for ChangeLog. - -2005-09-29 Paul Jakma - - * configure.ac: Add the test for Solaris least-privileges. Set - defines for whether capabilities are supported and whether of - the linux or solaris variety. - Add missing-prototypes, missing-declarations, char-subscripts - and cast-qual warnings to default cflags, cause Hasso enjoys warnings, - and we really should clean the remaining ones up. (ie isisd..). - * (*/*main.c) Update the zebra_capabilities_t arrays in the various - daemons to match the changes made in lib/privs.h. - -2005-09-19 Hasso Tepper - - * configure.ac: Test existance of strndup. - -2005-08-25 Paul Jakma - - * configure.ac: Add -fno-omit-frame-pointer after -Os in default - cflags, just to be sure. - Fedora's readline library does not itself link to termcap, hence - we must pass the result of termcap tests in via OTHER-LIBRARIES - argument, otherwise the test of main in readline will fail due to - missing termcap systems. On systems like Debian, -ltermcap - is not needed for the readline test, because libreadline already - links to it. - -2005-08-25 Hasso Tepper - - * configure.ac, vtysh/Makefile.am: Only vtysh needs to be linked - against libreadline and friends. - -2005-08-13 Paul Jakma - - * Makefile.am: (EXTRA_DIST) Add the trailing slash back in which - greg left out - tools bits weren't being included in dist, - which broke rpm builds :). - -2005-08-10 Greg Troxel - - * Makefile.am (EXTRA_DIST): add INSTALL.quagga.txt, because people - that patch releases need to know about autoconf required versions. - -2005-06-30 Louis Lagendijk - - * configure.ac: Actually test whether libc has IPv6 support. - -2005-06-28 Paul Jakma - - * INSTALL.quagga.txt: GNU make is required now, because of manual - automatic rules in solaris/Makefile.am. (If someone knows how - to do these in a better way..). - GNU AWK is required for CVS checkout builds. - -2005-06-01 Paul Jakma - - * NEWS: bgpd work queues and ripd auth-mode change - -2005-05-07 Yar Tikhiy - - * configure.ac: Check for OSes which support passing ifindex in - struct ip_mreq. - -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) - -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. - -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. - -2005-04-16 Paul Jakma - - * configure.ac: check for gawk, needed to build memtypes.h - -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. - -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. - -2005-04-10 Paul Jakma - - * configure.ac: Fix host string recognition for Solaris Nevada aka - solaris2.10.1, and hopefully future such strings. - -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. - -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. Expand on the importance of supplying good ChangeLog's in - the PATCH SUBMISSION section. - -2005-04-04 Hasso Tepper - - * configure.ac: Fix AC_LANG_SOURCE usage. It needs double square - brackets around source. Single ones broke square brackets in the - code (arrays). - -2005-04-03 Hasso Tepper - - * configure.ac: Use AC_RUN_IFELSE instead of obsolete AC_TRY_RUN macro - and define action for cross-compiling. - -2005-04-02 Hasso Tepper - - * configure.ac: Add --enable-isis-topology to enable isisd topology - generator code. - -2005-04-02 Paul Jakma - - * INSTALL.quagga.txt: Add note about additional CVS build - requirements, if one wishes to build ps/pdf docs. - -2005-04-02 Andrew J. Schorr - - * configure.ac: Add strnlen to AC_CHECK_FUNCS. - -2005-03-28 Hasso Tepper - - * configure.ac, */Makefile.am: Fix previous commit. SNMP includes - must be after lib/ includes in some systems. Introduce SNMP_INCLUDES - for that. - -2005-03-28 Hasso Tepper - - * 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. - -2005-03-27 Hasso Tepper - - * 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. - -2005-03-26 Hasso Tepper - - * doc/defines.texi.in, lib/version.h.in: Update copyright string to - include year 2005. - -2005-03-25 Jean-Mickael Guerin - * configure.ac: add struct nd_opt_interval and struct - nd_opt_homeagent_info detection. - -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. - -2005-03-12 Paul Jakma - - * configure.ac: Solaris 8 can use the newer lifreq based methods - too, allows IPv6. - -2005-02-19 Hasso Tepper - - * configure.ac: Fix Linux detection. Host types like i686-pc-linux - didn't match the pattern. - -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. - -2005-01-24 Paul Jakma - - * configure.ac: Bump version to 0.99.0 - -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. - -2005-01-12 Andrew J. Schorr - - * configure.ac: Test for header file (for use in - signal processing). - -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. - -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. - -2005-01-07 Paul Jakma - - * configure.ac: Bump version to 0.98.0 - -2005-01-05 Paul Jakma - - * configure.ac: Bump version to 0.97.5 - -2005-01-04 Greg Troxel - - * configure.ac: Use AC_MSG_CHECKING/AC_MSG_RESULT around - CMSG_FIRSTHDR check, so it shows up in the output of configure. - Tested on NetBSD, which doesn't define HAVE_BROKEN_CMSG_FIRSTHDR. - -2005-01-04 Andrew J. Schorr - - * configure.ac: Added test for broken CMSG_FIRSTHDR macro - (relevant for Solaris 8 and unpatched Solaris 9, don't know - whether other platforms are affected). - -2005-01-04 Andrew J. Schorr - - * NEWS: Note improved logging facilities. - -2004-12-29 Andrew J. Schorr - - * configure.ac: Add new option --enable-gcc-rdynamic to link - with -rdynamic. - -2004-12-23 Paul Jakma - - configure.ac: Bump version to 0.97.4 - -2004-12-22 Andrew J. Schorr - - * redhat/quagga.spec.in: daemonv6_list should contain only IPv6 daemons. - -2004-12-22 Andrew J. Schorr - - * redhat/quagga.spec.in: Add watchquagga, and fix some other - logic to make sure that all daemons are restarted on upgrades - and stopped on package removal. - -2004-12-22 Andrew J. Schorr - - * redhat/quagga.sysconfig: Define some variables to support watchquagga. - -2004-12-22 Andrew J. Schorr - - * configure.ac: Add a define for DAEMON_VTY_DIR in config.h. - -2004-12-22 Andrew J. Schorr - - * {configure.ac,Makefile.am}: Build watchquagga by default. - -2004-12-21 Andrew J. Schorr - - * NEWS: Note addition of watchquagga. - * HACKING: Note that watchquagga is in testing phase. - -2004-12-21 Andrew J. Schorr - - * watchquagga: New watchquagga daemon. - -2004-12-21 Andrew J. Schorr - - * redhat/Makefile.am: Added watchquagga.init to EXTRA_DIST. - -2004-12-21 Andrew J. Schorr - - * redhat/watchquagga.init: New file, init script for watchquagga. - -2004-12-03 Andrew J. Schorr - - * HACKING: Indicate that header files should be consulted for - documentation, particularly logging levels in lib/log.h. - -2004-11-24 Paul Jakma - - * TODO: Add source routing, zebra filtering and lib/ documenting. - -2004-11-19 Andrew J. Schorr - - * global: Replace strerror with safe_strerror. And vtysh/vtysh.c - needs to include "log.h" to pick up the declaration. - -2004-11-19 Hasso Tepper - - * configure.ac: Avoid regeneration of doc/quagga.info for now. - -2004-11-17 Paul Jakma - - * INSTALL.quagga.txt: texinfo version corrected, so section on - that 4.7-x being unknown is not needed. - -2004-11-12 Paul Jakma - - * configure.ac: Fix AC_CONFIG_FILES, the chmod seems to run for - every input file, should be only be for vtysh/extract.pl, so that - should be a seperate AC_CONFIG_FILES. - * INSTALL: update-autotools, autoreconf -i will install this, remove - the file so it always matches the autoconf which created - configure (ie the quagga snapshot producing host). - * INSTALL.quagga.txt: Some quagga specific INSTALL notes. - * README: s/GNU Zebra/Quagga/ and refer to IS-IS support. - -2004-11-10 Andrew J. Schorr - - * redhat/quagga.spec.in: add comments showing how to get gcc verbosity - -2004-11-08 Paul Jakma - - * configure.ac: bump version to 0.97.3, release imminent. - -2004-11-06 Paul Jakma - - * configure.ac: Arguments to AC_OUTPUT is deprecated, use - AC_CONFIG_FILES instead. Rearrange the order slightly to put the - Makefiles first (silly aesthetic thing, dont know why I had to do - this ;) ). Add doc/defines.texi to the list. - * NEWS: bgp route-server support added, refer to docs. - * update-autotools: call automake with --add-missing and --copy, - former is important for obvious reasons, latter for dist files, - and --gnu to enable whatever extra goodness checks. - * {depcomp, install-sh, missing}: removed, auto-generated files. - -2004-11-05 Paul Jakma - - * HACKING: Expand on ChangeLogs, eg current practice for certain - directories and certain other meta-data is not to maintain a - ChangeLog. Expand on the commit message, IMHO, commit message - should always be ChangeLog for files where ChangeLog is kept. - Solaris is supported on any platform (with, at moment, an - additional patch). - -2004-10-23 Paul Jakma - - * configure.ac: bump version to 0.97.2, release imminent. - -2004-10-22 Paul Jakma - - * configure.ac: fix up enable help alignment slightly - Add --enable-gcc-ultra-verbose to set various gcc warnings which - should one day be fixed but are not serious problems or which - could be false-positives. - -2004-10-19 Andrew J. Schorr - - * lib, zebra, ripd, ospfd, bgpd: Support NULL connected destination - pointers properly everywhere. Fix point-to-point logic to - support links where a dedicated subnet has been assigned. - PtP links with /31 subnets should now work where supported by O/S. - -2004-10-11 Paul Jakma - - * bump version to 0.97.1, release imminent. - -2004-10-07 Paul Jakma - - * bump version to 0.97.0, release imminent. - -2004-10-07 Greg Troxel - - * configure.ac: remove -Wpacked; 2.95.3 doesn't support it. - -2004-10-05 Hasso Tepper - - * configure.ac: Removed -Wpadded. I don't have sooo much time that I - could care about padding ;). - -2004-09-30 Paul Jakma - - * Update default CFLAGS for gcc to keep Hasso busy. - -2004-09-27 Paul Jakma - - * update-autotools: libtoolize should copy files, rather than link. - the whole idea is that dist files should not need auto*, etc. - installed to be able to compile. - -2004-09-13 Hasso Tepper - - * configure.ac: Disable isisd compiling by default. - -2004-09-13 Paul Jakma - - * configure.ac: capitalise the package name. autoconf lowercases - it for PACKAGE_TARNAME. - -2004-09-13 Jose Luis Rubio - (at Technical University of Madrid as part of Euro6ix Project) - - Enhanced Route Server functionality and Route-Maps: - - * bgpd/bgpd.h: Modified 'struct peer' and 'struct bgp_filter' to - support rs-clients. A 'struct bgp_table *rib' has been added to the - first (to mantain a separated RIB for each rs-client) and two new - route-maps have been added to the last (for import/export policies). - Added the following #defines: RMAP_{IN|OUT|IMPORT|EXPORT|MAX}, - PEER_RMAP_TYPE_{IMPORT|EXPORT} and BGP_CLEAR_SOFT_RSCLIENT. - - * bgpd/bgpd.c: Modified the functions that create/delete/etc peers in - order to consider the new fields included in 'struct peer' for - supporting rs-clients, i.e. the import/export route-maps and the - 'struct bgp_table'. - - * bgpd/bgp_route.{ch}: Modified several functions related with - receiving/sending announces in order to support the new Route Server - capabilities. - Function 'bgp_process' has been reorganized, creating an auxiliar - function for best path selection ('bgp_best_selection'). - Modified 'bgp_show' and 'bgp_show_route' for displaying information - about any RIB (and not only the main bgp RIB). - Added commands for displaying information about RS-clients RIBs: - 'show bgp rsclient (A.B.C.D|X:X::X:X)', 'show bgp rsclient - (A.B.C.D|X:X::X:X) X:X::X:X/M', etc - - * bgpd/bgp_table.{ch}: The structure 'struct bgp_table' now has two - new fields: type (which can take the values BGP_TABLE_{MAIN|RSCLIENT}) - and 'void *owner' which points to 'struct bgp' or 'struct peer' which - owns the table. - When creating a new bgp_table by default 'type=BGP_TABLE_MAIN' is set. - - * bgpd/bgp_vty.c: The commands 'neighbor ... route-server-client' and - 'no neighbor ... route-server-client' now not only set/unset the flag - PEER_FLAG_RSERVER_CLIENT, but they create/destroy the 'struct - bgp_table' of the peer. Special actions are taken for peer_groups. - Command 'neighbor ... route-map WORD (in|out)' now also supports two - new kinds of route-map: 'import' and 'export'. - Added commands 'clear bgp * rsclient', etc. These commands allow a new - kind of soft_reconfig which affects only the RIB of the specified - RS-client. - Added commands 'show bgp rsclient summary', etc which display a - summary of the rs-clients configured for the corresponding address - family. - - * bgpd/bgp_routemap.c: A new match statement is available, - 'match peer (A.B.C.D|X:X::X:X)'. This statement can only be used in - import/export route-maps, and it matches when the peer who announces - (when used in an import route-map) or is going to receive (when used - in an export route-map) the route is the same than the one specified - in the statement. - For peer-groups the statement matches if the specified peer is member - of the peer-group. - A special version of the command, 'match peer local', matches with - routes originated by the Route Server (defined with 'network ...', - redistributed routes and default-originate). - - * lib/routemap.{ch}: Added a new clause 'call NAME' for use in - route-maps. It jumps into the specified route-map and when it returns - the first route-map ends if the called RM returns DENY_MATCH, or - continues in other case. - -2004-08-31 Greg Troxel - - * Makefile.am: make m4 as subdir, rather the EXTRA_DISTing it - - * configure.ac: add m4/Makefile to output list - -2004-08-31 Greg Troxel - - * Makefile.am: Only put pkgsrc dir in SUBDIRS if we should install - rc.d files. (Note that pkgsrc is always in DIST_SUBDIRS.) - - * configure.ac (pkgsrcdir): add new --enable-pkgsrcrcdir to give a - directory into which www.pkgsrc.org-style rc.d files are - installed. - -2004-08-19 Paul Jakma - - * Makefile.am: add m4 directory to EXTRA_DIST, and define - ACLOCAL_AMFLAGS to have aclocal pull in m4/ - * configure.ac: AM_PROG_LIBTOOL should be AC_... - * update-autotools: print a warning that this script is deprecated - -2004-08-17 Greg Troxel - - * update-autotools: print tools versions to aid people in sending - bug reports. - -2004-07-23 Greg Troxel - - * */Makefile.am: Use ../dir/libfoo.la, rather than "-L../dir - -lfoo", to avoid linking against installed libraries from a - previous version. - - * {lib,ospfd,ospfclient}/Makefile.am: explicitly define the shared - library version number to be 0.0 - - * configure.ac: remove spurious , so extract.pl is chmod'd +x. - - * HACKING: explain shared library versioning rules - -2004-07-22 Paul Jakma - - * configure.ac: modify default CFLAGS to be compiler agnostic - build Makefile for tests/ subdir. - -2004-07-14 Greg Troxel - - * Makefile.am (EXTRA_DIST): Add missing \, so tools stuff is - really in distfile. - -2004-06-30 Greg Troxel - - * */Makefile.am: use -L../lib -lzebra, so we pick up the shlib - version of libzebra when available. - - * configure.ac, update-autotools: Add libtool. - -2004-06-30 Greg Troxel - - * Makefile.am: add files to EXTRA_DIST rather than copying, and - omit the kludgy cleaning steps, which were failing when the list - to clean was empty. - -2004-06-30 Greg Troxel - - * configure.ac: Look for perl, and substitute into vtysh/extract.pl. - Search for termcap functions more expansively (fixes vtysh compile - on NetBSD). Clean up --enable-vtysh definition. - -2004-06-30 Greg Troxel - - * update-autotools: Use -rf on autom4te.cache. - -2004-06-20 Hasso Tepper - - * lib/vty.c: Don't attempt to load configuration file from current - directory. - * Update vty_read_config() calls in bgpd/bgp_main.c, isisd/isis_main.c, - ospf6d/ospf6_main.c, ospfd/ospf_main.c, ripd/rip_main.c, - ripngd/ripng_main.c and zebra/main.c. - -2004-05-11 Paul Jakma - - * configure.ac: Add solaris support for the zebra/*_solaris - method's, based on Sowmini's patches. - -2004-04-08 Paul Jakma - - * ospf_spf.h: Add backlink field to struct vertex - * ospf_spf.h: (ospf_vertex_new) initialise backlink - (ospf_lsa_has_link) return index of link back to - vertex V from candidate vertex W, or -1 if no link exists. - (ospf_spf_next) save backlink index for candidate vertex - * ospf_interface.c: (ospf_vl_set_params) Use the backlink index - to determine correct address for virtual-link peers. Fall back - to older "pick first link" method if no backlink index exists. - -2004-04-06 Hasso Tepper - - * zebra/ipforward_proc.c: Fixed lowering privileges. - * zebra/zserv.c: Fixed "(no) ipv6 forwarding" command logic. - * configure.ac: Added --disable-capabilities switch to configure. - -2004-03-22 Hasso Tepper - - * Readded SIGTERM handling so daemons can clean up their stuff if they - are killed (not murdered). - -2004-03-20 Michael Bruening - - * ospfd/ospf_vty.c: Completed array distribute_str of route types with - addition of "isis". This array must be indexed by - ZEBRA_ROUTE_(SYSTEM|KERNEL|...) defines in zebra.h, and should - be updated with every route type addition. This fix allows - commands redistributing routes from (bgp|isis), like "router ospf - redistribute bgp ...", to be written to terminal, memory, file, - which would otherwise result in a seg fault or, possibly, config - file corruption. Overlooked in import of isisd. - * Similar fixes to bgpd/bgp_vty.c ospf6d/ospf6_asbr.c ripd/rip_zebra.c - and ripngd/ripng_zebra.c. - -2004-03-17 Jean-Yves Simon - - * zebra/main.c, ripd/rip_main.c: Fix typos sigusr1 -> sigint, - bugzilla #82. - -2004-03-16 David Young - - * (many) reference rather than "version.h", - because version.h is a generated file and not present in the - source tree when using objdir builds. - -2004-03-03 PC Drew - - * lib/keychain.c: typecast time_t function to long, fixes compile - warning. - * lib/debug.c: wrapped function with ifdef HAVE_GLIBC_BACKTRACE fixes - compile warning when backtrace doesn't exist for that system. - * zebra/rtadv.c: for OpenBSD, added include statement for - netinet/icmp6.h - * zebra/zserv.c: added default case to switch statements, fixes compile - warning about certain NEXTHOP_TYPE enumeration values not being - handled. - * zebra/rt_socket.c: set *mask = NULL by default, fixes compile - warning, about mask possibly being used uninitialized. - * bgpd/bgp_nexthop.c: added default case to switch statements, fixes - compile warning about certain NEXTHOP_TYPE enumeration values not - being handled. - * ospfd/ospf_spf.c: typecast time_t to long, fixes compile warning. - * ospfd/ospf_route.c: typecast route_node->prefix to prefix_ipv4, fixes - compile warning. - * ospfd/ospf_route.c: typecast prefix_ipv4 to prefix, fixes compile - warning. - * ospfd/ospf_abr.c: typecast prefix to prefix_ipv4 in two instances, - fixes compile warning. - * vtysh/vtysh.c: fixed null pointer sentinel value when doing execl and - friends, fixes compile warning. - * ospf6d/ospf6_damp.c: typecast time_t to long in 4 instances, fixes - compile warning. - * ospf6d/ospf6_main.c: use MAXPATHLEN (if set) instead of 64 for the - _cwd array, fixes compile warning. - -2004-01-19 Paul Jakma - - * tests/test-sig.c: New file, regression test for sigevents. - * lib/Makefile.am: add sigevent.{c,h} - * (isis|rip|ripng|ospf|ospf6|bgp)d/\1_main.c: modify for sigevents. - * zebra/main.c: ditto. - -2004-01-10 Paul Jakma - - * Makefile.am: redhat/ is a dist subdir too. - -2004-01-10 Vincent Jardin - - * configure.ac: add the redhat/Makefile as a AC_OUTPUT() argument. - It fixes build on FreeBSD 5.1 and FreeBSD 4.7 - -2004-01-08 Paul Jakma - - * Makefile.am: as per gdt, specify the redhat dir as a DIST_SUBDIR, - remove the redhat/... dist targets - instead these now go in.. - redhat/Makefile.am: (new) proper place to describe redhat/ dist - files, as well as allow quagga.spec to be regenerated properly. - redhat/quagga.sysconfig: specify conf file location. - redhat/quagga.spec.in: Add 2 patches to RPM build. - -2003-12-30 Paul Jakma - - * redhat/isisd.init: new file, init script for isisd. - redhat/quagga.sysconfig: new file, sysconfig file for quagga - initscripts. - redhat/quagga.spec.in: various cleanups, including sysconfig patch - from RH, fixed UID/GID as per RH EL, shell changed to - /sbin/nologin, daemon vty's listen to 127.1 only per default and - isisd packaged. - redhat/*.init: sysconfig support and runlevels specified. - -2003-12-30 Paul Jakma - - * Makefile.am: put the redhat/ stuff into EXTRA_DIST rather than - copying via dist-hook. Remove ~ files backup cruft from dists. - isisd/Makefile.am: sysconf example should go via - dist_examples_DATA. The include-netbsd/ headers werent mentioned - as sources and werent being copied into dists. - -2003-12-23 Vincent Jardin - - * isisd: Import isisd from Sampo Saaristo's source code. - -2003-12-22 Christian Hammers - - * configure.ac (and everywhere a regular file is opened for - writing): use file permissions from configure rather than - compiled-in umask. - -2003-12-22 Hasso Tepper - - * lib/linklist.c: Revert microfix I commited while reverting - [quagga-dev 227]. Caused by misreading code. - -2003-12-21 Hasso Tepper - - * lib/linklist.c: Revert patch [quagga-dev 227]. listnode_add_sort() - function should not drop nodes in any case. But fix behavior where - nodes were added to the end of list when cmp returned 0. - * lib/if.c: Check for duplicates before calling listnode_add_sort(). - -2003-12-08 Greg Troxel - - * {lib,ospfd,ospfapi}/Makefile.am: Use pkginclude_HEADERS rather - than include_HEADERS to place includes in - ${prefix}/include/quaggainstead of polluting ${prefix}/include. - -2003-12-04 Greg Troxel - - * configure.ac: When setting exampledir to sysconfdir as a - default, don't quote ${sysconfdir}. (Bug reported by Vincent - Jardin.) - -2003-12-03 Greg Troxel - - * configure.ac: Compile in Router Advertisement support by - default. Note that this does not default to sending RAs; it just - makes 'ipv6 nd send-ra' and 'ipv6 nd prefix-advertisement' - available. While others may prefer other tools, no argument has - been made that router advertisement support is such bloat that it - should be compiled out by default (it 9556 bytes on NetBSD/i386 vs - 8 bytes with the support compiled out). This reversion of a - previous change was done in consultation with Paul. - -2003-12-03 Greg Troxel - - * configure.ac: Move tests for v6 header files to after the check - for v6 code version, and conditionalize on the right variable. - (Fixes problem where v6 header files are not included when v6 is - enabled implicitly.) - -2003-12-03 Greg Troxel - - * configure.ac: Add --enable-exampledir to specify where example - config files should go, defaulting to sysconfdir. - - * */Makefile.am: use exampledir instead of sysconfdif for examples - -2003-11-02 Paul Jakma - - * bgpd/bgp_routemap.c: Fix up 'set ip next-hop A.B.C.D|peer-address' - route map command so that vtysh can use it. Modified version of - Hasso Tepper's patch. Fixes bug #52. - * configure.ac: FreeBSD has net-snmp in /usr/local. - * redhat/quagga.spec.in: Install libzebra headers with -devel - package. - -2003-11-02 Krzysztof Oledzki - - * zebra/zebra_rib.c: Revert patch (dating from zebra.org) which - caused zebra to read all routes in all tables, rather than just - the main table. See [quagga-dev 280]. - -2003-10-30 Paul Jakma - - * configure.ac: netinet/in_systm.h is yet another well-known - header file we really should be checking for - -2003-10-27 kamatchi soundaram - - * ospfd/ospfd.c: Do not increment act_int for an area, as it is done - by ospf_ism.c::ism_change_state() - results in incorrect figure - for active interfaces in an area. - -2003-10-27 Paul Jakma - - * lib/if.{ch}: remove ifc_pointtopoint() - left over from the - reverted RFC3021 patch. - -2003-10-27 Simon - - * ospfd/ospfd.c: if_is_pointopoint() takes (struct interface *), was - being called with struct connected. Change to co->ifp. - -2003-10-27 Gilad Arnold - - * zebra/zebra_rib.c: (nexthop_active_update) Check for multipath - limit when setting changed flag to avoid spurious changes. - (static_install_ipv{4,6}) dont uninstall by default, might not be - required - avoid spurious uninstalls. - (static_uninstall_ipv{4,6}) only uninstall the route if its - actually FIB route. - -2003-10-24 sowmini.varadhan@sun.com - - * ospfd/ospf_network.c: (ospf_sock_init) Exit if socket can not be - created. - -2003-10-24 Jose Luis Rubio Guivernau - - * Better 'show bgp' support for views (eg ipv6), see [quagga-dev 238] - * bgpd/bgp_route.c: (bgp_show) Take a struct bgp argument instead of - view string. - (bgp_show_neighbor_route) Take a struct peer argument instead of - ip string. - (peer_adj_routes) ditto - (show_adj_routes) ditto - (peer_lookup_in_view) new function to return appropriate struct - peer for a given view string. - (misc) Fixup all calls to above to reflect new calling arguments, - and use peer_lookup_in_view as needed. Additional commands - installed to use expanded functionality above, existing commands - modified to suit as well. - * bgpd/bgp_vty.c: 2 new aliases. - -2003-10-24 Paul Jakma - - * configure.ac: Check for fcntl() - * {bgpd,ospf,ospf6d,ripd,ripngd}/Makefile.am: Install conf file via - regular automake means, not magic install incantations, see - bug #38. - * lib/Makefile.am: install the headers, needed to link libzebra.a - (and hence libospf.a, OSPF-API, etc.) - -2003-10-24 waldi@debian.org - - * vtysh/Makefile.am: vtysh_cmd.c rebuild was broken because it - depended against source files without specification, i.e. it - used ../zebra instead of $(top_srcdir)/zebra. - -2003-10-23 Paul Jakma - - * configure.ac: IRIX configure.ac support. Sort of works. - sysctl() crashes though (ipforward), there's some kind of odd - padding in the PF_ROUTE socket messages and setsockopt() on - SOCK_RAW does not work (so ospfd doesnt work). - -2003-10-22 Paul Jakma - - * vtysh/Makefile.am: do not include vtysh_cmd.c in dists, its - configure dependent. (still need to find a way to make building of - it dependent on configure options or include all commands.) - -2003-10-22 Paul Jakma - - * lib/zebra.h: include limits.h if its there, its a portable header - and useful and not just solaris specific. net/route.h is also - useful. - -2003-10-22 Paul Jakma - - * lib/regex.c: bzero -> memset - * zebra/ioctl.c: ditto. bzero is not portable. - -2003-10-22 Paul Jakma - - * zebra/kernel_socket.c: HAVE_IPV6 conditional for WRAPUP when - HAVE_SA_LEN is not defined. bcopy -> memcpy, bcopy is not - portable. - -2003-10-22 Paul Jakma - - * configure.ac: Split up header checks into non-net, net and ipv6 - related. Checking of IPv6 is conditional. Add some more output - text for the end of the configure run. - -2003-10-18 Lorenzo Colitti - - * bgpd/bgp_attr.c: (bgp_dump_routes_attr) Dont dump IPv4 nexthop - for IP. Dump MP_NLRI attr with IPv6 next-hop for AF_INET6 address - family prefixes. Accept prefix as argument. - * bgpd/bgp_attr.c: modify bgp_dump_routes_attr declaration. - * bgpd/bgp_dump.c: (bgp_dump_routes_entry) Modify calls to - bgp_dump_routes_attr. - (bgp_dump_common) Go by the family of the peering socket, not - configured address family when dumping peering information. - Add HAVE_IPV6 conditionals, eg missing from previous bgp interval - patch. - -2003-10-18 Lorenzo Colitti - - * bgpd/bgp_dump.{c,h}: (bgp_dump_interval_add) Dump at discrete - fixed intervals rather than fixed intervals from startup time. - (bgp_dump_interval_func) Dont return immediately if file cant be - openeded, but reschedule interval dumps, even - admin might - fix problem in meantime. Close the dump file in between intervals. - (bgp_dump_init) account for MSG header when initialising stream - size. - -2003-10-15 Paul Jakma - - * ospfd/ospf_interface: (ospf_if_lookup_table) new function to - lookup oi for a given prefix in a given interfaces table of oi's. - (ospf_if_new) use ospf_if_lookup_table to deal with zebra - reporting new interface multiple times. - NB: This patch is a complete plaster-band of a hack. First, why is - zebra reporting interface events multiple times? Second, why does - ospfd maintain so many damn lists and tables relating to oi's - - these should be reconciled into one or two tables. - -2003-10-15 sowmini.varadhan@sun.com - - * ripd/ripd.c: (rip_send_packet) use rip->sock for mcast sends, - instead of creating one socket per send. send source addr to - rip_update_interface. - (rip_update_process) should send an update on every connected - network for each interface. - (rip_request_send) should send a request on every connected - network for each interface. - * ripd/ripd.h: update prototype for rip_interface_multicast_set - * ripd/rip_interface.c: (rip_interface_multicast_set) reorganized - so that it can be called repeatedly for aliased interfaces (on - multiple networks). - -2003-10-15 Jay Fenlason - - * lib/vty.c: (vty_telnet_option) Remote DoS exists if a telnet - end-sub-negotation is sent when no sub-negotation data has been - sent. Return immediately if no sub-negotation is in progress. - (vty_read) do not attempt to process options if no sub-negotation - is in progress. - -2003-10-15 Paul Jakma - - * lib/vty.c: (vty_save_cwd) dont crash if getcwd fails. try fallback - to SYSCONFDIR. Allocate cwd from the stack rather than relying on - (non-portable) getcwd() allocation (which we didnt seem to be - freeing). - -2003-10-13 Jay Fenlason - - * lib/zebra.h: define UINT32_MAX for those systems which do not - provide it. - * bgp_attr.h: define BGP_MED_MAX. - * bgp_route.c: update defines/constants to BGP_MED_MAX. - * bgp_routemap.c: ditto. clean up route_match_metric_compile - slightly to avoid unneccesary XMALLOC. - -2003-10-13 sowmini.varadhan@sun.com - - * ospf_lsa.h: Add OSPF_LSA_PREMATURE_AGE flag. - * ospf_lsa.c: added better debug comments. check sequence number in - ospf_lsa_install. ospf_maxage_lsa_remover() checks for - OSPF_LSA_PREMATURE_AGE and re-originates the lsa after ls_acks are - received. - * ospf_flood.c: improve debug statement- print ls_seqnum. - -2003-10-13 Douglas Fraser - - * zebra/connected.c: PtP revert fixup. Zebra was not creating - connected route for PtP peer. - -2003-10-07 Tarhon-Onu Victor - - * zebra/ipforward_proc.c: (ipforward) Close the fd for - /proc/net/snmp. See [quagga-dev 284] - -2003-09-29 Gilad Arnold - - * zebra/zebra_rib.c: Fix possible dangling reference to rib - route_nodes - unlock it the appropriate number of times. (twice, - because of the implicit lock). see [quagga-dev 251]. - -2003-09-29 Paul Jakma - - * zebra/connected.c: revert the 'generic PtP' patch as it causes - far too many problems. People who use FreeSWAN should investigate - native linux ipsec. - * zebra/rt_netlink.c: ditto - * lib/if.c: ditto - * ripd/ripd.h: ditto - * ripd/ripd.c: ditto - * ripd/rip_interface.c: ditto - * ospfd/ospfd.c: ditto - * ospfd/ospf_snmp.c: ditto - * bgpd/bgp_nexthop.c: ditto - * ospfd/ospf_packet.c: Add debug output for some of the previously - completely silent drops of 'bad' packets. - * configure.ac: bump version - -2003-08-27 Jay Fenlason - - * lib/Makefile.am: Do not use a lib (libcap) as a dependency - * zebra/Makefile.am: Link in libcap - * bgpd/bgp_routemap.c: attr->med is type u_in32_t, should be - compared with UINT32_MAX - * ospfd/ospfd.c: remove redundant assert - * zebra/rtadv.c: add missing include for zebra/rib.h - -2003-09-24 Paul Jakma - - * lib/version.h: moved to version.h.in - * lib/version.h.in: New file, from version.h. Change hardcoded - package name and version to use the autoconf defined substition - variables. - * configure.ac: Fix up AC/AM_INIT* to new style. Remove the sed'ing - through lib/version.h for VERSION. Add lib/version.h to the - AC_OUTPUT list. Update the text output of quagga version at end - of configure run to use PACKAGE_VERSION. - * doc/.cvsignore: ignore quagga.pdf - * doc/.cvsignore: ignore version.h, its now autogenerated. - -2003-09-24 sowmini.varadhan@sun.com - - * lib/if.c: (if_cmp_func) fix infinite loop if - ifp1->name == ifp2->name - * lib/linklist.c: (if_cmp_func) Fix handling of case where - list->cmp returns 0. - * rip_interface.c: (rip_interface_address_add) call - rip_enable_apply(), or the interface is never considered up. - see [quagga-dev 225]. - * zebra/kernel_socket.c: Fix up WRAPUP macro to deal with multiple - address families in the absence of sa_len element in struct - sockaddr. - (ifm_read): Handle solaris 9 if_msghdr_t. - Deal with interfaces which are incomplete, lookup on name rather - than the placeholder interface index of -1. - -2003-09-24 Thomas Giger TGC - - * ospf_packet.c (ospf_associate_packet_vl): pass NULL struct - interface to ospf_if_lookup_by_local_addr() rather than the - receiving interface ifp, packets for VL's could come in any - interface. See quagga-dev 250. - -2003-04-13 Paul Jakma - - * Amir: Opaque LSA bug fix for deletion of Type11's - * configure.ac: use --localstatedir for Unix sockets - * Hasso Tepper: When flushing as-ext LSAs flush associated NSSA - LSAs. - -2003-04-04 Paul Jakma - - * Sync to Zebra CVS - * Fix lib/thread.h leak - * Fix small Opaque LSA leak - * Do not configure OSPF interfaces for secondary addresses - * vtysh fixes from Hasso - * Dave Watson's missing ntohs fix - -2003-03-25 Paul Jakma - - * Sync to Zebra CVS - -2003-03-17 Amir Guindehi - - * Extended SNMP checks in configure.ac so that net-snmp works - -2003-03-17 Amir Guindehi - Ralph Keller - * merge OSPF-API - -2003-02-07 Paul Jakma - - * Sync to zebra CVS - -2003-02-03 Paul Jakma - - * Sync to zebra CVS - -2003-01-19 Paul Jakma - - * Temporary fix for Generic PtP wrt to IPv6 - -2003-01-17 Paul Jakma - - * Sync up to latest zebra.org CVS - * [zebra 16823] Bugfix and new feature in Opaque-LSA handling - Masahiko Endo - * [zebra 16824] [PATCH] nsm_kill_neighbor - Masahiko Endo - * [zebra 17217] [PATCH] show thread CPU - Yon Uriarte - * [zebra 17218] Re: [PATCH] CLI extensions. - Yon Uriarte - -2002-12-13 Paul Jakma - - * added support for vtysh 'write file' command to - write either per-daamon and/or integrated file - * ospfd md5 buffer copying fix (Greg Troxel) - * ospfd md5 sequence number derived from time() - * RIPv1 fixes and improvements (John Hay) - * link state detection (linux) ([zebra 12269]) - * Generic PtP and RFC3021 interface addressing support - (Frank van Maarseveen) - * Michal Ludvig : - [zebra 16525] PATCH: Bugfixes for KAME systems - * Kevin C Miller - [zebra 16681] OSPF NSSA Patches - * Yon Uriarte - [zebra 16671] [PATCH] CLI extensions - * Masahiko Endo: [zebra 15475] - MPLS-TE docs - -2002-07-07 Kunihiro Ishiguro - - * zebra-0.93 released. - -2002-06-28 Kunihiro Ishiguro - - * update-autotools: Change file name from update-auto-tools.sh. - -2002-06-21 Kunihiro Ishiguro - - * update-auto-tools.sh: Add a new script to clean up build - environment. - -2002-06-18 Kunihiro Ishiguro - - * Shift to the latest build environment autoconf-2.53 and - automake-1.6.2. - -2001-10-22 Kunihiro Ishiguro - - * Integrate Glen Turner 's pid option. - -2001-08-19 Kunihiro Ishiguro - - * zebra-0.92a released. - -2001-08-19 "Peter Galbavy" - - * configure.in: SNMP library check problem fix when the library is - installed under /usr/local/lib. - -2001-08-15 Kunihiro Ishiguro - - * zebra-0.92 released. - -2001-04-22 Kunihiro Ishiguro - - * configure.in (LIBPAM): Use ZEBRA_AC_C_BIGENDIAN to avoid a - warning. - (IF_METHOD): Use test -r instead of AC_CHECK_FILE to avoid - warnings. - - * config.guess: Update to 2000-11-10 version. - -2001-04-11 Kunihiro Ishiguro - - * configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADER to - detect in_pktinfo structure. Suggested by: Vlad Lungu - . - -2001-03-07 Michael Rozhavsky - - * configure.in: Add check for structure in_pktinfo. - -2001-02-07 "Bjoern A. Zeeb" - - * configure.in (USE_PAM): Fix PAM library detection code. - -2001-02-01 Kunihiro Ishiguro - - * zebra-0.91 is released. - -2001-01-12 Kunihiro Ishiguro - - * configure.in: Remove guile related definition. - -2001-01-11 Kunihiro Ishiguro - - * configure.in (ac_cv_htonl_works): HAVE_REPAIRABLE_HTONL is - removed. htonl should work fine on any platform. - -2001-01-10 Kunihiro Ishiguro - - * configure.in: Remove --enable-oldrib option. - - * acconfig.h: OLD_RIB definition is removed. - - * zebra-0.90 is released. - - * configure.in (LIBS): Add check for sun_len field in struct - sun_len. - -2001-01-09 Kunihiro Ishiguro - - * Makefile.am: Include init/redhat files to distribution. - -2001-01-07 Yasuhiro Ohara - - * configure.in: check libm.a for BGPd compile error. - AC_CHECK_LIB(m, main) was added. - -2000-12-29 Kunihiro Ishiguro - - * configure.in: --enable-unixdomain becomes default. Add - --enable-tcp-zebra for TCP/IP communication between protocol - daemon and zebra. - - * COPYING.LIB: Added for lib/getopt.c, lib/getopt.h, - lib/getopt1.c, lib/md5-gnu.h, lib/md5.c, lib/regex-gnu.h, - lib/regex.c. - - * Makefile.am (dist-hook): Include tools/*.cgi to distribution. - -2000-12-26 Kunihiro Ishiguro - - * configure.in (MULTIPATH_NUM): --enable-multipath=ARG specify - multipath number. ARG must be digit. - -2000-12-11 Kunihiro Ishiguro - - * configure.in: Add --enable-newrib for test new RIB code. - -2000-11-25 Yasuhiro Ohara - - * configure.in, config.h.in: Add check for libutil.h and - setproctitle(). - -2000-10-26 Kunihiro Ishiguro - - * configure.in: Add --enable-nssa for OSPF NSSA option. - - * acconfig.h: Define HAVE_NSSA. - -2000-10-25 "Bjoern A. Zeeb" - - * configure.in: pam_misc is only linked when the platform is - GNU/Linux. - -2000-10-24 Arkadiusz Miskiewicz - - * configure.in (LIBS): Add check for crypto library. test x`ls - ${ac_snmp}` is replaced with sipmle test -f. - -2000-10-23 Kunihiro Ishiguro - - * configure.in: Add --enable-unixdomain option. This will be - default behavior in zebra-0.90. - -2000-10-02 Kunihiro Ishiguro - - * zebra-0.89 is released. - -2000-09-27 Kunihiro Ishiguro - - * configure.in: Add check for Intel CPU for Solaris on x86 check. - -2000-09-21 Kunihiro Ishiguro - - * configure.in: Add check for getifaddrs(). - Set AM_INIT_AUTOMAKE version to 0.89. - -2000-09-14 Kunihiro Ishiguro - - * config.guess: Update to the latest version. - - * config.sub: Likewise - -2000-09-14 David Lipovkov - - * REPORTING-BUGS: New file is added. - -2000-08-27 itojun@iijlab.net - - * configure.in: Add ncurses library check when --enable-vtysh is - specified. - -2000-08-22 Kunihiro Ishiguro - - * configure.in: Add check for readline/history.h. - - * acconfig.h: Remove pthread related variables. - - * configure.in: Add --with-libpam option for vtysh PAM - authentication. Remove --disable-pthread because we don't support - pthread. - -2000-08-17 Kunihiro Ishiguro - - * zebra-0.88 is released. - - * configure.in: Add Solaris -lcurses for vtysh. - -2000-08-02 Kunihiro Ishiguro - - * configure.in: Add check for ncurses for compiling on Solaris. - -2000-07-27 Kunihiro Ishiguro - - * configure.in: Add check for libreadline when --enable-vtysh is - specified. - -2000-07-23 Kunihiro Ishiguro - - * configure.in: Add AC_DEFINE(OPEN_BSD). When OS is OpenBSD - interface method is if_ioctl.o - -2000-07-09 Chris Dunlop - - * acconfig.h: Add HAVE_BROKEN_ALIASES. - - * configure.in: Add --enable-broken-aliases. - -2000-06-12 Kunihiro Ishiguro - - * Set version to zebra-0.87. - -2000-06-05 Kunihiro Ishiguro - - * configure.in: Remove --enable-mpls-vpn. Now MPLS-VPN support is - default. - - * Set version to zebra-0.87-pre - - * Makefile.am: Likewise. - -2000-04-27 Kunihiro Ishiguro - - * Set version to 0.86. - -2000-03-21 Kunihiro Ishiguro - - * Set version to 0.85b for ospfd test. - -2000-03-20 Kunihiro Ishiguro - - * Set version to 0.85a for ospfd test. - -2000-03-08 Kunihiro Ishiguro - - * Set version to 0.85. - -2000-01-26 Kunihiro Ishiguro - - * Makefile.in: Regenerated by patched automake for fixing "make - clean" problem on FreeBSD. - -1999-12-08 Kunihiro Ishiguro - - * Set version to 0.83a. This is for *BSD static route lookup - problem. - -1999-12-06 Kunihiro Ishiguro - - * Set version to 0.83. - -1999-11-29 Kunihiro Ishiguro - - * Set version to 0.82. - -1999-11-23 Kunihiro Ishiguro - - * aczebra.m4: New file added. - -1999-11-21 Michael Handler - - * configure.in (LIBS): Add sa_len check of sockaddr. - - * acconfig.h: Add HAVE_SA_LEN. - -1999-11-12 Kunihiro Ishiguro - - * version.h: Update version to zebra-0.81b for bgpd test. - -1999-11-09 Kunihiro Ishiguro - - * configure.in: Add --enable-mbgp. - -1999-11-05 Kunihiro Ishiguro - - * Makefile.am (EXTRA_DIST): Add TODO to the distribution. - -1999-11-04 Kunihiro Ishiguro - - * TODO: New file is added. - -1999-11-03 Kunihiro Ishiguro - - * version.h: Update version to zebra-0.81a for ospfd test. - -1999-10-28 Kunihiro Ishiguro - - * configure.in: New option --enable-snmp is added. - -1999-10-24 Kunihiro Ishiguro - - * version.h: Update version to zebra-0.80. - -1999-10-21 Kunihiro Ishiguro - - * version.h: Update version to zebra-0.80-pre3 - -1999-10-18 Kunihiro Ishiguro - - * configure.in (LIBS): SNMP check is done by ucd-snmp/asn1.h. - -1999-10-10 Peter Galbavy - - * configure.in: Add support of OpenBSD. - -1999-10-04 Kunihiro Ishiguro - - * version.h: Update version to zebra-0.80-pre2. - -1999-09-27 Kunihiro Ishiguro - - * version.h: Update version to zebra-0.80-pre. From this version, - access-list and prefix-list's name space is divided into IPv4 and - IPv6. - -1999-09-17 Kunihiro Ishiguro - - * version.h: For test recent fixes Set version to zebra-0.79a. - -1999-09-14 Kunihiro Ishiguro - - * version.h: zebra-0.79 is out. - -1999-09-08 Kunihiro Ishiguro - - * version.h: For ospfd's virtual link test. Set version to 0.78h. - -1999-09-07 Kunihiro Ishiguro - - * version.h: For ospfd test. Set version to 0.78g. - -1999-09-05 Kunihiro Ishiguro - - * version.h: For internal test of ospfd. Set version to 0.78f. - -1999-09-02 Kunihiro Ishiguro - - * version.h: To test ospfd's fix, set version to 0.78e. - -1999-09-01 Kunihiro Ishiguro - - * version.h: To test ospfd's area related bug fix, set version - to 0.78d. - -1999-09-01 Kunihiro Ishiguro - - * version.h: To test ospfd, set version to 0.78c. - -1999-08-31 Janos Farkas - - * Many misspelling correction. - -1999-08-31 Kunihiro Ishiguro - - * version.h: To test ospfd, set version to 0.78b. - -1999-08-31 Kunihiro Ishiguro - - * configure.in (LIBS): Add UCD-SNMP include path check. - -1999-08-31 Lars Fenneberg - - * configure.in: The logic which detects the UCD-SNMP library - should first check in the default system locations for the library - and then in /usr/local. - -1999-08-27 itojun@iijlab.net - - * configure.in (LIBS): Fix problem about libsnmp.a check. - -1999-08-26 kay - - * configure.in (CFLAGS): Add to check socklen_t. - -1999-08-24 VOP - - * filter.c: Include "sockunion.h". - plist.c: Likewise. - table.c: Likewise. - -1999-08-24 Kunihiro Ishiguro - - * configure.in: Add netinet6/in6.h check. - -1999-08-21 Masaki Minami - - * BSD/OS 4.0 porting. - -1999-08-15 Kunihiro Ishiguro - - * configure.in: Add --enable-netlink option to force to use Linux - netlink interface. - (CFLAGS): Add ucd-snmp library check. - - * acconfig.h: If socklen_t is not defined, typedef int to - socklen_t. - -1999-08-15 Arkadiusz Miskiewicz - - * configure.in: When --enable-ipv6 specified, then only kernel - version is checked. - -1999-08-14 Kunihiro Ishiguro - - * configure.in: Add GNU libc 2.1 check. - -1999-08-02 Kunihiro Ishiguro - - * configure.in: Fix privious Linux IPv6 check changes. - -1999-08-02 Arkadiusz Miskiewicz - - * configure.in: Improve Linux IPv6 feature check. - -1999-07-29 Rick Payne - - * Changed route-maps to behave in a more cisco-like fashion - -1999-07-27 Gerhard Poul - - * SERVICES: New file added. - -1999-07-12 itojun@iijlab.net - - * configure.in: Add check for getaddrinfo. Improve Kame related - library check. - -1999-07-07 Yasuhiro Ohara - - * configure.in, acconfig.h: Add check for FreeBSD 3.2. - -1999-07-07 Kunihiro Ishiguro - - * configure.in: Delete check for netinet/ip6.h. - -1999-06-30 Gerhard Poul - - * README: remixed the old files and added some new parts. - moved some INSTALL stuff into INSTALL file. - moved some other stuff to doc/zebra.texi - -1999-06-29 Kunihiro Ishiguro - - * configure.in (LIBS): Add libresolv check. - Change --enabe-all-in-one option to --enable-one-vty. - -1999-06-20 Kunihiro Ishiguro - - * configure.in: Add --enabe-all-in-one option. - -1999-06-16 Kunihiro Ishiguro - - * configure.in: Add socklen_t check. - -1999-06-16 Gerhard Poul - - * Many compile warnings fixed. - -1999-05-31 Kunihiro Ishiguro - - * configure.in: Change message from Linux 2.2.X IPv6 to Linux IPv6. - OpenBSD (NRL) check is enabled. - -1999-05-30 Kunihiro Ishiguro - - * configure.in (LIBS): Add crypt library check. - -1999-05-08 Kunihiro Ishiguro - - * configure.in: Add sin6_scope_id in struct sockaddr_in6 check. - -1999-04-30 Kunihiro Ishiguro - - * Set version to 0.63 for first beta package. - -1999-04-15 Kunihiro Ishiguro - - * guile.m4: Added from guile package. - -1999-04-14 Kunihiro Ishiguro - - * Set version to 0.60 for beta package preparation. - -1999-04-12 Kunihiro Ishiguro - - * Makefile.am: Add noninst_LIBRARIES each directory's Makefile.am. - This change is for linking these libraries to guile. - -1999-04-08 Kunihiro Ishiguro - - * configure.in (LIBS): Add struct rt_addrinfo check. - -1999-04-07 Kunihiro Ishiguro - - * configure.in: AC_STDC_HEADERS added. - -1999-03-29 Kunihiro Ishiguro - - * Add dependencies to each directory's Makefile.am. - -1999-03-02 Peter Galbavy - - * reworked include file structure, and configure so that all - source files get all system-dependent include files by including - which is really lib/zebra.h. This means that the - different programs include files are now available as #include - "zebra/zebra.h" - note the use of quotes, not <> as delimiters. - - In practical terms, if I haven't really screwed up, the main file - that maintainers for other OSes have to change is lib/zebra.h for - all the conditional includes etc. - - * added --disable-pthread for those systems that seem to have - POSIX threads, but do not work. OpenBSD 2.4+ is like that just - now. Changed all occurance of #ifdef PTHREAD to use HAVE_PTHREAD - instead. - -1999-02-24 - - * configure.in: update to AC_PREREQ(1.13). - Change message from Linux 2.1.x to Linux 2.2.x. - * Added ospf6d directory support. - -1999-02-22 Peter Galbavy - - * added a "log" element to the BGPd peer structure, enabling us to - start thinging about a log stream per peer. This is currently - ignored by the wrapper code, but developers should try to use the - "appropriate" ZLOG stream. Documentation will follow, when the - real routines start to exist. - - The current plan is to use a copy of the BSD syslog() routines and - replace the syslog library function with our own. I will need - feedback from users of other platforms as this work is done to see - if all is well elsewhere. - - * preliminary work on zlog() library. directly replaces syslog() - currently with zlog(ZLOG *, ...) where the new first argument - is a pointer to a ZLOG structure (defined in lib/log.h) and will - encapsulate all the information necessary to maintain multiple - logging streams. - -1999-02-19 Peter Galbavy - - * added vsnprintf() macro to lib/str.h if required and removed - #ifdef SUNOS_5 dependency on it - -1999-02-18 Peter Galbavy - - * syslog support added - -1999-02-18 Peter Galbavy - - * configure.in: Add daemon function check. - -1999-01-21 Kunihiro Ishiguro - - * configure.in: Add --disable-ipv6, --disable-zebra, - --disable-bgpd, --disable-ripd, --disable-ripngd, --disable-ospfd - options to configure. - -1998-12-07 Kunihiro Ishiguro - - * configure.in: Check /usr/inet6/lib/libinet6.a exists or not. - -1998-10-14 Kunihiro Ishiguro - - * configure.in: Comment out FreeBSD's libc_r detect section. At - this moment it doesn't work correctly with zebra. - - Netlink interface is only enabled when Linux kernel version is - upper than 2.1.0. - -1998-09-15 HEO SeonMeyong - - * Hydrangea is now called KAME, so change all defines. - -1998-08-16 Kunihiro Ishiguro - - * configure.in: ifaliasreq check added. - -1998-08-12 Katsuhiro Kondou - - * Patch is applied for compile under EWS4800 - -1998-06-09 Kunihiro Ishiguro - - * configure.in: delete old mtu_method check. - - * doc/zebra.texi (Kernel interface): chapter `Kernel interface' added - -1998-06-08 Kunihiro Ishiguro - - * configure.in: add new netlink check for GNU/Linux - -1998-06-07 Kunihiro Ishiguro - - * doc/zebra.texi: Update Linux netlink chapter. - -1998-05-18 Yamashita TAKAO - - * config.h.in: define PTHREAD if work on Solaris 2.6 - why delete the definition? I miss? - -1998-05-08 Kunihiro Ishiguro - - * configure.in: add net/if.h header check. - -1998-05-02 SeonMeyong HEO - - * zebra.tex,archfig.tex,zebra.sty: Manual file is added. - * zebra.texi: Modify Introduction text. - * RIPngd.c: Patch Hydrangea code. - -1998-05-01 Kunihiro Ishiguro - - * .cvsignore: added. - - * Makerule.in: is gone. - * Makefile.am: Now we use automake to generate Makefile.in - -1998-03-19 Yamashita TAKAO - - * lib/vty.c: modified the definition of *master - * lib/sockunion.c (inet_aton): add, but don't work. uum... - - -1998-03-15 Yamashita TAKAO - - * configure.in: define PTHREAD if work on Solaris 2.6 - * config.h.in: likewise - * lib/thread.c: likewise - * lib/vty.c: likewise - -1998-03-15 SeonMeyong HEO - - * config.h.in: define INET6 if defined HAVE_IPV6 & HYDRANGEA - * bgpd/: remove include line. - * lib/: remove include line. - * ripbgd/: remove include line. - * zebra/: remove include line. - * ripd/*.c: remove include line. - undefine IPV6 difinitions because RIPd is not worked for - IPv6 protocol. - - -1998-01-30 Kunihiro Ishiguro - - * configure.in: Change routing socket check method from - AC_TRY_COMPILE to AC_TRY_RUN because GNU libc version 2 has - AF_ROUTE but over linux it's meenigless. - -1998-01-06 Kunihiro Ishiguro - - * config.h.in: remove err_t define. - -1997-11-18 Kunihiro Ishiguro - - * configure.in (canonical): add check of IF_METHOD - -1997-09-27 Kunihiro Ishiguro - - * configure.in: add INRIA check - -1997-09-25 Kunihiro Ishiguro - - * configure.in (canonical): change ipforward_snmp.o to ipforward_proc.o - -1997-09-12 Kunihiro Ishiguro - - * configure.in: change IRDPD to NDPD - -1997-08-18 Kunihiro Ishiguro - - * INSTALL: new file - -1997-08-14 Kunihiro Ishiguro - - * config.h: add XCALLOC() - diff --git a/bgpd/ChangeLog b/bgpd/ChangeLog deleted file mode 100644 index e92a72a9..00000000 --- a/bgpd/ChangeLog +++ /dev/null @@ -1,3992 +0,0 @@ -2008-07-22 Paul Jakma - - * bgp_{packet,route,advertise}.c: change to compiler testing of - DISABLE_BGP_ANNOUNCE, rather than cpp. - -2008-07-22 MIYAJIMA Mitsuharu - - * bgp_packet.c: (bgp_update_packet_eor) Fix crash triggerable - if a bgpd was compiled with --disable-bgp-announce and if GR is - advertised by peer. - -2008-07-22 Paul Jakma - - * bgp_community.c: (community_str2com) assigns defaults to local - vars - * bgp_attr.c: (bgp_attr_parse) match format specifier to arg - * bgp_table.{c,h}: (bgp_table_top) can take a * to a const, quelling - warning in bgp_route.c - -2008-07-21 Paul Jakma - - - * bgp_packet.c: (bgp_open_receive) fix warning in a zlog call - * bgp_vty.c: (bgp_vty_return) add return code - * bgpd.c: (bgp_master_init) setup the socket list. - * bgp_network.c: Remove the dual IPv4/6 socket thing for now, which - was implemented by Michael, until such time as its clear its - required for Linux (see sockopt comments). IPv6 support, including - IPv4 sessions on AF_INET6 sockets, therefore is broken, and the - '-l 0.0.0.0' arguments would need to be given to bgpd to make - things work here. - -2008-07-21 Michael H. Warfield - YOSHIFUJI Hideaki - Tomohiko Kusuda - Leigh Brown - - * bgp_network.c: (bgp_md5_set_one) shim between libzebra tcp-md5 - sockopt and bgpd. - (bgp_md5_set_socket) Helper for bgp_connect - (bgp_md5_set) setup TCP-MD5SIG for the given peer. - (bgp_connect) call out to bgp_md5_set_socket for the outgoing - connect socket. - (bgp_socket) save references to the listen sockets, needed if - TCP-MD5SIG is applied later or changed. - * bgp_vty.c: (*neighbor_password_cmd) New 'neighbor ... password' - commands. - * bgpd.c: (peer_{new,delete) manage TCP-MD5 password - (peer_group2peer_config_copy) inherit TCP-MD5 password - (peer_password_{un,}set) orchestrate the whole add/remove of TCP-MD5 - passwords: applying checks, stopping peers, and trying to return - errors to UI, etc. - (bgp_config_write_peer) save password. - Fix missing newline in writeout of neighbor ... port. - -2008-07-02 MIYAJIMA Mitsuharu - - * *.c: CMD_AS_RANGE was being used inside command strings, and thus - not being expanded, fix by dequoting. - -2008-07-02 Stephen Hemminger - - * bgp_table.{c,h}: (bgp_table_finish) Take a double pointer and - scrub pointer in caller, so fixing double-free crashes seen - with route-server-client configuration. - * *.c: Adjust all callers of bgp_table_finish - -2008-07-02 Paul Jakma - - * bgp_table.{c,h}: (bgp_node_delete, bgp_table_free) shouldn't be - exported. - -2008-06-07 Paul Jakma - - * bgp_attr.{c,h}: (bgp_mp_{un,}reach_parse) export, for unit tests. - * bgp_attr.c: (bgp_mp_reach_parse) Add logging. Tighten length test - to bounds check against the attribute length rather than the - stream length.. - -2008-06-01 jfletche@gmail.com - - * bgp_attr.c: (bgp_attr_aspathlimit) fix silly bug in flags check - that was causing BGP to drop sessions if it received a - aspath-limit with partial set. Fixes bug #419. - -2008-04-10 Denis Ovsienko - - * bgp_aspath.[ch]: (aspath_filter_exclude) New function allows - filtering out arbitrary ASns from AS_PATH attribute. - * bgp_aspath.[ch]: (aspath_print_vty) Accept suffix to let calling - functions signal, if they want the separator or not. - * bgp_route.c: (route_vty_out, route_vty_out_tmp, damp_route_vty_out, - flap_route_vty_out, route_vty_out_detail) Fix aspath_print_vty() - calls to have AS_PATH output nicely. - * bgp_routemap.c: Introduce "set as-path exclude" route-map command - to employ new filtering functionality. - -2008-03-13 Paul Jakma - - * (various) Remove 0 entries from struct message's, unneeded due to - recent improvements in mes_lookup/LOOKUP. - -2008-01-29 Jorge Boncompte - - * bgp_network.c: (bgp_socket) IPv4-only version crashes if -l is not - used as address will be null. - -2007-12-22 Paul Jakma - - * Fix series of vulnerabilities reported by "Mu Security - Research Team", where bgpd can be made to crash by sending - malformed packets - requires that bgpd be configured with a - session to the peer. - * bgp_attr.c: (bgp_attr_as4_path) aspath_parse may fail, only - set the attribute flag indicating AS4_PATH if we actually managed - to parse one. - (bgp_attr_munge_as4_attrs) Assert was too general, it is possible - to receive AS4_AGGREGATOR before AGGREGATOR. - (bgp_attr_parse) Check that we have actually received the extra - byte of header for Extended-Length attributes. - * bgp_attr.h: Fix BGP_ATTR_MIN_LEN to account for the length byte. - * bgp_open.c: (cap_minsizes) Fix size of CAPABILITY_CODE_RESTART, - incorrect -2 left in place from a development version of as4-path - patch. - * bgp_packet.c: (bgp_route_refresh_receive) ORF length parameter - needs to be properly sanity checked. - -2007-12-18 Denis Ovsienko - - * bgp_routemap.c: (no_set_aspath_prepend) This command cancelled - existing "set" command regardless if "no set" matched it or not. - Fixed. - -2007-11-13 Paul Jakma - - * bgp_main.c: Small fix, format string parameters should never - be NULL - it's not strictly valid and some libc's don't let - you away with. - -2007-10-30 Nick Hilliard - - * bgp_main.c: Add 'listenon' argument, to pass address to bind - to. - * bgp_network.c: (bgp_socket) Extend to take bind address. - * bgpd.c: (bgp_init) Pass stored address. - * bgpd.h: (struct bgp_master) storage for bind address - -2007-09-27 Paul Jakma - - * bgp_aspath.c: (assegment_normalise) remove duplicates from - from sets. - (aspath_reconcile_as4) disregard a broken part of the RFC around - error handling in path reconciliation. - -2007-09-25 Paul Jakma - - * bgp_open.c: (peek_for_as4_capability) Fix to work. - * bgp_packet.c: (bgp_open_receive) Fix sanity check of as4. - -2007-09-18 Paul Jakma - - * bgp_open.c: (bgp_capability_as4) debug printf inline with others. - (peek_for_as4_capability) There's no need to signal failure, as - failure is better dealt with through full capability parser - - just return the AS4, simpler. - * bgp_packet.c: (bgp_open_receive) Update to match - peek_for_as4_capability change. - Allow use of BGP_AS_TRANS by 2b speakers. - Use NOTIFY_OPEN_ERR rather than CEASE for OPEN parsing errors. - (bgp_capability_msg_parse) missing argument to debug print - (bgp_capability_receive) missing return values. - - -2007-07-25 Paul Jakma - - * Remove 2-byte size macros, just make existing macros take - argument to indicate which size to use. - Adjust all users - typically they want '1'. - * bgp_aspath.c: (aspath_has_as4) New, return 1 if there are any - as4's in a path. - (aspath_put) Return the number of bytes actually written, to - fix the bug Juergen noted: Splitting of segments will change - the number of bytes written from that already written to the - AS_PATH header. - (aspath_snmp_pathseg) Pass 2-byte flag to aspath_put. SNMP - is still defined as 2b. - (aspath_aggregate) fix latent bug. - (aspath_reconcile_as4) AS_PATH+NEW_AS_PATH reconciliation - function. - (aspath_key_make) Hash the AS_PATH string, rather than - just taking the addition of assegment ASes as the hash value, - hopefully sligthly more collision resistant. - (bgp_attr_munge_as4_attrs) Collide the NEW_ attributes - together with the OLD 2-byte forms, code Juergen - had in bgp_attr_parse but re-organised a bit. - (bgp_attr_parse) Bunch of code from Juergen moves - to previous function. - (bgp_packet_attribute) Compact significantly by - just /always/ using extended-length attr header. - Fix bug Juergen noted, by using aspath_put's - (new) returned size value for the attr header rather - than the (guesstimate) of aspath_size() - the two could - differ when aspath_put had to split large segments, unlikely - this bug was ever hit in the 'wild'. - (bgp_dump_routes_attr) Always use extended-len and - use aspath_put return for header length. Output 4b ASN - for AS_PATH and AGGREGATOR. - * bgp_ecommunity.c: (ecommunity_{hash_make,cmp}) fix - hash callback declarations to match prototypes. - (ecommunity_gettoken) Updated for ECOMMUNITY_ENCODE_AS4, - complete rewrite of Juergen's changes (no asdot support) - * bgp_open.c: (bgp_capability_as4) New, does what it says - on the tin. - (peek_for_as4_capability) Rewritten to use streams and - bgp_capability_as4. - * bgp_packet.c: (bgp_open_send) minor edit - checked (in the abstract at least) with Juergen. - Changes are to be more accepting, e.g, allow AS_TRANS on - a 2-byte session. - * (general) Update all commands to use CMD_AS_RANGE. - * bgp_vty.c: (bgp_clear) Fix return vals to use CMD_.. - Remove stuff replicated by VTY_GET_LONG - (bgp_clear_vty) Return bgp_clear directly to vty. - - -2007-07-25 Juergen Kammer - - * (general) AS4 support. - * bgpd.h: as_t changes to 4-bytes. - * bgp_aspath.h: Add BGP_AS4_MAX and BGP_AS_TRANS defines. - * bgp_aspath.c: AS_VALUE_SIZE becomes 4-byte, AS16_VALUE_SIZE - added for 2-byte. - Add AS16 versions of length calc macros. - (aspath_count_numas) New, count number of ASes. - (aspath_has_as4) New, return 1 if there are any as4's in a - path. - (assegments_parse) Interpret assegment as 4 or 2 byte, - according to how the caller instructs us, with a new - argument. - (aspath_parse) Add use32bit argument to pass to - assegments_parse. Adjust all its callers to pass 1, unless - otherwise noted. - (assegment_data_put) Adjust to be able to write 2 or 4 byte - AS, according to new use32bit argument. - (aspath_put) Adjust to write 2 or 4. - (aspath_gettoken) Use a long for passed in asno. - * bgp_attr.c: (attr_str) Add BGP_ATTR_AS4_PATH and - BGP_ATTR_AS4_AGGREGATOR. - (bgp_attr_aspath) Call aspath_parse with right 2/4 arg, as - determined by received-capability flag. - (bgp_attr_aspath_check) New, code previously in attr_aspath - but moved to new func so it can be run after NEW_AS_PATH - reconciliation. - (bgp_attr_as4_path) New, handle NEW_AS_PATH. - (bgp_attr_aggregator) Adjust to cope with 2/4 byte ASes. - (bgp_attr_as4_aggregator) New, read NEW_AGGREGATOR. - (bgp_attr_parse) Add handoffs to previous parsers for the two - new AS4 NEW_ attributes. - Various checks added for NEW/OLD reconciliation. - (bgp_packet_attribute) Support 2/4 for AS_PATH and - AGGREGATOR, detect when NEW_ attrs need to be sent. - * bgp_debug.{c,h}: Add 'debug bgp as4'. - * bgp_dump.c: MRTv2 support, unconditionally enabled, which - supports AS4. Based on patches from Erik (RIPE?). - * bgp_ecommunity.c: (ecommunity_ecom2str) ECOMMUNITY_ENCODE_AS4 - support. - * bgp_open.c: (peek_for_as4_capability) New, peek for AS4 - capability prior to full capability parsing, so we know which - ASN to use for struct peer lookup. - (bgp_open_capability) Always send AS4 capability. - * bgp_packet.c: (bgp_open_send) AS4 handling for AS field - (bgp_open_receive) Peek for AS4 capability first, and figure - out which AS to believe. - * bgp_vty.c: (bgp_show_peer) Print AS4 cap - -2007-09-17 Paul Jakma - - * bgp_open.c: (bgp_capability_mp) We were setting - afc_nego[safi][safi] rather than afc_nego[afi][safi], thus - failling to announce any non-IPv4 prefixes. Remove the extra, - typo-ed character. - -2007-09-07 Paul Jakma - - * (general) bgpd can be made crash by remote peers if debug - bgp updates is set, due to NULL pointer dereference. - Reported by "Mu Security Research Team", - . - * bgp_attr.c: (bgp_attr_community) If community length is 0, - don't set the community-present attribute bit, just return - early. - * bgp_debug.c: (community_str,community_com2str) Check com - pointer before dereferencing. - -2007-08-31 Paul Jakma - - * (general) Add 'bgp open-accept' option, to allow bgpd to send OPEN - on accepted connections, i.e. to not wait till after - collision-detect to send OPEN, which appears to be allowed in - RFC4271. This may help speed up establishing sessions, or help - avoid FSM problems with sessions to certain peers. Not enabled by - default though. - -2007-08-27 Paul Jakma - - * bgp_route.c: (bgp_announce_check) Fix bug #398, slight - modification of Vladimir Ivanov's suggested fix - to keep - memory alloc conditional. - (bgp_process_announce_selected) Don't take struct attr as - argument, none of the callers need it and it needlessly - distances allocation from use. - Free the extended attr, the attr itself is on the stack. - Fix bad indentation. - * bgp_attr.c: (bgp_packet_attribute) Remove incorrect assert, - and adjust conditional to test attr->extra, diagnosis by - Vladimir Ivanov in bug #398. - -2007-08-27 Vladimir Ivanov - - * bgp_route.c: (bgp_announce_check_rsclient) copy of - ri->attr is no longer deep enough, due to addition of - attr->extra. It should use bgp_attr_dup, as - bgp_announce_check() does. - -2007-08-23 Paul Jakma - - * bgp_regex.c: (bgp_regcomp) Pass NOSUB flag to regcomp to - prevent parsing of substitutions, which can have profound - performance effects on bgpd and are of no use to the CLI - anyway. How much it helps depends on the regex - implementation. - -2007-07-31 Paul Jakma - - * (general) Support for draft-ietf-idr-as-pathlimit-03. - * bgp_attr.h: (struct attr) Add pathlimit struct - bgp_attr.c: (attr_str) Add BGP_ATTR_AS_PATHLIMIT string. - (attrhash_key_make) tally pathlimit too - (attrhash_cmp) cmp pathlimit attr - (bgp_attr_aspathlimit) New, parse AS_PATHLIMIT attr. - (bgp_attr_parse) ditto - (bgp_packet_attribute) Write out AS_PATHLIMIT when set - (bgp_dump_routes_attr) ditto - * bgp_route.h: (struct bgp_static) Add TTL field - * bgp_route.c: (bgp_announce_check) Drop paths that are over - their hop-count TTL before sending via EBGP. - Mangle ASN in pathlimit for confeds/private as best we can. - (bgp_static_update_{rsclient,main}) Add any configure pathlimit - information. - (bgp_pathlimit_update_parents) New, update atomic-aggr setting for - parents of an aspathlimit'ed static. - (bgp_static_set) Add TTL argument, for all the 'bgp network' - commands. - Call previous for TTL changed statics. - (bgp_static_unset) Call pathlimit_update_parents. - (various bgp network commands) Add 'pathlimit <0-255>' qualifier - to all the various forms, bar route-map - which can set ttl - itself. - * bgp_routemap.c: (general) Add support for 'set pathlimit ttl' and - 'match pathlimit as'. - -2007-07-26 Paul Jakma - - * (general) Clean up and compact capability parsing slightly. - Consolidate validation of length and logging of generic TLV, and - memcpy of capability data, thus removing such from cap specifc - code (not always present or correct). - * bgp_open.h: Add structures for the generic capability TLV header - and for the data formats of the various specific capabilities we - support. Hence remove the badly named, or else misdefined, struct - capability. - * bgp_open.c: (bgp_capability_vty_out) Use struct capability_mp_data. - Do the length checks *before* memcpy()'ing based on that length - (stored capability - should have been validated anyway on input, - but..). - (bgp_afi_safi_valid_indices) new function to validate (afi,safi) - which is about to be used as index into arrays, consolidates - several instances of same, at least one of which appeared to be - incomplete.. - (bgp_capability_mp) Much condensed. - (bgp_capability_orf_entry) New, process one ORF entry - (bgp_capability_orf) Condensed. Fixed to process all ORF entries. - (bgp_capability_restart) Condensed, and fixed to use a - cap-specific type, rather than abusing capability_mp. - (struct message capcode_str) added to aid generic logging. - (size_t cap_minsizes[]) added to aid generic validation of - capability length field. - (bgp_capability_parse) Generic logging and validation of TLV - consolidated here. Code compacted as much as possible. - * bgp_packet.c: (bgp_open_receive) Capability parsers now use - streams, so no more need here to manually fudge the input stream - getp. - (bgp_capability_msg_parse) use struct capability_mp_data. Validate - lengths /before/ memcpy. Use bgp_afi_safi_valid_indices. - (bgp_capability_receive) Exported for use by test harness. - * bgp_vty.c: (bgp_show_summary) fix conversion warning - (bgp_show_peer) ditto - * bgp_debug.h: Fix storage 'extern' after type 'const'. - -2007-07-31 Lorenzo Colitti - - * bgp_dump.c: (general) Add comments to code. - (bgp_dump_interval_add) remove some redundant lines. - (bgp_dump_set) Use enum for type argument. - Avoid scheduling dump twice if exact same command - is given twice.. - -2007-06-22 Paul Jakma - - * bgp_fsm.c: (struct FSM) Bug #368. TCP Errors during OpenSent - should cycle to Active, not to Idle or else peer bringup can - race and cycle Idle<->Active. Reported and fix tested by - Mukesh Agrawal. - -2007-05-25 Paul Jakma - - * bgp_route.c: (bgp_default_originate) Sanity check added - previously was broken and always failed, thus this function - never could run, bug #370. - -2007-05-03 Paul Jakma - - * bgp_route.h: (struct info) Move less frequently used - fields to a lazily allocated struct info_extra. - Export bgp_info_extra_get - * bgp_route.c: (bgp_info_extra_new) allocate extra - (bgp_info_extra_free) Free damp info and the info_extra. - (bgp_info_extra_get) Retrieve the info_extra of a struct - info, allocating as required. - (generally) adjust to use info->extra - * bgp_damp.c: (generally) use bgp_info_extra_get to access - dampinfo - * bgp_attr.h: Move rarely allocated attributes from struct attr - to a struct attr_extra, for a substantial saving in size of - struct attr. - * bgp_attr.c: (bgp_attr_extra_{new,free}), new, self-explanatory. - (bgp_attr_extra_get) Get the attr_extra for a given struct - attr, allocating it if needs be. - (bgp_attr_dup) Shallow copy the struct attr and its attr_extra. - (generally) adjust to know about attr->extra. - * bgp_debug.c: (bgp_dump_attr) ditto - * bgp_vty.c: (show_bgp_memory) print attr and info extra sizes. - * bgp_nexthop.c: (generally) adjust to know about attr->extra - and info->extra. - * bgp_{packet,routemap,snmp,zebra}.c: ditto - -2007-04-22 Sebastien Tandel - * bgp_advertise.c : (baa_hash_alloc, baa_hash_key, baa_hash_cmp) - conforms to quagga hash API. Defines _hash_[alloc|key|cmp] with - void * arguments as defined by the API. - * bgp_aspath.c,h : (aspath_key_make) conforms to quagga hash API. - Defines _hash_[alloc|key|cmp] with void * arguments as defined by - the API. - * bgp_attr.c,h : (cluster_hash_alloc, cluster_hash_key_make, - cluster_hash_cmp, transit_hash_alloc, transit_hash_key_make, - transit_hash_cmp, attrhash_key_make, attrhash_cmp, - bgp_attr_hash_alloc) conforms to quagga hash API. Defines - _hash_[alloc|key|cmp] with void * arguments as defined by the API. - * bgp_attr.h : Definition of BGP_ATTR_DEFAULT_WEIGHT. - * bgp_attr.c : (bgp_attr_default_intern) now uses - bgp_attr_default_set instead of duplicating the same code. - (general) Use of BGP_ATTR_DEFAULT_WEIGHT. Replace two 16 by - IPV6_MAX_BYTELEN. - -2007-04-15 Sebastien Tandel - - * bgp_aspath.c: (aspath_as_add, aspath_segment_add) Minor performance - optimization: while loop should test one pointer instead of two. - -2007-04-08 Paul Jakma - - * bgp_route.c: (general) Same bug as fixed on 2006-11-28 by ajs for - bgp static routes, but for main BGP RIB: Quick 'flap' of routes - can cause bgpd to mistake a new route for a duplicate route, - due to presence of removed, but not yet processed BGP RIB entry. - (bgp_update_rsclient) Ignore REMOVED bgp_info for duplicate, - restore route instead. - (bgp_update_main) Ditto. - * bgp_attr.c: (general) Bug #354: parsing of MP_REACH_NLRI and - MP_UNREACH_NLRI does not take sufficient care to ensure reads - from stream buffer stay in-bounds. Hence bgpd may attempt to read - beyond end of stream, if given a crafted packet. As it uses the - stream access methods to do so, this will typically result in - assert() being hit in stream.c. Where code is compiled without - assert() enabled, result is unknown. - (struct message attr_str) should be static. - (bgp_mp_reach_parse) Carefully check length remaining in stream - against amount desired to read from stream, prior to each read, - particularly where lengths are conditional on data obtained from - stream - using STREAM_READABLE. - Remove code to parse SNPA-number, it's a defunct field and changed - to a fixed size in latest BGP MP update RFC - log warning if - SNPA-number is not 0. - (bgp_mp_unreach_parse) Check withdraw_length carefully against - STREAM_READABLE. - (bgp_attr_parse) If attribute-parser function returns error, log - warning. - Log attribute type on mismatch. - -2007-04-07 Paul Jakma - - * bgpd.c: (general) Fix bug #352 - (bgp_config_write_family_header) write ipv6/multicast - address family header. - (bgp_config_write) write out ipv6 multicast AF config. - -2007-02-22 Paul Jakma - - * bgp_fsm.c: (bgp_fsm_change_status) Handle state change into - clearing or greater here. Simpler. - (bgp_event) Clearing state change work moved to previous - * bgp_route.c: (bgp_clear_route_node) Clearing adj-in here - is too late, as it leaves a race between a peer being deleted - and an identical peer being configured before clearing - completes, leading to a crash. - Simplest fix is to clean peers Adj-in up-front, rather than - queueing such work. - (bgp_clear_route_table) Clear peer's Adj-In and Adj-Out - up-front here, rather than queueing such work. - Extensive comment added on the various bits of indexed data - that exist and how they need to be dealt with. - (bgp_clear_route) Update comment. - -2006-12-12 Andrew J. Schorr - - * bgp_nexthop.c: (bgp_connected_add, bgp_connected_delete) - Simplify logic by using new CONNECTED_PREFIX macro. - -2006-12-07 Paul Jakma - - * bgp_fsm.c: Bug #302 fix, diagnosis, suggestions and testing - by Juergen Kammer . Fix follows from - his suggested fix, just made in a slightly different way. - (bgp_event) Transitions into Clearing always must call - bgp_clear_route_all(). - (bgp_stop) No need to clear routes here, BGP FSM should do - it. - -2006-11-30 Andrew J. Schorr - - * bgp_debug.h: Declare new bgp_debug_zebra conf and term flags, - and define BGP_DEBUG_ZEBRA. - * bgp_debug.c: Declare conf_bgp_debug_zebra and term_bgp_debug_zebra. - (debug_bgp_zebra, no_debug_bgp_zebra, undebug_bgp_zebra) New - functions to enable/disable bgp zebra debugging. - (no_debug_bgp_all) Turn off zebra debugging. - (show_debugging_bgp) Show whether zebra debugging is on. - (bgp_config_write_debug) Add 'debug bgp zebra' if configured. - (bgp_debug_init) Add new zebra debugging commands. - * bgp_zebra.c: (bgp_router_id_update, bgp_interface_add, - bgp_interface_delete, bgp_interface_up, bgp_interface_down, - bgp_interface_address_add, bgp_interface_address_delete, - zebra_read_ipv4, zebra_read_ipv6, bgp_zebra_announce, - bgp_zebra_withdraw, bgp_redistribute_set, bgp_redistribute_unset) - If zebra debugging is enabled, log an appropriate debug message. - -2006-11-28 Andrew J. Schorr - - * bgp_route.c: (bgp_info_restore) New function that undoes - the effects of a previous call to bgp_info_delete. This is - used when a route is deleted and quickly re-added before the - deletion has been processed. - (bgp_static_update_rsclient, bgp_static_update_main, - bgp_redistribute_add) Check whether a pre-existing route - has the BGP_INFO_REMOVED set, and, if so, we need to call - bgp_info_restore to resurrect it. - -2006-10-27 Paul Jakma - - * bgp_route.c: (bgp_table_stats) oops, u_intXX_t should be - uintXX_t - -2006-10-19 Paul Jakma - - * bgpd.c: (peer_new) bgp element of peer absolutely must be - filled in, make peer_new() require it as argument and update - all callers. Fixes a crash reported by Jan 'yanek' Bortl and - Andrew Schorr where bgpd would crash in bgp_pcount_adjust - trying to dereference the bgp member of bgp->peer_self, - triggered through redistribution. - * bgp_route.c: (bgp_pcount_adjust) assert sanity of arguments. - -2006-10-15 Paul Jakma - - * bgp_route.c: (bgp_table_stats_walker) NULL deref if table is - empty, bgp_table_top may return NULL, Coverity CID#73. - * bgp_packet.c: (bgp_update_packet) adv->rn can not be NULL, - check is bogus - changed to assert(), CID#64. - binfo is checked for NULL, but then dereferenced - unconditionally, fix, CID #63. - (bgp_withdraw_packet) Assert adv->rn is valid, as with - bgp_update_packet(). - -2006-10-14 Paul Jakma - - * bgp_fsm.h: Remove BGP_EVENT_FLUSH_ADD, dangerous and not - needed. - * bgp_fsm.c: (bgp_stop) Move BGP_EVENT_FLUSH to the top of the - of the function, otherwise it could flush a ClearingCompleted - event, bug #302. - * bgp_packet.c: Replace all BGP_EVENT_FLUSH_ADD with - BGP_EVENT_ADD, fixing bug #302. - -2006-09-19 Andrew J. Schorr - - * bgpd.c: (peer_uptime) Fix printf format/arg mismatch in - zlog_warn message (%ld/size_t -> %lu/u_long). - -2006-09-14 Paul Jakma - - * bgp_route.c: (bgp_table_stats_walker) Address space announced - should only count top-level unaggregateable prefixes, to - avoid falling afoul of anti-dodgy-accounting regulations - in various jurisdictions.. ;) - (bgp_process_queue_init) process queue hold time too high, - adds extra memory load. Change to be much lower, until such - time as it's made configurable. - -2006-09-14 Paul Jakma - - * (general) fix the peer refcount issue exposed by previous, by - just removing refcounting of peer threads, which is mostly - senseless as they're references leading from struct peer, - which peer_free cancels anyway. No need to muck around.. - * bgp_fsm.h: Just remove the refcounting from the various - TIMER/READ/WRITE/EVENT ON/OFF/ADD macros. - * bgp_fsm.c: (bgp_stop) use BGP_EVENT_FLUSH, no refcounts attached - to events anymore. - (bgp_event) remove peer_unlock, events not refcounted. - * bgpd.c: (peer_free) flush events before free. - -2006-09-14 Paul Jakma - - * (general) Fix some niggly issues around 'shutdown' and clearing - by adding a Clearing FSM wait-state and a hidden 'Deleted' - FSM state, to allow deleted peers to 'cool off' and hit 0 - references. This introduces a slow memory leak of struct peer, - however that's more a testament to the fragility of the - reference counting than a bug in this patch, cleanup of - reference counting to fix this is to follow. - * bgpd.h: Add Clearing, Deleted states and Clearing_Completed - and event. - * bgp_debug.c: (bgp_status_msg[]) Add strings for Clearing and - Deleted. - * bgp_fsm.h: Don't allow timer/event threads to set anything - for Deleted peers. - * bgp_fsm.c: (bgp_timer_set) Add Clearing and Deleted. Deleted - needs to stop everything. - (bgp_stop) Remove explicit fsm_change_status call, the - general framework handles the transition. - (bgp_start) Log a warning if a start is attempted on a peer - that should stay down, trying to start a peer. - (struct .. FSM) Add Clearing_Completed - events, has little influence except when in state - Clearing to signal wait-state can end. - Add Clearing and Deleted states, former is a wait-state, - latter is a placeholder state to allow peers to disappear - quietly once refcounts settle. - (bgp_event) Try reduce verbosity of FSM state-change debug, - changes to same state are not interesting (Established->Established) - Allow NULL action functions in FSM. - * bgp_packet.c: (bgp_write) Use FSM events, rather than trying - to twiddle directly with FSM state behind the back of FSM. - (bgp_write_notify) ditto. - (bgp_read) Remove the vague ACCEPT_PEER peer_unlock, or else - this patch crashes, now it leaks instead. - * bgp_route.c: (bgp_clear_node_complete) Clearing_Completed - event, to end clearing. - (bgp_clear_route) See extensive comments. - * bgpd.c: (peer_free) should only be called while in Deleted, - peer refcounting controls when peer_free is called. - bgp_sync_delete should be here, not in peer_delete. - (peer_delete) Initiate delete. - Transition to Deleted state manually. - When removing peer from indices that provide visibility of it, - take great care to be idempotent wrt the reference counting - of struct peer through those indices. - Use bgp_timer_set, rather than replicating. - Call to bgp_sync_delete isn't appropriate here, sync can be - referenced while shutting down and finishing deletion. - (peer_group_bind) Take care to be idempotent wrt list references - indexing peers. - -2006-09-13 Paul Jakma - - * bgp_aspath.c: (aspath_highest) new, return highest ASN in an - aspath. - * bgp_route.c: (bgp_peer_count_walker) new, do the walk done - in bgp_peer_counts as a thread. - (bgp_peer_counts) move walk to previous and call it via - thread_execute so this RIB walk shows up in thread stats. - (bgp_table_stats) New, gather some statistics for a given - RIB. - (bgp_table_stats_walker) New, RIB walker thread for former. - (bgp_table_stats_vty) Parsing front-end for 'show bgp ...', - useful model for future rationalisation of 'show ... bgp'. - (bgp_route_init) Add new RIB stats commands. - -2006-09-06 Paul Jakma - - * (general) Squash any and all prefix-count issues by - abstracting route flag changes, and maintaining count as and - when flags are modified (rather than relying on explicit - modifications of count being sprinkled in just the right - places throughout the code). - * bgp_route.c: (bgp_pcount_{dec,inc}rement) removed. - (bgp_pcount_adjust) new, update prefix count as - needed for a given route. - (bgp_info_{uns,s}et_flag) set/unset a BGP_INFO route status - flag, calling previous function when appropriate. - (general) Update all set/unsets of flags to use previous. - Remove pcount_{dec,inc}rement calls. - No need to unset BGP_INFO_VALID in places where - bgp_info_delete is called, it does that anyway. - * bgp_{damp,nexthop}.c: Update to use bgp_info_{un,}set_flag. - * bgp_route.h: Export bgp_info_{un,}set_flag. - Add a 'meta' BGP_INFO flag, BGP_INFO_UNUSEABLE. - Move BGP_INFO_HOLDDOWN macro to here from bgpd.h - -2006-09-03 Paul Jakma - - * bgp_route.c: Add 'show ... bgp ... prefix-count' - commands, to provide detailed counts of prefixes for a peer. - Informative, and should help pin down to pfxcnt drift - problems. - -2006-08-27 Paul Jakma - - * bgp_advertise.c: (bgp_sync_delete) fix mtype in XFREE. - NULL out peer->hash after free, to be sure. - -2006-08-06 Paul Jakma - - * bgp_aspath.c: (aspath_loop_check) Fix the typo-bug which - essentially had disabled this check. Problem reported by - Bartek Kania in [quagga-users 7388]. - -2006-07-27 Paul Jakma - - * bgpd.c: (peer_delete) Ensure freed buffers can not be - accidently reused. A potential fix for bug #287. - -2006-07-02 Paul Jakma - - * bgp_fsm.c: (bgp_{stop,start}) Move clear/free of certain - bits of state from stop to start, as they may be used via - peer references on clearing queues.. - -2006-05-23 Paul Jakma - - * bgp_vty.c: (neighbor_update_source_cmd) Expand tab completion - to make it clear it takes both address and ifname. - -2006-05-12 Paul Jakma - - * bgp_attr.c: (bgp_packet_attribute) Remove dead code, Coverity - CID #1 - * bgp_aspath.{c,h}: (aspath_print_vty) take a format string, - so as to reduce burden on callers, all in bgp_route.c - * bgp_route.c: (bgp_static_update_main) Remove useless NULL - check, code already assumes bgp_static can not be NULL, - fixes CID #7. - (bgp_static_update_rsclient) ditto, CID #6 - (route_vty_out{,tmp}) Update to match aspath_print_vty, - simplifying checks needed to get spacing right. CID #4,#5. - ({damp,flap}_route_vty_out) Ditto, CID #9, #10 - -2006-05-08 Paul Jakma - - * bgp_community.c: (community_str2com) Coverity CID#62, fix - double-free, use-after-free. - * bgp_route.c: (bgp_afi_node_get) given table should never be - NULL, check/assert this. - (bgp_static_update) Bug #240. Rsclients should only be passed - the static update if they are configured for the afi,safi. - -2006-05-04 Paul Jakma - - * (general) VPNv4 fixes. Certain VPNv4 code was not enabled. - See bug #210. - * bgp_attr.{c,h}: (bgp_packet_{withdraw,attribute}) Tag should be - u_char really. - * bgp_packet.c: (bgp_{update,withdraw}_packet) Enable some - VPNv4 code which inexplicably was ifdef'd out. comments from - a tester on IRC suggest this fixes bug #210. - * bgp_route.c: (general) Fix logical bug in clearing, noted - by Chris Caputo in [quagga-users 6728] - clearing depended on - at least one route being added to workqueue, in order for - workqueue completion function to restart FSM. However, if no - routes are cleared, then the completion function never is - called, it needs to be called manually if the workqueue - didn't get scheduled. - Finally, clearing is per-peer-session, not per AFI/SAFI, so - the FSM synchronisation should be in bgp_clear_route_table. - (bgp_clear_route_table) Wrong place for FSM/clearing - synchronisation, move to.. - (bgp_clear_route) FSM/clearing synchronisation should be - here. - If no routes were cleared, no workqueue scheduled, call - the completion func to ensure FSM kicks off again. - -2006-03-30 Paul Jakma - - * bgp_community.c: (community_gettoken) Unknown token should - return NULL, to give a strong indication to callers that - the token no longer can be parsed, otherwise callers looping - on this function may have a hard time ending their loop. - (community_str2com) While loop around community_gettoken appears - to have been coded thinking that break statement would break - from the while{}, hence it could never exit for unknown token - case. Fix it to do..while, so it can use the NULL result from - community_gettoken easily. - -2006-03-22 Paul Jakma - - * bgpd.c: (peer_free) release the per-peer workqueue when - freeing the peer. - -2006-03-19 Paul Jakma - - * bgpd/bgp_vty.c: Add includes to get several structs we want - to provide usage statistics on. - (show_bgp_memory_cmd) Show memory usage stats for various - notable fixed size objects. Using mtype_stats_alloc and - mtype_memstr recently added to memory.c. - (bgp_show_summary) Report some additional stats specific to - the given BGP instance and/or AFI/SAFI such as table counts, - peers, rsclients and peer-groups. - (bgp_vty_init) Install show_bgp_memory_cmd. - * bgp_nexthop.h: Include if.h as a dependent header, for struct - connected. - * bgp_advertise.c: Use a distinct memory type for struct - bgp_synchronize. - -2006-03-12 Paul Jakma - - * bgp_attr.h: (struct attr) rearrange fields to avoid - wasted padding between them as much as possible. - (attr_count,attr_unknown_count) export new functions to - return number of counts of cached attributes. - * bgp_attr.c: (attr_count,attr_unknown_count) new functions to - return number of counts of cached attributes. - * bgp_route.h: (struct bgp_info) rearrange fields to avoid - wasted padding. - * bgp_table.h: (struct bgp_table) Add a count field, of number - of nodes in the table. - (struct bgp_node) rearrange fields to avoid - wasted padding between them, though I don't think there - was any in this case. - * bgp_table.c: (bgp_node_{delete,get}) Maintain the table node count. - (bgp_table_count) new function to access the table count. - -2006-03-03 Paul Jakma - - * bgp_route.c: (bgp_clear_node_complete) Doh. When clearing - is complete we need to kick off FSM again. - -2006-02-21 Paul Jakma - - * bgpd.h: move the clear_node_queue to be peer specific. - Add a new peer status flag, PEER_STATUS_CLEARING. - * bgp_table.h: (struct bgp_table) Add fields to record afi, - safi of the table. - (bgp_table_init) Take afi and safi to create table for. - * bgp_table.c: (bgp_table_init) record the afi and safi. - * bgp_nexthop.c: Update all calls to bgp_table_init. - * bgp_vty.c: ditto. - * bgpd.c: ditto. - * bgp_fsm.c: (bgp_timer_set) dont bring up a session which is - clearing. - * bgp_route.c: (general) Update all bgp_table_init calls. - (bgp_process_{rsclient,main}) clear_node is serialised - via PEER_STATUS_CLEARING and fsm now. - (struct bgp_clear_node_queue) can be removed. struct bgp_node - can be the queue item data directly, as struct peer can be - kept in the new wq global user data and afi/safi can be - retrieved via bgp_node -> bgp_table. - (bgp_clear_route_node) fix to get peer via wq->spec.data, - afi/safi via bgp_node->bgp_table. - (bgp_clear_node_queue_del) no more item data to delete, only - unlock the bgp_node. - (bgp_clear_node_complete) only need to unset CLEARING flag - and unlock struct peer. - (bgp_clear_node_queue_init) queue attaches to struct peer - now. record peer name as queue name. - (bgp_clear_route_table) If queue transitions to active, - serialise clearing by setting PEER_STATUS_CLEARING rather - than plugging process queue, and lock peer while queue - active. - Update to pass only bgp_node as per-queue-item specific data. - * bgp_vty.c: (bgp_show_summary) Add a 'Clrng' sub-description - to state of peer while it's suppressed due to clearing. - -2006-02-18 Paul Jakma - - * bgp_routemap.c: (route_set_community) Quick, very hacky, fix - for the set-community leak, bug #89. True fix will be to - detangle the web of *_intern caching and provide saner object - caching for Quagga, future work. - * bgp_route.c: (bgp_announce_check) trivial, move declaration - of two local variables into the only block where they are - used, to aid the reader. - -2006-02-05 Paul Jakma - - * bgp_route.h: Add BGP_INFO_COUNTED to track whether - prefix has been counted or not. - * bgp_route.c: (bgp_pcount_{inc,dec}rement) new helpers, to - centralise inc/dec of prefix-count, - (bgp_rib_remove) Remove pcount decrement, use helper. - (bgp_rib_withdraw) ditto, additionally use previous function - too. - (bgp_update_main) Use pcount helpers. - (bgp_clear_route_node) ditto, aslo REMOVED routes don't need - clearing. - * bgp_aspath.c: (aspath_gettoken) fix gcc warning about - possible uninitialised usage. - -2006-02-02 Paul Jakma - - * bgp_route.c: (bgp_{clear_node,process}_queue_init) delay - field is removed from workqueue spec. - -2006-01-19 Paul Jakma - - * (general) various miscellaneous compiler warning fixes. - Remove redundant break statements from switch clauses - which return. - return from main, not exit, cause it annoys SOS. - Remove stray semi-colons which cause empty-statement - warnings. - -2006-01-17 Paul Jakma - - * bgp_nexthop.c: (zlookup_read*) convert to new Zserv format. - (zlookup_query_ipv6) ditto. - (bgp_import_check) ditto. - -2006-01-16 Paul Jakma - - * bgp_aspath.c: (assegment_append_asns) XREALLOC can return - NULL theoretically, take care not to lose the allocated data. - (aspath_hash_alloc) aspath_dup already set the aspath - string - fix leak. - (aspath_parse) aspath_hash_alloc dupes the entire aspath, - including segments, but we forgot to free the temporary - assegment. - (aspath_snmp_pathseg) move the static stream pointer out to - file scope, so it can be freed. - (aspath_finish) new function, free aspath resources. - * bgp_aspath.h: (aspath_finish) export. - -2006-01-10 Juris Kalnins - - * bgpd.h: (bgp_router_id_unset) ex-function, remove. - -2005-11-23 Paul Jakma - - * bgp_aspath.c: (assegments_parse) should be static - -2005-11-23 Juergen Kammer - - * bgp_aspath.c: (aspath_cmp_left_confed) fix SEGV for case - where one or both paths are empty. - -2005-11-14 Paul Jakma - - * bgp_route.c: (bgp_process_rsclient) convert to new workqueue - specs and shut up gcc, which complains about cast from void - via function parameters, for some dumb reason. Do the cast - inside the function instead. - (bgp_process_main,bgp_processq_del) ditto. - (bgp_clear_route_node) ditto. - (bgp_clear_node_queue_del) ditto. - -2005-11-03 Paul Jakma - - * bgp_damp.c: (bgp_reuse_timer) struct bgp can be retrieved via - the struct bgp_damp_info, no need to guess by using - bgp_get_default(). - -2005-10-01 Andrew J. Schorr - - * bgp_vty.c: (bgp_config_write_redistribute) Use new library function - zebra_route_string instead of a local hard-coded table. - -2005-09-30 Vincent Jardin - - * bgp_packet.c: fix compilation when DEBUG is used. - -2005-09-10 Paul Jakma - - * Makefile.am: bgpd shouldn't list libgp's sources as its own. - Use LDADD. - * bgp_aspath.h: - (struct assegment) New struct, abstract representation of a - list of AS_PATH segments and the contained ASNs. - (struct aspath) Remove the raw-data related - fields, reference the abstract struct assegment instead. - Remove several other computed fields, it's just a - headache to maintain them and they're cheap to compute from - struct assegment. - (aspath_parse) parse a stream, not a pointer to raw data. - (aspath_count_{hops,confeds,size}) helpers to access - information formerly directly contained in struct aspath. - (aspath_snmp_pathseg) Helper for SNMP, BGP MIB wants - to be able to output hex representation of raw data. - * bgp_aspath.c: (general) partial-rewrite. Store aspath data - as an abstract singly-linked list of abstract segments, - rather than storing the raw data, and parsing it each and - every time. Remove several count/size fields which are cheap - to compute from the abstract segment structure. - (global) Include stream.h, needed for aspath_parse, and - others. Couple of helper macros added. - (struct assegment_header) Just the header, and only the - header. - (assegment_data_{new,free}) convenience functions for - AS_SEG_DATA allocation, the dynamic, per-segment array of - ASNs. - (assegment_{new,free,free_all,dup,dup_all}) convenience - functions for creating struct assegments. The _all forms will - follow the entire chain of segments from the given segment. - (assegment_prepend_asns) new function, prepend an ASN N times - to segment. - (assegment_append_asns) Append a list (array) of ASNs to - segment. - (int_cmp) convenience function for the aspath hash. - (assegment_normalise) new function. Normalise the given - segment chain to meet expectations of Quagga, and to - eliminate differing raw representations of the same paths. - Merge 'runs' of SEQUENCEs into one segment as our internal - segment is not limited by the protocol AS_PATH segment - length. Sort ASNs in SETs. - (aspath_new) Take void argument to quell warnings. Use the - assegment convenience functions. - (assegment_count_{asns,confeds,hops}) new functions to - compute at runtime values previously held in struct aspath. - (aspath_size) ditto. - (aspath_make_str_count) rewritten to stringify new - representation, and to be slightly easier to understand - hopefully. - (aspath_str_update) convenience function, update the aspath - str. Should investigate removing maintained string from - struct aspath, just run-time compute it, as per other fields. - It's just a maintenance headache, would save noticeable - amount of RAM with possibly not much extra run-time cost. - (aspath_dup) use the assegment dup functions. - (aspath_hash_alloc) Take void * argument to satisfy gcc. Use - the proper helper functions to dup data. - (assegments_parse) new function. parse raw AS_PATH data into - struct assegments. Normalise and return the head of the list. - (aspath_parse) Parse a stream, not pointer to raw data and - use assegments_parse to do it. - (assegment_data_put) Write out a single segment data in protocol - form to stream. - (assegment_header_put) ditto but for segment header. - (aspath_put) new function. As per previous but for an entire - struct aspath. - (aspath_snmp_pathseg) wrapper around aspath_put for - bgp_snmp.c. Uses a static buffer sadly. - (aspath_aggregate_as_set_add) rewritten to use assegments. - (aspath_aggregate) ditto - (aspath_{firstas,loop,private_as}_check) ditto - (aspath_{merge,prepend,add_one_as}) ditto - (aspath_cmp_left{_confed}) ditto - (aspath_delete_confed_seq) ditto, plus fixed to properly - delete all leading confed segments. - (aspath_as_add) Just use assegment_append_asns. - (aspath_segment_add) updated to use assegments. - (enum as_token) Add values for confeds - (aspath_gettoken) Add support for confeds - (aspath_str2aspath) ditto - (aspath_key_make) updated to use as_segments. Also, add - segment type into the hash value as appropriate. - (aspath_cmp) updated to use as_segments. - (aspath_print) don't segfault on NULL argument. - * bgp_attr.c: (bgp_attr_aspath) aspath_parse wants the stream - now. No need for manual forwarding of stream. - (bgp_packet_attribute) empty aspath is now denoted by NULL - segment field, length is gone. - Use aspath_size() to determine size. - (bgp_attr_init) Fix declaration, explicitely specify void - arg. - (bgp_dump_routes_attr) Use aspath_size() to determine size. - * bgp_route.c: (bgp_info_cmp) use the aspath_count_* functions. - (bgp_rib_withdraw) remove unused variable. Use - aspath_count_hops. - * bgp_snmp.c: (bgp4PathAttrTable) raw data is gone, use - aspath_snmp_pathseg to get the representation. - -2005-09-10 Paul Jakma - - * bgp_vty.c: (bgp_vty_init) gcc 4 compile fix. static - function declarations shouldn't be inside functions. - * bgp_dump.c: (bgp_dump_interval_add) ditto. - -2005-08-26 Hasso Tepper - - * bgp_route.c: Third (?) attempt to fix best selection breakage - introduced long time ago with route server patch. Hopefully - it's last case to fix - route-server client not in peer group. - -2005-08-22 Hugo Santos - - * bgp_vty.c: (general) Add support for BGP IPv6 Multicast SAFI - commands and BGP_IPV6M_NODE. - -2005-08-22 Paul Jakma - - * bgp_route.h: (struct bgp_info) add a new flag, BGP_INFO_REMOVED. - BGP_INFO_VALID is already overloaded, don't care to do same thing - to STALE or HISTORY. - * bgpd.h: (BGP_INFO_HOLDDOWN) Add INFO_REMOVED to the macro, as a - route which should generally be ignored. - * bgp_route.c: (bgp_info_delete) Just set the REMOVE flag, rather - than doing actual work, so that bgp_process (called directly, - or indirectly via the scanner) can catch withdrawn routes. - (bgp_info_reap) Actually remove the route, what bgp_info_delete - used to do, only for use by bgp_process. - (bgp_best_selection) reap any REMOVED routes, other than the old - selected route. - (bgp_process_rsclient) reap the old-selected route, if appropriate - (bgp_process_main) ditto - (bgp_rib_withdraw, bgp_rib_remove) make them more consistent with - each other. Don't play games with the VALID flag, bgp_process - is async now, so it didn't make a difference anyway. - Remove the 'force' argument from bgp_rib_withdraw, withdraw+force - is equivalent to bgp_rib_remove. Update all its callers. - (bgp_update_rsclient) bgp_rib_withdraw and force set is same as - bgp_rib_remove. - (route_vty_short_status_out) new helper to print the leading - route-status string used in many command outputs. Consolidate. - (route_vty_out, route_vty_out_tag, damp_route_vty_out, - flap_route_vty_out) use route_vty_short_status_out rather than - duplicate. - (route_vty_out_detail) print state of REMOVED flag. - (BGP_SHOW_SCODE_HEADER) update for Removed flag. - -2005-08-03 Hasso Tepper - - * bgp_routemap.c: Revert part of leaking communities fix commited in - 2005-05-27. While ecommunity fix seems to be correct, community case - isn't. - -2005-06-28 Paul Jakma - - * (global) The great bgpd extern and static'ification. - * bgp_routemap.c: remove unused ROUTE_MATCH_ASPATH_OLD code - (route_set_metric_compile) fix u_int32_t to ULONG_MAX comparison - warnings. - * bgp_route.h: (bgp_process, bgp_withdraw, bgp_update) export these - used by various files which had their own private declarations, - in the case of mplsvpn - incorrect. - -2005-06-15 Paul Jakma - - * bgpd.c: (bgp_terminate) workqueue's are lazy allocated and its - possible to terminate bgpd before workqueues were setup, causing - an abort/crash. Reported by Ashish Mehta of Sun. - -2005-06-01 Paul Jakma - - * (general) refcount struct peer and bgp_info, hence allowing us - add work_queues for bgp_process. - * bgp_route.h: (struct bgp_info) Add 'lock' field for refcount. - Add bgp_info_{lock,unlock} helper functions. - Add bgp_info_{add,delete} helpers, to remove need for - users managing locking/freeing of bgp_info and bgp_node's. - * bgp_table.h: (struct bgp_node) Add a flags field, and - BGP_NODE_PROCESS_SCHEDULED to merge redundant processing of - nodes. - * bgp_fsm.h: Make the ON/OFF/ADD/REMOVE macros lock and unlock - peer reference as appropriate. - * bgp_damp.c: Remove its internal prototypes for - bgp_info_delete/free. Just use bgp_info_delete. - * bgpd.h: (struct bgp_master) Add work_queue pointers. - (struct peer) Add reference count 'lock' - (peer_lock,peer_unlock) New helpers to take/release reference - on struct peer. - * bgp_advertise.c: (general) Add peer and bgp_info refcounting - and balance how references are taken and released. - (bgp_advertise_free) release bgp_info reference, if appropriate - (bgp_adj_out_free) unlock peer - (bgp_advertise_clean) leave the adv references alone, or else - call bgp_advertise_free cant unlock them. - (bgp_adj_out_set) lock the peer on new adj's, leave the reference - alone otherwise. lock the new bgp_info reference. - (bgp_adj_in_set) lock the peer reference - (bgp_adj_in_remove) and unlock it here - (bgp_sync_delete) make hash_free on peer conditional, just in - case. - * bgp_fsm.c: (general) document that the timers depend on - bgp_event to release a peer reference. - (bgp_fsm_change_status) moved up the file, unchanged. - (bgp_stop) Decrement peer lock as many times as cancel_event - canceled - shouldnt be needed but just in case. - stream_fifo_clean of obuf made conditional, just in case. - (bgp_event) always unlock the peer, regardless of return value - of bgp_fsm_change_status. - * bgp_packet.c: (general) change several bgp_stop's to BGP_EVENT's. - (bgp_read) Add a mysterious extra peer_unlock for ACCEPT_PEERs - along with a comment on it. - * bgp_route.c: (general) Add refcounting of bgp_info, cleanup - some of the resource management around bgp_info. Refcount peer. - Add workqueues for bgp_process and clear_table. - (bgp_info_new) make static - (bgp_info_free) Ditto, and unlock the peer reference. - (bgp_info_lock,bgp_info_unlock) new exported functions - (bgp_info_add) Add a bgp_info to a bgp_node in correct fashion, - taking care of reference counts. - (bgp_info_delete) do the opposite of bgp_info_add. - (bgp_process_rsclient) Converted into a work_queue work function. - (bgp_process_main) ditto. - (bgp_processq_del) process work queue item deconstructor - (bgp_process_queue_init) process work queue init - (bgp_process) call init function if required, set up queue item - and add to queue, rather than calling process functions directly. - (bgp_rib_remove) let bgp_info_delete manage bgp_info refcounts - (bgp_rib_withdraw) ditto - (bgp_update_rsclient) let bgp_info_add manage refcounts - (bgp_update_main) ditto - (bgp_clear_route_node) clear_node_queue work function, does - per-node aspects of what bgp_clear_route_table did previously - (bgp_clear_node_queue_del) clear_node_queue item delete function - (bgp_clear_node_complete) clear_node_queue completion function, - it unplugs the process queues, which have to be blocked while - clear_node_queue is being processed to prevent a race. - (bgp_clear_node_queue_init) init function for clear_node_queue - work queues - (bgp_clear_route_table) Sets up items onto a workqueue now, rather - than clearing each node directly. Plugs both process queues to - avoid potential race. - (bgp_static_withdraw_rsclient) let bgp_info_{add,delete} manage - bgp_info refcounts. - (bgp_static_update_rsclient) ditto - (bgp_static_update_main) ditto - (bgp_static_update_vpnv4) ditto, remove unneeded cast. - (bgp_static_withdraw) see bgp_static_withdraw_rsclient - (bgp_static_withdraw_vpnv4) ditto - (bgp_aggregate_{route,add,delete}) ditto - (bgp_redistribute_{add,delete,withdraw}) ditto - * bgp_vty.c: (peer_rsclient_set_vty) lock rsclient list peer - reference - (peer_rsclient_unset_vty) ditto, but unlock same reference - * bgpd.c: (peer_free) handle frees of info to be kept for lifetime - of struct peer. - (peer_lock,peer_unlock) peer refcount helpers - (peer_new) add initial refcounts - (peer_create,peer_create_accept) lock peer as appropriate - (peer_delete) unlock as appropriate, move out some free's to - peer_free. - (peer_group_bind,peer_group_unbind) peer refcounting as - appropriate. - (bgp_create) check CALLOC return value. - (bgp_terminate) free workqueues too. - -2005-05-28 Hasso Tepper - - * bgp_routemap.c: Sync set_metric_addsub_cmd with ripd. - -2005-05-27 Hasso Tepper - - * bgp_routemap.c: Stop leaking communities. - -2005-05-27 Hasso Tepper - - * bgpd.c: Deleting bgp->rsclient list needs fix similar to pree-groups - deleting fix. Avoid leaking bgp->group, bgp->peer and bgp->rsclient - lists. - -2005-05-26 Hasso Tepper - - * bgpd.c: Don't crash while deleting list of peer-groups. - -2005-05-25 Hasso Tepper - - * bgpd.c: Fix obvious (routeserver patch) merge error. This makes "no - neighbor x.x.x.x routemap [export|import] commands work again. - -2005-05-23 Paul Jakma - - * bgp_routemap.c: add semi-colons to VTY_GET_* to match vty.h change - * bgp_fsm.h: Add extern qualifier to exported functions - * bgp_nexthop.c: add static to nexthop specific globals - * *.h: Add guard defines - -2005-05-19 Paul Jakma - - * bgp_fsm.c: (bgp_stop) use sockunion_free, not XFREE.. - * bgp_network.c: (bgp_getsockname) ditto - (bgp_accept) use XSTRDUP - * bgp_routemap.c: (route_match_peer) ditto, als use a ret value and - remove one sockunion_free. - * bgpd.c: (peer_delete) ditto. - XFREE the correct memtype, not free. - (peer_create) use XSTRDUP - * bgp_packet.c: (bgp_stream_dup) deleted, stream_dup should be used - (various) update -> s/bgp_stream_dup/stream_dup - - -2005-04-11 Andrew J. Schorr - - * bgp_zebra.c (bgp_redistribute_set, bgp_redistribute_unset): - The 2nd arg to zebra_redistribute_send is now zclient instead of - zclient->sock. - -2005-04-09 Akihiro Mizutani - - * bgp_vty.c: Make "exit-address-family" work in IPv4 unicast address - family node. - -2005-04-08 Martin Ling - - * 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. - -2005-04-02 Andrew J. Schorr - - * bgp_zebra.c: (bgp_interface_delete) After deleting, set ifp->ifindex - to IFINDEX_INTERNAL. - -2005-03-21 Hasso Tepper - - * bgp_route.c: Don't crash while clearing route tables if there is - no particular afi/safi configured. - -2005-02-23 Hasso Tepper - - * bgp_route.c: Make reannouncing prefixes with changed attributes - work again. - -2005-02-02 Akihiro Mizutani - - * bgp_vty.c: Deprecate "neighbor transparent-as" and "neighbor - transparent-nexthop" commands. - -2005-02-02 Akihiro Mizutani - - * bgp_routemap.c: New route-map command - "match ip route-source". - -2005-02-02 Akihiro Mizutani - - * bgp_clist.[ch], bgp_route.c, bgp_routemap.c, bgp_vty.c: - community-list cleanup. - -2005-02-02 Akihiro Mizutani - - * bgp_route.c, bgp_vty.c, bgp_zebra.c, bgpd.[ch]: "enforce-multihop" - -> "disable-connected-check". - -2005-02-02 Akihiro Mizutani - - * 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. - -2005-02-01 Akihiro Mizutani - - * 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. - -2005-02-01 Akihiro Mizutani - - * 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. - -2005-02-01 Akihiro Mizutani - - * bgpd.[ch], bgp_vty.c, bgp_route.c: "Restart session after - maximum-prefix limit" feature support. - -2005-02-01 Akihiro Mizutani - - * 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. - -2005-01-29 Andrew J. Schorr - - * 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. - -2005-01-24 Hasso Tepper - - * bgp_route.c: Fix showstopper bug. New route must be selected also - if old one is flaged as BGP_INFO_ATTR_CHANGED. - -2005-01-17 Hasso Tepper - - * 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. - -2005-01-05 Paul Jakma - - * bgp_packet.c: (bgp_write) set socket to nonblock while writing - this should be generalised. See bugzilla #102. Fix supplied by - wawa@yandex-team.ru (Vladimir Ivanov). - -2004-12-08 Andrew J. Schorr - - * *.c: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr - - * bgp_main.c: (main) The 2nd argument to openzlog has been removed. - -2004-12-03 Andrew J. Schorr - - * bgp_main.c: (sigint) Use zlog_notice for termination message. - (main) Use zlog_notice for startup announcement. - -2004-11-25 Hasso Tepper - - * bgp_main.c: Make group to run as configurable. - -2004-11-09 Paul Jakma - - * bgp_nexthop.c: collapse bgp_connected_ipvX, bgp_nexthop_cache_ipvX - and cache{1,2}.. into arrays of tables and hence collapse - bgp_scan_ipv{4,6} into a single bgp_scan function. Tested, though - a long time ago (and this change was hand-merged). - -2004-11-04 Andrew J. Schorr - - * bgp_route.c: Remove all code related to VTY_CONTINUE; this feature - is deprecated because the output did not represent a single point - in time. All output needs to be generated inline and buffered - by the library code. - (route_vty_out,route_vty_out_tag,damp_route_vty_out, - flap_route_vty_out) Remove code to count number of lines of output, - since this was only useful for VTY_CONTINUE behavior. - (bgp_show_callback,vty_calc_line) Removed. - (bgp_show_table) Remove hooks for VTY_CONTINUE callback support. - As a result, there's a new output_arg argument to this function. - Make function static. - (bgp_show) Make function static and add a new output_arg argument. - Change all functions that call bgp_show or bgp_show_table to - pass the new output_arg argument (that used to be passed inside - vty->output_arg). - * bgp_mplsvpn.c: Remove declarations of functions defined in - bgp_route.c; these declarations belong in bgp_route.h. - * bgp_route.h: Declare 3 global functions used in both bgp_route.c - and in bgp_mplsvpn.c. - -2004-10-31 Paul Jakma - - * {bgpd,bgp_attr}.c: size_t printf format should be ld. - -2004-10-25 Paul Jakma - - * Update with fix in debian bug id 222930. - * bgp_main.c: Add ZCAP_RAW, needed to bind to interfaces. - bgp_network.c: (....) raise/lower privs around call to - SO_BINDTODEVICE sockopt. - -2004-10-19 Andrew J. Schorr - - * bgp_nexthop.c: (bgp_connected_add) Connected destination pointer - may be NULL. - (bgp_connected_delete) ditto. - -2004-10-14 Hasso Tepper - - * bgp_dump.c: Make dump configuration appear in vtysh. - -2004-10-13 Hasso Tepper - - * bgp_snmp.c: Remove defaults used to initialize smux connection to - snmpd. Connection is initialized only if smux peer is configured. - * bgp_view.c: It's dead file. Reomved. - -2004-10-13 Paul Jakma - - * (global) more const'ification and fixups of types to clean up code. - * bgp_mplsvpn.{c,h}: (str2tag) fix abuse. Still not perfect, - should use something like the VTY_GET_INTEGER macro, but without - the vty_out bits.. - * bgp_routemap.c: (set_aggregator_as) use VTY_GET_INTEGER_RANGE - (no_set_aggregator_as) ditto. - * bgpd.c: (peer_uptime) fix unlikely bug, where no buffer is - returned, add comments about troublesome return value. - -2004-10-03 James R. Leu - - * bgp_vty.c: Router id from zebra can be manually overriden. - * bgp_zebra.c: Read router id related messages from zebra daemon. - Remove own code related with router id selection. - * bgpd.c, bgpd.h: Remove own router id selection code. Use the one - from zebra daemon if it isn't manually overriden. - -2004-09-26 Hasso Tepper - - * bgp_aspath.c, bgp_packet.c, bgp_vty.c: Fix compiler warnings. - -2004-09-23 Hasso Tepper - - * *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-07-09 Paul Jakma - - * Merge of GNU Zebra cvs2svn changesets r799, r800 and r807. - * bgp_dump.c: (bgp_dump_attr) cleanup. return status code. check - attributes present before printing. - * bgp_dump.c: update bgp_dump_attr prototype. - * bgp_packet.c: (bgp_update_receive) init attrstr. check status - of bgp_dump_attr. Log end-of-rib UPDATEs. - -2004-07-09 Sowmini Varadhan - - * bgp_packet.c: (bgp_collision_detect) Send NOTIFY on new socket - if that is connection we're closing. - (bgp_read) invalid marker check applies to KEEPALIVE too. - * bgp_route.c: Ignore multicast NRLI, dont send NOTIFY. - -2004-06-04 Paul Jakma - - * type mismatch fixes - -2004-05-21 Akihiro Mizutani - - * bgpd.h, bgp_open.[ch], bgp_debug.c, bgp_vty.[ch], bgp_fsm.c: - Graceful restart capability display. - -2005-05-20 Kunihiro Ishiguro - - * bgp_debug.c: Cosmetical fixes and log neighbor changes. - -2004-05-20 Akihiro Mizutani - - * bgp_ecommunity.c: Transit ecommunity support. - * bgp_ecommunity.c: Fix for unknown community crush. - -2005-05-20 Kunihiro Ishiguro - - * *: Maximum prefix threshold support. - * *: Reset notification fixups. - -2004-05-08 Paul Jakma - - * bgp_zebra.c: (bgp_interface_address_add) sync to zclient changes - (bgp_interface_address_delete) ditto. - (bgp_zebra_announce) ditto. - (bgp_zebra_withdraw) ditto. - -2004-05-03 Daniel Roesen - - * bgp_fsm.c: (bgp_stop) Reset uptime only on transition from - Established so that it reflects true downtime (rather time - since last transition, eg Active->Idle) - -2004-05-01 rivo nurges - - * bgp_route.c: fix UNH IOL BGP-4.1.12f - -2004-05-01 Paul Jakma - - * Revert the attempted clean-up of the dummy peer hack, reverts - patchsets 435 (see 2004-02-17 below) and 456. - -2004-04-16 rivo nurges - - * bgpd.h, bgp_debug.c: update cease subcodes to - draft-ietf-idr-cease-subcode-05 - * bgpd.h, bgpd.c, bgp_route.c, bgp_route.h: fix UNH IOL BGP-4.1.6a - -2004-02-17 Paul Jakma - - * bgpd.h: (bgp_peer) add fd_local and fd_accept - file descriptor's, fd becomes a pointer to one of these. - * bgpd.c: (global) adjust for fact that fd is now a pointer. - (peer_create_accept) removed. - * bgp_route.c: (global) adjust for change of peer fd to pointer - * bgp_packet.c: (bgp_collision_detect) adjust and remove the - "replace with other peer" hack. - * bgp_network.c: (bgp_accept) Remove the dummy peer hack. - Update peer->fd_accept instead. - (global) Adjust fd references - now a pointer. - * bgp_fsm.c: (global) adjust peer fd to pointer. - (bgp_connection_stop) new function, to stop connection. - (global) adjust everything which closed peer fd to use - bgp_connection_stop(). - -2003-12-23 Krzysztof Oledzki - - * bgp_network.c: drop privs on error cases - -2003-08-11 kunihiro - - * bgp_route{,map}.c: Extend 'set ip next-hop' in route-maps with - ability to specify 'peer-address' rather than IP. - -2003-06-09 Paul Jakma - - * bgp_clist.c (community_list_delete): honour deny statements - -2003-04-19 Hasso Tepper - - * rip_routemap.c: sync daemon's route-map commands to have same - syntax - -2003-01-09 Akihiro Mizutani - - * bgp_routemap.c: Add match extcommunity command. - -2002-10-23 Kunihiro Ishiguro - - * bgp_aspath.c (aspath_init): Extend hash size from default to - 32767. - (aspath_key_make): Use unsigned shoft for making hash. Suggested - by: Marc Evans - -2002-08-19 Kunihiro Ishiguro - - * bgp_clist.c (community_entry_free): Fix memory leak of standard - extcommunity-list config string. - -2002-08-19 Akihiro Mizutani - - * bgp_route.c (route_vty_out_detail): Fix bug of router-id display - when multiple instance is used. - -2002-08-18 Akihiro Mizutani - - * bgpd.c: Make "default-originate" and "maximum-prefix" commands - available in peer-group configuration. - -2002-08-13 Akihiro Mizutani - - * bgp_packet.c (bgp_open_send): Put Opt Parm Len 0 when last - capability packet cause error or dont-capability-negotiate option - is specified. - -2002-07-07 Kunihiro Ishiguro - - * zebra-0.93 released. - -2001-10-28 Kunihiro Ishiguro - - * bgpd.c (bgp_vty_init): Translate update commands are removed. - -2001-10-10 Kunihiro Ishiguro - - * bgp_route.c (bgp_static_set): Add workaround for BGP static - route announcement when there is no zebra running. - -2001-10-08 Kunihiro Ishiguro - - * bgpd.c (neighbor_remote_as_unicast): Remove "remote-as nlri - unicast multicast" commands. - -2001-09-14 Akihiro Mizutani - - * bgp_open.c: When we receive capability route-refresh, we should - check we send the capability not we receive the capability. - - * bgp_route.c (bgp_network_mask_natural_route_map): network - statement route-map is added. - -2001-08-31 Kunihiro Ishiguro - - * bgp_advertise.c (bgp_advertise_intern): attr must be interned - before looking up hash table. - -2001-08-30 Kunihiro Ishiguro - - * bgpd.h (struct peer): BGP filter is moved from peer_conf to - peer. - -2001-08-28 Kunihiro Ishiguro - - * bgp_nexthop.c (bnc_nexthop_free): Fix next pointer bug. - Suggested by: "Hong-Sung Kim" . - -2001-08-26 Kunihiro Ishiguro - - * bgp_table.c (bgp_node_create): Clearn memory before use it. - -2001-08-24 Kunihiro Ishiguro - - * Change to use bgp_table.[ch]. - -2001-08-23 Kunihiro Ishiguro - - * bgpd.c (bgp_init): Add "transparent-as" and - "transparent-nexthop" for old version compatibility. - -2001-08-23 Akihiro Mizutani - - * bgpd.h (struct peer): default-originate route-map is added. - - * bgp_route.c: When self originated route is advertised with - attrubute-unchanged, nexthop was not properly set. This bug is - fixed. - -2001-08-22 Akihiro Mizutani - - * bgpd.c (neighbor_attr_unchanged): transparent-as and - transparent-next-hop commands are restructured. Instead of - current transparent-* commands, attribute-unchanged command is - introduced. - - neighbor A.B.C.D attribute-unchanged [as-path|next-hop|med] - - (neighbor_default_originate): "default-originate" configuration - announce default route even 0.0.0.0/0 does not exists in BGP RIB. - -2001-08-19 Kunihiro Ishiguro - - * zebra-0.92a released. - -2001-08-19 Akihiro Mizutani - - * bgpd.c: AF specific soft-reconfiguration inbound commands are - added. - -2001-08-17 Kunihiro Ishiguro - - * bgp_route.c (bgp_show_callback): Do not do community NULL check. - - * bgp_community.c (community_cmp): Add check for commnunity NULL - check. - - * bgp_routemap.c (route_match_community): Do not check comunity is - NULL. It may match to community-list "^$". - - * bgp_community.c (community_match): Add check for community is - NULL case. - -2001-08-17 Akihiro Mizutani - - * bgpd.c: AF specific route-reflector-client and - route-server-client configuration are added. - -2001-08-17 Rick Payne - - * bgp_clist.c (community_match_regexp): Check special ^$ case. - -2001-08-17 Akihiro Mizutani - - * bgp_clist.c (community_list_match): Fix bug of community list - permit and deny check. - -2001-08-16 Akihiro Mizutani - - * bgp_mplsvpn.c (bgp_mplsvpn_init): Add AF specific "nexthop-self" - command. - -2001-08-15 Akihiro Mizutani - - * bgpd.h (PEER_FLAG_SEND_COMMUNITY): Per AF based configuration - flag is introduced. - - * bgp_mplsvpn.c (bgp_mplsvpn_init): VPNv4 filtering is added. - -2001-08-15 Kunihiro Ishiguro - - * zebra-0.92 released. - -2001-08-13 Kunihiro Ishiguro - - * bgpd.c (bgp_delete): "no router bgp" free static, aggregate, rib - table properly. - -2001-08-12 Kunihiro Ishiguro - - * bgp_route.c (bgp_node_safi): Return SAFI of current node. - (bgp_config_write_network_vpnv4): VPNv4 static configuration - display. - -2001-08-11 Kunihiro Ishiguro - - * bgpd.c (no_bgp_ipv4_multicast_route_map): Add IPv4 multicast - node filter commands. - -2001-08-11 Kunihiro Ishiguro - - * bgpd.h (PEER_FLAG_IGNORE_LINK_LOCAL_NEXTHOP): Add - "ignore-link-local-nexthop" flag for ignore link-local nexthop for - IPv6. - -2001-08-07 Kunihiro Ishiguro - - * bgpd.c (address_family_ipv4_multicast): "address-family ipv4 - multicast" is added. - (address_family_ipv6_unicast): "address-family ipv6 unicast" is - added. - -2001-08-07 Akihiro Mizutani - - * bgp_route.c (bgp_process): Use flag instead of as_selected - memeber in struct bgp_info. - - * bgp_route.h (struct bgp_info): Remove as_selected memeber from - struct bgp_info. - -2001-07-31 Kunihiro Ishiguro - - * bgp_route.c (bgp_announce_check): Enclose sending time AS loop - check code with #ifdef BGP_SEND_ASPATH_CHECK. - -2001-07-29 Kunihiro Ishiguro - - * bgp_packet.c (bgp_withdraw_send): Simplify address family check. - - * bgpd.h (BGP_INFO_HOLDDOWN): Introduce new macro to check BGP - information is alive or not. - - * bgp_community.c: Use community_val_get() on all OS. - -2001-07-24 Kunihiro Ishiguro - - * bgp_route.c (bgp_announce_check): Simplify set next-hop self - check. - -2001-07-24 Akihiro Mizutani - - * bgp_route.c (bgp_announce_check): To route server clients, we - announce AS path, MED and nexthop transparently. - -2001-06-21 Kunihiro Ishiguro - - * bgp_routemap.c (route_set_atomic_aggregate_free): Do not call - XFREE. No memory is allocated in - route_set_atomic_aggregate_compile(). - -2001-06-21 Kunihiro Ishiguro - - * bgp_routemap.c (bgp_route_map_init): `match nlri` and `set nlri` - are replaced by `address-family ipv4` and `address-family vpnvr'. - -2001-06-19 Kunihiro Ishiguro - - * bgp_route.c (bgp_withdraw): Add check for BGP_PEER_CONFED. - Reported by Rick Payne . - -2001-06-17 Kunihiro Ishiguro - - * bgp_zebra.c (bgp_zebra_announce): When global IPv6 nexthop is - empty, use socket's remote address for the nexthop. - -2001-06-04 Kunihiro Ishiguro - - * bgpd.c (peer_delete): Fix memory leak. Reported by Yosi Yarchi - - -2001-06-01 Kunihiro Ishiguro - - * bgpd.c (bgp_delete): Fix memory leak. Reported by Yosi Yarchi - - -2001-05-27 Kunihiro Ishiguro - - * bgp_route.c (bgp_route_clear_with_afi_vpnv4): Use next instead - of ri->next. - - * bgp_packet.c (bgp_withdraw_send): MPLS/VPN withdraw takes effect - when HAVE_IPV6 is not defined. - -2001-03-07 "Akihiro Mizutani" - - * bgpd.c (peer_timers_set): Adjust keepalive timer to fit less - than holdtime / 3. - (bgp_confederation_peers_unset): Only set peer->local_as when - confederation is enabled. - (bgp_timers): Add "timers bgp <0-65535> <0-65535>" command. - - * bgp_route.c (bgp_announce_check): Set med of redistributed route - when it is announced to EBGP peer. - -2001-03-06 "Akihiro Mizutani" - - * bgp_nexthop.c (bgp_scan_ipv4): bgp_scan() call bgp_process() for - all prefixes. - -2001-03-06 Kunihiro Ishiguro - - * bgp_attr.c (bgp_attr_origin): When bgpd send NOTIFICATION with - erroneous attribute (type, length and value), it does include - attribute flags field. - -2001-02-21 "Akihiro Mizutani" - - * bgp_route.c (bgp_announce_check): The route reflector is not - allowed to modify the attributes of the reflected IBGP routes. - -2001-02-20 "Akihiro Mizutani" - - * bgp_route.c (bgp_info_cmp): During path seleciton, BGP - confederation peer is treated as same as IBGP peer. - -2001-02-19 Kunihiro Ishiguro - - * bgp_route.c (bgp_redistribute_add): Initialize attr_new with - attr. Call aspath_unintern when return from this function. - -2001-02-19 "Akihiro Mizutani" - - * bgpd.c (bgp_router_id_set): Reset BGP peer when router-id is - changed. - -2001-02-18 "Akihiro Mizutani" - - * bgp_packet.c (bgp_open_receive): When user configure holdtimer, - do not refrect the value to current session. - -2001-02-16 Kunihiro Ishiguro - - * bgp_route.c (bgp_aggregate_delete): Set BGP_INFO_ATTR_CHANGE to - suppress route withdraw. - - * bgp_damp.c (bgp_damp_init): Fix bug of flap dampening. - -2001-02-16 "Akihiro Mizutani" - - * bgp_aspath.c (aspath_make_str_count): Use ',' for separator for - AS_SET and AS_CONFED_SET. - -2001-02-15 Kunihiro Ishiguro - - * bgp_route.c (bgp_process): Do not consider suppress route. - - * bgp_aspath.c (aspath_aggregate_as_set_add): Reset asset when - aspath->data is realloced. - -2001-02-15 "Akihiro Mizutani" - - * bgp_attr.c (bgp_attr_aggregate_intern): Do not set atomic - aggregate when using as-set. - -2001-02-14 "Akihiro Mizutani" - - * bgpd.c (bgp_confederation_peers_unset): Set peer's local-as - correctly. - - * bgp_route.c (bgp_update): Just ignore AS path loop for - confederation peer. - -2001-02-10 Kunihiro Ishiguro - - * bgp_route.c (bgp_aggregate_set): Add as_set argument. - (bgp_aggregate_unset): Remove summary_only argument. - (aggregate_address_as_set): New commands. - "aggregate-address A.B.C.D/M as-set" - "no aggregate-address A.B.C.D/M as-set" - -2001-02-08 "Akihiro Mizutani" - - * bgp_route.c (bgp_announce_check): Do not modify nexthop when the - route is passed by route reflector. - -2001-02-08 Kunihiro Ishiguro - - * bgp_route.c: "no bgp dampening" with argument. - (bgp_announce_check): Do not modify nexthop when the route is - passed by route reflector. - -2001-02-07 "Akihiro Mizutani" - - * bgpd.c (neighbor_passive): Change "neighbor NEIGHBOR remote-as - ASN passive" to "neighbor NEIGHBOR passive". - (bgp_announce_check): Check well-known community attribute even - when "no neighbor send-community" is set. - -2001-02-03 Kunihiro Ishiguro - - * bgp_fsm.c (bgp_establish): Do not send keepalive at established - time when keepalive timer is configured as zero. - -2001-02-01 Kunihiro Ishiguro - - * bgp_attr.c (bgp_attr_check): When peer is IBGP peer, local - preference is well-known attribute. - -2001-01-30 Kunihiro Ishiguro - - * zebra-0.91 is released. - - * bgp_attr.h (struct attr): Comment out DPA value. - (struct attr): Change refcnt type from int to unsinged long. - - * bgp_attr.c (attrhash_key_make): Likewise. - (attrhash_cmp): Likewise. - (bgp_attr_dpa): Likewise. - -2001-01-30 "Akihiro Mizutani" - - * bgp_route.c (bgp_info_cmp): Make route selection completely same - as Cisco's. - -2001-01-30 Kunihiro Ishiguro - - * bgp_attr.h (BGP_ATTR_FLAG_OPTIONAL): Rename old ATTR_FLAG_* to - BGP_ATTR_FLAG_* to clarify meenings. - -2001-01-30 "Akihiro Mizutani" - - * bgp_route.c (route_vty_out): Display argument to suppress same - prefix information display. - (route_vty_out_route): Don't display mask information for - classfull network. - -2001-01-30 Kunihiro Ishiguro - - * bgp_attr.h (SET_BITMAP): Simple bitmapping macros. - - * bgp_attr.c (bgp_attr_parse): Use bitmap for attribute type - check. - -2001-01-29 Kunihiro Ishiguro - - * bgp_attr.c (bgp_mp_reach_parse): Enclose loggin with BGP_DEBUG. - (bgp_attr_parse): Comment out well-known attribute check. - -2001-01-28 Kunihiro Ishiguro - - * bgp_route.c (bgp_static_unset): Link-local IPv6 address can't be - used for network advertisement. - (nlri_parse): When link-local IPv6 address NLRI comes from - remote-peer, log the information then simply ignore it. - - * bgp_zebra.c (zebra_read_ipv6): Link-local IPv6 address is not - redistributed. - - * bgp_route.c (bgp_update): Check IPv6 global nexthop - reachability. - -2001-01-26 Kunihiro Ishiguro - - * bgp_route.c (bgp_update): Check nexthop points local address or - not. - (bgp_static_update_vpnv4): Set valid flag. - - * bgp_attr.c (bgp_attr_parse): Duplicate attribute check. - (bgp_attr_parse): Well-known attribute check. - - * bgp_open.c (bgp_auth_parse): Authentication is not yet supported. - - * bgp_packet.c (bgp_valid_marker): Check marker is synchronized. - - * bgpd.c (clear_bgp): Send NOTIFICATION Cease when SEND_CEASE is - defined. - - * bgp_snmp.c (bgp4PathAttrTable): Fix compile error. - -2001-01-24 Kunihiro Ishiguro - - * bgpd.c (bgp_network_import_check): New command for IGP network - check. - -2001-01-23 Kunihiro Ishiguro - - * bgp_nexthop.c (bgp_scan): Run bgp_process when IGP metric is - changed. Call bgp_process once for each node. - -2001-01-23 "Akihiro Mizutani" - - * bgp_route.c (bgp_info_cmp): Add IGP metric comparison. - -2001-01-23 Kunihiro Ishiguro - - * bgp_route.c (bgp_info_cmp): Add IGP metric comparison. - - * bgp_nexthop.c (bgp_nexthop_lookup): Set IGP metric for valid - IBGP route. - -2001-01-23 "Akihiro Mizutani" - - * bgp_route.c (show_ip_bgp_prefix_longer): Add new commands. - "show ip bgp A.B.C.D/M longer-prefixes" - "show ip bgp ipv4 (unicast|multicast) A.B.C.D/M longer-prefixes" - "show ipv6 bgp X:X::X:X/M longer-prefixes" - "show ipv6 mbgp X:X::X:X/M longer-prefixes" - -2001-01-20 "Akihiro Mizutani" - - * bgp_route.c (show_ip_bgp_cidr_only): Add new commands. - "show ip bgp cidr-only" - "show ip bgp ipv4 (unicast|multicast) cidr-only" - -2001-01-18 "Akihiro Mizutani" - - * bgp_route.c (bgp_update): AS path lookup check is done in - bgp_update() not in attr_parse(). - -2001-01-18 Kunihiro Ishiguro - - * bgp_route.c (bgp_update): Call bgp_aggregate_decrement() just - before bgp_attr_unintern(). - -2001-01-17 Kunihiro Ishiguro - - * bgp_route.c (bgp_update): Now intern is performed very last part - of the BGP packet update procedure. - -2001-01-17 "Akihiro Mizutani" - - * bgp_route.c (bgp_update): When implicit withdraw occur, reuse - existing bgp_info structure. - -2001-01-17 Kunihiro Ishiguro - - * bgp_route.c (bgp_aggregate_decrement): Fix bug of aggregate - address matching method. - (bgp_update): - - * bgp_nexthop.c (bgp_nexthop_onlink): Separate EBGP nexthop onlink - check and IBGP nexthop route check. - -2001-01-16 "Akihiro Mizutani" - - * bgp_route.h (BGP_INFO_ATRR_CHANGED): Added for track attribute - change. - -2001-01-16 Kunihiro Ishiguro - - * bgp_route.h (struct bgp_info): Remove selected flag. Use - BGP_INFO_SELECTED for flags instead. - (struct bgp_info): Remove valid flag. Use BGP_INFO_VALID for - flags instead. - (struct bgp_info): Add igpmetric for IBGP route nexthop IGP - metric. - (struct bgp_info_tab): Struct bgp_info_tag is integrated into - struct bgp_info. - (BGP_INFO_ATRR_CHANGED): Added for track attribute change. - - * bgp_community.c (community_val_get): gcc-2.95 on - sparc-sun-solaris cause crush. This function is for avoid the - crush. - -2001-01-15 Kunihiro Ishiguro - - * bgp_packet.c (bgp_open_receive): Translated peer's packet_size - clear bug is fixed. - -2001-01-14 "Akihiro Mizutani" - - * bgp_packet.c (bgp_open_receive): Return notification with - supported version number. - -2001-01-13 Kunihiro Ishiguro - - * bgpd.c (bgp_show_summary): Display AS path and community - entries. Suggested by: "Matt Ranney" . - - * bgp_packet.c (bgp_read_packet): Fix bug of unblocking BGP socket - read. When BGP packet read is partial, we must get size and type - from packet again. - -2001-01-12 "Akihiro Mizutani" - - * bgp_route.c (bgp_update): Do not unset BGP_INFO_HISTORY flag. - (bgp_update): When there is a history entry increment route count. - (bgp_damp_set): Check BGP_CONFIG_DAMPENING flag. - - * bgp_damp.c (bgp_damp_withdraw): Set status to - BGP_DAMP_DISCONTINUE. - -2001-01-11 Kunihiro Ishiguro - - * bgp_attr.c (bgp_mp_reach_parse): Fix warning code when second - IPv6 nexthop is not link-local addresss. - -2001-01-11 "Akihiro Mizutani" - - * bgp_damp.c (bgp_config_write_damp): Smart flap dampening - configuration display. - (bgp_damp_info_print): Display elapsed time from flap started. - - * bgp_damp.h (struct bgp_damp_info): Add flap start time. - - * bgpd.c (peer_create): Set last read time. - (bgp_show_peer): Display last read time. - (bgp_show_summary): Use BGP_CONFIG_DAMPENING flag to check - configuration. - - * bgpd.h (BGP_CONFIG_DAMPENING): Add new configuration option. - (struct peer): Add last read time member. - (BGP_VERSION_MP_4): Remove obsolete definition. - -2001-01-10 Kunihiro Ishiguro - - * bgp_nexthop.c: Remove OLD_RIB codes. - - * bgp_route.c (bgp_process): Likewise. - - * zebra-0.90 is released. - - * bgp_route.h (BGP_INFO_HISTORY): Remove damped member from struct - bgp_info. Instead of that use BGP_INFO_DAMPED flag. - (struct bgp_info): Remove invalid member from struct bgp_info. - Instead of that use BGP_INFO_HISTORY flag. - -2001-01-10 "Akihiro Mizutani" - - * bgp_damp.c (bgp_damp_info_print): New function to display - dampening status. - (DEFAULT_HARF_LIFE): Define default value. - (DEFAULT_REUSE): Likewise. - (DEFAULT_SUPPRESS): Likewise. - (bgp_config_write_damp): When config value is same as default - value, simply display "bgp dampening" to configuration. - - * bgp_damp.h (struct bgp_damp_info): Add flap member. - - * bgp_route.h (struct bgp_info): Added for BGP flap dampening - history status. - -2001-01-10 Kunihiro Ishiguro - - * bgp_nexthop.c (bgp_connected_add): Point-to-point connected - address is properly handled. - (bgp_connected_delete): Likewise. - - * bgp_route.c (bgp_route_init): Turn off BGP Flap dampening code - until it works fine. - -2001-01-09 Kunihiro Ishiguro - - * bgpd.c (bgp_show_summary): Add BGP_VERSION_MP_4 case. - - * bgp_route.c (bgp_update): When this is not damped route, clear - ri pointer. - -2001-01-09 Kunihiro Ishiguro - - * bgp_main.c: Add "-n" no_kernel option to not install route to - kernel. Suggested by: "Matt Ranney" - -2001-01-09 Kunihiro Ishiguro - - * bgp_nexthop.c (bgp_connected_add): Revert point-to-point - connected route patch. Reported by ruud@ruud.org (Ruud de Rooij) - - * bgp_damp.c (bgp_config_write_damp): Add configuration display - function. - - * bgp_route.c (bgp_info_free): Set NULL to BGP dampening - information when BGP info structure is freed. - (bgp_info_cmp): Check damped flag. - (bgp_announce_check): Damped route is not announced. - -2001-01-09 "Akihiro Mizutani" - - * bgpd.c (neighbor_capability_route_refresh): Change "neighbor - route-refresh" command to "neighbor capability route-refresh". - (clear_bgp_soft_in): Change soft-reconfig method. - - clear ip bgp soft in - -------------------------------------- - Try stored cache first then route-refresh - - clear ip bgp in - --------------------------------- - Try route-refresh first then try to use stored cache - -2001-01-09 Kunihiro Ishiguro - - * bgp_nexthop.c (bgp_connected_add): Check point-to-point - connected route. Reported by ruud@ruud.org (Ruud de Rooij) - -2001-01-08 Kunihiro Ishiguro - - * bgp_nexthop.c (bgp_nexthop_lookup): When IBGP nexthop is - changed, refresh it. - -2001-01-04 Kunihiro Ishiguro - - * bgp_route.h (struct bgp_info_tag): Add as_selected to - bgp_info_tag. - -2001-01-03 Kunihiro Ishiguro - - * bgp_route.h (struct bgp_info_tag): Add damped and bgp_damp_info - member for BGP flap dampening. - - * bgp_damp.c: New file is added. - - * bgp_damp.h: Likewise. - -2001-01-01 Kunihiro Ishiguro - - * bgpd.h (BGP_VTYSH_PATH): Change "/tmp/bgpd" to "/tmp/.bgpd". - -2000-12-29 Kunihiro Ishiguro - - * bgp_nexthop.c (zlookup_connect): Change to use UNIX domain - socket for zebra communication. - -2000-12-29 Akihiro Mizutani - - * bgp_route.c (bgp_process): Fix "bgp deterministic-med" process. - -2000-12-27 Akihiro Mizutani - - * bgp_route.c (bgp_process): Add "bgp deterministic-med" process. - -2000-12-25 Akihiro Mizutani - - * bgp_route.c (bgp_info_cmp): Use ntohl comparing router ID. - -2000-12-18 Akihiro Mizutani - - * bgp_route.c (bgp_info_cmp): When over three same prefix exit, - withdrawing best prefix perform router ID comparison. - -2000-12-15 Akihiro Mizutani - - * bgp_route.c (bgp_info_cmp): Do not compare router ID when the - routes comes from EBGP peer. When originator ID is same, take - shorter cluster-list route. If cluster-list is same take smaller - IP address neighbor's route. - - * bgpd.c (bgp_bestpath_aspath_ignore): Add "bgp bestpath as-path - ignore" command. When this option is set, do not concider AS path - length when route selection. - (bgp_bestpath_compare_router_id): Add "bgp bestpath - compare-routerid". When this option is set, compare router ID - when the routes comes from EBGP peer. - -2000-12-15 Akihiro Mizutani - - * bgp_route.c (bgp_info_cmp): Compare originator ID when it is - available. - -2000-12-14 Akihiro Mizutani - - * bgp_packet.c (bgp_notify_receive): Disply received Notify data - information. - -2000-12-14 Kunihiro Ishiguro - - * bgp_filter.c (as_filter_free): Use MTYPE_AS_FILTER_STR to make - it sure the memory is freed. - - * bgp_route.c (route_vty_out_detail): Do not use AF_INET6 outside - HAVE_IPV6. - -2000-12-08 Akihiro Mizutani - - * bgp_packet.c (bgp_notify_send_with_data): Store BGP notification - data part. - - * bgp_network.c (bgp_accept): When BGP connection comes from - unconfigured IP address, close socket immediately. - - * bgpd.c: Fix some display format. - -2000-11-29 Kunihiro Ishiguro - - * bgp_packet.c (bgp_keepalive_send): Delete duplicate - bgp_packet_set_size () call. - -2000-11-28 Kunihiro Ishiguro - - * bgp_packet.c (bgp_read_packet): Remove debug codes. - -2000-11-27 Kunihiro Ishiguro - - * bgp_snmp.c (write_bgpPeerTable): Add SNMP set method routine. - - * bgp_fsm.c (bgp_stop): Use fsm_change_status to change peer's - status. - (bgp_establish): Likewise. - -2000-11-26 Akihiro Mizutani - - * bgp_open.c: Fix error messages. - -2000-11-25 Kunihiro Ishiguro - - * bgp_fsm.c (bgp_establish): Call BGP trap when the peer is - established. - (bgp_stop): Call BGP trap when the peer is dropped. - -2000-11-24 Kunihiro Ishiguro - - * bgp_snmp.c (bgp4PathAttrTable): Return BGP path attribute table. - - * bgpd.h (struct peer): Add update_time for track last update - received time. - - * bgp_packet.c (bgp_notify_receive): Preserv notify code and sub - code in any case. - - * bgp_snmp.c (bgpPeerTable): Return remote router ID instead of - peering IP address. - (bgpPeerTable): Return actual BGP version number. - -2000-11-22 Akihiro Mizutani - - * bgp_debug.c (bgp_notify_print): Notify data length display bug - is fixed. - -2000-11-16 Kunihiro Ishiguro - - * bgp_nexthop.c (zlookup_connect): When UNIX domain connection to - zebra is enabled, use the method. - -2000-11-16 Akihiro Mizutani - - * bgpd.c: Revise debug message output. - -2000-11-15 Akihiro Mizutani - - * bgp_clist.c (ip_community_list): Fix bug of string comparison. - -2000-11-14 Akihiro Mizutani - - * bgp_community.c (community_match): Fix bug of memcmp return - value check. - -2000-11-07 Kunihiro Ishiguro - - * bgp_clist.c (community_list_match_exact): Add check for - entry->style is COMMUNITY_LIST. - (community_match_regexp): Apply new com_nthval macro. - -2000-11-07 Rick Payne - - * bgp_routemap.c (route_set_community_delete): "set - community-delete COMMUNITY-LIST" is added. - - * bgp_community.c (community_del_val): Delete one community. - (community_delete): Delete all community included in list. - (community_match): Fix bug of matching community value. - - * bgp_clist.c (community_entry_free): Free community regular - expression. - (community_entry_make): Default style is COMMUNITY_LIST. - (community_entry_lookup): Make it sure style is COMMUNITY_LIST. - (community_entry_regexp_lookup): New function for community - regular expression lookup. - (community_match_regexp): New function. - (community_delete_regexp): New function. - (community_list_delete_entries): New function. - (community_list_match): Add COMMUNITY_REGEXP treatment. - (community_list_match_exact): Likewise. - (config_write_community): Write community list according to - entry->style. - -2000-11-07 Rick Payne - - * bgp_attr.c (bgp_attr_aspath): AS path first AS check. - - * bgp_clist.c (struct community_entry): Add style, regexp, reg to - community_entry. - -2000-11-06 Rick Payne - - * bgp_aspath.c (aspath_firstas_check): AS path first AS check. - - * bgpd.c (bgp_enforce_first_as): New command "bgp - enforce-first-as". - - * bgpd.h (BGP_CONFIG_ENFORCE_FIRST_AS): Add new flag. - -2000-11-06 Kunihiro Ishiguro - - * bgp_community.c (community_compare): Copy byte stream data to - actual value instead of using type casting hack. - (community_add_val): Likewise. - (community_uniq_sort): Likewise. - (community_print): Likewise. - (community_print_vty): Likewise. - (community_include): Use memcmp to compare community value. - - * bgp_community.h (com_lastval): com_lastval and com_nthval macro - return pointer. - -2000-11-06 Akihiro Mizutani - - * bgpd.h (struct peer): Add established and dropped member for - count peering up/down statistics. - - * bgpd.c (bgp_show_peer): Display peering up/down statistics. - - * bgp_fsm.c (bgp_establish): Increment established count. - (bgp_stop): Increment dropped count. - - * bgp_packet.c (bgp_notify_receive): Increament notify count. - -2000-11-1 Akihiro Mizutani - - * bgp_fsm.c: Fix bug of holdtimer is not reset when bgp cleared. - -2000-10-31 Kunihiro Ishiguro - - * bgpd.h: Static bit flag is set by (1 << DIGIT). - -2000-10-24 Akihiro Mizutani - - * bgp_ecommunity.c (ecommunity_dup): Extended community display - format fix. - -2000-10-24 Arkadiusz Miskiewicz - - * bgp_network.c (bgp_serv_sock_addrinfo): Use gai_strerror. - (bgp_serv_sock_addrinfo): Check address family. - -2000-10-23 Jochen Friedrich - - * bgp_snmp.c: bgp_oid and bgpd_oid are used in smux_open after it - is registered. So those variables must be static. - -2000-10-23 Akihiro Mizutani - - * bgp_routemap.c (route_match_ip_next_hop): Change "match ip - next-hop" argument from IP address to access-list name. - Remove zebra-0.88 compatibility commands. - "match ip prefix-list WORD" - "match ipv6 prefix-list WORD" - -2000-10-23 Kunihiro Ishiguro - - * bgp_routemap.c (route_match_ipv6_next_hop_compile): Fix bug of - passing the pointer to the pointer of struct in6_addr instead of - the pointer of struct in6_addr in "match ipv6 next-hop" command. - - * bgp_route.c (bgp_announce_check): Enclose IPv6 part with - HAVE_IPV6. - -2000-10-20 Jasper Wallace - - * bgp_snmp.c (bgpPeerTable): ntohs missing bug is fixed. Change - to use linklist.c. Define COUNTER32 as ASN_COUNTER. - -2000-10-18 Kunihiro Ishiguro - - * bgp_route.c (bgp_announce_check): attr->nexthop empty check - should be done by attr->nexthop.s_addr instead of strcmp. - -2000-10-18 Akihiro Mizutani - - * bgp_zebra.c (zebra_read_ipv4): Pass nexthop value to - bgp_redistribute_add(). - - * bgp_nexthop.c (bgp_multiaccess_check_v4): New function for - checking IPv4 multiaccess nexthop. - - * bgp_route.c (bgp_announce_check): In case of the nexthop is - reachable on multiaccess media, do not change nexthop. - (bgp_redistribute_add): Set nexthop when the value is passed. - -2000-10-17 Kunihiro Ishiguro - - * bgp_fsm.c (bgp_timer_set): If peer is passive mode, do not set - connect timer. - (bgp_start): If the peer is passive mode, force to move to Active - mode. - -2000-10-17 Horms - - * bgp_debug.c (debug_bgp_fsm): Fix typo. - -2000-10-17 Akihiro Mizutani - - * bgp_route.c: "show ipv6 bgp" route display improvement. - -2000-10-03 Kunihiro Ishiguro - - * bgp_route.c (neighbor_routes): Allocate sockunion for callback - function. - (bgp_show_neighbor_route): Remove static declaration for union - sockunion. - - * bgpd.c (peer_update_source_set): Clean previously allocated - memory before allocate new one. - -2000-10-03 Akihiro Mizutani - - * bgp_route.c (neighbor_routes): Add show neighbor's routes - command. - "show ip bgp neighbors (A.B.C.D|X:X::X:X) routes" - "show ip bgp ipv4 (unicast|multicast) neighbors (A.B.C.D|X:X::X:X) routes" - "show ipv6 bgp neighbors (A.B.C.D|X:X::X:X) routes" - "show ipv6 mbgp neighbors (A.B.C.D|X:X::X:X) routes" - -2000-10-02 Kunihiro Ishiguro - - * zebra-0.89 is released. - -2000-10-02 Akihiro Mizutani - - * bgpd.c: "bgp deterministic-med" command is added. - -2000-10-02 Kunihiro Ishiguro - - * bgp_nexthop.c (bgp_connected_add): Apply mask for connected - route addition and deletion. - -2000-09-29 Kunihiro Ishiguro - - * bgp_aspath.c (aspath_cmp_left): Skip confederation AS segment - when comparing leftmost AS number. - -2000-09-29 Akihiro Mizutani - - * bgpd.c (peer_route_reflector): Route reflector can be set for - IBGP peer. - (bgp_distribute_set): Fix bug of string check for (in|out). - (bgp_show_summary): Display total neighbor count. - -2000-09-28 Akihiro Mizutani - - * bgp_attr.c (bgp_packet_attribute): Only add cluster_list and - originator for clinet to client routes. - (bgp_packet_attribute): Add new cluster_list to the beginning of - existing cluster_list. - (bgp_packet_attribute): Fix bug of originator is rewritten even - when originator is already set. - -2000-09-27 Kunihiro Ishiguro - - * bgpd.c (bgp_client_to_client_reflection): Add new command. - "no bgp client-to-client reflection" - "bgp client-to-client reflection" - - * bgpd.h (BGP_CONFIG_NO_CLIENT_TO_CLIENT): Add new definition. - -2000-09-26 Kunihiro Ishiguro - - * bgp_packet.c (bgp_read): Make BGP packet read to non-blocking - read. - (bgp_read_packet): Likewise. - (bgp_read_packet): When errono is EAGAIN, try to read it again. - - * bgp_fsm.c (bgp_stop): Clear packet size and read buffer. - -2000-09-26 Akihiro Mizutani - - * bgp_routemap.c: Configuration of prefix-list match is shown as - "match ip address prefix-list ". Old configuration "match - ip prefix-list " is left for compatibilitty. - -2000-09-25 Akihiro Mizutani - - * bgpd.h (BGP_CONFIG_MED_MISSING_AS_WORST): Changed from - BGP_CONFIG_MISSING_AS_WORST. - - * bgpd.c (bgp_bestpath_med): Change missing-as-worst syntax. - Old "bgp bestpath missing-as-worst" - New "bgp bestpath med missing-as-worst" - -2000-09-24 Akihiro Mizutani - - * bgp_route.c: Compare MED properly in case of CONFED-IBGP. - -2000-09-21 steve@Watt.COM (Steve Watt) - - * bgp_debug.h: Do not declare debug variables conf_bgp_debug_* and - term_bgp_debug_*. - - * bgp_debug.c: Declare variables here. - -2000-09-21 Akihiro Mizutani - - * bgpd.c: MBGP soft-reconfiguration command is added. - clear ip bgp x.x.x.x ipv4 (unicast|multicast) in - clear ip bgp x.x.x.x ipv4 (unicast|multicast) out - clear ip bgp x.x.x.x ipv4 (unicast|multicast) soft - clear ip bgp <1-65535> ipv4 (unicast|multicast) in - clear ip bgp <1-65535> ipv4 (unicast|multicast) out - clear ip bgp <1-65535> ipv4 (unicast|multicast) soft - clear ip bgp * ipv4 (unicast|multicast) in - clear ip bgp * ipv4 (unicast|multicast) out - clear ip bgp * ipv4 (unicast|multicast) soft - - Change "clear ip bgp vpnv4 x.x.x.x soft" command to - "clear ip bgp x.x.x.x vpnv4 unicast soft". - - "bgp bestpath med confed" command is added. - - * bgpd.h (BGP_CONFIG_MED_CONFED): Add New definition. - -2000-09-18 Rick Payne - - * bgpd.c (bgp_show_peer): Fix misplaced #endif. - -2000-09-12 Akihiro Mizutani - - * bgpd.c (bgp_default_local_preference): Add "bgp default - local-preference" command. - - * bgp_nexthop.c (no_bgp_scan_time): Add "no bgp scan-time" - command. - -2000-09-10 Kunihiro Ishiguro - - * bgp_zebra.c (bgp_zebra_announce): BGP confederation peer's routes - are passed to zebra like IBGP route. - -2000-09-10 Akihiro Mizutani - - * bgpd.c (bgp_config_write_peer): Make it consistent passive - configuration. - - * bgp_route.c: Community match command is added. - "show ip bgp community " - "show ip bgp community exact-match" - -2000-09-08 Kunihiro Ishiguro - - * bgp_nexthop.c (bgp_nexthop_lookup): ebgp-multihop routes are - treated as IBGP routes. - -2000-09-08 Akihiro Mizutani - - * bgp_route.c (bgp_show_route): When local-AS community route is - selected, display "not advertised outside local AS" to "show ip - route A.B.C.D" output. - (show_ip_bgp_ipv4_filter_list): Add below four commands. - "show ip bgp ipv4 (unicast|multicast) filter-list WORD" - "show ip bgp ipv4 (unicast|multicast) community" - "show ip bgp ipv4 (unicast|multicast) community-list WORD" - "show ip bgp ipv4 (unicast|multicast) community-list WORD exact-match" - - * bgp_clist.c (community_list_match_exact): Community exact match - function. - -2000-09-07 Kunihiro Ishiguro - - * bgp_route.c (bgp_update): Add peer's ttl check. - - * bgpd.h (struct peer): Structure member refresh is renamed to - refresh_adv. - - * bgpd.c (clear_bgp_soft_in): Check PEER_FLAG_ROUTE_REFRESH flag - when soft reconfiguration is performed. - - * bgp_zebra.c (bgp_zebra_announce): When the peer is EBGP and - ebgp-multiphop is set, set ZEBRA_FLAG_INTERNAL for nexthop lookup. - - * bgp_route.h (struct bgp_info_tag): Add valid flag. - -2000-08-25 Akihiro Mizutani - - * bgpd.c: Add AS base BGP soft reconfiguration. - - * bgp_route.c: When no-advertise or no-export route is selected, - "show ip bgp" display "not advertised to EBGP peer" or "not - advertised to any peer" message. - -2000-08-17 Kunihiro Ishiguro - - * zebra-0.88 is released. - - * bgp_dump.c (dump_bgp_routes): Change "dump bgp routes" to "dump - bgp route-mrt" to support MRT specific dump format. - - * bgpd.c (bgp_init): "clear ip bgp vpnv4 soft {in,out}" command is - added. - - * bgp_route.c (bgp_update): Currently nexthop check is only works - for IPv4. - -2000-08-17 Akihiro Mizutani - - * bgpd. (clear_ip_bgp_all_soft): Add "clear ip bgp * soft" for - both inbound and outbound soft reconfiguration. - -2000-08-17 Kunihiro Ishiguro - - * bgpd.c (clear_ip_bgp_peer_soft_out): Add soft-reconfiguration - outbound. - (peer_new): Set route-refresh flag. - -2000-08-16 Akihiro Mizutani - - * bgpd.c: "no bgp router-id A.B.C.D" alias is added. "no bgp - cluster-id A.B.C.D" alias is added. " bgp cluster-id - <1-4294967295>" alias is added. "clear ip bgp * soft in" command - is added. "clear ip bgp A.B.C.D in" alias is added. "clear ip - bgp * in" alias is added. - -2000-08-16 Kunihiro Ishiguro - - * bgp_route.c (bgp_update): Add soft_reconfig flag. When the flag - is set do not install the route into Adj-RIBs-In. - (bgp_update): Perform implicit withdraw before filtering of the - route. - - * bgp_packet.c (bgp_read): draft-ietf-idr-bgp-route-refresh-01.txt - capability code and BGP message can be accepted. - - * bgp_open.c (bgp_capability_parse): Likewise. - - * bgp_route.c (bgp_refresh_table): New function for route refresh. - (bgp_refresh_rib): Likewise. - - * bgpd.c (bgp_show_peer): Display route refresh status. - - * bgp_route.c (bgp_aggregate_add): Add check for the route - validness. - (bgp_aggregate_delete): Likewise. - -2000-08-15 Kunihiro Ishiguro - - * bgp_nexthop.c (bgp_scan): Care for aggregate route when the - route become inaccessible. - -2000-08-15 Akihiro Mizutani - - * bgp_route.c (show_ip_bgp_prefix): "show ip bgp A.B.C.D/M" - command is added. - -2000-08-15 Kunihiro Ishiguro - - * bgp_zebra.c (bgp_interface_up): Register connected route. - (bgp_interface_down): Unregister connected route. - -2000-08-14 Kunihiro Ishiguro - - * bgp_route.h (struct bgp_info): Add distance to the structure. - - * bgp_route.c (bgp_aggregate_increment): Aggregate route only - match to smaller prefixlen route not match same prefixlen route. - (bgp_aggregate_decrement): Likewise. - (bgp_aggregate_add): Likewise. - (bgp_aggregate_delete): Likewise. - (bgp_network_backdoor): Add backdoor network configuration. - - * bgpd.h (struct bgp ): Add distance_{ebgp,ibgp,local} for store - configuration distance value. - - * bgp_route.c (bgp_update): Filter EBGP route which has non - connected nexthop. - - * bgp_attr.c (bgp_attr_aggregate_intern): New function for - aggregate route. Set origin to IGP. Set atomic aggregate flag. - Set aggregator AS and address. - (bgp_attr_aggregate_intern): Check BGP_CONFIG_CONFEDERATION when - filling aggregator_as. - - * bgp_route.c (bgp_process): Delete suppress check for install - suppressed route into local routing table. - (bgp_aggregate_increment): Use bgp_attr_aggregate_intern() instead - of bgp_attr_default_intern (). - (bgp_aggregate_add): Likewise. - - * bgpd.c (bgp_get): Call bgp_if_update_all() after BGP instance is - created. This is for avoid 0.0.0.0 router-id. - -2000-08-13 Akihiro Mizutani - - * bgp_route.c (route_vty_out_detail): Display "valid" when the - route is valied. Display "aggregated" when the route is - aggregated. "Advertisements suppressed by an aggregate" is - displayed when the route is suppressed. - (bgp_info_cmp): Prefer EBGP than Confed-EBGP. - -2000-08-10 Akihiro Mizutani - - * bgp_route.c (route_vty_out_detail): Display format change. - -2000-08-06 Kunihiro Ishiguro - - * bgp_route.c (bgp_update): Only AFI_IP nexthop check is enabled. - - * bgpd.c (bgp_delete): Delete static route before delete peer - configuration. - -2000-08-02 Kunihiro Ishiguro - - * bgpd.c: Include bgpd/bgp_nexthop.h. - -2000-07-31 Akihiro Mizutani - - * bgpd.c (bgp_show_summary): "show ip bgp summary" shows own BGP - identifier. And status is changed like below. - - State/Pref -> State/PfxRcd - Shutdown -> Idle (Admin) - PrefixOvflw -> Idle (PfxCt) - - * bgp_route.c (route_vty_out): Show internal route as "i". - -2000-07-13 Jim Bowen - - * bgp_snmp.c: Add BGP peer MIB implementation. - -2000-07-12 Akihiro Mizutani - - * bgpd.c (bgp_show_peer): Fix typo. - -2000-07-11 Akihiro Mizutani - - * bgp_routemap.c: Add commands for deleting set without argument. - -2000-07-03 Akihiro Mizutani - - * bgp_zebra.c: Fix redistribute help strings. - -2000-07-01 Kunihiro Ishiguro - - * bgp_route.c (bgp_show): When bgpd works as vtysh server send all - output to vty at once. - -2000-06-13 Kunihiro Ishiguro - - * bgp_mplsvpn.c (no_vpnv4_network): "no network A.B.C.D/M rd WORD - tag WORD" command is added. - - * bgp_ecommunity.c (ecommunity_vty_out): New function added. - -2000-06-12 Kunihiro Ishiguro - - * bgp_route.c (bgp_show): Fix total number of prefix count bug. - - * bgpd.c (bgp_show_peer): Display VPNv4 unicast configuration and - negotiation result in "show ip bgp neighbors". - -2000-06-12 Akihiro Mizutani - - * bgpd.c: Fix help strings. - - * bgpd.h: Likewise. - -2000-06-11 Kunihiro Ishiguro - - * bgp_route.c (bgp_aggregate_unset): Fix bug of checking rn->info - instead of rn. Reported by Akihiro Mizutani . - - * bgp_mplsvpn.c (vpnv4_network): For testing purpose, "network - A.B.C.D rd RD" is added to address-family vpnv4 unicast node. - - * bgp_route.c (bgp_static_set): Set safi to p.safi. - -2000-06-10 Kunihiro Ishiguro - - * bgp_route.c (bgp_show_prefix_list): Change to use bgp_show(). - (bgp_show_regexp): Change to use bgp_show(). - (show_adj_route): Change to display header. - - * bgpd.c (clear_bgp): Set peer->v_start to default value when peer - is cleared manually. - - * bgp_route.c (bgp_show_route): New function which display - specific BGP route. Divided from bgp_show(). - (bgp_static_delete): Delete all static route. - -2000-06-09 NOGUCHI Kay - - * bgp_route.c (show_ipv6_bgp): "show ipv6 bgp" is broken with - invalid privious fix. Now show_ipv6_bgp and show_ipv6_bgp_route - take care of "show ipv6 bgp [X:X::X:X]". Same change for "show ip - mbgp" and "show ipv6 mbgp". - -2000-06-07 Akihiro Mizutani - - * bgp_route.c: Fix help strings and command arguments. - -2000-06-06 Kunihiro Ishiguro - - * bgp_ecommunity.c: Include prefix.h - -2000-06-05 Kunihiro Ishiguro - - * bgp_route.h (struct bgp_info_tag): New structure to hold tag - value. - - * bgp_route.c (bgp_adj_set): table NULL check is added. - (bgp_adj_unset): Likewise. - (bgp_adj_lookup): Likewise. - (bgp_adj_clear): Likewise. - (route_vty_out): Add SAFI check for nexthop display. - (bgp_withdraw): Add SAFI check for withdraw route. - - * Remove all #ifdef MPLS_VPN then include it as default. - - * bgpd.c: Temporary disable peer-group command until the - implementation is completed. - - * bgp_routemap.c (bgp_route_map_init): Install - route_metric_match_cmd. - (route_match_metric_compile): MED value compile using strtoul. - -2000-06-05 Akihiro Mizutani - - * bgp_filter.c: Fix help strings. Change REGEXP to LINE. Change - NAME to WORD. - - * Change command argument to more comprehensive. - - METRIC -> <0-4294967295> - WEIGHT -> <0-4294967295> - LOCAL_PREF -> <0-4294967295> - IP_ADDR -> A.B.C.D - AS -> <1-65535> - AS-PATH-NAME -> WORD - ACCESS_LIST -> WORD - PREFIX_LIST -> WORD - COMMUNITY -> AA:NN - EXT_COMMUNITY -> ASN:nn_or_IP-address:nn - IPv6_ADDR -> X:X::X:X - - * bgp_clist.c: Fix help strings. - -2000-06-03 Kunihiro Ishiguro - - * bgpd.c (peer_active): Add new function for check the peer is - active or not. - (neighbor_activate): New command "neighbor PEER activate" and "no - neighbor PEER activate" are added. - - * bgp_packet.c: Include bgpd/bgp_mplsvpn.h. - -2000-06-02 Akihiro Mizutani - - * bgp_clist.c: Fix commuity-list help strings. - - * bgp_routemap.c: Fix "set community" help strings. Add #define - SET_STR. Use (unicast|multicast) argument for "set nlri" command. - -2000-06-01 Kunihiro Ishiguro - - * bgp_routemap.c (route_set_community_none_cmd): "set community - none" command is added to route-map. - -2000-06-01 Akihiro Mizutani - - * bgp_debug.c: Change "show debug" to "show debugging". Now "show - debugging" is not used in VIEW_NODE. - -2000-05-30 Kunihiro Ishiguro - - * bgp_fsm.c (bgp_timer_set): Add check for shutdown flag. This - fix unconditional BGP connection. - - * bgpd.c (peer_shutdown): Replace peer_shutdown() with - peer_change_flag_with_reset(). - -2000-05-26 Kunihiro Ishiguro - - * bgpd.c (no_bgp_default_ipv4_unicast): Add "no bgp default - ipv4-unicast" command. - - * bgpd.h (BGP_CONFIG_NO_DEFAULT_IPV4): Add new definition. - - * bgp_filter.c (as_list_delete): Free all AS filter. - - * bgp_clist.c (community_list_delete): Free all community entry. - - * bgp_filter.c (no_ip_as_path_all): New DEFUN for "no ip as-path - access-list NAME". - - * bgp_clist.c (no_ip_community_list_all): New DEFUN for "no ip - community-list NAME". - -2000-05-19 Kunihiro Ishiguro - - * bgp_route.c (ipv6_mbgp_neighbor_routes): Change "show ip bgp PEER - routes" to "show ip bgp PEER received-routes" - -2000-05-14 Kunihiro Ishiguro - - * bgp_ecommunity.c (ecommunity_parse): New file for Extended - Communities attribute. - * bgp_ecommunity.h: Likewise. - -2000-05-11 Kunihiro Ishiguro - - * bgp_mplsvpn.h: New file for MPLS-VPN. - * bgp_mplsvpn.c: Likewise. - - * bgpd.c (bgp_delete): Fix bug of "no router bgp" crush. - -2000-05-10 Kunihiro Ishiguro - - * bgpd.c (bgp_bestpath_missing_as_worst): Add "bgp bestpath - missing-as-worst". - -2000-05-08 Kunihiro Ishiguro - - * bgp_routemap.c (match_community): Clarify help of "match - community". - -2000-05-02 Kunihiro Ishiguro - - * bgp_aspath.c (aspath_cmp_left): Remove debug code. - -2000-04-27 Kunihiro Ishiguro - - * bgp_route.c (bgp_info_cmp): Compare MED only both routes comes - from same neighboring AS. - - * bgp_aspath.c (aspath_cmp_left): Compare leftmost AS value. - - * bgp_route.c (bgp_info_cmp): Fix misused htonl() to ntohl(). - -2000-04-26 Kunihiro Ishiguro - - * bgp_route.c (bgp_output_filter): When distribute-list's - corresponding access-list does not exist, filter all routes. - (bgp_input_filter): Likewise. - -2000-04-19 Kunihiro Ishiguro - - * bgp_attr.c (bgp_packet_attribute): Propagate MED to IBGP peer. - - * bgp_route.c (bgp_info_cmp): Add evaluation of local preference. - -2000-04-18 Kunihiro Ishiguro - - * bgpd.c (bgp_distribute_update): Add struct access_list * - argument. - -2000-04-17 Kunihiro Ishiguro - - * bgp_clist.c (community_list_dup_check): Add duplicate insertion - check. - - * bgp_filter.c (as_list_dup_check): Add duplicate insertion check. - - * bgp_route.c (bgp_show): Fix undeclared write variable. - -2000-04-13 Kunihiro Ishiguro - - * bgp_routemap.c: Add "match ip address prefix-list". - -2000-03-29 Rick Payne - - * bgp_aspath.c (aspath_strip_confed): Fix realloc problem. - -2000-03-16 Kunihiro Ishiguro - - * bgp_fsm.c (bgp_reconnect): Connect retry timer is expired when - the peer status is Connect. - -2000-03-03 Kunihiro Ishiguro - - * Fix bug of rewritten originator-id. - -2000-01-27 Rick Payne - - * bgp_aspath.c (aspath_delimiter_char): New function. Instead of - directly referencing array, search proper AS path delimiter. - (aspath_strip_confed): Strip the confederation stuff from the - front of an AS path. - (aspath_add_left_confed): New function for adding specified AS to - the leftmost AS_CONFED_SEQUENCE. - - * bgp_aspath.h: Change AS_CONFED_SEQUENCE and AS_CONFED_SET value - to Cisco compatible. - - * bgpd.c (bgp_confederation_id_set): Confederation configuration. - (bgp_confederation_id_unset): Likewise. - (bgp_confederation_peers_check): Likewise. - (bgp_confederation_peers_add): Likewise. - (bgp_confederation_peers_remove): Likewise. - (bgp_confederation_peers_set): Likewise. - (bgp_confederation_peers_unset): Likewise. - (bgp_confederation_peers_print): Likewise. - -2000-01-16 Kunihiro Ishiguro - - * bgpd.c: Introduce peer_change_flag_with_reset() fucntion. - -2000-01-17 Kunihiro Ishiguro - - * bgp_open.c (bgp_open_option_parse): When there is no common - capability send Unsupported Capability error to the peer. - -2000-01-14 Kunihiro Ishiguro - - * bgp_open.c (bgp_capability_mp): Fix bug of mis-negotiation about - IPv6 unicast. - - * bgpd.c (bgp_init): Add "soft-reconfiguration inbound" command. - -2000-01-12 Kunihiro Ishiguro - - * bgpd.c (neighbor_strict_capability): Add - "strict-capability-match" command. - - * bgp_zebra.c (bgp_if_update): Ignore NET127 determining - router-id. - - * bgpd.c (peer_override_capability): Add "override-capability" - command. - -1999-12-16 Kunihiro Ishiguro - - * bgp_packet.c (bgp_write): Change status to Idle and set timer - after write failed. - -1999-12-14 Kunihiro Ishiguro - - * bgp_zebra.c (bgp_zebra_announce): Add info->selected check. - -1999-12-12 Kunihiro Ishiguro - - * bgp_route.c (nlri_unfeasible): nlri_unfeasible() is merged with - nlri_parse(). - -1999-12-10 Kunihiro Ishiguro - - * bgp_fsm.h (BGP_EVENT_DELETE): Macro added. - - * bgp_fsm.c (bgp_stop): Clear all event threads of the peer when - the peer is cleared. - - * bgp_zebra.c (bgp_nexthop_set): Clear interface index of - link-local address. This is KAME specific problem. - -1999-12-06 Kunihiro Ishiguro - - * bgp_attr.c (bgp_mp_reach_parse): Comment out previous code for a - while. We don't completely detect the link is shared or not at - this moment. - - * bgp_packet.c (bgp_notify_send): Make shortcut call of - bgp_write() and bgp_stop(). - - * bgp_attr.c (bgp_mp_reach_parse): Fix serious bug when getting - global and link-local address. - -1999-12-05 Kunihiro Ishiguro - - * bgpd.c (no_neighbor_port): New command added. - (peer_new): Set send_community. - -1999-12-04 Kunihiro Ishiguro - - * bgpd.c (show_ip_bgp_summary): Changed to use bgp_show_summary(). - (show_ip_mbgp_summary): Likewise. - (show_ipv6_bgp_summary): Likewise. - (show_ipv6_mbgp_summary): Add new command. - (peer_free): Free peer->host. - (peer_lookup_by_su): Delete function. - (ipv6_bgp_neighbor): Changed to use peer_remote_as(). - (sockunion_vty_out): Function deleted. - (vty_clear_bgp): Use afi instead of family. - Delete old list bgp_list. Use struct newlist *bgplist. - (peer_lookup_by_host): Function deleted. - -1999-12-03 Kunihiro Ishiguro - - * bgpd.h (struct peer_group): New structure added. - (struct peer_conf): New structure added. - (struct peer): Change all prefix_count to unsigned long. - - * bgpd.c: Reconstruct all of VTY commands reflect internal - structure change. - Use bgplist instead of bgp_list. - Use peerlist intstead of peer_list. - - * bgp_attr.c (bgp_mp_reach_parse): If nlri_parse return -1, stop - parsing then return immediately. - - * bgp_route.c (nlri_parse): When NLRI parse error occured, return - -1. - (nlri_process): Use pcount_v4_{unicast,multicast}. - (nlri_delete): Likewise. - -1999-11-25 Robert Olsson - - * bgp_routemap.c (route_match_nlri): `match nlri - unicast|multicast' and `set nlri unicast|multicast' command are - added. - -1999-11-22 Robert Olsson - - * bgpd.c: Add translate-update support. - - * bgpd.h (TRANSLATE_UPDATE_OFF): Add translate-update definition. - -1999-11-19 Robert.Olsson@data.slu.se - - * bgp_route.c (bgp_peer_delete): Add MBGP peer clear codes. - -1999-11-14 Kunihiro Ishiguro - - * bgp_open.c (bgp_capability_mp): Temporary comment out - SAFI_UNICAST_MULTICAST handling until we know the meanings. - -1999-11-13 Kunihiro Ishiguro - - * bgp_btoa.c: New file added. - -1999-11-12 Kunihiro Ishiguro - - * bgpd.h (struct peer): Add dont_capability flag. - (struct peer): Add override_capability flag. - - * bgpd.c (neighbor_dont_capability_negotiation): `neighbor PEER - dont-capability-negotiation' added. - -1999-11-12 Bill Sommerfeld - - * bgp_attr.c (bgp_mp_reach_parse): Ignore link-local addresses - attribute from non-shared-network peers. - -1999-11-10 Kunihiro Ishiguro - - * bgp_snmp.c: New file added. - - * BGP4-MIB.txt: Updated to the latest Internet-Draft - draft-ietf-idr-bgp4-mib-04.txt. - -1999-11-09 Kunihiro Ishiguro - - * bgp_route.c (bgp_route_init): Add `show ipv6 bgp prefix-list'. - - * bgp_attr.c (bgp_mp_unreach_parse): Enclose safi setup with - #ifdef HAVE_MBGPV4. - -1999-11-08 Kunihiro Ishiguro - - * bgp_dump.c (no_dump_bgp_all): Add [PATH] and [INTERVAL] to no - dump bgp commands. - (config_write_bgp_dump): Write interval value to the - configuration. - -1999-11-07 Kunihiro Ishiguro - - * bgp_zebra.c: Redistribute route-map support is added. - - * bgp_zebra.h: New file added. - -1999-11-04 Kunihiro Ishiguro - - * bgp_dump.c: BGP packet dump routine compatible with MRT. - * bgp_dump.h: BGP packet dump routine compatible with MRT. - - * bgp_debug.c: Renamed from bgp_dump.c - * bgp_debug.h: Renamed from bgp_dump.h - -1999-10-27 Kunihiro Ishiguro - - * BGP4-MIB.txt: New file added. Edited version of RFC1657. - -1999-10-25 Bill Sommerfeld - - * bgp_route.c (bgp_announce): If we're not on a shared network - with the peer and we don't have a link-local next hop, but the - inbound next-hop has a link-local address, don't readvertise it to - our peer. - -1999-10-25 Marc Boucher - - * bgp_zebra.c: Add redistribute kernel command. - -1999-10-25 Kunihiro Ishiguro - - * bgp_route.c (bgp_reset): New function added. - - * bgpd.conf.sample2: Add IPv6 configuration sample. - -1999-10-24 Bill Sommerfeld - - * bgp_route.c (ipv6_aggregate_address): Function added. - -1999-10-21 Kunihiro Ishiguro - - * bgp_packet.c (bgp_update): Unintern aspath, community, cluster - list after parsing BGP update packet. - - * bgp_attr.c (bgp_attr_aspath): Intern parsed aspath. - (bgp_attr_community): Intern parsed community. - (bgp_attr_cluster_list): Intern parsed cluster list. - - * bgp_routemap.c: Add `set community-additive' command. - -1999-10-21 Alexandr D. Kanevskiy - - * bgp_routemap.c (route_set_local_pref): Fix bug of setting - attribute flag. - -1999-10-21 Bill Sommerfeld - - * bgp_route.c (bgp_announce): Add check of IPv6 default route - announcement. - - * bgp_packet.c (bgp_update_send): Add BGP announcement logging. - -1999-10-15 Kunihiro Ishiguro - - * `show ip[v6] bgp PREFIX' show uptime of the route. - -1999-10-04 Kunihiro Ishiguro - - * bgpd.c (bgp_filter_set): Delete PEER_FAMILY_{IPV4,IPV6}. instead - of that use AF_INET and AF_INET6 directly. - (vty_clear_bgp): Add new function to support various clear ip bgp - method. - -1999-10-04 Lars Fenneberg - - * bgpd.c (clear_ip_bgp): Add `clear ip bgp ASN'. - -1999-10-03 Kunihiro Ishiguro - - * bgp_routemap.c: Add `match ip prefix-list' and `match ipv6 - prefix-list'. - -1999-09-28 Kunihiro Ishiguro - - * bgpd.c (bgp_collision_detect): Add BGP collision detection - function. - -1999-09-26 Blake Meike - - * bgpd.c (neighbor_port): New command `neighbor PEER port PORT' is - added. - -1999-08-24 Kunihiro Ishiguro - - * bgpd.c (no_neighbor_timers_keepalive): Change MIN to min. Add - min() macro. - -1999-08-19 Rick Payne - - * bgp_packet.c (bgp_open): BGP holdtimer bug is fixed. Make BGP - keepalive timer configurable. - -1999-08-15 Kunihiro Ishiguro - - * bgp_zebra.c (bgp_redistribute_set): Fix redistribute bug. - -1999-08-13 Kunihiro Ishiguro - - * bgpd.c (bgp_peer_display): show ip bgp neighbors PEER only list - the peer not all of them. - -1999-08-11 Rick Payne - - * bgp_route.c (bgp_announce): Remove MED if its an EBGP peer - - will get overwritten by route-maps. - -1999-08-08 Rick Payne - - * bgp_routemap.c: Multi protocol route-map modification. - -1999-08-01 Kunihiro Ishiguro - - * bgp_route.c: Set network statement route's origin attribute as - igp. - - * bgp_zebra.c: Set redistribute route's origin attribute as - incomplete. - - * bgp_route.c (bgp_info_cmp): Add attribute existance check, - origin attribute check, BGP peer type check. - -1999-07-30 Kunihiro Ishiguro - - * bgp_route.c (bgp_peer_delete): Reselect of IPv6 route. - -1999-07-29 Rick Payne - - * Changed route-maps to behave in a more cisco-like fashion - -1999-07-27 Kunihiro Ishiguro - - * bgp_fsm.c (bgp_stop): Very serious bug of bgp_stop () is fixed. - When multiple route to the same destination exist, bgpd try to - announce the information to stopped peer. Then add orphan write - thread is added. This cause many strange behavior of bgpd. - Reported by Georg Hitsch . - -1999-07-23 Kunihiro Ishiguro - - * bgpd.c: Change peer's A.B.C.D to PEER. - -1999-07-22 Kunihiro Ishiguro - - * bgp_route.c (bgp_announce): Add hack for link-local nexthop. - - * bgp_zebra.c (bgp_zebra_announce): Fill in nexthop address from - local address. - -1999-07-21 Kunihiro Ishiguro - - * bgp_packet.c (bgp_open): Holdtime fetch bug is fixed. Reported - by Yuji SEKIYA . - -1999-07-15 Kunihiro Ishiguro - - * bgp_fsm.c (fsm_holdtime): Don't close file descriptor in - fsm_holdtime (). - -1999-07-11 Kunihiro Ishiguro - - * bgp_routemap.c: Add `set atomic-aggregate' command. - -1999-07-06 Kunihiro Ishiguro - - * bgp_routemap.c (route_set_ip_nexthop_cmd): Change "ip nexthop" - to "ip next-hop". - -1999-07-02 Kunihiro Ishiguro - - * bgp_route.c (show_ipv6_bgp_regexp): `show ipv6 bgp regexp' - added. - -1999-07-01 Rick Payne - - * bgp_zebra.c (zebra_init): Install standard commands to - ZEBRA_NODE. - -1999-06-28 Rick Payne - - * bgpd.c (bgp_delete): bgp peer deletion bug is fixed. - -1999-06-25 Kunihiro Ishiguro - - * bgpd.c: Add neighbor update-source command as ALIAS to - neighbor_interface. - -1999-06-19 Kunihiro Ishiguro - - * bgp_attr.c (bgp_packet_attribute): Send community attribute when - send_community flag is set. - - * bgpd.h (struct peer): Add send_community flag. - -1999-06-12 Kunihiro Ishiguro - - * bgpd.c (router_bgp): router bgp's argument changed from AS_NO to - <1-65535>. - -1999-06-08 Kunihiro Ishiguro - - * bgp_route.h (struct bgp_info): Add subtype for BGP route type. - -1999-06-07 Kunihiro Ishiguro - - * bgp_community.c (community_merge): Function added. - -1999-06-04 Kunihiro Ishiguro - - * bgp_clist.c: New file. - * bgp_clist.h: New file. - - * bgp_community.h (COMMUNITY_LOCAL_AS): Added for Cisco - compatibility. - (COMMUNITY_NO_ADVERTISE): Fix typo. - -1999-05-30 Kunihiro Ishiguro - - * bgp_routemap.c: Add `set weight WEIGHT' command. - - * bgpd.c: Remove all_digit_check function. Instead of that use - all_digit function in lib/prefix.c. - - * bgp_routemap.c (bgp_route_map_init): Install - no_set_ipv6_nexthop_global_cmd and no_set_ipv6_nexthop_local_cmd - element to the RMAP_NODE. - -1999-05-28 Kunihiro Ishiguro - - * bgp_aspath.c (aspath_make_str): Declare aspath_delimiter_char - inside aspath_make_str function. - (aspath_prepend): New function is added for AS path prepend. - (aspath_make_str_count): Renamed from aspath_make_str. AS path - count is set to the structure. - (aspath_merge): New function. - -1999-05-22 Kunihiro Ishiguro - - * bgp_zebra.c (redistribute_bgp): Add new DEFUN. - (no_redistribute_bgp): Likewise. - (router_zebra): Semantics changed. Now 'router zebra' is default - behavior of bgpd. - -1999-05-14 Kunihiro Ishiguro - - * bgp_routemap.c: Add some commands to bgp route-map. - match ip next-hop: New command. - match metric: New command. - set metric: Doc fix. - set local-preference: Add DEFUN. - -1999-05-14 Stephen R. van den Berg - - * bgp_main.c (signal_init): SIGTERM call sigint. - (sigint): Loggging more better message. - -1999-05-12 Kunihiro Ishiguro - - * bgp_attr.c (bgp_packet_attribute): AS path attribute extended - length bit check is added. - -1999-05-11 Kunihiro Ishiguro - - * bgp_routemap.c (bgp_route_map_init): Call route_map_install_set - function with route_set_local_pref_cmd argument. - (no_match_aspath): Function added. - (route_set_metric): Set attribute flag bit. - - * bgp_attr.c (bgp_packet_attribute): MULTI_EXIT_DISC is now in BGP - packet. - -1999-05-07 Kunihiro Ishiguro - - * bgpd.c (no_neighbor_timers_holdtime): `no neighbor PEER timers - holdtime' command is added. - - * bgpd.h (BGP_DEFAULT_HOLDTIME_BIG): Delete define. - - * bgpd.c (bgp_prefix_list_set): New function added. - (bgp_prefix_list_unset): Likewise. - (bgp_prefix_list_update): Likewise. - (show_ip_bgp_neighbors): prefix-list information display. - -1999-05-06 Kunihiro Ishiguro - - * bgpd.c (bgp_delete): Function added for `no router bgp'. - -1999-05-05 Kunihiro Ishiguro - - * bgp_dump.c (bgp_dump_attr): Add originator_id display. - - * bgpd.c (bgp_router_id): Even when address is malformed set the - value to configuration bug fixed. - (no_bgp_router_id): New function. - (no_bgp_cluster_id): New function. - -1999-05-04 Kunihiro Ishiguro - - * bgpd.h (BGP_ATTR_ORIGINATOR_ID): Changed from BGP_ATTR_ORIGINATOR. - -1999-05-02 Kunihiro Ishiguro - - * bgp_route.c (bgp_announce): Add route reflector check. - -1999-05-01 Kunihiro Ishiguro - - * bgpd.c (bgp_cluster_id): Add function for route reflector. - (neighbor_route_reflector_client): Likewise. - (no_neighbor_route_reflector_client): Likewise. - - * bgpd.h (struct bgp ): Add cluster for route reflector. - - * bgp_route.c (show_ip_bgp_prefix_list): New command is added. - -1999-04-24 Kunihiro Ishiguro - - * Makefile.am (noinst_HEADERS): Add bgp_filter.h - - * bgp_aspath.c (aspath_undup): Function deleted. aspath_free () - has same functionality. - - * bgp_filter.h: New file. - - * bgp_aspath.c (aspath_unintern): Rename aspath_free () to - aspath_unintern () - (aspath_free): New function. - -1999-04-23 Kunihiro Ishiguro - - * bgp_aspath.c (aspath_aggregate): Function added. - - * bgp_aspath.h (aspath_aggregate): Prototype added. - - * bgp_aspath.c (aspath_empty_aspath): New argument - gated_dont_eat_flag is added. - -1999-04-18 Kunihiro Ishiguro - - * bgp_route.c: Add bgp_aggregate_ipv4 and bgp_aggregate_ipv6. - -1999-04-17 Kunihiro Ishiguro - - * bgp_route.c (aggregate_address): Function added. - - * bgp_zebra.c (zebra_read): Change log to zlog. - -1999-04-15 Kunihiro Ishiguro - - * Makefile.am (noninst_HEADERS): Added for make dist. - -1999-04-09 Kunihiro Ishiguro - - * aspath_regex.c: Removed from distribution. - -1999-04-07 Kunihiro Ishiguro - - * bgp_attr.c (bgp_packet_attribute): Old draft-00 packet treatment - bug fixed. - -1999-04-06 Kunihiro Ishiguro - - * bgp_aspath.c (aspath_add_left): Fix empty aspath bug. Reported - by kad@gibson.skif.net. - - * bgp_regex.[ch]: New file added. - - -1999-04-05 Kunihiro Ishiguro - - * bgp_filter.c: New file added. - -1999-04-01 Kunihiro Ishiguro - - * bgp_aspath.c (aspath_empty_aspath): Change for peering with - gated. - -1999-03-24 Kunihiro Ishiguro - - * bgp_main.c (main): Default loggin method changed from syslog to - stdout. - -1999-03-05 Kunihiro Ishiguro - - * bgp_route.c: Delete obsolete default attribute DEFUN. - -1999-03-04 Kunihiro Ishiguro - - * bgp_attr.c: Make attribute structure put into attribute hash. - -1999-03-02 Kunihiro Ishiguro - - * bgp_view.c : Delete file. - -1999-02-25 Kunihiro Ishiguro - - * bgp_routemap.c (bgp_apply_route_map): Add prefix argument. - - * bgp_route.h (struct bgp_info): Add bgp_info structre. I'll - replace bgp_route with this. - - * bgp_routemap.c (route_match_ip_address): Fix bug of passing non - prefix value to access_list_apply(). - - * bgpd.conf.sample: Add route-map sample. - Delete obsolete default-attr statements. - - * bgp_packet.c: Use stream_fifo for packet queueing. - -1999-02-24 Kunihiro Ishiguro - - * bgp_aspath.c (aspath_add_left): add non empty aspath treatment. - - * bgp_main.c: include unistd.h for daemon(). - - * bgp_route.c (nlri_process): add IPv6 table lookup. - - * bgp_attr.c (route_parse_ipv6): call nlri_process(). - (attr_make): Obsolete function attr_make deleted. - -1999-02-22 Kunihiro Ishiguro - - * bgp_aspath.c (aspath_add_left): change function name from - aspath_add_leftmost_as(). - -1999-02-21 Kunihiro Ishiguro - - * bgp_aspath.c: add aspath_add_leftmost_as (). - -1999-02-18 Peter Galbavy - - * syslog support added - -1999-01-26 Kunihiro Ishiguro - - * bgpd.c: DEFUN (neighbor_nexthop): deleted. - DEFUN (neighbor_distribute_list): added. - -1999-01-19 Kunihiro Ishiguro - - * bgpd.h (struct peer ): header_buf and read_buf is removed. - - * bgp_peer.[ch]: Deleted. Peer related functions are merged to - bgpd.c - - * bgp_network.c: New file. - * bgp_network.h: New file. - - * bgp_packet.h: New file. - -1999-01-11 Kunihiro Ishiguro - - * bgp_packet.c (bgp_keepalive_send): Now BGP keepalive packet is - buffered. - -1999-01-08 Kunihiro Ishiguro - - * bgp_packet.c: New file. - -1998-12-22 Kunihiro Ishiguro - - * bgp_zebra.c (zebra_client): Use zebra_connect() in lib/client.c. - - * `show ip bgp' bug fixed. - * aspath_log (): Remove argument logfp. - -1998-12-15 Kunihiro Ishiguro - - * bgp_fsm.h: New file. - -1998-12-15 Magnus Ahltorp - - * bgp_attr.c, bgp_community.h, bgp_dump.c, bgp_fsm.c, bgp_open.c - bgp_peer.c, bgp_peer.h, bgp_route.c, bgp_route.h, bgp_view.c - bgpd.c, bgpd.h, bgp_attr.c, bgp_community.h, bgp_dump.c, - bgp_fsm.c, bgp_open.c, bgp_peer.c, bgp_peer.h: Prototype fixes. - -1998-12-09 Kunihiro Ishiguro - - * bgpd.c (bgp_config_write): Delete vector v argument. - -1998-12-07 Kunihiro Ishiguro - - * bgpd.h: Delete annoying ld_[124]byte and st_[124]byte macros. - -1998-11-23 Kunihiro Ishiguro - - * bgp_radix.[ch]: removed. - -1998-09-15 HEO SeonMeyong - - * bgp_main.c: ifdef HYDRANGEA -> ifdef KAME - -1998-08-13 Kunihiro Ishiguro - - * bgp_dump.c: delete nroute(). - -1998-05-19 Yamshita TAKAO - - * bgp_aspath.c: HAVE_CONFIG_H typo :-) - * bgpd.h: Modify for compile on Solaris. - * bgp_aspath.h: likewize - * bgp_community.h: likewize - * bgp_routemap.c: likewize - -1998-05-18 Yamshita TAKAO - - * bgpd.h: Modify for compile on Solaris. - * bgp_aspath.h: likewize - -1998-05-08 Kunihiro Ishiguro - - * routemap.[ch]: move to ../lib directory. - -1998-05-07 Kunihiro Ishiguro - - * routemap.c (route_map_apply): add function. - -1998-05-06 Kunihiro Ishiguro - - * routemap.h: add file. - - * bgp_peer.h (enum ): change PEER_{IBGP,EBGP} to BGP_PEER_{IBGP,EBGP} - -1998-05-03 Kunihiro Ishiguro - - * Makefile.am: sysconfdir_DATA added. - -1998-05-02 Kunihiro Ishiguro - - * bgp_dump.c: add `debug bgp fsm' - add `no debug bgp fsm' - add `show debug bgp' - * bgp_open.c: File added. - -1998-05-01 Kunihiro Ishiguro - - * .cvsignore: File added. - -1998-04-30 Kunihiro Ishiguro - - * bgp_community.[ch]: File added. - -1998-03-04 Kunihiro Ishiguro - - * bgpd now use lib/thread.[ch]. - -1998-01-06 Kunihiro Ishiguro - - * bgpd.c (show_ip_bgp_neighbors): add 'show ip bgp neighbors' command. - - * bgpd.h (BGP_DEFAULT_START_TIMER): change from 1 to 30. - -1997-12-30 Kunihiro Ishiguro - - * bgp_vty.c: bgp_vty.c deleted. - - * bgpd.c (config_write_neighbor): add ebgp-multihop command. - -1997-12-29 Kunihiro Ishiguro - - * bgp_fsm.c: [-p bgp_port] and [-P vty_port] works - -1997-12-06 Kunihiro Ishiguro - - * bgp_vty.c: new file. - - * bgp_attr.c: add new logging system. - -1997-11-23 Kunihiro Ishiguro - - * Change all inet_addr call into inet_aton. - -1997-11-10 Kunihiro Ishiguro - - * bgp_radix.c: change radix_peer_delete - -1997-10-04 Kunihiro Ishiguro - - * bgp_aspath.c: move AS_TOKEN_??? definition from header to c source. - -1997-09-12 Kunihiro Ishiguro - - * bgp_dump.c (bgp_log_route): add dump_attr function - -1997-09-06 Kunihiro Ishiguro - - * bgp_aspath.c (aspath_test): change AS_SET brace from '[' to '{' - * bgp_dump.c (bgp_log_route): change logfile format. - -1997-08-19 Kunihiro Ishiguro - - * bgp_open.c (bgp_open): move bgp_open function from bgpd.c - * bgp_attr.c (community_str2com): add community value generation - * bgp_attr.h: add SAFI definition for BGP-4+ - -1997-08-18 Kunihiro Ishiguro - - * bgpd.h: add BGP_OPEN_OPT_CAP for Capabilities Optional Parameter - * Makefile.in: add bgp_open.o, delete bgp_loop.o - * bgp_open.c: newfile which manages BGP Open message - * bgp_loop.c: this file is merged with bgp_fsm.c - * bgp_radix.c (radix_add): radix_add() now return route_t instead - of int - (bgp_sim): now we can read update & withdraw from file - * bgp_route.c: add route_free() call into route_parse etc. - -1997-08-17 Kunihiro Ishiguro - - * bgp_radix.c: Radix code is completely rewritten. It has better - memory treatment than old one. - -1997-08-14 Kunihiro Ishiguro - - * bgp_route.c: route_alloc for route struct allocation statistics. - * bgpd.c (bgp_make_update): now we cann announce MED attribute. - * bgp_aspath.c (aspath_print_all): change aspath_print_all output - format. - -1997-08-13 Kunihiro Ishiguro - - * bgp_term.c (term_parse): add command : show asstat, show ashash - * bgp_aspath.c: aspath_cmp bug fix - (aspath_print_all): add aspath_print_all (); - * bgp_peer.h: delete rlist element from struct peer. - -1997-08-12 Kunihiro Ishiguro - - * bgp_aspath.c: completely rewritten. - * bgp_aspath.h: completely rewritten. - add AsPath, AsSegment structure - add AS_SET treatment - change Hash codes - -1997-08-09 Kunihiro Ishiguro - - * bgp_attr.h: add Attribute flags defines - * bgp_route.c: delete rlist related functions - * bgp_aspath.c (as_origin): add as_origin function - (aspath_print): move from bgp_dump.c and add support of AS_SET - change Hash related function names. - -1997-08-08 Kunihiro Ishiguro - - * bgp_aspath.h: add next entry, delete rlist entry from struct aspath - -1997-08-04 Kunihiro Ishiguro - - * bgp_aspath.c (as_sort): add function as_sort - * bgp_aspath.h: add IBGP, EBGP - diff --git a/doc/ChangeLog b/doc/ChangeLog deleted file mode 100644 index 5fcb195b..00000000 --- a/doc/ChangeLog +++ /dev/null @@ -1,510 +0,0 @@ -2007-07-31 Paul Jakma - - * bgpd.texi: Document 'network ... pathlimit ' - -2007-05-01 David L Stevens - - * main.texi: added route-map, prefix-list, ip protocol - and set src documentation - -2007-04-30 Andrew J. Schorr - - * ospfd.texi: Add a paragraph to the description of the OSPFv2 - network command to explain how we handle interfaces with - peer addresses. - -2007-04-29 Andrew J. Schorr - - * basic.texi: Document the new 'log timestamp precision' command. - -2007-03-21 Andrew J. Schorr - - * Makefile.am: Patch rule for draft-zebra-00.txt to work - in VPATH build environments. - -2006-07-28 Paul Jakma - - * main.texi: link-detect works on Solaris too. - * ospfd.texi: Twiddle around with anchors a bit more. - Clarify how setting MD5 auth by area and by interface interact, - and add cross-references, as well as to the required - command for setting key material. - -2006-07-27 Paul Jakma - - * quagga.texi: Remove unused index definitions - Add an Index node - for the concept index. - * routeserver.texi: Set exampleindex to 0, so the example configs - with long IPv6 addresses stand better chance of fitting. - * overview.texi: 'Supported RFC' -> 'Supported RFCs' - Remove paragraph indentation - texinfo does that. - Revise the supported OS list slightly. - Remove the IPv6 stack list, seems very dated and irrelevant. - Revise the 'How to get Quagga' section. - * ospfd.texi: minor tweaks: add some anchors, fix some minor - format issues. - Revise the help for 'abr-type'. - Note that text authentication is unwise, recc'd MD5. - Add some extra text for redistribute and passive-interface, - about how latter can substitute for redist connected. - -2006-07-27 Andrew J. Schorr - - * vtysh.1: Document new options -d and -E, and note that now multiple - -c options may be supplied, with embedded linefeed now supported. - In BUGS section, remove warning about vtysh causing a daemon - to freeze, since this has been fixed. - -2006-07-04 Paul Jakma - - * quagga.info: remove auto-generated file. It will still be - present in dist tarballs, so shouldn't affect anyone but - direct users of CVS. Required texinfo version should be - widely available. - -2006-06-28 Erik Muller - - * ospfd.texi: Document new ospf router subcommand - "log-adjacency-changes [detail]". - -2006-06-26 Paul Jakma - - * ospfd.texi: Document that MD5 keyid is part of the protocol. - * bgpd.texi: shut texinfo warnings up by replacing brackets in - variable with angle brackets. - -2006-05-23 Paul Jakma - - * bgpd.texi: Document the update-source command. - -2006-05-10 Paul Jakma - - * quagga.info: update auto-built file. - -2006-05-08 Paul Jakma - - * main.texi: --log_mode does not exist, remove, bug #245. - -2006-05-04 Paul Jakma - - * ripd.texi: Add Version Control as a distinct section. - Expand Version Control section with overview text, - touching on insecurity of RIPv1 and referencing - authentication section, cleanup text of various version - commands. - RIP Authentication: Add overview text, refer to RIPv1 version - control, which is required to completely secure RIP. - -2006-03-31 Paul Jakma - - * fig*.txt: New files, txt versions of the diagrammes for the - info file. - * protocol.texi: Document the new version 1 header. - * routeserver.texi: Explicitly specify scaling widths for the - figures, only way to make them look reasonable, sadly. - Try fix some formatting and explicitely note lists as being - bulleted. - * Makefile.am: convert seems to do png to pdf just fine. No - need for intermediate eps. - Add txt figure expansions and list as dependencies and - EXTRA_DIST files. - -2006-02-19 Paul Jakma - - * quagga.info: update auto-built file. - * ChangeLog: Fix old, existing entry for snmptrap.texi addition to - credit the author, who got in touch with me. - * snmptrap.texi: Add comment line with author's details. - -2006-01-19 Paul Jakma - - * quagga.info: update auto-built file. - -2005-11-25 Paul Jakma - - * texinfo.tex: update to newer version, seems to now properly - scale the diagramme images in PDF output. - -2005-11-11 Paul Jakma - - * quagga.info: update auto-built file. Methinks it's time to - remove from CVS.. - -2005-11-07 Paul Jakma - - * Makefile.am: snmptrap.texi needs to be listed as a source, - not disted otherwise. - -2005-11-04 Jeroen Simonetti - - * snmptrap.texi: Documentation on configuring SNMP for logging - traps. - -2005-11-04 Paul Jakma - - * snmp.texi: Minor formatting changes. - * quagga.info: Update auto-built file - * ospf6d.texi: Add example config - * bgpd.tex: Add example configs. Couple of cleanups of format - and macros. - * routemap.texi: Add an explanation of how route-maps work. - Document the call and exit-policy commands. - -2005-10-29 Paul Jakma - - * ospfd.texi: Document the new spf and max-metric commands, and - the additional form of dead-interval. Add documentation for - various other commands. Cleanup misc stuff, citations, etc. - Add some example configurations. - * overview.texi: RFC3137 support added. - * Makefile.am: Make quagga.pdf depend on the _TEXINFOS - variable, this still doesn't fix the dependency though, - sadly. - -2005-10-11 Paul Jakma - - * quagga.texi: Rejiggle the copyright sections a bit, seems to - make makeinfo happier and generates info pages again on FC4. - * quagga.info: Update this auto-built file. - -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. - -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. - -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. - -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. - -2005-04-10 Paul Jakma - - * quagga.info: Update to match bgpd.texi addition - -2005-04-08 Hasso Tepper - - * bgpd.texi: Document new "bgp bestpath as-path confed" command. - -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. - -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. - quagga_TEXINFOS should depend on figures_BUILT_SOURCES. - * .cvsignore: ignore eps files, built from sources - * Makefile.am: Urg, dont use automake _SOURCES, _BUILT_SOURCES - for figures, automake doesnt know anything about them. - -2005-03-25 Jean-Mickael Guerin - * ipv6.texi: Add new commands for neighbor discovery - interface ipv6 nd prefix X:X::X:X/M router-address - interface ipv6 nd ra-interval msec - interface ipv6 nd home-agent-config-flag - interface ipv6 nd home-agent-lifetime - interface ipv6 nd home-agent-preference - interface ipv6 nd adv-interval-option - -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 - -2005-01-24 Paul Jakma - - * quagga.info: Version bump (autogenerated) - -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 - -2005-01-07 Paul Jakma - - * quagga.info: Version bump (autogenerated) - -2005-01-05 Paul Jakma - - * quagga.info: Version bump - -2004-12-23 Paul Jakma - - * quagga.info: Version bump - -2004-12-18 Hasso Tepper - - * Makefile.am: Add isisd man page to the list. Should fix problem - isisd not included in release/snapshot tarballs. - -2004-12-07 Andrew J. Schorr - - * basic.texi: Document new logging features. Separate basic config - commands from basic VTY commands. - -2004-11-25 Hasso Tepper - - * *.8: Document -g/--group command line switch and some small - cosmetical changes. - -2004-11-22 Paul Jakma - - * bgpd.8: escape -/+ signs, reported by ESR to bug-zebra. - -2004-11-19 Hasso Tepper - - * Makefile.am: Don't remove quagga.info while cleaning up. - -2004-11-15 Paul Jakma - - * routeserver.texi: Strip ctrl-M from line endings, note by - sigma@smx.pair.com - * quagga.info: Add generated file to CVS, as it requires most recent - texinfo to build, until such time as texinfo 4.7 is more - prevalent. - -2004-11-08 Paul Jakma - - * Makefile.am: Add routeserver.texi to quagga_TEXINFOS. - Add quagga.info to clean files list (would have thought automake - would have done this, but it doesnt seem to) - -2004-11-07 Paul Jakma - - * quagga.texi: include routeserver.texi. TODO: integrate the current - multiple-instance orientated bgpd route-server section with the - new route-server docs. - -2004-11-07 Paul Jakma - - * Makefile.am: Add automatic rule to build pdf's from eps figures. - Clean *.pdf. Add rule for quagga.pdf (as the eps.pdf pattern - probably otherwise will override automake's rule for quagga.pdf) - * overview.texi: URL was causing TeX overfull, put on newline. - * quagga.texi: Put the copyright notice into @copying section, as - is proper. Strip trailling space from the main menu lines. - * rip(ng)?d.texi: Minor reformatting. - * Add the route server docs. - * bgpd.texi: remove unneeded page breaks. The 6Bone example - overflows though. - * routeserver.texi: new file, texinfo'fied and slightly modified - version of the original TeX from James Luis Rubio. - * fig-*.eps: new files, diagrammes. - -2004-11-06 Paul Jakma - - * defines.texi.in: New file, texi variables should be set here, - autoconf substitution is available. Define common AUTHORS, - COPYRIGHT_YEAR and COPYRIGHT_STR vars. - * (global): Make use of makeinfo node pointer auto-creation - to avoid having to fully specify links for nodes, so we only have - to specify current node name - simplifies text slightly. - Remove extraneous newlines which appear to cause extra blank pages - to be added in output. - Update copyright strings which appear in various places to - use the new COPYRIGHT_STR texinfo variable. - Change url to uref, the former need not output an actual - hyperlink depending on version of texinfo, the latter should if - supported by the format (eg PDF). - * texinfo.tex: Update to a more recent version. previous file - was many many years old. This file should possibly be removed - altogether, and allowed to be installed by automake. - * quagga.texi: Make use of automake's version.texi feature to - have VERSION and some other vars auto-defined. include - defines.texi. Change copyright strings to use the COPYRIGHT_STR - variable. - * install.texi: Make the privs section an actual section. Ditto for - the Linux notes. - * overview.texi: Supply URL for Quagga, where format allows. Tidy up - one or two paragraphs slightly. - Update the section on supported platforms. - Remove the ZNOG list stuff, direct reader to the website for - further information on email lists. - * vtysh.texi: Update the integrated config file section. Make the - commands sections so correct PDF indexes are built. - -2004-10-12 Hasso Tepper - - * snmp.texi: ospf6d supports SNMP as well now. - -2004-10-11 Hasso Tepper - - * ospfd.8: Update manpage: add info about new -a/--apiserver command - line switch. - -2004-10-11 Paul Jakma - - * ospfd.texi: reformat the ospf md5 paragraph, add an additional - way to work around bad clocks. - -2004-10-03 Hasso Tepper - - * vtysh.1: Update vtysh man page to reflect changes in shell. Remove - info about -f command line switch. - -2004-09-11 Paul Jakma - - * quagga.texi: Update copyright. Contents should be at beginning - of docs... - -2004-09-11 Paul Jakma - - * ospfd.texi: OSPF MD5 auth requires stable time. - -2004-08-31 Hasso Tepper - - * zebra.8: Document -s/--nl-bufsize command line switch. - -2004-08-27 Hasso Tepper - - * Update vtysh man page to reflect changes in shell. - -2004-08-10 Hasso Tepper - - * Updated man pages. - * Removed vty commands section from all man pages. This inf belongs to - Info pages. - * Added isisd man page. - -2004-07-31 Christian Hammers - - * snmp.texi: update (completely rewritten almost) - -2004-06-30 Greg Troxel - - * Makefile.am (EXTRA_DIST): Add files in mpls explicitly, to avoid - copying CVS files, per the automake manual's recommendations. - -2004-05-27 Paul Jakma - - * Correct RIP port, s/521/520/, reported by xantius@xantius.com - -2003-11-27 Hasso Tepper - - * Added -A and -u descriptions to the man pages. - -2003-01-22 Christian Hammers - - * ospfd.texi (OSPF router, OSPF router): Add description. - -2002-07-07 Kunihiro Ishiguro - - * zebra-0.93 released. - -2001-02-07 Pekka Savola - - * Correct bad English ;-). - -2001-02-01 Kunihiro Ishiguro - - * zebra-0.91 released. - -2001-01-09 Kunihiro Ishiguro - - * zebra-0.90 released. - -2000-10-02 Kunihiro Ishiguro - - * zebra-0.89 released. - -2000-10-02 Horms - - * Makefile.am: Fix texinfo file installation problem. - -2000-08-17 Kunihiro Ishiguro - - * zebra-0.88 released. - - * ospfd.texi (Redistribute routes to OSPF): distance <1-255> - @var{source} command is temporary disabled. So it is removed from - document. - -2000-07-04 Kunihiro Ishiguro - - * vtysh.1: Add man entry for vtysh. - - * bgpd.1: Change section to 8. - * ospfd.1: Likewise. - * ospf6d.1: Likewise. - * ripd.1: Likewise. - * ripngd.1: Likewise. - * zebra.1: Likewise. - -1999-09-01 "A.Waddington" - - * zebra.texi: Replace @command with @code until it gets ready. - Remove @macro. - -1999-08-26 Andrew Waddington - - * bgpd.1: Add man page. - ospf6d.1: Likewise. - ospfd.1: Likewise. - ripd.1: Likewise. - ripngd.1: Likewise. - zebra.1: Likewise. - -1999-08-14 Andrew Waddington - - * zebra.texi: Many typo is fixed. Some grammatical rectifications - is made. - -1999-07-27 Gerhard Poul - - * zebra.texi: Update zebra.texi. - -1999-07-02 Gerhard Poul - - * draft-zebra-00.ms: New file added. This is groff version of - draft-zebra-00.txt. This is a master file of draft-zebra-00.txt. - - * draft-zebra-00.txt: Generated from draft-zebra-00.txt. - -1999-05-07 Kunihiro Ishiguro - - * zebra.texi (Top): Add ospf6d chapter. - -1999-03-31 Jeroen Ruigrok/Asmodai - - * zebra.texi: Improve some sections. - -1999-03-04 Kunihiro Ishiguro - - * archfig.tex, zebra.sty, zebra.tex: Temporary removed due to the - description is out of date. - -1999-02-24 Kunihiro Ishiguro - - * texinfo.tex: New file added. Automake complains the absence of - texinfo.tex. diff --git a/guile/ChangeLog b/guile/ChangeLog deleted file mode 100644 index 751e952c..00000000 --- a/guile/ChangeLog +++ /dev/null @@ -1,26 +0,0 @@ -2000-10-02 Kunihiro Ishiguro - - * zebra-0.89 is released. - -2000-08-17 Kunihiro Ishiguro - - * zebra-0.88 is released. - -1999-04-18 Kunihiro Ishiguro - - * guile-bgp.c (scm_router_bgp): Allocate real struct bgp object. - - * Makefile.am: Delete -DPACKAGE and -DVERSION. - - * zebra-guile.h: File added. - * zebra-support.c: File added. - * guile-bgp.c: File added. - -1999-04-15 Kunihiro Ishiguro - - * guile/Makefile.am (INCLUDES): Use @GUILE_CFLAGS@ and - @GUILE_LDFLAGS@ - -1999-04-14 Kunihiro Ishiguro - - * zebra-guile work restarted. diff --git a/isisd/ChangeLog b/isisd/ChangeLog deleted file mode 100644 index bb77ffea..00000000 --- a/isisd/ChangeLog +++ /dev/null @@ -1,600 +0,0 @@ -2008-01-29 James Carlson - - * Fix bug #437, assert due to bogus index management - * isis_flags.c: (flags_initialize) new - * (flags_get_index) fix off by one, leading to list assert - on null node data. - (flags_free_index) ditto. - * isisd.c: (isis_area_create) use flags_initialize - (isis_area_destroy) deconfigure circuits when - taking down area. - -2007-07-18 James Carlson - - * isis_network.c: split up into isis_bpf.c, isis_dlpi.c, and - isis_pfpacket.c, selected by autoconf, and added DLPI support. - * (general) Fixed to allow compilation and use on Solaris. - -2006-12-08 Hannes Gredler - - * isis_adjacency.c: (isis_new_adj) Allow NULL snpa argument. - * isis_pdu.c: (various) Update calls to isis_new_adj() to pass - NULL and use default. - * (general) Add forward declarations where required. - Fix up const char *'s. - Allow V4-only compilation. - -2006-01-17 Paul Jakma - - * isis_zebra.c: (isis_zebra_route_add_ipv4) fix for new - zserv format. - -2005-11-20 Paul Jakma - - * (general) remove includes of very common system headers, - these are already picked up by zebra.h. Further, including - them before zebra.h messes up all our lovely (sarcasm) - autoconf'd detecting of platform specific things. Recent - addition of stdint.h to configure.ac and zebra.h appears - particularly to throw up this problem. - -2005-10-01 Hasso Tepper - - * isis_adjacency.c: Stop expire timer while deleting adjacency. - * isis_events.c: Stop pseudo LSP thread while resigning circuit from - level. - * isis_route.c: Fix compiling with EXTREME_DEBUG. Mark route as not - in sync with zebra if it's changed. - * isis_spf.c: Schedule route validating etc even if tent was empty. - It's probably because we just don't have any adjacencies. - * isisd.c: Write minimum spf interval into configuration. - -2005-09-30 Vincent Jardin - - * isis_route.c: fix EXTREME_DEBUG compilation - -2005-09-28 Hasso Tepper - - * *.c: Massive cleanup of lists loops. Stop abusing ALL_LIST_ELEMENTS. - Replace XMALLOC + memset with XCALLOC. Fix some indentation issues. - The only really significant change is simplified isis_delete_adj - function in isis_adjacency.c. - -2005-09-28 Hasso Tepper - - * isis_dynh.c, isisd.h: Implement dynamic hostname cache cleanup. - * isis_lsp.c: Refresh dynamic hostname in the cache while refreshing - topology LSP. - -2005-09-28 Hasso Tepper - - * isis_lsp.c: Make topology generator generate TE TLVs if necessary. - Also take care of inserting dynamic hostname of topology TLVs into - cache. - -2005-09-26 Hasso Tepper - - * isis_spf.c: Changing cost from uint16_t to uint32_t. Unset - ISIS_ROUTE_FLAG_ACTIVE flag before running SPF. - * isisd.[ch]: Separate route tables for different levels. SPF is done - separately, but in case of L1L2 area they have to be merged. - * isis_zebra.c: Set/unset ISIS_ROUTE_FLAG_ZEBRA_SYNC flag correctly in - case of adding/removing IPv4 routes. - * zebra_route.c: Rework route validating process. Merging L1 and L2 - tables in case of L1L2 area. - -2005-09-26 Hasso Tepper - - * isis_spf.[ch]: Added TE TLVs to the SPF process. It seems to work - mostly, but needs certainly much more testing, especially transition - situation. - -2005-09-26 Hasso Tepper - - * isis_lsp.c: Put correct metric info into TE TLV's. Wide metric is - used only if only wide metric style (extended TLV's) is in use. - -2005-09-26 Hasso Tepper - - * isis_tlv.[ch]: New function tlv_add_in_addr() to put just one IPv4 - address into TLV. Used for IPv4 address TLV (in case of LSP) and TE - router ID TLV. - * isis_lsp.c: Use tlv_add_in_addr() and include router ID in LSP. - -2005-09-26 Hasso Tepper - - * isis_lsp.c: Support for originating TE IS and IPv4 TLV's. No any sub - TLV handling yet. - -2005-09-26 Hasso Tepper - - * isis_tlv.[ch]: Two new functions - tlv_add_te_is_neighs() and - tlv_add_te_ipv4_reachs() to handle TLV's with new metric. None of - them handle sub TLVs though for now. - -2005-09-26 Hasso Tepper - - * isis_circuit.[ch]: Some preliminary support for specifying wide - circuit metrics. Needs more thinking though, but should do for now. - -2005-09-26 Hasso Tepper - - * isisd.[ch]: Introduce oldmetric flag for area and transition - metricstyle command. With metricstyle wide only extended TLVs - should be used. - -2005-09-25 Hasso Tepper - - * dict.[ch]: Revert all nonfunctional changes. It's external module - imported from kazlib and it's better not to screw it - there is - theoretical chance that we might want to merge changes from upstream - at some point. Also avoid the loss of info about upstream version - (rcsid). - -2005-09-21 Hasso Tepper - - * isis_route.c: Fix output of nexthops in case of extreme debug. - -2005-09-19 Hasso Tepper - - * isis_lsp.c, isis_pdu.c, isis_spf.c: Remove some old unused code. - -2005-09-19 Hasso Tepper - - * isis_lsp.c: Better output of detailed LSP printout and fixed TE IPv4 - reachibility metric display. - -2005-09-19 Hasso Tepper - - * isis_tlv.h: Cleanup comment about TLVs we should support, remove info - about useless (in sense of IP(v6)) TLVs. - -2005-09-19 Hasso Tepper - - * isis_lsp.h: Added backpointer to the area from LSP. For now it's used - only in generated topology LSPs. - * isisd.[ch]: Cleanup CLI commands related to topology generation and - added command to specify base fo dynamic hostname for topology LSPs. - * isis_lsp.c: Rewrite almost all code related to generation topology - LSPs (top_lsp_refresh(), generate_topology_lsps() and - build_topology_lsp_data() functions). Topology is connected to own - LSP now (lsp_build_nonpseudo). Commented out lsppdu_realloc - functions, it's not used any more hopefully. - -2005-09-18 Hasso Tepper - - * isis_lsp.c (lsp_update): Fix previous commit - manipulate the right - database and only if LSP is really in the database (sanity check). - -2005-09-16 Hasso Tepper - - * isis_lsp.c (lsp_update): Remove LSP from database before updating - its data and put it back after. Database entry MUST contain at least - correct pointers to the sysid to get correct compare results. - * isis_lsp.[ch], isis_pdu.c: Pass level to the lsp_update() function. - -2005-09-05 Hasso Tepper - - * *.c: Try to be less verbose by default (without any debug options - on). - * isis_lsp.c (lsp_build_nonpseudo): Use stream_reset() instead of - touching endp directly. - * isis_lsp.c (lsp_build_pseudo): Ditto. - -2005-09-03 Hasso Tepper - - * isis_lsp.c: Yet another regression introduced by stream cleanup. - Similar fix to the one commited to lsp_build_nonpseudo() some days - ago. - -2005-09-01 Hasso Tepper - - * isis_lsp.c: Less TLV leaking. - -2005-09-01 Hasso Tepper - - * random.c, spgrid.[ch]: Fix warnings with hope that I didn't broke - anything. These floats to longs and vice versa casts are starnge - indeed. - * isis_pdu.c: As we don't use %z for size_t for now because we support - older compilers, cast them to unsigned long. - -2005-09-01 Hasso Tepper - - * isis_adjacency.c, isis_lsp.c, isisd.c: Replace XMALLOC && memset - with XCALLOC. - * isis_lsp.c (lsp_build_pseudo): Fix adding ES neighbour. - * isis_tlv.c: More compact free_tlvs() function. - * isis_lsp.c (lsp_build_nonpseudo) : Try to fix one more regression - introduced by stream cleanup. Seek endp to the right place before - starting to fill stream with TLVs. - -2005-08-16 Hasso Tepper - - * isis_misc.[ch]: Fix some warnings, making some strings const. - -2005-08-10 Hasso Tepper - - * topology/spgrid.c: MAXLONG is deprecated, use LONG_MAX instead. - values.h, where MAXLONG is defined, is deprecated as well. - -2005-05-26 Yossi Boaron - - * isis_dr.c: Fix copy&paste error in isis_dr_resign(). - -2005-05-25 Paul Jakma - - * isisd.c: (show_isis_generated_topology) change to _RO version - of list macro. remove the extra listnode variable. one of the - macros had had incorrect number of arguments. - -2005-05-03 Paul Jakma - - * (general) More cleaning up of stream abuse, isisd should be - back to previous functionality. Replace various XMALLOC+memset's - with XCALLOC - * isis_tlv.c: (tlv_add_padding) use stream_put to clear the stream - rather than forward endp, as isisd reuses streams. - * isis_pdu.c: (process_lsp) cleanup direct reference to stream endp - (send_lsp) manual copy of a stream cleaned up to use stream_copy. - * isis_network.c: (isis_recv_pdu_bcast) replace direct memcpy with - stream_write - (isis_recv_pdu_p2p) replace recvfrom directly into stream with - stream_recvfrom. Remove dangerous and now unneeded manual update - of endp. - (isis_recv_pdu_bcast / non-GNU_LINUX) Replace direct memcpy with - stream_write. - (isis_recv_pdu_p2p) replace read direct into stream with - stream_read_try, and hence remove the manual update of endp. - * isis_lsp.c: (lsp_update_data) manual stream dup replaced with - stream_dup. - (lsppdu_realloc) mempcy into stream data replaced with stream_put. - (lsp_build_nonpseudo) remove mysterious stream_forward_endp's - - which were originally stream_set_putp - shouldn't be needed - now that all the manual fiddling of private stream data has been - corrected. - (build_topology_lsp_data) remove unneeded twiddling of endp, - appears to be due to lsppdu_realloc(), but it appears to sort of - do the right thing wrt streams. - -2005-04-15 Paul Jakma - - * topology/Makefile.am: random.c is a source of libtopology, so list - it. - -2005-04-12 Hasso Tepper - - * isis_adjacency.c: Fix typo introduced with listloop cleanup. - -2005-04-11 Andrew J. Schorr - - * isis_zebra.h (isis_zebra_finish): Remove declaration of unused - function. - * isis_zebra.c (isis_zebra_route_add_ipv4): Call zclient_send_message - to send the message to zebra instead of calling writen directly, since - zclient_send_message understands non-blocking I/O and will manage - the buffer queue appropriately. - (isis_zebra_finish): Remove unused function, particularly since - the zclient_free function has been removed. - -2005-04-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 - -2005-04-02 Andrew J. Schorr - - * isis_zebra.c: (isis_zebra_if_del) Must use if_lookup_by_name_len. - -2005-04-02 Hasso Tepper - - * Makefile.am: Variables to handle conditonal compiling of topology - generator code. - * isis_lsp.c: lsppdu_realloc() is used by topology generator. - * isisd.c: Rename show_isis_topology_cmd to not conflict the one in - the isis_spf.c. - * isisd.h: Remove TOPOLOGY_GENERATE define, it will be defined in - toplevel config.h if topology generator is enabled. - * topology/Makefile.am: Handle the libtoolized Quagga libraries. - -2005-04-02 Andrew J. Schorr - - * 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. - -2005-03-07 Michael Sandee - - * isis_spf.c: host.name might be NULL. - -2005-02-23 Andrew J. Schorr - - * isis_main.c: (reload) Call vty_reset instead of vty_finish (both - functions were exactly the same). - -2005-01-18 Hasso Tepper - - * *.c: Changed many functions to static. Some commented out - functions and some tiny related fixes. No functional changes. - -2005-01-01 Hasso Tepper - - * isis_common.h, isisd.c, isis_pdu.c: Implement authentication in - SNPs correctly - ie. make it conditional like it is in IOS. - -2004-12-29 Hasso Tepper - - * isis_circuit.c, isis_csm.c, isis_zebra.c: Don't crash during - interface up/down events. I'm not sure whether logic is correct - though. Needs rethink anyway, seems. Replace if_is_up() with - if_is_operative() and add some more. - -2004-12-24 Hasso Tepper - - * *.c: zlog_* cleanup. Mostly changed level of debug messages to - LOG_DEBUG. - -2004-12-07 Andrew J. Schorr - - * isis_main.c: (main) The 2nd argument to openzlog has been removed. - -2004-12-03 Andrew J. Schorr - - * isis_main.c: (sigint,sigterm) Use zlog_notice for termination message. - (terminate) This function should be static, not global. - (main) Use zlog_notice for startup announcement, and remove - ifdef ZEBRA_VERSION. - -2004-11-25 Hasso Tepper - - * isis_main.c: Make group to run as configurable. - -2004-11-24 Andrew J. Schorr - - * dict.c: Include "zassert.h" instead of . - -2004-10-13 Hasso Tepper - - * isis_main.c: Initialize access list. Although we haven't route - filtering yet, it's needed to limit access to vty. - -2004-10-11 Hasso Tepper - - * isis_routemap.c, isisd.c: Make more strings const. - * isisd.h: Make min_bcast_mtu unsigned. - -2004-10-07 Hasso Tepper - - * *.[c|h]: Fix warnings: make strings const, signed -> unsigned, - remove or comment out unused variables etc. - * isis_lsp.c: Clean lsp_print_detail() a bit, add TE TLV's and - removed old code. - * isis_circuit.c: Remove old ip/ipv6 address commands code. - -2004-10-03 Hasso Tepper - - * isis_zebra.c: Read router id related messages from zebra daemon. - * isis_lsp.c: Use router id in IP address TLV in LSP's. It's how Junos - routers behave as well. - * isis_tlv.h: Export add_tlv() function. - -2004-09-27 Hasso Tepper - - * isis_pdu.c: Fix accessing NULL found by valgrind. - -2004-09-26 Hasso Tepper - - * isis_circuit.c: Fix previous commit. Don't schedule LSP regeneration - and don't crash if circuit->area == NULL. - -2004-09-26 Hasso Tepper - - * *.[c|h]: Fix a lot of compiler warnings. - * isis_events.c: Remove isis_event_int_reach_change() function, as it - doesn't make sense for now. Call lsp_regenerate_schedule() directly - where needed. - -2004-09-26 Hasso Tepper - - * isis_lsp.h: Cast-as-lvalue extension is deprecated and is not - accpted any more in gcc-4.0. - -2004-09-24 Hasso Tepper - - * isisd.c: thread_master *master is already defined in isis_main.c. - * isis_misc.[c|h], isis_lsp.[c|h]: Move static variables out of - header files. - -2004-09-23 Hasso Tepper - - * *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-21 LIU Xin - - * isis_dr.c: Update dis_record of adjacencies when isisd becomes DIS. - -2004-09-21 Hasso Tepper - - * isis_lsp.c: Put IPv4 prefixes into reachability TLVs, not - addresses. Make IPv6 work with other prefix lengths than % 8 == 0. - -2004-09-20 LIU Xin - - * isis_dr.c, isis_events.c: Remove hello multiplier usage while - scheduling DIS election. - * isis_pdu.c: Don't call isis_event_dis_status_change() whenever - l[1|2]_desig_is is different from hdr.lan_id. - -2004-09-19 Hasso Tepper - - * isis_spf.h: Renamed t_spf_periodic to t_spf as it's not used to - store pointer to periodic SPF thread only. - * isis_spf.c: Cleaned up SPF threads schedule code. IPv4 and IPv6 - threads are independant now. Used macros wherever possible. - * isis_lsp.c: Fixed bug in scheduling LSP regeneration. - -2004-09-17 LIU Xin - - * isis_circuit.c: According to RFC1142 the first DIS election will be - started 2 * HelloTimer seconds after the initialization. - -2004-09-15 Laurent Rabret - - * isis_pdu.c: Fix error in same subnet comparison. The previous - algorithm only worked when netmask % 8 == 0. - * isisd.c: Show domain and area passwords in configuration. - * iso_checksum.c: Fixed error in the checksum calculation. The previous - algorithm could produce a bad checksum if the 2 complement's vs 1 - complement's adaptation was required. - * isis_pdu.c: Authentication in LSPs does not mean authentication in - SNPs. - * isis_tlv.c: Fix errors in password checking. - -2004-09-14 Hasso Tepper - - * isis_circuit.c: Mostly cosmetical changes in isis_circuit_add_addr() - and add calls to isis_event_int_reach_change(). Implement - isis_circuit_del_addr(). Cancel t_run_dr threads is circuit goes - down. - * isis_events.c: Implement isis_event_int_reach_change(). I'm not sure - yet how this stuff should work, but it allows be to start debug - threads which act very weird at the moment. - * isis_tlv.c: Much less verbose by default. - * isis_zebra.c: Added extreme debugging output. Call connected_free() - after isis_circuit_del_addr, not before. - * isisd.conf.sample: Update it a little bit. 10000 seconds hello time - was certainly too much IMHO. - -2004-09-14 LIU Xin - - * isis_pdu.c: Update l1_desig_is only if neighbor really is DIS. - -2004-09-10 LIU Xin - - * isis_pdu.c: Goto out only if no adjacency exist. - * isis_circuit.c: Don't crash while executing "isis circuit-type" - command if circuit exists, but circuit->area is still NULL. - * isis_lsp.c: Set pointers to thread to NULL before initiating new - thread in lsp_l1_refresh_pseudo(), lsp_l2_refresh_pseudo() and - lsp_tick() functions. - -2004-05-19 Laurent Rabret - - * isis_constants.h: change the ISIS Hello interval from 1 to 10 (cisco's - default value). - * isis_main.c: suppress a bad "#if 0 #endif" block for isis to be - activated on startup. - * isis_tlv.[c|h]: LSP recognition of the ISIS Graceful Restart LSP (not - implemented yet). - -2004-05-19 Rivo Nurges - - * *.c: Removing many useless net/ethernet.h includes and some tiny - fixes to make it compile on NetBSD and OpenBSD. - -2004-05-08 Paul Jakma - - * isis_zebra.c: Sync with zclient changes. - -2004-02-11 Hasso Tepper - * many *.c files: Replace thread_add_xxx() and thread_cancel() with - THREAD_XXX_ON and THREAD_XXX_OFF macros. - -2004-01-27 Hasso Tepper - * isis_circuit.c: Commented out "(no) ip address" commands so it doesn't - confuse vtysh. - -2003-12-31 Hasso Tepper - * isis_dr.c: Fix some threads related bugs. - -2003-12-23 Hasso Tepper - Some fixes done by me and Cougar . - * isis_adjacency.c: Two bugfixes by Cougar: - After down state neigbour was deleted but not removed from neighbours list. - Don't show random expire time during neighbour initialisation. - * isis_circuit.c: Don't show interface addresses in config by Cougar. - * isis_constants.h, isis_misc.c: Show other well-known NLPID names as well - by Cougar. - * isisd.c: Two tiny CLI fixes by me. - * isis_lsp.c: Bugfix in lsp_print_detail() by Cougar. - Show IPv4 external and IPv6 TLV's in "show isis database detail" by me. - * isis_misc.c: Net address format fix by Cougar. - * isis_spf.c: Dead loop fix in isis_spf_preload_tent() by Cougar - * isis_zebra.c: Ignore distance when adding route to zebra for now by me. - * isis_tlv.c: Parse external IPv4 TLV's correctly by me. - -Version 0.0.7 to 0.0.8 -====================== - -o A bug in handling of other ISs fragments fixed -o hello interval now specified in *seconds* -o replaced the adj->ipv[46]_addr tables with linked lists - -Version 0.0.6 to 0.0.7 (Oct 29 2002) -====================== - -o changed to zebra-0.93b -o fixed a seg in SPF -o handling/generation of LSP fragments -o domain/area/circuit password - -Version 0.0.5 to 0.0.6 (Jul 4 2002) -====================== - -o lots of changes to SPF - - runs the SPF for IPv4 and IPv6 separately - - a number of bugs fixed - - simplified the implementation - - "7.2.7 Removal of excess paths" implemented -o ported to freebsd (tested in 4.5-STABLE and 4.6-STABLE) -o moved to zebra-0.93-pre2 -o "show isis topology" command added -o "show (ip|ipv6) route isis commands added to zebra -o a number of fixes and additions (e.g. checksum calculation and DIS state -change event) by BeomSeok Gwak added - -Version 0.0.4 to 0.0.5 (Apr 26 2002) -====================== - -o changed to zebra-0.93-pre1 -o number of memory leaks + small bugs fixed -o a bug related to processing of neigbors when installing routes fixed - -Version 0.0.3 to 0.0.4 (Feb 27 2002) -====================== - -o initial version of SPT algorithm -o installing routes though zebrad -o isis debug commands -o work on IS-IS events (e.g. circuit state change) - -Version 0.0.2 to 0.0.3 (Jan 17 2002) -====================== - -o LSP handling improved -o generation of pseudonode LSPs -o DR election enhanced -o support for p2p interfaces -o support for topology simulation -o more detailed output for show commands - -Version 0.0.1 to 0.0.2 (Dec 13 2001) -====================== - -o circuit state machine (isis_csm.[ch]) added -o lot of work on LSP generation -o ISO checksum -o uses DGRAM sockets instead of RAW -o gets IP(v6) addresses from zebra -o debug can be controlled with "debug isis" command -o read support for TE tlvs -o work started on p2p interfaces -o work started on isis events - - diff --git a/lib/ChangeLog b/lib/ChangeLog deleted file mode 100644 index 688c44f7..00000000 --- a/lib/ChangeLog +++ /dev/null @@ -1,4270 +0,0 @@ -2008-07-21 Paul Jakma - - * sockunion.c: ifdef out various places that converted - v4mapped sockets to pure v4. Doesn't seem necessary at all, - presumably a workaround for now historical inet_ntop bugs (?) - -2008-07-21 Michael H. Warfield - YOSHIFUJI Hideaki - - * sockopt.{c,h}: (sockopt_tcp_signature) Add TCP-MD5SIG support. - -2008-06-07 Paul Jakma - - * stream.{c,h}: (stream_{put,write}) add const qualifier to source - argument. Change u_char to void *. - -2008-06-02 Denis Ovsienko - - * workqueue.[ch]: completely drop WQ_AIM_HEAD flag and - work_queue_aim_head() function, they aren't needed any more - with the new meta queue structure; (work_queue_run) don't - increment the counter on work item requeueing - -2008-02-28 Paul Jakma - - * log.c: (mes_lookup) Sowmini Varadhan diagnosed a problem where - this function can cause a NULL dereference, on lookups for unknown - indices, or messages with NULL strings. Can occur, e.g., debug - logging code when processing received messages. Fixed to accept a - pointer to a default string to be used if there is no match. - * log.h: LOOKUP adjusted to match - -2008-02-28 Paul Jakma - - * linklist.c: This implementation expects that the data pointer not - be null, e.g. listgetdata() asserts this. The list add methods - don't apply the same sanity check. - - Noted by Jim Carlson in bug #437. - -2008-01-11 Andrew J. Schorr - - * zebra.h: Revert previous change, no need to include - here. - -2008-01-10 Ingo Flaschberger - - * zebra.h: If HAVE_BSD_LINK_DETECT is defined, include . - -2008-01-08 Pavol Rusnak - - * memory.c: (mtype_memstr) Fix accidental shift past width of type, - constant should have been forced to UL, rather than being left to - default to int. - -2007-11-12 Denis Ovsienko - - * linklist.c: (listnode_add_after) Don't forget to increment list - items counter. - * workqueue.h: Changed working queue flags from enum into integer - and introduced WQ_AIM_HEAD flag to indicate our will to insert - new data before the list head. - * workqueue.[ch]: (work_queue_schedule, show_work_queues, - work_queue_plug, work_queue_unplug) Adjust to the new flags style. - * workqueue.[ch]: (work_queue_aim_head) new function to control the - WQ_AIM_HEAD flag - * workqueue.[ch]: (work_queue_new) Explicitly set both WQ flags - during new WQ initialization. - * workqueue.[ch]: (work_queue_add) If WQ_AIM_HEAD indicates a need - to place the new data into list head, do it. - -2007-10-22 Lorenzo Colitti - - * smux.c: (smux_stop) Avoid cancelling a defunct thread pointer - (smux_start) Stop smux before trying to start it, possibly again. - -2007-10-04 Denis Ovsienko - - * pid_output.c: (pid_output) stop using LOGFILE_MASK - (0600 by default), introduce and use PIDFILE_MASK (0644) - instead. - -2007-09-18 Paul Jakma - - * privs.c: definition of ZCAP_NET_ADMIN on Solaris should - be PRIV_SYS_IP_CONFIG, when that's available. Thus allowing - Quagga to work with in Solaris zones with exclusive IP - instances. - -2007-08-21 Denis Ovsienko - - * sockopt.[ch]: (setsockopt_so_sendbuf, getsockopt_so_sendbuf): - new functions to adjust ospfd working socket. - -2007-08-13 Denis Ovsienko - - * zebra.h: introduce ZEBRA_ERR_KERNEL and ZEBRA_ERR_NOERROR - -2007-07-06 Atis Elsts - - * pqueue.{c,h}: Export trickle_up - -2007-07-26 Paul Jakma - - * log.c: (mes_lookup) warning about code not being in same-number - array slot should be debug, not warning. E.g. BGP has several - discontigious number spaces, allocating from different parts of a - space is not uncommon (e.g. IANA assigned versus vendor-assigned - code points in some number space). - -2007-07-06 Andrew J. Schorr - - * sockopt.{c,h}: (setsockopt_multicast_ipv4) Add some comments about - the arguments. - -2007-06-01 Andrew J. Schorr - - * zebra.h: On linux, we seem to need to include before - , otherwise we get isisd compilation errors about - __be16 not being defined. - -2007-05-10 Paul Jakma - - * zebra.h: Don't try define _GNU_SOURCE, autoconf should do it. - -2007-05-03 Paul Jakma - - * memtypes.c: Add MTYPE_ATTR_EXTRA and MTYPE_BGP_ROUTE_EXTRA - -2007-05-01 David L Stevens - - * (general) These changes collectively add route-map and - prefix-list support to zebra and fix a bug in "show - route-map" (with no argument). - * command.h: added PROTOCOL_NODE type - * log.c: (proto_name2num) new function, protocol name to - number translation. - * routemap.c: (vty_show_route_map) fixed "show route-map" - without route-map name - * routemap.h: added RMAP_ZEBRA type - * zebra.h: added proto_name2num() prototype - -2007-04-29 Andrew J. Schorr - - * log.c: (quagga_timestamp) Optimize the subsecond timestamp generation. - -2007-04-28 Andrew J. Schorr - - * command.c: (config_write_host) Save "log timestamp precision" - if not default value. - (show_logging) Show configured timestamp precision. - (config_log_timestamp_precision) Enable configuration of timestamp - precision. - (no_config_log_timestamp_precision) Restore default timestamp - precision. - (cmd_init) Install new timestamp precision commands. - * log.h: (struct zlog) New timestamp_precision field. - (quagga_timestamp) New function to generate a timestamp with the - desired precision. - (struct timestamp_control) Declare a structure for use in avoiding - repeated duplicate calls to quagga_timestamp. - * log.c: (quagga_timestamp) New function to generate a timestamp - of the desired precision. - (time_print) Call quagga_timestamp if the time hasn't already been - calculated. - (vzlog) Initialize a timestamp_control structure and pass it to - time_print and vty_log. - (zlog_backtrace) Fix 64-bit problem: cannot print size_t with %u. - * vty.h: Must now include "log.h". - (vty_log) Takes an additional struct timestamp_control argument. - * vty.c: (vty_log_out) Use new struct timestamp_control and new - quagga_timestamp function to print timestamps of the desired - precision. - (vty_time_print) Use new quagga_timestamp function. - (vty_log) Accept new struct timestamp_control argument and pass it - down to vty_log_out. - -2007-04-27 Andrew J. Schorr - - * smux.c: (smux_trap) Fix printf format to work with 64-bit size_t. - -2007-04-07 Paul Jakma - - * prefix.h: Add define to match IPv4 Link-Local addresses - -2007-03-20 Andrew J. Schorr - - * log.c: (mes_lookup) Make the function more robust: check for - cases where the index does not match the key value at that position. - If so, give a warning and fall back to a linear search. - And improve the error message in cases where even that fails. - -2006-12-12 Andrew J. Schorr - - * if.h: (struct connected) Add new ZEBRA_IFA_PEER flag indicating - whether a peer address has been configured. Comment now shows - the new interpretation of the destination addr: if ZEBRA_IFA_PEER - is set, then it must contain the destination address, otherwise - it may contain the broadcast address or be NULL. - (CONNECTED_DEST_HOST,CONNECTED_POINTOPOINT_HOST) Remove obsolete - macros that were specific to IPv4 and not fully general. - (CONNECTED_PEER) New macro to check ZEBRA_IFA_PEER flag. - (CONNECTED_PREFIX) New macro giving the prefix to insert into - the RIB: if CONNECTED_PEER, then use the destination (peer) address, - else use the address field. - (CONNECTED_ID) New macro to come up with an identifying address - for the struct connected. - * if.c: (if_lookup_address, connected_lookup_address) Streamline - logic with new CONNECTED_PREFIX macro. - * prefix.h: (PREFIX_COPY_IPV4, PREFIX_COPY_IPV6) New macros - for better performance than the general prefix_copy function. - * zclient.c: (zebra_interface_address_read) For non-null destination - addresses, set prefixlen to equal the address prefixlen. This - is needed to get the new CONNECTED_PREFIX macro to work properly. - -2006-10-14 Paul Jakma - - * if.c: (general) Handle upgrades from SUNWzebra, which tried - to track each logical interface as a seperate struct - interface, to Quagga, which assigns only one struct interface - per ifindex. - (if_sunwzebra_get) Try decompose a logical interface name - (fooX:Y) to the 'primary' name (fooX), for Solaris. - (interface_cmd) Use if_sunwzebra_get on Solaris. - -2006-09-26 Pierre-Yves Ritschard - - * smux.c: (smux_open,smux_trap,smux_register) Fix various - asn_build_* calls to pass the proper length in the final - argument: use sizeof() instead of sizeof(), - since there were several inconsistencies between the actual - variable type and the size that was passed. This should - fix some problems on 64-bit architectures where sizeof(int) - != sizeof(long). - -2006-08-25 Paul Jakma - - * thread.c: (general) Add support for monotonic clock, it may still - jump forward by huge amounts, but should be immune to going - backwards. Fixes bug #134. - (quagga_gettimeofday_relative_adjust) helper, does what name - says - adjusts gettimeofday based relative timer. - (quagga_gettimeofday) helper to keep recent_time up to date. - (quagga_get_relative) helper, update and getch the relative - timer using gettimeofday(). POSIX CLOCK_MONOTONIC is also - supported, but the code is not enabled yet nor tested. - (quagga_real_stabilised) helper, retrieve absolute time but - stabilised so as to never decrease. - (quagga_gettime) Exported interface, analogous to POSIX - clock_gettime() in interface, supporting several clocks. - (quagga_time) Exported interface, analogous to traditional - time(), will never decrease. - (recent_relative_time) Convenience function to retrieve - relative_time timeval, similar to existing recent_time absolute - timeval, for when an approximately recent value will do. - (remainder) Update to use above helpers. - (thread_getrusage) Previously was a macro, but needs to be - a function to twiddle with thread.c private stuff. - * thread.c: Point the GETRUSAGE macro at previous function. - Export quagga_gettime, quagga_time and recent_relative_time for - general use. - -2006-07-25 Paul Jakma - - * thread.h: (struct thread) Add a cache pointer to the struct - cpu_thread_history, if it is known - saving hash lookup on - each thread_call. - * thread.c: (thread_call) Cache the pointer to the - cpu_thread_history, so that future thread_calls of same - thread can avoid the hash_lookup. - -2006-07-10 Andrew J. Schorr - - * vty.c: (vty_log_out) Do not call vty_close, because this could - result in a parent function's accessing the freed memory. - Instead, set status VTY_CLOSE and call shutdown(vty->fd, SHUT_RDWR). - And add a comment on vty_close. - -2006-07-10 Andrew J. Schorr - - * vty.c: (vty_log_out, vty_read, vty_flush, vtysh_flush, vtysh_read) - After an I/O error, must set vty->monitor to 0 before calling - zlog_warn, otherwise an infinite recursion could occur - (since zlog_warn triggers a message to be written to the vty, - and that in turn triggers another error message when it fails, etc.). - -2006-07-03 Andrew J. Schorr - - * vty.c: (vty_log_out) Debug messages to terminal vty sessions - should include timestamps. - -2006-06-28 Paul Jakma - - * memory.c: Fix typo in cpp conditional around malloc.h, from - comment in bug #269. - -2006-06-27 Paul Jakma - - * route_types.awk: Remove setting the 'bare' numeric route type - in redist strings. - -2006-06-15 Paul Jakma - - * command.c: (cmd_describe_command_real) Fix leak, CID #38. - * memory.h: Experimental, have XFREE macro NULL out the freed - pointer. - * linklist.c: (list_delete) call list_delete_all_node, don't - duplicate it. - * if.c: (if_flag_dump) remove the whitespace indentation, callers - should provide. - -2006-05-28 Paul Jakma - - * zebra.h: Include inttypes.h rather than stdint.h, best practice - according to the autoconf manual. - Add UINT*_MAX defines for older platforms lacking these (FBSD 4) - * memory.c: malloc.h is deprecated in favour of stdlib.h, however - we still need it on GNU Libc for mallinfo(). - * vty.c: (vty_log/vty_log_fixed) dont crash if called when vty - hasn't been initiliased. - * log.c: (general) Add support for Sun libc printstack(). - (hex_append) make the cpp conditional on general HAVE_STACK_TRACE - define. - (zlog_backtrace_sigsafe) Ditto. Add printstack() version of the - the DUMP macro in this function. - -2006-05-23 Paul Jakma - - * route_types.txt: New file, table of ZEBRA_ROUTE definitions. - * route_types.awk: New script, to parse previous and generate - (for now) redistribute string defines. - * Makefile.am: build route_types.h using previous two, ala - memtypes.h, include the script and table file in EXTRA_DIST. - * command.h: pull in route_types.h, add a REDIST_STR define. - -2006-05-21 Andrew J. Schorr - - * if.h: (struct connected) Document the meaning of the - ZEBRA_IFC_REAL and ZEBRA_IFC_CONFIGURED flags. - -2006-05-15 Paul Jakma - - * log.c: (general) Generalise struct zebra_route_desc into - struct zebra_desc_table and, similar to route_types, add a - command_types table to describe Zserv protocol commands. - (route_types[]) use a macro to use designated initialisers - while avoiding tedious duplication. - (zserv_command_string) lookup string from zebra_desc_table, - similar to zebra_route_string - * zebra.h: Add declaration for zserv_command_string, adjust the - comments to reflect zebra_desc_table. - -2006-05-13 Paul Jakma - - * vty.c: (vty_describe_command) CID #39 fix was too hasty, just - cause it /can/ leak doesn't mean it always will have, check - first. - -2006-05-12 Paul Jakma - - * plist.c: (vty_prefix_list_uninstall) Fix potential NULL deref - of prefix and typestr strings, Coverity CID #3. - * command.c: (cmd_complete_command_real) Fix leak of cmd_vector - in error case, Coverity CID #37. - (cmd_describe_command_real) Fix return of freed pointer when - no-match, CID #55. - * vty.c: (vty_describe_command) fix leak of describe vector in - error path, CID #39. - -2006-03-30 Paul Jakma - - * command.h: (DEFUN_CMD_FUNC_TEXT) Annotate arguments as - potentially being unused. - * workqueue.c: (work_queue_run) fix line length of comment - -2006-03-27 Paul Jakma - - * memtypes.awk: Fix gensub call, g should be a string.. - -2006-03-25 Paul Jakma - - * workqueue.h: (struct work_queue) Remove status field and - state flag, no longer used. - -2006-03-19 Paul Jakma - - * memtypes.c: Add MTYPE_BGP_SYNCHRONISE. - -2006-03-16 Paul Jakma - - * Makefile.am: Fix -version-info argument. - -2006-03-15 Paul Jakma - - * memory.c: (mtype_memstr) new helper function to - return human friendly string for a byte count. - (mtype_stats_alloc) new function, for users to retrieve - number of objects allocated. - (show_memory_mallinfo) New function, show mallinfo statistics - if available. - (show_memory_all_cmd) Call show_memory_mallinfo, if mallinfo - is available. - * memory.h: Export mtype_memstr and mtype_stats_alloc. - Provide a define for a reasonable buffer size for - mtype_memstr. - -2006-03-14 Paul Jakma - - * privs.c: (zprivs_caps_init) Change user IDs before lowering - privileges, while this seems to work on Linux, on Solaris - it rightfully refuses due to PRIV_PROC_SETID having been - dropped. - * command.h: Add the struct host global exported from command.c - -2006-03-06 Paul Jakma - - * if.h: export show_address_cmd, for anyone who wishes to use - it. - -2006-02-21 Paul Jakma - - * sockunion.c: (sockunion_{su2str,log}) Use XSTRDUP. - Particularly with _su2str, as that string gets XFREEd, - which can be annoying if run debug code in memory.c. - -2006-02-02 Paul Jakma - - * workqueue.h: (struct work_queue) Remove the delay field. - It served no purpose and just introduced bad behaviour. - Should be excised before its allowed to escape into 1.0. - This removes need for the 'flood' and runs_since_clear - fields. - * workqueue.c: (general) excise delay factor between queue - runs, hence the 'flood' crap too.. See above. - -2006-01-19 Paul Jakma - - * stream.c: (stream_getq_from) should use POSIX uint64_t - not u_int64_t. Latter is neither a traditional BSD type, nor - a POSIX type. - -2006-01-17 Vincent Jardin - - * md5.c: Don't forget to keep const. - * regex.c: Cleanup code and remove warnings. - -2006-01-17 Paul Jakma - - * md5.{c,h}: (md5_loop) Is better off taking a void * and doing - cast to byte wise type internally, avoids needs for casts - in users. - * vty.c: (no_terminal_monitor_cmd) New ALIAS for - terminal_no_monitor, in the more normal negating format, - to be kind to my fingers. - (vty_init) install new ALIAS. - * zclient.{c,h}: (zclient_create_header) export this, seems others - could use it (in lieu of more complete zserv helpers). - -2006-01-16 Paul Jakma - - * zclient.h: Update the Zserv protocol header with a version - field. Define the old command field to be a 'marker', to - allow old Zserv and updated Zserv to be differentiated. - Future updates will bump the version field obviously. New - command field is made wider. Try to stop using the - 'zebra_size_t' typedef in the callbacks. - * zclient.c: Update to read/write new format header. - -2006-01-11 Paul Jakma - - * if.h: (struct interface) expand flags to 8 bytes. - * zclient.c: (zebra_interface_{add,state}_read) stream read of - interface flags now need to use stream_getq. - (zebra_interface_if_set_value) ditto - -2006-01-10 Paul Jakma - - * stream.c: (stream_new) Allocate stream data as seperate object. - (stream_free) free the data. - (stream_resize) new function, resize stream to new size. - (stream_{get,put}q*) new functions to get/put quad word size - types. - * stream.h: (struct stream) make data seperate from the stream. - Export new stream_resize and quad-word get/put functions. - -2005-12-29 Greg Troxel - - * vty.c (vty_hello): add cast to quiet lint (from David Young) - -2005-11-26 Paul Jakma - - * buffer.c: (struct buffer_data) change gcc zero array - declaration to C99 incomplete array. - * stream.h: (struct stream) same - -2005-11-24 Paul Jakma - - * privs.c: (zcaps2sys/solaris) remove unused variable. - (zprivs_state_caps/solaris) Format string missing a - specifier. - * zebra.h: s/u_int/unsigned int/, u_int is a BSD type, defining - __USE_BSD on Linux pulls in further things from netinet/ip.h - which dont preprocess for some reason. There is no C99 - shorthand type directly equivalent to u_int afaict, so don't - use it. - -2005-11-14 Paul Jakma - - * (general) pass struct work-queue to callback functions. - * workqueue.h: (struct work_queue) move the state flag - variables to end. - Add an opaque pointer to spec, for user-data global to the - queue. - Pass reference to work_queue to all callbacks. - * workqueue.c: (work_queue_item_remove) pass ref to workqueue - to user callbacks. - (work_queue_run) ditto. - -2005-11-14 Paul Jakma - - * (general) Add state to detect queue floods. There's no sense - trying to be sparing of CPU resources, if the queue is - flooding and using ever more memory resources. we should just - get on with clearing the queue. - The sense of delay and hold were wrong way around, fix. - * workqueue.h: (struct work_queue) Add status bitfield. Add - 'flood' integer to workqueue spec. Add runs_since_clear - counter to workqueue. - * workqueue.c: (work_queue_new) set defaults for delay, hold - and flood. - (work_queue_add) initial schedule should use delay, not hold. - (show_work_queues) Print flood field, conserve whitespace. - (work_queue_unplug) use delay, not hold. - (work_queue_run) consecutive runs should be seperated by hold - time, not delay. - Keep track of number of consecutive runs, go into 'overdrive' - if queue is being flooded, we can't avoid making heavy use of - resources, better to use CPU than ever more RAM. - * zebra.h: [bug #231] include stdint, if its there. - -2005-11-05 Paul Jakma - - * routemap.c: (vty_show_route_map_entry) call action is - seperate from exit action, latter should still be printed - regardless of whether a call is specified. - -2005-11-03 Paul Jakma - - * zebra.h: BSD BYTE_ORDER define isn't available everywhere, - define if needs be. - * checksum.h: new file. checksum.c exports in_cksum, provide - a header for it. - * checksum.c: (in_cksum) callers shouldn't have to know it uses - a u_short internally, change to void *. - * Makefile.am: Add checksum.h - * command.h: remove bogus trailling slash. - * md5.c: (general) Update it for the twentieth century. ANSI - declarations are widely supported now.. Don't include system - headers, only include zebra.h. Use POSIX types (the - alternative is to define u_int64_t in a portable way - rest - of Quagga needs same cleanup). - Make endian-conditional code be compiler conditional rather - than preprocessor conditional, so that breakage gets noticed - quicker. - * md5.h: POSIX types. Get rid of the odd __P() non-ANSI capable - compiler compatibility hack. - * if.c: (connected_free) use MTYPE for connected label. - * memtypes.c: Add MTYPE_CONNECTED_LABEL - * memtypes.h: Update auto-built file. - -2005-10-26 Paul Jakma - - * (general) Cleanup a some calls to XFREE,strdup, etc. to use - the memory.h macros. - * memtypes.c: Add MTYPE_IF_RMAP_NAME, MTYPE_PQUEUE, - MTYPE_PQUEUE_DATA and MTYPE_HOST. - * memtypes.h: update auto-built file. - * if_rmap.c: Use MTYPE_IF_RMAP_NAME. - * pqueue.c: Use the two MTYPE_PQUEUE mtypes for allocations. - * command.c: Use MTYPE_HOST, MTYPE_STRVEC. Some other fixups, - including fixing some likely leaks in config_write_file. - * vty.c: memory macro usage fixes. - (vty_read_config) fix leak where relative config file is - specified. - -2005-10-20 Andrew J. Schorr - - * sockopt.c: (setsockopt_multicast_ipv4) If IP_ADD_MEMBERSHIP - fails with errno equal to EADDRINUSE, then issue an info - message and try IP_DROP_MEMBERSHIP followed by IP_ADD_MEMBERSHIP. - -2005-10-20 Andrew J. Schorr - - * memory.c: (show_memory_vty) Omit zero statistics. Print separators - only if some non-zero stats have been printed in between. - (show_separator) New function to print a separator. - (show_memory_all) Keep track of whether a separator is needed - between the different memory statistics groups. - -2005-10-18 Andrew J. Schorr - - * memtypes.h: Add MTYPE_OSPF_VERTEX_PARENT (to match memtypes.c). - -2005-10-18 Paul Jakma - - * memtypes.c: (memory_list_ospf) Add MTYPE_OSPF_VERTEX_PARENT. - -2005-10-01 Andrew J. Schorr - - * zebra.h: Declare new functions zebra_route_string() and - zebra_route_char(). - * log.c: (zroute_lookup,zebra_route_string,zebra_route_char) New - functions to map zebra route numbers to strings. - -2005-09-29 Alain Ritoux - - * smux.[ch]: allow to retreive global OID (identified by <0 - namelen). - -2005-09-29 Paul Jakma - - * zebra.h: Solaris capabilities requires priv.h to be included. - * privs.{c,h}: Add support for Solaris Least-Privileges. - privs.h: Reduce some of the abstract capabilities, which do - not have rough equivalents on both systems. Rename the net - related caps to _NET, as they should have been in first - place. - (zprivs_terminate) should take the zebra_privs_t as argument so - that it can update change pointer. - Add an additional privilege state, ZPRIVS_UNKNOWN. - * privs.c: (various capability functions) Add - Solaris privileges variants. - (zprivs_state) Use privs.c specific generic types to - represent various capability/privilege related types, so that - each can be typedef'd as appropriate on each platform. - (zprivs_null_state) static added, to hold the state the null - method should report (should be raised by default, and - LOWERED if zprivs_terminate has been called) - (zprivs_state_null) Report back the zprivs_null_state. - (cap_map) Make it able to map abstract capability to multiple - system capabilities. - (zcaps2sys) Map to abstract capabilities to multiple system - privileges/capabilities. - (zprivs_init) move capability related init to seperate - function, zprivs_caps_init. - (zprivs_terminate) ditto, moved to zprivs_caps_terminate. - Set the change_state callback to the NULL state, so the - user can continue to run and use the callbacks. - -2005-09-29 Alain Ritoux - - * filer.c: show protocol name in filter_show() - * plist.c: show protocol name in vty_show_prefix_entry() - * routemap.c: show protocol name in vty_show_route_map_entry() - * vty.c: in vty_command(), show protocol name if command unknown - -2005-09-28 Alain Ritoux - - * md5-gnu.h: removed - * md5.h: replaces md5-gnu.h - * Makefile.am: use correct md5.h - * md5.c: import from WIDE - -2005-09-21 Paul Jakma - - * memtypes.{c,h}: Add MTYPE_AS_SEG_DATA. - -2005-09-19 Hasso Tepper - - * str.[ch]: Add strndup() from glibc. - -2005-09-05 Paul Jakma - - * command.c: (install_element) be more robust. Eg, cmd_init - need not have been called, some applications may use other - library subsystems, which call install_element, without the - application wanting commands and hence not calling cmd_init. - -2005-08-22 Hugo Santos - - * command.h: (enum node_type) Add BGP_IPV6M_NODE - * command.c: (node_parent) Handle BGP_IPV6M_NODE node - (config_exit, config_end) ditto - * vty.c: (vty_end_config) Handle BGP_IPV6M_NODE node - -2005-08-10 Greg Troxel - - * getopt.h: Don't declare getopt (rather than getopt_long), since - quagga doesn't need it. - * getopt.c (getopt): Don't define getopt. - -2005-07-26 Andrew J. Schorr - * prefix.c: (prefix_ipv4_new, prefix_ipv6_new): Call prefix_new - to allocate the memory to make sure that all struct prefix pointers - point to objects of the same length (avoids memory overruns - on struct prefix assignments). - (prefix_ipv4_free, prefix_ipv6_free): Simply call prefix_free. - It is interesting to note that these functions are never actually - called anywhere in the code. Instead prefix_free was already - being called directly, despite the previous MTYPE incompatibility. - -2005-07-26 Andrew J. Schorr - - * prefix.c: (ip_masklen) While loop should test that 'pnt' pointer is - in range before dereferencing it. - -2005-06-24 Pawel Worach - - * getopt.h: add further tests for full getopt declaration on - various systems. - -2005-06-18 Paul Jakma - - * memtypes.h: update autobuilt file to match memtypes.c changes - -2005-06-01 Paul Jakma - - * memtypes.c: Add MTYPE_BGP_PROCESS_QUEUE and - MTYPE_BGP_CLEAR_NODE_QUEUE - -2005-05-24 Paul Jakma - - * memtypes.h: update this auto-built file. (maybe we should just - remove it, is GNU awk a terrible dependency to have?) - -2005-05-23 Paul Jakma - - * memtypes.awk: use character classes, which work correctly in - all LC_COLLATE environments, unlike A-Z, which doesnt work in - eg estonian collate order. Reported by Hasso. - * routemap.c: (rmap_onmatch_goto) fix crash if 'continue' command - is used, which does not supply an argv[0]. - this is a backport candidate /iff/ the trailing ; is removed - from VTY_GET_INTEGER_RANGE - * vty.h: fix the VTY_GET macros, do {..} while(0) so they have - correct function like syntax in usage. - * workqueue.h: Add a WQ_QUEUE_BLOCKED item_status return code, - to allow a queue function to indicate the queue is not - ready/blocked - rather than any problem with the item at hand. - Add a notion of being able to 'plug' and 'unplug' a queue. - Add helpers to plug/unplug a queue. - Add a completion callback, to be called when a queue is emptied. - * workqueue.c: (work_queue_new) remove useless list_free. - (work_queue_schedule) new internal helper function to schedule - queue, if appropriate. - (work_queue_add) use work_queue_schedule - (show_work_queues) Print 'P' if queue is plugged. - (work_queue_plug) new API function, plug a queue - ie prevent it - from 'drained' / processed / scheduled. - (work_queue_unplug) unplug a queue, allowing it to be drained - / scheduled / processed again. - (work_queue_run) Add support for WQ_QUEUE_BLOCKED. - Add comment for RETRY_NOW case. - Make hysteris more aggresive in ramping up granularity, improves - performance significantly. - Add support for calling completion callback when queue is emptied, - possibly useful for knowing when to unplug a queue. - -2005-05-19 Paul Jakma - - * thread.c: (thread_cancel_event) the number of pending events - cancelled is potentially useful information, dont throw it away, - pass it back to the caller. - * sockunion.c: (sockunion_getsockname) use MTYPE_SOCKUNION, not TMP - (sockunion_getpeername) ditto - * memtypes.c: (memory_list_bgp) add MTYPE_BGP_PEER_HOST - -2005-05-15 Paul Jakma - - * getopt.h: It's not just __GNU_LIBRARY__ which defines - getopt, eg __EXTENSIONS__ does too on SunOS. It still seems - awfully fragile though. - * getopt.c: include zebra.h after config.h, before including - getopt.h so that things at least are consistent.. - * getopt1.c: ditto - -2005-05-07 Yar Tikhiy - - * sockopt.c: Add support for BSD style ifindex in ip_mreq. - -2005-05-06 Paul Jakma - - * (general) extern and static'ification of functions in code and - header. - Cleanup any definitions with unspecified arguments. - Add casts for callback assignments where the callback is defined, - typically, as passing void *, but the function being assigned has - some other pointer type defined as its argument, as gcc complains - about casts from void * to X* via function arguments. - Fix some old K&R style function argument definitions. - Add noreturn gcc attribute to some functions, as appropriate. - Add unused gcc attribute to some functions (eg ones meant to help - while debugging) - Add guard defines to headers which were missing them. - * command.c: (install_node) add const qualifier, still doesnt shut - up the warning though, because of the double pointer. - (cmp_node) ditto - * keychain.c: (key_str2time) Add GET_LONG_RANGE() macro, derived - fromn vty.h ones to fix some of the (long) < 0 warnings. - * thread.c: (various) use thread_empty - (cpu_record_hash_key) should cast to uintptr_t, a stdint.h type - * vty.h: Add VTY_GET_IPV4_ADDRESS and VTY_GET_IPV4_PREFIX so they - removed from ospfd/ospf_vty.h - * zebra.h: Move definition of ZEBRA_PORT to here, to remove - dependence of lib on zebra/zserv.h - -2005-05-06 Hasso Tepper - - * sockunion.c: Fix warning message. - -2005-05-03 Paul Jakma - - * stream.h: Add comment about the special zero-ing ability of - stream_put. - (stream_recvmsg, stream_write) should return ssize_t and size_t - respectively. Should both be extern linkage. - (stream_recvfrom) Stream aware wrapper around recvfrom, in style - of stream_read_try. - * stream.c: (stream_recvfrom) new function, wrapper around recvfrom. - (stream_recvmsg, stream_write) ssize_t and size_t return values - -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. - -2005-04-27 Andrew J. Schorr - - * workqueue.c (show_work_queues): Remove unused gettimeofday call. - -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 >. - * memory.h: memtypes is built source, default includes points to - top_builddir, so we should refer to lib/memtypes.h - -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. - -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: Refer to source files via srcdir variable, fix - out-of-tree build breakage. - Add new workqueue files to build. - * memory.c: Make the string field much wider - * memtypes.c: Correct the prefix list str/entry strings - * thread.c: Kill unused TIMER_NO_SORT bits - -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. - -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. - * 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. - -2005-04-16 Andrew J. Schorr - - * thread.h (thread_consumed_time): Declare new function to calculate - elapsed microseconds. - * thread.c (thread_consumed_time): Must be global not static so we - can call it from lib/vty.c:vty_command. - (thread_should_yield): Surround with `#if 0' to make clear that this - function is not currently being used anywhere. - (thread_call): If CONSUMED_TIME_CHECK is defined, print a CPU HOG - warning message if the thread takes more than CONSUMED_TIME_CHECK - microseconds. - * vty.c (vty_command): If CONSUMED_TIME_CHECK is defined, print a CPU - HOG warning message if the command takes more than CONSUMED_TIME_CHECK - microseconds. - -2005-04-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. - -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. - memtypes.awk is gawk dependent, use the GAWK automake var. - * memtypes.h: New file, auto-generated, checked in for convenience. - -2005-04-11 Andrew J. Schorr - - * 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. - -2005-04-09 Jeroen Simonetti - - * routemap.c: Show description in "show route-map" output. - -2005-04-08 Andrew J. Schorr - - * sigevent.c: On GNU_LINUX, check whether __USE_GNU is already defined. - -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. - -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 . - -2005-04-08 Hasso Tepper - - * routemap.[ch]: Added "description ..." command. - -2005-04-08 Hasso Tepper - - * prefix.[hc]: Pass argument to the inet6_ntoa by value making it more - inet_ntoa alike. - -2005-04-07 Paul Jakma - - * 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.. - * linklist.c: fix up for linklist.h changes. - * *.c: fix up for new list loop macro, try audit other loop - usage at same time, to some degree. - -2004-04-05 Hasso Tepper - - * lib/prefix.[hc]: inet6_ntoa utility function copied from - ripngd/ripngd.c (inet6_ntop). - -2004-04-05 Paul Jakma - - * vty.c: Improve logging of failures to open vty socket(s). - See bugid #163. - -2005-04-02 Andrew J. Schorr - - * 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. - -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. - -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. - -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. - -2005-04-02 Andrew J. Schorr - - * 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. - -2005-04-02 Andrew J. Schorr - - * 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. - -2005-03-16 Andrew J. Schorr - - * zebra.h: Must check whether __attribute__ should be defined before - including zassert.h. - -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. - (various) Fix indentation and other whitespace. - 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. - -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. - * command.c: (config_list_cmd) Don't list hidden or deprecated - commands, hiding these from tab completion is still to be done. - -2005-03-08 Paul Jakma - - * command.c: (banner_motd_file_cmd) use XSTRDUP/XFREE. - (no_banner_motd_cmd) use XFREE. - (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. - * 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. - -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. - -2005-03-07 Michael Sandee - - * command.c: host.name might be NULL. - * vty.c: Fix fd leak. - -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). - -2005-02-23 Andrew J. Schorr - - * {vty.h,vty.c}: Remove vty_finish (duplicate of vty_reset). - -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. - -2005-02-21 Vincenzo Eramo - - * 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. - -2005-02-19 Paul Jakma - - * stream.c: (stream_new) fix dumb mistake. - -2005-02-17 Andrew J. Schorr - - * stream.c: (stream_read_try) Use new ERRNO_IO_RETRY macro. - -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. - -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. - -2005-02-16 Andrew J. Schorr - - * network.c: (set_nonblocking) Should check return code from - fcntl(F_GETFL). - -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. - -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. - -2005-02-09 Paul Jakma - - * 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. - stream.c: Remove/update references to putp. - introduce stream_forward_endp. - -2005-02-08 Andrew J. Schorr - - * zebra.h: Change macro definitions SET_FLAG and UNSET_FLAG - to use compound assignment operators (aesthetic change). - -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. - -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. - -2005-02-02 Andrew J. Schorr - - * if.h: Declare if_flag_dump. - -2005-01-30 Andrew J. Schorr - - * daemon.c: (daemon) Replace perror with zlog_err. - * vty.c: (vty_serv_un) Replace perror with zlog_err. - -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. - -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. - -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. - -2005-01-23 Hasso Tepper - - * lib/command.[ch]: Make node_parent() function nonstatic. vtyh.c will - use it as well. - -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. - -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. - -2005-01-17 Hasso Tepper - - * 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). - -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. - -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 - -2005-01-12 Andrew J. Schorr - - * 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. - -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). - -2005-01-04 Andrew J. Schorr - - * zebra.h: Define ZCMSG_FIRSTHDR appropriately based on whether - config.h indicates HAVE_BROKEN_CMSG_FIRSTHDR (as determined - by the configure test program). - * sockopt.c: (getsockopt_cmsg_data) Use ZCMSG_FIRSTHDR instead - of CMSG_FIRSTHDR. - -2005-01-02 Hasso Tepper - - * command.c: Revert int -> unsigned int fixes in - cmd_describe_command_real() and cmd_complete_command_real(). index can - be actually negative and it caused crash with "do" in vty. - -2004-12-29 Greg Troxel - - * sockopt.c (getsockopt_ipv4_ifindex): Document calling - convention. Beef up comments. Handle the case where the cmsghdr - has a zero controllen, or more specifically when the wanted option - is not present. This is needed for Solaris 8, and in general for - any platform for which configure finds a method and it can fail. - Mark some changes with XXX to be cleaned up post 0.98. - -2004-12-28 Andrew J. Schorr - - * sockopt.c: (setsockopt_ipv4_ifindex) Improve error message. - When neither IP_PKTINFO nor IP_RECVIF is defined, make return value - deterministic (-1). - -2004-12-28 Andrew J. Schorr - - * thread.c: (funcname_thread_add_timer_msec) Reduce overflow risk. - -2004-12-21 Paul Jakma - - * if.h: Add more 'non-generic' IFF_ flags. - * if.c: IFF_NOXMIT/IFF_VIRTUAL interfaces are 'loopback like' - * stream.c: Dont allocate streams with 0 sized data buffers - -2004-12-17 Andrew J. Schorr - - * command.c: (do_echo) Added new "echo" command, useful for - watchdog pinging to make sure the daemon is responsive. - -2004-12-17 Andrew J. Schorr - - * pid_output.c: (pid_output_lock) Eliminate static function, and just - use the #ifdef to decide which version of the function to include. - This eliminates a compilation problem with gcc4. And fix the - non-fcntl version so that it actually compiles. Exit with - status 1 instead of -1 on error. - -2004-12-15 Andrew J. Schorr - - * sigevent.c: (trap_default_signals) Ignore SIGPIPE instead of exiting. - -2004-12-10 Andrew J. Schorr - - * log.c: (zlog_signal,_zlog_assert_failed) Change logging level back to - LOG_ERR instead of LOG_EMERG. - -2004-12-09 Andrew J. Schorr - - * log.c: (hex_append) No need to include this function if - HAVE_GLIBC_BACKTRACE is not defined. - -2004-12-08 Andrew J. Schorr - - * prefix.c: (prefix_copy) Error message before abort should - have severity LOG_ERR, not LOG_INFO. - * memory.c: (mtype_log) Log level should be LOG_DEBUG, not LOG_INFO. - -2004-12-07 Andrew J. Schorr - - * {smux.c,zclient.c}: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr - - * command.c: (config_write_host) Note that "log trap" is deprecated - when writing out the config. - -2004-12-07 Andrew J. Schorr - - * log.h: Replace struct zlog flags and maskpri fields with maxlvl - array to support individual logging levels for each destination. - Remove the 2nd argument to openzlog since the default logging config - should be standardized inside the library. Replaced the - zlog_set_flag and zlog_reset_flag functions with zlog_set_level. - And zlog_set_file now requires an additional log_level argument. - Declare zlog_proto_names for use inside command.c in the - "show logging" command. Added defines useful for command - construction. - * log.c: (vzlog) Decide where to send the message based on the - individual logging levels configured for each destination. - Remove support for ZLOG_STDERR since it was never actually used. - Support record-priority for terminal monitors. - (zlog_signal,zlog_backtrace_sigsafe) Support destination-specific - logging levels. Remove stderr support (was never used). Added - support for terminal monitor logging. - (_zlog_assert_failed) Increase message severity to LOG_EMERG. - (openzlog) Remove 2nd argument since default config should be - standardized in library. By default, terminal monitoring - is set to debug, and all other logging is disabled. - (zlog_set_flag,zlog_reset_flag) Removed. - (zlog_set_level) New function to replace zlog_set_flag and - zlog_reset_flag. Supports destination-specific logging levels. - (zlog_set_file,zlog_reset_file) Support file-specific logging level. - (zlog_rotate) Log an error message if fopen fails, and support - new file-specific logging level. - * command.h: Change DEFUN_CMD_FUNC_DECL and DEFUN_CMD_FUNC_TEXT so that - command functions will be static instead of global. Remove - declarations for config_exit and config_help. Define new macros - DEFUNSH_ATTR, DEFUNSH_HIDDEN, and DEFUNSH_DEPRECATED so we can - have deprecated commands in vtysh. Similarly, for completeness, - define macros ALIAS_SH, ALIAS_SH_HIDDEN, and ALIAS_SH_DEPRECATED. - Also, fix bug in ALIAS_ATTR macro (didn't matter because it - was never used). - * command.c: Make many functions static instead of global. - (facility_name,facility_match,level_match) New functions - to support enhanced destination-specific logging levels. - (config_write_host) Support new destination-specific logging levels. - (config_logmsg) Added new "logmsg" command to help test logging - system. - (show_logging) Added "show logging" command to show the current - configuration of the logging system. - (config_log_stdout_level) Support explicit stdout logging level. - (no_config_log_stdout) Now takes optional LEVEL arg. - (config_log_monitor,config_log_monitor_level,no_config_log_monitor) - New commands creating new "log monitor" commands to set terminal - monitoring log level. - (config_log_file_level) Support explicit file logging level. - (config_log_syslog_level) Support explicit syslog logging level. - (config_log_facility,no_config_log_facility) Implement new - "log facility" command. - (cmd_init) Add hooks for new commands: "show logging", "logmsg", - "log stdout ", "log monitor", "log monitor ", - "no log monitor", "log file ", - "no log file ", "log syslog ", - "log facility", and "no log facility". - * vty.h: Added a "level" argument to vty_log so it can support - "log record-priority". Declare new function vty_log_fixed for - use in signal handlers. - * vty.c: (vty_log,vty_log_out) Added a "level" argument to support - "log record-priority" for vty terminal monitors. - (vty_down_level) Use config_exit_cmd.func instead of calling - config_exit directly (since command functions will now be static - instead of global). - (vty_log_fixed) New function to send terminal monitor messages - from inside a signal handler. - -2004-12-03 Andrew J. Schorr - - * log.h: Document appropriate use of syslog logging priorities - inside quagga. - -2004-12-03 Andrew J. Schorr - - * command.h: Remove fields log_stdout and log_syslog from struct host, - since they are just trying to duplicate information in the - zlog_default structure. Note that this fixes a bug since those - fields were not registering any logging that was established - in the initial call to openzlog (this affects only the zebra and - ospf6d daemons). It is probably a bug to turn on any logging by - default in the call to openzlog. - * command.c: (config_write_host) Get logging info from zlog_default - instead of now-removed fields host.log_stdout and host.log_syslog. - (config_log_stdout,no_config_log_stdout) Do not set now-removed field - host.log_stdout, since this info is recorded in zlog_default. - (config_log_file) Use XSTRDUP (instead of strdup) to set host.logfile. - (config_log_syslog,config_log_syslog_facility,no_config_log_syslog) - Do not set now-removed field host.log_syslog, since this info is - recorded in zlog_default. - -2004-12-03 Andrew J. Schorr - - * version.h.in: Remove declaration for pid_output_lock, this function - is now static, not global. - * pid_output.c: (pid_output_lock) This function should be static, not - global. And remove "old umask" error message, since it was really - an unimportant debug message, not an error. - (pid_output) Need to declare static function pid_output_lock. - -2004-11-28 Andrew J. Schorr - - * log.h: Remove several unused fields from struct zlog. Add comments - for other fields, and add one new field syslog_options that is - used in the new syslog_sigsafe implementation. - * log.c: (syslog_sigsafe) New function to send syslog messages in - an async-signal safe way that can be used inside a signal handler. - (syslog_connect) New function to connect to syslog daemon inside a - signal handler. This function supports only systems where /dev/log - is a unix datagram socket (e.g. not Solaris). - (zlog_signal) Call syslog_sigsafe if syslog logging is enabled. - (zlog_backtrace_sigsafe) Call syslog_sigsafe if syslog logging is - enabled. - (openzlog) Save syslog_options for use in syslog_sigsafe. - (num_append) Fix bug: handle 0 properly. - (hex_append) New function to print a u_long in hex format. - -2004-11-28 Hasso Tepper - - * command.h: DEFUN_DEPRECATED passes attribute to DEFUN as well. - -2004-11-26 Andrew J. Schorr - - * log.c, log.h, memory.c: Change function name from zlog_backtrace_safe - to the more self-explanatory zlog_backtrace_sigsafe. - -2004-11-26 Andrew J. Schorr - - * debug.[ch]: Remove unused files. - * Makefile.am: Remove references to debug.c and debug.h - -2004-11-26 Andrew J. Schorr - - * log.c: (zlog_backtrace) New function to log a backtrace. - (zlog_backtrace_safe) Log a backtrace in an async-signal-safe way. - Unfortunately, this function does not support syslog logging yet. - (zlog_signal) Move backtrace code into separate function - zlog_backtrace_safe. - (_zlog_assert_failed) Call zlog_backtrace before aborting. - * log.h: Declare new functions zlog_backtrace and zlog_backtrace_safe. - * memory.c: (zerror) Call zlog_backtrace before aborting. - -2004-11-26 Andrew J. Schorr - - * Makefile.am: Need to add zassert.h to pkginclude_HEADERS. - -2004-11-25 Andrew J. Schorr - - * zebra.h: If not C99 and there's no va_copy macro and there is - a __va_copy macro, define va_copy as __va_copy. - -2004-11-25 Andrew J. Schorr - - * pid_output.c: (pid_output_lock) Fix 2 bugs: when locking, should - set l_whence to SEEK_SET, not SEEK_END. And after writing new - pid to file, must ftruncate to eliminate any extraneous bytes left - over from the last time a pid was written. - -2004-11-24 Andrew J. Schorr - - * zassert.h: New header file to declare a quagga-specific assert macro. - * log.c: (_zlog_assert_failed) New function called when assert fails - to log the error and abort. - * zebra.h: Include "zassert.h" instead of . - * regex.c: Include "zassert.h" instead of . - -2004-11-23 Andrew J. Schorr - - * sigevent.c: (signal_init) Set up some default signal handlers - so that processes will issue an error message before terminating - or dumping core. - (trap_default_signals) New function to set up signal handlers - for various signals that may kill the process. - (exit_handler) Call zlog_signal, then _exit. - (core_handler) Call zlog_signal, then abort. - * log.h: Declare new function zlog_signal. - * log.c: (zlog_signal) New function to log information about - a received signal before the process dies. Try to log a - backtrace also. - (quagga_signal_handler,signal_set) Should be static. - -2004-11-23 Andrew J. Schorr - - * log.c: (vzlog) Take a single va_list argument and use va_copy - as necessary for multiple traversals. - (zlog) Pass only one va_list to vzlog. - (zlog_*,plog_*) Use a macro for boilerplate code; pass only one - va_list to vzlog. - (zlog_set_file) Remove unused 2nd argument (flags). - (zlog_save_cwd,zlog_get_cwd,zlog_free_cwd) Remove unused functions. - * log.h: Remove ZLOG_*_INDEX defines (no longer used). - Remove unused 2nd argument from zlog_set_file prototype. - Fix prototype for zlog_rotate. - * command.c: (config_log_file) Remove unused 2nd arg to zlog_set_file. - * vty.c: (vty_out) Fix stdarg usage to perform multiple traversals - properly. - (vty_log) Must use va_copy for multiple traversals of va_list arg. - -2004-11-19 David Young - - * log.c: (safe_strerror) New function: safe wrapper for strerror. - -2004-11-19 Andrew J. Schorr - - * sockopt.c: (setsockopt_so_recvbuf) Stop error message from being - printed every time. - -2004-11-16 Andrew J. Schorr - - * memory.h: Fix prototype for memory_init(). - * memory.c: Declare many functions and data structures static instead - of global. Fix prototype for memory_init(). - -2004-11-15 Greg Troxel - - * sockopt.h: Avoid CMSG_ALIGN, and declare that sizes are without - alignment (users should use CMSG_SPACE). - - * zebra.h: Rationalize CMSG_SPACE compatibility defines. Warn if - asumming 4-byte alignment, since this isn't safe. - -2004-11-15 Andrew J. Schorr - - * memory.c: (zerror) Use zlog_err instead of fprintf to stderr. - Instead of exiting, log currenty memory usage and then abort. - (log_memstats) New function to log memory statistics, called by - zerror. - (show_memory_all) Loop over new mlists array instead of calling - show_memory_vty separately for each memory_list. - -2004-11-08 Paul Jakma - - * buffer.c: Add missing include of log.h. - (buffer_flush_available) written is compared against - mostly against unsigned types, only for the writev do we need - signed compare, so declare it as size_t and cast it to ssize_t - just for the error compare when we've called writev. - * buffer.h: Add comment that buffer data sizes really should be - size_t. - -2004-11-07 Paul Jakma - - * version.h.in: add autoconf configure_input output var - -2004-11-04 Andrew J. Schorr - - * vty.h: Remove fields in struct vty that were related to VTY_CONTINUE - capabilities (that were used only in bgpd/bgp_route.c and are now - removed). Also remove some other fields that were not being - used at all. - * vty.c: (vty_execute) Do not test for obsolete status values VTY_START - and VTY_CONTINUE. - (vty_read) Remove calls to vty->output_func since that was part - of the VTY_CONTINUE infrastructure that has been removed. - (vty_flush) Remove code to support VTY_START and VTY_CONTINUE. - (vty_close) Remove code to cancel vty->t_output thread, since that - thread was never actually used. - -2004-11-04 Andrew J. Schorr - - * vty.c: Vtysh connections to daemons should use buffering. - (vty_out) Remove exception for vty_shell_serv, just use buffer_write. - (vty_new) Increase output buffer size to 4096 rounded up to a - multiple of pagesize. - (vtysh_read) After command has been executed and all output buffered, - call buffer_flush_available and schedule further writes if the - buffers are not yet empty. - (vtysh_write) New function to flush output to vtysh when the socket - is writeable. - (vty_event) Added new VTYSH_WRITE event for flushing buffers to vtysh - clients. Also, should save read thread in vty->t_read so the - thread can be cancelled in vty_close. - * buffer.h: In struct buffer_data, remove unused "parent" field. - Convert "unsigned char *data" to "unsigned char data[0]" to save - a malloc. Declare new function buffer_flush_available that works - with non-blocking sockets. - * buffer.c: (buffer_data_new) Use a single malloc now that data is - a variable-size array at end of structure. - (buffer_data_free) Just a single free now that data is part of the - structure. - (buffer_write) Simplify the logic to make behavior more transparent. - (buffer_flush) Decrease b->length as data is written out. - (buffer_flush_vty_all) Decrease b->length as buffers are freed. - (buffer_flush_vty) Decrease b->length as data is written out. - (buffer_flush_available) New function to flush non-blocking sockets. - -2004-11-01 Paul Jakma - - * sockopt.c: (setsockopt_pktinfo) remove, its unused. - -2004-10-31 Paul Jakma - - * vty.c: As per Andrew's suggestions.. - (vty_serv_un) remove flags. - (vtysh_accept) close socket if we cant set NONBLOCK. Add flags. - * keychain.c: Convert some more strtoul users to VTY_GET_INTEGER. - * memory.h: Add MTYPE_THREAD_FUNCNAME and MTYPE_THREAD_STATS - * thread.c: Update stats and funcname alloc/free to use previous - specific memory type defines. Use XCALLOC and sizeof the type, - not the pointer. - * smux.c: fix int to size_t compile warnings - -2004-10-29 Paul Jakma - - * vty.c: Move setting of sock to O_NONBLOCK from vty_serv_un - to vtysh_accept, where sock is the actual fd we wanted to set to - O_NONBLOCK, ie the /connected/ vtysh unix socket. - -2004-10-23 Hasso Tepper - - * zclient.c: Unbreak reading interface update message. Might fix - blocker bugzilla #109. - -2004-10-22 Paul Jakma - - * sockopt.c: (getsockopt_ipv4_ifindex) no ifindex should be 0, not - -1. - (setsockopt_pktinfo) unexported - * sockopt.h: Cleanup SOCKOPT_CMSG defines a bit. Add a throwaway - define for SOPT_SIZE_CMSG_IFINDEX_IPV4 for systems which have - neither IP_RECVIF nor IP_PKTINFO (eg openbsd), thanks to Rivo - Nurges for highlighting problem and fix. - Fix elif that should be an else. - * command.h: Cleanup the defines a bit, add helper defines and - collapse all defines to use those. Add an attribute field to - cmd_element to support, eg hidden or deprecated commands, add - defun defines for such. All that's left to do is add logic - to command.c to check these attributes... ;) - * zebra.h: reserve ZEBRA_ROUTE_HSLS - -2004-10-19 Hasso Tepper - - * version.h.in: Define copyright string QUAGGA_COPYRIGHT. - * print_version.c: Remove. print_version () function moved to - command.[c|h]. - * command.c: Use QUAGGA_COPYRIGHT. - * Makefile.am: Remove useless version.c and print_version.c files. - -2004-10-19 Andrew J. Schorr - - * zclient.c: (zebra_interface_address_read) If the destination address - is encoded as all zeroes, load it as a NULL pointer. - * if.h: Add comment describing struct connected destination field - and indicating that it may be NULL. Define macros - CONNECTED_DEST_HOST and CONNECTED_POINTOPOINT_HOST to help - with PtP logic (distinguish between host and subnet addressing). - * if.c: (if_lookup_address) Fix PtP logic to handle subnet addressing - properly, - (connected_lookup_address) ditto. - (connected_add_by_prefix) Handle case where destination is NULL, - * prefix.[c|h]: New functions ipv4_network_addr and - ipv4_broadcast_addr. - -2004-10-13 Hasso Tepper - - * command.c: Make CMD_ERR_NOTHING_TODO nonfatal if reading - configuration from file. Fixes critical bugzilla #113. - * smux.c, smux.h: Remove all defaults to initialize smux connection to - snmpd by default even if not configured to do so. "smux peer OID - " initializes now connection and "no smux peer" terminates - it. - -2004-10-13 Paul Jakma - - * (global) more const'ification. - * sockunion.c: (sockunion_su2str) buffer should be sized - SU_ADDRSTRLEN. - (sockunion_log) do not return stack variables, strdup buf before - return. - * vty.h: Fix up the VTY_GET_INTEGER macros. Testing caller supplied - values against ULONG_MAX is daft, when caller probably has passed - a type that can not hold ULONG_MAX. use a temporary long instead. - Add VTY_GET_LONG, make VTY_GET_INTEGER_RANGE use it, make - VTY_GET_INTEGER a define for VTY_GET_INTEGER_RANGE. - -2004-10-11 Hasso Tepper - - * command.h: Sync DEFUNSH with other macros. - * sockunion.c, sockunion.h: More const strings. - -2004-10-11 Paul Jakma - - * thread.c: (funcname_thread_add_timer) - (funcname_thread_add_timer_msec) Fix mistakes from last change. - Pointed out by Liu Xin in [quagga-dev 1609]. - * if.h: mtu's should be unsigned. - * routemap.{c,h}: const char updates - * smux.{c,h}: ditto - -2004-10-10 Paul Jakma - - * version.h.in: (pid_output*) add const qualifier. - * command.h: Change DEFUN func to take const char *[] rather - than char **, to begin process of fixing compile warnings in lib/. - Nearly all other changes in this commit follow from this change. - * buffer.{c,h}: (buffer_write) pointer-arithmetic is gccism, take - const void * and cast an automatic const char *p to it. - (buffer_putstr) add const - * command.c: (zencrypt) const qualifier - (cmd_execute_command_real) ditto - (cmd_execute_command_strict) ditto - (config_log_file) ditto. - Fix leak of getcwd() returned string. - * memory.{c,h}: Add MTYPE_DISTRIBUTE_IFNAME for struct dist ifname. - * distribute.{c,h}: Update with const qualifier. - (distribute_free) use MTYPE_DISTRIBUTE_IFNAME - (distribute_lookup) Cast to char *, note that it's ok. - (distribute_hash_alloc) use MTYPE_DISTRIBUTE_IFNAME. - (distribute_get) Cast to char *, note that it's ok. - * filter.c: Update with const qualifier. - * if.{c,h}: ditto. - * if_rmap.{c,h}: ditto. - (if_rmap_lookup) Cast to char *, note that it's ok. - (if_rmap_get) ditto. - * log.{c,h}: Update with const qualifier. - * plist.{c,h}: ditto. - * routemap.{c,h}: ditto. - * smux.{c,h}: ditto. Fix some signed/unsigned comparisons. - * sockopt.c: (getsockopt_cmsg_data) add return for error case. - * vty.c: Update with const qualifier. - -2004-10-08 Hasso Tepper - - * routemap.c, routemap.h: Make some string arguments const. - -2004-10-05 Paul Jakma - - * version.h.in: print_version declaration is here, not in automake - generated version.h. - -2004-10-08 Hasso Tepper - - * command.c, command.h: Make argument of cmd_make_strvec function - const. - * command.c: Make hostname commands usable in vtysh again. - -2004-10-07 Hasso Tepper - - * command.c, pid_output.c, print_version.c, vty.c, vty.h: Make more - strings const. - -2004-10-05 Hasso Tepper - - * *.[c|h]: Make many strings cons and a lot of int -> unsigned int - changes to fix warnings. - -2004-10-05 Paul Jakma - - * sockopt.{c,h}: add sockopt_iphdrincl_swab_{htosys,systoh}, - functions to change byte order between system IP_HDRINCL order - and host order. - * thread.c: (funcname_thread_add_timer_timeval) new function, add - timer at specified timeval. - (funcname_thread_add_timer) use funcname_thread_add_timer_timeval. - (funcname_thread_add_timer_msec) ditto - -2004-10-04 Hasso Tepper - - * memory.c, memory.h: Make char * argument of strdup functions const. - * prefix.c, prefix.h: Make many arguments const. Reorder stuff in - header. - * log.h: Make log message const in struct message. - * log.c: Fix some indenting. - * network.c, network.h: Make second argument of writen() const. - -2004-10-03 Hasso Tepper - - * command.h: Introduce SERVICE_NODE for "service <...>" commands. - * command.c: Don't initialize commands that don't make sense if vtysh - is used. - * vty.c: Make VTY_NODE appear in vtysh. - -2004-10-03 James R. Leu - - * zclient.c, zclient.h: zclient functions for router id handling. - * zebra.h: New message types for router id handling. - -2004-09-27 Paul Jakma - - * zebra.h: Add WANT_OSPF_WRITE_FRAGMENT for ospfd - to try to fragment oversized packets. Enabled only for Linux. - Add HAVE_IP_HDRINCL_BSD_ORDER to define struct ip byte order, - to consolidate various ad-hoc platform defines for same thing. - -2004-09-26 Hasso Tepper - - * vty.c, sockopt.c: Fix compiler warnings. - -2004-09-23 Hasso Tepper - - * linklist.h: Remove list and listnode typedefs. - * *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-17 Paul Jakma - - * sockopt.c: Add missing bracket - -2004-09-17 Paul Jakma - - * sockopt.{c,h}: Add setsockopt_so_recvbuf, for ripd and ripngd. - -2004-09-13 Paul Jakma - - * command.c: Update the copyright string in the default motd. - -2004-08-31 David Wiggins - - * hash.c (hash_iterate): Save next pointer before calling - procedure, so that iteration works even if the called procedure - deletes the hash backet. - - * linklist.h (listtail): new macro, not yet used. - -2004-08-27 Hasso Tepper - - * command.c: Install "terminal length" commands only if vty is used. - Vtysh will handle it itself. - -2004-08-26 Greg Troxel - - * sockopt.h: Define method-independent macro for callers of - get_ifindex to use for cmsg length. - -2004-08-19 Paul Jakma - - * zebra.h: add MAX and MIN defines (eg for ospf6d) - -2004-08-19 Paul Jakma - - * sockopt.c: include sockopt.h - rename some of the _pktinfo_ functions to _ifindex, where that is - their purpose. - (getsockopt_ipv6_pktinfo_ifindex) renamed to - getsockopt_ipv6_ifindex. - (setsockopt_ipv4_pktinfo) renamed to setsockopt_ipv4_ifindex - (setsockopt_pktinfo) update with previous and add comment re - AF_INET portability. - (setsockopt_ifindex) generic ifindex function ala - setsockopt_pktinfo. - (getsockopt_ipv4_pktinfo_ifindex) renamed to - getsockopt_ipv4_ifindex. - (getsockopt_ipv4_ifindex) rejiggling to reduce repeated - ifdef/elses. pktinfo case forgot to set ifindex. - (getsockopt_pktinfo_ifindex) renamed to - getsockopt_ifindex. update some calls to renamed functions. - * sockopt.h: Update renamed exported functions - Rename the CMSG_SIZE macros to IFINDEX. - Guard IPv4 PKTINFO in a conditional define. - -2004-08-18 Paul Jakma - - * vty.c: (vty_serv_un) set unix vty socket to nonblocking - to prevent inadvertent blocking of daemons by use of - vtysh. TODO: disentangle manual paging from the buffer_write - path so that unix vty can use this path too and be reliable. - -2004-07-23 Greg Troxel - - * sockopt.c (getsockopt_ipv4_pktinfo_ifindex): Make this compile - on NetBSD, and add comments to make it less confusing. Change the - sense of the SUNOS_5 test to make parallel structure between the - variables and the code. - -2004-07-23 Paul Jakma - - * sockopt.h: Add SOPT_SIZE_CMSG_PKTINFO{_IPV{4,6}} define, for - sizeof pktinfo as appropriate, to be used when allocating msg - buffers. export setsockopt_pktinfo() and - getsockopt_pktinfo_ifindex() - * sockopt.c: (setsockopt_pktinfo_ifindex) new function to portably - set received ifindex sock option. - (getsockopt_pktinfo_ifindex) portably retrieve ifindex. - (getsockopt_cmsg_data) retrieve indicated control info from - message header. - (getsockopt_ipv6_pktinfo_ifindex) ipv6 version of above. - (setsockopt_ipv4_pktinfo) v4 version - (setsockopt_pktinfo) the exported version - (getsockopt_ipv4_pktinfo_ifindex) v4 specific version - (getsockopt_pktinfo_ifindex) the exported version - -2004-07-14 Paul Jakma - - * sigevent.c: (quagga_signal_handler) add a global caught flag, set - the flags to a constant rather increment to be kinder. - (quagga_sigevent_process) new function, to do core of what - quagga_signal_timer did. dont block signals at all as sig->caught - is volatile sig_atomic_t and should be safe to access from signal - and normal contexts. The signal blocking is unneeded paranoia, but - is left intact under an ifdef, should some platform require it. - Check global caught flag before iterating through array. - (quagga_signal_timer) nearly everything moved to - quagga_sigevent_process. Left in under ifdef, in case some - platform could use a regular timer check for signals. - * sigevent.h: quagga_sigevent_process declaration. - * thread.c: (thread_fetch) check for signals at beginning of - scheduler loop, check for signals if select returns EINTR. - -2004-07-13 Greg Troxel - - * sigevent.c: Don't block SIGTRAP and SIGKILL. Blocking SIGTRAP - confuses gdb, at least on NetBSD 2.0_BETA, where the block - succeeds. - -2004-07-09 Paul Jakma - - * Merge Kunihiro's 'show route-map' change and add - compatibility aliases for route-map continue - * jhash.{c,h}: New files. Bob Jenkins' public domain hashing - function, as implemented in linux kernel by David Miller. - -2004-07-09 Juris Kalnins - - * if.c: (if_cmp_func) fix for interface names where name is same, - but one has no number, eg "devtyp" and "devtyp0". - -2004-06-30 Greg Troxel - - * Makefile.am: Make libzebra shared. - -2004-06-21 Paul Jakma - - * ChangeLog: fix my last update config.h -> zebra.h ;) - * zebra.h: Fix gcc check. - -2004-06-11 Sowmini Varadhan - - * filter.c: (access_list_remark_cmd) buffer_putstr doesnt need cast - to u_char. (ipv6_access_list_remark_cmd) ditto. - if.c: ditto - * network.c: (readn/writen) pointer arg should be type u_char. - * plist.c: needs to include stream.h, not declare stream functions - internally. - (various) Add static qualifier to internal functions. - (prefix_list_type_str) extraneous breaks in switch statement. - (ip_prefix_list_description_cmd) buffer_putstr doesnt need cast - * stream.h: depends on plist.h and export stream_put_prefix - * vty.c: (vty_) should use - unsigned char, telnet options are 0 -> 255. - * zclient.c: various u_char<->char type cleanups. - * zebra.h: Having to define CMSG_* can apply to more than just - BSDI_NRL. - -2004-06-09 Paul Jakma - - * zebra.h: __attribute__ is a gcc'ism - -2004-06-04 Paul Jakma - - * type mismatch fixes - -2004-05-18 Hasso Tepper - - * pqueue.[c|h]: Added as part of ospf6d merge from Zebra repository. - -2004-05-08 Paul Jakma - - * zclient.c (zapi_ipv4_route) Follow Sowmini's lead and describe - message format. - -2004-05-08 Sowmini Varadhan - - * zclient.c: (zapi_ipv4_add) collapsed into zapi_ipv4_route - (zapi_ipv4_delete) ditto. - (zapi_ipv4_route) add/delete a route by way of cmd arg. - (zapi_ipv6_add) collapsed into zapi_ipv6_route. - (zapi_ipv6_delete) ditto. - (zapi_ipv6_route) add/delete a route by way of cmd arg. - (zebra_interface_address_delete_read) collapsed into - zebra_interface_address_read. - (zebra_interface_address_delete_read) ditto. - (zebra_interface_address_read) read address add/delete messages - by way of type argument. Describe command message format. - (zebra_interface_add_read) Unconditionally read new ifmtu6 field. - Describe command message format. - (zebra_interface_state_read) Unconditionally read new ifmtu6 field. - (zclient_redistribute_set) Collapsed into zclient_redistribute - (zclient_redistribute_unset) ditto - (zclient_redistribute) set/unset redistribution. - (zclient_redistribute_default_set) Collapsed into - zclient_redistribute_default. - (zclient_redistribute_default_unset) ditto. - (zclient_redistribute_default) Redistribute default set/unset. - * zclient.h: delete zapi_ipv{4,6}_add, zapi_ipv{4,6}_delete. Add - zapi_ipv{4,6}_route. delete zclient_redistribute_set/unset. Add - zclient_redistribute. Ditto for - zclient_redistribute_default_{set/unset}. - -2004-05-08 Sowmini Varadhan - - * if.h: Add mtu6 field to struct interface, IPv6 MTU may differ - from IPv4, and Solaris treats the MTU's differently. - Add connected_add_by_prefix, for use by later patch. - * if.c: (connected_add_by_prefix) Add prefix to connected list. - (if_flag_dump) Solaris: Dump IFF_IPv4/6 flag - (if_dump) Dump mtu6 flag, for HAVE_IPV6. - * command.c: (sockunion_getsockname) use socklen_t for len. - (sockunion_getpeername) ditto. - -2004-04-21 Boris Kovalenko - - * daemon.c: (daemon) fix check for error return from setsid - -2004-01-19 Paul Jakma - - * sigevent.{c,h}: New files, implement event handled signals. - see signal_init() in sigevent.h. - -2003-12-23 Vincent Jardin - - * {command.c, memory.c, vty.c, zebra.h}: Add isisd support - -2003-12-22 Greg Troxel - - * vty.c (vty_use_backup_config): Don't free filenames before using - them for unlink. - -2003-08-20 Yasuhiro Ohara - - * command.c: Fix display problem for command line - description - -2003-05-24 Anil Madhavapeddy - - * (sockunion.c): Incorrect bounds specified in sockunion_log() - -2003-05-08 Sergiy Vyshnevetskiy - - * vty.c: -A option - -2003-04-19 Hasso Tepper - - * rip_routemap.c: sync daemon's route-map commands to have same - syntax - -2002-09-28 Yasuhiro Ohara - - * vty.c (vty_flush): One line more on vty. - -2002-09-27 Kunihiro Ishiguro - - * vector.c (vector_lookup): Add new function. - -2002-08-19 Kunihiro Ishiguro - - * thread.c (timeval_adjust): Fix unconditional crush due to - FreeBSD's select() system call timeval value check. - -2002-07-07 Kunihiro Ishiguro - - * zebra-0.93 released. - -2002-06-21 Kunihiro Ishiguro - - * if.c (ifc_pointopoint): Add ifc_pointopoint() accoding to Frank - van Maarseveen's suggestion. - -2002-06-18 Kunihiro Ishiguro - - * command.c: Change bcopy() to memcpy(). - -2001-12-12 Kunihiro Ishiguro - - * command.c (config_password): Fix host.password clear bug. - Reported by Wang Jian . - -2001-08-29 Kunihiro Ishiguro - - * thread.c (thread_should_yield): New function to check thread - should yeild it's execution to other thread. Suggested by: Rick - Payne - -2001-08-20 Kunihiro Ishiguro - - * thread.c (thread_timer_cmp): Rewrite function. - - * hash.c: Add hash_get(). Change hash_pull() to hash_release(). - -2001-08-19 Kunihiro Ishiguro - - * zebra-0.92a released. - -2001-08-15 Kunihiro Ishiguro - - * zebra-0.92 released. - -2001-08-12 Akihiro Mizutani - - * prefix.c (netmask_str2prefix_str): Convert "1.1.0.0 255.255.0.0" - string to "1.1.0.0/16". - -2001-08-10 Kunihiro Ishiguro - - * filter.c (access_list_lookup): access_list_lookup's first - argument is changed from address family to AFI. - - * plist.c: (prefix_list_lookup): Likewise. - -2001-07-27 Akihiro Mizutani - - * plist.c: ge and le display order is changed. Old compatible - rule (len <= ge-value <= le-value) is removed. - -2001-07-08 Kunihiro Ishiguro - - * prefix.h: Temporary fix for alignment of prefix problem. - -2001-06-21 Kunihiro Ishiguro - - * prefix.h (struct prefix): Remove safi and padding field. - (struct prefix_ipv4): Likewise. - (struct prefix_ipv6): Likewise. - (struct prefix_ls): Likewise. - (struct prefix_rd): Likewise. - - * command.h (enum node_type): Preparation for BGP new config. - - * vty.c (vty_end_config): Likewise. - -2001-06-17 Kunihiro Ishiguro - - * routemap.c (route_map_rule_delete): Call func_free when - route-map rule is deleted. - -2001-06-14 "Akihiro Mizutani" - - * routemap.c (route_map_index_lookup): Prevent to use deny and - permit for same route-map sequence. - -2001-04-12 Kunihiro Ishiguro - - * vty.c (vty_read_config): Fix warning. - -2001-03-08 Kunihiro Ishiguro - - * command.c (IPV6_PREFIX_STR): Add '.' and '%' for IPv6 address - strings. - -2001-03-07 Kunihiro Ishiguro - - * zebra.h (_XPG4_2): Define _XPG4_2 and __EXTENSIONS__ for - CMSG_FIRSTHDR. - -2001-03-07 Michael Rozhavsky - - * zebra.h (struct in_pktinfo): structure in_pktinfo declaration. - -2001-02-19 Kunihiro Ishiguro - - * memory.c (memory_list_lib): Add MTYPE_NEXTHOP for "show memory - lib" member. - -2001-02-13 Matthew Grant - - * vty.c (vty_read_config): Revert check of integrate_default when - VTYSH is defined. - -2001-02-13 Kunihiro Ishiguro - - * vty.c (vty_read_config): Do not check integrate_default. That - should be used only by vtysh. - -2001-02-08 Matthew Grant - - * vty.c (vty_serv_un): Set umask 0077. - (vty_read_config): Stat for vtysh Zebra.conf, if found startup and - wait for boot configuration. - - * if.c (if_lookup_address): Make it smart implementation. - - * sockopt.c (setsockopt_multicast_ipv4): Set up a multicast socket - options for IPv4 This is here so that people only have to do their - OS multicast mess in one place rather than all through zebra, - ospfd, and ripd . - -2001-02-04 Akihiro Mizutani - - * plist.c (vty_prefix_list_install): Even when argument is - invalid, new memory is allocated. Now memory allocation is done - after argument check. - -2001-02-01 Kunihiro Ishiguro - - * zebra-0.91 is released. - -2001-01-31 Akihiro Mizutani - - * vty.c (vty_login): Add vty login command. - -2001-01-31 Kunihiro Ishiguro - - * vty.c (vty_reset): Close accept socket. - -2001-01-30 Kunihiro Ishiguro - - * memory.h (enum): MTYPE_ATTR_TRANSIT is added for unknown transit - attribute. - -2001-01-22 Kunihiro Ishiguro - - * zclient.c (zebra_interface_address_add_read): Fetch interface - address flag. - (zebra_interface_address_delete_read): Likewise. - -2001-01-16 Kunihiro Ishiguro - - * table.c (route_node_match_ipv4): Utility function for IPv4 - address lookup. - (route_node_match_ipv6): Utility function for IPv4 address lookup. - -2001-01-15 Kunihiro Ishiguro - - * if.c: Delete RIP_API part until new implementation comes out. - -2001-01-13 Kunihiro Ishiguro - - * hash.h (struct Hash): Rename alloc to count. Change type to - unsigned long. - - * stream.c (stream_getc_from): New function. - (stream_getw_from): Likewise. - - * zebra.h (ZEBRA_FLAG_STATIC): Add new flag for persistent route. - -2001-01-11 Kunihiro Ishiguro - - * flap.c: File is removed. - - * flap.c: Likewise. - - * roken.h: Likewise. - - * buffer.c (buffer_new): Remove type option to buffer_new(). - -2001-01-10 Kunihiro Ishiguro - - * zclient.c (zapi_ipv4_delete): Remove OLD_RIB part. - -2001-01-09 Kunihiro Ishiguro - - * zebra-0.90 is released. - - * command.c: Update Copyright year. - -2001-01-09 Matthew Grant - - * if.c (if_create): Register connected_free() function for - deletion. - (if_delete): Free connected information when the interface is - deleted. - (if_lookup_by_index): Fix argument type from int to unsigned int. - (connected_add): Keep list in order if old info found, essential - for repeatable operation in some daemons. - -2001-01-09 endo@suri.co.jp (Masahiko Endo) - - * vty.c (vty_flush): When vty->statis is VTY_CLOSE do not add vty - read thread. - -2001-01-08 Kunihiro Ishiguro - - * filter.c (access_list_delete): Access-list name is not freed. - - * plist.c (prefix_list_delete): Prefix-list name is not freed. - -2000-12-29 Kunihiro Ishiguro - - * zclient.c (zclient_start): Change to use UNIX domain - socket for zebra communication. - - * vector.c (vector_init): vector_alloc and vector_data_alloc is - removed. All memory allocation count should be maintained by - XMALLOC and XFREE macros. - -2000-12-28 Kunihiro Ishiguro - - * zebra.h (ZEBRA_NEXTHOP_IFINDEX): Define ZEBRA_NEXTHOP_* values. - -2000-12-27 Kunihiro Ishiguro - - * zebra.h (ZEBRA_ERR_RTEXIST): Make zebra error code to negative - value. - -2000-12-25 "Wataru Uno" - - * vty.c (vtysh_read): Don't allocate new buffer because buffer is - allocated in vty_new (). - -2000-12-14 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_AS_FILTER_STR. - - * command.c (config_write_terminal): Display "end" at the end of - configuration. - - * plist.c (vty_prefix_list_install): Use AF_INET to determine - lenum length. - -2000-12-13 "Wataru Uno" - - * buffer.c (buffer_flush_vty): If IOV_MAX defined in the System, - then all lines write by IOV_MAX. - -2000-12-12 Michael Rozhavsky - - * command.c (config_write_file): Robust method for writing - configuration file and recover from backing up config file. - -2000-11-29 Kunihiro Ishiguro - - * smux.c (smux_connect): More fail check. - (smux_trap): When SMUX connection is not established, do nothing. - -2000-11-28 Gleb Natapov - - * thread.c (thread_fetch): Execut event list first. Old event - list is renamed to ready list. With this change, event thread is - executed before any other thread. - - * thread.h (struct thread_master): Add ready list. - -2000-11-28 Kunihiro Ishiguro - - * linklist.c (listnode_add_after): Add node right after the - listnode pointer. - -2000-11-27 Kunihiro Ishiguro - - * smux.h: Pass struct variable to WriteMethod. - -2000-11-25 Frank van Maarseveen - - * if.c (if_lookup_address): When looking up interface with IP - address, Sometimes multiple interfaces will match. Now PtP - interfaces prevail in such a case which seem the right thing to - do: There will probably also be host routes which usually prevail - over network routes. - -2000-11-25 Kunihiro Ishiguro - - * smux.c (smux_trap): SMUX trap implementation. - -2000-11-19 Akihiro Mizutani - - * plist.c: Add automatic conversion function of an old rule. - ex.) 10.0.0.0/8 ge 8 -> 10.0.0.0/8 le 32 - -2000-11-16 Yon Uriarte - - * zclient.c (zebra_interface_add_read): Read hardware address when - hw_addr_len is greater than 0. - -2000-11-15 Akihiro Mizutani - - * plist.c: The rule of "len <= ge-value <= le-value" - was changed to "len < ge-value <= le-value". - -2000-11-09 Yasuhiro Ohara - - * memory.[ch]: Added #define and functions for ospf6d. - - * log.[ch]: some platform says that the data of used va_list - is undefined. Changed to hold list of va_list for each - vsnprintf. - -2000-11-07 Rick Payne - - * memory.h (enum): Add MTYPE_COMMUNITY_REGEXP. - -2000-11-06 Kunihiro Ishiguro - - * command.c (config_exit): Fix bug of missing break after case - BGP_VPNV4_NODE. - -2000-10-30 Kunihiro Ishiguro - - * vector.c (vector_unset): Check i is not nevative. - -2000-10-24 Arkadiusz Miskiewicz - - * smux.c (smux_sock): Set terminating '\0'. Check address family. - - * vty.c (vty_serv_sock_addrinfo): Set terminating '\0'. Use - gai_strerror. Check address family. - -2000-10-23 Jochen Friedrich - - * smux.c: Use linklist rather than vector. - (smux_getnext): A SMUX subagent has to behave as if it manages the - whole SNMP MIB tree itself. It's the duty of the master agent to - collect the best answer and return it to the manager. See RFC 1227 - chapter 3.1.6 for the glory details :-). ucd-snmp really behaves - bad here as it actually might ask multiple times for the same - GETNEXT request as it throws away the answer when it expects it in - a different subtree and might come back later with the very same - request. - -2000-10-23 Kunihiro Ishiguro - - * command.c (cmd_init): Log related command are only installed for - terminal mode. - -2000-10-21 Kunihiro Ishiguro - - * Makefile.am (libzebra_a_SOURCES): Remove duplicated buffer.c. - - * zebra.h: Remove #warn directive. - -2000-10-20 Kunihiro Ishiguro - - * keychain.c (keychain_init): Register "key chain" command to - KEYCHAIN_NODE and KEYCHAIN_KEY_NODE. - - * vty.c (vty_end_config): Fix missing vty_cinfig_unlock for other - CONFIG_NODE. - - * command.c (config_end): Likewise. - - * keychain.c (keychain_get): Key is sorted by it's identifier - value. - -2000-10-19 Kunihiro Ishiguro - - * linklist.c (list_delete_all_node): Call delete function if it is - defined. - - * command.c (cmd_execute_command_strict): Add modification for - vtysh. - (cmd_execute_command_strict): Remove first argument cmdvec because - it is global varibale in command.c. - -2000-10-18 Kunihiro Ishiguro - - * command.c (cmd_init): Install - copy_runningconfig_startupconfig_cmd only in terminal mode. - - * linklist.c (list_delete_node): Simplify the function. - (listnode_lookup): Renamed from list_lookup_node. - -2000-10-17 Kunihiro Ishiguro - - * stream.h: Undef stream_read and stream_write without - parenthesis. - - * newlist.c: File removed. - - * newlist.h: Likewise. - - * linklist.c (list_new): Remove list_init(). To allocate new - linked list, please use list_new(). - (listnode_add): Remove list_add_node(). To add new node to linked - list, please use listnode_add(). - (list_delete_by_val): Revemove fucntion. - -2000-10-16 Nobuaki Tanaka - - * table.c (route_table_free): Reimplement route_table_free(). - -2000-10-11 Kunihiro Ishiguro - - * keychain.c (keychain_get): Register key_delete_func to key - list's delete function. Use linklist.c instead of newlist.c. - -2000-10-04 Akihiro Mizutani - - * filter.c (access_list_remark): Add access-list's remark command. - (no_access_list): "no access-list 100 permit any" error message - bug is fixed. - -2000-10-03 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_SOCKUNION. - -2000-10-02 Kunihiro Ishiguro - - * zebra-0.89 is released. - -2000-10-01 Kunihiro Ishiguro - - * linklist.c (list_add_node_head): Delete unused function. - (list_add_node_tail): Likewise. - -2000-09-26 Kunihiro Ishiguro - - * stream.c (stream_read_unblock): Add new function for unblocking - read. - -2000-09-26 Jochen Friedrich - - * smux.c (smux_register): Fix bug of can't register more than one - MIB with SMUX. - -2000-09-26 Makoto Otsuka - - * vty.c (vty_close): Fix memory leak of sb_buffer. - (vty_new): Likewise. - -2000-09-21 steve@Watt.COM (Steve Watt) - - * log.h: Do not declare zlog_priority[0] variable. - -2000-09-12 Kunihiro Ishiguro - - * linklist.h (struct _list ): Add member cmp for compare function. - (struct _list ): Member up is deleted - -2000-09-12 David Lipovkov - - * if.c: Include RIP_API header when RIP API is enabled. - -2000-09-10 Kunihiro Ishiguro - - * prefix.c (prefix_free): Siplify prefix_free(). - - * keychain.c (key_match_for_accept): strncmp check bug is fixed. - -2000-09-07 Kunihiro Ishiguro - - * zebra.h: Merge roken.h into zebra.h. - -2000-09-05 Akihiro Mizutani - - * routemap.c (route_map_init_vty): Install route-map command to - RMAP_NODE. - -2000-08-22 Kunihiro Ishiguro - - * thread.c (thread_get_id): Remove pthread related garbage. - - * command.h (struct host): Likewise. - - * zebra.h: Likewise. - -2000-08-20 Kunihiro Ishiguro - - * command.h (node_type ): Add AAA node for authentication. - - * vty.c (vty_close): Do not close stdout. - -2000-08-18 Kunihiro Ishiguro - - * vty.c (vty_init_vtysh): Added for vtysh. - - * distribute.c (districute_list_prefix_all): Interface independent - filter can be set. - (distribute_list_all): Likewise. - (config_show_distribute): Display current distribute-list status - for "show ip protocols". - -2000-08-18 Akihiro Mizutani - - * command.c (config_terminal_no_length): no terminal monitor -> - terminal no monitor - (cmd_init): Do not install service_terminal_length_cmd into - ENABLE_NODE. - - * vty.c (terminal_no_monitor): no terminal length -> terminal no - length. - -2000-08-17 Kunihiro Ishiguro - - * zebra-0.88 is released. - -2000-08-17 Magnus Ahltorp - - * vty.h (struct vty ): Add iac_sb_in_progress and sb_buffer for - better IAC handling. - - * vty.c (vty_telnet_option): Change telnet option handling. - -2000-08-15 Gleb Natapov - - * zclient.c (zclient_redistribute_unset): New function added. - -2000-08-14 Kunihiro Ishiguro - - * zclient.c (zebra_interface_add_read): Change ifindex restore - size from two octet to four. - (zebra_interface_state_read): Likewise. - (zebra_interface_address_add_read): Likewise. - -2000-08-13 Kunihiro Ishiguro - - * vty.c (vty_event): Use vector_set_index() instead of - vector_set(). - -2000-08-07 Kunihiro Ishiguro - - * zebra.h (ZEBRA_XXX_DISTANCE_DEFAULT): Define Default - Administrative Distance of each protocol. - -2000-08-07 Matthew Grant - - * if.h (struct interface ): Add new member bandwidth to struct - interface. - - * zclient.c (zebra_interface_add_read): Fetch bandwidth value. - (zebra_interface_state_read): Likewise. - -2000-08-07 Gleb Natapov - - * routemap.c (route_map_event_hook): New hook route_map_event_hook - is added. This hook is called when route-map is changed. The - parameters passed to the hook are 'event' and 'route-map name' - - * routemap.h: Add prototype for route_map_event_hook(). - -2000-08-06 Kunihiro Ishiguro - - * zclient.c (zebra_ipv4_route): zebra_ipv4_route(), - zebra_ipv4_add(), zebra_ipv4_delete() are removed. - - * routemap.c (route_map_empty): Add new function. - (route_map_delete): Use route_map_index_delete() instead of - route_map_index_free(). - (route_map_index_free): Function removed. - -2000-08-06 Gleb Natapov - - * routemap.c (route_map_index_delete): Add check for route-map is - empty or not. - -2000-08-03 Kunihiro Ishiguro - - * zclient.c (zebra_ipv4_add): Change socket arguemnt with struct - zclient. - -2000-08-02 Kunihiro Ishiguro - - * zclient.h (struct zebra): Add obuf for output buffer. - - * if.c: Remove #ifdef NRL enclosing if_nametoindex() and - if_indextoname(). - -2000-08-02 David Lipovkov - - * if.h (IF_PSEUDO_UNSET): IF_PSEUDO related macro added. - (IF_UNKNOWN_SET): IF_UNKNOWN related macro deleted. - - * if.c (interface_pseudo): Add "pseudo" command to interface node. - (no_interface_pseudo): Add "no pseudo" command to interface node. - - * zclient.c (zebra_interface_add_read): Set pseudo flag when it is - send from zebra. - -2000-08-01 Kunihiro Ishiguro - - * zebra.h (ZEBRA_IPV4_NEXTHOP_LOOKUP): Add new message. - (ZEBRA_IPV6_NEXTHOP_LOOKUP): Likewise. - - * vty.c (vty_serv_un): Use AF_UNIX for backward compatibility. - -2000-07-31 Kunihiro Ishiguro - - * vty.c: Use vector for VTY server thread listing instead of - single value. - -2000-07-30 Kunihiro Ishiguro - - * keychain.c (no_key_chain): "no key chain WORD" command is added. - -2000-07-29 Kunihiro Ishiguro - - * command.c (config_from_file): If command fail in - KEYCHAIN_KEY_NODE, down to KEYCHAIN_NODE. - - * vty.h (struct vty ): Add index_sub member. - -2000-07-27 Akihiro Mizutani - - * if.c: Help strings updates. - -2000-07-11 Akihiro Mizutani - - * command.c (no_config_enable_password): Add "no enable password" - command. - (config_write_host): Display password string. - - * routemap.c (route_map_delete_match): Add support for delete - match without argument. - (route_map_delete_set): Likewise. - -2000-07-09 Kunihiro Ishiguro - - * command.h (node_type ): Change KEYCHAIN_NODE and - KEYCHAIN_KEY_NODE place just before INTERFACE_NODE. - -2000-07-09 Jochen Friedrich - - * smux.c (config_write_smux): Fixes the option to override OID and - password for SMUX. - -2000-07-09 Kunihiro Ishiguro - - * command.h (node_type ): Add SMUX_NODE for SMUX configuration. - -2000-07-09 Toshiaki Takada - - * command.c: Sort descvec command's help. - - * vty.c (vty_describe_command): Display '' at the end of - descriptions. - -2000-07-05 Toshiaki Takada - - * command.c (cmd_ipv6_match), (cmd_ipv6_prefix_match): Fix bug - treatment of double colon. - -2000-07-04 Kunihiro Ishiguro - - * zclient.h: Add zclient_redistribute_default_{set,unset}(). - - * keychain.c: New file for authentication key management. - * keychain.h: Likewise. - - * tcpfilter.c: New file for TCP/UDP base filtering using ipfw or - ipchains. - * tcpfilter.h: Likewise. - - * flap.h: New file for route flap dampening. - * flap.c: Likewise. - -2000-07-04 Toshiaki Takada - - * filter.c (struct filter): Add exact flag. - (access_list): Add exact-match command. - (ipv6_access_list): Add exact-match command. - -2000-07-03 Kunihiro Ishiguro - - * zebra.h (ZEBRA_REDISTRIBUTE_DEFAULT_ADD): New message for - request default route. - -2000-07-01 Hideaki YOSHIFUJI ($B5HF#1QL@(B) - - * smux.c: Add IPv6 smux connection code. - -2000-06-15 Kunihiro Ishiguro - - * vty.c (vty_complete_command): To cooperate readline library, - returned string is newly allocated. So some match function case - need, free of memory. - -2000-06-12 Akihiro Mizutani - - * distribute.c: Fix help strings. - -2000-06-11 Kunihiro Ishiguro - - * command.c (cmd_complete_command): Add check for vector_slot - (vline, index) is not NULL when calculating lcd. - (cmd_entry_function): First check variable arguemnt to prevent it - from completion. - -2000-06-10 Kunihiro Ishiguro - - * vty.h (struct vty ): Add output_count member for displaying - output route count. Remove arugment arg from output_func because - the value is passed by vty argument. Change output to output_rn. - Add output_clean function pointer member. Add output_type member. - -2000-06-10 Toshiaki Takada - - * command.c (show_startup_config): Add "show startup-config" - command. - -2000-06-06 Akihiro Mizutani - - * filter.c: Fix help strings. - -2000-06-05 Kunihiro Ishiguro - - * prefix.h (struct prefix_rd): New prefix structure for routing - distinguisher. - (struct prefix): Add padding to every prefix structure. - - - * routemap.c (route_map_add_match): When completely same match - statement exists, don't duplicate it. - -2000-06-05 Akihiro Mizutani - - * routemap.c: Change NAME to WORD. - - * plist.c: Fix help strings. - -2000-06-02 Akihiro Mizutani - - * routemap.c: Fix route-map help strings. - -2000-06-01 Kunihiro Ishiguro - - * command.c (cmd_filter_by_completion): Fix CMD_VARARG treatment - to filter other non vararg commands. - - * routemap.c (route_map_init_vty): Use install_default() for - install common commands into route-map node.. - -2000-06-01 Akihiro Mizutani - - * command.h (OSPF_STR): Macro added. - -2000-05-31 Kunihiro Ishiguro - - * command.c (cmd_complete_command): LCD completion must not modify - installed command string. - - * plist.c (ipv6_prefix_list): Fix wrong syntax definition. Change - X:X::X:X to X:X::X:X/M. - -2000-05-31 Toshiaki Takada - - * vty.c (show_history): New defun added. - -2000-05-30 Kunihiro Ishiguro - - * command.h (CMD_COMPLETE_LIST_MATCH): New define for completion - list. CMD_COMPLETE_MATCH is used for LCD completion. - - * vty.c (vty_complete_command): Matched string's LCD is completed. - - * command.c (cmd_lcd): New function for calculate LCD of matched - strings. - -2000-05-26 Kunihiro Ishiguro - - * command.c (install_default): config_write_terminal_cmd, - config_write_file_cmd, config_write_memory_cmd are added to - default node. - - * memory.c (memory_init): Divide show memory command into each - sort. - - * command.c (cmd_init): config_write_terminal_cmd, - config_write_file_cmd, config_write_memory_cmd are added to - CONFIG_NODE. - - * routemap.c (route_map_index_free): New function. - (no_route_map_all): New DEFUN for "no route-map NAME". - - * filter.c (no_access_list_all): New DEFUN for delete access-list - with NAME. - (no_ipv6_access_list_all): Likewise. - -2000-05-23 Kunihiro Ishiguro - - * plist.c: Change IPV6_PREFIX to X:X::X:X. When "any" is - specified, user can not use "ge" and "le" statement. - -2000-05-22 Thomas Molkenbur - - * routemap.c (route_map_add_set): Fix bug of next pointer missing. - - * table.c (route_table_free): Like wise. - -2000-05-22 Toshiaki Takada - - * vty.c (vty_stop_input): Set history pointer to the latest one. - - * vty.c (vty_hist_add): Do not add command line history when input - is as same as previous one. - -2000-05-14 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_ECOMMUNITY and MTYPE_ECOMMUNITY_VAL. - -2000-05-13 Kunihiro Ishiguro - - * command.h (node_type ): Add BGP_VPNV4_NODE. - -2000-05-08 Kunihiro Ishiguro - - * vty.c (vtysh_accept): Add cast of struct sockaddr * to bind - argument. Reported by: Vesselin Mladenov . - - * filter.c (ipv6_access_list): Add IPv6 prefix example instead of - IPv4 example. Reported by: Love . - - * command.c (cmd_complete_command): Make it sure last element of - matchvec is NULL. This fix problem which cause crush in - vty_complete_command(). Reported by: JINMEI Tatuya - . - -2000-04-28 Love - - * prefix.h (struct prefix): Add padding. - -2000-04-28 Kunihiro Ishiguro - - * command.c (show_version): Update copyright year. - -2000-04-27 Kunihiro Ishiguro - - * routemap.c (route_map_apply): When map is NULL, return deny. - -2000-04-26 Kunihiro Ishiguro - - * filter.c (access_list_apply): When access is NULL, return deny. - - * plist.c (prefix_list_apply): When plist is NULL, return deny. - -2000-04-23 Kunihiro Ishiguro - - * command.h (node_type ): Change RDISC_NODE to IRDP_NODE. - -2000-04-18 Toshiaki Takada - - * filter.[ch] (access_list_add_hook), (access_list_delete_hook): - Add argument for hook function to give struct access_list *. - -2000-04-17 Kunihiro Ishiguro - - * plist.c (prefix_list_entry_match): In case of le nor ge is - specified, exact match is performed. - (prefix_list_entry_match): Add any entry matching check. - -2000-04-09 Kunihiro Ishiguro - - * vty.c (exec_timeout): Separate timeout setting to minutes and - seconds. - (no_exec_timeout): Add "no exec-timeout" command. - - * vty.h (VTY_TIMEOUT_DEFAULT): Change default value from 300 to - 600. - -2000-03-31 Jochen Friedrich - - * smux.h (SMUX_CLOSE): The SMUX_CLOSE PDU is implicit integer, so - it is a primitive encoding and not constructed. - -2000-03-28 Toshiaki Takada - - * memory.[ch] (enum): Add MTYPE_OSPF_EXTERNAL_INFO. - -2000-03-26 Love - - * zclient.c (zclient_read): Add nbytes size check for - ZEBRA_HEADER_SIZE. Check return value of steam_read (). - -2000-03-26 Rick Payne - - * routemap.c: Add flexible route-map commands such as on-match - next, on-match goto N. - - * routemap.h: Likewise - -2000-03-23 Adrian Bool - - * command.c (config_log_trap): Add new command "log trap - PRIORITY". - -2000-03-14 Toshiaki Takada - - * memory.c (struct memory_list): Add Link List and Link Node - to view. - - * memory.h (enum): Remove MTYPE_OSPF_EXTERNAL_ROUTE. - -2000-01-20 Hideto Yamakawa - - * str.c (snprintf): Fix bug of calling sprintf instead of - vsprintf. - -2000-01-16 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_RIP_PEER. - -2000-01-15 Toshiaki Takada - - * memory.h (enum): Add MTYPE_OSPF_CRYPT_KEY. - -2000-01-15 Kunihiro Ishiguro - - * command.h (node_type ): Add MASC_NODE for masc. - -2000-01-09 Wang Jianliang - - * routemap.c (route_map_index_add): When route_map_index is not - empty and insert new item at the head, it can cause core dump. - Fix "if (index == map->head)" to "if (point == map->head). - (route_map_add_set): If there is an old set command, override old - set command with new one. - (route_map_index_delete): Use while() instead of for for() for - logical correctness. - -1999-12-26 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_BGP_STATIC. - -1999-12-23 Alex Zinin - * zebra.h, zclient.*: dynamic int up/down message - support - -1999-12-10 Kunihiro Ishiguro - - * thread.c (thread_cancel_event): Add a function for clean up - events. - -1999-12-09 Kunihiro Ishiguro - - * dropline.c: Delete file. - dropline.h: Linewise. - -1999-12-14 Kunihiro Ishiguro - - * filter.c (access_list_filter_delete): Wrong pointer - access->master was pointed out after access is freed. I store - master value at the beginning of the function. - -1999-12-08 Kunihiro Ishiguro - - * vty.c (exec_timeout): Change of VTY timeout affect to current - VTY connection. - (vty_accept): Instead of immediate exit() return -1. - -1999-12-07 Kunihiro Ishiguro - - * vty.c (vty_configure_lock): Configuration lock function added. - Only one VTY can use CONFI_NODE at the same time. - - * log.c: Delete zvlog_* functions. Now zlog_* does the same - thing. - - * log.c (log_init): Function removed. - (log_close): Likewise. - (log_flush): Likewise. - (log_open): Likewise. - - * vty.c (terminal_monitor): Add new command. - (no_terminal_monitor): Likewise. - - * log.c (old_log): Function removed. - (old_log2): Likewise. - (old_log_warn): Likewise. - -1999-12-04 Toshiaki Takada - - * command.c (cmd_ipv6_match): New function added. - (cmd_ipv6_prefix_match): Likewise. - -1999-12-04 Kunihiro Ishiguro - - * command.c (cmd_ipv6_match): - - * table.c: Delete #ifdef HAVE_MBGPV4. - - * prefix.h (struct prefix): Add safi member. - (struct prefix_ipv4): Likewise. - (struct prefix_ipv6): Likewise. - -1999-12-04 Rumen Svobodnikov - - * memory.c (struct mstat): Revert to support MEMORY_LOG. - -1999-11-25 Kunihiro Ishiguro - - * version.h: Bump up to 0.81c for testing new kernel codes. - -1999-11-21 Kunihiro Ishiguro - - * thread.h (struct thread): Pthread support is disabled all - platform. - -1999-11-21 Michael Handler - - * Include and under SUNOS_5. - -1999-11-21 Kunihiro Ishiguro - - * sockunion.c (in6addr_cmp): Enclosed by #define HAVE_IPV6 -1999-11-13 Kunihiro Ishiguro - - * command.h (node_type ): Add BGP_IPV4_NODE and BGP_IPV6_NODE. - -1999-11-12 Kunihiro Ishiguro - - * command.c (disable): Add `disable' command. - -1999-11-09 Kunihiro Ishiguro - - * plist.c (vty_prefix_list_install): Add any check. - -1999-11-04 Kunihiro Ishiguro - - * command.h (node_type ): Add DUMP_NODE. - -1999-11-03 Kunihiro Ishiguro - - * smux.c: Change default SMUX oid to compatible with gated. - -1999-10-30 Kunihiro Ishiguro - - * if_rmap.c: New file added. - - * if_rmap.h: New file added. - -1999-10-29 Alex Zinin - - * hash.c: add hash_free() function - -1999-10-25 Kunihiro Ishiguro - - * hash.c (hash_clean): Add clean function. - - * plist.c (prefix_list_reset): Add reset function. - - * filter.c (access_list_reset): Add reset function. - -1999-10-17 Kunihiro Ishiguro - - * client.c: Merged with zclient.c. - * client.h: Merged with zclient.h. - -1999-10-15 Jordan Mendelson - - * md5.c: Imported from GNU C Library. - * md5-gnu.h: Likewise. - -1999-10-15 Jochen Friedrich - - * smux.c (smux_getresp_send): SMUX_GETRSP codes improvement. - -1999-10-06 Kunihiro Ishiguro - - * smux.h: New file added. - - * snmp.c: Rename to smux.c. - -1999-10-02 Kunihiro Ishiguro - - * command.c (cmd_execute_command_strict): Filter ambious commands. - (cmd_filter_by_string): Change to return enum match_type. - -1999-10-01 Toshiaki Takada - - * vty.c (vty_describe_fold): New function which does VTY - description line fold. - * vty.c (vty_describe_command): Set description column. - -1999-09-30 Kunihiro Ishiguro - - * plist.c (prefix_list_init_ipv4): VTY user interface is improved. - -1999-09-26 Kunihiro Ishiguro - - * command.c (cmd_filter_by_string): Fix bug of CMD_IPV4 and - CMD_IPV4_PREFIX check. Both return type must be exact_match. - -1999-09-24 Toshiaki Takada - - * command.c (cmd_filter_by_completion), - (is_cmd_ambiguous): Check IPv4 address, IPv4 prefix and range - parameter matches range. - -1999-09-22 Kunihiro Ishiguro - - * routemap.c (route_map_apply): Returm RM_DENYMATCH when no match - is performed. - -1999-09-21 Kunihiro Ishiguro - - * vty.c (vty_read): Control-C stop VTY_MORE mode. - -1999-09-20 Kunihiro Ishiguro - - * command.h (node_type ): Add ACCESS_IPV6_NODE and - PREFIX_IPV6_NODE. - - * distribute.h: New file added. - - * command.h (node_type ): Delete DISTRIBUTE_NODE. - -1999-09-18 Kunihiro Ishiguro - - * vty.c (vty_terminate_all): New function added for reload - support. - -1999-09-06 Kunihiro Ishiguro - - * memory.h (enum): Add new type MTYPE_OSPF_EXTERNAL_ROUTE. - -1999-08-31 Janos Farkas - - * vty.c (vty_read): Handle also 0x7f (alt-backspace), just like - esc-ctrl-h (delete word backwards). - -1999-08-24 Kunihiro Ishiguro - - * if.h: Add if_nametoindex for NRL. - -1999-08-23 Kunihiro Ishiguro - - * if.c (if_create): New function. - -1999-08-22 Kunihiro Ishiguro - - * snmp.c: New file. - -1999-08-21 Kunihiro Ishiguro - - * stream.c (stream_put): stream_memcpy () is changed to stream_put - (). stream_get () is added. - -1999-08-18 Toshiaki Takada - - * memory.h (enum): Add MTYPE_OSPF_LSA_DATA. - -1999-08-18 Yasuhiro Ohara - - * table.c (route_table_finish): add function frees table. - -1999-08-12 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_RTADV_PREFIX. - -1999-08-11 Kunihiro Ishiguro - - * if.h (struct interface ): hw_address, hw_address_len added. - -1999-08-10 Kunihiro Ishiguro - - * if.h (struct interface ): Change structure member if_data to - info, index to ifindex. - -1999-08-08 Rick Payne - - * routemap.c: Multi protocol route-map modification. - - * routemap.c (route_map_apply): Route match process bug is fixed. - -1999-08-05 Kunihiro Ishiguro - - * thread.c (thread_fetch): When signal comes, goto retry point. - -1999-08-04 Kunihiro Ishiguro - - * Makefile.am: Add sockopt.c and sockopt.h - * sockopt.c: New file. - * sockopt.h: New file. - -1999-08-02 Kunihiro Ishiguro - - * version.h (ZEBRA_VERSION): Release zebra-0.75 - -1999-08-01 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_RIPNG_AGGREGATE. - -1999-07-31 Kunihiro Ishiguro - - * sockunion.h: Add sockunion_getpeername (). - -1999-07-27 Kunihiro Ishiguro - - * version.h: Release zebra-0.74 - -1999-07-26 Kunihiro Ishiguro - - * command.h (struct host): Delete lines from struct host. Add - lines to struct vty. - - * command.c: Delete `lines LINES'. Terminal display line settings - should be done by `terminal length' command. - -1999-07-24 Kunihiro Ishiguro - - * memory.h (enum): MTYPE_OSPF_PATH are added. - -1999-07-22 Toshiaki Takada - - * memory.h (enum): MTYPE_OSPF_NEXTHOP is added. - -1999-07-21 Toshiaki Takada - - * linklist.c (list_add_node_prev), (list_add_node_next), - (list_add_list): New function added. - - * table.c (route_table_free): New function added. - -1999-07-21 Kunihiro Ishiguro - - * plist.c (config_write_prefix): Set write flag when configuration - is written. - -1999-07-15 Yasuhiro Ohara - - * prefix.c : prefix_cmp() added. change apply_mask() to - apply_mask_ipv4(), and new apply_mask() added. - -1999-07-14 Yasuhiro Ohara - - * prefix.c (prefix2str): append prefixlen. - -1999-07-13 Kunihiro Ishiguro - - * command.c (config_terminal): Change "config terminal" to - "configure terminal". Reported by Georg Hitsch - . - (config_terminal_length): `terminal length <0-512>' is added. At - this moment this command is only usef for vty interface. - Suggested by Georg Hitsch . - -1999-07-12 Kunihiro Ishiguro - - * routemap.c (rulecmp): Add wrapper function of strcmp. - -1999-07-08 Rick Payne - - * sockunion.c (inet_aton): Fix bug of inet_aton. - -1999-07-08 Kunihiro Ishiguro - - * version.h (ZEBRA_VERSION): Start zebra-0.73 - -1999-07-06 Kunihiro Ishiguro - - * version.h: Bump up to 0.72. - -1999-07-05 Kunihiro Ishiguro - - * command.c (install_default): New function for install default - commands to the node. - - * memory.h (enum): MTYPE_NEXTHOP is added. - -1999-07-01 - - * command.c (no_banner_motd): `no banner motd' command added. - -1999-06-30 Kunihiro Ishiguro - - * regex.c: Update to glibc-2.1.1's posix/regex.c - - * regex-gnu.h: Update to glibc-2.1.1's posix/regex.h - - * prefix.h (IPV4_ADDR_SAME): Macro added. - (IPV6_ADDR_SAME): Likewise. - -1999-06-29 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_OSPF_VERTEX - - * version.h: Bump up to 0.71. - - * vty.c (vty_serv_sock_addrinfo): Use addrinfo function to bind - VTY socket when IPv6 is enabled. - -1999-06-28 Kunihiro Ishiguro - - * vty.c (vty_serv_sock): Change vty_serv_sock determine which - address family to bind. - - * command.c: Add quit command. - -1999-06-26 NOGUCHI kay - - * vty.c (vty_read_config): Fix bug of configuration file path - detection. - -1999-06-25 Kunihiro Ishiguro - - * version.h: Bump up to 0.70. - -1999-06-17 Kunihiro Ishiguro - - * buffer.h (GETL): Remove GETL macro. - - * version.h: Bump up to 0.69. - -1999-06-14 Kunihiro Ishiguro - - * if.c (connected_add): Commented out connected_log. - -1999-06-13 Kunihiro Ishiguro - - * command.h (struct cmd_element ): strvec and descvec is combined - into newstrvec. - - * command.c (desc_make): Function removed. - (desc_next): Function removed. - - * command.h (struct cmd_element ): docvec is removed from struct - cmd_element. - -1999-06-12 Kunihiro Ishiguro - - * command.c (cmd_execute_command): Remove command NULL check. - - * command.h (struct cmd_element ): Add newstrvec entry to struct - cmd_element. - (DEFUN2): DEFUN2 macro is removed. DEFUN is extended to support - (a|b|c) statement. - (DESC): DESC macro is removed. - - * vty.c (vty_complete_command): When return value is - CMD_ERR_NO_MATCH, don't display error message. - -1999-06-08 Kunihiro Ishiguro - - * table.c (route_next_until): New function. - - * version.h: Bump up to 0.68. - -1999-06-06 Kunihiro Ishiguro - - * vty.c (vty_close): Free vty->buf when vty is closed. - - * memory.h (enum): Add MTYPE_COMMUNITY_ENTRY and - MTYPE_COMMUNITY_LIST. - - * vty.h (struct vty ): Change buf from static length buffer to - variable length buffer. - - * vty.c (vty_ensure): New function added. - -1999-06-04 Kunihiro Ishiguro - - * command.h (node_type ): Add COMMUNITY_LIST_NODE. - - * command.c (config_enable_password): Freeing host.enable bug is - fixed. - (config_enable_password): Add argc count check. - -1999-05-31 Kunihiro Ishiguro - - * version.h: Bump up to 0.67. - -1999-05-30 Kunihiro Ishiguro - - * command.c (zencrypt): New function for encrypt password. - - * command.h (struct host): Add password_encrypt and - enable_encrypt. - -1999-05-30 Jochen Friedrich - - * command.h (struct host): New member encrypt is added for - encrypted password. - -1999-05-30 Kunihiro Ishiguro - - * vty.c: Remove all_digit_check function. Instead use all_digit. - - * prefix.c (all_digit): New function for checking string is made - from digit character. - -1999-05-25 Kunihiro Ishiguro - - * Makefile.am (libzebra_a_SOURCES): Add zclient.c. - (noinst_HEADERS): Add zclient.h - - * zclient.[ch]: New file for zebra client routine. - - * memory.h (enum): Add MTYPE_ZEBRA. - -1999-05-19 Kunihiro Ishiguro - - * version.h (ZEBRA_VERSION): Update to 0.66. - -1999-05-15 Kunihiro Ishiguro - - * buffer.h (GETC,GETW): Macro deleted. - -1999-05-15 Carlos Alberto Barcenilla - - * prefix.h (IPV4_NET0, IPV4_NET127): Macro added. - -1999-05-15 Kunihiro Ishiguro - - * vty.c (service_advanced_vty): New command added. - (no_service_advanced_vty): Likewise. - -1999-05-14 Kunihiro Ishiguro - - * vty.c (vty_auth): If advanced flag is set and enable password is - not set, directly login to the ENABLE_NODE. This feature is - originally designed and implemented by Stephen R. van den Berg - . - - * command.h (host): Add advanced flag to struct host for advanced - vty terminal interface. - - * version.h (ZEBRA_VERSION): Update to 0.65 for next beta release. - -1999-05-14 Stephen R. van den Berg - - * command.h (node_type ): Add TABLE_NODE. - - * vty.c (vty_telnet_option): Check host.lines value. - - * command.c (config_lines): DEFUN for 'lines LINES' command. - - * zebra.h: Include for uname(). - (RT_TABLE_MAIN): Defined as 0 if OS does not support multiple - routing table. - - * vty.c (vty_auth): Directly login to the ENABLE_NODE when enable - password is not set. - (vty_prompt): Get machine's hostname when hostname is not set. - -1999-05-11 James Willard - - * command.c (config_exit): Close connection when `exit' command is - executed at ENABLE_NODE. - -1999-05-10 Kunihiro Ishiguro - - * vty.c (vty_stop_input): `C-c' key change node to ENABLE_NODE. - - * command.c (cmd_execute_command_strict): Matched command size - check added. - (cmd_make_desc_line): New function for DEFUN2. - - * command.h (struct cmd_element ): Add descsize. - -1999-05-09 Kunihiro Ishiguro - - * command.h (struct cmd_element ): Remame descvec to docvec. - (struct cmd_element ): Add descvec for new description system. - - * command.c (desc_make): Check cmd->descvec. - -1999-05-06 Kunihiro Ishiguro - - * memory.h (enum): Add MTYPE_CLUSTER, MTYPE_CLUSTER_VAL. - -1999-05-05 Kunihiro Ishiguro - - * version.h (ZEBRA_VERSION): Bump up to 0.64 for next beta - release. - -1999-05-04 Yasuhiro Ohara - - * linklist.c (list_delete_all_node): bug fix. - previous code loses current position when node - is deleted. - -1999-05-03 Kunihiro Ishiguro - - * command.h (DESC): Macro added. - (struct cmd_element2): Delete struct cmd_element2. - - * plist.c (prefix_list): Sequential number option check is added. - -1999-05-02 Yasuhiro Ohara - - * log.c (zvlog_{debug,info,notice,warn,err}): have been - added. now we can log both console and file, but still - need some fix about config write. - -1999-05-02 Kunihiro Ishiguro - - * log.c (zvlog_debug): Fix yasu's change. - -1999-05-01 Kunihiro Ishiguro - - * plist.c (prefix_list): Fix typo. - -1999-04-30 Kunihiro Ishiguro - - * Set version to 0.63 for first beta package. - -1999-04-27 Carlos Barcenilla - - * prefix.c (str2prefix_ipv4): Fix prefix length check. - (str2prefix_ipv6): Likewise. - -1999-04-25 Kunihiro Ishiguro - - * memory.h (enum): Add MTPYE_PREFIX_LIST and - MTYPE_PREFIX_LIST_ENTRY. - - * command.h (node_type ): Add PREFIX_NODE. - -1999-04-25 Carlos Barcenilla - - * command.c: ALIAS (config_write_memory_cmd) and ALIAS - (copy_runningconfig_startupconfig_cmd) is added. - - * table.c (route_node_lookup): Unused match variable deletion. - -1999-04-24 Kunihiro Ishiguro - - * Makefile.am (libzebra_a_SOURCES): plist.c added. - (noinst_HEADERS): plist.h added. - - * plist.c, plist.h: New file added. - - * memory.h (enum): Rename MTYPE_AS_PASN to MTYPE_AS_STR. - * memory.c: Likewise. - -1999-04-19 Carlos Alberto Barcenilla - - * command.c (show_version): `show version' command added. - -1999-04-19 Kunihiro Ishiguro - - * prefix.c (str2prefix_ipv6): Prefix length overflow check. - -1999-04-19 Carlos Alberto Barcenilla - - * prefix.c (str2prefix_ipv4): Prefix length overflow check. - -1999-04-19 Alex Bligh - - * prefix.c (sockunion2hostprefix): Function added. - (sockunion2prefix): Address family was not set. Now it is set. - - * vty.c: VTY access-class command is added. - -1999-04-18 Kunihiro Ishiguro - - * memory.c: Change xmalloc to zmalloc. xcalloc, xrealloc, xfree, - xstrdup are likewise. - -1999-04-18 Yasuhiro Ohara - - * thread.c: Add thread_execute for other routing daemon. - OSPF tasks need to be generated by "sheduled" and "executed". - -1999-04-13 Kunihiro Ishiguro - - * buffer.c: Rewrite buffer_write and buffer_flush related - functions for fixing bugs. Reason of the problem and fix is - suggested by Alex Bligh . - -1999-04-12 Alex Bligh - - * command.c (cmd_entry_function_descr): Added for variable - argument help display. - -1999-04-07 Kunihiro Ishiguro - - * regex.c, regex-gnu.h: Imported from GNU sed-3.02 distribution. - -1999-03-24 Kunihiro Ishiguro - - * stream.c: stream_fifo_free bug is fixed. - -1999-03-19 Toshiaki Takada - - * stream.c (stream_strncpy): Added for getting any length bytes - from stream. - -1999-03-16 Kunihiro Ishiguro - - * version.h (ZEBRA_BUG_ADDRESS): New macro added. - -1999-03-14 Kunihiro Ishiguro - - * buffer.c (buffer_flush_window): If ep is same as buffer's size - length and lp is overrun one octet. - -1999-03-13 Kunihiro Ishiguro - - * vty.h: add VTY's timeout function. - -1999-03-05 - - * command.h (node_type ): Add OSPF6_node. - -1999-03-04 Kunihiro Ishiguro - - * zebra.h: Check HAVE_SYS_SELECT_H when include - -1999-03-03 Jeroen Ruigrok/Asmodai - - * zebra.h: Include if it exists. - -1999-03-02 Kunihiro Ishiguro - - * getopt.[ch],getopt1.c: Sync with glibc-2.1. - - * log.c (zlog): Tempolary ZLOG_STDOUT feature added. - - * command.h: Include vector.h and vty.h - -1999-02-25 Kunihiro Ishiguro - - * routemap.h (struct route_map_rule_cmd): Add prefix arguemnt. - - * routemap.c (route_map_apply_index): Add prefix argument. - (route_map_apply): Likewise. - - * memory.h (enum): Add MTYPE_ROUTE_MAP_COMPILED. - - * stream.c: Add stream_fifo related functions. - -1999-02-24 Kunihiro Ishiguro - - * daemon.c: Return integer value. File descriptor close is added. - - * memory.h (enum): add MTYPE_OSPF_LSA. - -1999-02-23 Kunihiro Ishiguro - - * rsh.c: Remove empty file. - -1999-02-22 - - * routemap.c: Add add/delete hook to route_map_master. - -1999-02-19 Peter Galbavy - - * str.[ch] added to supply wrappers for snprintf(), strlcat() and - strlcpy on system without these. - -1999-02-18 Peter Galbavy - - * syslog support added - -1999-02-02 Kunihiro Ishiguro - - * filter.c (access_list_add_hook): added for hook function management. - * filter.c (access_list_delete_hook): Likewise. - -1999-01-19 Kunihiro Ishiguro - - * stream.c: New file. - * stream.h: New file. - * Divide stream related fucntions from buffer.[ch] into stream.[ch]. - -1999-01-14 Kunihiro Ishiguro - - * memory.h (enum): add MTYPE_STREAM, MTYPE_STREAM_DATA - - * buffer.c (stream_new): Set MTYPE_STREAM to XMALLOC argument. - -1998-12-23 Kunihiro Ishiguro - - * routemap.c: route_map_index_delete() added. - -1998-12-22 Kunihiro Ishiguro - - * buffer.c (buffer_empty): check cp instead of sp. - -1998-12-17 Kunihiro Ishiguro - - * radix.[ch]: Deleted. - -1998-12-15 Magnus Ahltorp - - * buffer.c: Prototype fixes. - * prefix.c: Likewise. - * sockunion.c: Likewise. - * sockunion.h: Likewise. - -1998-12-14 Kunihiro Ishiguro - - * vty.c (vty_read): DELETE key works as vty_delete_char. - -1998-12-13 Kunihiro Ishiguro - - * log.c (time_print): chane %y to %Y. - -1998-12-10 Kunihiro Ishiguro - - * distribute.c: new file. - -1998-12-09 Kunihiro Ishiguro - - * filter.c: Remove all of struct prefix_{ipv4,ipv6} and add - complete support of IPv6 access list. - - * command.c (config_write_element): function delete. - (config_write_host): function add. password and enable password - isn't printed to vty interface. - -1998-12-08 Kunihiro Ishiguro - - * filter.c: Change prefix_ipv4 to prefix and add support of - prefix_ipv6 filtering. - -1998-12-07 Kunihiro Ishiguro - - * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6 inet6-apps - header includes. - -1998-12-05 Kunihiro Ishiguro - - * log.c (log_flush): fix function name typo. - -1998-12-04 Yasuhiro Ohara - - * memory.h: OSPF memory type is added. - -1998-11-15 Kunihiro Ishiguro - - * command.c (sort_node): add sort_node() for pretty printing of - command on vty interface. - (config_password): delete the restriction of charaster of password - string. - -1998-09-05 Kunihiro Ishiguro - - * prefix.c (prefix_ipv4_any): add prefix_ipv4_any(). - -1998-08-25 Kunihiro Ishiguro - - * network.h: New file. - -1998-08-24 Kunihiro Ishiguro - - * vty.c (vty_will_echo): function name change from vty_off_echo. - -1998-08-18 Kunihiro Ishiguro - - * buffer.h: add PUTC,PUTW,PUTL macros. - -1998-07-22 Kunihiro Ishiguro - - * route.[ch]: renamed to prefix.[ch] - -1998-06-09 Kunihiro Ishiguro - - * prefix_in, prefix_in6 is replaced by prefix_ipv4, prefix_ipv6. - - * Makefile.am: @INCLUDES@ is deleted from INCLUDES. - -1998-06-07 Kunihiro Ishiguro - - * host.[ch]: merged with command.[ch] - -1998-05-08 Kunihiro Ishiguro - - * Makefile.am (libzebra_a_SOURCES): add route.c to libzebra_a_SOURCES. - -1998-05-07 Kunihiro Ishiguro - - * route.c (str2prefix): str2prefix () is gone. - -1998-05-03 Kunihiro Ishiguro - - * vty.c (vty_read_config): change CONDIR to SYSCONFDIR. - - * .cvsignore: add file. - - * memory.c (xerror): add arguent `type' and `size'. - - * socket.c: deleted. - -1998-05-02 Kunihiro Ishiguro - - * vector.c: malloc,free,realloc -> XMALLOC,XFREE,XREALLOC. - * linklist.c: same as above. - -1998-04-30 Kunihiro Ishiguro - - * filter.[ch]: added. - -1998-04-01 Kunihiro Ishiguro - - * vty.c (config_who): return CMD_SUCCESS - -1998-04-01 Jochen Friedrich - - * table.c (route_dump_node): route_dump_node is IPv6 specific - function so move #ifdef to the end of route_dump_node (). - -1998-03-05 "Hannes R. Boehm" - - * if.c: DEFUN(interface_desc) added. - -1998-03-05 Kunihiro Ishiguro - - * if.c: separated from ripd/rip_interface.c - -1998-03-04 Kunihiro Ishiguro - - * thread.[ch] : added. - -1998-02-14 Kunihiro Ishiguro - - * vty.c (vty_delete_char): fix size bug. - (vty_backward_pure_word): function added. - (vty_read): ESC + 'f' perform vty_forward_word. - (vty_read): ESC + 'b' perform vty_backward_word. - -1998-02-11 Kunihiro Ishiguro - - * radix.c (radix_lookup_rt): add mask check. - (radix_delete_duproute): add mask check. - -1998-02-10 Kunihiro Ishiguro - - * command.c (config_write_file): fix vty -> file_vty. - -1998-02-06 Kunihiro Ishiguro - - * command.c (cmd_filter_ambiguous): add complex type treatment. - -1998-02-05 Kunihiro Ishiguro - - * vty.c (vty_time_print): function added. - (vty_complete_command): now [...] element isn't shown by completion. - -1998-01-26 Kunihiro Ishiguro - - * command.c : change from cmd_install_node() to install_node(). - -1998-01-16 Kunihiro Ishiguro - - * route.[ch]: struct rt{} is replaced by struct prefix{}. - -1998-01-06 Kunihiro Ishiguro - - * command.c (cmd_execute_command): check command length. - - * timer.c (zebra_timer_set): add zebra_timer_set. - -1998-01-05 Kunihiro Ishiguro - - * command.h (node_type ): add ZEBRA_NODE. - - * command.c (config_exit): add RIP_NODE. - (config_write_file): add RIP_NODE. - -1998-01-04 Kunihiro Ishiguro - - * print_version.c (print_version): Now Copyright is 1996-1998. - - * sockunion.c (sockunion_log): moved from ../zebra/route.c - -1997-12-30 Kunihiro Ishiguro - - * host.c (config_logfile): change 'log PATH' to 'logfile PATH'. - - * sockunion.c (sockunion_sameprefix): add same prefix for - sockunion. - -1997-12-29 Kunihiro Ishiguro - - * radix.[ch] : are moved from ../zebra directroy. - - * command.c (config_from_file): if command execution failed down - level to CONFIG_NODE. - - * host.c: config_log function which enable 'log FILENAME' command. - -1997-12-23 Kunihiro Ishiguro - - * vty.c: add vty_transpose_chars (). Now you can use '^T' to - transpose character. - - * command.c: cmd_cmdsize add, this is useful to check incomplete - command. - -1997-12-07 Kunihiro Ishiguro - - * fd.h: add family for address family - -1997-12-06 Kunihiro Ishiguro - - * command.o - * vty.o - * host.o is moved from ../zebra - -1997-08-14 Kunihiro Ishiguro - - * make library directory. - diff --git a/m4/ChangeLog b/m4/ChangeLog deleted file mode 100644 index 0a60d6ab..00000000 --- a/m4/ChangeLog +++ /dev/null @@ -1,16 +0,0 @@ -2007-02-02 Greg Troxel > - - * Makefile.am: remove all the m4 files; they are crufty (2004) and - quagga CVS users should have newer libtool by now. - -2004-08-31 Greg Troxel - - * Makefile.am (EXTRA_DIST): New - just has EXTRA_DIST. (Using a - directory in EXTRA_DIST in the parent was causing 'make dist' to fail.) - -2004-08-19 Paul Jakma - - * *.m4: import of libtool CVS m4 autoconf files. These only - configure libtool support for languages where configure has - already called AC_PROG_, less fragile. - * README.txt: doc file for contents of this directory. diff --git a/ospf6d/ChangeLog b/ospf6d/ChangeLog deleted file mode 100644 index f4ad9283..00000000 --- a/ospf6d/ChangeLog +++ /dev/null @@ -1,1199 +0,0 @@ -2007-10-22 Phil Spagnolo - - * ospf6_asbr.c: (ospf6_asbr_lsentry_remove) Remove shortcut - of LSDB search - it's based on assumption non-BEST routes - can't have ASBR routes, which appears to be wrong. Safest to - search. - -2007-06-07 Pavol Rusnak - - * ospf6_lsa.c: (no_debug_ospf6_lsa_hex_cmd) Fix bug: must use strcmp - to compare strings. - -2007-04-27 Andrew J. Schorr - - * ospf6_snmp.c: (ospfv3AreaEntry, ospfv3AreaLsdbEntry) Fix some - zlog_debug printf formats to work with 64-bit size_t. - -2007-03-08 David Siebörger d.sieborger@ru.ac.za - - * ospf6_neighbor.c: (ospf6_neighbor_show) Fix bug #322, ospf6d - wasn't updated to match thread times changing to relative - time. - -2007-02-27 Pavol Rusnak - - * ospf6_lsa.c: (ospf6_lsa_handler_name) Fix bug: must use strcmp - to compare strings. - -2007-02-02 Greg Troxel > - - * ospf6d.h: remove declaration of errno (should be via header) - -2006-03-01 Yasuhiro Ohara - - * ospf6_asbr.c: fix bug of needless forwarding address - * ospf6d.h: version 0.9.7r - -2006-02-22 Yasuhiro Ohara - - * valgrind check and memory fix - * route table identification string added - * ospf6d.h: version 0.9.7q - -2005-10-20 Yasuhiro Ohara - - * ospf6_neighbor.c: add the calling of ospf6_maxage_remove () - when the neighbor went out of Exchange/Loading. - -2005-10-06 Yasuhiro Ohara - - * ospf6_asbr.c: fix bug of calculating AS-External routes - in other areas. Add debugging function for border-router - calculation. - * ospf6d.h: version 0.9.7p - -2005-10-01 Andrew J. Schorr - - * ospf6_asbr.c: Remove local hard-coded tables zroute_name and - zroute_abname. Change the ZROUTE_NAME macro to use new library - function zebra_route_string(). Remove the ZROUTE_ABNAME macro. - (ospf6_asbr_external_route_show): Replace ZROUTE_ABNAME() with - a call to zebra_route_char(), and be sure to fix the format string, - since we now have a char instead of a char *. - * ospf6_zebra.c: Remove local hard-coded tables zebra_route_name and - zebra_route_abname. Note that the zebra_route_name[] table - contained mixed-case strings, whereas the zebra_route_string() - function returns lower-case strings. - (ospf6_zebra_read_ipv6): Change debug message to use new library - function zebra_route_string() instead of zebra_route_name[]. - (show_zebra): Use new library function zebra_route_string() instead - of zebra_route_name[]. - -2005-08-09 Paul Jakma - - * ospf6_asbr.c: (ospf6_asbr_redistribute_add) Fix sense of testing - of route_map_apply return code, it can return many things other - than RMAP_MATCH which do not indicate DENY. Should test explicitly - for equality to RMAP_DENYMATCH instead. - -2005-06-24 Harald Welte - - * ospf6_abr.[ch], ospf6_area.[ch]: Add area filter-list (in|out) - support and area import and export lists support. - -2005-06-24 Yasuhiro Ohara - - * ospf6_message.c: Changed to be insensitive to changes of neighbors' - IP source address in the OSPF packets. It was sometimes problematic - in actual operation (needed some operational cost: restarting - all-neighbor routers when I/F NIC was changed). Due to this change, - a previously safe case, attaching multiple interface to the same - link will now be dengerous and will not work. Remedy to that should - be applied later. - -2005-06-24 Yasuhiro Ohara - - * ospf6_interface.c: fix the way inactivity_timer is called. Because - inactivity_timer() deletes the neighbor from the neighbor_list, it - cannot be called by thread_execute() from inner side of the - neighbor_list for-loop. - -2005-05-31 Hasso Tepper - - * ospf6d.c: No need for double ';'. Fixes parsing "show ipv6 ospf6 - database ..." commands for vtysh by extract.pl. Remove duplicate - install_element calls. - -2005-04-11 Andrew J. Schorr - - * ospf6_zebra.c (ospf6_zebra_redistribute, ospf6_zebra_no_redistribute): - Change 2nd arg to zebra_redistribute_send from zclient->sock - to zclient. - -2005-04-07 Paul Jakma - - * (global) Fix up list loops to match changes in lib/linklist, - and some basic auditing of usage. - * 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. - -2005-04-02 Andrew J. Schorr - - * ospf6_interface.[ch]: (ospf6_interface_lookup_by_name) Remove unused - function. - -2005-04-02 Andrew J. Schorr - - * 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. - -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'. - -2005-03-02 Vincent Jardin - - * ospf6_zebra.c: Fix core dump when router-id is provided with - an empty ospf6d.conf file (no context router ospf6) because - ospf6_create has not been called yet. - -2005-01-25 Paul Jakma - - * ospf6_asbr.c: Add "hsls" to the zroute_name const char array. - -2004-12-24 Hasso Tepper - - * *.c: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr - - * ospf6_main.c: (main) The 2nd argument to openzlog has been removed. - Note that stdout logging will no longer be enabled by default when - not running as a daemon. - -2004-12-03 Andrew J. Schorr - - * ospf6_main.c: (sigint,sigterm) Use zlog_notice for termination - message. - (main) Remove commented-out call to pid_output_lock (which should - never be called other than from inside pid_output). And use - zlog_notice to print the startup message, which now includes - the vty port. - -2004-11-26 Hasso Tepper - - * ospf6_snmp.c: Fix compile: listnode -> struct listnode *. - -2004-11-25 Hasso Tepper - - * ospf6_main.c: Make group to run as configurable. - -2004-11-05 Phil Spagnolo - * ospf6_flood.c: When adding a thread to retransmit an lsa after - rxmt_interval, the ospf6d used thread_add_event(). However, - thread_add_event() executes immediately and ignores the delay parameter. - This was causing unnecesary unicast LSU sends. Adding the thread has - been changed to use thread_add_timer() which will expire after delay. - After the fix results appear consistent with expectation. - -2004-10-12 Hasso Tepper - - * ospf6_snmp.c: Remove defaults used to initialize smux connection to - snmpd. Connection is initialized only if smux peer is configured. - -2004-10-11 Hasso Tepper - - * osp6_top.c, ospf6_top.h: Better handling for router-id. If we use - common one, don't output it into configuration - only statically - configured one. - -2004-10-10 Paul Jakma - - * Makefile.am: fix listing of ospf_snmp.c in noinst_HEADERS - * ospf6_route.c: Add const qualifier to various char arrays of - constants. signed/unsigned fixes. - (ospf6_linkstate_table_show) argv is const - * ospf6_snmp.c: listnode typedef is dead. - (ospf6_snmp_init) Take struct thread_master arg, needed for - smux_init. - * ospf6_snmp.h: update ospf6_snmp_init declaration. - * ospf6d.c: (ospf6_init) add const qualifier to sargv, pass master - to ospf_snmp6_init. - * ospf6_asbr.c: const char update. - * ospf6_interface.c: ditto, plus signed/unsigned fixes. - (ipv6_ospf6_cost) Check whether cost fits in u_int32_t and use - strtoul. - * ospf6_intra.c: const char update. Parenthesise expression. - * ospf6_lsa.c: signed/unsigned and const char updates. - * ospf6_proto.c: ditto. - * ospf6_message.c: ditto. - * ospf6_lsdb.c: signed/unsigned update. - * ospf6_main.c: const char update. - * ospf6_neighbor.c: ditto. - * ospf6_spf.c: ditto. - * ospf6_top.c: ditto. - -2004-10-06 Yasuhiro Ohara - - * ospf6_snmp.c: add partial support for SNMP - (i.e. ospfv3AreaLsdbTable). - * OSPFv3-MIB.txt: Net-SNMP translate Unsigned32 range - (0..'FFFFFFFF'h) incorrectly to (0..-1). Those parts for - Unsigned32 range are changed to (0..4294967295). - Also, doubtful 'not-accessible's are changed to read-only. - -2004-10-06 Yasuhiro Ohara - - * ospf6_snmp.[ch], OSPFV3-MIB.txt: start supporting SNMP. - it follows draft-ietf-ospf-ospfv3-mib-08.txt, but change - OSPFv3 tree to {experimental 102} based on - http://www.iana.org/assignments/smi-numbers: - Prefix: iso.org.dod.internet.experimental (1.3.6.1.3.) - 102 OSPFv3 OSPF for IPv6 [Joyal] - -2004-10-03 Hasso Tepper - - * ospf6_zebra.c: Use router id from zebra daemon if it wasn't set in - configuration. - -2004-09-25 Hasso Tepper - - * ospf6_asbr.c, ospf6_lsa.c, ospf6_proto.c, ospf6_proto.h: Fix - compiler warnings. - -2004-09-23 Hasso Tepper - - * *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-13 Yasuhiro Ohara - - * ospf6_intra.c, ospf6_route.[ch]: try to fix assertion failure - in brouter's route_remove - * ospf6d.h: version 0.9.7o - -2004-09-12 Yasuhiro Ohara - - * ospf6_route.c: route_count_assert bug fix - * ospf6d.h: version 0.9.7n - -2004-09-03 Yasuhiro Ohara - - * ospf6_area.c, ospf6_route.c, ospf6_top.c, ospf6d.c: - "show intra-route" function and "show SPF result" function is - changed. - * ospf6_neighbor.c: Changed to update stub intra-prefix origination - when it is not DR. - * ospf6_route.h: resolv conflict between best flag and - active-summary flag. - * ospf6d.h: version 0.9.7m - -2004-09-02 Yasuhiro Ohara - - * ospf6_asbr.c: E-bit check in examining AS-External-LSA - * ospf6_abr.c: E-bit set in receiving Inter-Area-Router-LSA - -2004-09-02 Yasuhiro Ohara - - * *.[ch]: Logging LSAs of particular type is added. - lsa_handler is now using vector in order to adjust - existing LSA modules. - * ospf6d.h: version 0.9.7l - -2004-08-28 Hasso Tepper - - * ospf6_main.c: Modify for sigevents. - -2004-08-26 Hasso Tepper - - * ospf6_interface.c, ospf6_top.c, ospf6d.c: for vtysh. - -2004-08-19 Yasuhiro Ohara - - * ospf6_asbr.c: Bug in ASBR check fixed. - * ospf6d.h: version 0.9.7k - -2004-08-19 Yasuhiro Ohara - - * ospf6_asbr.c: Bug in AS-External Origination fixed. - * ospf6d.h: version 0.9.7j - -2004-08-15 Yasuhiro Ohara - - * *.c: Area support almost done. (almost ! ;p) - * ospf6d.h: version 0.9.7i - -2004-08-15 Yasuhiro Ohara - - * ospf6_message.c: Bug cause BadLSReq is fixed. - * ospf6_abr.c: Border Router check. - * ospf6d.h: version 0.9.7h - -2004-08-14 Yasuhiro Ohara - - * ospf6_area.[ch], ospf6_abr.[ch]: area range, - border-routers, Inter-Area-Router-LSA origination - * ospf6d.h: version 0.9.7g - -2004-08-12 Yasuhiro Ohara - - * *.[c,h]: LSA refreshing is changed and cleaned up. - * ospf6d.h: version 0.9.7f - -2004-08-01 Yasuhiro Ohara - - * ospf6_abr.[ch]: add files for abr function. - * *.c: VTY_NEWLINE -> VNL - * ospf6d.h: version 0.9.7e - show database functions are rewritten. - -2004-07-23 Hasso Tepper - - * ospf6_interface.c, ospf6_zebra.c: use ifp->mtu6 instead of - ifp->mtu. - -2004-07-23 Paul Jakma - - * ospf6_main.c: Delete LOG_PERROR, not portable. - * ospf6_network.c: (ospf6_set_pktinfo) use setsockopt_ipv6_pktinfo - -2004-07-06 Yasuhiro Ohara - - * ospf6_message.c, ospf6_interface.c: add a command to configure - ospf6 ifmtu on a interface. - * ospf6d.h: version 0.9.7d - -2004-05-18 Hasso Tepper - - * *.*: Merge rewritten ospf6d from Zebra repository. - * ospf6_network.c, ospf6_main.c: Merged privs stuff back in. - * ospf6_zebra.c: Sync back to zclient changes. - * ospf6_asbr.c: Added isis to the routings list. - * ospf6_main.c: "version.h" -> - -2004-05-17 Yasuhiro Ohara - - * ospf6_flood.[ch], ospf6_lsa.[ch], ospf6_lsdb.h, ospf6_message.c - ospf6_neighbor.c: Fix crash bug and change the way to count - how many neighbors include paticular LSA on its retrans-list. - * ospf6d.h: version 0.9.7c - -2004-05-03 Yasuhiro Ohara - - * ospf6_message.[ch], ospf6_interface.c: adjust send/recv buffer - size to interface MTUs. - * ospf6d.h: version 0.9.7b - -2003-08-18 Yasuhiro Ohara - - * *.[ch]: rewrite all source code from scratch - * ospf6d.h: version 0.9.7 - -2003-08-11 Taisuke Sasaki - - * ospf6_ism.c: DR Election bug fix. - -2003-04-25 Yasuhiro Ohara - - * ospf6_asbr.c: AS-External LSA refresh was based on the - prefix of the obsolete LSA. It was wrong so fixed. - * version: 0.9.6p - -2002-11-09 Vincent Jardin - - * ospf6_interface.c: update link-local address on interface creation. - -2002-11-09 Yasuhiro Ohara - - * ospf6_asbr.c: apply MinLSInterval to AS-External-LSA origination. - * ospf6_lsa.c: change not to issue flooding caused by expire event - when the received LSA is (already) MaxAge. - * ospf6_spf.c: fix a bug which is that ospf6d calculates - wrong nexthop when failed to find Link-LSA for the neighbor. - * ospf6_damp.c ospf6_dbex.c ospf6_neighbor.c ospf6_spf.c: - some clean up - * version: 0.9.6o - -2002-10-04 Yasuhiro Ohara - - * ospf6_asbr.c: bug of failing ASE lsa refresh fixed. - * version: 0.9.6n - -2002-10-01 Yasuhiro Ohara - - * ospf6_asbr.c: AS-External-LSA origination function - is re-written. - * ospf6_damp.[ch]: New feature that damps flaps is added. - * version: 0.9.6m - -2002-07-14 Yasuhiro Ohara - - * ospf6_spf.c: unwanted assert() in ospf6_spf_nexthop_calculation() - is deleted. - * version: 0.9.6l - -2002-07-14 Yasuhiro Ohara - - * ospf6_dbex.c: bug that ospf6d fails to refresh self-originated - LSA if he have not the LSA before has been fixed. - * ospf6_asbr.c: bug of failing removing ASE LSA when remove - message arrived from zebra has been fixed. - * version: 0.9.6k - -2002-07-13 Yasuhiro Ohara - - * ospf6_zebra.c: bug reported [zebra 14642] fixed. - The bug was related to the synchronization between zebra - and ospf6d. Now synchronization will be correctly done. - * version: 0.9.6j - -2002-07-07 Yasuhiro Ohara - - * ospf6_lsdb.c: bug fixed in ospf6_lsdb_type_router (). - * ospf6_dbex.c: because of retrans list structure changed - due to LSDB change, removal of old instance from retrans-list - is not necessary anymore. this caused crash but now fixed. - * version: 0.9.6i - -2002-07-07 Kunihiro Ishiguro - - * zebra-0.93 released. - -2002-07-07 Yasuhiro Ohara - - * ospf6_lsdb.c: entirely rewritten. now ospf6d uses - radix tree by using lib/table.[ch] for LSDB lookup. - * ospf6_abr.c, ospf6_asbr.c, ospf6_intra.c: hook changed - due to rewriting of lsdb module. - * ospf6_neighbor.c: lack of check existence and find correct - instance of the LSA which is going to be removed from neighbor's - retransmission was filled. - * version: 0.9.6h - -2002-07-07 Yasuhiro Ohara - - * ospf6_intra.c: bug fix for Intra-route deletion. - * ospf6_route.c: bug fix for path comparison. - * version: 0.9.6g - -2002-06-28 Yasuhiro Ohara - - * ospf6_route.c: some logs trying to find the situation - when assert occur are added. route duration statistics - added. - * ospf6_zebra.c: trying to fix the problem reported by - [zebra 14318] but not yet sure. - * version: 0.9.6f - -2002-06-25 Yasuhiro Ohara - - * ospf6_intra.c: new file for management of intra-prefix LSA. - * ospf6_abr.c: inter area route calculation code added. - * version: 0.9.6e - -2002-06-22 Yasuhiro Ohara - - * ospf6_asbr.c: All AS-External route was removed when - one of the ASBR path was gone, but the route from other ASBR - path should stay remained. this bug is fixed. - * version: 0.9.6d - -2002-06-22 Yasuhiro Ohara - - * ospf6_route.c: route table calculation bug fixed. [zebra 14105] - * ospf6_spf.c, ospf6_route.c, etc.: log message cleaned up. - * version: 0.9.6c - -2002-04-27 Yasuhiro Ohara - - * ospf6_route.c: [zebra 13514] bug fix. - thanks to Harald Koch. - * version: 0.9.6b - -2002-04-22 Yasuhiro Ohara - - * ospf6_dump.c: fix bug of log function - * ospf6_area.c: fix bug of intra route deletion - * version: 0.9.6a - -2002-04-20 Yasuhiro Ohara - - * merged with "current" version. - * version: 0.9.6 - -2001-03-11 Yasuhiro Ohara - - * ospf6_lsdb.c ospf6_spf.c: log message changed for debug. - -2001-02-20 Yasuhiro Ohara - - * version: 0.9.5i - - * ospf6_asbr.c: Added code that finds alternative - AS-External route when remove AS-External route. - This is temporary fix ... - - * ospf6_redistribute.c: remove redistributed routes - immediately when 'no redistribute ...' - -2001-02-20 Yasuhiro Ohara - - * version: 0.9.5h - - * ospf6_spf.c, ospf6_lsa.c: Change to originate Link-LSA on - point-to-point links. - - * ospf6_message.c: Bug of log messages of self-originated - Hello packet fixed. - -2001-02-09 Yasuhiro Ohara - - * version: 0.9.5g - * ospf6_asbr.c: fix for the bug that AS-External route - is not get removed. - -2001-02-09 Yasuhiro Ohara - - * ospf6_lsdb.c: crash bug while receiving wrong LSA scope bit - has been temporarily fixed - -2001-12-20 Yasuhiro Ohara - - * ospf6_asbr.[ch]: The byte order bug in encoding/decoding - the bits/metric field in AS-External-LSA fixed. - Fixed to update E-bit in Router-LSA of itself. - Reported by Taisuke Sasaki ([zebra 11548]). - - * README: updated. - - * version: 0.9.5f - -2001-11-21 Yasuhiro Ohara - - * ospf6_prefix.c: Intra-prefix-LSA bug fixed. - * ospf6_abr.[ch]: added (only just placeholder yet) - -2001-11-20 Yasuhiro Ohara - - * ospf6_route.c: fix to overwrite a prefix when another - addition to the prefix is given. freeze function changed - not to remove routes by default. - - * version: 0.9.5e - -2001-11-19 Yasuhiro Ohara - - * version: 0.9.5d - - * ospf6_lsa.c ospf6_spf.c: SPF Calculations are now - scheduled by hook. - - * ospf6_route.c: ospf6_route_add bug fix, - ospf6_route_remove_all corrected. - -2001-11-15 Yasuhiro Ohara - - * ospf6_hook.[ch]: added. - * Almost half of the code has been rewritten. - especially, ospf6_route.[ch]. Hook call has been injected - much. - * ospf6_asbr.[ch]: added. - -2001-10-17 Yasuhiro Ohara - - * ospf6_dbex.c: ospf6d was wrong to omit reoriginating - of LSA when the self-originated LSA was received from others. - fixed. - * ospf6d.h: version: 0.9.5c - -2001-10-16 Yasuhiro Ohara - - * ospf6_lsa.c: 'force-prefix' was not executed. fixed. - * ospf6d.h: version: 0.9.5b - -2001-10-13 Yasuhiro Ohara - - * ospf6_interface.c: 'passive-interface' is now moved to - 'ipv6 ospf6 passive' in INTERFACE NODE. 'prefix-list' which - specifies the filter prefix for connected address prefix also - moved to INTERFACE NODE as 'ipv6 ospf6 advertise prefix-list WORD'. - The old obsoleted commands are still acceptable though. New command - 'ipv6 ospf6 advertise force-prefix' added, which which tells ospf6d - to advertise rather prefix than stub local-address even on loopback - or pointopoint interfaces. - - * ospf6_dump.c: 'ospf6 debug hello' -> 'ospf6 debug message hello'. - same for other message type. The older is still acceptable. - - * ospf6_lsa.c: Changed AS-External generation to new one which uses - LSA hooks. Delete old garbage. - -2001-10-02 Yasuhiro Ohara - - * ospf6d.c: turn off and turn on sequence with - 'no interface' 'interface' cmds was not work. fixed. - - * ospf6_lsa.c: generating Intra-Area-Prefix-LSA for stub - did not care duplicate prefixes. fixed. - -2001-09-07 Yasuhiro Ohara - - * ospf6_message.c: There was a bug that prevent LSDB - to syncronize. It was a DbDesc packet bug that Slave - sends two different DbDesc packet on the same sequence - number. This cause many LSAs are dropped when Exchanging - LSDB, because the latter DbDesc packet that have the same - sequence number will be ignored as duplicate packet. - This seems to be exist at least before 0.9.4 version. - Now this is the most stable candidate. - - * ospf6d.h: version 0.9.5a - -2001-09-06 Yasuhiro Ohara - - * ospf6_zebra.c ospf6_spf.c ospf6_lsa.c : - delete nexthop check to certify the nexthop is Link-local address. - Suppress Link-LSA origination on links other than Broadcast. - SPF's nexthop calculation first checks linklocal address - in Link-LSA, then checks source address of neighbor's packets. - - * ospf6_interface.c ospf6_ism.c ospf6_lsa.c ospf6_nsm.c: - intra-area-prefix-lsa origination func moved to new one. - - * ospf6_interface.h ospf6d.[ch] ospf6_lsa.c: - interface_area_cmd now changed to have 'passive' - and 'prefix-list' option. - - * ospf6_prefix.c: - clean up. - -2001-09-04 Yasuhiro Ohara - - * ospf6_dbex.c ospf6_interface.c ospf6_ism.c ospf6_lsa.[ch]: - clean up and new LSA origination functions added. - - * ospf6_route.c ospf6_lsdb.c: make vty function more - clean/understandable. - - * ospf6d.h: version 0.9.5 - -2001-08-24 Kunihiro Ishiguro - - * ospf6_lsdb.c: Use IS_LSA_MAXAGE macro instead of - ospf6_lsa_is_maxage. - - * ospf6_lsa.h (IS_LSA_MAXAGE): Add new macro to check MaxAge. - -2001-08-21 Yasuhiro Ohara - - * ospf6_lsdb.c: if There's no previous prefix - ospf6d was wrongly not calculate the prefix. - this reported by (v6 16029) is fixed. - - * ospf6_neighbor.c: Instance of LSA Summary included - in DbDesc packet was wrongly freed. The bug cause - malformed DbDesc, ExChange <-> ExStart flapping, - and then crash. - - * ospf6d.h: version 0.9.4 - -2001-08-21 Yasuhiro Ohara - - * ospf6_route.[ch]: Showing format is changed. - 'show ipv6 route ospf6' -> 'show ipv6 ospf6 route' - 'show ipv6 route ospf6 external' -> - 'show ipv6 ospf6 route redistribute' - - * ospf6_lsdb.c ospf6_lsa.c ospf6_neighbor.c ospf6_interface.c: - memory leak in LS list fixed. - - * all: clean up - - * ospf6d.h: version 0.9.3 - -2001-08-20 Kunihiro Ishiguro - - * ospf6d.c (ospf6_timeval_sub_equal): Remove function. - - * ospf6_spf.c (ospf6_timeval_cmp): Rewrite ospf6_timeval_cmp(). - (ospf6_timeval_add_equal): Function moved from ospf6d.c - -2001-08-19 Kunihiro Ishiguro - - * zebra-0.92a released. - -2001-08-15 Kunihiro Ishiguro - - * zebra-0.92 released. - -2001-08-09 Yasuhiro Ohara - - * ospf6_lsdb.c ospf6_neighbor.c: - LSDB function/structure and LS list function has been rewritten. - memory leak has been decreased. - - * ospf6_lsa.[ch] ospf6_dbex.c: garbage code has been deleted. - - * ospf6d.h: version 0.9.2 - -2001-08-07 Yasuhiro Ohara - - * ospf6_dbex.c ospf6_lsdb.c: - Retransmition list had a critical bug that breaks LSDB - synchronization. When new LSA be added to retrans-list, - old must be removed, but it was not. So new LSA dropped, - and LSA Acknowledgement did not work. The bug was fixed. - - * ospf6d.h: version 0.9.1 - -2001-06-20 Yasuhiro Ohara - - * ospf6_spf.c: crash bug fix in temporary treat code for - Router-LSA whose LS-ID != 0 - - * ospf6_dbex.c: RFC2328 13.(4) was wrongly coded. - (4) Else if the LSA's LS age is equal to MaxAge, and there is - currently *NO* instance of the LSA in the router's link state - ... - - * ospf6_lsa.c: RFC2328 13.1 checksum tie breaker - had been neglected, and has just added now. - - * ospf6d.h: version 0.9.0 - ospf6d expected to work with hitachi gr2000 from these fixes. - -2001-06-12 Yasuhiro Ohara - - * ospf6_lsa.c: Fix bug in creating Intra-Area-Prefix-LSA. - DR was mis-include others prefixes advertised by their Link-LSA. - - * ospf6_route.c: Fix bug in calculating intra area routes. - Not all prefixes in Intra-Area-Prefix-LSA was calculated. - - * ospf6_spf.c: - Changed to quit when a error occured in calculating SPF tree. - Very messy hack for the bug reported by [zebra 8807]. This - is not tested yet. - Changed to quit SPF calculation when a nexthop calculation - errors. - - * ospf6_zebra.c: - Support for interface address deletion. - - * ospf6d.h: - version: 0.8.y - -2001-04-18 Yasuhiro Ohara - - * ospf6d.h - Due to previous change (DR Election algorithm changed), - backward compatibility will be lost from this version. - version: 0.8.x - -2001-04-18 Yasuhiro Ohara - - * ospf6_message.c ospf6_ism.c: - Bug of router_id comparison - -2001-04-17 Yasuhiro Ohara - - * ospf6_dbex.c: ospf6_dbex_is_maxage_to_be_dropped() had - some bug causing Loading state lasts long. - version: 0.8.v - -2001-04-08 Yasuhiro Ohara - - * ospf6_route.c: BUG in AS-External route calculation fixed. - It was using OLD LSDB... - Version: 0.8.u- - -2001-04-08 Yasuhiro Ohara - - * ospf6_area.c, ospf6_dbex.c, ospf6_interface.c, - ospf6_lsa.c, ospf6_lsdb.c, ospf6_lsdb.h, ospf6_message.c, - ospf6_neighbor.c, ospf6_neighbor.h, ospf6_nsm.c, - ospf6_redistribute.c, ospf6_route.c, ospf6_spf.c: - Delete old LSDB function. - - * ospf6d.h: - Version: 0.8.u - -2001-04-05 Yasuhiro Ohara - - * ospf6_area.c, ospf6_area.h, ospf6_dbex.c, ospf6_interface.c, - ospf6_interface.h, ospf6_lsa.c, ospf6_lsdb.c, ospf6_lsdb.h, - ospf6_message.c, ospf6_nsm.c, ospf6_redistribute.c, ospf6_route.c, - ospf6_spf.c, ospf6_top.c, ospf6_top.h, ospf6d.h: - Changed to use New LSDB. - Version: 0.8.t - -2001-04-02 Yasuhiro Ohara - - * ospf6_lsa.c: - Interface stub check in Intra-Area-Prefix-LSA origination - was wrong. - fixed. - - * ospf6_area.h, ospf6_dbex.c, ospf6_interface.c, - ospf6_interface.h, ospf6_lsa.c, ospf6_lsa.h, ospf6_lsdb.c, - ospf6_message.c, ospf6_neighbor.c, ospf6_nsm.c, - ospf6_redistribute.c, ospf6_top.c, ospf6_top.h, ospf6d.c: - New LSDB functions, but not changed to be used. - - * ospf6d.h: - Version: 0.8.s - -2001-03-28 Yasuhiro Ohara - - * ospf6_area.c ospf6_area.h ospf6_dbex.c ospf6_dump.c - ospf6_interface.c ospf6_interface.h ospf6_lsa.c - ospf6_message.c ospf6_redistribute.c ospf6_spf.c ospf6_top.c - ospf6_top.h ospf6_zebra.c ospf6d.c ospf6d.h: cleaning. - -2001-03-24 Yasuhiro Ohara - - * ospf6d.h: - version: 0.8.r - - * ospf6_neighbor.[ch], ospf6_lsa.[ch]: - just clean up and log clearify. - - * ospf6_message.[ch]: - Packet receiving function and dumping OSPFv3 packet has been - changed simple and clean. - - * ospf6_dbex.[ch], ospf6_interface.[ch], ospf6_lsdb.[ch], - ospf6_neighbor.[ch], ospf6_nsm.[ch]: - LSList(i.e. summary list, request list, retrans list, etc) have - been rewritten based on new LSDB module. The main LSDB have not - yet shifted to this new module, but will shift eventually. - This change expected to resolve the problem that the ospf6d keeps - on sending redundant LSUpdate/LSAck. - - * ospf6_interface.c: changed default MTU from 1500 to 1280. - It was possible that the ospf6d could not send packet (e.g. - LSUpdate in response to LSReq in my case) when the packet - size accidentally reached near 1500 (I was forget about IP - header :p). It is a bit illegal to set MTU 1280 constantly, - but I failed once with I/F MTU from kernel (through zebra), - and thinks that 1280 is more stable than kernel variable. - Comments will be appriciated. - -2001-03-15 Yasuhiro Ohara - - * ospf6_dbex.c, ospf6_interface.c, ospf6_ism.c, ospf6_lsdb.[ch], - ospf6_neighbor.c, ospf6_spf.c, ospf6d.c: - Fix for crash. ospf6d has ever been crashing when - 'no interface' command executed, and when starting up with - the configuration which does not include 'router ospf6'. - these has been fixed. - -2001-02-24 Yasuhiro Ohara - - * ospf6_lsa.c, ospf6_message.c: - LSA summary (exchanged while Adjacency bring up) may expire - (may reach MaxAge). Handling this has been added but - it's a little bit quick hack. - - * ospf6_message.c: - Thread chain bug fixed. Read network thread chain has been cut - when receive packets on not-enabled interface. this was wrong - and fixed. - -2001-02-24 Yasuhiro Ohara - - * ospf6_message.c: - I/F MTU check part on sending packet had some bug, and it's fixed. - Ospf6d has believed a value from zebra as I/F MTU, but from now - I/F MTU is set to constant 1500. This is workaround for ATM. - -2001-02-01 Kunihiro Ishiguro - - * zebra-0.91 is released. - -2001-01-04 Yasuhiro Ohara - - * just code clean up of almost all module. - * ospf6_dump.c, ospf6_lsa.c: file dependency. - * ospf6_mesg.[ch]: changed filename to ospf6_message.[ch] - -2001-01-09 Kunihiro Ishiguro - - * zebra-0.90 is released. - -2001-01-04 Yasuhiro Ohara - - * ospf6_mesg.c,ospf6_lsa.c: doubly cancel thread bug fixed. - version 0.8.k CRASHed for this. - * ospf6_lsa.c: bug of logging fixed. - version: 0.8.l - -2001-01-04 Yasuhiro Ohara - - * ospf6_neighbor.c: fix typo when trying to delete - MaxAge AS-External LSA. MaxAge LSA remaining bug is expected - to be fixed. - version: 0.8.k - -2001-01-04 Yasuhiro Ohara - - * ospf6_mesg.c: add I/F Mtu check for sending LS Update. - - * ospf6_dbex.c, ospf6_mesg.c, ospf6_neighbor.c, ospf6_neighbor.h, - ospf6_spf.c: Changed type of hisaddr field in ospf6_neighbor - structure, from sockaddr_in6 to in6_addr. No protocol/processing - changed. - -2001-01-04 Yasuhiro Ohara - - * ospf6_mesg.c, ospf6_neighbor.[ch]: Speed up of - Database Exchange. - version: 0.8.j - - Because the LS Request list was checked only when attempt - to send (retransmit) LS Request packet, Loading state lasted - long (for RxmtInterval) unexpectedly. This was fixed; LS Request - packet will be send as soon as one received a LS Update packet. - -2001-01-01 Kunihiro Ishiguro - - * ospf6d.h (OSPF6_VTYSH_PATH): Change "/tmp/ospf6d" to - /tmp/.ospf6d". - -2000-12-29 Yasuhiro Ohara - - * ospf6_dump.[ch]: simplified. - -2000-12-19 Yasuhiro Ohara - - * ospf6_route.c: Fix bug of using unavailable route. - version: 0.8.d - -2000-11-30 Yasuhiro Ohara - - * ospf6_spf.c: calculate statistics. version: 0.8.d - -2000-11-26 Yasuhiro Ohara - - * ospf6_mesg.c, ospf6_nsm.c: LSDB sync bug fixed. - version: 0.8.c - -2000-11-26 Yasuhiro Ohara - - * ospf6_dbex.c: Start debugging and cleaning. - - * ospf6_area.c, ospf6_dbex.c, ospf6_interface.c, ospf6_lsa.c, - ospf6_proto.c, ospf6_top.c: add some function to clarify codes. - -2000-11-26 Yasuhiro Ohara - - * ospf6_spf.c: Delete old garbage (which was enclosed by #if 0) - - * ospf6_redistribute.c: "redistribute ospf6" was generated in - "router ospf6" in config file. It is a bug, and fixed. - wrong warning message was deleted. - - * ospf6_main.c: If daemon mode, ospf6d was silent even if - the config file was wrong. It is a bug, and fixed. - - * ospf6_route.c, ospf6_zebra.c: Zebra syncronization method - has been changed. delete garbages. allow nexthop of :: in case - of connected route. - - * ospf6_dbex.c: Delete annoying log messages. - - * ospf6_lsa.c: Changed string for LSA log. - -2000-11-21 Yasuhiro Ohara - - * ospf6_spf.c: some careless bug fixed. - - * ospf6_route.c: changed not to send garbage route - whose nexthop is not linklocal address. - -2000-11-09 Yasuhiro Ohara - - * ospf6_rtable.c: renamed to ospf6_route.c - whole functionality has been rewritten as new code. - new functions not yet installs routes; the old - functions still remains. cleaning log messages. - - * ospf6_spf.c: whole functionality has been rewritten - as new code. new command "show ipv6 ospf6 spf node", - "show ipv6 ospf6 spf tree", "show ipv6 ospf6 spf table" - has been added. Memory leak was fixed. cleaning log messages. - - * ospf6d version: 0.7.c - -2000-10-02 Kunihiro Ishiguro - - * zebra-0.89 is released. - -2000-09-10 Kunihiro Ishiguro - - * ospf6_lsdb.c (ospf6_lsdb_remove_maxage_lsa): Fix compile - warnings. - -2000-08-17 Kunihiro Ishiguro - - * zebra-0.88 is released. - -2000-08-06 Kunihiro Ishiguro - - * ospf6_rtable.h (struct ospf6_nexthop): Change ifindex type from - unsigned long to unsigned int. - -2000-04-28 Kunihiro Ishiguro - - * ospf6d.h: Include some headers for avoid warning. - - * ospf6_routemap.h: Add newfile. - -1999-11-21 Kunihiro Ishiguro - - * ospf6_network.c: Respect IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP - rather than RFC2133. - -1999-10-21 Jun-ichiro itojun Hagino - - * ospf6_network.c (ospf6_ipv6_decode_ipv4): Fix bug of conversion - from IPv4 Mapped Address to IPv4 address. - -1999-08-08 Kunihiro Ishiguro - - * ospf6_lsa.c (construct_link_lsa): Enclose KAME specific part by - #ifdef/#endif. - -1999-07-29 Yasuhiro Ohara - - * ospf6_mesg.c: add new message process function. - -1999-07-25 Kunihiro Ishiguro - - * ospf6_main.c (sighup): Call of log_rotate() removed. - -1999-07-24 Yasuhiro Ohara - - ospf6_dbex.{c,h}: variable "acknowledge" has been deleted. - -1999-07-22 Yasuhiro Ohara - - * *.{c,h}: lsa data structure has been drastically - changed. - -1999-07-16 Yasuhiro Ohara - - * *.{c,h}: bug of updating LSA's which is self - originated has been fixed. - -1999-07-14 Yasuhiro Ohara - - * *.{c,h} : log clean up. - -1999-07-05 Kunihiro Ishiguro - - * ospf6d.c (ospf6_init): Change to use install_default. - -1999-07-03 Yasuhiro Ohara - - * ospf6_rtable.c (nexthop_*): added some function that handles - new nexthop structure. - -1999-07-01 Rick Payne - - * ospf6_zebra.c (ospf6_zebra_init): Install standard commands to - ZEBRA_NODE. - -1999-06-09 Yasuhiro Ohara - - * ospf6_rtable.h: added for new routing table of ospf6d - -1999-05-14 Stephen R. van den Berg - - * ospf6_main.c (signal_init): SIGTERM call sigint. - (sigint): Loggging more better message. - -1999-05-13 Yasuhiro Ohara - - *ospf6_spf.c (get_prefix_lsa_of_vertex): bug fix about network vertex. - -1999-05-08 Kunihiro Ishiguro - - * ospf6_network.c (send_linkstate_ack): Check HAVE_SIN6_SCOPE_ID - is defined. - * ospf6_mesg.c (make_hello): Likewise. - * ospf6_lsa.c (lsa_flood): Likewise. - -1999-05-07 Yasuhiro Ohara - - * ospf6_spf.c, etc: Many bug fix. - intra-area-prefix-LSA treatment changed. - network byte order of neighbor ifid changed. - -1999-05-07 Kunihiro Ishiguro - - * ospf6_zebra.h (struct zebra): Add hitory entry to structure. - -1999-05-05 Kunihiro Ishiguro - - * ospf6_main.c (main): Add KAME check for binding vty socket. - (main): Delete old interface get routine garbage. - - * ospf6d.c: Change all `show ip6' statement to `show ipv6'. - (show_ipv6_ospf6_requestlist): Add description. - -1999-05-04 Yasuhiro Ohara - - * ospf6_lsa.c, etc: Many bug fix, now two routers - on the same segment can become FULL neighbor state - each other. - -1999-05-03 Kunihiro Ishiguro - - * Makefile.am: Add file dependency. - (depend): Add target. - -1999-05-02 Yasuhiro Ohara - - * Clean up and fix have been almost done. This code - now testing stage of Intra area routing. - - * Configuration Vty become more similar to Cisco. - -1999-04-22 Kunihiro Ishiguro - - * Trim training newline from zlog format arguemnt. - - * ospf6_dump.c (ospf6_err): Commented out ospf6_err and - ospf6_warn. Same kind of function should be implemented as - zlog_err or zlog_warn or someting. - - * ospf6d.c: Change OSPF_NODE to OSPF6_NODE. - Change OSPF_DEFAULT_CONFIG to OSPF6_DEFAULT_CONFIG. - - -1999-04-21 Kunihiro Ishiguro - - * ospf6_mesg.c (make_hello): Add check of SIN6_LEN - -1999-04-16 Kunihiro Ishiguro - - * ospf6_neighbor.c: Change list_clear_all to list_delete_all_node. - Remove list_delete_all fuction and use lib/linklist.c's one. - -1999-04-14 Kunihiro Ishiguro - - * mcast_join(),mcast_leave()'s argument socket length is removed. - -1999-04-08 - - * ospf6_zebra.h (ospf_zebra_read): Fix typo. - - * ospf6_interface.h: Tempolary add struct rt_addrinfo. - -1999-03-05 Kunihiro Ishiguro - - * Merge from ospfd-zebra-990303 codes. - -1999-02-23 Kunihiro Ishiguro - - * Makefile.in: add new file. - - * Makefile.am: @INCLUDES@ is added for OS/library specific IPv6 - directory search. - - * Import files from Yasuhiro Ohara 's ospfd. - Impterted files are: - Makefile.am, ospf_area.h, ospf_dump.c, ospf_interface.c, - ospf_interface.h, ospf_lsa.c, ospf_lsa.h, ospf_main.c, - ospf_mesg.c, ospf_mesg.h, ospf_neighbor.c, - ospf_neighbor.h,ospf_network.c, ospf_network.h, ospf_proto.h, - ospf_spf.c, ospf_spf.h, ospf_types.h, ospfd.c, ospfd.h diff --git a/ospfclient/ChangeLog b/ospfclient/ChangeLog deleted file mode 100644 index e678affd..00000000 --- a/ospfclient/ChangeLog +++ /dev/null @@ -1,71 +0,0 @@ -2005-11-24 Paul Jakma - - * ospf_apiclient.c: add static qualifier to relevant functions. - * ospfclient.c: ditto - -2005-04-20 Paul Jakma - - * Makefile.am: Add @INCLUDES@ and srcdir to allow out-of-tree - builds to work. - -2004-06-30 Greg Troxel - - * Makefile.am: Add libtool/shlib support. - -2003-01-10 Ralph Keller - * New ChangeLog - -2003-01-08 Ralph Keller - * apiclient message passing bug resolved - * (proposed by Masahiko) - -2002-10-09 Ralph Keller - * Includes patch in OSPFd for ISM, NSM, neighbor - -2002-09-16 Ralph Keller - * Current patch vs. Zebra-0.93b - -2002-08-22 Ralph Keller - * Bugfix: LSA updates are now received only once even - * if multiple opaque types are registered - -2002-08-06 Ralph Keller - * Upgrade of OSPF API to Zebra-0.93a. - -2002-06-13 Ralph Keller - * Opaque LSA origination bug fixed by Masahiko. - * This code is based on 0.93-pre - -2002-05-03 Ralph Keller - * Upgrade to newest Zebra from CVS repository. ospf_flood_through - * function did not work after upgrade. Function - * ospf_apiserver_flood_opaque_lsa added. Also byte order problem - * with port numbers resolved. - -2002-05-02 Ralph Keller - - * new autoconf and automake files, now called configure.in - * instead of configure.ac - -2002-04-24 Ralph Keller - - * reverse channel now works (syncport and syncport+1) - * ospf_apiclient.c: standard includes removed (not needed) - * bzero replaced with memset - -2002-04-18 Ralph Keller - - * 2-way phase connection setup - -2002-04-05 Ralph Keller - - * Changes incorporated as proposed by Masahiko - -2002-04-05 Ralph Keller - - * autoconf and automake-style Makefile - -2002-04-04 Ralph Keller - - * 1st public release of OSPF API - diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog deleted file mode 100644 index 30e2d60b..00000000 --- a/ospfd/ChangeLog +++ /dev/null @@ -1,4984 +0,0 @@ -2007-09-18 Denis Ovsienko - - * ospf_network.c: (ospf_adjust_sndbuflen) Don't complain - about getting more buffer space, than requested. - * ospfd.[ch]: (ospf_new) Abandon OSPF_SNDBUFLEN_DEFAULT - and consider OS's initial buffer size instead. - * ospf_interface.c: (ospf_if_up) Fix missing argument. - -2007-08-21 Denis Ovsienko - - * ospfd.h: Extend struct ospf with maxsndbuflen field and - define its default value. - * ospfd.c: (ospf_new) init maxsndbuflen - * ospf_interface.c: (ospf_if_up) Call ospf_adjust_sndbuflen() - for each regular interface being brought up. - * ospf_network.[ch]: (ospf_adjust_sndbuflen) New function - makes sure ospf socket sending buffer is large enough - to cover the biggest interface MTU we have seen ever. - * ospf_packet.c: (ospf_write) Use maxsndbuflen to decide on - the biggest amount of data we are going to send at once. - -2007-08-07 Paul Jakma - - * ospf_spf.c: (ospf_spf_next) Finish off the explanatory - comment made in previous commit - -2007-08-07 Atis Elsts - - * ospf_spf.c: (ospf_spf_next) Sort heap in correct direction - after vertex cost is changed, thus fixing incorrect SPF - calculation on certain topologies. - -2007-08-06 Paul Jakma - - * ospf_lsa.c: (router_lsa_flags) Bug #331, NSSA regression caused - caused ASBRs to not advertise E-bit into NSSA areas. - -2007-05-09 Milan Kocian - - * ospf_vty.c: Fix commands: 'ip ospf authentication A.B.C.D', - 'no ip ospf authentication A.B.C.D', 'no ip ospf - authentication-key A.B.C.D'. Simply fix argv's indexes and - argc check in DEFUN functions. - -2007-05-07 Paul Jakma - - * ospf_spf.c: (ospf_vertex_new) Dont init vertices to infinity, - just let 0 be a special case. - (ospf_spf_add_parent) 0 distance candidate vertex is special, - cost still to be initialised - asserting that new distance - is <= existing only makes sense where w already has a cost. - (ospf_spf_next) Infinite cost links should not be followed, - bar those of the root. - -2007-04-30 Andrew J. Schorr - - * ospfd.c: (ospf_network_match_iface) Comment out - COMPATIBILITY_MODE. Going forward, the ospf "network" command - will use a simple test: does the network command prefix - contain the connected (destination) prefix of the interface? - -2007-04-21 Andrew J. Schorr - - * ospf_interface.c: (ospf_if_set_multicast) Fix bug: was testing - interface passive status improperly in light of the recent - 'passive-interface default' patch. Now need to test - OSPF_IF_PASSIVE_STATUS(oi) instead of - OSPF_IF_PARAM(oi, passive_interface). - -2007-03-23 Paul Jakma - - * ospf_spf.c: (various) Add more debug statements. - (ospf_nexthop_calculation) Fix silly regression causing ospfd - to fail to calculate paths past networks not attached to root - vertex, introduced with bug #330 fixes. - -2007-03-14 Andrew J. Schorr - - * ospf_snmp.c: (ospf_snmp_neighbor_state) New function to - map internal quagga neighbor states to SNMP standard values. - (ospfNbrEntry) Call new ospf_snmp_neighbor_state function. - -2007-03-14 Andrew J. Schorr - - * ospf_zebra.c: (ospf_zebra_add, ospf_zebra_delete) Fix bug - where inet_ntoa was used twice in the same debug message, - which doesn't work because there's a single shared buffer - for the returned string. The fix is to use inet_ntop. - -2007-02-27 Andrew J. Schorr - - * ospfd.c: (ospf_terminate) Exit immediately if ospf is not - actually running (e.g. the config file was empty). Fixes - bug where SIGTERM would not kill ospfd. - -2007-02-26 Paul Jakma - - * ospf_spf.c: Fix regression introduced with bug #330 fix: The - cost update added to ospf_spf_add_parent only handled PtP - case, differing from same functionality in higher-level - ospf_spf_next. Regression diagnosed by Anders Pedersen, - mailnews+router-quagga-dev@news.cohaesio.com. - (ospf_vertex_new) Initialise vertices to max-cost. - (ospf_spf_init) Root vertex always creates with 0 cost. - (ospf_spf_add_parent) Remove the buggy V->W cost calculating - code, instead take the new distance as a parameter. - (ospf_nexthop_calculation) Take distance as parameter, so it - can be passed down to add_parent. - (ospf_spf_next) Dont initialise candiate vertex distance, - vertex_new does so already. Pass distance down to - nexthop_calculation (see above). - -2007-01-24 Paul Jakma - - * ospf_spf.c: Bug #330: Nexthop calculation sometimes may fail, - and it needs to indicate this result to SPF. - (ospf_spf_add_parent) Flush of parent list needs to be done here, - for simplicity. - (ospf_nexthop_calculation) Caller needs to know whether - nexthop calculation succeeded. Every return statement must - correctly indicate such. - (ospf_spf_next) Queueing/prioritisation of vertices in SPF - must take into account whether nexthop_calculation succeeded, - or SPF may fail to find best paths. - -2006-12-12 Andrew J. Schorr - - * ospf_interface.c: (ospf_if_is_configured, ospf_if_lookup_by_prefix, - ospf_if_lookup_recv_if) Simplify logic using new CONNECTED_PREFIX - macro. - * ospf_lsa.c: (lsa_link_ptop_set) Using the new CONNECTED_PREFIX - macro, both options collapse into the same code. - * ospf_snmp.c: (ospf_snmp_if_update) Simplify logic using new - CONNECTED_ID macro. - (ospf_snmp_is_if_have_addr) Simplify logic using new CONNECTED_PREFIX - macro. - * ospf_vty.c: (show_ip_ospf_interface_sub) Use new CONNECTED_PEER macro - instead of testing the IFF_POINTOPOINT flag. - * ospfd.c: (ospf_network_match_iface) Use new CONNECTED_PEER macro - instead of testing with if_is_pointopoint. And add commented-out - code to implement alternative (in my opinion) more elegant behavior - that has no special-case treatment for PtP addresses. - (ospf_network_run) Use new CONNECTED_ID macro to simplify logic. - -2006-12-04 Andrew J. Schorr - - * ospfd.c: (ospf_network_run) Remove an offending 'break' statement. - Previously, after creating a single ospf_interface on a given - network interface, the code would skip to the next interface - without considering other connected addresses on the interface. - After removing the 'break', we now consider all connected addresses. - -2006-11-30 Andrew J. Schorr - - * ospf_zebra.c: (ospf_router_id_update_zebra, - ospf_interface_address_add, ospf_interface_address_delete) - If (IS_DEBUG_OSPF (zebra, ZEBRA_INTERFACE)) is enabled, then - add a debug message about what Zebra is telling us. - (ospf_zebra_add_discard) Add a debug message matching the one - already in ospf_zebra_delete_discard. - -2006-11-28 Andrew J. Schorr - - * ospf_vty.c: (ospf_passive_interface_default) Take additional - 'newval' arg so we can update ospf->passive_interface_default inside - this function. More importantly, we now call ospf_if_set_multicast - on all ospf_interfaces. - (ospf_passive_interface, no_ospf_passive_interface) Fix bug: - for 'default' case, argv[0] is undefined, so we must test for - (argc == 0) before using argv[0]. And since - ospf_passive_interface_default now calls ospf_if_set_multicast as - needed, we can just return after calling - ospf_passive_interface_default. - -2006-10-24 Andrew J. Schorr - - * ospf_zebra.c: (ospf_redistribute_default_set) Fix bug where - a new value for ospf->default_originate was being ignored - if a previous 'default-information originate' command - had already been processed. - -2006-10-22 Yar Tikhiy - - * (general) Add support for passive-interface default (with - minor edits by Paul Jakma). - * ospf_interface.h: Add OSPF_IF_PASSIVE_STATUS macro, looking - at configured value, or the global 'default' value, as - required. - * ospf_interface.c: (ospf_if_new_hook) Leave passive - unconfigured per default, allowing global 'default' to - take effect for unconfigured interfaces. - * ospf_packet.c: (various) use OSPF_IF_PASSIVE_STATUS - * ospf_vty.c: (ospf_passive_interface_default) new function, - unset passive from all interfaces if default is enabled, as - the per-iface settings become redundant. - (ospf_passive_interface_update) new func, update passive - setting taking global default into account. - ({no,}ospf_passive_interface_addr_cmd) Add support for - 'default' variant of command. - (show_ip_ospf_interface_sub) Update to take global - default into account when printing passive status. - (ospf_config_write) ditto. - * ospfd.c: (ospf_new) set global passive-interface default. - * ospfd.h: (struct ospf) Add field for global - passive-interface. - -2006-09-25 Andrew J. Schorr - - * ospf_packet.c: (ospf_packet_dup, ospf_make_md5_digest) - Fix zlog_warn messages to eliminate compiler warnings. - (ospf_hello) Improve warning messages to show why we - are complaining. - -2006-08-28 Andy Gay - - * ospf_packet.c: (ospf_make_db_desc) Assert added with More-bit - fixes does not hold up with addition of Ogier DB-Exchange - optimisation, which can empty the db-summary list in between - sent DD packets. Remove assert, update More-bit always when - in Exchange. - -2006-08-27 J.J. Krabbendam - - * ospfd.c: (ospf_finish_final) default redistribute should be - unset too, fixes bug where reconfiguring ospfd completely - can no longer enable default redistribution. - -2006-08-25 Paul Jakma - - * (general) Bug #134. Be more robust to backward time changes, - use the newly added libzebra time functions. - In most cases: recent_time -> recent_relative_time() - gettimeofday -> quagga_gettime (QUAGGA_CLK_MONOTONIC, ..) - time -> quagga_time. - (ospf_make_md5_digest) time() call deliberately not changed. - (ospf_external_lsa_refresh) remove useless gettimeofday, LSA - tv_orig time was already set in ospf_lsa_new, called via - ospf_external_lsa_new. - -2006-08-04 Paul Jakma - - * ospf_lsdb.c: (ospf_lsdb_delete_entry) new function, consolidate - exact same functionality replicated in other functions. - (ospf_lsdb_add) Strip out code by using ospf_lsdb_delete_entry. - (ospf_lsdb_delete) ditto. - (ospf_lsdb_delete_all) ditto. - -2006-08-03 Paul Jakma - - * ospf_packet.c: (ospf_make_db_desc) Unset the DD More bit - after constructing the packet, if appropriate. - (ospf_db_desc_proc) Speed up Exchange, slave should raise - ExchangeDone earlier, as RFC mandates, by forming its reply - before deciding whether both sides are done, avoids a - needless round of empty DD packet exchanges at the end of - Exchange, hence speeding up ExchangeDone. - Implement draft-ogier-ospf-dbex-opt DB-exchange optimisation. - (ospf_db_desc) use UNSET_FLAG macro. - -2006-07-27 Andrew J. Schorr - - * ospfd.c: (ospf_router_id_update) Fix and document the algorithm for - selecting the router ID: if there is not a statically configured ID, - then stick to the most recent value to avoid disruptive changes. - This should fix bug #288. - -2006-07-26 Paul Jakma - - * ospf_lsa.{c,h}: (ospf_lsa_unlock) Change to take a double pointer - to the LSA to be 'unlocked', so that, if the LSA is freed, the - callers pointer to the LSA can be NULLed out, allowing any further - use of that pointer to provoke a crash sooner rather than later. - * ospf_*.c: (general) Adjust callers of ospf_lsa_unlock to match - previous. Try annotate 'locking' somewhat to show which 'locks' - are protecting what LSA reference, if not obvious. - * ospf_opaque.c: (ospf_opaque_lsa_install) Trivial: remove useless - goto, replace with return. - * ospf_packet.c: (ospf_make_ls_ack) Trivial: merge two list loops, - the dual-loop predated the delete-safe list-loop macro. - -2006-07-25 Paul Jakma - - * ospf_neigbor.h: (struct ospf_neighbor) Add some additional - neighbour state statistics fields, timestamps for progressive - and regressive state changes, and pointer to event string - for the latter state change. - * ospf_nsm.c: (nsm_notice_state_change) Update new state changs - history as required. - * ospf_vty.c: (show_ip_ospf_neighbor_detail_sub) Print out above - new per-neighbour state change stats. - -2006-07-10 Paul Jakma - - * ospf_nsm.c: (nsm_change_state) call nsm_clear_adj for all - adjacency losses, hence removing need for nsm_reset_nbr. - (nsm_reset_nbr) kill it, clear_adj in previous does fine. - (nsm_kill_nbr,nsm_start) remove nsm_reset_nbr call. - (ospf_nsm_event) Allow NSM function to be NULL, this along with - removal of nsm_reset_nbr, allows a bunch of now useless functiosn - to be removed. - Remove some useless variables. - (nsm_ignore) now useless, remove. - (nsm_bad_ls_req) ditto - (nsm_seq_number_mismatch) " - (nsm_oneway_received) " - (nsm_inactivity_timer) " - (nsm_ll_down) " - (NSM) replace removed action functions with NULL. - (nsm_notice_state_changes) Move state change logging code to new - func to declutter nsm_change_state and ospf_nsm_event. - Log event with AdjChange, it's useful to know. - (nsm_change_state) move adjchange and snmp logging to previous. - (ospf_nsm_event) call nsm_notice_state_changes from here. - Move the debug message to entry of function, so it gets out - even if something goes wrong. - Record state change timestamp and event in nbr struct. - * ospf_neighbor.h: (struct ospf_neighbor) Add fields to record - timestamp of last NSM change and event. - * ospf_vty.c: (show_ip_ospf_neighbor_detail_sub) Print - last state change timestamp and event, if available. - -2006-07-10 Andrew J. Schorr - - * ospf_packet.c: (ospf_hello) Improve NetworkMask mismatch warning - message to include interface name and conflicting prefix lengths. - -2006-07-07 Paul Jakma - - * ospf_nsm.h: Add a NSM_Deleted neighbour state, to act as dummy - state indicating the neighbour is to be deleted. - * ospf_nsm.c: (general) Use the NSM_Deleted state to delete - neighbours, thus allowing code to be slightly more obvious - in its flow. - (nsm_timer_set) Add NSM_Deleted. Add another timer the code - missed. - (nsm_kill_nbr) No need for special case call to nsm_change_state - anymore. - Make the assert and error-handling for same case more readable - (Andrew Schorr) - Remove the call to ospf_nbr_delete, nsm_change_state can do - this generally now via NSM_Deleted. - (struct ... NSM) Add the dummy NSM_Deleted state, the 3 events - that can lead to nsm_kill_nbr all now transition the NBR to - NSM_Deleted and the general change_state function can be left - to do the work. - (ospf_nsm_event) Special casing of events and early-return can - be removed now. - On transition into Deleted, delete the nbr. - * ospf_dump.c: (ospf_nsm_state_msg) Add Deleted. - -2006-07-06 Paul Jakma - - * ospf_nsm.c: (ospf_nsm_event) LLDown event also results in nbr - being deleted, requires early-return too. Likely explains - some crash reports after interface events. - -2006-07-04 Paul Jakma - - * ospf_nsm.c: (general) Various small cleanups from Andrew's - review of last set of patches. - (nsm_timer_set) Loading, Full and default can share - same code too. - (nsm_should_adj) Can just be one big OR. - (nsm_twoway_received) Collapse into return statement. - -2006-07-02 Paul Jakma - - * ospf_nsm.c: (nsm_should_adj) New function, just consolidate the - 10.4 adjacency check from nsm_twoway_received/nsm_adj_ok. - (nsm_twoway_received/nsm_adj_ok) Use former. - (nsm_clear_adj) clear adjacency related state for a - neighbour, needed for some state changes from > ExStart down - to ExStart or less, which need not go through nsm_reset_nbr. - (nsm_reset_nbr) move code to former. Should be static. - (ospf_nsm_event) Don't allow action functions to change - next_state if the NSM tables do not indicate next_state is - conditional, log warning if one tries - existing code - appears fine though. - Remove long dead code. - Use nsm_clear_adj for state changes that take down - adjacencies to TwoWay/ExStart. - (nsm_timer_set) ls_req timer should be OFF in early states. - Compact several identical sections. - Set inactivity timer to OFF for Down, for documentary - purposes. - (nsm_kill_nbr) Oops, action function shouldn't try return - 1 for error. - * ospf_lsa.c: (ospf_translated_nssa_refresh) CID #13. - -2006-06-30 Andrew J. Schorr - - * ospf_vty.c: (show_ip_ospf_neighbor_id) Should show all instances - of that neighbor (since it may appear on multiple interfaces) - instead of bailing out after showing the first match. - -2006-06-29 Andrew J. Schorr - - * ospf_nsm.c: (nsm_twoway_received) When deciding whether to - change from state Init to ExStart, the test for whether the - neighboring router is DR or BDR should be against the - local router's notion of DR/BDR, not the neighbor's view. - -2006-06-28 Erik Muller - - * ospfd.h: Define 2 new struct ospf config flags: - OSPF_LOG_ADJACENCY_CHANGES and OSPF_LOG_ADJACENCY_DETAIL - * ospf_nsm.c (nsm_change_state): Log adjacency changes if - requested. - * ospf_vty.c (ospf_log_adjacency_changes): New command function - to implement ospf subcommand "log-adjacency-changes [detail]". - (no_ospf_log_adjacency_changes) Turn off log-adjacency-changes. - (show_ip_ospf) Show whether adjacency changes are logged. - (ospf_config_write) Add "log-adjacency-changes [detail]" to config. - (ospf_vty_init) Add ospf_log_adjacency_changes and - no_ospf_log_adjacency_changes. - -2006-06-26 Paul Jakma - - * ospf_abr.c: (general) NSSA translate-candidate ABRs need to - be ASBRs, or other routers may rightfully refuse to install - translated type-5s LSAs. reported by dendroot@gmail.com. - (ospf_abr_nssa_check_status) Detect change in translator - state when ABR, and inc/dec redistribute count as when we - leave/enter the disabled state - so that translate-enabled - ABR properly sets ASBR bit on non-NSSA areas. - Run the resulting function through indent to clean it up. - * ospf_lsa.c: (router_lsa_flags) For purposes of ASBR bit, - NSSA area is same as stub area. - -2006-06-24 Andrew J. Schorr - - * ospf_snmp.c: (ospfTrapNbrStateChange, ospfTrapIfStateChange) Improve - info log message to indicate why the trap is being sent. - -2006-06-24 Andrew J. Schorr - - * ospf_dump.c: (config_write_debug) Fix typo to show debug ospf nsm - status properly (not ism status). - -2006-06-17 Andrew J. Schorr - - * ospf_vty.c: ({no_,}ospf_passive_interface) Replace if_lookup_by_name - with a call to if_get_by_name -- if the interface does not exist - already, it should be created. And remove the obsolete warning - message. - -2006-06-15 Paul Jakma - - * ospf_interface.h: (struct ospf_if_info) Add reference counts - for multicast group memberships. Add various macros to help - manipulate/check membership state. - * ospf_interface.c: (ospf_if_set_multicast) Maintain the - ospf_if_info reference counts, and only actually drop - memberships if it hits 0, to avoid losing membership when - OSPF is disabled on an interface with multiple active OSPF - interfaces. - * ospf_packet.c: (ospf_{hello,read}) Use the new macros to - check/set - multicast membership. - * ospf_vty.c: (show_ip_ospf_interface_sub) ditto. - -2006-05-31 Paul Jakma - - * ospf_lsdb.c: (ospf_lsdb_delete) robustify against NULL arguments, - print warning. - * ospf_lsa.c: (ospf_discard_from_db) ditto. - (ospf_maxage_lsa_remover) Check lsa->lsdb for validity, possible - mitigation (but not solution) for bug #269. - -2006-05-30 Paul Jakma - - * ospf_packet.c: (ospf_read) Debug message about packets - received on unenabled interfaces should be conditional on - debug being set. - -2006-05-23 Paul Jakma - - * ospf_vty.c: (general) Replace in-place route redistribution - command and help strings with the new auto-generated defines - from lib/route_types.h - -2006-05-13 Paul Jakma - - * ospf_lsa.c: (ospf_translated_nssa_refresh) fix the sanity - check to match the assert, small error in CID #13 fix. - -2006-05-12 Paul Jakma - - * ospf_lsa.c: (ospf_lsa_action) Get rid of the ospf_lookup - call, which is not checked for NULL return, by stripping out - functionality which is never used, hence fixing Coverity CID - #29. - (struct lsa_action) remove unused member. - (ospf_translated_nssa_refresh) Add non-assert sanity check, - in case DEBUG isn't defined. - Debug message when no type7 exists should print the ID from - the type5, not the type7, fixes CID #13. - * ospf_interface.c: (ospf_if_exists) Fix missing NULL return - check on ospf_lookup, CID #27. - * ospf_asbr.c: (ospf_redistribute_withdraw) remove ospf_lookup - call by taking the struct ospf * as argument, which the - caller has, fixing CID #28. - * ospf_asbr.h: (ospf_redistribute_withdraw) update declaration - * ospf_zebra.c: (ospf_redistribute_unset) update call to - ospf_redistribute_withdraw to match. - * ospf_ia.c: (ospf_update_router_route) ospf->backbone could be - NULL when passed to ospf_find_asbr_route_through_area, - check for NULL first, CID #14. - * ospf_ism.c: (ism_change_state) NULL check on oi->area is - useless, it's always valid. Only possibility where it - couldn't be is if there is a race between abr_task and - cleaning up oi's, in which case a NULL check here isn't going - to do anything. Fixes CID #15. - -2006-05-11 Paul Jakma - - * ospf_vty.c: (general) Audit ospf_lookup calls in commands, - ensure check for NULL result, make vty messages consistent. - (show_ip_ospf_interface) Missing NULL check on ospf_lookup - result, fixes Coverity CID #70. - (no_ospf_area_filter_list) Check NULL result from - ospf_area_lookup_by_area_id, fixes Coverity CID #69 - * ospf_route.c: (ospf_route_delete_same_ext) Fix deref before - NULL check by moving into check-protected block, fix CID #49. - * ospf_abr.c: (ospf_area_range_cost_set) Shouldn't create a new - range, should just lookup to see if one exists, the new range - is just leaked. Fixes CID #46. - * ospf_lsa.c: (ospf_default_originate_timer) Let the thread - take (struct ospf *) as thread argument, rather than (struct - ospf *)->default_originate, thus avoiding having to call - ospf_lookup. - * ospf_zebra.c: (ospf_redistribute_default_set) change setup - of ospf_default_originate_timer thread to match. - * ospfd.c: (ospf_router_id_update) ditto. - -2006-04-24 Paul Jakma - - * (general) More Virtual-link fixes, again with much help in - testing / debug from Juergen Kammer. Primarily in SPF. - * ospf_spf.h: Add guard. ospf_interface.h will include this - header. - * ospf_interface.h: Modify ospf_vl_lookup definition to take - struct ospf as argument, so as to allow for NULL area - argument. - (struct ospf_vl_data) Remove out_oi, instead add a struct - vertex_nexthop, to use as initial nexthop for backbone paths - through a vlink. - * ospf_interface.c: (ospf_vl_lookup) Modified to allow - NULL area to be passed to indicate "any" (first) area. - Add extra debug. - (ospf_vl_set_params) vl_oi -> nexthop. Add extra debug. - (ospf_vl_up_check) Fix debug, inet_ntoa returns a static - buffer.. - * ospf_route.c: (ospf_intra_add_router) Vlinks dont go through - backbone, don't bother checking. - * ospf_spf.c: (static struct list vertex_list) Record vertices - that will need to be freed. - (cmp) Order network before router vertices, as required, - wasn't implemented. - (vertex_nexthop_free) Mild additional robustness check. - (vertex_parent_free) Take void argument, as this function - is passed as list deconstructor for vertex parent list. - (ospf_vertex_new) More debug. Set deconstructor for parent - list. Track allocated vertices on the vertex_list. - (ospf_vertex_free) Get rid of the tricky recursive cleanup of - vertices. Now frees only the given vertex. - (ospf_vertex_add_parent) Fix assert. - (ospf_nexthop_calculation) Fix calculation of nexthop for - VLink vertices, lookup the vl_data and use its previously - recorded nexthop information. - (ospf_spf_calculate) Vertices are freed simply by deleting - vertex_list nodes and letting ospf_vertex_free as deconstructor - work per-node. - (ospf_spf_calculate_timer) Trivial optimisation, leave - backbone SPF calculation till last to reduce SPF churn on - VLink updates. - * ospf_vty.c: (ospf_find_vl_data) update call to ospf_vl_lookup - (no_ospf_area_vlink_cmd) ditto. - (show_ip_ospf_interface_sub) For Vlinks, the peer address is - more interesting than the output interface. - -2006-04-03 Paul Jakma - - * (general) Fix issues with handling of Vlinks and entries - in the nbrs route-table which were highlighted by the - nsm/nbr_self fixes from bug #234. Many thanks to Juergen - Kammer for his help and efforts in testing out debug patches to - pinpoint the issue. - * ospf_interface.c: (ospf_vl_new) Add nbr_self for Vlink. - * ospf_neighbor.c: (ospf_nbr_key) new static function, helper - to create key in nbrs table for a given nbr. - (ospf_nbr_delete) Use ospf_nbr_key. Add an assert() to - document an expected state. - (ospf_nbr_add_self) Ditto. - (ospf_nbr_lookup_by_addr) Add an assert. - * ospf_nsm.c: (nsm_kill_nbr) Can never kill the nbr_self - psuedo-neighbour. - -2006-03-27 Paul Jakma - - * ospf_lsa.c: (ospf_lsa_checksum) Add an explicit cast to avoid - the ambiguities of ANSI and C99 C with respect to type - conversion. Detailed problem report and test case with - example data supplied by Dmitry Ivanov . - -2006-03-25 Paul Jakma - - * ospf_interface.c: (ospf_if_lookup_recv_if) Ignore loopbacks, - we can never ever receive packets on those. Should fix - case where CARP is run with address in same subnet as real - interface. Problem report and diagnosis thanks to: - Landon Fuller . - However, ospf_read() still can't deal deterministically with - multiple interfaces in same subnet. - -2006-03-23 Steve Lawson - - * ospf_lsa.c: (ospf_lsa_install) Fix incorrect byte-order - conversion of OSPF_MAX_SEQUENCE_NUMBER - -2006-01-19 Paul Jakma - - * (general) various miscellaneous compiler warning fixes. - Remove redundant break statements from switch clauses - which return. - return from main, not exit, cause it annoys SOS. - Remove stray semi-colons which cause empty-statement - warnings. - -2006-01-18 Juergen Kammer - - * ospf_lsa.c: (ospf_router_lsa_new) dont take reference to the - stream data until it is constructed, data reference is - volatile due to the potential resize in link_info_set - -2006-01-18 Paul Jakma - - * ospf_lsa.c: (link_info_set) Resize the stream if required and - possible. Return number of links added. - (lsa_link_*_set) use return value from previous. - * ospf_lsa.h: Add OSPF_ROUTER_LSA_LINK_SIZE define. - -2006-01-17 Paul Jakma - - * ospf_packet.c: (ospf_verify_header) print out the types - involved if there's a mismatch. - * ospf_zebra.c: (ospf_zebra_add) Adjust to new zserv format. - -2006-01-10 Len Sorensen - - * (general) Bug #234, see also [quagga-dev 3902]. - Fix problem with nbr_self not being properly reinitialised - when an interface comes up, after having been down. - Some re-arrangement done by Paul Jakma, any bugs introduced - on top of Len's suggested changes are his. - * ospf_neighbor.c: (ospf_nbr_add_self) centralise - initialisation of nbr_self parameters here. - * ospf_interface.c: (ospf_if_new) deleting initialisation of - parameters of nbr_self, just rely on call to - ospf_nbr_add_self. - (ospf_if_cleanup) ditto. - * ospfd.c: (ospf_network_run) ditto. - -2006-01-10 Juris Kalnins - - * ospf_zebra.c: (ospf_interface_address_delete) fix rare leak of - struct connected in an error case. - * ospf_packet.c: (ospf_make_md5_digest) fix odd, if not - undefined effect, assignment of an increment expression. - -2006-01-10 Paul Jakma - - * ospfd.c: (ospf_network_run) checking to see if router-id - is set should be on ospf->router_id, not router_id_static. - This was causing ospfd to not start if router-id had not - been configured statically. - (ospf_if_update) ditto. - * ospf_vty.c: (config_write_ospf_distribute) trim down - redundant strings. - -2005-11-26 Paul Jakma - - * ospf_api.c: (struct opaque_lsa) change from gcc zero-length - array to C99 incomplete type array. - * (general) s/graceful/deferred/ in all files, the former term - is confusing wrt OSPF Graceful-Restart. - * ospfd.c: (ospf_deferred_shutdown_check) dont return - a function which returns void. SOS complains about this. - (ospf_finish) - -2005-11-20 Paul Jakma - - * ospfd.h: remove the OSPF_ROUTER_ID_UPDATE_DELAY define - (struct ospf) remove the router_id timer thread. - remove export of ospf_router_id_update_timer. - * ospfd.c: (ospf_router_id_update) call ospf_if_update to - poke interfaces into action after ID has been configured. - (ospf_router_id_update_timer) removed. - (ospf_finish_final) t_router_id_update timer is gone. - (ospf_network_run) router-id update timer gone. - call ospf_router_id_update directly if ID not configured. - In the per-iface loop, don't ospf_if_up interfaces if - ID is still not configured. The update function will call - ospf_if_update anyway. - (ospf_if_update) ID update timer is gone. Just return if no - ID is set. - * ospf_vty.c: (ospf_router_id) call ospf_router_id_update, no - timer needed. - * ospf_zebra.c: (ospf_router_id_update_zebra) call - ospf_router_id_update directly, not via timer. - * ospf_abr.c: (ospf_abr_announce_network_to_area) check - returned LSA of ospf_summary_lsa_refresh and print warning if - it failed. - (ospf_abr_announce_network_to_area) similar - (ospf_abr_announce_rtr_to_area) similar - * ospf_lsa.c: (ospf_router_lsa_new) check LSA returned is valid. - (ospf_router_lsa_originate) similar - (ospf_router_lsa_refresh, ospf_network_lsa_new) similar - (ospf_summary_lsa_new) Check ID is valid. - (ospf_summary_lsa_originate) ditto, and check returned LSA from - previous function is !NULL. - (ospf_summary_lsa_refresh) check ospf_summary_lsa_new return - is !NULL. - (ospf_summary_asbr_lsa_new) ID valid check. - (ospf_summary_asbr_lsa_originate) similar. - -2005-11-16 Andrew J. Schorr - - * ospf_dump.h: Define OSPF_TIME_DUMP_SIZE as appropriate buffer size - for use with ospf_timer_dump and ospf_timeval_dump. - * ospf_vty.c: Change all buffer sizes used with ospf_timer_dump and - ospf_timeval_dump to have size OSPF_TIME_DUMP_SIZE. - (show_ip_ospf_interface_sub) Fix possible buffer overflow in - call to ospf_timer_dump. - -2005-11-16 Andrew J. Schorr - - * ospf_ism.h: (OSPF_ISM_TIMER_OFF) Improve macro syntax by enclosing - in 'do {...} while(0)'. - -2005-11-14 Paul Jakma - - * ospfd.c: (ospf_new) stub-shutdown should just default to - unconfigured, too strange otherwise. - (ospf_finish_final) t_opaque_lsa_self TIMER_OFF should be - preprocessor conditional on HAVE_OPAQUE_LSA. - * ospfd.h: (struct ospf) remove the SHUTDOWN_DEFAULT define. - no longer used, plus it wasn't in range that the command - accepted. - * ospf_zebra.h: Depends on vty.h, include it. - -2005-11-11 Paul Jakma - - * ospf_spf.c: (ospf_canonical_nexthops_free) Free only - the nexthops pointing to the root vertex. We may visit a - vertex twice or the vertex may have some inherited nexthops, - if we free other nexthops we could crash. - -2005-11-04 Paul Jakma - - * ospf_{dump,spf,vty}.c: Oops, use the internal tv_sub - function rather than unportable timersub. - -2005-11-03 Paul Jakma - - * ospf_apiserver.c: (apiserver_sync_callback) stray semi-colon - * ospf_packet.c: include checksum.h, remove the in_cksum extern - * prototypes. - * ospf_te.h: Add braces, quell warning. - * ospf_packet.c: Change level of some warnings to - informational. - -2005-10-29 Paul Jakma - - * (general) RFC3137 stub-router support - * ospfd.h: Add OSPF_OUTPUT_COST_INFINITE define. - (struct ospf_master) Add a OSPF_MASTER_SHUTDOWN flag for - options, to allow shutdown to distinguish between complete - shutdown and shutdown of a subset of ospf instances. - (struct ospf) - Add stub_router_{startup,shutdown_}time, configuration of startup - and shutdown time for stub-router. - Add t_graceful_shutdown struct thread, timer for graceful - shutdown, if needed. - (struct ospf_area) Add stub_router_state - run time state of - stub-router for an area. Add flags for ADMIN, IS and WAS - states. - Add t_stub_router, timer thread to resend router-lsa for an - area. - * ospf_lsa.c: (ospf_link_cost) new simple function to spit out - either the given lnks cost or infinite cost if stub-router is - in effect. - (lsa_link_{ptop,broadcast,virtuallink,ptomp}_set) use - previous function for transit-links. - (ospf_stub_router_timer) timer thread for end of startup stub - router. Change state as required for the area and setup - re-origination of router-lsa. - (ospf_stub_router_check) Check/do whether stub-router should be - enabled, and whether it requires timer to be setup. - (ospf_router_lsa_new) call previous function at top. - (ospf_router_lsa_originate) no external callers, made static. - * ospf_lsa.h: (ospf_router_lsa_originate) removed. - * ospf_main.c: (sigint) make static. - remove call to exit, as ospf_terminate now deals with - exiting. - * ospf_route.c: (ospf_terminate) removed, now in ospfd.c. - * ospf_vty.c: (show_ip_ospf_area) print out state of - stub-router, if active. - (show_ip_ospf) print out configuration of stub-router - support, and details of graceful-shutdown if the timer is - active. - ((no)?ospf_max_metric_router_lsa_{admin,startup,shutdown}) new - commands to (de-)?configure stub-router support. - (config_write_stub_router) write out config of stub-router. - (ospf_config_write) call previous. - (ospf_vty_init) install the new stub-router commands. - * ospfd.c: various functions made static. - (ospf_new) Set defaults for stub-router. Graceful shutdown - is made to default on, just to be adventerous. - (ospf_graceful_shutdown_finish) new function, final part of - shutdown. - (ospf_graceful_shutdown_timer) timer thread wrapper for - graceful-shutdown. - (ospf_graceful_shutdown_check) check whether to setup timer - for shutdown or proceed directly to final shutdown. - (ospf_terminate) moved here from ospf_route.c, call - ospf_finish for each instance. - (ospf_finish) renamed to ospf_finish_final and made static. - (ospf_finish) new function, exported wrapper around - ospf_graceful_shutdown_check. - (ospf_finish_final) complete shutdown of an instance. - Add missing TIMER_OFF's of two timer threads. - (ospf_area_free) opaque self lsa timer should be turned off. - -2005-10-23 Paul Jakma - - * ospf_apiserver.c: (ospf_apiserver_term) This function should - not have side-effects (eg segv) if no apiserver instances are - active, ie be robust. - * ospf_vty.c: (show_ip_ospf) fix display of SPF timer if it - has not yet been run. - -2005-10-21 Paul Jakma - - * ospf_dump.c: (ospf_timeval_dump) fix ms adjustment, thanks to - Andrew Schorr. - * ospf_vty.c: (ospf_config_write) fix write out of spf timers - configuration. - -2005-10-21 Paul Jakma - - * (general) SPF millisecond resolution timer with adaptive, - linear back-off holdtime. Prettification of ospf_timer_dump. - * ospf_dump.c: (ospf_timeval_dump) new function. The guts of - ospf_timer_dump, but made to be more dynamic in printing out - the relative timeval, sliding the precision printed out - according to the value. - (ospf_timer_dump) guts moved to ospf_timeval_dump. - * ospf_dump.h: export ospf_timeval_dump. - * ospf_flood.c: (ospf_flood) remove gettimeofday, use - the libzebra exported recent_time instead, as it's not - terribly critical to have time exactly right - the dropped - LSA will be retransmited to us if we don't ACK it. - * ospf_packet.c: (ospf_ls_upd_timer) Ditto, but here we're - not transmitting, just putting LSA back on update transmit list. - * ospfd.h: delay and holdtimes should be unsigned. - Add spf_max_holdtime and spf_hold_multiplier. - Update default defines for delay and hold time to be in msec. - (struct ospf) change the SPF timestamp to a struct timeval. - Remove ospf_timers_spf_(un)?set. - * ospfd.c: (ospf_timers_spf_{set,unset}) removed. - (ospf_new) initialise spf_max_holdtime and spf_hold_multiplier - * ospf_spf.c: (ospf_spf_calculate) SPF timestamp is a timeval - now, update with gettimeofday. - (ospf_spf_calculate_schedule) Change SPF timers to millisecond - resolution. - Make the holdtime be adaptive, with a linear increase in - holdtime ever consecutive SPF run which occurs within holdtime - of previous SPF, bounded by spf_max_holdtime. - * ospf_vty.c: Update spf timers commands. - (ospf_timers_spf_set) trivial helper. - (ospf_timers_throttle_spf_cmd) new command to set SPF delay, - initial hold and max hold times with millisecond resolution. - (ospf_timers_spf_cmd) Deprecated. Accept the old values, - convert to msec, truncate to new limits. - (no_ospf_timers_throttle_spf_cmd) set timers to defaults. - (no_ospf_timers_spf_cmd) deprecated form, same as previous. - (show_ip_ospf_cmd) Display SPF parameters and times. - (show_ip_ospf_neighbour_header) Centralise the 'sh ip os ne' - header. - (show_ip_ospf_neighbor_sub) Fix the field widths. Get rid of - the multiple spaces which were making the lines even longer. - (show_ip_ospf_neighbor_cmd) Use show_ip_ospf_neighbour_header - (show_ip_ospf_neighbor_all_cmd) ditto and fix the field - widths for NBMA neighbours. - (show_ip_ospf_neighbor_int) Use header function. - (show_ip_ospf_nbr_nbma_detail_sub) use sizeof for timebuf, - local array - safer. - (show_ip_ospf_neighbor_detail_sub) ditto - (ospf_vty_init) install the new SPF throttle timer commands. - -2005-10-21 Paul Jakma - - * (general) OSPF fast, sub-second hello and 1s dead-interval - support. - * ospf_dump.c: (ospf_timer_dump) Print out milliseconds too. - Callers typically specify a length of 9, so most see - millisecs unless they specify the additional length. - * ospf_interface.h: (struct ospf_interface) new interface param, - fast_hello. - * ospf_interface.c: (ospf_if_table_lookup) add brackets, - gcc warning fix. - (ospf_new_if_params) Initialise fast_hello param. - (ospf_free_if_params) Check whether fast_hello is configured. - (ospf_if_new_hook) set fast_hello to default. - * ospf_ism.h: Wrap OSPF_ISM_TIMER_ON inside do {} while (0) to - prevent funny side-effects from its if statement when this - macro is used conditionally by other macros. - (OSPF_ISM_TIMER_MSEC_ON) new macro, set in milliseconds. - (OSPF_HELLO_TIMER_ON) new macro to set hello timer according - to whether fast_hello is set. - * ospf_ism.c: Update all setting of the hello timer to use - either OSPF_ISM_TIMER_MSEC_ON or OSPF_HELLO_TIMER_ON. The - former is used when hello is to be sent immediately. - * ospf_nsm.c: ditto - * ospf_packet.c: (ospf_hello) hello-interval is not checked - for mismatch if fast_hello is set. - (ospf_read) Annoying nit, fix "no ospf_interface" to be debug - rather than a warning, as it can be perfectly normal to - receive packets when logical subnets are used. - (ospf_make_hello) Set hello-interval to 0 if fast-hellos are - configured. - * ospf_vty.c: (ospf_auto_cost_reference_bandwidth) annoying - nit, don't vty_out if this command is given, it gets tired - quick. - (show_ip_ospf_interface_sub) Print the hello-interval - according to whether fast-hello is set or not. - Print the extra 5 millisec characters from (ospf_timer_dump) - if fast-hello is configured. - (ospf_vty_dead_interval_set) new function, common to all - forms of dead-interval command, to set dead-interval and - fast-hello correctly. If a dead-interval is given, unset - fast-hello, else if a hello-multiplier is set, set - dead-interval to 1 and fast-hello to given multiplier. - (ip_ospf_dead_interval_addr_cmd) use - ospf_vty_dead_interval_set(). - (ip_ospf_dead_interval_minimal_addr_cmd) ditto. - (no_ip_ospf_dead_interval) Unset fast-hello. - (no_ip_ospf_hello_interval) Bug-fix, unset of hello-interval - should set it to OSPF_HELLO_INTERVAL_DEFAULT, not - OSPF_ROUTER_DEAD_INTERVAL_DEFAULT. - (config_write_interface) Write out fast-hello. - (ospf_config_write) Write a comment about - "auto-cost reference-bandwidth" having to be equal on all - routers. Hopefully just as noticeable as old practice of - writing to vty, but less annoying. - (ospf_vty_if_init) install the two new dead-interval - commands. - * ospfd.h: Add defines for OSPF_ROUTER_DEAD_INTERVAL_MINIMAL - and OSPF_FAST_HELLO_DEFAULT. - -2005-10-18 Paul Jakma - - * (general) SPF memory management cleanup and fix for rare - double-free bug. - * ospf_spf.h: (struct vertex_parent) New struct to hold parent - specific data, eg the backlink and the parent vertex pointer, - and point to the appropriate general struct vertex_nexthop. - (struct vertex_nexthop) remove parent vertex pointer, so - this struct can be shared across vertices. - (struct vertex) rename list child to list children. Remove - list of nexthops, replace with list of vertex_parents. - * ospf_spf.c: (update_stat) trivial, remove cast from void *. - (vertex_nexthop_new) remove init of parent - field is gone - from struct vertex_nexthop. - (ospf_canonical_nexthops_free) Remove the canonical - vertex_nexthop memory objects. These are the vertex_nexthops - attached to the first level of router vertices from the root. - (vertex_parent_new) new function, create a vertex_parent. - (vertex_parent_free) ditto, but free it. - (ospf_vertex_new) Update to match changes to struct vertex. - (ospf_vertex_free) Recursively free a struct vertex and its - children. The parent list is used as a reference count. - vertex_nexthops must be free seperately, if required. - (ospf_vertex_dump) update to match struct vertex changes. - Print out backlink of parents too. - (ospf_vertex_add_parent) ditto. - (ospf_lsa_has_link) update comment. - (ospf_nexthop_add_unique) removed, not needed anymore. - (ospf_nexthop_merge) ditto. - (ospf_spf_consider_nexthop) renamed to ospf_spf_add_parent. - Simplified to just create vertex_parent and add it. - (ospf_spf_flush_parents) new function, flush out the parent - list. - (ospf_nexthop_calculation) Take the relevant route_lsa_link - as an argument, which simplifies things and removes the need - for the hack in ospf_nexthop_add_unique - ospf_spf_next - already knew exactly which link the cost calculated was for. - Update to match struct vertex changes too. - (ospf_spf_next) Don't create a vertex for W unnecessarily, if - it's there's a vertex already created for W, use it, and - hence there's no need to free it either. - Update some manipulation/comparisons of distance to match. - Flush the parent list if a lower cost path is found. - (ospf_spf_route_free) unused, removed. - (ospf_spf_dump) match the struct vertex changes, and dump the - ifname if possible. - (ospf_spf_calculate) At end of SPF, free the canonical nexthops - and call ospf_vertex_free on the root vertex to free the - entire tree. - * ospf_interface.c: (ospf_vl_set_params) match struct vertex - changes. - * ospf_route.c: (ospf_intra_route_add) ditto - (ospf_route_copy_nexthops_from_vertex) ditto - -2005-10-11 Paul Jakma - - * ospf_api.c: sign warnings. - * ospf_apiserver.c: sign warning and convert all the struct - in_addr initialisations so as not to make assumptions about - how this struct is organised, initialise the s_addr member - explicitely. - * ospf_packet.c: Add const qualifier to auth_key. - -2005-10-06 Alain Ritoux - - * ospf_snmp.c: Avoid mixing interface and ospf_interface objects - which now allows snmpwalk to work with ospfIfTable and - also with ospfIfMetricTable - -2005-10-01 Andrew J. Schorr - - * ospf_dump.c: Remove local hard-coded table ospf_redistributed_proto. - (ospf_redist_string) New function implemented using new library - function zebra_route_string(). Note that there are a few differences - in the output that will result: the new function returns strings - that are lower-case, whereas the old table was mixed case. Also, - the old table mapped ZEBRA_ROUTE_OSPF6 to "OSPFv3", whereas the - new function returns "ospf6". - * ospfd.h: Remove extern struct message ospf_redistributed_proto[], - and add extern const char *ospf_redist_string(u_int route_type) - instead. - * ospf_asbr.c: (ospf_external_info_add) In two messages, use - ospf_redist_string instead of LOOKUP(ospf_redistributed_proto). - * ospf_vty.c: Remove local hard-coded table distribute_str. - (config_write_ospf_redistribute,config_write_ospf_distribute): Use - new library function zebra_route_string() instead of distribute_str[]. - * ospf_zebra.c: (ospf_redistribute_set,ospf_redistribute_unset, - ospf_redistribute_default_set,ospf_redistribute_check) - In debug messages, use ospf_redist_string() instead of - LOOKUP(ospf_redistributed_proto). - -2005-09-30 Vincent Jardin - - * ospf_dump.c, ospf_ia.c, ospf_spf.c, ospf_ase.c: - remove unused DEBUG - -2005-09-29 Alain Ritoux - - * ospf_ism.c: generate SNMP traps on Interface state change - * ospf_nsm.c: generate SNMP traps on Neighbour state change - * ospf_snmp.[ch]: support for SNMP traps for interface and neighbours. - -2005-09-29 Alain Ritoux - - * ospf_vty.c: forece default route LSA to be re_issued whenever - cost is changed ( [no] ip ospf area XXX default-cost YYY) - Support ignore-mtu option - * ospfd.h: define OSPF_MTU_IGNORE_DEFAULT - * ospf_packet.c: support ignore-mtu option - * ospf_interface.h: field added for skipping MTU check - * ospf_interface.c: fix memory leak in ospf_crypt_key_delete() - Set mtu_ignore field to default value - * ospf_abr.[ch]: export ospf_abr_announce_network_to_area() - * ospf_ism.h: add MACRO to convert internal ISM status into SNMP - correct values - * ospf_snmp.c: add sanity check on LSA type in lsdb_lookup_next() - convert OSPFIFSTATE internal status into SNMP values - -2005-09-28 Alain Ritoux - - * ospf_packet.c: use new md5 API - -2005-09-19 Andrew J. Schorr - - * ospf_lsa.h: (ospf_external_lsa_flush) Comment out the 5th argument - (nexthop) since it is not used in the function (except inside - some commented-out code). - * ospf_lsa.c: (ospf_external_lsa_flush,ospf_external_lsa_refresh) - Comment out the 5th argument to ospf_external_lsa_flush. - * ospf_asbr.c: (ospf_redistribute_withdraw) Comment out 5th arg - to ospf_external_lsa_flush. - * ospf_vty.c: (no_ospf_default_information_originate) Eliminate 5th - uninitialized nexthop arg to ospf_external_lsa_flush. - * ospf_zebra.c: (ospf_zebra_read_ipv4) Comment out 5th arg - to ospf_external_lsa_flush. - * ospfd.c: (ospf_network_set) Comment out 5th arg - to ospf_external_lsa_flush. - -2005-09-17 Andrew J. Schorr - - * ospf_opaque.c: - (ospf_opaque_lsa_refresh_schedule,ospf_opaque_lsa_flush_schedule) - No need to call ospf_lookup(), just use lsa0->area->ospf instead. - -2005-08-21 Hasso Tepper - - * ospf_vty.c: Make "show ip ospf neighbor xxx" commands work. - Interface should be specified by name now. - -2005-08-17 Hasso Tepper - - * ospf_vty.c: Check carefully if interface exists before trying to - print info about it. - -2005-08-05 Hasso Tepper - - * ospf_zebra.c: Don't assert/stop before type == ZEBRA_ROUTE_MAX if - dealing with routemaps. There is ospf->route_map[ZEBRA_ROUTE_MAX] - for default-information. - -2005-07-26 Paul Jakma - - * ospf_abr.c: (ospf_abr_announce_network_to_area) SET_FLAG - should be on lsa not old, which may be freed for one thing, - obviously. - -2005-07-12 Paul Jakma - - * ospfd.h: add OSPF_ABR_DEFAULT for convenience, make - OSPF_ABR_CISCO be the default ABR type. - * ospfd.c: (ospf_new) initialise abr_type to OSPF_ABR_DEFAULT - * ospf_vty.c: (no_ospf_abr_type_cmd) add standard as a negatable - abr_type. default abr_type should be OSPF_ABR_DEFAULT. - (ospf_config_write) test whether default abr_type against - OSPF_ABR_DEFAULT, rather than any specific ABR_TYPE. - -2005-06-20 Hasso Tepper - - * ospf_nsm.c: Make database exchange for NSSA database work. - -2005-06-13 Paul Jakma - - * ospf_spf.c: Try get more information on a SEGV under - ospf_spf_vertex_add_parent. - (ospf_vertex_free) NULL out the child and nexthop lists - (ospf_vertex_add_parent) nexthop and child can not be NULL - vertex_nexthop's parent->child list can not be NULL - (ospf_spf_next) w and cw are per-loop iteration variables, move - declarations into loop body. - -2005-06-07 Hasso Tepper - - * ospf_apiserver.c: Fix obvious error in notifying clients about ISM - changes - oi->ifp->status doesn't give to us info about ISM, - oi->state does. - -2005-06-01 Akihiro Mizutani - - * ospf_ism.c (ospf_elect_bdr/ospf_elect_dr): Fix DR election bug. - -2005-05-26 Paul Jakma - - * ospf_abr.c: (ospf_abr_update_aggregate) Fix comment, cost bug itself - had been fixed long ago by Sowmini. - -2005-05-19 Paul Jakma - - * ospf_interface.c: (ospf_if_table_lookup) Fix a serious bug - a less serious one. - 1: this function is supposed to lookup - entries in the oifs ospf_interface route_table and return either - an existing oi or NULL to indicate not found, its caller depends - on this, yet this function uses route_node_get which /always/ - returns a route_node - one is created if none exists. Use - route_node_lookup instead. This should fix root cause of the - reports of the (ospf_add_to_if) assert being hit. - 2: oi's are inserted into this table with prefixlength set to - /32 (indeed, it should be a hash table, not a route_table), - however prefixlength to lookup was not changed, if no valid entry - can be inserted other than /32, then nothng but /32 should be - looked up. This possibly only worked by fluke.. - Fix confirmed by 2 reporters (one list, one IRC), definitely a - backport candidate once it has been incubated in HEAD for a while. - Thanks to Patrick Friedel and Ivan Warren for testing. - -2005-05-11 Paul Jakma - - * (general) Fix memory leaks in opaque AS-scope LSAs, reported and - with much debugging done by by scott collins . - * ospf_lsa.c: (ospf_discard_from_db) dont call - ospf_ase_unregister_external_lsa for opaque-lsa's, opaques are - never registered with ase in the first place. - * ospf_packet.c: (general) Disabuse opaque related code of its - tendency to try gather up things into temporary lists. - (ospf_ls_upd) remove the temporary lists opaque uses, call - opaque functions inline, just like all other types. - (ospf_ls_ack) ditto. - (ospf_recv_packet) fixup sign warning. - * ospf_opaque.c: (general) fix the unneeded use of lists, and - untwist some of the logic. - (ospf_opaque_self_originated_lsa_received) take a single LSA - as argument, not a list of them. Remove the list loop. Logic - otherwise unchanged. - (ospf_opaque_ls_ack_received) Mostly ditto. But untwist the logic, - move the actions up into the switch block, remove the goto's and - sanitise the logic near the end a bit. - * ospf_opaque.h: Adjust definitions of aforementioned functions - in ospf_opaque.c to match. - -2005-05-07 Yar Tikhiy - - * ospf_network.c: Log ifindex on multicast membership leave/join - events. - -2005-05-06 Paul Jakma - - * (general) extern and static qualifiers added. - unspecified arguments in definitions fixed, typically they should - be 'void'. - function casts added for callbacks. - Guards added to headers which lacked them. - Proper headers included rather than relying on incomplete - definitions. - gcc noreturn function attribute where appropriate. - * ospf_opaque.c: remove the private definition of ospf_lsa's - ospf_lsa_refresh_delay. - * ospf_lsa.h: export ospf_lsa_refresh_delay - * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const, - correct thing to do - removes need for the casts later. - * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's - home-brewed versions, shuts up several warnings. - * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and - VTY_GET_IPV4_PREFIX moved to lib/vty.h. - * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky - overloading of the THREAD_ARG pointer should at least use - uintptr_t. - -2005-04-15 Zhipeng Gong - - * ospf_abr.c: (ospf_abr_announce_network_to_area) dont forget - to approve LSAs for the case where metric has changed, lsa gets - flushed otherwise. (backport candidate). - -2005-04-11 Andrew J. Schorr - - * ospf_zebra.c (ospf_zebra_add): Call zclient_send_message instead - of writen. - -2005-04-02 Andrew J. Schorr - - * ospf_interface.h: (ospf_if_lookup_by_name) Remove declaration of a - function that does not exist. - -2005-04-02 Andrew J. Schorr - - * ospf_zebra.c: (zebra_interface_if_lookup) Must use - if_lookup_by_name_len. - -2005-04-02 Andrew J. Schorr - - * ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create. - -2005-04-02 Andrew J. Schorr - - * ospf_vty.c: (show_ip_ospf_interface_sub) Show ifindex and interface - flags to help with debugging. - * ospf_zebra.c: (ospf_interface_delete) After deleting, set ifp->ifindex - to IFINDEX_INTERNAL. - (zebra_interface_if_lookup) Make function static. Tighten up code. - -2005-03-31 Andrew J. Schorr - - * ospf_dump.c: (show_debugging_ospf) Show if ospf event debugging - is turned on. - -2005-03-29 Andrew J. Schorr - - * ospf_zebra.c: (ospf_interface_state_up) If the MTU of an operative - interface changes, print a debug message and call ospf_if_reset() - to simulate down/up on the interface. - * ospf_interface.h: Declare new function ospf_if_reset(). - * ospf_interface.c: (ospf_if_reset) New function to call ospf_if_down - and ospf_if_up for all ospf interfaces attached to an interface. - -2005-03-29 Andrew J. Schorr - - * ospf_packet.c: (ospf_write_frags) Enhance error message to - show MTU. Also make function static. - (ospf_write) Enhance error message to show interface name and MTU. - Also make function static. - -2005-03-29 Andrew J. Schorr - - * ospf_vty.c: (show_ip_ospf_interface_sub) Display interface MTU and - bandwidth; this is useful for debugging problems. Also, the function - should be static. - -2005-03-27 Hasso Tepper - - * ospf_snmp.c: Don't crash in snmp query if ospf instance doesn't - exist at all. - -2005-03-25 Hasso Tepper - - * ospfd.h: Include log.h, fixes compile with gcc-4.0. - -2005-03-13 Andrew J. Schorr - - * ospf_lsa.c: (ospf_lsa_refresh_walker) If the system clock jumps - backward, then current time may be less than - ospf->lsa_refresher_started. This was causing invalid values - for ospf->lsa_refresh_queue.index resulting in infinite loops. - Problem fixed by casting the expression to unsigned before taking - the modulus. - -2005-02-23 Andrew J. Schorr - - * ospfd.h: Add new field struct stream *ibuf to struct ospf. - * ospfd.c: (ospf_new) Check return code from ospf_sock_init. - Allocate ibuf using stream_new(OSPF_MAX_PACKET_SIZE+1). - (ospf_finish) Call stream_free(ospf->ibuf. - * ospf_packet.c: (ospf_read) Call stream_reset(ospf->ibuf) and then - pass it to ospf_recv_packet for use in receiving the packet - (instead of allocating a new stream for each packet received). - Eliminate all calls to stream_free(ibuf). - (ospf_recv_packet) The struct stream *ibuf is now passed in as - an argument. No need to use recvfrom to peek at the packet - header (to see how big it is), just use ospf->ibuf which is - always large enough (this eliminates a system call to recvfrom). - Therefore, no need to allocate a stream just for this packet, - and no need to free it when done. - -2005-02-23 Vincenzo Eramo - - * ospf_lsa.h: New flag to the LSA structure for the SPF calculation. - * ospf_lsdb.h: Export ospf_lsdb_clean_stat() function. - * ospf_spf.h: Add link to the LSA stat structure into vertex. - * ospf_spf.c: New functions cmp() and update_stat() to manage - candidates. Remove ospf_spf_has_vertex(), ospf_vertex_lookup(), - ospf_install_candidate() and ospf_spf_register() functions not needed - any more. Update ospf_vertex_new(), ospf_spf_next() and - ospf_spf_calculate() functions to use pqueue instead of linked list. - -2005-02-21 Hasso Tepper - - * ospf_ase.c: Don't show messages related to the ase calculations if - we are not debugging. - -2005-02-19 Hasso Tepper - - * ospf_api.h: char isn't always signed, but it has to be it here. - -2005-02-19 Paul Jakma - - * ospf_packet.c: (ospf_stream_copy) remove - (ospf_packet_dup) use stream_copy instead of ospf_stream_copy - -2005-02-17 Andrew J. Schorr - - * ospf_packet.c: (ospf_recv_packet) If there is somehow a runt - packet in the queue, it must be discarded. Improve warning messages. - Fix scope to static. - (ospf_read) Fix bug: should reset the read thread in all cases - to make sure we continue to get incoming messages. - -2005-02-15 Paul Jakma - - * ospf_packet.c: (ospf_recv_packet) Fix silly error wrt allocating - ibuf. Thanks Andrew. - -2005-02-14 Paul Jakma - - * ospf_packet.c: (ospf_recv_packet) use stream_recvmsg. - -2005-02-11 Hasso Tepper - - * ospf_lsdb.c: Fix sum of checksums calculation. - -2005-02-09 Andrew J. Schorr - - * ospf_packet.c: (ospf_write) If sendmsg fails, give more info in the - error message. - -2005-02-08 Andrew J. Schorr - - * ospf_interface.h: Reduce structure padding by putting new u_char - field multicast_memberships in a better spot (grouped with - other u_char fields type and state). - -2005-02-08 Andrew J. Schorr - - * ospf_interface.h: Improve passive_interface comment. Add new - multicast_memberships bitmask to struct ospf_interface to track - active multicast subscriptions. Declare new function - ospf_if_set_multicast. - * ospf_interface.c: (ospf_if_set_multicast) New function to configure - multicast memberships properly based on the current - multicast_memberships status and the current values of the - ospf_interface state, type, and passive_interface status. - (ospf_if_up) Remove call to ospf_if_add_allspfrouters (this is - now handled by ism_change_state's call to ospf_if_set_multicast). - (ospf_if_down) Remove call to ospf_if_drop_allspfrouters (now - handled by ism_change_state). - * ospf_ism.c: (ospf_dr_election) Remove logic to join or leave - the DRouters multicast group (now handled by ism_change_state's call - to ospf_if_set_multicast). - (ism_change_state) Add call to ospf_if_set_multicast to change - multicast memberships as necessary to reflect the new interface state. - * ospf_packet.c: (ospf_hello) When a Hello packet is received on a - passive interface: 1. Increase the severity of the error message - from LOG_INFO to LOG_WARNING; 2. Add more information to the error - message (packet destination address and interface address); - and 3. If the packet was sent to ospf-all-routers, then try - to fix the multicast group memberships. - (ospf_read) When a packet is received on an interface whose state - is ISM_Down, enhance the warning message to show the packet - destination address, and try to update/fix the multicast group - memberships if the packet was sent to a multicast address. - When a packet is received for ospf-designated-routers, but the - current interface state is not DR or BDR, then increase the - severity level of the error message from LOG_INFO to LOG_WARNING, - and try to fix the multicast group memberships. - * ospf_vty.c: (ospf_passive_interface) Call ospf_if_set_multicast for - any ospf interface that may have changed from active to passive. - (no_ospf_passive_interface) Call ospf_if_set_multicast for - any ospf interface that may have changed from passive to active. - (show_ip_ospf_interface_sub) Show multicast group memberships. - -2005-02-08 Paul Jakma - - * ospf_packet.c: (various) Remove unneeded stream_set_putp abuse. - -2005-02-02 Andrew J. Schorr - - * ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down, - not for event ISM_InterfaceDown. And improve the message by - adding the interface flags. - -2005-01-30 Andrew J. Schorr - - * ospf_network.c: (ospf_sock_init) Save errno before calling - ospfd_privs.change. - -2005-01-29 Andrew J. Schorr - - * ospf_packet.c: (ospf_packet_add) If oi->obuf is NULL, print - an error message and return. - (ospf_read) If the interface state is ISM_InterfaceDown, issue - a warning message and ignore the packet. - -2005-01-10 Greg Troxel - - * ospf_packet.h: Remove commented out definition of - OSPF_MAX_PACKET; neither it or the uncommented one are used any more. - - * ospf_packet.c (ospf_make_ls_upd): Leave room for authentication - when deciding if an update will fit. - (ospf_packet_authspace): Factor out calculation of size required - for authentication. - (ospf_make_db_desc): Use ospf_max_packet, not OSPF_MAX_PACKET. - Don't confuse readers that there is a macro. - -2004-12-30 Andrew J. Schorr - - * ospf_network.c: Improve all setsockopt error messages to give detailed - information on the arguments. - -2004-12-29 Andrew J. Schorr - - * ospf_packet.c: (ospf_db_desc) Reduce severity of "Negotiation done" - messages from LOG_WARNING to LOG_INFO, since this seems to be - normal. - -2004-12-29 Andrew J. Schorr - - * ospf_packet.c: (ospf_read) Always look up the interface if - ospf_recv_packet returns NULL ifp, since some platforms such - as Solaris 8 appear to support ifindex retrieval but don't. - -2004-12-22 Hasso Tepper - - * ospf_dump.c: Show debug configuration in vtysh. - * ospf_vty.c: Fix "show ip ospf" output. Router can't be elected in - any case if it's configured as "translate-never". - * ospf_lsdb.[ch]: New function to calculate sum of checksums. - * ospf_vty.c: Bugfix to show really number of AS external LSAs, not - number of all LSAs with AS scope, this includes opaque as LSAs as - well, show this number separately. Show numbers and sums of - checksums for each type of LSAs. - * ospf_lsa.c: Calculate checksum before putting LSA into database. - -2004-12-15 Andrew J. Schorr - - * ospf_interface.h: Declare new function ospf_default_iftype. - * ospf_interface.c: (ospf_default_iftype) New function to centralize - this logic in one place. - * ospf_zebra.c: (ospf_interface_add) Use new function - ospf_default_iftype. - * ospf_vty.c: (no_ip_ospf_network,config_write_interface) Fix logic - by using new function ospf_default_iftype. - -2004-12-11 Andrew J. Schorr - - * ospf_packet.c: (ospf_db_desc) Should be static, not global. - (ospf_hello,ospf_db_desc,ospf_ls_upd,ospf_ls_ack) Improve warning - messages to include identifying information (e.g. router id). - * ospf_nsm.c: (nsm_change_state) Improve info message to include - router id and state names. - -2004-12-09 Greg Troxel - - * ospf_apiserver.c (ospf_apiserver_term): Obtain struct - ospf_apiserver * from listnode. Remove unused variables. Follows - suggestion from Jay Fenlason. - -2004-12-08 Andrew J. Schorr - - * *.c: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr - - * ospf_main.c: (main) The 2nd argument to openzlog has been removed. - -2004-12-03 Andrew J. Schorr - - * ospf_packet.c: (ospf_db_desc) Reduce priority on a debug message - from LOG_NOTICE to LOG_DEBUG. - -2004-12-03 Andrew J. Schorr - - * ospf_main.c: (sigint) Use zlog_notice for termination message. - (main) Issue a startup announcement using zlog_notice. - -2004-11-30 Andrew J. Schorr - - * ospf_packet.c: (ospf_db_desc_proc) Fix spelling of packet in warning - message and in comment. - (ospf_db_desc) Warning message that a packet is being discarded - should give the router id of the packet source. Fix spelling - of packet in two warning messages. - (ospf_ls_req) Warning message that a link state request is being - discarded should give the router id of the neighbor that sent it. - -2004-11-26 Andrew J. Schorr - - * ospf_main.c: Remove #include "debug.h" (was not being used, and - lib/debug.h has now been deleted). - -2004-11-25 Hasso Tepper - - * ospf_main.c: Make group to run as configurable. - -2004-11-15 Greg Troxel - - * ospf_packet.c (ospf_recv_packet): Assume CMSG_SPACE is present - and works (lib/zebra.h provides if OS doesn't). - -2004-11-15 Paul Jakma - - * ospf_{apiserver,te}.c: ospf_lsa_free's should be ospf_lsa_unlock. - -2004-11-12 Paul Jakma - - * ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to - ignore stub area summary default. Even so it seems a strange - check, add a comment to that effect. - -2004-11-04 Paul Jakma - - * ospfd.c: (ospf_network_match_iface) revert to previous network - statement match behaviour. - -2004-11-02 Paul Jakma - - * ospf_packet.c: (ospf_write_frags) remove iov arg, msg already points - to it. Add convenience pointer to msg->msg_iov[1], and use this, - fixing the unfortunate borkenness introduced in moving of this code - to a function. - (ospf_write) remove iovp and fix up call to previous. - (ospf_ls_upd_packet_new) cast size to long int - unfortunately - glibc's size_t format modifier is not portable. - -2004-10-31 Paul Jakma - - * ospf_packet.c: (ospf_write_frags) Add debug output - (ospf_write) set type early, so we can pass it to - ospf_write_frags. - (ospf_ls_upd_packet_new) print size in debug output when too large - packet is encountered. - * ospf_zebra.c: (ospf_distribute_list_update_timer) Ugly misuse of - THREAD_ARG to store an integer, but it should at least use same - same type to retrieve the value. Assert value is sane. - -2004-10-22 Paul Jakma - - * ospf_network.c: (ospf_sock_init) call neutral setsock_ifindex() - function. - * ospf_packet.c: (ospf_read) manually look up ifindex - if system could not have returned one, eg openbsd, thanks to Rivo - Nurges for highlighting problem and fix. - Change setsockopt_pktinfo to setsockopt_ifindex. - -2004-10-19 Andrew J. Schorr - - * ospf_snmp.c: (ospf_snmp_if_update) Fix logic to handle PtP links - with dedicated subnets properly. - * ospf_lsa.c: (lsa_link_ptop_set) ditto. - * ospfd.c: (ospf_network_match_iface) ditto. - (ospf_network_run) ditto. - * ospf_interface.c: (ospf_if_is_configured) ditto. - (ospf_if_lookup_by_prefix) ditto. - (ospf_if_lookup_recv_if) ditto. - * ospf_vty.c: (show_ip_ospf_interface_sub) Display the peer or - broadcast address if present. - -2004-10-13 Hasso Tepper - - * ospf_main.c: Unbreak compilation with ospfapi disabled. - * ospf_snmp.c: Remove defaults used to initialize smux connection to - snmpd. Connection is initialized only if smux peer is configured. - -2004-10-12 Hasso Tepper - - * ospf_main.c, ospf_opaque.c: Unbreak ospfclient compilation - move - static variable from ospf_main.c into ospf_opaque.c. - -2004-10-11 Hasso Tepper - - * ospf_main.c, ospf_opaque.c: Disable ospfapi init by default. New - command line switch to enable it. - -2004-10-11 Paul Jakma - - * ospf_dump.c: (ospf_ip_header_dump) Assume header is in host order - remove ntohs that should have dissappeared. Take struct ip - as argument, caller has to know there's an IP header at start of - stream anyway. - * ospf_dump.h: update declaration of ospf_ip_header_dump. - * ospf_packet.c: (ospf_write) correct call to - sockopt_iphdrincl_swab_htosys which was munging the header. - (ospf_recv_packet) ip_len is needed for old OpenBSD fixup. - (ospf_read) sockopt_iphdrincl_swab_systoh ip header as soon as - we have it. - * (global) Const char update and signed/unsigned fixes. - * (various headers) size defines should be unsigned. - * ospf_interface.h: remove duplicated defines, include the - authoritative header - though, these defines should probably - be moved to a dedicated header, or ospfd.h. - * ospf_lsa.h: (struct lsa) ls_seqnum should be unsigned. - * ospf_packet.c: (ospf_write) cast result of shift to unsigned. - -2004-10-08 Hasso Tepper - - * *.[c|h]: Fix compiler warnings: make some strings const, signed -> - unsigned, remove unused variables etc. - -2004-10-07 Greg Troxel - - * ospf_apiserver.c (ospf_apiserver_unregister_opaque_type): Don't - use of variable names 'node' and 'nextnode' to avoid possible - conflict with list macros. Move variable declaration inside for - loop after a statement to top of function. - -2004-10-07 Paul Jakma - - * ospf_snmp.c: Missed list typedef update - * ospf_dump.c: Include sockopt.h for header swab functions. - -2004-10-05 Paul Jakma - - * ospf_packet.c: replace ospf_swap_iph_to... with - sockopt_iphdrincl_swab_... - -2004-10-03 James R. Leu - - * ospf_zebra.c: Read router id related messages from zebra daemon. - Schedule router-id update thread if it's changed. - * ospfd.c: Remove own router-id selection function. Use router id from - zebra daemon if it isn't manually overriden in configuration. - -2004-09-27 Paul Jakma - - * ospf_dump.c: (ospf_ip_header_dump) Use HAVE_IP_HDRINCL_BSD_ORDER - Apply to offset too. Print ip_cksum, lets not worry about - possible 2.0.37 compile problems. - * ospf_packet.c: (ospf_swap_iph_to{n,h}) Use - HAVE_IP_HDRINCL_BSD_ORDER. - (ospf_recv_packet) ditto. - (ospf_write) Fixup iov argument to ospf_write_frags. - (struct msghdr).msg_name is caddr_t on most platforms. - (ospf_recv_packet) ditto. And msg_flags is not always there - memset struct then set fields we care about rather than - initialise all fields individually. - -2004-09-26 Hasso Tepper - - * ospf_abr.c, ospf_dump.c, ospf_lsa.c, ospf_packet.c, ospf_vty.c, - ospf_zebra.c: Fix compiler warnings. - -2004-09-24 Paul Jakma - - * ospf_apiserver.{c,h}: lists typedef removal cleanup. - update some list loops to LIST_LOOP. some miscellaneous indent - fixups. - (ospf_apiserver_unregister_opaque_type) fix listnode_delete of - referenced node in loop. - (ospf_apiserver_term) loops calling ospf_apiserver_free, which - deletes referenced nodes from apiserver_list, fixed. - * ospf_interface.h: lists typedef removal cleanup. - * ospf_opaque.{c,h}: lists typedef removal cleanup. update some list - loops to LIST_LOOP. miscellaneous style and indent fixups. - * ospf_te.{c,h}: ditto - * ospf_packet.c: lists typedef removal cleanup. - (ospf_write) ifdef fragmentation support. move actual - fragmentation out to a new, similarly ifdefed, function. - (ospf_write_frags) fragmented write support, moved from previous. - -2004-09-23 Hasso Tepper - - * *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-12 Paul Jakma - - * ospf_packet.c: Fix bugzilla #107 - (ospf_packet_max) get rid of the magic 88 constant - (ospf_swab_iph_ton) new function. set ip header to network order, - taking BSDisms into account. - (ospf_swab_iph_toh) the inverse. - (ospf_write) Add support for IP fragmentation, will only work on - linux though, other kernels make it impossible. get rid of the - magic 4 constant. - (ospf_make_ls_upd) Bound check to end of stream, not to - interface mtu. - (ospf_ls_upd_packet_new) New function, allocate upd packet - taking oversized LSAs into account. - (ospf_ls_upd_queue_send) use ospf_ls_upd_packet_new to allocate, - rather than statically allocating mtu sized packet buffer, which - actually was wrong - it didnt take ip header into account, which - should not be included in packet buffer. - (ospf_ls_upd_send_queue_event) minor tweaks and remove - TODO comment. - -2004-08-31 David Wiggins - - * ospf_spf.c (ospf_spf_calculate): Many more comments and debug - print statements. New function ospf_vertex_dump used in debugging. - -2004-08-31 David Wiggins - - * ospf_spf.h (struct vertex): Comments for flags and structure members. - -2004-08-31 David Wiggins - - * ospf_route.c: When finding an alternate route, log cost as well. - -2004-08-31 David Wiggins - - * ospf_interface.c (ospf_lookup_if_params): Initialize af in - struct prefix allocated on stack. - -2004-08-31 David Wiggins - - * ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send - acks to AllSPFRouters, rather than All-DR. - -2004-08-27 Hasso Tepper - - * ospf_vty.c: Don't print ospf network type under interface only - if interface is in broadcast mode and interface type really is - broadcast. Fixes Bugzilla #108. - -2004-08-27 David Wiggins - - * ospf_spf.c (ospf_nexthop_calculation): Initialize address family - in on-stack struct prefix_ipv4. Fixes point-to-multipoint SPF - calculation. - -2004-08-26 Greg Troxel - - * ospf_packet.c (ospf_recv_packet): adjust size declaration of - buffer used to get interface index so that it compiles on other - than Linux and includes the required alignment space. Probably - this was only working on sparc/sparc64 because most of - sockaddr_dl was not being written. - -2004-08-19 Paul Jakma - - * ospf_packet.c: update to match sockopt renames. - -2004-08-04 Paul Jakma - - * ospf_spf.c: (ospf_spf_consider_nexthop) Add comment about issue. - Compare only against list head - all nexthops must be same cost - anyway, fixes a reference-listnode-after-delete bug noted by - Kir Kostuchenko. - (ospf_nexthop_calculation) Use ospf_spf_consider_nexthop for all - candidates attached to root. - -2004-07-27 Paul Jakma - - * ospf_packet.c: (ospf_ls_upd_send_queue_event) fix thinko from - last fix for ospfd wedging due to oversize LSAs: dont list loop on - ospf_ls_upd_queue_send() - guaranteed segfault. - -2004-07-27 Paul Jakma - - * ospf_opaque.c: (ospf_opaque_lsa_flush_schedule) do not NULL out - the LSA as then free_opaque_info_per_id() can never unlock (and - free) the LSA. Reported by Gunnar Stigen. - -2004-07-23 Paul Jakma - - * ospf_network.c: Replace PKTINFO/RECVIF with call to - setsockopt_pktinfo - * ospf_packet.c: Use getsockopt_pktinfo_ifindex and - SOPT_SIZE_CMSG_PKTINFO_IPV4. - -2004-07-14 Paul Jakma - - * ospf_packet.c: (ospf_ls_upd_send_queue_event) Partial fix for - problem reported by Peter Frost amongst others, where function - will spin indefinitely if update list contains LSAs greater than - MTU-headers or other condition leading to update list never being - cleared. Problem of what to do with these LSAs remains. - (ospf_make_ls_upd) add comment about large LSA problem, - indentation cleanup. - -2004-07-01 Greg Troxel - - * Makefile.am (lib_LTLIBRARIES): make libospf shared - -2004-06-30 Greg Troxel - - * Makefile.am: Add shlib support. - -2004-06-10 Hasso Tepper - - * *: Removed ifdefs HAVE_NSSA. - -2004-06-06 Paul Jakma - - * ospf_dump.c,ospf_lsa.c: Fix typos of merge of previous. - ospf_flood.c: (ospf_process_self_originated_lsa) fix zlog format - -2004-05-31 Sagun Shakya - - * ospf_dump.c: (ospf_lsa_header_dump) LOOKUP can return null if - index is out of range. - ospf_flood.c: endianness fix - ospf_lsa.c: Missing ntohl's on (struct lsa *)->data->ls_seqnum - in various places. - -2004-05-10 Hasso Tepper - - * ospf_zebra.c, ospfd.c: Move ospf_prefix_list_update() function - to ospf_zebra.c from ospfd.c and add redistribution updates if - route-map is used in redistribution. - * ospf_main.c: Remove now useless call to ospf_init(). - -2004-05-08 Paul Jakma - - * ospf_zebra.c: Sync with lib/zclient changes - -2004-05-05 Paul Jakma - - * ospf_network.c: (ospf_sock_init) Check whether IP_HDRINCL is - defined. Warn at compile and runtime. Use - IPTOS_PREC_INTERNETCONTROL otherwise. - * ospf_packet.c: (ospf_associate_packet_vl) cleanup, move - some of the checks up to ospf_read, return either a - virtual link oi, or NULL. - (ospf_read) Cleanup, make it responsible for checks. Remove - the nbr lookup - moved to ospf_neighbor. Adjust all nbr - lookups to use new wrappers exported by ospf_neighbor. - * ospf_neighbor.h: Add ospf_neigbour_get and ospf_nbr_lookup. - * ospf_neighbor.c: (ospf_neigbour_get) Index ospf_interface - neighbour table by router-id for virtual-link ospf_interfaces, - not by peer_addr (which breaks for asymmetric vlinks) - (ospf_nbr_lookup) add a wrapper for nbr lookups to deal with - above. - * ospf_interface.c: (ospf_vl_set_params) Catch changes of interface - address for either end of a virtual-link, and hence potential cost - changes. - -2004-04-22 Hasso Tepper - - * ospf_zebra.c: Don't ignore reject/bh routes, it's the only way - to "summarize" routes in ASBR at the moment. - -2004-04-20 Hasso Tepper - - * ospfd.c: Unset NP flag if area is going to be normal or stub. - Fixes UNH OSPF_NSSA.1.2a comment. - * ospf_abr.c: Originate default into stub/nssa area even if - summaries are disabled. - * ospf_zebra.c: Don't attempt to redistribute 127.0.0.0/8. - -2004-04-19 Hasso Tepper - - * ospf_vty.c: Don't warn that export- and import-list can't be - configured to backbone area if they are applied and are working - fine. - -2004-02-19 Sowmini Varadhan - - * ospf_packet.c: Don't drop packets in Solaris x86. - [quagga-dev 1005]. - -2004-03-18 Amir Guindehi - - * ospf_opaque.c: Attempt to correct the incorrect behavior of - Quagga's ospfd in the special situation that a node's opaque - capability has changed as "ON -> OFF -> ON". [quagga-dev 843]. - -2004-02-19 Sowmini Varadhan - - * ospf_abr.c: (ospf_abr_update_aggregate) UNH 3.12b,c, address range - should be configured with the highest cost path within the range, - not lowest. - -2004-02-17 Paul Jakma - - * ospf_zebra.c: (ospf_interface_delete) Do not delete the interface - params, nor the interface structure, if an interface delete - message is received from zebra. - * ospf_interface.c: (ospf_if_delete_hook) Delete the interface - params and interface, ie that which was previously removed in - (ospf_interface_delete) above. - -2004-02-11 Hasso Tepper - * ospf_interface.c, ospf_zebra.c: Don't attempt to read path->oi->ifp - if oi doesn't exist any more. - -2004-02-11 Vadim Suraev - * ospf_packet.c (ospf_ls_upd): Router should flush received network - LSA if it was originated with older router-id ([zebra 14710] #6). - -2003-12-08 Mattias Amnefelt - - * ospf_packet.c: (ospf_recv_packet) OpenBSD now leaves iph.ip_len - network byte order. - -2003-12-05 Greg Troxel - - * ospfd.c (ospf_network_match_iface): Rewrite code for clarity - while trying not to change semantics. Add ifdefed-out code to - avoid matching ppp interfaces whose destination address does not - also match the prefix under consideration, to help out people with - problems due to as-yet-unfixed bugs with p2p interfaces coming and - going. - -2003-07-25 kamatchi soundaram - - * ospf_packet.c (ospf_ls_upd_send_queue_event): get next route - node in body of the loop to avoid chance that route node - is unlocked and deleted before the next iteration tries to - get next route node. - -2003-05-24 Kenji Yabuuchi - - * ospf_interface.c(ospf_if_lookup_recv_if): Use the most specific - match for interface lookup. - -2003-05-18 Hasso Tepper - - * ospf_vty.c: Show NSSA LSA route info in "show ip ospf database" - output - -2003-05-16 Hasso Tepper - - * ospf_lsa.c: Fix handling of NSSA - -2003-04-23 Hasso Tepper - - * ospf_vty.c: fix "router xxx" node commands in vtysh - -2003-04-19 Hasso Tepper - - * {ospf_abr,ospfd}.c: area id's DECIMAL -> ADDRESS - * ospf_routemap.c: sync daemon's route-map commands to have same - syntax. - -2003-04-19 Sergey Vyshnevetskiy - - * ospf_packet.c: Add missing param to zlog - * ospf_flood.c: remove unused vars - -2003-04-17 Denis Ovsienko - - * ospf_interface.c: fix incorrect memset - -2003-04-10 Amir Guindehi - - * ospf_lsa.[ch]: opaque LSA fix, use ospf_lookup. - -2003-04-03 David Watson - - * ospf_lsa.c: byte order fix - -2002-03-17 Amir Guindehi - - * ospf_apiserver.[ch]: Merge Ralph Keller's OSPFAPI support. - * ospf_api.[ch]: Merge Ralph Keller's OSPFAPI support. - * ospfclient: OSPFAPI demonstration client. - -2003-01-23 Masahiko Endo - - * ospf_ism.c: NSM event schedule bug fix. - -2002-10-30 Greg Troxel - - * ospf_packet.c (ospf_make_md5_digest): MD5 length fix. - -2002-10-23 endo@suri.co.jp (Masahiko Endo) - - * ospf_opaque.c: Update Opaque LSA patch. - -2002-10-23 Ralph Keller - - * ospf_vty.c (show_ip_ospf_database): Fix CLI parse. - -2002-10-23 Juris Kalnins - - * ospf_interface.c (ospf_if_stream_unset): When write queue - becomes empty stop write timer. - -2002-10-10 Greg Troxel - - * ospf_packet.c (ospf_check_md5_digest): Change >= to > to make it - conform to RFC. - -2002-07-07 Kunihiro Ishiguro - - * zebra-0.93 released. - -2002-06-19 Kunihiro Ishiguro - - * ospf_spf.c (ospf_nexthop_calculation): Add NULL set to oi and - check of l2. Reported by: Daniel Drown - (ospf_lsa_has_link): LSA Length calculation fix. Reported by: - Paul Jakma . - - * ospfd.c (ospf_if_update): Fix nextnode reference bug. Reported - by: juris@mt.lv. - -2002-01-21 Kunihiro Ishiguro - - * ospfd.c: Merge [zebra 11445] Masahiko ENDO's Opaque-LSA support. - -2001-08-27 Kunihiro Ishiguro - - * ospf_interface.c (ospf_add_to_if): Use /32 address to register - OSPF interface information. - (ospf_delete_from_if): Likewise. - - * ospf_zebra.c (ospf_interface_address_delete): Likewise. - -2001-08-23 Kunihiro Ishiguro - - * ospf_zebra.c (ospf_redistribute_unset): When redistribute type - is OSPF, do not unset redistribute flag. - -2001-08-19 Kunihiro Ishiguro - - * zebra-0.92a released. - -2001-08-15 Kunihiro Ishiguro - - * zebra-0.92 released. - -2001-08-12 Kunihiro Ishiguro - - * ospfd.c (ospf_config_write): auto-cost reference-bandwidth - configuration display. - -2001-07-24 David Watson - - * ospf_spf.c (ospf_spf_next): Modify ospf_vertex_add_parent to - check for an existing link before connecting the parent and child. - ospf_nexthop_calculation is also modified to check for duplicate - entries when copying from the parent. Finally, ospf_spf_next - removes duplicates when it merges two equal cost candidates. - -2001-07-23 itojun@iijlab.net - - * ospfd.c (show_ip_ospf_neighbor): Check ospf_top before use it - [zebra 8549]. - -2001-07-23 Kunihiro Ishiguro - - * ospf_packet.c (ospf_write): Remove defined(__OpenBSD__) to make - it work on OpenBSD. - -2001-06-26 Kunihiro Ishiguro - - * ospf_zebra.c (config_write_ospf_default_metric): Display - default-metric configuration. - -2001-06-18 Kunihiro Ishiguro - - * ospf_ia.h (OSPF_EXAMINE_SUMMARIES_ALL): Remove old macros. - -2001-05-28 Kunihiro Ishiguro - - * ospf_snmp.c (ospfIfEntry): Fix interface lookup bug to avoid - crush. - (ospfIfMetricEntry): Likewise. - -2001-03-18 Kunihiro Ishiguro - - * ospf_packet.c (ospf_read): Fix typo. Reported by: "Jen B - Lin'Kova" . - -2001-03-15 Gleb Natapov - - * ospf_interface.c (ip_ospf_network): Set interface parameter. - (interface_config_write): Add check for OSPF_IFTYPE_LOOPBACK. - - * ospf_zebra.c (ospf_interface_add): Set interface parameter. - -2001-02-21 Kunihiro Ishiguro - - * ospf_packet.c (ospf_recv_packet): Solaris also need to add - (iph.ip_hl << 2) to iph.ip_len. - -2001-02-09 Kunihiro Ishiguro - - * ospfd.h (OSPF_LS_REFRESH_TIME): Fix OSPF_LS_REFRESH_TIME value. - Suggested by: David Watson . - - * ospf_zebra.c (zebra_init): Remove zebra node. - - * ospfd.c (ospf_area_range_set): Function name is changed from - ospf_ara_range_cmd. - (ospf_area_range_unset): New function which separated from DEFUN. - New commands are added: - "no area A.B.C.D range A.B.C.D/M advertise" - "no area <0-4294967295> range A.B.C.D/M advertise" - "no area A.B.C.D range A.B.C.D/M not-advertise" - "no area <0-4294967295> range A.B.C.D/M not-advertise" - - * ospf_lsa.c (ospf_lsa_more_recent): Fix previous change. - -2001-02-08 Matthew Grant - - * ospf_network.c (ospf_if_add_allspfrouters): Use - setsockopt_multicast_ipv4. - (ospf_if_drop_allspfrouters): Likewise. - - * ospf_lsa.c (ospf_router_lsa_install): Add rt_recalc flag. - (ospf_network_lsa_install): Likewise. - (ospf_summary_lsa_install): Likewise. - (ospf_summary_asbr_lsa_install): Likewise. - (ospf_external_lsa_install): Likewise. - (ospf_lsa_install): Call ospf_lsa_different to check this LSA is - new one or not. - -2001-02-08 Kunihiro Ishiguro - - * ospf_zebra.c (ospf_interface_delete): Do not free interface - structure when ospfd receive interface delete message to support - pseudo interface. - -2001-02-01 Dick Glasspool - - * ospfd.c (area_range_notadvertise): Change area range "suppress" - command to "not-advertise". - - * ospfd.h (OSPF_LS_REFRESH_TIME): Change OSPF_LS_REFRESH_TIME from - 1800 to 60. - - * ospf_abr.c (ospf_abr_update_aggregate): When update_aggregate is - updating the area-range, the lowest cost is now saved. - - * ospf_lsa.c (ospf_lsa_more_recent): Routing to compare sequence - numbers rather than creating overflow during calculation. - -2001-02-01 Kunihiro Ishiguro - - * zebra-0.91 is released. - -2001-01-31 Kunihiro Ishiguro - - * ospf_packet.c (ospf_db_desc_proc): Do not continue process when - NSM_SeqNumberMismatch is scheduled. - (ospf_ls_req): Free ls_upd when return from this function. - (ospf_ls_upd_timer): When update list is empty do not call - ospf_ls_upd_send(). Suggested by: endo@suri.co.jp (Masahiko - Endo). - -2001-01-26 Kunihiro Ishiguro - - * ospf_lsa.c (ospf_maxage_flood): Flood LSA when it reaches - MaxAge. RFC2328 Section 14. - (ospf_maxage_lsa_remover): Call above function during removing - MaxAge LSA. - -2001-01-26 Dick Glasspool - - * ospf_flood.c (ospf_flood_through_as): Function is updated for - NSSA Translations now done at ospf_abr.c with no change in P-bit. - - * ospf_lsa.c (ospf_get_nssa_ip): Get 1st IP connection for Forward - Addr. - (ospf_install_flood_nssa): Leave Type-7 LSA at Lock Count = 2. - - * ospf_ase.c (ospf_ase_calculate_route): Add debug codes. - - * ospf_abr.c (ospf_abr_translate_nssa): Recalculate LSA checksum. - - * ospf_packet.h (OSPF_SEND_PACKET_LOOP): Added for test packet. - - * ospf_dump.c (ospf_lsa_type_msg): Add OSPF_GROUP_MEMBER_LSA and - OSPF_AS_NSSA_LSA. - - * ospfd.c (data_injection): Function to inject LSA. This is - debugging command. - -2001-01-11 Kunihiro Ishiguro - - * ospf_route.c (ospf_route_match_same): Remove function. - (ospf_route_match_same_new): Renamed to ospf_route_match_same. - - * ospf_zebra.c (ospf_interface_address_delete): Add check for - oi->address. Suggested by Matthew Grant - . - (ospf_zebra_add): Remove function. - (ospf_zebra_add_multipath): Rename to ospf_zebra_add. - - * ospf_interface.c: Remove HAVE_IF_PSEUDO part. - - * ospf_zebra.c: Likewise. - -2001-01-10 Kunihiro Ishiguro - - * ospf_ase.c: Remove OLD_RIB part. - - * ospf_route.c: Likewise. - - * zebra-0.90 is released. - - * ospf_packet.c (ospf_recv_packet): Use ip_len adjestment code to - NetBSD. - -2001-01-09 Kunihiro Ishiguro - - * ospf_route.c (ospf_route_delete): Use - ospf_zebra_delete_multipath. - -2001-01-09 Matthew Grant - - * ospf_interface.c (ospf_if_cleanup): Function name is renamed - from ospf_if_free(). Rewrite whole procudure to support primary - address deletion. - - * ospf_zebra.c (ospf_interface_address_delete): Add primary - address deletion process. - -2001-01-09 Kunihiro Ishiguro - - * ospf_packet.c (ospf_recv_packet): OpenBSD has same ip_len - treatment like FreeBSD. - -2001-01-09 endo@suri.co.jp (Masahiko Endo) - - * ospf_packet.c (ospf_recv_packet): FreeBSD kernel network code - strips IP header size from receiving IP Packet. So we adjust - ip_len to whole IP packet size by adding IP header size. - -2001-01-08 endo@suri.co.jp (Masahiko Endo) - - * ospf_network.c (ospf_serv_sock): When socket() is failed return - immediately. - (ospf_serv_sock): Close socket when it is not used. - - * ospf_packet.c (ospf_write): Set sin_len when HAVE_SIN_LEN is - defined. - (ospf_write): When bind is fined, close sock. - -2001-01-07 Gleb Natapov - - * ospf_zebra.c (ospf_interface_state_up): Fixes coredump that - appears when you try to configure bandwidth on the ppp interface - that is not yet configured in ospfd. - -2001-01-07 Michael Rozhavsky - - * ospf_route.c (show_ip_ospf_route_external): "show ip ospf route" - will print nexthops for AS-external routes. - - * ospf_ase.c (ospf_ase_route_match_same): New function to compare - ASE route under multipath environment. - (ospf_ase_compare_tables): Likewise. - -2001-01-01 Kunihiro Ishiguro - - * ospfd.h (OSPF_VTYSH_PATH): Change "/tmp/ospfd" to "/tmp/.ospfd". - -2000-12-28 Kunihiro Ishiguro - - * ospf_route.c (ospf_route_install): Install multipath information - to zebra daemon. - - * ospf_zebra.c (ospf_zebra_add_multipath): Function for passing - multipath information to zebra daemon. - -2000-12-25 Dick Glasspool - - * ospf_packet.c (ospf_write): Call ospf_packet_delete when sendto - fail. - (DISCARD_LSA): Add argument N for logging point of DISCARD_LSA is - called. - - * ospf_lsa.c (ospf_external_lsa_refresh): NSSA install_flood will - leave Type-7 LSA at Lock Count = 2. - - * ospf_flood.c (ospf_flood_through): Flood_though_as updated for - NSSA no P-bit off during Area flooding, but P-bit is turned off - for mulitple NSSA AS flooding. - - * ospf_ase.c (ospf_ase_calculate_timer): Added calculations for - Type-7 LSDB. - - * ospf_abr.c (ospf_abr_translate_nssa): Removed one unlock call. - (ospf_abr_announce_nssa_defaults): Corrected Debug from EVENT to - NSSA. - -2000-12-25 Michael Rozhavsky - - * ospf_zebra.c (ospf_zebra_read_ipv4): Checking the age of the - found LSA and if the LSA is MAXAGE we should call refresh instead - of originate. - -2000-12-18 Dick Glasspool - - * ospf_abr.c: Removed redundant "...flood" in - announce_network_to_area(). Repaired nssa Unlock by using - discard. - - * ospf_packet.c: Removed old NSSA translate during mk_ls_update. - - * ospfd.c: Free up all data bases including NSSA. - - * ospf_lsa.c: Now allow removal of XLATE LSA's Check in - discard_callback. Added routine to get ip addr from within the - ifp. - - * ospf_flood.c: Now set Forward Address for outgoing Type-7. - - * ospf_lsa.h: Added prototype for the below. struct in_addr - ospf_get_ip_from_ifp (struct interface *ifp). - -2000-12-14 Gleb Natapov - - * ospf_packet.c (ospf_recv_packet): New OSPF pakcet read method. - Now maximum packet length may be 65535 bytes (maximum IP packet - length). - - * ospf_interface.c (ospf_if_stream_set): Don't make input buffer. - - * ospfd.c (config_write_network_area): Remove unnecessary area - lookup code. - -2000-12-13 Kunihiro Ishiguro - - * ospf_packet.c (ospf_read): Accept packet bigger than MTU value. - -2000-12-13 Gleb Natapov - - * ospfd.c (config_write_network_area): Fix bug in - config_write_network_area function. - -2000-12-12 Gleb Natapov - - * ospf_abr.c (ospf_abr_announce_network_to_area): Make Summary - LSA's origination and refreshment as same as other type of LSA. - - * ospf_lsa.c (ospf_summary_lsa_refresh): Return struct ospf_lsa *. - - * ospf_lsa.c (ospf_summary_asbr_lsa_refresh): Likewise. - -2000-12-08 Dick Glasspool - - The bulk of NSSA changes are contained herein; This version will - require manual setting of "always" for NSSA Translator, and will - not perform aggregation yet. - - * ospf_dump.c: "debug ospf nssa" is added. - - * ospf_dump.h: Likewise. - - * ospf_packet.c (ospf_hello): Display router ID on Bad NSSA Hello. - - * ospfd.c: Discard_LSA to stay away from LOCAL_XLT Process NSSA - 'never, candidate, always'. Change "suppress" to "not-advertise". - - * ospfd.h: Add TranslatorRole to struct ospf_area. Add anyNSSA to - struct ospf. - - * ospf_ase.c (ospf_ase_calculate_route): External to stay away - from LOCAL_XLT - - * ospf_nsm.c (ospf_db_summary_add): External to stay away from - LOCAL_XLT - - * ospf_abr.c: Major logic added for abr_nssa_task(). If ABR, and - NSSA translator, then do it. Approve the global list, and flush - any unapproved. - - * ospf_lsa.h: New LSA flag OSPF_LSA_LOCAL_XLT to indicate that the - Type-5 resulted from a Local Type-7 translation; not used for - flooding, but used for flushing. - - * ospf_flood.c: New NSSA flooding. - -2000-12-08 Michael Rozhavsky - - * ospfd.c (ospf_find_vl_data): New function for looking up virtual - link data. - (ospf_vl_set_security): Virtual link configuration with - authentication. - (ospf_vl_set_timers): Set timers for virtual link. - - * New commands are added. - "area A.B.C.D virtual-link A.B.C.D" - "area A.B.C.D virtual-link A.B.C.D hello-interval <1-65535> retransmit-interval <3-65535> transmit-delay <1-65535> dead-interval <1-65535>" - "area A.B.C.D virtual-link A.B.C.D hello-interval <1-65535> retransmit-interval <3-65535> transmit-delay <1-65535> dead-interval <1-65535> authentication-key AUTH_KEY" - "area A.B.C.D virtual-link A.B.C.D authentication-key AUTH_KEY" - "area A.B.C.D virtual-link A.B.C.D hello-interval <1-65535> retransmit-interval <3-65535> transmit-delay <1-65535> dead-interval <1-65535> message-digest-key <1-255> md5 KEY" - "area A.B.C.D virtual-link A.B.C.D message-digest-key <1-255> md5 KEY" - - * ospf_packet.c (ospf_check_md5_digest): Add neighbor's - cryptographic sequence number treatment. - (ospf_check_auth): OSPF input buffer is added to argument. - (ospf_read): Save neighbor's cryptographic sequence number. - - * ospf_nsm.c (nsm_change_status): Clear cryptographic sequence - number when neighbor status is changed to NSM down. - - * ospf_neighbor.c (ospf_nbr_new): Set zero to crypt_seqnum. - - * ospf_neighbor.h (struct ospf_neighbor): Add cryptographic - sequence number to neighbor structure. - -2000-11-29 Kunihiro Ishiguro - - * ospf_snmp.c (ospfIfLookup): OSPF MIB updates. - (ospfExtLsdbEntry): Add OspfExtLsdbTable treatment. - -2000-11-28 Michael Rozhavsky - - * ospfd.c (ospf_interface_down): Clear a ls_upd_queue queue of the - interface. - (ospf_ls_upd_queue_empty): New function to empty ls update queue - of the OSPF interface. - (no_router_ospf): 'no router ospf' unregister redistribution - requests from zebra. - -2000-11-28 Kunihiro Ishiguro - - * ospf_ism.c (ism_change_status): Increment status change number. - - * ospf_interface.h (struct ospf_interface): Add new member for - status change statistics. - - * Makefile.am: Update dependencies. - - * ospf_zebra.c (ospf_interface_add): OSPF SNMP interface update. - (ospf_interface_delete): OSPF SNMP interface delete. - - * ospf_snmp.h: New file is added. - -2000-11-23 Dick Glasspool - - * ospfd.h: Add new ospf_area structure member for - NSSATranslatorRole and NSSATranslator state. - - * ospfd.c: Provided for eventual commands to specify NSSA - elections for "translator- ALWAYS/NEVER/CANDIDATE". Provided for - decimal integer version of area-suppress. - - * ospf_flood.c: Flood Type-7's only into NSSA (not AS). - - * ospf_lsa.c: Undo some previous changes for NSSA. If NSSA - translator, advertise Nt bit. - - * ospf_route.c: 1st version of "sh ip os border-routers". - -2000-11-23 Michael Rozhavsky - - * ospfd.c (area_vlink): Virtual link can not configured in stub - area. - -2000-11-23 Gleb Natapov - - * ospf_packet.c (ospf_db_desc): In states Loading and Full the - slave must resend its last Database Description packet in response - to duplicate Database Description packets received from the - master. For this reason the slave must wait RouterDeadInterval - seconds before freeing the last Database Description packet. - Reception of a Database Description packet from the master after - this interval will generate a SeqNumberMismatch neighbor - event. RFC2328 Section 10.8 - (ospf_make_db_desc): DD Master flag treatment. - - * ospf_nsm.c (nsm_twoway_received): Move DD related procedure to - nsm_change_status(). - (nsm_bad_ls_req): Likewise. - (nsm_adj_ok): Likewise. - (nsm_seq_number_mismatch): Likewise. - (nsm_oneway_received): Likewise. - - * ospf_neighbor.h (struct ospf_neighbor): New structure member - last_send_ts for timestemp when last Database Description packet - was sent. - - * ospf_nsm.c (ospf_db_desc_timer): Make it sure nbr->last_send is - there. Call ospf_db_desc_resend() in any case. - -2000-11-16 Michael Rozhavsky - - * ospf_lsa.c (lsa_link_broadcast_set): When there is no DR on - network (suppose you have only one router with interface priority - 0). It's router LSA does not contain the link information about - this network. - - * ospf_nsm.c (nsm_timer_set): When you change a priority of - interface from/to 0 ISM_NeighborChange event should be scheduled - in order to elect new DR/BDR on the network. - - * ospf_interface.c (ip_ospf_priority): Likewise. - - * ospf_flood.c (ospf_ls_retransmit_add): When we add some LSA into - retransmit list we need to check whether the present old LSA in - retransmit list is not more recent than the new - one. - -2000-11-09 Dick Glasspool - - * ospf_packet.c: Allows for NSSA Type-7 LSA's throughout the NSSA - area. Any that exit the NSSA area are translated to type-5 LSA's. - The instantiated image is restored after translation. - (ospf_ls_upd_send_list): Renamed to ospf_ls_upd_queu_send(). - (ospf_ls_upd_send): Old function which enclosed by #ifdef 0 is - removed. - (ospf_ls_ack_send): Likewise. - - * ospf_flood.c: NSSA-LSA's without P-bit will be restricted to - local area. Otherwise they are allowed out the area to be - translated by ospf_packet.c. - - * ospf_lsa.c: Undo some previous changes for NSSA. - - * ospf_lsdb.h: New access for type 7. - -2000-11-07 Kunihiro Ishiguro - - * ospf_route.c (ospf_path_exist): New function to check nexthop - and interface are in current OSPF path or not. - (ospf_route_copy_nexthops_from_vertex): Add nexthop to OSPF path - when it is not there. Reported by Michael Rozhavsky - - -2000-11-06 Kunihiro Ishiguro - - * ospf_dump.c (config_write_debug): Add seventh string "detail" is - added for flag is OSPF_DEBUG_SEND | OSPF_DEBUG_RECV | - OSPF_DEBUG_DETAIL. - -2000-11-06 Michael Rozhavsky - - * ospf_lsa.c (router_lsa_flags): ASBR can't exit in stub area. - -2000-11-06 Kunihiro Ishiguro - - * ospf_lsa.c (ospf_router_lsa_originate): Reduce unconditional - logging. - -2000-11-06 Dick Glasspool - - * ospfd.h: Add ait_ntoa function prototype. - - * ospfd.c (ait_ntoa): New function for displaying area ID and - Stub/NSSA status. - (show_ip_ospf_interface_sub): Use ait_ntoa. - (show_ip_ospf_nbr_static_detail_sub): Likewise. - (show_ip_ospf_neighbor_detail_sub): Likewise. - - * ospf_route.c (ospf_intra_route_add): Set external routing type - to ospf route. - (ospf_intra_add_router): Likewise. - (ospf_intra_add_transit): Likewise. - (ospf_intra_add_stub): Likewise. - (ospf_add_discard_route): Likewise. - (show_ip_ospf_route_network): Use ait_ntoa. - (show_ip_ospf_route_network): Likewise. - (show_ip_ospf_route_router): Likewise. - - * ospf_lsa.c (show_lsa_detail): Use ait_ntoa. - (show_lsa_detail_adv_router): Likewise. - (show_ip_ospf_database_summary): Likewise. - - * ospf_route.h (struct route_standard): Add new member - external_routing. - - * ospf_ia.c (process_summary_lsa): Set external routing tyep to ospf - route. - (ospf_update_network_route): Likewise. - (ospf_update_router_route): Likewise. - -2000-11-04 Kunihiro Ishiguro - - * ospf_flood.c (ospf_process_self_originated_lsa): Enclose - OSPF_AS_NSSA_LSA treatment with #ifdef HAVE_NSSA. - -2000-11-03 Kunihiro Ishiguro - - * Unconditional logging is enclosed with if (IS_DEBUG_OSPF_EVENT). - Please specify "debug ospf event" for enable logging. - - * ospf_ism.c: Do not extern debug flag varible. It is done by - ospf_debug.h - * ospf_asbr.c: Likewise. - * ospf_lsa.c: Likewise. - * ospf_nsm.c: Likewise. - * ospf_zebra.c: Likewise. - - * ospf_dump.c (debug_ospf_event): New command "debug ospf event" - is added. - - * ospfd.c (router_ospf): Change logging from vty_out() to - zlog_info(). - (ospf_area_stub_cmd): Likewise. - - * ospf_dump.h: Extern term_debug flags. - (OSPF_DEBUG_EVENT): Add new flag. - (IS_DEBUG_OSPF_EVENT): Add new macro. - -2000-11-03 Dick Glasspool - - * ospf_flood.c (ospf_process_self_originated_lsa): - OSPF_AS_NSSA_LSA is treated as same as OSPF_AS_EXTERNAL_LSA. - (ospf_flood): Type-5's have no change. Type-7's can be received, - and will Flood the AS as Type-5's They will also flood the local - NSSA Area as Type-7's. The LSDB will be updated as Type-5's, and - during re-fresh will be converted back to Type-7's (if within an - NSSA). - (ospf_flood_through): Incoming Type-7's were allowed here if our - neighbor was an NSSA. So Flood our area with the Type-7 and also - if we are an ABR, flood thru AS as Type-5. - - * ospf_lsa.c (ospf_external_lsa_refresh): Flood NSSA both NSSA - area and other area. - - * ospf_packet.c (ospf_db_desc_proc): When AS External LSA is - exists in DD packet, make it sure that this area is not stub. - (ospf_ls_upd_list_lsa): When LSA type is NSSA then set lsa's area - to NULL. - (ospf_ls_upd): If the LSA is AS External LSA and the area is stub - then discard the lsa. If the LSA is NSSA LSA and the area is not - NSSA then discard the lsa. - -2000-11-03 Kunihiro Ishiguro - - * ospfd.c (ospf_interface_run): Fix bug of Hello packet's option - is not properly set when interface comes up. - -2000-11-02 Kunihiro Ishiguro - - * ospfd.h (OSPF_OPTION_O): Add new hello header option. - -2000-11-01 Dick Glasspool - - * ospf_lsa.h: Define OSPF_MAX_LSA to 8 when HAVE_NSSA is enabled. - (OSPF_GROUP_MEMBER_LSA): Define OSPF_GROUP_MEMBER_LSA. - - * ospf_lsa.c (show_database_desc): Add "Group Membership LSA" - string. - -2000-10-31 Dick Glasspool - - * ospf_lsa.h (OSPF_AS_NSSA_LSA): Define OSPF_AS_NSSA_LSA. - - * ospf_lsa.c (show_ip_ospf_database): NSSA database display - function is added. ALIASES which have "show ip ospf database - nssa-external" is added. - (show_ip_ospf_border_routers): New command "show ip ospf - border-routers" is added. - -2000-10-30 Dick Glasspool - - * ospfd.c (router_ospf): NSSA Enabled message is added for - testing. - (ospf_area_type_set): Are type set for NSSA area. - (ospf_area_stub_cmd): Special translation of no_summary into NSSA - and summary information. If NSSA is enabled pass the information - to ospf_area_type_set(). - (area_nssa): New commands are added: - "area A.B.C.D nssa" - "area <0-4294967295> nssa" - "area A.B.C.D nssa no-summary" - "area <0-4294967295> nssa no-summary" - (ospf_no_area_stub_cmd): Special translation of no_summary into - NSSA and summary information. If external_routing is - OSPF_AREA_NSSA unset area with ospf_area_type_set (area, - OSPF_AREA_DEFAULT). - (show_ip_ospf_area): Display NSSA status. - (config_write_ospf_area): Show NSSA configuration. - - * ospf_packet.c (ospf_hello): For NSSA support, ensure that NP is - on and E is off. - -2000-10-26 Gleb Natapov - - * ospf_lsa.c (ospf_network_lsa_body_set): The network-LSA lists - those routers that are fully adjacent to the Designated Router; - each fully adjacent router is identified by its OSPF Router ID. - The Designated Router includes itself in this list. RFC2328, - Section 12.4.2. - -2000-10-23 Jochen Friedrich - - * ospf_snmp.c: ospf_oid and ospfd_oid are used in smux_open after - it is registered. So those variables must be static. - -2000-10-18 K N Sridhar - - * ospfd.c: Add area_default_cost_decimal_cmd and - no_area_default_cost_decimal_cmd alias. - -2000-10-05 Gleb Natapov - - * ospfd.c (ospf_network_new): Fix setting area format. - (no_router_ospf): Check area existance when calling - ospf_interface_down(). - - * ospf_flood.c (ospf_external_info_check): Fix bug of refreshing - default route. - -2000-10-02 Kunihiro Ishiguro - - * zebra-0.89 is released. - -2000-09-29 Kunihiro Ishiguro - - * ospf_snmp.c (ospfHostEntry): OSPF Host MIB is implemented. - - * ospfd.c (ospf_nbr_static_cmp): OSPF neighbor is sorted by it's - address. - -2000-09-28 Michael Rozhavsky - - * ospf_interface.c (ospf_if_free): Fix deleting self neighbor twice. - -2000-09-27 Kunihiro Ishiguro - - * ospf_packet.c (ospf_read): Solaris on x86 has ip_len with host - byte order. - -2000-09-25 Toshiaki Takada - - * ospfd.c (ospf_compatible_rfc1583), (no_ospf_compatible_rfc1583): - Add CISCO compatible command. - -2000-09-25 Kunihiro Ishiguro - - * ospf_abr.c (ospf_area_range_lookup): New function is added for - area range lookup in OSPF-MIB. - (ospf_area_range_lookup_next): Likewise. - -2000-09-22 Kunihiro Ishiguro - - * ospfd.c (no_router_ospf): Delete virtual link before deleting - area structure. - - * ospf_lsa.c (ospf_external_lsa_refresh_type): Check - EXTERNAL_INFO(type). - - * ospfd.c (no_router_ospf): Call ospf_vl_delete() instead of - ospf_vl_data_free(). - - * ospf_interface.c (ospf_vl_shutdown): Execute ISM_InterfaceDown - when ospf_vl_shutdown is called. - (ospf_vl_delete): Call ospf_vl_shutdown() to delete virtual link - interface's thread. - -2000-09-21 Gleb Natapov - - * ospf_lsa.c: New implementation of OSPF refresh. - -2000-09-20 Kunihiro Ishiguro - - * ospf_snmp.c (ospfLsdbLookup): Add LSDB MIB implementation. - -2000-09-18 Kunihiro Ishiguro - - * ospf_snmp.c (ospfStubAreaEntry): Add OSPF stub area MIB. - -2000-09-18 Gleb Natapov - - * ospf_route.h (route_standard): Change member from `struct area' - to area_id. - - * ospf_abr.c (ospf_abr_announce_network), (ospf_abr_should_announce), - (ospf_abr_process_network_rt), (ospf_abr_announce_rtr), - (ospf_abr_process_router_rt): - * ospf_ase.c (ospf_find_asbr_route), - (ospf_find_asbr_router_through_area), - * ospf_ia.c (ospf_find_abr_route), (ospf_ia_router_route), - (process_summary_lsa), (ospf_update_network_route), - (ospf_update_router_route): - * ospf_route.c (ospf_intra_route_add), (ospf_intra_add_router), - (ospf_intra_add_transit), (ospf_intra_add_stub), - (ospf_route_table_dump), (show_ip_ospf_route_network), - (show_ip_ospf_route_router), (ospf_asbr_route_cmp), - (ospf_prune_unreachable_routers): - * ospf_spf.c (ospf_rtrs_print): - * ospfd.c (ospf_rtrs_free): Fix the struct change above. - -2000-09-14 Kunihiro Ishiguro - - * ospf_network.c (ospf_serv_sock_init): Enclose SO_BINDTODEVICE - with ifdef. - -2000-09-13 Gleb Natapov - - * ospf_ism.c (ospf_elect_dr), (ospf_elect_bdr): Fix DR election. - - * ospf_network.c (ospf_serv_sock_init): Add socket option - SO_BINDTODEVICE on read socket. - - * ospf_packet.c (ospf_hello): Ignore Hello packet if E-bit does - not match. - - * ospfd.c (ospf_area_check_free), (ospf_area_get), - (ospf_area_add_if): New function added. - -2000-09-13 Kunihiro Ishiguro - - * ospf_route.c (ospf_intra_add_router): Update ABR and ASBR router - count. - - * ospf_spf.c (ospf_spf_init): Rest ABR and ASBR router count - starting SPF calculation. - - * ospfd.h (struct ospf_area): Add ABR and ASBR router count. - -2000-09-12 Kunihiro Ishiguro - - * ospfd.c (ospf_area_id_cmp): New area structure is sorted by area - ID. - - * ospf_lsa.c (ospf_router_lsa_originate): For OSPF MIB update - lsa_originate_count. - (ospf_network_lsa_originate): Likewise. - (ospf_summary_lsa_originate): Likewise. - (ospf_summary_asbr_lsa_originate): Likewise. - (ospf_external_lsa_originate): Likewise. - -2000-09-11 Kunihiro Ishiguro - - * ospf_snmp.c (ospf_variables): ospfRouterID's type RouterID - syntax is IpAddress. - (ospf_admin_stat): New function for OSPF administrative status - check. - -2000-09-10 Jochen Friedrich - - * ospf_snmp.c: Implement OSPF MIB skeleton. - -2000-09-08 Kunihiro Ishiguro - - * ospf_snmp.c: New file is added. - -2000-09-07 David Lipovkov - - * ospf_zebra.c (ospf_interface_delete): Add pseudo interface - treatment. - - * ospf_interface.c (interface_config_write): Likewise. - -2000-08-17 Kunihiro Ishiguro - - * zebra-0.88 is released. - -2000-08-17 Michael Rozhavsky - - * ospfd.c (ospf_area_free): Remove virtual link configuration only - when Area is removed. - -2000-08-17 Kunihiro Ishiguro - - * ospfd.c (network_area): Revert check for EXTERNAL_INFO - (ZEBRA_ROUTE_CONNECT). - (no_network_area): Likewise. - -2000-08-16 Kunihiro Ishiguro - - * ospfd.h (struct ospf): Add distance_table and - distance_{all,intra,inter,external}. - - * ospf_zebra.c: Add OSPF distance related functions. - -2000-08-15 Gleb Natapov - - * ospf_asbr.c (ospf_external_info_find_lsa): New function added. - - * ospf_lsa.c (ospf_default_external_info), - (ospf_default_originate_timer), (ospf_external_lsa_refresh_default): - New function added. - - * ospf_zebra.c - (ospf_default_information_originate_metric_type_routemap), - (ospf_default_information_originate_always_metric_type_routemap): - Change name and add route-map function. - (ospf_default_information_originate_metric_routemap), - (ospf_default_information_originate_routemap), - (ospf_default_information_originate_type_metric_routemap): - New DEFUN added. - -2000-08-14 Kunihiro Ishiguro - - * ospf_zebra.c (zebra_interface_if_set_value): Change ifindex - restore size from two octet to four. - -2000-08-14 Michael Rozhavsky - - * ospf_ase.c (ospf_ase_incremental_update): Implement incremental - AS-external-LSA in 16.6 of RFC2328. - -2000-08-14 Matthew Grant - - * ospf_interface.c (ospf_if_get_output_cost): Change cost - calculation algorithm. - - * ospf_packet (ospf_ls_upd): Fix problem of LSA retransmitting. - -2000-08-11 Michael Rozhavsky - - * ospf_lsa.c (ospf_maxage_lsa_remover): Fix maxage remover for - AS-external-LSAs. - -2000-08-10 Toshiaki Takada - - * ospfd.c (auto_cost_reference_bandwidth): New DEFUN added. - `auto-cost reference-bandwidth' OSPF router command added. - -2000-08-08 Gleb Natapov - - * ospf_routemap.c (ospf_route_map_update): New function added. - Add route-map event hook. - -2000-08-08 Toshiaki Takada - - * ospf_zebra.c (ospf_distribute_check_connected): If redistribute - prefix is connected route on OSPF enabled interface, suppress to - announce it. - -2000-08-08 Matthew Grant - - * ospf_interface.c (ospf_if_get_output_cost): - New function added. Handle bandwidth parameter for cost - calculation. - -2000-08-08 Michael Rozhavsky - - * ospf_interface.c (interface_config_write): Show interface - configuration regardless interface is down. - - * ospf_ase.c (ospf_ase_caocluate_route): Whole rewritten external - route calculate function. - -2000-08-08 Gleb Natapov - - * ospf_routemap.c: New file added. - - * ospf_asbr.c (ospf_reset_route_map_set_values), - (ospf_route_map_set_compare): New function added. - - * ospf_lsa.c (ospf_external_lsa_body_set): Set routemap metric - with AS-external-LSA. - -2000-08-05 Kunihiro Ishiguro - - * ospf_ase.c (ospf_ase_calculate_route_add): Pass new->cost to - ospf_zebra_add as metric. - (ospf_ase_calculate_route_add): Likewise. - - * ospf_route.c (ospf_route_install): Pass or->cost to - ospf_zebra_add as metric. - - * ospf_zebra.c (ospf_zebra_add): Add metric arguemnt. - (ospf_zebra_delete): Likewise. - -2000-08-03 Matthew Grant - - * ospf_flood.c (ospf_flood_delayed_lsa_ack): New function added. - Dispatch delayed-ACK with flooding AS-external-LSA across virtual - link. - -2000-07-31 Matthew Grant - - * ospfd.c (show_ip_ospf_area): Fix lack of VTY_NEWLINE when - `show ip ospf'. - - * ospf_interface.c (ospf_if_free): Fix bug of crash with - Point-to-Point interface. - -2000-07-27 Michael Rozhavsky - - * ospf_flood.c (ospf_process_self_originated_lsa): - Make sure to clear LSA->param (redistributed external information) - before refreshment. - -2000-07-27 Gleb Natapov - - * ospfd.c (refresh_group_limit), (refresh_per_slice), - (refresh_age_diff): New defun added. Refresher related parameter - can be configurable. - -2000-07-27 Akihiro Mizutani - - * ospf_interface.c (interface_config_write): Print `description' - config directive to work. - -2000-07-24 Akihiro Mizutani - - * ospf_interface.c (ospf_if_init): Use install_default for - INTERFACE_NODE. - -2000-07-24 Gleb Natapov - - * ospf_packet.c (ospf_ls_upd_send_list), (ospf_ls_upd_send_event), - (ospf_ls_ack_send_list), (ospf_ls_ack_send_event): New function added. - This make sending always as many LS update/Ack combined in one ospf - packet. - -2000-07-24 Gleb Natapov - - * ospf_packet.c (ospf_ls_upd_list_lsa): Set NULL to lsa->area if - LSA is AS-external-LSA. - - * ospf_nsm.c (nsm_reset_nbr): Do not cancel Inactivity timer. - -2000-07-21 Toshiaki Takada - - * ospf_zebra.c (ospf_default_originate_timer): Set timer for - `default-information originate'. Fix some default originate - related functions. - -2000-07-12 Toshiaki Takada - - * ospf_lsa.c (stream_put_ospf_metric): New function added. - -2000-07-12 Toshiaki Takada - - * ospf_lsa.c (show_ip_ospf_database_router), - (show_ip_ospf_database_network), (show_ip_ospf_database_summary), - (show_ip_ospf_database_summary_asbr), (show_ip_ospf_database_externel), - (show_router_lsa), (show_any_lsa), (show_router_lsa_self), - (show_any_lsa_self): Functions removed. - - (show_lsa_prefix_set), (show_lsa_detail_proc), (show_lsa_detail), - (show_lsa_detail_adv_router_proc), (show_lsa_detail_adv_router): - New functions added. Replace above functions. - - (show_ip_ospf_database_all), (show_ip_ospf_database_self_originated): - Functions removed. - (show_ip_ospf_database_summary): New functions added. Replace - above functions. - - (show_ip_ospf_database_cmd): DEFUN rearranged. - (show_ip_ospf_database_type_id_cmd), - (show_ip_ospf_database_type_id_adv_router_cmd), - (show_ip_ospf_database_type_is_self_cmd): New ALIASes added. - (show_ip_ospf_database_type_adv_rotuer_cmd): New DEFUN added. - (show_ip_ospf_database_type_self_cmd): New ALIAS added. - -2000-07-11 Toshiaki Takada - - * ospf_asbr.c (ospf_external_info_new), - (ospf_external_info_free): New functions added. - - * ospf_lsa.h (ospf_lsa): Add new member `void *param' to set - origination parameter for external-LSA. - Remove member `redistribute'. - - * ospf_zebra.c (ospf_redistirbute_set): When `redistribute' - command executed, metric and metric-type values are overridden. - If one of those is changed refresh AS-external-LSAs for appropriate - type. - -2000-07-11 Michael Rozhavsky - - * ospf_lsa.c (ospf_summary_lsa_refresh), - (ospf_summary_asbr_lsa_refresh): Make sure to refresh summary-LSAs. - - * ospf_abr.c (set_metric): New function added. - -2000-07-07 Toshiaki Takada - - * ospf_zebra.c (ospf_default_information_originate_metric_type), - (ospf_default_information_originate_type_metric): New defun added. - Metic and Metric type can be set to default route. - (ospf_default_information_originate_always_metric_type): - (ospf_default_information_originate_always_type_metric): - New defun added. Metric and Metric type can be set to default - always route. - - * ospf_zebra.c (ospf_default_metric), (no_ospf_default_metric): - New defun added. - -2000-07-06 Gleb Natapov - - * ospf_flood.c (ospf_flood_through_area): Fix bug of considering - on the same interface the LSA was received from. - -2000-07-06 Michael Rozhavsky - - * ospfd.c (ospf_config_write): Fix bug of printing `area stub' - command with `write mem'. - - * ospfd.c (no_router_ospf): Remove installed routes from zebra. - - * ospf_zebra.c (ospf_interface_delete): Fix function to handle - zebra interface delete event. - -2000-07-06 Toshiaki Takada - - * ospf_zebra.c (ospf_default_information_originate), - (ospf_default_information_originate_always): New DEFUN added. - -2000-07-05 Michael Rozhavsky - - * ospf_route.c (ospf_terminate): Make sure to remove external route - when SIGINT received. - -2000-07-03 Gleb Natapov - - * ospf_flood.c, ospf_ism.c, ospf_lsa,c, ospfd.c: Make sure to free - many structure with `no router ospf'. - -2000-06-30 Gleb Natapov - - * ospf_neighbor.c (ospf_nbr_new), - ospf_nsm.c (nsm_timer_set): Start LS update timer only - when neighbor enters Exchange state. - -2000-06-29 Gleb Natapov - - * ospf_nsm.c (nsm_timer_set), (nsm_exchange_done), - ospf_packet.c (ospf_db_desc_proc): - Do not cancel DD retransmit timer when Master. - -2000-06-29 Gleb Natapov - - * ospf_abr.c (ospf_abr_announce_network_to_area), - (ospf_abr_announce_rtr_to_area) - ospf_ase.c (ospf_ase_rtrs_register_lsa), - ospf_flood.c (ospf_process_self_originated_lsa), - (ospf_flood_through_area), (ospf_ls_request_delete), - ospf_interface.c (ospf_if_free), - ospf_ism.c (ism_change_status), - ospf_lsa.c (ospf_router_lsa_update_timer), - (ospf_router_lsa_install), (ospf_network_lsa_install), - (ospf_lsa_maxage_delete), (ospf_lsa_action), - (ospf_schedule_lsa_flood_area), - ospf_nsm.c (nsm_change_status), - ospf_packet.c (ospf_make_ls_req_func), (ospf_make_ls_ack): - Use ospf_lsa_{lock,unlock} for all looking-up of LSA. - - * ospf_flood.c (ospf_ls_request_free): Function deleted. - - * ospf_lsa.c (ospf_discard_from_db): New function added. - -2000-06-26 Toshiaki Takada - - * ospfd.h (ospf): struct member `external_lsa' name changed to - `lsdb'. - -2000-06-26 Toshiaki Takada - - * ospf_lsa.c (ospf_lsa_install), (ospf_router_lsa_install), - (ospf_network_lsa_install), (ospf_summary_lsa_install), - (ospf_summary_asbr_lsa_install), (ospf_external_lsa_install): - Functions re-arranged. - - * ospf_lsa.c (IS_LSA_MAXAGE), (IS_LSA_SELF): Macro added. - -2000-06-20 Michael Rozhavsky - - * ospf_packet.c (ospf_ls_req), (ospf_ls_upd), (ospf_ls_ack): Add - verification of LS type. - -2000-06-20 Gleb Natapov - - * ospf_ase.c (ospf_ase_calculate_timer): Add more sanity check - whether rn->info is NULL. - -2000-06-20 Toshiaki Takada - - * ospfd.c (show_ip_ospf_interface_sub): Show Router-ID of both - DR and Backup correctly with `show ip ospf interface' command. - -2000-06-20 Toshiaki Takada - - * ospf_lsa.c (ospf_lsa_lock), (ospf_lsa_unlock), - (ospf_lsa_discard): These functions are used for avoiding - unexpected reference to freed LSAs. - -2000-06-13 Kunihiro Ishiguro - - * ospf_packet.c (ospf_ls_upd): Initialize lsa by NULL to avoid - warning. - -2000-06-12 Kunihiro Ishiguro - - * ospf_ase.h (ospf_ase_rtrs_register_lsa): Add prototype. - -2000-06-12 Toshiaki Takada - - * ospf_lsa.c (ospf_external_lsa_install): Make sure to register - LSA to rtrs_external when replacing AS-external-LSAs in LSDB. - Fix core dump. - -2000-06-10 Toshiaki Takada - - * ospf_lsdb.c (id_to_prefix), (ospf_lsdb_hash_key), - (ospf_lsdb_hash_cmp), (ospf_lsdb_new), (ospf_lsdb_iterator), - (lsdb_free), (ospf_lsdb_free), (ospf_lsdb_add), (ospf_lsdb_delete), - (find_lsa), (ospf_lsdb_lookup), (find_by_id), - (ospf_lsdb_lookup_by_id), (ospf_lsdb_lookup_by_header): Functinos - removed for migration to new_lsdb. - - * ospf_lsa.c (ospf_summary_lsa_install), - (ospf_summary_asbr_lsa_install), (ospf_maxage_lsa_remover), - (ospf_lsa_maxage_walker), (ospf_lsa_lookup), - (ospf_lsa_lookup_by_id): Use new_lsdb instead of ospf_lsdb. - (count_lsa), (ospf_lsa_count_table), (ospf_lsa_count), - (ospf_get_free_id_for_prefix): Funcitions removed. - -2000-06-09 Gleb Natapov - - * ospf_ism.c (ism_interface_down): Prevent some unneeded DR changes. - - * ospf_packet.c (ospf_db_desc_proc): Fix memory leak. - (ospf_hello): Always copy router-ID when hello is received. - -2000-06-08 Gleb Natapov - - * ospf_lsa.h (struct ospf_lsa): Add member of pointer to struct - ospf_area. - -2000-06-08 Michael Rozhavsky - - * ospf_ase.c (ospf_asbr_route_same): New function added. - This function makes sure external route calculation more - precisely. - -2000-06-07 Michael Rozhavsky - - * ospf_ism.c (ism_change_status): Use ospf_lsa_flush_area for - network-LSA deletion instead of using ospf_lsdb_delete. - Also cancel network-LSA origination timer. - -2000-06-07 Levi Harper - - * ospf_interface.c (ospf_if_down): Close read fd when an interface - goes down. - -2000-06-05 Kunihiro Ishiguro - - * ospf_asbr.c (ospf_external_info_lookup): Add explicit brace for - avoid ambiguous else. - - * ospf_flood.c (ospf_external_info_check): Likewise. - -2000-06-05 Toshiaki Takada - - * ospf_nsm.c (nsm_adj_ok): Fix bug of DR election. - -2000-06-04 Toshiaki Takada - - * ospf_zebra.c (ospf_default_information_originate), - (no_ospf_default_information_originate): New DEFUN added. - -2000-06-03 Toshiaki Takada - - * ospf_lsa.h, ospf_asbr.h (external_info): Struct moved from - ospf_lsa.h to ospf_asbr.h. - - * ospf_lsa.c, ospf_asbr.c (ospf_external_info_add), - (ospf_external_info_delete): Function moved from ospf_lsa.c - to ospf_asbr.c. - -2000-06-03 Toshiaki Takada - - * ospf_flood.c (ospf_external_info_check): New function added. - (ospf_process_self_orignated_lsa): Make sure to flush - self-originated AS-external-LSA, when router reboot and no longer - originate those AS-external-LSA. - -2000-06-02 Toshiaki Takada - - * ospf_network.c (ospf_serv_sock): Remove SO_DONTROUTE - socket option. - - * ospf_packet.c (ospf_write): Set MSG_DONTROUTE flag for - unicast destination packets. - -2000-06-02 Toshiaki Takada - - * ospf_lsdb.c (new_lsdb_delete): Delete entry from LSDB only when - specified LSA matches. - -2000-06-02 Gleb Natapov - - * ospf_network.c (ospf_serv_sock): Set SO_DONTROUTE - socket option. - -2000-06-01 Akihiro Mizutani - - * ospf_dump.c: Replace string `Debugging functions\n' with DEBUG_STR. - Replace string `OSPF information\n' with OSPF_STR. - -2000-06-01 Toshiaki Takada - - * ospf_lsdb.[ch]: Use new_lsdb struct for network-LSA instead of - ospf_lsdb. - -2000-06-01 Toshiaki Takada - - * ospf_dump.c (config_debug_ospf_packet), (config_debug_ospf_event), - (config_debug_ospf_ism), (config_debug_ospf_nsm), - (config_debug_ospf_lsa), (config_debug_ospf_zebra), - (term_debug_ospf_packet), (term_debug_ospf_event), - (term_debug_ospf_ism), (term_debug_ospf_nsm), - (term_debug_ospf_lsa), (term_debug_ospf_zebra): Repalce debug_ospf_* - variable to use for debug option flags. - - (debug_ospf_packet), (debug_ospf_ism), (debug_ospf_nsm), - (debug_ospf_lsa), (debug_ospf_zebra): Set {config,term}_debug_* - flags when vty->node is CONFIG_NODE, otherwise set only term_debug_* - flags. - - * ospf_dump.h (CONF_DEBUG_PACKET_ON), (CONF_DEBUG_PACKET_OFF), - (TERM_DEBUG_PACKET_ON), (TERM_DEBUG_PACKET_OFF), - (CONF_DEBUG_ON), (CONF_DEBUG_OFF), (IS_CONF_DEBUG_OSPF_PACKET), - (IS_CONF_DEBUG_OSPF): New Macro added. - -2000-05-31 Toshiaki Takada - - * ospfd.c (clear_ip_ospf_neighbor): New DEFUN added. - Currently this command is used for only debugging. - - * ospf_nsm.c (nsm_change_status): Make sure thread cancellation - for network-LSA when DR has no full neighbors. - - * ospf_nsm.c (ospf_db_summary_clear): New function added. - -2000-05-30 Toshiaki Takada - - * ospf_lsdb.c (new_lsdb_insert): LSAs are always freed by - maxage_lsa_remover when LSA is replaced. - -2000-05-25 Gleb Natapov - - * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all): Add argument - `struct ospf_area' to remove LSA from Link State retransmission list - of neighbor from only one Area. - -2000-05-24 Michael Rozhavsky - - * ospf_lsdb.c (ospf_lsdb_add): Preserve flags field when - overriting old LSA with new LSA. - -2000-05-24 Gleb Natapov - - * ospf_lsa.c (ospf_router_lsa_body_set): Fix bug of router-LSA - size calculation. - -2000-05-22 Michael Rozhavsky - - * ospf_route.c (ospf_intra_add_stub): - * ospf_spf.h (struct vertex): Use u_int32_t for distance (cost) - value instead of u_int16_t. - -2000-05-22 Axel Gerlach - - * ospf_ia.c (ospf_ia_network_route): Fix bug of Inter-area route - equal cost path calculation. - -2000-05-21 Toshiaki Takada - - * ospf_ase.c (ospf_ase_calculate_route_delete): New function added. - Make sure, when rotuer route is deleted, related external routes - are also deleted. - -2000-05-20 Toshiaki Takada - - * ospfd.c (ospf_interface_down): Make sure interface flag is disable - and set fd to -1. - -2000-05-16 Toshiaki Takada - - * ospf_asbr.c (ospf_asbr_should_announce), (ospf_asbr_route_remove): - Functions removed. - - * ospfd.h (EXTERNAL_INFO): Macro added. - Substitute `ospf_top->external_info[type]' with it. - -2000-05-16 Toshiaki Takada - - * ospf_lsa.c (ospf_rtrs_external_remove): New function added. - -2000-05-14 Gleb Natapov - - * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all) - * ospf_lsdb.c (new_lsdb_insert) - * ospf_packet.c (ospf_ls_ack): Fix database synchonization problem. - -2000-05-14 Gleb Natapov - - * ospf_lsa.h (tv_adjust), (tv_ceil), (tv_floor), (int2tv), - (tv_add), (tv_sub), (tv_cmp): Prototype definition added. - - * ospf_nsm.h (ospf_db_summary_delete_all): Prototype definition added. - -2000-05-13 Toshiaki Takada - - * ospf_lsa.[ch] (ospf_lsa): struct timestamp type is changed from - time_t to struct timeval. - (tv_adjust), (tv_ceil), (tv_floor), (int2tv), (tv_add), - (tv_sub), (tv_cmp): timeval utillity functions added. - -2000-05-12 Toshiaki Takada - - * ospf_lsa.[ch] (ospf_schedule_update_router_lsas): Delete function. - Change to use macro OSPF_LSA_UPDATE_TIMER instead of using - this function. - router-LSA refresh timer related stuff is re-organized. - -2000-05-10 Gleb Natapov - - * ospf_interface.c (ospf_vl_set_params): - * ospf_packet.c (ospf_check_network_mask): - * ospf_spf.[ch] (ospf_spf_next): - Remove field address from `struct vertex', and search for peer - address of virtual link in function `ospf_vl_set_params' instead. - -2000-05-10 Gleb Natapov - - * ospf_packet.c (ospf_ls_upd): Fix some memory leak related LSA. - -2000-05-08 Thomas Molkenbur - - * ospf_packet.c (ospf_packet_dup): Replace ospf_steram_copy() - with ospf_stream_dup() to fix memory leak. - -2000-05-08 Michael Rozhavsky - - * ospf_flood.c (ospf_flood_through_area): Fix the problem of - LSA update without DROther. - -2000-05-04 Gleb Natapov - - * ospf_spf.c (ospf_vertex_free): Fix memory leak of SPF calculation. - -2000-05-03 Toshiaki Takada - - * ospf_neighbor.c (ospf_db_summary_add): Use new_lsdb struct - instead linked-list. - (ospf_db_summary_count), (ospf_db_summary_isempty): - New function added. - - * ospf_lsa.c (ospf_rotuer_lsa): Re-arrange and divide functions. - -2000-05-02 Gleb Natapov - - * ospf_lsdb.c (new_lsdb_cleanup): Fix memory leak. When LSDB are - not needed any more, then free them. - -2000-05-02 Toshiaki Takada - - * ospfd.c (timers_spf), (no_timers_spf): New defun added. - SPF calculation timers related stuff is rearranged. - - * ospf_spf.c (ospf_spf_calculate_timer_add): Function removed. - SPF timer is scheduled by SPF calculation delay and holdtime - configuration variable. - - * ospf_lsa.c (ospf_external_lsa_nexthop_get): Set AS-external-LSA's - forwarding address when nexthop learned by other protocols is - in the OSPF domain. - - * ospf_zebra.c (ospf_redistribute_source_metric_type), - (ospf_redistribute_source_type_metric): Re-arrange DEFUNs and - ALIASes. - -2000-05-01 Toshiaki Takada - - * ospf_flood.c (ospf_ls_retransmit_count), - (ospf_ls_retransmit_isempty): New function added. - - (ospf_ls_retransmit_add), (ospf_ls_retransmit_delete), - (ospf_ls_retransmit_clear), (ospf_ls_retransmit_lookup), - (ospf_ls_retransmit_delete_all), (ospf_ls_retransmit_delete_nbr_all), - (ospf_ls_retransmit_add_nbr_all): Replace these functions to use - new_lsdb. - -2000-04-29 Toshiaki Takada - - * ospfd.c (no_network_area): Add check Area-ID whether specified - Area-ID with prefix matches config. - -2000-04-27 Toshiaki Takada - - * ospf_lsa.c (ospf_maxage_lsa_remover): Fix problem of - remaining withdrawn routes on zebra. - -2000-04-25 Michael Rozhavsky - - * ospf_nsm.c (nsm_kill_nbr), (nsm_ll_down), (nsm_change_status), - (ospf_nsm_event): Fix network-LSA re-origination problem. - -2000-04-24 Toshiaki Takada - - * ospf_nsm.c (ospf_db_desc_timer): Fix bug of segmentation fault - with DD retransmission. - - * ospf_nsm.c (nsm_kill_nbr): Fix bug of re-origination when - a neighbor disappears. - -2000-04-23 Michael Rozhavsky - - * ospf_abr.c (ospf_abr_announce_network_to_area): Fix bug of - summary-LSAs reorigination. Correctly copy OSPF_LSA_APPROVED - flag to new LSA. when summary-LSA is reoriginatd. - - * ospf_flood.c (ospf_flood_through_area): Fix bug of flooding - procedure. Change the condition of interface selection. - -2000-04-21 Toshiaki Takada - - * ospf_lsa.c (ospf_refresher_register_lsa): Fix bug of refresh never - occurs. - - * ospfd.c (show_ip_ospf_neighbor_id): New defun added. - `show ip ospf neighbor' related commands are re-arranged. - -2000-04-20 Toshiaki Takada - - * ospf_dump.c (debug_ospf_zebra): New defun added. - Suppress zebra related debug information. - -2000-04-19 Toshiaki Takada - - * ospf_zebra.c (ospf_distribute_list_update_timer), - (ospf_distribute_list_update), (ospf_filter_update): - New function added. Re-organize `distribute-list' router ospf - command. - -2000-04-13 Michael Rozhavsky - - * ospf_packet.c (ospf_make_ls_upd): Add check for MAX_AGE. - -2000-04-14 Michael Rozhavsky - - * ospf_packet.c (ospf_make_ls_upd): Increment LS age by configured - interface transmit_delay. - -2000-04-14 Sira Panduranga Rao - - * ospf_interface.c (ip_ospf_cost), (no_ip_ospf_cost): - Add to schedule router_lsa origination when the interface cost changes. - -2000-04-12 Toshiaki Takada - - * ospf_lsa.c (ospf_refresher_register_lsa), - (ospf_refresher_unregister_lsa): Fix bug of core dumped. - - * ospfd.c (no_router_ospf): Fix bug of core dumped. - -2000-03-29 Toshiaki Takada - - * ospf_nsm.c (nsm_oneway_received): Fix bug of MS flag unset. - -2000-03-29 Michael Rozhavsky - - * ospf_lsa.c (ospf_network_lsa): - * ospf_nsm.c (ospf_nsm_event): Fix bug of Network-LSA originated - in stub network. - -2000-03-28 Toshiaki Takada - - * ospf_nsm.c (nsm_bad_ls_req), (nsm_seq_number_mismatch), - (nsm_oneway_received): Fix bug of NSM state flapping between - ExStart and Exchange. - -2000-03-28 Toshiaki Takada - - * ospf_packet.h (strcut ospf_header): Fix the size of ospf_header, - change u_int8_t to u_char. - -2000-03-27 Toshiaki Takada - - * ospf_lsa.c (ospf_lsa_checksum): Take care of BIGENDIAN architecture. - -2000-03-27 Toshiaki Takada - - * ospfd.c (ospf_interface_run): Make sure Address family matches. - -2000-03-26 Love - - * ospf_packet.c (ospf_write): Chack result of sendto(). - -2000-03-26 Sira Panduranga Rao - - * ospf_nsm.c (nsm_oneway_received): Fix bug of 1-WayReceived in NSM. - -2000-03-23 Libor Pechacek - - * ospf_lsa.c (ospf_network_lsa) - * ospf_lsdb.c (new_lsdb_insert): Fix bug of accessing to - unallocated memory. - -2000-03-23 Toshiaki Takada - - * ospfd.c (ospf_config_write): Fix bug of duplicate line for - `area A.B.C.D authentication'. - -2000-03-22 Toshiaki Takada - - * ospf_debug.c (debug_ospf_lsa), (no_debug_ospf_lsa): Defun added. - Suppress all zlog related to LSAs with this config option. - -2000-03-21 Kunihiro Ishiguro - - * ospf_nsm.c (ospf_nsm_event): Add check for NSM_InactivityTimer. - -2000-03-21 Toshiaki Takada - - * ospf_packet.c (ospf_ls_upd_timer), (ospf_ls_req): - Fix bug of memory leak about linklist. - - * ospf_flood.c (ospf_flood_through_area): Likewise. - -2000-03-18 Sira Panduranga Rao - - * ospf_flood.c (ospf_ls_retransmit_lookup): Add checksum comparison - to identify LSA uniquely. This fix routes lost. - -2000-03-18 Toshiaki Takada - - * ospf_ase.c (ospf_find_asbr_route): Add sanity check with router - routing table. - -2000-03-17 Alex Zinin - - * ospf_spf.[ch]: Bug fix. - The 2nd stage of Dijkstra could consider one vertex - more than once if there is more than one link - between the routers, thus adding extra CPU overhead - and extra next-hops. - Fixed. - -2000-03-15 Sira Panduranga Rao - - * ospf_nsm.c (nsm_inactivity_timer): Changed to call nsm_kill_nbr(). - -2000-03-14 Toshiaki Takada - - * ospf_route.c (ospf_route_copy_nexthops): Fix bug of memory leak of - ospf_path. Actually ignore merging ospf_route with completely same - paths. - -2000-03-12 Toshiaki Takada - - * ospf_lsa.c (show_as_external_lsa_detail): fix bug of - external route tag byte order. - -2000-03-11 Toshiaki Takada - - * ospf_lsdb.c (ospf_lsdb_insert): New function added. - -2000-03-09 Toshiaki Takada - - * ospf_lsa.c (ospf_external_lsa_install), - (ospf_lsa_lookup), (show_ip_ospf_database_all), - (show_ip_ospf_database_self_originate): Use struct new_lsdb for - LSDB of AS-external-LSAs instead of ospf_lsdb. - - * ospf_lsa.c (ospf_lsa_unique_id): New function added. - Use for assigning Unique Link State ID instead of - ospf_get_free_id_for_prefix(). - -2000-03-09 Toshiaki Takada - - * ospf_ase.c (ospf_ase_calculate_timer): Fix bug of segmentation - fault reported by George Bonser . - -2000-03-07 Libor Pechacek - - * ospfd.c (ospf_interface_down): Fix bug of segmentation fault. - -2000-03-06 Toshiaki Takada - - * ospf_route.c (ospf_route_cmp): Change meaning of return values. - -2000-03-02 Alex Zinin - * ospfd.h, ospf_ia.h - New Shortcut ABR code. Now area's flag can be configured - with Default, Enable, and Disable values. - More info will be in the new ver of I-D soon (see IETF web). - -2000-02-25 Toshiaki Takada - - * ospf_lsa.c (ospf_lsa_header_set), (ospf_external_lsa_body_set), - (osfp_external_lsa_originate), (ospf_external_lsa_queue), - (ospf_external_lsa_originate_from_queue): New function added. - (ospf_external_lsa): Function removed. - - * ospf_zebra.c (ospf_zebra_read_ipv4): Originate AS-external-LSA - when listen a route from Zebra, instead creating external route. - - * ospf_asbr.c (ospf_asbr_route_add_flood_lsa), - (ospf_asbr_route_add_queue_lsa), - (ospf_asbr_route_install_lsa), (ospf_asbr_route_add): - Functions removed. - - * ospf_ase.c (process_ase_lsa): Function will not be used. - (ospf_ase_calculate), (ospf_ase_calculate_route_add), - (ospf_ase_calculate_new_route), (ospf_ase_caluculate_asbr_route): - process_ase_lsa () is separated to these functions. - - OSPF AS-external-LSA origination is whole re-organized. - -2000-02-18 Toshiaki Takada - - * ospf_packet.c (ospf_ls_upd): Fix bug of OSPF LSA memory leak. - - * ospf_asbr.c (ospf_asbr_route_add_flood_lsa), - (ospf_asbr_route_add_queue_lsa): Fix bug of OSPF external route - memory leak. - -2000-02-12 Kunihiro Ishiguro - - * ospf_asbr.c (ospf_asbr_route_install_lsa): Re-calculate LSA - checksum after change Advertised Router field. - -2000-02-09 Toshiaki Takada - - * ospf_asbr.c (ospf_external_route_lookup): Add new function. - -2000-02-08 Toshiaki Takada - - * ospfd.c (ospf_router_id_get), (ospf_router_id_update), - (ospf_router_id_update_timer): Router ID decision algorithm is changed. - Router ID is chosen from all of eligible interface addresses even if - it is not enable to OSPF. - -2000-02-08 Toshiaki Takada - - * ospf_asbr.c (ospf_asbr_route_add): Function divided to - ospf_asbr_route_add_flood_lsa, ospf_asbr_route_add_queue_lsa and - ospf_asbr_route_install_lsa. If Router-ID is not set, then LSA is - waited to install to LSDB. - `0.0.0.0 adv_router' AS-external-LSA origination bug was fixed. - -2000-02-01 Sira Panduranga Rao - - * ospf_flood.c (ospf_ls_retransmit_lookup): Compare LS seqnum - in the ACK before deleting. - - * ospf_packet.c (ospf_hello): Reset the flags after a shutdown - and no shutdown of the interface. - -2000-01-31 Toshiaki Takada - - * ospf_packet.c (ospf_ls_req): Send multiple Link State Update - packets respond to a Link State Request packet. - - * ospfd.c (show_ip_ospf_neighbor_detail_sub): Show thread state. - - * ospf_interface.c (ospf_vl_new): Crash when backbone area - is not configured and set virtual-link to no-backbone area, - bug fixed. - -2000-01-30 Kunihiro Ishiguro - - * ospf_neighbor.h (struct ospf_neighbor): Add pointer to last send - LS Request LSA. - - * ospf_packet.c (ospf_ls_upd): Comment out LS request list - treatment. That should be done in OSPF flooding procedure. - - * ospf_flood.c (ospf_flood_through_area): Enclose - ospf_check_nbr_loding inside if-else close. - -2000-01-31 Toshiaki Takada - - * ospf_packet.c (ospf_make_ls_upd): Fix bug of #LSAs counting. - -2000-01-29 Toshiaki Takada - - * ospf_packet.c (ospf_make_md5_digest): Fix bug of md5 authentication. - -2000-01-28 Toshiaki Takada - - * ospfd.c (show_ip_ospf): Show Number of ASE-LSAs. - -2000-01-27 Kunihiro Ishiguro - - * ospf_packet.c (ospf_make_db_desc): Don't use rm_list for - removing LSA from nbr->db_summary. - -2000-01-27 Sira Panduranga Rao - - * ospf_packet.c (ospf_ls_upd_send): Set AllSPFRouters to - destination when the link is point-to-point. - (ospf_ls_ack_send_delayed): Likewise. - -2000-01-27 Kunihiro Ishiguro - - * ospf_flood.c (ospf_ls_request_delete_all): Fix bug of next - pointer lookup after the node is freed. - -2000-01-26 Kunihiro Ishiguro - - * ospf_asbr.c (ospf_asbr_route_add): Instead of scanning all AS - external route, use ospf_top->external_self. - -2000-01-27 Toshiaki Takada - - * ospf_lsa.c (ospf_forward_address_get): New function added. - - * ospf_asbr.c (ospf_asbr_check_lsas): Originate AS-external-LSA - only when it should be replaced. - -2000-01-25 Kunihiro Ishiguro - - * ospf_flood.c (ospf_ls_retransmit_clear): Delete list node. - - * ospf_lsa.c (ospf_lsa_free): Reduce logging message using - ospf_zlog value. - - * ospf_ism.c (ism_change_status): Fix bug of DR -> non DR status - change. Self originated LSA is freed but not deleted from lsdb. - -2000-01-24 Kunihiro Ishiguro - - * ospf_ism.c (ism_interface_down): Don't use router_id for - detecting self neighbor structure. Instead of that compare - pointer itself. - - * ospf_neighbor.c (ospf_nbr_free): Cancel all timer when neighbor - is deleted. - (ospf_nbr_free): Free last send packet. - - * ospf_neighbor.h (struct ospf_neighbor): Remove host strucutre. - Instead of that src is introduced. - - * ospf_nsm.h: Enclose macro defenition with do {} while (0). - -2000-01-17 Kunihiro Ishiguro - - * ospfd.c: Change part of passive interface implementation. For - passive interface just disabling sending/receiving Hello on the - interface. - -2000-01-16 Kai Bankett - - * ospf_interface.h (OSPF_IF_PASSIVE): Add passive flag. - * ospf_interface.c (ospf_if_lookup_by_name): Add new function. - * ospf_lsa.c (ospf_router_lsa): Skip passive interface. - * ospfd.c (passive_interface): New command passive-interface is - added. - (ospf_config_write): Print passive interface. - -2000-01-15 Toshiaki Takada - - * ospf_interface.h (crypt_key): New struct added to store - multiple cryptographic autheitication keys. - (ospf_interface): struct changed. - - * ospf_interface.c: ospf_crypt_key_new, ospf_crypt_key_add, - ospf_crypt_key_lookup, ospf_crypt_key_delete: new functions added. - - * ospf_packet.c (ip_ospf_message_digest_key): Changed to store - multiple cryptographic authentication keys. - -2000-01-14 Toshiaki Takada - - * ospf_interface.c: DEFUN (if_ospf_*) commands changed name to - ip_ospf_* (). - Old notation `ospf *' still remains backward compatibility. - -1999-12-29 Alex Zinin - * ospf_lsa.c: ospf_lsa_more_recent() bug fix - * ospf_nsm.c, ospf_packet.c: remove nbr data struct when - int goes down, also check DD flags correctly (bug fix) - -1999-12-28 Alex Zinin - * "redistribute metric-type (1|2) metric " added - -1999-12-23 Alex Zinin - * added RFC1583Compatibility flag - * added dynamic interface up/down functionality - -1999-11-19 Toshiaki Takada - - * ospf_neighbor.h (struct ospf_neighbor): Add member state_change - for NSM state change statistics. - -1999-11-19 Toshiaki Takada - - * ospfd.c (show_ip_ospf_neighbor_detail), - (show_ip_ospf_neighbor_int_detail): DEFUN Added. - -1999-11-14 Kunihiro Ishiguro - - * ospf_asbr.c (ospf_asbr_check_lsas): Add check of - lsa->refresh_list. - -1999-11-11 Toshiaki Takada - - * ospf_ia.[ch] (OSPF_EXAMINE_SUMMARIES_ALL): Macro added. - This macro is expanded to ospf_examine_summaries () - for SUMMARY_LSA and SUMMARY_LSA_ASBR. - (OSPF_EXAMINE_TRANSIT_SUMMARIES_ALL): Macro added. - This macro is expanded to ospf_examine_transit_summaries () - for SUMMARY_LSA and SUMMARY_LSA_ASBR. - -1999-11-11 Toshiaki Takada - - * ospf_lsa.[ch] (ospf_find_self_summary_lsa_by_prefix): Changed to - macro OSPF_SUMMARY_LSA_SELF_FIND_BY_PREFIX. - (ospf_find_self_summary_asbr_lsa_by_prefix): Changed to - macro OSPF_SUMMARY_ASBR_LSA_SELF_FIND_BY_PREFIX. - (ospf_find_self_external_lsa_by_prefix): Changed to - macro OSPF_EXTERNAL_LSA_SELF_FIND_BY_PREFIX. - -1999-11-11 Toshiaki Takada - - * ospfd.c (ospf_abr_type): ospf_abr_type_cisco, ospf_abr_type_ibm, - ospf_abr_type_shortcut and ospf_abr_type_standard DEFUNs are - combined. - * ospfd.c (no_ospf_abr_type): no_ospf_abr_type_cisco, - no_ospf_abr_type_ibm and no_ospf_abr_type_shortcut DEFUNS are - combined. - -1999-11-10 Toshiaki Takada - - * ospf_route.c (ospf_lookup_int_by_prefix): Move function to - ospf_interface.c and change name to ospf_if_lookup_by_prefix (). - -1999-11-01 Alex Zinin - * ospf_packet.c - some correction to LSU processing - - * ospf_lsa.c ospfd.h - randomize initial LSA refreshment interval - and limit the size of LSA-group to 10 - to let randomization work more effectively. - -1999-10-31 Alex Zinin - * ospf_interface.c - cancel t_network_lsa_self - when freeing int structure - - * ospf_abr.c ospf_asbr.c ospf_flood.c ospf_lsa.c - ospf_lsa.h ospf_lsdb.h ospfd.c ospfd.h - - Summary and ASE LSA refreshment functions - added---LSA refreshment is paced to 70 LSAs - per sec to avoid link overflow. Refreshment events - are further randomized within a 10 sec interval - to avoid syncing. - - Also the sigfault of memcmp() in ospf_lsa_is_different() - is fixed. - -1999-10-30 Alex Zinin - * ospf_nsm.c - Fix the bug where MAX_AGE LSAs - are included into the DB summary. - - * ospf_interface.c - allocate 2*MTU input buffer instead of just MTU - for the cases when the other router mistakenly - sends larger packets thus causing fragmentation, etc. - - * ospf_nsm.c - in nsm_reset_nbr() lists should be freed - not when they are empty. - -1999-10-29 Kunihiro Ishiguro - - * ospf_zebra.c (ospf_acl_hook): Move OSPF_IS_ASBR and OSPF_IS_ABR - check inside of if (ospf_top). - -1999-10-29 Alex Zinin - * ospf_lsa.c ospf_lsdb.c : - add assertion in lsa and lsa->data alloc functions, - as well as in lsdb_add for new->data - - * ospf_lsdb.c: free hash table correctly - -1999-10-28 John Capo - - * ospf_packet.h (OSPF_PACKET_MAX): Correct MAX packet length - calculation - -1999-10-27 Kunihiro Ishiguro - - * OSPF-TRAP-MIB.txt: New file added. Edited version of RFC1850. - - * OSPF-MIB.txt: New file added. Edited version of RFC1850. - -1999-10-27 Alex Zinin - * ospfd, ospf_zebra, ospf_abr - "area import-list" command is added. - This command allows to filter the inter-area routes - injected into an area. Access list hook function - extended to invalidate area exp/imp lists. - -1999-10-25 Yoshinobu Inoue - - * ospfd.c (ospf_interface_run): Enable to detect P2P network - on an OSPF interface. - -1999-10-19 Jordan Mendelson - - * ospf_lsdb.c (ospf_lsdb_add): Fix bug of crash - in ospf_ls_retransmit_lookup (). - -1999-10-19 Vladimir B. Grebenschikov - - * ospf_route.c: Workaround about installation of OSPF routes into - the zebra daemon. Add checking of existance routes. Free - ospf_top->old_table if it exists. - -1999-10-15 Jordan Mendelson - - * Add support for MD5 authentication. - -1999-10-12 Alex Zinin - * ospfd.c, ospfd.h, ospf_abr.c: - a new command "area export-list" was added, it allows - the admin. to control which intra-area routes are - announced to other areas by the ABR - -1999-10-12 Alex Zinin - * ospf_asbr.c (ospf_asbr_check_lsas): Fix bug of coredump - when "no redistribute" is used after a distribute list - denying some networks was used - -1999-10-05 Toshiaki Takada - - * ospf_route.c (ospf_path_dup): New function added. - -1999-10-05 Toshiaki Takada - - * ospf_interface.[ch]: Some of VL related funciton name changed. - -1999-09-27 Alex Zinin - - * ospf_zebra.c: Distribute-list functionality added - -1999-09-27 Toshiaki Takada - - * ospfd.c (show_ip_ospf): Fix bug of segmentation fault when no ospf - instance exists. - -1999-09-25 Kunihiro Ishiguro - - * ospfd.c (ospf_interface_down): Fix bug of misusing nextnode() - instead of node->next. Reported by Hiroki Ishibashi - . - - * ospf_route.c (show_ip_ospf_route): Add check for ospf is enabled - or not. - -1999-09-23 Alex Zinin - - * stub area support added - -1999-09-23 Alex Zinin - - * fwd_addr in ASE-LSAs is now set correctly - * ASE routing changed to check the fwd_addr - and skip the route if the addr points to one - of our interfaces to avoid loops. - -1999-09-22 Alex Zinin - - * ospf_interface: - ospf_vls_in_area() added, it returns - the number of VLs configured through the area - - * ospf_interface.c ospf_lsa.c ospf_lsdb.c ospfd.c - honor correct mem alloc - -1999-09-22 Alex Zinin - - * memory.[ch]: - Some OSPF mem types added, - plus more info in "show mem" - -1999-09-21 Alex Zinin - - * ospfd.c: - "area range substitute" added. - It can be used on NAT-enabled (IP-masquarade) - routers to announce private networks - from an area as public ones into the outside - world (not in the RFC, btw :) - -1999-09-21 Alex Zinin - - * ospfd.c: - "area range suppress" added. - This command allows to instruct the router - to be silent about specific ranges, i.e., - it is a method of route filtering on area - borders - -1999-09-21 Alex Zinin - - * ospfd.c VLs removed when "no network area" executed - -1999-09-20 Alex Zinin - - * ospf_ase.c bug fix for not-zero fwd_addr - and directly connected routes. - -1999-09-20 Yon Uriarte - - * ospf_packet.c (ospf_make_ls_req): Introduce delta value for - checking the length of OSPF packet exceeds MTU or not. - - * ospf_lsa.c (ospf_lsa_different): Apply ntohs for checking - l1->data->length. - -1999-09-18 Alex Zinin - - * ospf_lsa.c bug fix for ospf_network_lsa() to - include itself into the RID list - -1999-09-10 Alex Zinin - - * Alternative ABR behaviors IBM/Cisco/Shortcut - implemented - -1999-09-10 Alex Zinin - - * router and network-LSA origination - changed to honor MinLSInterval - -1999-09-08 Alex Zinin - - * modified ABR behavior to honor VLs and transit - areas - -1999-09-07 Alex Zinin - - * completed VL functionality - -1999-09-06 Kunihiro Ishiguro - - * ospf_asbr.c: New file. - ospf_asbr.h: New file. - - * ospf_zebra.c (ospf_redistribute_connected): Add redistribute - related stuff. - -1999-09-05 Kunihiro Ishiguro - - * ospfd.h (OSPF_FLAG_VIRTUAL_LINK): Change OSPF_FLAG_VEND to - OSPF_FLAG_VIRTUAL_LINK for comprehensiveness. - -1999-09-03 Kunihiro Ishiguro - - * ospf_spf.c (ospf_spf_register): Change name from - ospf_spf_route_add() to ospf_spf_register(). - Include "ospfd/ospf_abr.h" for ospf_abr_task() prototype. - -1999-09-02 Kunihiro Ishiguro - - * ospf_lsa.c (ospf_external_lsa_install): Change to update - lsa->data rather than install new one, when same id lsa is already - installed. - -1999-09-01 Kunihiro Ishiguro - - * ospf_lsa.c (ospf_router_lsa_install): Return lsa value. - (ospf_network_lsa_install): Likewise. - (ospf_summary_lsa_install): Likewise. - (ospf_summary_asbr_lsa_install): Likewise. - (ospf_external_lsa_install): Likewise. - - * ospf_spf.c (ospf_spf_calculate): Comment out debug function - ospf_rtrs_print(). - -1999-08-31 Kunihiro Ishiguro - - * ospf_spf.c (ospf_rtrs_free): Add ospf_spf_calculate() for - freeing rtrs. - -1999-08-31 Toshiaki Takada - - * ospf_lsa.c (show_ip_ospf_database_summary), - (show_ip_ospf_database_summary_asbr), - (show_ip_ospf_database_external): New function added. - `show ip ospf database summary', - `show ip ospf database asbr-summary' - `show ip ospf database external' command can be used. - - * ospf_lsa.c (ospf_lsa_count_table): New function added. - (show_ip_ospf_database_all): show nothing if a type of LSA - does not exist. - -1999-08-31 Kunihiro Ishiguro - - * ospf_lsa.c (ospf_maxage_lsa_remover): Preserve next pointer when - the node is deleted. - -1999-08-31 Toshiaki Takada - - * ospf_flood.c (ospf_ls_retransmit_lookup): change to return - struct ospf_lsa *. - (ospf_ls_request_new), (ospf_ls_request_free), - (ospf_ls_request_add), (ospf_ls_request_delete), - (ospf_ls_request_delete_all), (ospf_ls_request_lookup): - New function added. - - * ospf_packet.c (ospf_ls_upd_send_lsa): New function added. - - * ospf_lsa.h (LS_AGE): Slightly change macro definition. - - * ospf_lsa.c (ospf_lsa_more_recent), (ospf_lsa_diffrent): - Use LS_AGE macro. - -1999-08-30 Alex Zinin - - * ospfd.c - fix a bug with area range config write - added "show ip ospf" command, it will be enhanced later on - -1999-08-30 Alex Zinin - - * ospf_lsa.c - updated ospf_router_lsa() to honor flags (B-bit) - -1999-08-30 Alex Zinin - - * ospf_abr.c - wrote major functions implementing ABR activity - -1999-08-30 Alex Zinin - - * ospf_ia.c ospf_route.c ospf_route.h - fixed the bug with ospf_route.origin field. - Now it holds pointer to lsa_header - -1999-08-30 Alex Zinin - - * ospf_flood.c ospf_flood.h: - transformed ospf_flood_if_select into ospf_flood_through_area() - added new ospf_flood_if_select() and ospf_flood_through_as() - -1999-08-30 Toshiaki Takada - - * ospf_flood.[ch]: New file added. - - * ospf_packet.c (ospf_lsa_flooding), - (ospf_lsa_flooding_select_if): functions move to ospf_flood.c - - * ospf_neighbor.c (ospf_put_lsa_on_retransm_list), - (ospf_remove_lsa_from_retransm_list), - (ospf_nbr_remove_all_lsas_from_retransm_list), - (ospf_lsa_remove_from_ls_retransmit): - (ospf_lsa_retransmit): functions move to - ospf_flood.c, and change function's name: - - ospf_put_lsa_on_retransm_list () - -> ospf_ls_retransmit_add () - ospf_remove_lsa_from_retransm_list () - -> ospf_ls_retransmit_delete () - ospf_nbr_remove_all_lsas_from_retransm_list () - -> ospf_ls_retransmit_clear () - ospf_lsa_remove_from_ls_retransmit () - -> ospf_ls_retransmit_delete_nbr_all () - ospf_lsa_retransmit () - -> ospf_ls_retransmit_add_nbr_all () - - * ospf_lsa.c (ospf_lsa_lookup_from_list): function move to - ospf_flood.c, and change name to ospf_ls_retransmit_lookup (). - -1999-08-30 Kunihiro Ishiguro - - * ospf_neighbor.c (ospf_nbr_lookup_by_addr): Use - route_node_lookup() instead of route_node_get(). - - * ospf_packet.c (ospf_ls_upd): Temporary comment out (6) check. - -1999-08-30 Kunihiro Ishiguro - - * ospf_route.c (ospf_lookup_int_by_prefix): Add check of - oi->address. - -1999-08-29 Alex Zinin - * ospf_lsa.c - MaxAge LSA deletion functions added. - -1999-08-29 Alex Zinin - * ospf_neighbor.c - ospf_nbr_lookup_by_addr(): added route_unlock_node() - when function returns NULL if (rn->info == NULL) - -1999-08-29 Alex Zinin - * ospfd.c - added a hack for area range deletion - -1999-08-29 Alex Zinin - * ospf_lsa.h - included lsdb field into struct ospf_lsa, to find - LSDB easier when removing MaxAge LSAs. - -1999-08-29 Alex Zinin - * ospf_lsa.c ospf_neighbor.c ospf_nsm.c - ospf_packet.c changed to honor new retransmit list - management functions - -1999-08-29 Alex Zinin - * ospf_neighbor.c , .h added new retransmit list functions. - -1999-08-29 Alex Zinin - * Makefile.in - added ospf_ase, ospf_abr, ospf_ia - -1999-08-29 Alex Zinin - * ospf_spf.c: - - changed ospf_next_hop_calculation() to include interface - and nexthop addr for directly connected routers---more informative - and solves problem with route installation into the kernel - - changed ospf_nexthop_out_if_addr() to support routers, not only - transit networks - - added ospf_process_stubs(); - -1999-08-29 Alex Zinin - * ospf_lsa.c: - - changed ospf_router_lsa() to provide correct links - for p-t-p interfaces; - - changed ospf_summary_lsa_install() to support table - of self-originated summary-LSAs; - - added ospf_summary_asbr_lsa_install() and ospf_external_lsa_install() - - changed ospf_lsa_install() accordingly - - changed show_ip_ospf_database_router_links() to support p-t-p - -1999-08-29 Kunihiro Ishiguro - - * ospf_packet.c (ospf_make_db_desc): Only master can clear more - flag. - -1999-08-29 Kunihiro Ishiguro - - * ospf_packet.c (ospf_read): Add check of IP src address. - -1999-08-28 Alex Zinin - * ospf_neighbor.h - added ospf_nbr_lookup_by_routerid() - -1999-08-28 Alex Zinin - * ospfd.h - added ABR/ASBR flag definitions and fields; - added iflist field to area structure; - summary_lsa_self and summary_lsa_asbr_self are changed - to be route tables; - added ranges field---configured area ranges; - A separate Routers RT added; - area range config commands and config write added - - -1999-08-28 Alex Zinin - * ospf_route.c : - ospf_route_free()--added code to free the list of paths; - The following functions added: - ospf_intra_add_router(); - ospf_intra_add_transit(); - ospf_intra_add_stub(); - the last function uses new ospf_int_lookup_by_prefix(); - show_ip_ospf_route_cmd()--changed to support new RT structure; - added ospf_cmp_routes()--general route comparision function; - added ospf_route_copy_nexthops() and ospf_route_copy_nexthops_from_vertex() - they are used in ASE and IA routing; - added ospf_subst_route() and ospf_add_route(); - -1999-08-28 Alex Zinin - * ospf_route.h : - changed struct ospf_path to include output interface, - changed struct ospf_route to support IA and ASE routing. - added prototypes of the function used in IA and ASE modules. - -1999-08-28 Alex Zinin - * ospf_lsa.h ospf_lsa.c : - added ospf_my_lsa(), an interface independent version of - ospf_lsa_is_self_originated(), it will be used in ASE and IA-routing. - -1999-08-27 Kunihiro Ishiguro - - * ospf_interface.c (interface_config_write): Add check for - oi->nbr_self. - -1999-08-25 Toshiaki Takada - - * ospf_lsa.c (ospf_lsa_dup): New function added. - - * ospf_packet.c (ospf_write), (ospf_read): Print send/recv - interface in debug message. - -1999-08-25 Toshiaki Takada - - * ospf_packet.c (ospf_ls_ack_send): The name is changed from - `ospf_ls_ack_send'. - (ospf_ls_ack_send_delayed) (ospf_ls_ack_timer): New function added. - Delayed Link State Acknowledgment is scheduled by timer. - -1999-08-25 Alex Zinin - - * ospf_lsa.c (ospf_router_lsa): Incorrectly included link to - a stub network instead of link to a transit network into - originated router-LSA, bug fixed. - -1999-08-24 Toshiaki Takada - - * ospfd.c (ospf_update_router_id): New function added. - - * ospf_network.c (ospf_write): Create new socket per transmission. - And select outgoing interface whether dst is unicast or multicast. - - * ospf_packet.c: LSA flooding will work. - -1999-08-24 VOP - - * ospf_route.c: Include "sockunion.h" - -1999-08-24 Kunihiro Ishiguro - - * ospf_network.c (ospf_serv_sock_init): Enclose - IPTOS_PREC_INTERNETCONTROL setting with #ifdef for OS which does - not have the definition. - -1999-08-23 Toshiaki Takada - - * ospf_packet.c: Fix bug of DD processing. - -1999-08-18 Toshiaki Takada - - * ospf_lsa.c (show_ip_ospf_database): Show actual `LS age'. - -1999-08-17 Toshiaki Takada - - * ospf_lsa.h (OSPF_MAX_LSA): The value of OSPF_MAX_LSA is - corrected. The bug of `mes_lookup' is fixed. - This had been reported by Poul-Henning Kamp . - - * ospf_lsa.c (ospf_router_lsa_install): The name is changed from - `ospf_add_router_lsa'. - (ospf_network_lsa_install): The name is changed from - `ospf_add_network_lsa'. - - * ospf_interface.h (ospf_interface): Add member `nbr_self'. - - * ospf_interface.c (ospf_if_is_enable): New function added. - -1999-08-16 Toshiaki Takada - - * ospf_lsa.h (struct lsa_header): The name is changed from - `struct ospf_lsa'. - (struct ospf_lsa): New struct added to control each LSA's aging - and timers. - - * ospf_lsa.c (ospf_lsa_data_free): The name is change from - `ospf_lsa_free'. - (ospf_lsa_data_new), (ospf_lsa_new), (ospf_lsa_free), - (ospf_lsa_different), (ospf_lsa_install): New function added. - - * ospf_packet.c (ospf_ls_upd_list_lsa): New function added. - -1999-08-12 Toshiaki Takada - - * ospf_nsm.c (nsm_reset_nbr): New function added. - KillNbr and LLDown neighbor event call this function. - -1999-08-10 Toshiaki Takada - - * ospf_packet.c (ospf_ls_retransmit) - (ospf_ls_upd_timer): New function added. - Set retransmission timer for Link State Update. - -1999-07-29 Toshiaki Takada - - * ospf_ism.c (ospf_dr_election): Fix bug of DR election. - -1999-07-28 Toshiaki Takada - - * ospf_network.c (ospf_serv_sock_init): Set IP precedence field - with IPTOS_PREC_INTERNET_CONTROL. - - * ospf_nsm.c (nsm_change_status): Schedule NeighborChange event - if NSM status change. - - * ospf_packet.c (ospf_make_hello): Never include a neighbor in - Hello packet, when the neighbor goes down. - -1999-07-26 Kunihiro Ishiguro - - * Makefile.am (noinst_HEADERS): Add ospf_route.h. - - * ospf_route.c (show_ip_ospf_route): Add `show ip ospf route' - command. - -1999-07-25 Toshiaki Takada - - * ospf_lsa.c (ospf_router_lsa): Fix bug of LS sequence number - assignement. - -1999-07-25 Kunihiro Ishiguro - - * ospf_route.c (ospf_route_table_free): New function added. - - * ospf_spf.c (ospf_spf_next): Free vertex w when cw's and w's - distance is same. - - * ospfd.h (struct ospf): Add old_table. - - * ospf_main.c (sighup): Call of log_rotate () removed. - - * ospf_lsa.c (ospf_lsa_is_self_originated): Fix bug of checking - area->lsa as self LSA. This should be area->lsa_self. - -1999-07-24 Kunihiro Ishiguro - - * ospf_zebra.c (ospf_zebra_add): ospf_zebra_add - (),ospf_zebra_delete () added. - - * ospf_spf.c (ospf_spf_calculate): Call ospf_intra_route_add (). - -1999-07-24 Toshiaki Takada - - * ospf_lsa.c: Change LS sequence number treatment. - (ospf_lsa_is_self_originated): New function added. - (show_ip_ospf_database_self_originated): New DEFUN added. - -1999-07-23 Kunihiro Ishiguro - - * ospf_interface.c (ospf_if_lookup_by_addr): Add loopback check. - -1999-07-22 Toshiaki Takada - - * ospf_spf.c (ospf_nexthop_new), (ospf_nexthop_free), - (ospf_nexthop_dup): function added. - (ospf_nexthop_calculation): function changed. - - * ospf_interface.c (ospf_if_lookup_by_addr): function added. - -1999-07-21 Toshiaki Takada - - * ospf_spf.c (ospf_spf_closest_vertex): function removed. - -1999-07-21 Kunihiro Ishiguro - - * ospf_spf.c (ospf_spf_next): Apply ntohs for fetching metric. - -1999-07-21 Toshiaki Takada - - * ospf_neighbor.c (ospf_nbr_lookup_by_router_id): fundtion removed. - - * ospf_lsa.c (show_ip_ospf_database_router): describe each - connected link. - -1999-07-21 Kunihiro Ishiguro - - * ospf_spf.c (ospf_spf_next): V is router LSA or network LSA so - change behavior according to LSA type. - (ospf_lsa_has_link): Link check function is added. - -1999-07-20 Kunihiro Ishiguro - - * ospf_spf.c (ospf_spf_calculate_schedule): Add new function for - SPF calcultion schedule addtition. - (ospf_spf_calculate_timer_add): Rough 30 sec interval SPF calc - timer is added. - (ospf_spf_next_router): Delete ospf_spf_next_network (). - - * ospf_lsa.c (show_ip_ospf_database_all): Network-LSA display - header typo correction. Display of router LSA's #link added. - -1999-07-19 Toshiaki Takada - - * ospf_packet.c (ospf_check_network_mask): Added new function for - receiving Raw IP packet on an appropriate interface. - -1999-07-16 Toshiaki Takada - - * ospfd.c (ospf_router_id): new DEFUN added. - -1999-07-15 Toshiaki Takada - - * ospf_spf.c (ospf_spf_init), (ospf_spf_free), - (ospf_spf_has_vertex), (ospf_vertex_lookup), - (ospf_spf_next_router), (ospf_spf_next_network), - (ospf_spf_closest_vertex), (ospf_spf_calculate): - function added. - -1999-07-13 Toshiaki Takada - - * ospf_ism.c: fix bug of DR Election. - - * ospf_nsm.c: fix bug of adjacency forming. - -1999-07-05 Kunihiro Ishiguro - - * ospfd.c (ospf_init): Change to use install_default. - -1999-07-01 Rick Payne - - * ospf_zebra.c (zebra_init): Install standard commands to - ZEBRA_NODE. - -1999-06-30 Toshiaki Takada - - * ospf_dump.c: Whole debug command is improved. - (ISM|NSM) (events|status|timers) debug option added. - (show_debugging_ospf): new DEFUN added. - -1999-06-30 Kunihiro Ishiguro - - * ospf_lsa.c (ospf_lsa_lookup_from_list): Change !IPV4_ADDR_CMP to - IPV4_ADDR_SAME. - -1999-06-29 Toshiaki Takada - - * ospf_dump.c (ospf_summary_lsa_dump): Add summary-LSA dump routine. - (ospf_as_external_lsa_dump): Add AS-external-LSA dump routine. - - * ospf_nsm.c (nsm_twoway_received): fix condtion of adjacnet. - - * ospf_ism.c (ospf_dr_election): fix DR Election. - - * ospf_dump.c (ospf_nbr_state_message): fix `show ip ospf neighbor' - command's state. - -1999-06-29 Kunihiro Ishiguro - - * ospf_dump.c (ospf_router_lsa_dump): Add router-LSA dump routine. - -1999-06-28 Toshiaki Takada - - * ospf_lsa.c (show_ip_ospf_database_network): fix bug of - `show ip ospf database network' command output. - - * ospf_nsm.c (nsm_inactivity_timer): Clear list of Link State - Retransmission, Database Summary and Link State Request. - - * ospf_packet.c (ospf_ls_req_timer): New function added. - Set Link State Request retransmission timer. - -1999-06-27 Kunihiro Ishiguro - - * ospf_main.c (main): Change default output from ZLOG_SYSLOG to - ZLOG_STDOUT. - - * ospfd.c (ospf_init): Register show_ip_ospf_interface_cmd and - show_ip_ospf_neighbor_cmd to VIEW_NODE. - - * ospf_lsa.c (ospf_lsa_init): Register show_ip_ospf_database_cmd - and show_ip_ospf_database_type_cmd to VIEW_NODE. - -1999-06-25 Toshiaki Takada - - * ospf_packet.c: fix bug of DD making. - fix bug of LS-Update reading. - -1999-06-23 Toshiaki Takada - - * ospf_packet.c: All type of packets are changed to use - fifo queue structure. - (ospf_fill_header) function added. - -1999-06-22 Toshiaki Takada - - * ospf_packet.c (ospf_packet_new): New function added to handle - sending ospf packet by fifo queue structure. - (ospf_packet_free), (ospf_fifo_new), (ospf_fifo_push), - (ospf_fifo_pop), (ospf_fifo_head), (ospf_fifo_flush), - (ospf_fifo_free): Likewise. - -1999-06-21 Toshiaki Takada - - * ospf_nsm.c (ospf_db_desc_timer): function added. - (nsm_timer_set) function added. - * ospf_dump.c (ospf_option_dump): function added. - * ospf_packet.c (ospf_ls_req) (ospf_make_ls_req): function added. - -1999-06-20 Toshiaki Takada - - * ospf_lsa.c (ospf_lsa_more_recent): function added. - * ospf_neighbor.h (struct ospf_neighbor): Change member ms_flag - to dd_flags. - -1999-06-19 Toshiaki Takada - - * ospf_lsa.c: DEFUN (show_ip_ospf_database) Added. - * ospf_interface.c (if_ospf_cost), (if_ospf_dead_interval), - (if_ospf_hello_interval), (if_ospf_priority), - (if_ospf_retransmit_interval), (if_ospf_transmit_delay) - argument changed from NUMBER to . - DEFUN (if_ospf_network_broadcast), - DEFUN (if_ospf_network_non_broadcast), - DEFUN (if_ospf_network_point_to_multipoint), - DEFUN (if_ospf_network_point_to_point) functions are combined to - DEFUN (if_ospf_network). - -1999-06-18 Toshiaki Takada - - * ospf_lsa.c: ospf_add_router_lsa (), ospf_add_network_lsa (), - ospf_lsa_lookup (), ospf_lsa_count () Added. - -1999-06-15 Toshiaki Takada - - * DEFUN (ospf_debug_ism), DEFUN (ospf_debug_nsm), - DEFUN (no_ospf_debug_ism), DEFUN (no_ospf_debug_nsm) Added. - `debug ospf ism' command shows debug message. - `debuf ospf nsm' command shows debug message. - -1999-06-14 Toshiaki Takada - - * ospf_lsa.c: ospf_network_lsa () Added. - ospf_lsa_checksum () Added. - * DEFUN (ospf_debug_packet), DEFUN (no_ospf_debug_packet) Added. - `debug ospf packet' command shows debug message. - -1999-06-13 Toshiaki Takada - - * ospf_packet.h: Remove struct ospf_ls_req {}, ospf_ls_upd {}, - ospf_ls_ack {}. - -1999-06-11 Toshiaki Takada - - * ospf_dump.c: fix IP packet length treatment. - -1999-06-10 Toshiaki Takada - - * ospf_ism.h: Add OSPF_ISM_EVENT_EXECUTE() Macro Added. - * ospf_nsm.h: Add OSPF_NSM_EVENT_EXECUTE() Macro Added. - - * ospf_packet.c: ospf_db_desc (), ospf_db_desc_send () Added. - ospf_make_hello (), ospf_make_db_desc () Added. - ospf_db_desc_proc () Added.n - - * Database Description packet can be processed. - -1999-06-08 Toshiaki Takada - - * ospf_lsa.c: New file. - -1999-06-07 Toshiaki Takada - - * ospf_neighbor.c: ospf_fully_adjacent_count () Added. - -1999-06-07 Kunihiro Ishiguro - - * ospf_spf.[ch]: New file. - -1999-05-30 Kunihiro Ishiguro - - * ospf_zebra.c: Changed to use lib/zclient.c routines. - - * ospf_zebra.h (zebra_start): Remove struct zebra. - -1999-05-29 Kunihiro Ishiguro - - * ospfd.c (ospf_config_write): Add cast (unsigned long int) to - ntohl for sprintf warning. - -1999-05-19 Toshiaki Takada - - * ospf_ism.c (ospf_dr_election): Join AllDRouters Multicast group - if interface state changes to DR or BDR. - -1999-05-14 Stephen R. van den Berg - - * ospf_main.c (signal_init): SIGTERM call sigint. - (sigint): Logging more better message. - -1999-05-12 Toshiaki Takada - - * ospfd.c: Fix bug of `no router ospf' statement, it will work. - -1999-05-11 Toshiaki Takada - - * ospf_neighbor.c: ospf_nbr_free () Added. - -1999-05-10 Toshiaki Takada - - * ospfd.h: struct ospf_area { }, struct ospf_network { } Changed. - * Fix bug of `no network' statement, it will work. - -1999-05-07 Toshiaki Takada - - * ospf_interface.c, ospf_zebra.c: Fix bug of last interface is not - updated by ospf_if_update (). - -1999-04-30 Kunihiro Ishiguro - - * Makefile.am (noinst_HEADERS): Add ospf_lsa.h for distribution. - -1999-04-25 Toshiaki Takada - - * ospf_interface.c: DEFUN (no_if_ospf_cost), - DEFUN (no_if_ospf_dead_interval), - DEFUN (no_if_ospf_hello_interval), - DEFUN (no_if_ospf_priority), - DEFUN (no_if_ospf_retransmit_interval), - DEFUN (no_if_ospf_transmit_delay) Added. - - interface_config_write () suppress showing interface - default values. - -1999-04-25 Kunihiro Ishiguro - - * ospf_dump.c (ospf_timer_dump): If thread is NULL return "inactive". - - * ospfd.c (ospf_if_update): Fix bug of using ospf_area { } instead - of ospf_network { }. So `router ospf' statement in ospfd.conf - works again. - (ospf_if_update): Call ospf_get_router_id for updating router ID. - -1999-04-25 Toshiaki Takada - - * ospf_interface.c: DEFUN (if_ospf_network) deleted. - DEFUN (if_ospf_network_broadcast), - DEFUN (if_ospf_network_non_broadcast), - DEFUN (if_ospf_network_point_to_multipoint), - DEFUN (if_ospf_network_point_to_point), - DEFUN (no_if_ospf_network) Added. - -1999-04-23 Toshiaki Takada - - * ospfd.h: struct area { } changed to struct ospf_network { }. - Add struct ospf_area { }. - * ospfd.c: Add ospf_area_lookup_by_area_id (), ospf_network_new (), - and ospf_network_free (). - DEFUN (area_authentication), DEFUN (no_area_authentication) Added. - -1999-04-22 Toshiaki Takada - - * ospf_lsa.h: New file. - * ospf_packet.h: LSA related struct definition are moved to - ospf_lsa.h. - * ospf_packet.c: ospf_verify_header () Added. - -1999-04-21 Toshiaki Takada - - * ospf_ism.c: ospf_elect_dr () and related function is changed. - DR Election bug fixed. - * ospf_dump.c: ospf_nbr_state_message (), ospf_timer_dump () Added. - * ospfd.c: DEFUN (show_ip_ospf_neighbor) Added. - -1999-04-19 Kunihiro Ishiguro - - * ospf_main.c (main): access_list_init () is added for vty - connection filtering. - -1999-04-16 Toshiaki Takada - - * ospfd.c: DEFUN (show_ip_ospf_interface) Added. - * ospf_neighbor.c: ospf_nbr_count () Added. - -1999-04-15 Toshiaki Takada - - * ospfd.h: struct ospf { } Changed. - * ospfd.c: ospf_lookup_by_process_id () Deleted. - * ospf_ism.c: ospf_wait_timer () Added. WaitTimer will work. - -1999-04-14 Toshiaki Takada - - * ospf_ism.c: ospf_elect_dr () Added. - * ospf_network.c: ospf_if_ipmulticast () Added. - -1999-04-11 Toshiaki Takada - - * ospf_interface.c: interface_config_write (), - DEFUN (if_ip_ospf_cost), - DEFUN (if_ip_ospf_dead_interval), - DEFUN (if_ip_ospf_hello_interval), - DEFUN (if_ip_ospf_priority), - DEFUN (if_ip_ospf_retransmit_interval) and - DEFUN (if_ip_ospf_transmit_delay) Added. - -1999-04-08 Toshiaki Takada - - * ospf_dump.c: ospf_packet_db_desc_dump () Added. - * ospf_neighbor.c: ospf_nbr_bidirectional () Added. - * ospf_nsm.c: nsm_twoway_received () Added. - -1999-04-02 Toshiaki Takada - - * ospf_neighbor.c: New file. - * ospf_neighbor.h: New file. - * ospf_nsm.c: New file. - * ospf_nsm.h: New file. - * ospf_packet.c: Add ospf_make_header (), ospf_hello () and - ospf_hello_send (). Now OSPFd can receive Hello and send Hello. - -1999-03-27 Kunihiro Ishiguro - - * ospf_packet.c: Add ospf_recv_packet (). Now OSPF Hello can receive. - -1999-03-19 Toshiaki Takada - - * ospf_packet.c: New file. - * ospf_packet.h: New file. - * ospf_network.c: New file. - * ospf_network.h: New file. - * ospfd.h: move OSPF message structure has moved to ospf_packet.h. - -1999-03-17 Kunihiro Ishiguro - - * ospf_zebra.c (ospf_zebra_get_interface): Fix for IPv6 interface - address. - - * Makefile.am (install-sysconfDATA): Overwrite install-sysconfDATA - for install ospfd.conf.sample as owner read only file. - - * ospf_main.c (usage): Change to use ZEBRA_BUG_ADDRESS. - -1999-03-15 Toshiaki Takada - - * ospf_ism.c: New file. - * ospf_ism.h: New file. - * ospf_dump.c: New file. - * ospf_dump.h: New file. - - * ospfd.h: Add (struct ospf), (struct config_network), - (struct message) structure. - - * ospf_interface.c: Add ospf_if_match_network (). - * ospf_interface.h (struct ospf_interface): Change struct members. - - * ospfd.c: ospf_lookup_by_process_id (), ospf_network_new (), - DEFUN (network_area): Added. - - * ospfd.conf.sample: Change sample configuration. - -1999-03-05 Toshiaki Takada - - * ospf_interface.c: New file. - * ospf_interface.h: New file. - * ospf_zebra.h: New file. - * ospf_zebra.c: Add interface function for zebra daemon. - * ospfd.c: New file. - -1999-02-23 Kunihiro Ishiguro - - * Move IPv6 codes and files to ospf6d directory. - -1999-02-18 Peter Galbavy - - * syslog support added - -1998-12-22 Toshiaki Takada - - * ospfd.h: New file. - * ospf_lsa.h: New file. - -1998-12-15 Kunihiro Ishiguro - - * Makefile.am: New file. - * ospf_main.c: New file. - diff --git a/pkgsrc/ChangeLog b/pkgsrc/ChangeLog deleted file mode 100644 index 79ade41b..00000000 --- a/pkgsrc/ChangeLog +++ /dev/null @@ -1,15 +0,0 @@ -2004-08-31 Greg Troxel - - * Rename scripts to *.sh.in, and use autoconf-style substitution - for prefix and localstatedir. - -2004-08-31 Greg Troxel - - * Makefile.am: Only put pkgsrc dir in SUBDIRS if we should install - rc.d files. (Note that pkgsrc is always in DIST_SUBDIRS.) - - * configure.ac (pkgsrcdir): add new --enable-pkgsrcrcdir to give a - directory into which www.pkgsrc.org-style rc.d files are - installed. - - diff --git a/ripd/ChangeLog b/ripd/ChangeLog deleted file mode 100644 index 60baef5d..00000000 --- a/ripd/ChangeLog +++ /dev/null @@ -1,1217 +0,0 @@ -2008-05-29 Stephen Hemminger - - * ripd.c: (rip_auth_md5) fix bogus empty string test - -2008-03-13 Paul Jakma - - * ripd.c/rip_interface.c: Remove 0 entries from rip_msg - ri_version_msg struct message's, not needed with recent fixes - to mes_lookup. - -2007-04-27 Andrew J. Schorr - - * ripd.c: (rip_vty_out_uptime) Remove unused variable timer_now. - -2007-04-11 Emmanuel Vize - - * ripd.c: (rip_vty_out_uptime) Use new thread_timer_remain_second - to display properly the route timeout, displayed by "show ip rip" - -2007-03-21 Andrew J. Schorr - - * ripd.c: (show_ip_rip_status) Use new thread_timer_remain_second - function instead of rip_next_thread_timer to display the time until - next update properly. - (rip_next_thread_timer) Remove obsolete function. - -2006-12-12 Andrew J. Schorr - - * rip_interface.c: (rip_interface_multicast_set) Use new CONNECTED_ID - macro to simplify logic. - (rip_request_interface_send) Fix minor bug: ipv4_broadcast_addr does - not give a useful result if prefixlen is 32 (we require a peer - address in such cases). - * ripd.c: (rip_update_interface) Fix same bug as above. - -2006-09-11 Paul Jakma - - * ripd.c: (rip_read) remove gratuitous use of mid-function - declaration of vrecv, bug #278. - * rip_routemap.c: (route_set_metric) underflow check needs to - use signed, problem identified and diagnosed by Pavel - Nikiforov in bug #293. - -2006-06-29 Paul Jakma - - * rip_zebra: (general) convert redistribute commands to use - the auto-generated defines. - -2006-05-04 Paul Jakma - - * (general) Fixes for bugs #261 and 262. Thanks to - Konstantin V. Gavrilenko for the problem - reports, testing of a series of proposed patches and comment - on the proposed changes in behaviour. - * rip_interface.c: (ip_rip_authentication_mode_cmd) Parse all - of the command before making any changes to configured state. - * ripd.c: (rip_read) RIP version control should be absolute and - always apply, fixes bug #261 by allowing RIPv1 to be disabled. - Fix bug #262: If authentication is enabled, then - unauthenticated packets should not be accepted. We do however - make an exception for RIPv1 REQUEST packets, to which we will - reply as RIPv1 can now be disabled fully, to allow ripd to - still provide routing /information/ to simple devices. - -2006-04-28 Andrew J. Schorr - - * ripd.c: (rip_update_process) Try to fix the logic for sending - an updated on each connected network. The new code will - attempt to send the update on each connected network, whereas - the previous code seemed to be attempting to avoid sending - more than one RIPv1 update on a given interface, but was coded - incorrectly. The actual effect of the old code was to send - an update only on the first connected address in the cases - where the interface is not multicast, or RIPv2 is not being used. - -2006-01-30 Alain Ritoux - - * ripd.c: correct bug that allowed route learnt through RIP to take - precedence over connectd routes - -2006-01-19 Paul Jakma - - * ripd.c: (main) return from main, not exit, cause it annoys SOS. - -2006-01-17 Paul Jakma - - * ripd.c: (rip_auth_md5) remove pdigest, not needed. - Use a local buffer for the auth_str, where it can be properly - nul padded. Do so, hence fixing MD5 authentication. - Key looked up via key ring should be used in preference to - the RIPv1 simple password, not other way around. - No need to copy around digests, we can reference them - directly. - The auth_len received can't be trusted, some implementations - lie (e.g. older ripd). - (rip_auth_md5_ah_write) rename len local variable to doff - to be consistent with other functions. - (rip_auth_header_write) add the missing return. - (rip_auth_md5_set) use the proper constructs to access stream. - -2005-10-30 Andrew J. Schorr - - * ripd.c: (rip_response_process) Instead of calling - rip_interface.c:if_valid_neighbor(), call the equivalent - library function if_lookup_address(). - * rip_interface.c: (if_valid_neighbor) Remove function, since it is - essentially equivalent to the if_lookup_address() library function. - * ripd.h: (if_valid_neighbor) Remove function declaration. - -2005-10-28 Paul Jakma - - * Makefile.am: Add rip_interface.h, or else it doesn't get - included in dists. - -2005-10-26 Paul Jakma - - * (general) static/extern functions and definitions. - * rip_interface.h: new file, export the public functions from - rip_interface.c - * ripd.c: Update couple more functions to specify void - explicitely. - -2005-10-17 Vincent Jardin - - * ripd.c: rip_create_socket() for each packet, it does not bind to the - proper interfaces because we forget to use the from address when - it is specified. - -2005-10-06 Alain Ritoux - - * rip_interface.c: Now the command "no ip rip split-horizon - poisoned-reverse" just inhibates the poisoned-reverse effects - but keep spli-horizon activ. - -2005-10-01 Andrew J. Schorr - - * rip_zebra.c: (config_write_rip_redistribute): Remove local hard-coded - table str[]. Replace str[] with calls to new library function - zebra_route_string(). - * ripd.c: Remove local hard-coded table route_info[]. - (show_ip_rip) Replace uses of str[] with calls to new library - functions zebra_route_char and zebra_route_string. - -2005-09-29 Alain Ritoux - - * rip_snmp.c: rip2IfConfReceive() sends values in conformance - with RFC. Also PeerDomain is now set to a STRING type. - * ripd.h: rip_redistribute_add() API includes metric and distance - added field external_metric in routes. - * ripd.c: rip_redistribute_add() API i.e. stores metric and distance - Now allows a RIP-route to overcome a redistributed route coming - from a protocol with worse (higher) administrative distance - Metrics from redistribution are shown in show ip rip - * rip_zebra.c: adapt to the rip_redistribute_add() API, i.e. - provide distance and metric - * rip_interface.c: adapt to the rip_redistribute_add() API - * rip_routemap.c: no RMAP_COMPILE_ERROR on (metric > 16) usage - rather a CMD_WARNING, because set metric ius shared with other - protocols using larger values (such as OSPF) - The match metric action takes first external metric if present - (from redistribution) then RIP metric. - -2005-09-28 Alain Ritoux - - * ripd.c: use new md5 API - -2005-08-16 Paul Jakma - - * ripd.c: (general) Fix previous commit, broke multicast bind and - hence setting of source port, which broke communication with - non-borken ripd. Fix removes more stuff from rip_interface.c - than it adds to ripd.c ;) - (rip_create_socket) the to argument really is a from argument, - rename it. Set the source port to RIP port unconditionally, it's - required. - (rip_send_packet) Set from address correctly for multicast. - (rip_output_process) trivial: num can be BSS specified, rather - than in body. - * rip_interface.c: (rip_interface_multicast_set) strip out - redundant stuff related to bind, which rip_create_socket does. - Just make it set the multicast socket option, as per the - interface concerned, no more. - -2005-06-03 Paul Jakma - - * ripd.c: (rip_create_socket) move it up so rip_send_packet - can use it too. Make it static. Remove the getservbyname stuff, - as RFC2453 3.9.2 says non-RIP port messages should be discarded, - quagga doesnt accept them, no need to lookup port. - Take a 'to' argument, if socket should be bound to something else. - setsockopt_so_recvbuf might need privs, move it to the raised - privileges section. - dont forget to close the socket if bind fails. - (rip_send_packet) use strncpy, just in case (address is under - our control anyway, but still). - dont duplicate rip_create_socket - just use it. - (rip_create) rip_create_socket takes an argument now, modify. - -2005-06-01 Paul Jakma - - * rip_interface.c: Fix authentication, no-auth impossible to specify - (rip_interface_new) default to RIP_NO_AUTH - (rip_interface_reset) ditto - (rip_interface_config_write) write out config for simple - -2005-05-29 Paul Jakma - - * ripd.c: (rip_output_process) fix error which crept in my - previous rip auth untanglement commit - it had become impossible - to not have authentication (even for v1). - -2005-05-28 Hasso Tepper - - * rip_routemap.c: Fix set_metric_addsub_cmd help, it's not about BGP - metric. - -2005-05-26 Hasso Tepper - - * rip_routemap.c: In case of '0.0.0.0' used as 'nexthop', use sender - address as nexthop in routemap. - -2005-05-26 Hasso Tepper - - * rip_routemap.c: Make "match interface" routemap command match both - - in and out interfaces. - -2005-05-11 Andrew J. Schorr - - * rip_interface.c (rip_interface_add): Need to call - rip_passive_interface_apply (was already calling it in - rip_interface_up). - -2005-04-11 Andrew J. Schorr - - * rip_zebra.c (rip_redistribute_set, rip_redistribute_unset, - rip_redistribute_clean): Change 2nd arg to zebra_redistribute_send - from zclient->sock to zclient. - -2005-04-02 Andrew J. Schorr - - * rip_interface.c: (rip_interface_delete) After deleting, set - ifp->ifindex to IFINDEX_INTERNAL. - -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. - -2005-01-30 Andrew J. Schorr - - * ripd.c: (rip_create_socket) Replace perror with zlog_err. - -2005-01-30 Andrew J. Schorr - - * ripd.c: (rip_create_socket) Save errno before calling - ripd_privs.change. - -2005-01-04 Andrew J. Schorr - - * ripd.c: (rip_recvmsg) Use ZCMSG_FIRSTHDR instead of CMSG_FIRSTHDR. - -2004-12-15 Andrew J. Schorr - - * ripd.c: (rip_read) Improve 2 error messages to show the source of - the packet when the lookup fails. - -2004-12-08 Andrew J. Schorr - - * *.c: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr - - * rip_main.c: (main) The 2nd argument to openzlog has been removed. - -2004-12-03 Andrew J. Schorr - - * rip_main.c: (sigint) Use zlog_notice for termination message. - (main) Add a startup announcement using zlog_notice. - -2004-11-25 Hasso Tepper - - * rip_main.c: Make group to run as configurable. - -2004-10-22 Paul Jakma - - * ripd.c: Collapse redundant passing of various address structs, - struct interface and struct connected as arguments to functions - down to two key arguments, namely struct connected and, possibly, - address of source/destination. Testing for RIPv1 would be useful. - (rip_read) lookup struct connected for the received packet, pass - it on. - * rip_interface.c: With previous changes, we no longer have to tread - carefully with struct connected, as it will always be there and - valid. - -2004-10-19 Andrew J. Schorr - - * ripd.c: (rip_update_interface) if connected->destination is NULL, - get the broadcast address with ipv4_broadcast_addr() - * rip_interface.c: (rip_interface_multicast_set) - connected->destination may be NULL. Improve message if - setsockopt_multicast_ipv4 fails. Improve message if bind fails. - (rip_request_interface_send) If connected->destination is NULL, - get the broadcast address with ipv4_broadcast_addr(). - (if_valid_neighbor) Handle PtP subnet addressing properly. - Speed up code by using prefix_match properly. - -2004-10-13 Hasso Tepper - - * ripd_snmp.c: Remove defaults used to initialize smux connection to - snmpd. Connection is initialized only if smux peer is configured. - -2004-10-11 Hasso Tepper - - * *.c: Make more strings const. - -2004-10-08 Hasso Tepper - - * *.c: Fix compiler warnings: make strings const, signed -> unsigned - etc. - -2004-09-26 Hasso Tepper - - * ripd.c: Fix compiler warning. - -2004-09-23 Hasso Tepper - - * *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-17 Paul Jakma - - * ripd.c: set receive buffer to a decent size, some systems have low - defaults. Problem noted and fix suggested by Stephan Schweizer - in [zebra 20967]. - -2004-08-19 Paul Jakma - - * rip_interface.c: (rip_interface_multicast_set) get rid - of extraneous if_pointopoint arg. ifp is accessible via connected. - pass connected->ifp->ifindex to setsockopt_multicast_ipv4. - * ripd.c: (rip_send_packet) update call to - rip_interface_multicast_set - * ripd.h: update rip_interface_multicast_set prototype - -2004-06-11 Sowmini Varadhan - - * ripd.c: (rip_distribute_update_all) distribute list hook - function pointer prototype requires struct prefix_list * arg. - (rip_distribute_update_all_wrapper) update to pass required arg, - NULL. - -2004-06-06 Paul Jakma - - * ripd.h: Add define for the RIPv2 Authentication Data family - Move the auth type defines up to where other defines live. - Add RIP_AUTH_MD5_COMPAT_SIZE, for backwards compatible - md5->auth_len size. Add md5_auth_len field to struct - rip_interface: (rip_interface_new) Init md5_auth_len to compatible - size. - (ip_rip_authentication_mode_cmd) Extended to handle setting - md5 auth-length. Appropriate aliases added. - (no_ip_rip_authentication_mode_cmd) Reset md5_auth_len to - compatible size. - (rip_interface_config_write) Teach it about md5_auth_len. - _always_ write out the auth-length, so that everyone will get - the setting in their config file, and hence allow for a future - change of default for md5_auth_len to be less painful - every md5 - user will have this setting in their config file. - ripd.c: (rip_packet_dump) Change nasty hard coded constants to - symbolic defines. Change various tests of 'ntoh.(variable) == - constant' to test 'variable == ntoh.(constant)'. Clean up - indentation on some long lines. - (rip_auth_simple_password) ditto. - (rip_auth_md5) ditto, also add length argument and sanity check - md5 data offset field. Sanity check md5 auth length, accept RFC - or old-ripd/cisco lengths. - (rip_auth_md5_set) as per (rip_packet_dump), also write out - the configured md5 auth length for the interface (old-ripd or rfc) - (rip_read) as per (rip_packet_dump) - (rip_write_rte) ditto - (rip_response_process) ditto - (rip_write_rte) ditto - -2004-06-04 JJ Ludman - - * ripd.c: Interoperability fix. Correct value for MD5 auth length - is 16. Accept packets with this set to >= 16, and set to 16 - ourselves. - -2004-05-31 Sowmini Varadhan - - * ripd.c: Fixup compile warnings - * rip_routemap.c: Ditto - -2004-05-08 Paul Jakma - - * rip_zebra.c: sync with zclient changes. - * rip_interface.c: ditto. - -2004-05-05 Anthony.Golia@morganstanley.com - - * ripd.c: (rip_update_jitter) Bound jitter to a more sensible - value, eg 1/4 of update time. - -2004-05-03 Paul Jakma - - * ripd.c: (rip_rte_process) fix typo in merge of previous patch - and run function through indent. - -2004-03-19 Jean-Yves Simon - - * ripd.c: (rip_rte_process) make ripd also check on - administrative distance of his own links to update routes. - -2004-03-18 sowmini.varadhan@sun.com - - * ripd.c: rip_send_packet can get null connected address when - called in response to a unicast rip-request. Handle correctly. - -2004-03-03 Krzysztof Oledzki - - * ripd.c: fix "show ip rip" and per interface rip version selection. - -2004-01-23 sowmini.varadhan@sun.com - - * rip_interface.c: obsolete unbind code in - rip_interface_multicast_set, and instead do the more portable - (though slower) method of creating a socket for each outgoing packet - and binding the source address on the new socket. - * rip_interface.c, ripd.c, ripd.h: Modify rip_request_send so that - source address is determined by the caller of rip_request_send for - ripv1 packets and non-multicast interfaces (rip_request_send loops - over all connected address in all other cases). - * rip_send_packet: don't send packets with source set to - ZEBRA_IFA_SECONDARY connected addresses; improved debug messages; - -2003-06-07 Andrew J. Schorr - - * Allow ripd to receive RIPv1 - * add default as valid param to passive-interface command - -2003-05-25 Vincent Jardin - - * 6Wind patch merge. - -2003-04-19 Hasso Tepper - - * rip_routemap.c: sync daemon's route-map commands to have same - syntax - -2002-07-07 Kunihiro Ishiguro - - * zebra-0.93 released. - -2002-06-30 Kunihiro Ishiguro - - * ripd.c (rip_output_process): When outgoing interface is same as - next hop interface, announce RIPv2 next hop otherwise set next hop - to 0. Revert previous change then take 6WIND way. - -2001-09-14 Akihiro Mizutani - - * ripd.c: RIP enabled interface's route is advertised by default. - -2001-08-28 NOGUCHI Kay - - * rip_snmp.c (rip_ifaddr_delete): Add route_node_lookup() return - value check. - - * rip_interface.c (rip_multicast_leave): Fix bug of multiple IP - address on one interface multicast join/leave bug. - -2001-08-26 NOGUCHI Kay - - * rip_interface.c (no_rip_passive_interface): Add NO_STR. - -2001-08-19 Kunihiro Ishiguro - - * zebra-0.92a released. - -2001-08-15 Kunihiro Ishiguro - - * zebra-0.92 released. - -2001-06-17 Kunihiro Ishiguro - - * rip_routemap.c (route_match_ip_address_prefix_list): Add match - ip next-hop prefix-list WORD. - -2001-02-18 Kunihiro Ishiguro - - * rip_interface.c (rip_passive_interface_clean): Call - rip_passive_interface_apply_all. - -2001-02-12 Kunihiro Ishiguro - - * ripd.c (rip_response_process): Multicast address nexthop check - is moved from rip_nexthop_check. - -2001-02-08 Matthew Grant - - * rip_interface.c (ipv4_multicast_join): Use - setsockopt_multicast_ipv4. - (ipv4_multicast_leave): Likewise. - (rip_if_ipv4_address_check): Interface which has IPv4 address can - be enabled. - -2001-02-08 Kunihiro Ishiguro - - * rip_interface.c (rip_interface_delete): To support pseudo - interface do not free interface structure. - * ripd.c (rip_output_process): If output interface is in simple - password authentication mode, we need space for authentication - data. - -2001-02-01 Kunihiro Ishiguro - - * ripd.c (rip_nexthop_check): Fix multicast address nexthop check. - - * zebra-0.91 is released. - -2001-01-27 Kunihiro Ishiguro - - * ripd.c (show_ip_rip): Show metric infinity route's timeout. - (rip_rte_process): If current route is metric infinity, route is - replaced with received rte. - (rip_redistribute_delete): When redistribute route is deleted, - perform poisoned reverse. - (rip_redistribute_withdraw): Likewise. - -2001-01-25 Kunihiro Ishiguro - - * ripd.c (rip_response_process): RIPv2 routing table entry with - non directly reachable nexthop was dropped. The code is changed - to treat it as 0.0.0.0 nexthop. - (rip_destination_check): Check net 0 address destination. - (rip_nexthop_check): New function for checking nexthop address - validity. - -2001-01-15 Kunihiro Ishiguro - - * ripd.c (rip_request_process): Triggered update only send changed - route. - - * rip_interface.c: Delete RIP_API part until new implementation - comes out. - - * rip_snmp.: Likewise. - - * rip_zebra.c: Likewise. - - * ripd.c: Likewise. - -2001-01-11 Kunihiro Ishiguro - - * rip_interface.c (rip_if_init): Remove HAVE_IF_PSEUDO part. - -2001-01-09 Kunihiro Ishiguro - - * zebra-0.90 is released. - -2001-01-01 Kunihiro Ishiguro - - * ripd.h (RIP_VTYSH_PATH): Change "/tmp/ripd" to "/tmp/.ripd". - -2000-12-25 David Lipovkov - - * ripd.c (rip_rte_process): When a route is in garbage collection - process (invalid with metric 16) and a router receives the same - route with valid metric then route was not installed into zebra - rib, but only into ripd rib. Moreover , it will never get into - zebra rib, because ripd wrongly assumes it's already there. - (rip_redistribute_add): When doing redistribute into rip other - route (e.g. connected) and the same route exists in ripd rib we - changed it in place - bug. Now we don't forget to remove old route - from zebra. - (rip_timeout): When removing routes from zebra I made sure that we - remove route with the metric we have in zebra and not the new - one. It doesn't make a difference now,but could be significant - when multipath support is done. - -2000-12-25 David Lipovkov - - * rip_zebra.c (rip_metric_unset): Fix bug of metric value unset. - -2000-11-25 Frank van Maarseveen - - * ripd.c (rip_request_process): Check passive flag of the - interface. - -2000-11-23 Frank van Maarseveen - - * rip_interface.c (rip_multicast_join): When IP_ADD_MEMBERSHIP - failed do not set runnning flag to the interface. - -2000-11-16 Kunihiro Ishiguro - - * ripd.c (rip_output_process): Memory leak related classfull - network generation is fixed. - -2000-11-16 Frank van Maarseveen - - * rip_interface.c (if_check_address): Obsolete pointopoint address - check is removed. - -2000-11-02 Frank van Maarseveen - - * rip_interface.c (if_check_address): Add pointopoint address - check. - (rip_interface_up): Add check for passive interface when interface - goes up. - -2000-10-23 Jochen Friedrich - - * rip_snmp.c: rip_oid and ripd_oid are used in smux_open after it - is registered. So those variables must be static. - -2000-10-19 Kunihiro Ishiguro - - * rip_interface.c: Change to "no ip rip (send|receive)" command - accept version number argument. - -2000-10-17 Akihiro Mizutani - - * rip_routemap.c (route_set_ip_nexthop_compile): Change "match ip - next-hop" from IP address to access-list name. - -2000-10-17 Kunihiro Ishiguro - - * rip_peer.c: Change ot use linklist.c instaed of newlist.c. - -2000-10-16 Kunihiro Ishiguro - - * rip_offset.c: Change to use linklist.c instead of newlist.c. - -2000-10-02 Kunihiro Ishiguro - - * zebra-0.89 is released. - -2000-09-26 Akihiro Mizutani - - * rip_routemap.c (match_ip_nexthop): Add next-hop format check. - -2000-09-18 David Lipovkov - - * rip_interface.c (ripd_api_get_if_rx_version): Corrects rip SNMP - and rip API functions dealing with rip version. - - * rip_snmp.c (Status_Valid): SNMPv2-TC TEXTUAL-CONVENTION. - -2000-09-10 Kunihiro Ishiguro - - * rip_snmp.c (rip2IfLookup): Use rip_ifaddr_lookup_next() instead - of rip_if_lookup_next(). - - * rip_interface.c (rip_enable_network_lookup): Interface enable - check by interface's address with /32 prefix. - - * ripd.c (rip_read): When RIP is configured with authentication - and no authentication in incoming packet, drop the packet. - - * rip_interface.c (rip_interface_reset): RIP_AUTH_SIMPLE_PASSWORD - is default mode of authentication. - (rip_interface_new): Likewise. - (no_ip_rip_authentication_mode): Likewise. - - * ripd.c (rip_read): Likewise. - -2000-09-10 David Lipovkov - - * rip_snmp.c: Set ASN_INTEGER v->type where it is needed. - -2000-09-08 Kunihiro Ishiguro - - * ripd.c (rip_auth_simple_password): Simple password - authentication using key-chain. - (rip_write_rte): Likewise. - - * rip_interface.c (ip_rip_authentication_key_chain): Add check for - authentication string configuration. - -2000-09-08 Akihiro Mizutani - - * ripd.c (rip_write_rte): Add check for ri->auth_str. - -2000-09-07 Kunihiro Ishiguro - - * ripd_api.h: New file is added. - -2000-08-22 Kunihiro Ishiguro - - * ripd.c (rip_rte_process): rip_route_process() is renamed to - rip_rte_process() to clarify meanings of the function. - rip_route_process() is newly added to process RIP route selection. - -2000-08-18 Kunihiro Ishiguro - - * ripd.c (rip_incoming_filter): Extract incoming filter code to - function from rip_route_process(). Add check for all interface - filter. - (rip_outgoing_filter): Extract incoming filter code to function - from rip_output_process(). Add check for all interface filter. - - * rip_zebra.c (rip_redistribute_clean): Reset redistribute status - when "no router rip" is performed. - - * rip_interface.c (rip_interface_clean): Reset interface's RIP - enable status. - -2000-08-17 Kunihiro Ishiguro - - * ripd.c (rip_route_process): When metric infinity is received the - route is removed from service immediately. - (rip_timeout): Likewise. - (rip_garbage_collect): Do not delete route in garbage collection. - (rip_output_process): Check metric_out exceed metric infinity. - - * zebra-0.88 is released. - -2000-08-15 Kunihiro Ishiguro - - * ripd.c (rip_distance_apply): Unlock node when there is matched - node. - -2000-08-13 Akihiro Mizutani - - * rip_routemap.c (match_ip_nexthop): Add check for IP address - validness. - (no_set_metric): Add new ALIAS. - -2000-08-07 Kunihiro Ishiguro - - * ripd.h (struct rip ): Add distance. - -2000-08-05 Kunihiro Ishiguro - - * rip_zebra.c (rip_zebra_ipv4_add): Use new Zebra api to register - routes. Pass RIP metric value to zebra. - -2000-08-02 Kunihiro Ishiguro - - * rip_main.c (main): Make struct thread thread from global - variable to local variable in main. - -2000-08-06 Kunihiro Ishiguro - - * ripd.c (rip_packet_dump): Add MD5 authentication dump function. - (rip_auth_md5): RIP MD5 authentication packet receive works. - -2000-08-02 David Lipovkov - - * rip_interface.c (rip_if_init): Install interface "pseudo" - commands. - (rip_interface_delete): Do not call if_delete() when interface is - pseudo interface. - -2000-07-31 Kunihiro Ishiguro - - * rip_interface.c (ip_rip_authentication_mode): "ip rip - authentication mode (md5|text)" is added. - (ip_rip_authentication_key_chain): "ip rip authentication - key-chain KEY-CHAIN" is added. - (rip_interface_clean): Clean all interface configuration. - (rip_interface_reset): Reset all interface configuration. - (rip_clean_network): Clean rip_enable_network. - - * ripd.h (struct rip_interface): Add key_chain member. - - * ripd.c: Include md5-gnu.h. - -2000-07-30 Kunihiro Ishiguro - - * ripd.h (RIP_NO_AUTH): Change RIP_NO_AUTH value from 1 to 0. - - * ripd.c (rip_authentication): Use RIP_AUTH_SIMPLE_PASSWORD - instead of raw value 2. - (rip_write_rte): Likewise. - (rip_write_rte): Check ri->auth_type instead of ri->auth_str. - -2000-07-30 David Lipovkov - - * rip_interface.c (rip_if_down): Do not delete ZEBRA_ROUTE_KERNEL - route. - -2000-07-27 Kunihiro Ishiguro - - * ripd.c (rip_update_process): Add "passive-interface" command. - - * ripd.h (struct rip_interface): Add passive member to struct - rip_interface. - -2000-07-24 Kunihiro Ishiguro - - * rip_interface.c (rip_if_init): Multiple RIP routes for one - prefix change. The codes are enclosed by #ifdef NEW_RIP_TABLE. - -2000-07-24 Akihiro Mizutani - - * rip_interface.c (rip_if_init): Use install_default() for - INTERFACE_NODE. - -2000-07-24 Kunihiro Ishiguro - - * ripd.c: First update timer will be invoked in two seconds. - -2000-07-09 Jochen Friedrich - - * rip_snmp.c: Local function definitions to static. Add INTEGER - ASN_INTEGER and TIMETICKS ASN_TIMETICKS definition. - (rip2PeerLookup): Peer with domain lookup implemented. - (rip2PeerTable): Temporary disable RIP2PEERLASTUPDATE value - support due to unknown SNMP agent startup time. - -2000-07-05 Kunihiro Ishiguro - - * ripd.h: Sweep obsolete definitions. - - * rip_interface.c (rip_split_horizon): Add "ip split-horizon" - command. - - * ripd.c (rip_output_process): Remove split_horizon argument. - (rip_update_process): Likewise. - - * ripd.h (struct rip_interface): Add split_horizon flag to struct - rip_interface. - -2000-07-04 Akihiro Mizutani - - * ripd.c (rip_version): Change VERSION to <1-2>. - Add "no version" command. - -2000-07-03 Kunihiro Ishiguro - - * rip_zebra.c (rip_redistribute_type_metric): "redistribute TYPE - metric <0-16>" command is added. - - * rip_routemap.c (route_set_metric): Set metric_set when metric is - modified. - - * ripd.h (struct rip_info): To check route-map set metric or not, - new member metric_set is added to struct rip_info. - - * ripd.c (rip_route_process): Move metric handling code from - rip_response_process() to rip_route_process(). - (rip_output_process): Set output offset-list metric. - -2000-07-02 Kunihiro Ishiguro - - * rip_offset.c (rip_offset_list): New file for offset-list. - -2000-07-02 Akihiro Mizutani - - * ripd.h (struct rip ): Add default_metric. - - * ripd.c (rip_default_metric): "default-metric <1-16>" command is - added. - (config_write_rip): Change configuration order. - - * rip_zebra.c: Fix help strings. - -2000-07-02 David Lipovkov - - * rip_interface.c (rip_if_init): Add IF_DELETE_HOOK. - -2000-07-01 Kunihiro Ishiguro - - * ripd.c (rip_output_process): If specified route-map does not - exist, it treated as deny all. - -2000-06-30 Kunihiro Ishiguro - - * rip_routemap.c (rip_route_map_init): Call rip_route_map_update - when route-map is deleted. - -2000-06-28 Kunihiro Ishiguro - - * rip_routemap.c (set_metric): For consistency with bgpd's set - metric, value range is set to <0-4294967295>. - -2000-06-28 David Lipovkov - - * rip_routemap.c (rip_route_map_update): Add check for rip is - enabled or not for avoid core dump. - - * rip_debug.c (debug_rip_packet_direct): Fix bug of setting - rip_debug_packet flag. - -2000-06-13 David Lipovkov - - * rip_interface.c (rip_interface_delete): All work is done in - rip_if_down(). - -2000-06-06 Kunihiro Ishiguro - - * ripd.c (rip_redistribute_delete): Fix bug of missing - route_unlock_node() when redistribute route is not found. - -2000-06-05 Akihirof Mizutani - - * rip_debug.c (rip_debug_init): Disable show debugging in - VIEW_NODE like other protocol daemon. - - * rip_routemap.c: Change command argument to more comprehensive. - - METRIC -> <0-16> - IFNAME -> WORD - IP_ADDR -> A.B.C.D - ACCSESS_LIST -> WORD - -2000-06-05 David Lipovkov - - * rip_interface.c (rip_interface_delete): Delete all routes - include static and kernel through the interface , because even if - the interface is added again there is no guarantee that it will - get the same ifindex as before. - -2000-05-31 Akihirof Mizutani - - * rip_debug.c: Fix rip debug help string. - -2000-04-27 Mirko Karanovic - - * rip_interface.c (rip_interface_down): Remove interface from - multicast group when interface goes down. - -2000-04-03 David Lipovkov - - * rip_interface.c (rip_interface_down): Implemented rip functions - for interface up/down events: rip_interface_up() and - rip_interface_down() - -2000-03-16 David Lipovkov - - * rip_zebra.c (rip_zclient_init): Added rip functions for - interface up/down events. - -2000-02-15 Hidetoshi Shimokawa - - * ripd.c (rip_write_rte): "set metic" in route-map has no effect - for RIPv1 in ripd. It worked fine for RIPv2. - -2000-01-17 Kunihiro Ishiguro - - * ripd.c (show_ip_protocols_rip): Fix bug of "show ip protocls" - mis-display RIP version. - - * ripd.h (struct rip_peer): Add timeout thread to rip_peer - structure. - -2000-01-16 Kunihiro Ishiguro - - * rip_peer.c: Add new file for supporting RIP peer. - -1999-12-26 David Lipovkov - - * ripd.c (rip_authentication): RIP authantication string is 16 - bytes long. - -1999-12-10 Kunihiro Ishiguro - - * ripd.c (rip_read): Add check for minimum packet length. - Authentication check is moved from rip_process_response() to - rip_read(). Patch from David Lipovkov is - applied then add rte number check by Kunihiro Ishiguro - . - -1999-12-07 Kunihiro Ishiguro - - * ripd.c (rip_response_process): In case of packet is RIPv2 and - network is non zero and netmask is zero, apply netmask rule as - same as RIPv1. - -1999-11-06 Kunihiro Ishiguro - - * ripd.c (rip_timers): Fix bug of timers basic argument format. - -1999-11-03 Kunihiro Ishiguro - - * rip_snmp.c (rip2IfConfAddress): Forgot to include - RIP2IFCONFDOMAIN. - -1999-10-28 Kunihiro Ishiguro - - * ripd.h (struct rip_peer): New structure added. - -1999-10-26 Kunihiro Ishiguro - - * rip_zebra.c (rip_zebra_ipv4_add): Increment - rip_global_route_changes when route change occur. - (rip_zebra_ipv4_delete): Likewise. - - * ripd.c (rip_request_process): Increment rip_global_queries when - reply to the query is sent. - -1999-10-25 Kunihiro Ishiguro - - * rip_debug.c (rip_debug_reset): Reset function added. - - * ripd.c (rip_update_process): Logging bug is fixed. - -1999-10-10 Marc Boucher - - * ripd.c (config_write_rip): Add config_write_distribute() call. - -1999-09-29 Kunihiro Ishiguro - - * ripd.c (rip_distribute_update): Fix bug of access-list - prefix-list updates. - -1999-09-10 VOP - - * rip_zebra.c: Add redistribute route-map feature. - -1999-09-10 Kunihiro Ishiguro - - * ripd.c (rip_response_process): Add check for given prefix is - given mask applied one. - -1999-09-03 VOP - - * rip_interface.c (rip_interface_multicast_set): Bug fix about - setting multicast interface. - -1999-09-02 VOP - - * rip_routemap.c: New file added. - -1999-09-02 Kunihiro Ishiguro - - * ripd.c (show_ip_protocols_rip): Show next update time. - (show_ip_protocols_rip): Show redistribute information. - -1999-08-25 Kunihiro Ishiguro - - * RIPv2-MIB.txt: New file added. - - * rip_snmp.c: New file added. - -1999-08-24 Kunihiro Ishiguro - - * rip_interface.c (ip_rip_authentication_string): RIPv2 - authentication command is added. - -1999-08-23 Kunihiro Ishiguro - - * rip_interface.c (rip_interface_multicast_set): Process of - setting IP_MULTICAST_IF on specific interface. - - * ripd.c (rip_read): Add packet size check. - -1999-08-16 Kunihiro Ishiguro - - * ripd.c (rip_request_process): Fill in RIP_METRIC_INFINITY with - network byte order using htonl (). - (rip_response_process): Pass host byte order address to IN_CLASSC - and IN_CLASSB macro. - -1999-08-08 davidm@nbase.co.il (David Mozes) - - * rip_zebra.c (rip_zebra_read_ipv4): Fix split horizon problem. - -1999-07-03 Kunihiro Ishiguro - - * ripd.c (rip_timer_set): Function added. - -1999-07-01 Kunihiro Ishiguro - - * rip_debug.c: New file added. - rip_debug.h: New file added. - -1999-07-01 Rick Payne - - * rip_zebra.c (zebra_init): Install standard commands to - ZEBRA_NODE. - -1999-06-01 David Luyer - - * ripd.c (rip_process_route): Add support for RIP version 1. - -1999-05-29 Kunihiro Ishiguro - - * rip_zebra.c: Change to use lib/zclient.[ch]. - -1999-05-20 Carlos Alberto Barcenilla - - * ripd.c (rip_add_route): Change the existance route's metric check - to the condition specified by RFC2453. - -1999-05-17 Carlos Alberto Barcenilla - - * ripd.c (rip_process_route): Add the if metric to the route metric. - - * ripd.c (rip_add_route): Deleted add if metric to the route. - -1999-05-16 Carlos Alberto Barcenilla - - * rip_interface.c (if_valid_neighbor): New function. - - * ripd.c (rip_process_route): Added check whether the datagram - is from a valid neighbor. - -1999-05-15 Kunihiro Ishiguro - - * ripd.c (rip_process_route): Set interface pointer to rinfo. - -1999-05-15 Carlos Alberto Barcenilla - - * ripd.c (rip_check_address): Unicast and not net 0 or 127 check - added. - -1999-05-14 Stephen R. van den Berg - - * rip_main.c (signal_init): SIGTERM call sigint. - (sigint): Loggging more better message. - -1999-05-10 Kunihiro Ishiguro - - * ripd.c (rip_add_route): Fix previous route_unlock_node() chenge. - - * rip_main.c (main): Change default zlog output to ZLOG_STDOUT for - debugging. - -1999-05-09 Patrick Koppen - - * rip_interface.c (rip_request): Fix old semantics for fetching - connected address. - - * ripd.c (rip_add_route): Update timer when the route is updated. - -1999-05-09 Carlos Alberto Barcenilla - - * rip_zebra.c (struct zebra): Add ridist_static, ridist_connect, - redist_rip, redist_ripng. - - * rip_zebra.c (zebra_create): Updated for current zebra method. - - * ripd.c (rip_add_route): Add missing route_unlock_node(). - -1999-05-03 Kunihiro Ishiguro - - * ripd.c (rip_add_route): Add metric check. Reported by Carlos - Alberto Barcenilla . - -1999-02-18 Peter Galbavy - - * syslog support added - -1998-12-13 Kunihiro Ishiguro - - * ripd.c (rip_announce_func): Apply new lib functions. - -1998-12-09 Kunihiro Ishiguro - - * ripd.c (config_write_rip): Delete vector v argument. - * rip_zebra.c (config_write_zebra): Likewise. - * rip_interface.c (interface_config_write): Likewise. - -1998-09-07 Kunihiro Ishiguro - - * rip_announce.c (rip_rib_close): When ripd terminates delete all - added route. - -1998-09-01 Kunihiro Ishiguro - - * rip_interface.c: return read packet size. - -1998-05-18 Yamshita TAKAO - - * ripd.h: Modify for compile on Solaris. - -1998-05-07 Kunihiro Ishiguro - - * ripd.c: DEFUN function return CMD_SUCCESS. - change xmalloc to XMALLOC macro. - -1998-05-03 Kunihiro Ishiguro - - * rip_main.c: change CONFDIR to SYSCONFDIR. - -1998-05-01 Kunihiro Ishiguro - - * .cvsignore: added. - -1998-02-04 Kunihiro Ishiguro - - * rip_interface.c (config_write_interface): correct ADVERTISE spell. - - * rip_main.c (main): add usage() and make cleanup. - -1998-01-05 Kunihiro Ishiguro - - * ripd.c (rip_version): add rip version command. - -1998-01-04 Kunihiro Ishiguro - - * rip_interface.c (zebra_get_interface): added to get - interface's information. - - * ChangeLog: create. diff --git a/ripngd/ChangeLog b/ripngd/ChangeLog deleted file mode 100644 index b8c24c6a..00000000 --- a/ripngd/ChangeLog +++ /dev/null @@ -1,388 +0,0 @@ -2007-04-27 Andrew J. Schorr - - * ripngd.c: (ripng_vty_out_uptime) Remove unused variable timer_now. - -2007-04-12 Emmanuel Vize - - * ripngd.c: (ripng_vty_out_uptime and show_ipv6_ripng_status) - Use new thread_timer_remain_second to display properly the timers - (reported patch from Andrew J. Schorr in ripd.c) - -2006-05-11 Paul Jakma - - * ripng_interface.c: (ripng_interface_address_add) Remove - unneeded NULL check, Coverity CID #72. - -2006-05-08 Paul Jakma - - * ripng_routemap.c: (route_set_ipv6_nexthop_local_compile) bug - #242, s/in_addr/in6_addr to fix crash. - Thanks to jithinvachery+quagga@gmail.com. - -2006-01-19 Paul Jakma - - * (general) various miscellaneous compiler warning fixes. - Remove redundant break statements from switch clauses - which return. - return from main, not exit, cause it annoys SOS. - Remove stray semi-colons which cause empty-statement - warnings. - -2005-10-01 Andrew J. Schorr - - * ripng_zebra.c: (ripng_redistribute_write) Remove local hard-coded - table str[]. Replace str[i] with new library function - zebra_route_string(i). - * ripngd.c: Remove local hard-coded table route_info[]. - (show_ipv6_ripng) Use new library function zebra_route_char() instead - of table route_info[]. - -2005-08-27 Hasso Tepper - - * ripng_zebra.c, ripngd.[ch]: Pass metric info to the zebra daemon. - -2005-04-11 Andrew J. Schorr - - * ripng_zebra.c (ripng_redistribute_unset, ripng_redistribute_clean): - Change 2nd arg to zebra_redistribute_send from zclient->sock - to zclient. - -2005-04-08 Hasso Tepper - - * ripngd.[hc], ripng_interface.c, ripng_peer.c: inet6_ntoa() takes - argument now by value. - -2005-04-05 Hasso Tepper - - * 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(). - -2005-04-02 Andrew J. Schorr - - * ripng_interface.c: (ripng_interface_delete) After deleting, set - ifp->ifindex to IFINDEX_INTERNAL. - -2005-01-30 Andrew J. Schorr - - * ripng_interface.c: (ripng_multicast_join) Save errno before calling - ripngd_privs.change. - -2005-01-04 Andrew J. Schorr - - * ripngd.c: (ripng_recv_packet) Use ZCMSG_FIRSTHDR instead of - CMSG_FIRSTHDR. - -2004-12-16 Andrew J. Schorr - - * ripng_nexthop.c: Replace NEXTHOP_OUT macro with NEXTHOP_OUT_PTR, - since it's not really OK to take the address of a ternary expression. - (_ripng_rte_cmp,ripng_rte_send) Use new NEXTHOP_OUT_PTR macro - instead of NEXTHOP_OUT. - -2004-12-08 Andrew J. Schorr - - * *.c: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr - - * ripng_main.c: (main) The 2nd argument to openzlog has been removed. - -2004-12-03 Andrew J. Schorr - - * ripng_main.c: (sighup) Remove spurious terminating message. - (sigint) Use zlog_notice for termination message. - (main) Issue a startup announcement using zlog_notice. - -2004-11-25 Hasso Tepper - - * ripng_main.c: Make group to run as configurable. - -2004-10-26 Hasso Tepper - - * ripng_debug.c: Fix help of "show debugging ripng" command. - -2004-10-11 Hasso Tepper - - * *.c: Make more strings const. - -2004-10-08 Hasso Tepper - - * *.[c|h]: Fix compiler warnings: make strings const, signed -> - unsigned etc. - -2004-09-26 Hasso Tepper - - * ripingd.c: Access list hook argument function must have struct - access_list * argument. Solution taken from ripd. - * ripngd.c, ripnf_nexthop.c: Fix compiler warnings. - -2004-09-23 Hasso Tepper - - * *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-17 Paul Jakma - - * ripngd.c: move setsockopt_so_recvbuf to lib. - -2004-07-23 Hasso Tepper - - * ripng_interface.c, ripng_nexthop.c: use ifp->mtu6 instead of - ifp->mtu. - -2004-07-01 Greg Troxel - - * ripng_interface.c (ripng_multicast_join): Use privs to do join, - to work around bug on gif(4) on NetBSD 1.6.2. - -2004-05-11 Paul Jakma - - * ripng_nexthop.h: SUNOS_5 does not define s6_addr32 - catch ifndef(s6_addr32) && defined(SUNOS_5) and define - it ourselves based on the S10 _KERNEL guarded define. - -2004-05-08 Paul Jakma - - * ripng_{interface,zebra}.c: sync with zclient changes - -2004-01-03 Greg Troxel - - * ripng_interface.c (ripng_multicast_join): If IPV6_JOIN_GROUP - returns EADDRINUSE, consider the join successful. This happens - when an interface goes down and comes back because - ripng_multicast_leave does not invoke the LEAVE_GROUP operation if - the interface is down. Solves problem of ripng stopping working - on an interface which goes down and then comes back up (on NetBSD). - -2003-05-25 Hasso Tepper - - * Revert ripng_ifrmap stuff because ripd uses it now as well. - * Merge ripngd part of 6Wind patch from Vincent Jardin - . - -2003-04-23 Hasso Tepper - - * {ripng_ifrmap,ripngd}.c: fix "router xxx" node commands in vtysh - -2003-04-19 Hasso Tepper - - * rip_routemap.c: sync daemon's route-map commands to have same - syntax - -2002-07-07 Kunihiro Ishiguro - - * zebra-0.93 released. - -2001-08-28 NOGUCHI Kay - - * ripngd.c (no_ripng_route): route_unlock_node () is not needed. - -2001-08-26 NOGUCHI Kay - - * ripngd.h (struct ripng_interface): Add passive interface option. - -2001-08-19 Kunihiro Ishiguro - - * zebra-0.92a released. - -2001-08-15 Kunihiro Ishiguro - - * zebra-0.92 released. - -2001-08-07 Akira Kato - - * ripngd.c (ripng_timers): "timers basic" argument is fixed. - -2001-02-01 Kunihiro Ishiguro - - * zebra-0.91 is released. - -2001-01-09 Kunihiro Ishiguro - - * zebra-0.90 is released. - -2001-01-01 Kunihiro Ishiguro - - * ripngd.h (RIPNG_VTYSH_PATH): Change "/tmp/ripngd" to - "/tmp/.ripngd". - -2000-10-02 Kunihiro Ishiguro - - * zebra-0.89 is released. - -2000-09-20 Kunihiro Ishiguro - - * ripngd.c (ripng_send_packet): Use CMSG_SPACE instead of sizeof - hack. Revert privious alignment patch. - -2000-09-20 URA Hiroshi - - * ripngd.c (ripng_send_packet): Fix an alignment bug. Thus ripngd - can't send packets. - -2000-09-10 Kunihiro Ishiguro - - * ripng_interface.c (ripng_interface_address_delete): Connected - address delete treatment added. - -2000-08-22 Kunihiro Ishiguro - - * ripng_routemap.c (route_set_metric_compile): When checking '-' - character, argv[1] should be argv[0]. Reported by SHIRASAKI - Yasuhiro . - -2000-08-17 Kunihiro Ishiguro - - * zebra-0.88 is released. - -2000-06-06 Kunihiro Ishiguro - - * ripngd.c (ripng_route_process): Clear prefix_ipv6 before using - it. - (ripng_redistribute_delete): Fix bug of missing - route_unlock_node() when redistribute route is not found. - (ripng_redistribute_delete): Make it sure that timers are off. - (ripng_redistribute_delete): Likewise. - -2000-01-19 Kunihiro Ishiguro - - * ripngd.c (ripng_route_process): Fix bug of mis-checking of same - route. - (show_ipv6_ripng): Include ifindex to "show ipv6 ripng" output. - -1999-11-12 Kunihiro Ishiguro - - * ripngd.c (ripng_output_process): Use MINMTU when mtu value is - not available. - -1999-11-05 Kunihiro Ishiguro - - * ripngd.c (ripng_output_process): Calculate max RTE count from - interface MTU value. - -1999-09-29 Kunihiro Ishiguro - - * ripngd.c (ripng_distribute_update): Fix bug of updating - access-list and prefix-list. - -1999-09-07 URA Hiroshi - - * ripngd.c (ripng_recv_packet): Change CMSG_DATA cast from (u_char - *) to (int *). (u_char *) does not work for NetBSD-currnet on - SparcStation 10. - -1999-08-15 Kunihiro Ishiguro - - * ripngd.c (ripng_request_process): When request packet comes, - check RIPng process is enabled on the interface. - (ripng_redistribute_withdraw): Delete routes when `no - redistribute' is executed. - -1999-08-13 Yasuhiro Ohara - - * ripng_zebra.c (ripng_redistribute_ospf6_cmd): Add OSPF6 - redistribute command. - -1999-07-21 Kunihiro Ishiguro - - * ripngd.c (default_information_originate): Add - default-information command. - -1999-07-19 Kunihiro Ishiguro - - * ripngd.c (ripng_route_process): rip_add_route() and - rip_delete_route() are deleted. Both functions are integrated - into ripng_route_process(). - (ripng_request_process): Proper reply for request message. - - * ripng_routemap.c: New file added. - -1999-07-18 Kunihiro Ishiguro - - * ripngd.c (ripng_nexthop_rte): RIPng next hop routine is - rewritten. - (show_ipv6_ripng): Change `show ip ripng' to `show ipv6 ripng'. - (ripng_response_process): RIPng incoming packet's hop count check - added. - (ripng_response_process): Add strict RTE checking. - -1999-07-03 Kunihiro Ishiguro - - * ripngd.c (ripng_add_route): Fix metric compare bug. - -1999-06-25 itojun@iijlab.net - - * ripngd.c (ripng_distribute_in): "distribute in" filter in ripngd - actually work. - -1999-05-25 Kunihiro Ishiguro - - * ripngd.c (ripng_zebra): Send each ripng information by separate - zebra packet. - -1999-05-15 Kunihiro Ishiguro - - * ripng_interface.c (if_add_multicast): Change log to zlog. - -1999-05-10 Kunihiro Ishiguro - - * ripng_interface.c (ripng_zebra_get_interface): Add function. - - * ripng_zebra.c (redistribute_ripng): Delete function because - redistirbute the routes to the zebra daemon is now default - behavior. - -1999-05-09 Kunihiro Ishiguro - - * ripngd.conf.sample: Change network to route statement. - -1999-03-25 Kunihiro Ishiguro - - * ripngd.c: Old non Advanced API version ripng_send_packet and - ripng_recv_packet is removed. - * ripng_radix.c: File removed. - -1998-12-15 Kunihiro Ishiguro - - * Now I assume KAME support Advanced API and use sendmsg/recvmsg. - -1998-12-13 Kunihiro Ishiguro - - * ripng_interface.c: Delete old ifa (interface address) related - functions. - -1998-12-10 Kunihiro Ishiguro - - * ripng_debug.[ch]: New file. - - * ripngd.c (ripng_supply): Do not send header only RIPng packet. - Change `network' statement to `route' statement. - (ripng_request_process): Reply to RIPng REQUEST packet. - -1998-12-09 Kunihiro Ishiguro - - * ripngd.c (ripng_config_write): Delete vector v argument. - * ripng_zebra.c (zebra_config_write): Likewise. - * ripng_interface.c (interface_config_write): Likewise. - -1998-12-07 Kunihiro Ishiguro - - * ripng_route.h: New file. - - * ripng_interface.c: Delete #include . - ripng_main.c: likewise. - ripng_radix.c: likewise. - ripng_route.c: likewise. - ripng_zebra.c: likewise. - ripngd.c: likewise. - -1998-12-06 Yasuhiro Ohara - - * ripngd.h (IPV6_ADD_MEMBERSHIP): If IPV6_ADD_MEMBERSHIP is not - defined. Define IPV6_ADD_MEMBERSHIP as IPV6_JOIN_GROUP. - -1998-09-15 HEO SeonMeyong - - * all Hydrangea define is changed to KAME. - diff --git a/solaris/ChangeLog b/solaris/ChangeLog deleted file mode 100644 index 65135d99..00000000 --- a/solaris/ChangeLog +++ /dev/null @@ -1,164 +0,0 @@ -2008-07-03 Paul Jakma - - * quagga.{xml,init}.in: Sync with OpenSolaris SFW. This changes the - SMF schema used, from the SMF schema supplied initially with - Quagga, to the version which was approved by the Sun PSARC for - inclusion into Solaris. This change is incompatible. Settings, - such as vty_port, etc. will not transfer over. The Sun schema is - however supported by Sun, and supports running Quagga in a zone - with IP instances, and configuration via the routeadm utility. - -2008-01-13 Paul Jakma - - * Makefile.am: pkg target should depend on the 'depend.%' files. - Crops up now that solaris/ doesn't get descended into by - general Quagga build. - -2007-02-22 Paul Jakma - - * quagga.{xml,init}.in: Add licence boilerplate to ensure - licence terms are clear. - -2006-04-03 Paul Jakma - - * quagga.xml.in: oops, ipvX-routing services don't exist yet in - any Solaris builds. - -2006-03-16 Paul Jakma - - * prototype.smf.in: Oops, continue to install manifest to - var/svc/manifest/network for now. - -2006-03-13 Alan Maguire - - * quagga.xml.in: Change the naming of services and instances. - network/routing/quagga: may be neat and tidy, but - it's at odds with SMF convention elsewhere that demands - the service be named for what it does, and the instance name - describe the implementation (e.g. network/smtp:sendmail). - Remove call to method script for 'stop', SMF can do that - itself. - Enumerate the privileges required in the SMF manifest, with the - method_credential element. - Dont try provide seperate properties for each argument, it's - just tedious, particularly when they can no longer be - inherited from a common quagga service - use a single - "daemon-args" property, defaulting to -P 0. - Specify authorisation for the 'routeadm' utility and for - RBAC. - -2006-03-13 Paul Jakma - - * quagga.init.in: Update to match SMF manifest changes. - If run from an SMF environment, assume method is start. - Offer a more tradition init script interface for pre-SMF. - Enable zebra for the link-state daemons. - Don't allow daemons to start in non-global zones, except - for bgpd - it doesn't have to care about underlying - networking much. - Remove all the svcprop calls, SMF or the user will supply any - arguments on the command-line. - * depend.smf.in: Add dependency on SUNWroute, which provides - routeadm, which provides /var/svc/manifest/network/routing - * prototype.smf.in: Install manifest to - var/svc/manifest/network/routing. - -2006-02-19 Paul Jakma - - * depend.*: renamed to depend.*.in. - * depend.*.in: Add version dependency. - * Makefile.am: Generate depend.* from depend.*.in - Distribute the depend.*.in files rather than the depend.* - files. - * quagga.init.in: Enable zebra if one of the link-state - daemons is started. - Restart method is not required - SMF handles that. - * quagga.xml.in: Remove restart method details. - -2005-11-04 Paul Jakma - - * prototype.dev.in: lib/md5-gnu.h is now lib/md5.h - -2005-08-16 Paul Jakma - - * README.txt: point to the opensolaris.org sources for the SMF - manifest class scripts. Make step 3 slightly more explicit about - what 'this directory' is. - -2005-06-15 Paul Jakma - - * quagga.xml.in: Pass the FMRI to the method, removing need for - daemon_name property and deducing the FMRI. - remove the empty config_file and pid_file definitions, they just - make things difficult in the method script, cause it then has to - deal with svcprop returning "" for defined empty properties. - Remove daemon_name everywhere. - * quagga.init.in: Take the FMRI as an argument - Remove deducing the FMRI from the defunct daemon_name property. - Use svcprop -q to test for presence of a property first. - Default vty_port to 0 and vty_addr to 127.1 if equivalent - SMF properties are not set. - Deduce the pid_file, we can infer it from @quagga_statedir@ I - think, it's probably not useful to allow it to be configurable - as a property anyway. - /var/run/ is on tmpfs on Solaris, so we probably will need - to create @quagga_statedir@ first run after boot. - Use @sbindir@, not /usr/local/sbin. - * README.txt: updated to match changed SMF manifest and - its changed service, instance and property group names. - -2005-06-02 Paul Jakma - - * quagga.xml.in: Fix mistake in bgpd definition. Change dependency - on zebra to optional. Remove the duplicated stability statements. - * quagga.init.in: svcprop should check PACKAGE_TARNAME, not _NAME. - no need to check for config file either, there's already a - dependency in the manifest. - -2005-05-13 Paul Jakma - - * quagga.xml.in: Sigh, XML child elements are order-sensitive. - * prototype.doc.in: info/dir doesnt get created always.. comment - out for now, likely needs to be done with an install method. - * prototype.daemons.in: Move the Solaris 10 SMF specific stuff to - a seperate package. - * depend.smf: dependencies for smf package - * pkginfo.smf.tmpl.in: pkginfo for smf - * prototype.smf.in: prototype for smf - * Makefile.am: Add smf to pkg_names - -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 - -2005-04-21 Paul Jakma - - * Makefile.am: pkginfo.%.tmpl is a generated file, srcdir prefix - is not appropriate. - -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. - -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: Add built files - * README.txt: new file, package creation, install, usage notes. diff --git a/tests/ChangeLog b/tests/ChangeLog deleted file mode 100644 index 18696519..00000000 --- a/tests/ChangeLog +++ /dev/null @@ -1,160 +0,0 @@ -2008-06-07 Paul Jakma - - * aspath_test.c: Test for 0-ASN sequences that still have data. - -2007-12-22 Paul Jakma - - * bgp_capability_test.c: Test for empty capabilities. - -2007-09-27 Paul Jakma - - * aspath_test.c: Test dupe-weeding from sets. - Test that reconciliation merges AS_PATH and AS4_PATH where - former is shorter than latter. - -2007-09-26 Paul Jakma - - * aspath_test.c: Test AS4_PATH reconcilation where length - of AS_PATH and AS4_PATH is same. - -2007-09-25 Paul Jakma - - * bgp_capability_test.c: (general) Extend tests to validate - peek_for_as4_capability. - Add test of full OPEN Option block, with multiple capabilities, - both as a series of Option, and a single option. - Add some crap to beginning of stream, to prevent code depending - on getp == 0. - -2007-09-18 Paul Jakma - - * bgp_capability_test.c: (parse_test) update for changes to - peek_for_as4_capability - -2007-09-17 Paul Jakma - - * bgp_capability_test.c: Test that peer's adv_recv and adv_nego get - set correctly for MP capability and given AFI/SAFI. - Colour OK/failed result so it's easier to find them. - -2007-07-27 Paul Jakma - - * bgp_capability_test.c: new, capability parser unit tests. - * Makefile.am: add previous. - -2007-07-25 Paul Jakma - - * aspath_test.c: Exercise 32bit parsing. Test reconcile - function. - * ecommunity_test.c: New, test AS4 ecommunity changes, positive - test only at this time, error cases not tested yet. - -2006-12-01 Juergen Kammer - - * aspath_test.c: Support asn32 changes, call aspath_parse with 16 bit. - -2006-08-26 Paul Jakma - - * heavy-wq.c: (slow_func_del,slow_func) update to match workqueue - changes - -2006-08-06 Paul Jakma - - * aspath_test.c: (validate) Fix the sense of the aspath_loop_check, - which was the wrong way around and had actually been testing for - aspath_loop_check to be buggy. - -2006-05-28 Paul Jakma - - * test-sig.c: (main) configure logging, there's no terminal - to write to for one thing, but we do want stdout, and we - don't want a test to spam syslog. - -2006-03-16 Paul Jakma - - * heavy-wq.c: (heavy_wq_init) delay is gone from workqueue - spec. - * aspath_test.c: (test_segments) Add an AS_SET with redundant - ASNs. - ({empty_prepend,prepend,parse}_test) add static qualifiers - -2006-01-16 Paul Jakma - - * aspath_test.c: (validate) free the temporary aspaths. - (empty_get_test) ditto. - -2006-01-10 Paul Jakma - - * test-stream.c: new file, small unit test for new - resize and {put,get}-quad stream functions. - * Makefile.am: build teststream unit test. - -2005-11-23 Paul Jakma - - * aspath_test.c: Add an empty aspath to test segments, and to - compare tests. - Add a segment identical to seq1, but with one extra asn. - Fix bogus free of stream in make_aspath for case where - no stream was allocated (empty path data). - -2005-10-11 Paul Jakma - - * test-privs.c: Privileges unit test. - * Makefile.am: build testprivs - * aspath_test.c: fix a few sign warnings - -2005-09-06 Paul Jakma - - * aspath_test.c: Test bgp_aspath functionality. - * Makefile.am: build aspathtest - * ChangeLog: Fix date of previous commit - -2005-09-06 Paul Jakma - - * test-buffer.c: include memory.h - (main) call memory_init(). - -2004-09-05 Paul Jakma - - * heavy-wq.c: (slow_func_del,slow_func_err) make them take - void * argument to shut up silly gcc warning. - -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. - -2004-05-22 Paul Jakma - - * heavy-thread.c: Andrew Schorr's adaptation of heavy.c to use a - background thread to avoid responsiveness problems. - * Makefile.am: Build heavythread - -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..) - -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. - -2004-05-13 Paul Jakma - - * test-buffer.c: Andrew's buffer tester - * test-memory.c: basic memory tester - * Makefile.am: Add new tests diff --git a/vtysh/ChangeLog b/vtysh/ChangeLog deleted file mode 100644 index af55c6f2..00000000 --- a/vtysh/ChangeLog +++ /dev/null @@ -1,500 +0,0 @@ -2008-07-03 MIYAJIMA Mitsuharu - - * extract.pl.in: Fix as-range to match CPP output. - * vtysh.c: Add missing router_bgp_view_cmd alias. - -2008-07-02 MIYAJIMA Mitsuharu - - * CMD_AS_RANGE was being used inside command strings, and thus - not being expanded, fix by dequoting. - -2007-06-20 Nicolas Deffayet - - * vtysh.c: (vtysh_write_terminal) Write 'end' when done, - to be consistent with telnet vty, and expected by tools - like rancid. - -2007-05-01 David L Stevens - - * vtysh/extract.pl.in: added VTYSH_ZEBRA flag for route-map and - plist - * vtysh/Makefile.am: added zebra_routemap.c - * vtysh/vtysh.h: added VTYSH_ZEBRA flag to VTYSH_RMAP - -2007-04-28 Andrew J. Schorr - - * vtysh.c: (vtysh_log_timestamp_precision, - no_vtysh_log_timestamp_precision) Implement new log timestamp - precision commands: send to all daemons. - (vtysh_init_vty) Install new log timestamp precision commands. - -2007-02-12 Juergen Kammer - * extract.pl: AS4 compatibility for router bgp ASNUMBER - * extract.pl.in: AS4 compatibility for router bgp ASNUMBER - * vtysh.c: AS4 compatibility for router bgp ASNUMBER - -2006-07-27 Andrew J. Schorr - - * vtysh_main.c: (usage) Add new -d and -E options. And note that - -c can be used multiple times, possibly with embedded linefeeds. - (longopts) Add new -d and -E options. - (main) Add new -d and -E options, and create a linked list to - support multiple -c options. Do not call vtysh_connect_all until - after vtysh_read_config(config_default) and vtysh_auth have - succeeded. This prevents the vtysh.conf file from configuring - any daemons, and it ensures that authentication has been passed - before we send any commands to any daemons. Call vtysh_connect_all - with any daemon name supplied with -d. If it is unable to connect - to any daemons, issue an error message and exit immediately. - When used in -c mode, call vtysh_execute("enable") before - executing the commands in order to match interactive behavior. - And detect embedded linefeed chars in -c commands and break them up - appropriately. - * vtysh.h: (vtysh_connect_all) Fix proto to reflect new - daemon_name argument, and that it now returns an integer -- the - number of daemons to which we were able to connect. - * vtysh.c: (vtysh_connect_all) Add a new daemon_name argument. - If supplied, connect only to that daemon. And return - the number of daemons to which we were able to connect. - (vtysh_prompt): Performance enhancement -- make struct utsname - static so we call uname to get the hostname only once. - -2006-05-24 Paul Jakma - - * vtysh.c: (general) Add 'show memory' command. - -2006-05-21 Paul Jakma - - * vtysh.c: (vtysh_show_logging_cmd) Suppress output for daemons - which are not running (Andrew Schorr). - -2006-05-17 Paul Jakma - - * vtysh.c: (general) Add 'show logging' command. - -2006-01-11 Erik Smit - - * vtysh.c: (vtysh_config_from_file) fix regression from - a previous cleanup, vtysh_client.flags and cmd->daemon are - bitwise flags, bitwise & was meant to be used. Fixes breakage - of integrated config file reading. - -2005-09-15 Hasso Tepper - - * vtysh.c: Fix warning by casting rl_bind_key 2. argument correctly. - * extract.pl.in: Fix warning - add isisd/topology to the includes. - -2005-08-22 Hugo Santos - - * vtysh.c: Add support for BGP_IPV6M_NODE - -2005-07-12 Christian Hammers - - * vtysh_user.c: rename struct user to struct vtysh_user to avoid - clashes with sys/user.h on Linux/ARM. - -2005-04-07 Hasso Tepper - - * Makefile.am: Remove rebuild4 target, it's not used any more by build - procedure. Define vtysh_cmd_FILES. Use EXTRA_DIST. - * extract.pl.in: Ignore "router zebra". - -2005-03-28 Hasso Tepper - - * extract.pl.in: Use SNMP_INCLUDES to avoid warnings if compiling with - snmp support. - -2005-03-09 Hasso Tepper - - * 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). - -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. - -2005-01-23 Hasso Tepper - - * vtysh.conf.sample: Fix typo "integrated-vtysh-conf" -> - "integrated-vtysh-config". - * vtysh/vtysh.c: Implement walkup in node tree for vtysh as it - already works in vty. - -2005-01-10 Hasso Tepper - - * 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. - -2004-12-22 Hasso Tepper - - * vtysh_config.c: No delimiter between "ip forwarding" and "ipv6 - forwarding". Show common router-id before router nodes. Fix router - bgp node parsing. Move debug commands into debug node and no - delimiter between lines there. - -2004-12-09 Andrew J. Schorr - - * vtysh.c: (vtysh_connect) No reason to call geteuid and getegid, - the results were never used. - -2004-12-07 Andrew J. Schorr - - * vtysh.c: Make several functions static instead of global. - Added several commands to support destination-specific logging levels. - (vtysh_completion) This function is unused, so comment it out. - -2004-11-11 Andrew J. Schorr - - * vtysh.c: (vtysh_client_execute) Fix flaws in detecting trailing - '\0' chars and command return code. - -2004-10-28 Hasso Tepper - - * vtysh.c: "show running-daemons" broke users habits who are using - "sho run" to view running configuration. Changed it to "show - daemons". - -2004-10-20 Hasso Tepper - - * vtysh.c: Don't popen pager if command is "exit". Fixes "vtysh screws - up my terminal if I exit" issue. - -2004-10-13 Hasso Tepper - - * extract.pl.in: All daemons can use both IPv6 and IPv4 access lists - to limit access to vty. - -2004-10-11 Paul Jakma - - * vtysh.c: (vtysh_client_execute) fix the sync fix. The 4th and - final sync byte is not ASCII NULL, it's actually a status integer, - and only ASCII NULL if CMD_SUCCESS is returned by daemon. - Fix pointed out by Hasso. - -2004-10-11 Hasso Tepper - - * vtysh.c, vtysh_user.c: Make more strings const. - -2004-10-07 Hasso Tepper - - * vtysh.c, vtysh.h, vtysh_config.c, vtysh_main.c: Fix compiler - warnings: make strings const, signed -> unsigned, remove unused - variables. - * vtysh_config.c: Fix crash introduced with previous patch. - -2004-10-03 Hasso Tepper - - * vtsyh_main.c: Enter into enable node by default. Disable node doesn't - make sense if we don't have any authentication for enable. - * vtysh.c: Implement "show running-daemons" command. - * vtysh.c: Use either integrated conf or daemon conf not both. Move - configuration command into "service" level. - * vtysh.c: Remove "write ..." commands from other nodes than enable. - We have "do ..." extension for that. - * vtysh_config.c, vtysh.c: Integrate vtysh configuration into - integrated one. - * vtysh_config.c: Use FORWARD_NODE and SERVICE_NODE vty nodes. - * vtysh_config.c: Make "service" lines unique in integrated config. - * vtysh.c: Make "service password-encryption" command work in vtysh. - * vtysh_config.c, vtysh.c, Makefile.am, extract.pl.in: Introduce line - vty commands in vtysh. Parse lib/vty.c for commands, but ignore - commands that don't make sense in vtysh. Closes Bugzilla #104. - * vtysh.c: Make "[enable] password" commands work in vtysh. Behavior - is similar to "log" commands - vtysh just passes commands to all - daemons. - * vtysh_main.c, vtysh_config.c, vtysh.h: Remove any code dealing with - configuration files specified from command line. We read/write files - from/to system location only (ie. remove -f again). - * Makefile.am: Parse zebra/router-id.c. - -2004-09-26 Hasso Tepper - - * vtysh.c: Fix compiler warning. - -2004-09-17 Paul Jakma - - * vtysh.c: (vtysh_client_execute) trailling NULLs can be arbitrarily - split across reads, dont get confused by this and block forever. - -2004-09-13 Paul Jakma - - * Makefile.am: extract.pl isnt in srcdir, it's always in the builddir. - remove zebra/irdp.c from list - dead. - * extract.pl.in: match on end of filenames, filename could contain - various preamble due to out of tree builds. Substitute in the - autoconf srcdir/builddir paths for includes to cpp. - -2004-08-28 Hasso Tepper - - * vtysh_main.c: Rename signal handling functions not to conflict - with functions from lib/sigevent.c. - -2004-08-27 Hasso Tepper - - * vtysh.c: Make "terminal length <0-512>" command work in vtysh. - -2004-08-27 Hasso Tepper - - * vtysh.c: Enable using ssh from ENABLE_NODE. - * vtysh_config.c: Make enable password uniq lines appear only once in - configuration. - * vtysh_main.c, vtysh_config.c, vtysh.h: Remove useless code which - searched configuration files from current directory. Add -f to - specify conf from command line. - -2004-08-26 Hasso Tepper - - * *.c: Cosmetical changes - strip long lines, fix multiline comments - style, indentation fixes, remove useless comments. - * vtysh.h: define VTYSH_INTERFACE. - * vtysh.c: Use VTYSH_INTERFACE where possible. Added some related TODO - items. - * vtysh.c: Move things around a little to reduce spaghetti mess. - * Makefile.am: Parse only needed files from zebra daemon while - building vtysh_cmd.c file to supress warnings. - -2004-06-30 Greg Troxel - - * extract.pl.in: Rename from extract.pl, with @PERL@. - - * Makefile.am: Add vtysh_cmds.c to CLEANFILES. - -2004-06-20 Hasso Tepper - - * extract.pl: Zebra daemon has access lists as well. - -2004-05-10 Hasso Tepper - - * vtysh.c: Workaround for most hated vtysh bug - Bugzilla #58. - -2004-04-06 Hasso Tepper - - * vtysh_main.c: Don't save command to history if last command already - there is same. - * vtysh_main.c: Replace -e with -c. - * vtysh_main.c: Fix help. - -2004-03-04 Hasso Tepper - - * vtysh.c: Remove using PAGER. - -2004-01-15 Paul Jakma - - * vtysh_config.c: Fix up strlen to use correct string. - -2003-12-23 Hasso Tepper - - * Makefile.am extract.pl vtysh.c vtysh.h vtysh_config.c: - isisd integration to vtysh. - -2003-05-01 Sergiy Vyshnevetskiy - - vtysh.c: Program shouldn't terminate on pager execution failure - vtysh_user.c: configure support for openpam (freebsd5.0) - -2003-04-19 Hasso Tepper - - * extract.pl vtysh.c vtysh.h: sync daemon's route-map commands to - have same syntax - -2002-09-30 Paul Jakma - - * vtysh.c: add 'write-config (integrated|daemon)' option - to specifiy whether write config commands should write - integrated Zebra.conf file and/or per daemon files. - Defaults to per daemon, unless this is turned off. - -2002-07-07 Kunihiro Ishiguro - - * zebra-0.93 released. - -2001-08-19 Kunihiro Ishiguro - - * zebra-0.92a released. - -2001-08-15 Kunihiro Ishiguro - - * zebra-0.92 released. - -2001-02-20 Kunihiro Ishiguro - - * vtysh.c (vtysh_client_config): Do not set bufsz to 120. - Suggested by: Matthew Grant . - -2001-02-15 Hideto Yamakawa - - * vtysh.c (vtysh_client_execute): Call fflush after fprintf. - - * vtysh_config.c (vtysh_config_dump): Use VTYSH_PAGER if defined. - -2001-02-14 Kunihiro Ishiguro - - * vtysh.c (vtysh_execute_func): Add fflush before pclose. - -2001-02-10 Kunihiro Ishiguro - - * vtysh.c: VTY shell pager name. When environment variable - VTYSH_PAGER is defined, use it as VTY shell pager. - -2001-02-09 Kunihiro Ishiguro - - * vtysh.c (vtysh_execute_func): Add pager argument for test of - pager invocation. - -2001-02-08 Kunihiro Ishiguro - - * extract.pl: Add -DHAVE_CONFIG_H option to cpp. - -2001-02-08 Matthew Grant - - * vtysh.c (vtysh_client_config): Use sysconf to determine output - buffer size. - (vtysh_write_memory): Set umask 0077. - (vtysh_connect): Check permission to the socket. - -2001-02-01 Kunihiro Ishiguro - - * zebra-0.91 is released. - -2001-01-31 Michael Rozhavsky - - * vtysh.c (new_completion): Fix problem of appending space when - completion is executed. - -2001-01-23 Akihiro Mizutani - - * vtysh.c (vtysh_write_terminal): "write terminal" to all node. - -2001-01-15 Kunihiro Ishiguro - - * vtysh.c (vtysh_execute): Fix unconditional lock by other VTY. - Suggested by Hideto Yamakawa . - -2001-01-09 Kunihiro Ishiguro - - * zebra-0.90 is released. - -2001-01-07 Kunihiro Ishiguro - - * vtysh.h (ZEBRA_PATH): Fix new vtysh path. Reported by "Matt - Ranney" - -2000-11-06 Kunihiro Ishiguro - - * vtysh.c (DEFUNSH): Add "address-family vpnv4" DEFUNSH. - -2000-10-23 Kunihiro Ishiguro - - * vtysh.c (execute_command): Add two arguemnt support for - executing child process. - (vtysh_telnet_port): New command "telnet WORD PORT" is added. - -2000-10-23 Akihiro Mizutani - - * vtysh.c (vtysh_write_memory): Display [OK] when configuration is - saved without problem. - -2000-10-20 Kunihiro Ishiguro - - * vtysh.c (vtysh_config_from_file): "key chain" command with -b - flag problem is fixed. - -2000-10-17 Kunihiro Ishiguro - - * vtysh_user.c: Change to use linklist.c. - -2000-10-02 Kunihiro Ishiguro - - * Makefile.am (noinst_HEADERS): Add vtysh_user.h. - - * zebra-0.89 is released. - -2000-09-22 Kunihiro Ishiguro - - * vtysh_main.c: Declare thread master. - -2000-08-25 Kunihiro Ishiguro - - * vtysh_main.c (main): Add missing --help procudure. Reported by - Patrick Rother . - -2000-08-22 Kunihiro Ishiguro - - * vtysh.c (DEFUNSH): "interface IFNAME" works. - -2000-08-20 Kunihiro Ishiguro - - * vtysh_user.c: Change name from vtysh_pam.c. - - * vtysh.conf.sample: New file for vtysh configuration. - -2000-08-19 Kunihiro Ishiguro - - * vtysh_pam.c (vtysh_pam): New file for PAM. - -2000-08-17 Kunihiro Ishiguro - - * zebra-0.88 is released. - -2000-08-02 Kunihiro Ishiguro - - * Makefile.am (vtysh_LDADD): Remove -lreadline and -lncurses. - - * vtysh.c (vtysh_connect): Use AF_UNIX instead of AF_LOCAL for - backward compatibility. - -2000-07-09 Kunihiro Ishiguro - - * extract.pl: Change regexp to match DEFUN and ALIAS at the same - time. - -2000-07-05 Kunihiro Ishiguro - - * vtysh.c (signal_init): Ignore SIGPIPE signal. - -2000-07-04 Kunihiro Ishiguro - - * extract.pl: ALIAS command can be extracted by extract.pl. - -2000-07-03 Kunihiro Ishiguro - - * extract.pl: Fix scalar and array semantics. - - * vtysh.c (vtysh_telnet): Add "telnet" client command. - -2000-07-02 Kunihiro Ishiguro - - * vtysh.c (main): Add -e flag for passing command from arugment. - (vtysh_ping): Add "ping" command for test of command execution. - (init_node): Add "traceroute" command. - (vtysh_start_shell): Add "start-shell", "start-shell bash", - "start-shell zsh". - (sigint): Add check for execute_flag for avoid duplicate prompt. - -2000-06-28 Kunihiro Ishiguro - - * vtysh.c: New file for vty shell. - * vtysh.h: Likewise. - * extract.pl: Likewise. - * vtysh_cmd.c: Generate by extract.pl. diff --git a/watchquagga/ChangeLog b/watchquagga/ChangeLog deleted file mode 100644 index 7baf4b7c..00000000 --- a/watchquagga/ChangeLog +++ /dev/null @@ -1,59 +0,0 @@ -2005-02-17 Andrew J. Schorr - - * watchquagga.c: (handle_read) Use new ERRNO_IO_RETRY macro. - -2005-02-16 Andrew J. Schorr - - * watchquagga.c: (try_connect) Use new set_nonblocking function instead - of calling fcntl directly. - -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). - -2004-12-29 Andrew J. Schorr - - * watchquagga.c: In several places, cast pid_t to int for printf to - avoid complaints on Solaris 8. - -2004-12-29 Andrew J. Schorr - - * watchquagga.c: Fix headers: get most stuff from zebra.h. - -2004-12-23 Paul Jakma - - * watchquagga.c: Add missing getopt.h include - -2004-12-22 Andrew J. Schorr - - * watchquagga.c: Try for gcc 2.95 compatibility (avoid %z and a tricky - initialization). - -2004-12-22 Andrew J. Schorr - - * watchquagga.c: Add -b option to circumvent difficulties passing - embedded spaces in command-line arguments. This is an ugly hack, - we should probably use a config file instead. - -2004-12-22 Andrew J. Schorr - - * watchquagga.c: Use new config.h define for DAEMON_VTY_DIR. - -2004-12-22 Andrew J. Schorr - - * watchquagga.c: Get PATH_WATCHQUAGGA_PID from config.h. - -2004-12-21 Andrew J. Schorr - - * .cvsignore: Added. - -2004-12-21 Andrew J. Schorr - - * {ChangeLog,watchquagga.c,Makefile.am}: Created. diff --git a/zebra/ChangeLog b/zebra/ChangeLog deleted file mode 100644 index 341c42a4..00000000 --- a/zebra/ChangeLog +++ /dev/null @@ -1,2712 +0,0 @@ -2008-07-01 Paul Jakma - - * ioctl.c: (if_get_flags) Deal more gracefully with failure - of the BSD link-state SIOCGIFMEDIA ioctl, as some interfaces - apparently don't implement it (e.g. tun). - Also, make BSD link-state checking be conditional on the - 'link-detect' interface configuration flag, as it should be. - Fixes bug #465. - -2008-06-02 Denis Ovsienko - - * connected.c: (connected_up_ipv4, connected_down_ipv4, - connected_up_ipv6, connected_down_ipv6): don't call - work_queue_aim_head() - * rib.h: adjust RIB_ROUTE_QUEUED macro for meta_queue, - declare meta_queue structure - * zebra_rib.c: (process_subq, meta_queue_process, rib_meta_queue_add, - meta_queue_new) new functions; (rib_queue_add) don't try checking - RIB_QUEUE_ADDED flag, rib_meta_queue_add() does it better, take care - of the meta queue instead; (rib_queue_init) initialize the meta queue - as well; (rib_lookup_and_pushup) don't call work_queue_aim_head(); - (rib_process) only do actual processing, don't do deallocation; - * zserv.h: include meta_queue field into zebra_t structure - -2008-05-29 Stephen Hemminger - - * rt_netlink.c: (netlink_install_filter) BPF filter to catch and - drop responses to zebra's own route messages. - (kernel_init) add BPF filter on the netlink socket. - -2008-02-26 Denis Ovsienko - * zebra_rib.[ch]: (rib_lookup_and_pushup) New function, which makes sure, - that if_set_prefix() has nothing in its way of assigning an address. - * ioctl.c: (if_set_prefix) Use rib_lookup_and_pushup() to resolve - bug #326. - -2008-01-11 Andrew J. Schorr - - * ioctl.c: If HAVE_BSD_LINK_DETECT is defined, include - (if_get_flags) Remove debug messages about BSD link state. - * kernel_socket.c: (bsd_linkdetect_translate) If link state - is unknown, we should set the IFF_RUNNING flag. - -2008-01-10 Ingo Flaschberger - - * ioctl.c: (if_get_flags) If HAVE_BSD_LINK_DETECT, use the SIOCGIFMEDIA - ioctl to ascertain link state. - * kernel_socket.c: (bsd_linkdetect_translate) New function to - map the ifm_data.ifi_link_state value into the IFF_RUNNING flag. - (ifm_read) Call bsd_linkdetect_translate to fix the IFF_RUNNING - flag before calling if_flags_update. - -2008-01-08 Michael Larson - - * zebra_rib.c: (nexthop_active_check) Replace if_is_up with - if_is_operative to solve problems with static interface - routes not behaving properly with link-detect. - -2007-11-12 Denis Ovsienko - - * connected.c: (connected_up_ipv4, connected_down_ipv4, - connected_up_ipv6, connected_down_ipv6) Collect all changed - connected routes closest possible to the RIB work queue, so - that the rest can be revalidated correctly. - -2007-10-24 Denis Ovsienko - - * kernel_socket.c: (rtm_read) we used to ignore own messages, - but the RIB debug commit broke it for IPv6 case (reported - by Milan Kocian). Fixed. - -2007-10-04 Denis Ovsienko - - * zebra_rib.c: (rib_process) escape from the nexthop - iteration cycle earliest possible to save CPU time. - -2007-10-03 Denis Ovsienko - - * zebra_rib.c: (rib_process, rib_link, rib_addnode, - rib_unlink, rib_delnode) log IPv6 prefixes same well - as IPv4 ones are logged. - -2007-09-14 Denis Ovsienko - - * rt_socket.c: (kernel_rtm_ipv4) Use lookup() instead of - LOOKUP/mes_lookup() for rtm_type_str, as this is more - appropriate for sparse code-spaces (#401). - * kernel_socket.c: (rtm_read, rtmsg_debug): Idem. - * kernel_socket.[ch]: We don't need rtm_type_str_max any more. - * main.c: (main) Don't call rib_sweep_route() before the - pidfile is acquired, this fixes bug #402. - * zserv.h: Dropped old_pid, since it's useless now. This - fixes bug #381. - * main.c: (main) Idem. - * test_main.c: (main) Idem. - * kernel_socket.c: (rtm_read) Idem. - -2007-09-12 Denis Ovsienko - - * rt_socket.c: (kernel_rtm_ipv4) prefix_buf could be passed - to zlog_err() uninitialized with debug disabled. Fixed. - -2007-09-06 Denis Ovsienko - - * rtread_sysctl.c: (route_read) Set RTF_DONE on the routing - messages when fetching initial kernel FIB, so rtm_read() - doesn't skip them. - -2007-08-21 Denis Ovsienko - - * ioctl_solaris.c: (if_get_mtu) Don't break things if either - IPv6 was disabled at compile time or the current interface - hasn't it enabled. - * kernel_socket.c: (ifm_read) Don't forget to call if_get_mtu() - for updated interfaces. - -2007-08-17 Denis Ovsienko - - * kernel_socket.c: (rtm_read) Ignore any routing socket messages - without RTF_DONE flag set, as they are just noise for us. - -2007-08-14 Denis Ovsienko - - * zebra_rib.c: (nexthop_active_update) Added a comment - and rewrote nexthop iteration. - -2007-08-13 Denis Ovsienko - - * kernel_socket.c: normalize rtm_type_str so it can be handled - by LOOKUP macro - * kernel_socket.c: (rtm_read) don't ignore self-generated - routing messages, so we can debug them; make use of - ZEBRA_ERR_RTNOEXIST; output more details in debug log. - * kernel_socket.c: (rtmsg_debug) make use of LOOKUP macro - * kernel_socket.h: let the world know about rtm_type_str[_max] - * rib.h: 3 more debugging functions and 5 return codes - * rt_socket.c: (kernel_rtm_ipv4) dump IP prefix and masklen; - complain about strange rtm_write() return values - * zebra_rib.c: (rib_lookup_ipv4_route, rib_dump, - rib_lookup_and_dump) --- new functions; more comments; - more debug logging - -2007-08-10 Emmanuel Vize - - * rt_netlink.c: (netlink_interface_addr) Use the appropriate field length for the address - (acknowledge Andy's comment). - -2007-08-06 Denis Ovsienko - - * zebra_rib.c: (general) Add extra debug logging for RIB and - RIB queue. - -2007-08-02 Denis Ovsienko - - * rt_socket.c (kernel_rtm_ipv4): Only call rtm_write when changes - are intended. Don't set FIB flag on failed additions (such as - occur with multiple paths. - -2007-06-25 Denis Ovsienko - - * zebra_rib.c: (rib_add_ipv4_multipath) Loop through RIB - is using 'same' variable, but RIB_ENTRY_REMOVED check - is testing the constant 'rib' variable, fix. Impact - unknown at this point. - -2007-05-30 Andrew J. Schorr - - * zebra_routemap.c: (route_set_src_compile) Use '#ifdef HAVE_IPV6' - as needed. - * zebra_vty.c: (vty_show_ip_route_detail, vty_show_ip_route) Use - '#ifdef HAVE_IPV6' as needed. - (show_ip_protocol) Move function definition outside of - '#ifdef HAVE_IPV6' section. - -2007-05-17 Andrew J. Schorr - - * kernel_socket.c: (ifam_read_mesg) Grab RTA_DST and RTA_GATEWAY - addresses from the message (if present, which seems unlikely on - current BSD platforms), and show them in the debug messages. - Also, add ifam_flags to the debug messages. - (ifam_read) If the interface is point-to-point, then the RTA_BRD - address should be treated as a peer address. - -2007-05-01 David L Stevens - - * (general) These changes collectively add route-map and - prefix-list support to zebra and fix a bug in "show - route-map" (with no argument). - * connected.c: (connected_up_ipv4) added src preference argument - to rib_add_ipv4() - * kernel_socket.c: (rtm_read) ditto - * main.c: added prefix list initialization - * Makefile.am: added zebra_routemap.c source file - * rib.h: added generic address union "g_addr" and use in - existing places that had an explicit union. - Added "src" to struct nexthop. - Added preferred src arg to nexthop_ipv4_add and rib_add_ipv4. - * rt_netlink.c: (netlink_routing_table) set preferred source on - netlink messages. - (netlink_route_change) ditto - (netlink_route_multipath) ditto. - * rtread_getmsg.c: (handle_route_entry) added (NULL) src to - rib_add_ipv4() call. - * rtread_proc.c: (proc_route_read) ditto - * zebra_rib.c: (nexthop_ipv4_add) add src argument. - (nexthop_ipv4_ifindex_add) ditto - (rib_add_ipv4) ditto - (nexthop_active_check) Add route-map processing. - * zebra_routemap.c: new file for zebra route-map commands. - * zebra_vty.c: (ip_protocol_cmd) Apply route-map to protocol - (vty_show_ip_route_detail) added "src" printing - (vty_show_ip_route) ditto - (show_ip_protocol_cmd) new command, list routemaps. - (config_write_protocol) write out routemap protocl config. - (zebra_vty_init) Install the new routemap protocol commands. - * zserv.c: (zread_ipv4_add) added (NULL) src arg - (zebra_init) init zebra route-maps. - * zserv.h: add zebra_route_map_init - -2007-04-29 Paul Jakma - - * ioctl{_solaris,}.c: (if_get_mtu) Fix missing ; in last commit. - * if_ioctl_solaris.c: (if_get_index) Fix bogus argument passed - to lifreq_set_name(). - -2007-04-10 Paul Jakma - - * ioctl{_solaris,}.c: (if_get_mtu) Ping clients via - zebra_interface_up_update if MTU is changed. - -2007-04-08 Paul Jakma - - * {ioctl,kernel}_null.c: Install of IP address should - reflect back to zebra via kernel_address_add..., makes - testzebra more useful. - * interface.c: (if_delete_update) Address removal triggered - by kernel shouldn't remove configured IPv4 address from connected - list. - -2007-04-07 Paul Jakma - - * redistribute.c: (zebra_check_addr) Don't redistribute routes - to IPv4 link-local prefixes, fixes bug #351. - * redistribute.h: Export zebra_check_addr. - * router-id.c: (router_id_bad_address) re-use zebra_check_addr - rather than implementing similar logic. - -2007-03-06 Paul Jakma - - * kernel_socket.c: (ifam_read) Do not update interface metric on - receipt of NEW/DEL ADDR messages, bogus as: a) some systems - dont include iface metric for address events b) we didn't - update clients either. Initial diagnosis by Eugene Grosbein. - -2007-02-26 Robert Olsson - - * irdp_main.c: (irdp_send_thread) Skip non-AF_INET addresses, - i.e. do not try interpret IPv6 addresses as IPv4 addresses - to broadcast in IRDP announcements.. - -2006-12-13 Andrew J. Schorr - - * if_ioctl_solaris.c: (if_get_addr) For IPv6, stop assuming - that all IFF_POINTOPOINT have prefixlen of IPV6_MAX_BITLEN. - Instead, always try the SIOCGLIFSUBNET ioctl; if that fails, - then we fall back to IPV6_MAX_BITLEN for PtP interfaces. - -2006-12-12 Andrew J. Schorr - - * connected.c: (connected_up_ipv4, connected_down_ipv4, - connected_up_ipv6, connected_down_ipv6) Simplify logic using the - new CONNECTED_PREFIX macro. - (connected_add_ipv4) Set prefixlen in destination addresses (required - by the CONNECTED_PREFIX macro). Use CONNECTED_PEER macro instead - of testing for IFF_POINTOPOINT. Delete invalid warning message. - Warn about cases where the ZEBRA_IFA_PEER is set but no - destination address has been supplied (and turn off the flag). - (connected_add_ipv6) Add new flags argument so callers may set - the ZEBRA_IFA_PEER flag. If peer/broadcast address satisfies - IN6_IS_ADDR_UNSPECIFIED, then reject it with a warning. - Set prefixlen in destination address so CONNECTED_PREFIX will work. - * connected.h: (connected_add_ipv6) Add new flags argument so - callers may set the ZEBRA_IFA_PEER flag. - * interface.c: (connected_dump_vty) Use CONNECTED_PEER macro - to decide whether the destination address is a peer or broadcast - address (instead of checking IFF_BROADCAST and IFF_POINTOPOINT). - * if_ioctl.c: (if_getaddrs) Instead of setting a peer address - only when the IFF_POINTOPOINT is set, we now accept a peer - address whenever it is available and not the same as the local - address. Otherwise (no peer address assigned), we check - for a broadcast address (regardless of the IFF_BROADCAST flag). - And must now pass a flags value of ZEBRA_IFA_PEER to - connected_add_ipv4 when a peer address is assigned. - The same new logic is used with the IPv6 code as well (and we - pass the new flags argument to connected_add_ipv6). - (if_get_addr) Do not bother to check IFF_POINTOPOINT: just - issue the SIOCGIFDSTADDR ioctl and see if we get back - a peer address not matching the local address (and set - the ZEBRA_IFA_PEER in that case). If there's no peer address, - try to grab SIOCGIFBRDADDR regardless of whether IFF_BROADCAST is set. - * if_ioctl_solaris.c: (if_get_addr) Just try the SIOCGLIFDSTADDR ioctl - without bothering to check the IFF_POINTOPOINT flag. And if - no peer address was found, just try the SIOCGLIFBRDADDR ioctl - without checking the IFF_BROADCAST flag. Call connected_add_ipv4 - and connected_add_ipv6 with appropriate flags. - * if_proc.c: (ifaddr_proc_ipv6) Must pass new flags argument to - connected_add_ipv6. - * kernel_socket.c: (ifam_read) Must pass new flags argument to - connected_add_ipv6. - * rt_netlink.c: (netlink_interface_addr) Copy logic from iproute2 - to determine local and possible peer address (so there's no longer - a test for IFF_POINTOPOINT). Set ZEBRA_IFA_PEER flag appropriately. - Pass new flags argument to connected_add_ipv6. - (netlink_address) Test !CONNECTED_PEER instead of if_is_broadcast - to determine whether the connected destination address is a - broadcast address. - -2006-12-08 Piotr Chytla - - * zebra_rib.c: (static_install_ipv{4,6}) Case where existing - RIB is updated must explicitely rib_addqueue the route_node, - to ensure the update actually takes effect. - -2006-09-13 Tom Everett - - * kernel_socket.c (rtm_type_str): ifdef RTM_OLD{ADD,DEL} to - compile on systems that no longer define them. - -2006-08-06 Paul Jakma - - * interface.h: (ifstat_update_proc) declaration should match - ifstat_update_sysctl really, which is to not return status, as - such status is not used anywhere. - * if_{proc,sysctl}.c: Make ifstat_update_* definitions and return values - consistent with each other and their declarations, ie: - (void) (*) (void). - * rtadv.h: depends on interface.h, so should include it. - -2006-08-04 Paul Jakma - - * misc_null.c: Add ifstat_update_sysctl, add another required - header. - -2006-08-02 Andrew J. Schorr - - * misc_null.c: Must include header files to get older versions of gcc - to process the #pragma statements properly. - -2006-08-01 Paul Jakma - - * irdp_main.c: (irdp_advertisement) free the stream here, when done, - right under where it was allocated so it's blindingly obvious - it's correct. This possibly fixes a very slow leak of streams in - zebra. - * irdp_packet.c: (send_packet) don't free the stream here as - it's hard to tell if right, plus an error case seemed to - returning before free anyway. - -2006-07-27 Paul Jakma - - * {ioctl,kernel}_null.c: Dummy/Null kernel method implementations, - useful for testing zebra code that calls such methods. - * {redistribute,misc}_null.c: Dummy/Null methods, as above. But - for zclient, and for various misc functions. - * test_main.c: Test harness for zebra, currently just to test the - RIB. - * Makefile.am: Build testzebra using above. - * debug.{c,h}: Add 'debug zebra rib' and 'debug zebra rib queue'. - * rib.h: (struct rib) Add a route_node rn_status flag field, - this has to be copied every time head RIB of a route_node - changes. - Remove the rib lock field, not needed - see below. - Add a status field for RIB-private flags. - * zebra_rib.c: Add a global for the workqueue hold time, useful - for testing. - (general) Fix for bug #268. Problem originally detailed by - Simon Bryden in [quagga-dev 4001]. - Essentially, add/delete of a RIB must happen /before/ the - queue. Best-path selection (ie rib_process) and reaping of - freed RIBs can then be done after queueing. Only the route_node - is queued - no important RIB state (i.e. whether a RIB is to be - deleted) is queued. - (struct zebra_queue_node_t) Disappears, no longer need to - track multiple things on the queue, only the route_node. - (rib_{lock,unlock}) removed, RIBs no longer need to be - refcounted, no longer queued. - (rib_queue_qnode_del) Removed, deleted RIBs no longer deleted - via the queue. - (rib_queue_add_qnode) deleted - (rib_queue_add) Only the route_node is queued for best-path - selection, we can check whether it is already queued or - not and avoid queueing same node twice - struct rib * argument - is not needed. - (rib_link/unlink) (un)link RIB from route_node. - (rib_{add,del}node) Front-end to updates of a RIB. - (rib_process) Reap any deleted RIBs via rib_unlink. - Unset the route_node 'QUEUED' flag. - (General) Remove calls to rib_queue_add where add/del node was - called - not needed, update calls where not. - Ignore RIB_ENTRY_REMOVEd ribs in loops through route_nodes - -2006-07-27 Rumen Svobodnikov - - * connected.c: (connected_up_ipv4) interface connected routes always - go to table main (or otherwise they cannot be used by linux as - nexthops) - * zserv.c: (zread_ipv4_add) send route to the correct routing table - * zebra_rib.c (static_install_ipv4) set routing table - -2006-07-02 Paul Jakma - - * rt_netlink.c: (netlink_interface_addr) Fix CID #104, can not - proceed if addr is NULL. - * zebra_rib.c: (static_add_ipv6) Fix CID #18, double check - required arguments are supplied for the given nexthop type. - -2006-06-15 Paul Jakma - - * interface.c: (if_flag_dump_vty) redundant code, remove. - (if_dump_vty) use libzebra if_flag_dump. - (ip_address_uninstall) Unset the configured flag. - * connected.c: (connected_same) new helper, check whether - two connected are same. - (connected_implicit_withdraw) new helper, consolidation of - existing code in connected_add_ipv{4,6}. - Try filter out unneeded Zserv address delete/adds when - address is exact same. - Where old address is implicitely removed, be sure to preserve - the IFC_CONFIGURED flag if set, fixes bug where configured - addresses were being lost on FreeBSD (Andrew Schorr). - -2006-05-21 Andrew J. Schorr - - * connected.c: (connected_withdraw) Do not delete the connected - address if the ZEBRA_IFC_CONFIGURED flag is set. - (connected_add_ipv4,connected_add_ipv6) Before calling - connected_withdraw, unset the ZEBRA_IFC_CONFIGURED flag - on the superseded connected structure. - -2006-05-19 Andrew J. Schorr - - * connected.c: (connected_add_ipv4,connected_add_ipv6) If the - new struct connected matches an already existing one - (that will consequently be removed by connected_withdraw), - then be sure to preserve the ZEBRA_IFC_CONFIGURED flag. - -2006-05-17 Andrew J. Schorr - - * kernel_socket.c: (ifam_read_mesg) Improve debug message - to show the IP address. - -2006-05-15 Paul Jakma - - * zserv.c: (general) Remove the private zebra_command_str - in favour of newly added libzebra zserv_command_string. - -2006-05-11 Paul Jakma - - * interface.c: (if_delete_update) route_node_lookup may return - NULL, should fix Coverity CID #31. - -2006-02-09 Paul Jakma - - * rib.h: (struct {rib,nexthop}) Rearrange fields to avoid - needless padding. - (struct rib) Remove the indirect pointer, not used anywhere! - -2006-02-02 Paul Jakma - - * interface.c: (if_dump_vty) move flags to their line, neater. - -2006-01-30 Paul Jakma - - * zebra_rib.c: (rib_process) Fourth time lucky on this jinxed - commit, last commit had a hole that could allow connected - route selection to escape beyond the connected route logic. - This time I cross-checked with Gunnar first. ;) - -2006-01-25 Gunnar Stigen - - * zebra_rib.c: (rib_process) Application of Gunnar's earlier - metric selection RIB change included incorrect tidy-ups made - by commiter. Fix. (NB: any errors here are again due to paul). - -2006-01-25 Paul Jakma - - * (general) More solaris PF_ROUTE hacks. The IFF_UP mangling - for solaris was incomplete on the PF_ROUTE side. fix it. - This changeset generally uglifies things. For some future - work I'd like to see the state changes seperated out from - the details of the code. Differences between systems might - then be slightly easier to implement without convoluted - hacks. - Changes should be specific to Solaris mostly, however - also tested on FreeBSD 6. - * if_ioctl_solaris.c: (interface_list_ioctl) ignore ~IFF_UP - interfaces, we'll hear about them when/if interface goes up - through NEWADDR. - Update flags explicitely at end of it to kick mangling. - * ioctl_solaris.c: (if_mangle_up) removed to interface.c, in - kind. - (lifreq_set_name) more convenient to take the string, than - the ifp. - (if_get_flags_direct) new convenience function, returns - the actual flags. Used during bootstrap in if_ioctl_solaris.c - to peek at flags of logical interfaces to see whether or - not to ignore them. - (if_get_flags) ENXIO means it's gone, poke out IFF_UP and - kick flags update. - (if_{un,}set_flags) flags argument should be 64bit. - * ioctl.{c,h}: flags argument should be 64bit. - * interface.h: Add a 'primary_state' flag to struct zebra_if on - SUNOS_5. - Export if_flags_update. - * interface.c: (if_flags_mangle) moved over in kind from - ioctl_solaris.c. Nasty kludge to try get IFF_UP right, as - much as is possible. Also keep track of the actual IFF_UP - value for the primary interface, so we can know when the ifp - must be deleted. - (if_flags_update) Take a new interface flags value, apply it - to the interface, and take whatever actions are required due - to flag transitions. - (if_refresh) flag state change logic is moved out to - previous. Just call if_get_flags, which will end up using - previous to effect the update of flags. - (if_flag_dump_vty) IFF_IPV{4,6} aren't interesting, VIRTUAL - and NOXMIT are though. - * kernel_socket.c: (ifm_read) Down->Down transitions shouldn't - create ifp, for non-IFANNOUNCE systems. - Use if_flags_update to update flags. - flag transition logic is now handled automatically through - if_flags_update. - (ifam_read) Better to call if_refresh *after* adding - connected addresses, as connected count affects IFF_UP on - IFF_UP-mangled systems. - On Solaris, Up->Down due to DELADDR means we need to delete - the ifp - the IFINFO might already have been and gone. - * rt.h: include other dependent headers. - -2006-01-19 Paul Jakma - - * (general) various miscellaneous compiler warning fixes. - Remove redundant break statements from switch clauses - which return. - Remove stray semi-colons which cause empty-statement - warnings. - * main.c: (sighup) remove private declaration of external - function. - (main) return from main, not exit, cause it annoys SOS. - -2006-01-18 Gunnar Stigen - - * zebra_rib.c: Take interface metric into account. - -2006-01-17 Paul Jakma - - * kernel_socket.c: (ifam_read) Read metric from RTM_NEWADDR. - If interface is an alias, pass the alias as a label for - connected_add_ipv{4,6}. - * rt_netlink.c: (netlink_interface_addr) print out - IFA_CACHEINFO info, if present, when debugging kernel - messages. - -2006-01-17 Gunnar Stigen - - * connected.c: (connected_up_ipv{4,6}) Include interface metric on - connected routes. - * if_ioctl.c: (if_getaddrs) Be defensive about assuming - that struct ifaddrs will have ifa_addr filled in. - -2006-01-16 Paul Jakma - - * zserv.c: Read/write updated Zserv header. - -2006-01-11 Paul Jakma - - * zserv.c: (zsend_interface_{add,delete,update}) if flags are - 8 bytes now, update to write out with stream_putq. - -2005-12-29 Greg Troxel - - * kernel_socket.c: remove dead code (from David Young). - - * rt_socket.c (kernel_rtm_ipv4): Use AF_INET rather than AF_UNSPEC - for mask. From David Young. - -2005-11-26 Paul Jakma - - * connected.{c,h}: (connected_add_ipv6) label should have - const qualifier, fix declarations. - -2005-11-24 Paul Jakma - - * kernel_socket.h: New header for functions exported to sysctl - methods. - * kernel_socket.c: include previous. - Remove static qualifier from couple of functions which are - used by sysctl methods. - Add a workaround for a bogus gcc warning to the RTA_ macros. - * Makefile.am: Add kernel_socket.h to noinst_HEADERS - * if_sysctl.c: include rt.h and kernel_socket.h and remove - redundant prototypes. - * rtread_sysctl.c: ditto. - (route_read) fix mismatch of return values. - * {rt,zserv,rib}.h: Include lib headers depended on. - -2005-11-23 Paul Jakma - - * (general) fix some small compile errors, and mark several - functions as static. - * kernel_socket.c: (ifan_read) should be static. - fix missing brackets. - (ifm_read,ifam_read,rtm_read_mesg,kernel_read) Make static - (ifam_read_mesg) make static. fix incorrect variable name. - (rtm_read) make static. Fix call to rib_delete_ipv4 which - should be rib_delete_ipv6. - (routing_socket,kernel_init) should be static. Void argument - should be specified as such, not left incomplete. - * rt_netlink.c: rt.h should be included, contains prototypes of - exported functions. - (kernel_delete_ipv6_old) fix sign of index argument. - * rt_socket.c: Exact same as previous. Also, make various - functions static. - * rtread_getmsg.c: Include zserv.h, which prototypes - route_read. Make static. - * rtread_sysctl.c: zserv.h and rt.h should be included. - fix definition of route_read. - -2005-11-14 Paul Jakma - - * zebra_rib.c: (rib_process) convert to new workqueue specs and - shut up gcc, which complains about cast from void via - function parameters, for some dumb reason. Do the cast - inside the function instead. - (rib_queue_qnode_del) ditto. - (rib_queue_init) no need for the casts anymore. - -2005-11-12 Alexander Gall - - * See [quagga-dev 1815] - * kernel_socket.c: (rtm_write) Use SAROUNDUP when HAVE_SIN_LEN - is not available. - * rt_socket.c: (kernel_rtm_ipv6(_multipath)) set family to - AF_INET6 on ipv6 routes. - -2005-11-12 Paul Jakma - - * kernel_socket.c: Add RTA_NAME_GET macro to extract name from - sockaddr_dl. Add some more RTF_ flags. - * (ifan_read) Add some debug messages. - * (ifm_read) Add more debug messages. More robust cross-checks - of index against name. - Fall back to by-name lookup if the index lookup fails, future - proofing more than anything else. - (ifam_read_mesg) Read RTA_IFP. Add debug messages. - (ifam_read) More debug. If there's an RTA_IFP and it isn't - the name of the interface, save it as the label. - (rtm_read_mesg) Read RTA_IFP. - (rtm_read) allow name to be retrieved. - (rtmsg_debug) expand on the debug message. - -2005-11-11 Paul Jakma - - * kernel_socket.c: (ifm_read) arithmetic on void pointer - warning. - (ifam_read) Fix error from connected-with-label merge, - something crept in from the pending Solaris kernel_socket.c - patch which shouldn't have. - -2005-11-03 Paul Jakma - - * connected.{c,h}: Include memory.h - (connected_add_ipv4) Use MTYPE for ifc label. - (connected_add_ipv6) Also should accept label. Store it in ifp. - (connected_del_ipv4) Taking label as argument is pointless. - * rt_netlink.c: (netlink_interface_addr) update label usage - for connected_{add,delete} functions. - * if_ioctl.c: (if_getaddrs) NULL label for connected_add_ipv6. - * if_ioctl_solaris.c: (interface_list_ioctl) Pass LIFC_NOXMIT - so we also find out about NOXMIT interfaces like VNI. - Bit of hackery to turn interface names into the primary - interface name, later with routing socket messages we only - will about primary interfaces anyway, so we must normalise - the name. - (if_get_addr) take label as argument, so it can - be passed to connected_add. - If label is provided, then it is interface name to issue the - ioctl for address information on, not the ifp name. - (interface_list) List AF_UNSPEC too, just in case. - * if_proc.c: (ifaddr_proc_ipv6) label for connected_add_ipv6. - * interface.c: (if_addr_wakeup) Some very bogus code - sets - IFF_RUNNING - add comment. - (if_refresh) - (ip_address_install) Use MTYPE for ifc label. - * ioctl_solaris.c: (if_mangle_up) New function. Hackery to make - IFF_UP reflect whether any addresses are left on the - interface, as we get signalled for IFF_UP flags change on the - primary interface only. Logical interfaces dont generate - IFINFO, but we do get an RTM_DELADDR. - (if_get_flags) Call if_mangle_up before return. - * kernel_socket.c: (ifam_read) Fixup calls to - connected_{add,delete} to match above changes. Rename gate - variable to brd, less confusing. - Pass the interface name as a label, if it is not same name - as ifp->name. - -2005-10-11 Paul Jakma - - * connected.{c,h}: (connected_{add,delete}_ipv4) label should - be const qualified. - -2005-10-01 Andrew J. Schorr - - * zebra_vty.c: (route_type_str) Remove obsolete function: use new - library function zebra_route_string() instead. Note that there - are a few differences: for IPv6 routes, we now get "ripng" and - "ospf6" instead of the old behavior ("rip" and "ospf"). - (route_type_char) Remove obsolete function: ues new library function - zebra_route_char() instead. Note that there is one difference: - the old function returned 'S' for a ZEBRA_ROUTE_SYSTEM route, - whereas the new one returns 'X'. - (vty_show_ip_route_detail,vty_show_ipv6_route_detail) Replace - route_type_str() with zebra_route_string(). - (vty_show_ip_route,vty_show_ipv6_route) Replace route_type_char() - with zebra_route_char(). - -2005-10-01 Andrew J. Schorr - - * rt_netlink.c: (netlink_request) Use memset to clear structure - before calling sendto (eliminates a valgrind error message about - uninitialized data). - -2005-09-28 Alain Ritoux - - * zserv.c: Always provied distance for route add - -2005-09-28 Alain Ritoux - - * connected.c: flag connected_up_ipv6() and connected_down_ipv6() - usage with HAVE_IPV6 - -2005-09-24 Hasso Tepper - - * rib.h: Add note about behaviour of rib_add_ipv[46]* functions - - add is treated as implicit withdraw. - -2005-09-21 David Young - - * zebra_rib.c: Reduce the height of some staircases. Fix - rib_delete_ipv6() to match routes in the RIB by their gateway as - well as by destination. - -2005-09-21 Paul Jakma - - * zebra_rib.c: (static_uninstall_ipv{4,6}) Fix regression wrt - removal of static routes with multiple-hops introduced with - the workqueue conversion. We should free the relevant - nexthop and then get rib_process to run, otherwise we just - get same static route back again (with no way to unconfigure - it, because its already deleted from configuration). - -2005-09-12 Paul Jakma - - * (general) RTM_CHANGE and implicit withdraw on RTM_NEWADDR - support. - * connected.c: (connected_withdraw) new function. withdraw a - connected subnet address set from zebra, and pass information - along to clients. - (connected_announce) similar, but to announce a new connected - subnet address set. - (connected_check_ipv4) renamed to connected_check, as its - AFI independent. - (connected_add_ipv{4,6}) Remove the connected address announce - stuff, use connected_announce instead. - If connected_check indicates address is already present, - treat it as an implicit withdraw of the existing address, ie - remove the old address details and replace with the new - details. - (connected_delete_ipv{4,6}) Use connected_withdraw. - (connected_check_ipv6) deleted in favour of connected_check. - * connected.h: Rename connected_check_ipv4 to connected_check. - delete connected_check_ipv6. - * interface.c: Use connected_check rather than the AFI specific - symbols. - * kernel_socket.c: (rtm_read) RTM_CHANGE support. Create a - rib delete event for the existing route, before adding route - again. - (kernel_read) we can handle RTM_CHANGE now. - -2005-08-27 Hasso Tepper - - * zebra_rib.c, rib.h: Add distance and metric arguments to the - rib_add_ipv6() function so that IPv6 routes in RIB can have correct - metric. No IPv6 routing daemon uses distance yet though. - * zserv.c, connected.c, kernel_socket.c, rt_netlink.c, - rtread_proc.c,zserv.c: Pass metric and distance info to the - rib_add_ipv6(). - -2005-07-29 Paul Jakma - - * interface.c: (if_delete_update) should always be available, not - just on RTM_IFANNOUNCE/NETLINK systems. - * kernel_socket.c: (ifan_read) only call if_delete_update when - interface departs, dont if_delete, because we wish to retain - interface configuration state even when interfaces are removed. - (ifm_read) If we dont have RTM_IFANNOUNCE, then transitioning - to down state is only chance we have to clean up interface in case - it is deleted (eg Solaris down -> unplumb -> plumb up). - * redistribute.c: (zebra_interface_delete_update) should always be - available, we /will/ call it now on all systems, via - if_delete_update. - * zserv.c: (zsend_interface_delete) ditto - (zsend_interface_address) Update the call-flow diagramme, to - reflect that if_delete_update /is/ now called on all systems, - potentially. - * zserv.h: (zsend_interface_delete) unconditionally exported, as - above. - -2005-06-28 Paul Jakma - - * (global) Extern and static'ification, with related fixups - of declarations, ensuring files include their own headers, etc. - * if_ioctl.c: (interface_info_ioctl) fix obvious arg mis-order in - list loop - * kernel_socket.c: (RTA_{ADDR,ATTR}_GET) fix mistake, NULL check - should be on DEST argument - -2005-06-14 Paul Jakma - - * kernel_socket.c: consolidate the IFAM{ADDR,MASK}GET and - RTM{ADDR,MASK}GET macros into generic rta_addrs macros, - RTA_{ADDR,ATTR}_GET. - (af_check) could use 'inline' attribute - (ifam_read_mesg) remove IFAM{ADDR,MASK}GET macro, change to - generic macro. - (rtm_read_mesg) similar - -2005-06-12 Hasso Tepper - - * rt_netlink.c: Remove netlink-addr socket declaration, it's not used. - * rt_netlink.c (netlink_parse_info): Fix debug messages - nlmsg_pid is - unsigned and one zlog call had swapped arguments. - * rt_netlink.c (netlink_route_multipath): Fix compile with disabled - IPv6 support. - -2005-05-31 Paul Jakma - - * zserv.c: (zsend_route_multipath) Fix bug if route is sent - with no NEXTHOP_FLAG_FIB nexthops. As ZAPI_MESSAGE_IFINDEX - and ZAPI_MESSAGE_NEXTHOP are always set, clients would try - read non-existent nexthop information and hit stream assert. - Zserv is still broken for multi-nexthop messages, but it always was. - -2005-05-06 Paul Jakma - - * zserv.h: Remove ZEBRA_PORT definition, its in lib/zebra.h now - -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. - -2005-04-10 Paul Jakma - - * if_ioctl_solaris.c: (if_lookup_linklocal) fix order of args - in ALL_LIST_ELEMENTS_RO macro. - -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. - -2005-04-09 Hasso Tepper - - * rt_netlink.c: One tiny missing comma caused pointless debug messages - about IPv6 nexthops. - -2005-04-09 Hasso Tepper - - * 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. - -2005-04-05 Paul Jakma - - * zserv.c: print more helpful errors when we fail to successfully - bind and listen on zserv socket. Closes bugzilla #163. - -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. - -2005-04-02 Andrew J. Schorr - - * 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. - -2005-04-02 Andrew J. Schorr - - * 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. - -2005-03-31 Hasso Tepper - - * 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. - -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. - -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. - -2005-03-25 Jean-Mickael Guerin - * interface.c, interface.h, rtadv.c, rtadv.h: modifications to - IPv6 Neighbor Discovery according to RFC3775, section 7: - o 1-bit Home Agent flag management in Router Advertisement (7.1). - o 1-bit Router Address flag management in Prefix Information - Option (7.2). - o Advertisement Interval Option (7.3) - o Home Agent Information Option (7.4) - o Changes to Sending Router Advertisements more frequently (7.5) - -2005-03-13 Hasso Tepper - - * zebra/interaface.c: "show interface description" command - implemented. - -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 - it's not generally a good idea. - -2005-03-07 Michael Sandee - - * if_proc.c, ipforward_proc.c, rtread_proc.c: Fix fd leaks. - -2005-03-06 Hasso Tepper - - * interface.c: Fix CRC and frame errors statistics in Linux. - -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). - -2005-02-24 Andrew J. Schorr - - * redistribute.c: (zebra_check_addr,is_default, - zebra_redistribute_default,zebra_redistribute) Fix scope to be static. - -2005-02-20 Hasso Tepper - - * rt_netlink.c: Don't show messages "ignoring message type 0x001[89]" - if we are not debugging. - -2005-02-19 Paul Jakma - - * zserv.c: (zebra_read_ipv6) replace the char * arithmetic with - STREAM_READABLE. - -2005-02-14 Paul Jakma - - * Not all Linux netlink systems have IFLA_WIRELESS - -2005-01-30 Andrew J. Schorr - - * 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. - -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. - -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. - -2005-01-24 Martin Pot - - * zebra/rt_netlink.c: ignore wireless newlink netlink messages. - -2005-01-18 Hasso Tepper - - * interface.c: Better statistics output in "show interface" command in - case of /proc being used. - -2005-01-17 Hasso Tepper - - * main.c: With --nl-bufsize argument is required. - -2005-01-05 Paul Jakma - - * zserv.c: (zebra_accept) Comment out setting of socket to NONBLOCK - for now, as we dont actually deal with with resending.... See - bugzilla #122, fix from wawa@yandex-team.ru (Vladimir Ivanov). - * kernel_socket.c: (routing_socket) ditto. - -2005-01-04 Andrew J. Schorr - - * rtadv.c: (rtadv_recv_packet,rtadv_send_packet) Use ZCMSG_FIRSTHDR - instead of CMSG_FIRSTHDR. - -2004-12-22 Andrew J. Schorr - - * connected.c: (connected_add_ipv4) Limit warning about /32 addresses - with no peer specified to PtP interfaces only. - -2004-12-18 Hasso Tepper - - * zebra_vty.c: Fix "show ipv6 route " command help and make it - work for isis routes. - -2004-12-09 Greg Troxel - - * kernel_socket.c (rtmsg_debug): char * => const char * - -2004-12-07 Andrew J. Schorr - - * *.c: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr - - * main.c: (main) The 2nd argument to openzlog has been removed. - So stdout logging will no longer be enabled by default. - * irdp_main.c: (irdp_finish) Reduce severity of shutdown message - from LOG_WARNING to LOG_INFO. - -2004-12-03 Andrew J. Schorr - - * main.c: (sigint) Use zlog_notice for termination message. - (main) Add a startup announcement using zlog_notice. - -2004-11-25 Hasso Tepper - - * irdp_interface.c: Remove comment from DEFUN, it breaks vtysh because - it confuses extract.pl. - * main.c: Make group to run as configurable. - -2004-10-28 Hasso Tepper - - * interface.c: Remove dead "ip tunnel" command. - -2004-10-22 Paul Jakma - - * irdp_main.c: change setsockopt_pktinfo to setsockopt_ifindex - -2004-10-19 Andrew J. Schorr - - * rt_netlink.c: (netlink_interface_addr) For PtP interfaces, ignore - tb[IFA_ADDRESS] if it's the same as tb[IFA_LOCAL]. - * interface.c: (ip_address_install) Use new ipv4_broadcast_addr - function. - * connected.c: (connected_up_ipv4) Use CONNECTED_POINTOPOINT_HOST - macro. - (connected_down_ipv4) ditto. - (connected_add_ipv4) Validate destination address, print warnings - if it does not make sense. - -2004-10-19 Hasso Tepper - - * zserv.c: Fix regression introduced with zserv cleanup. - -2004-10-13 Hasso Tepper - - * zebra_snmp.c: Remove defaults used to initialize smux connection to - snmpd. Connection is initialized only if smux peer is configured. - * zserv.c: Remove useless warnings "forwarding is already on". - -2004-10-12 Hasso Tepper - - * zebra_vty.c: Unbreak "show ip route" command help and make it work - for isis routes. - * interface.c(if_dump_vty): Show IPv6 addresses in "show interface" - output. Fixes Bugzilla #119. - * *.c: Make some strings const and some (unsigned) casts to fix - compiler warnings. - -2004-10-07 Hasso Tepper - - * connected.c, main.c, rt_netlink.c, rtadv.c, zebra_rib.c, zserv.c: - Fix warnings: make strings const, signed -> unsigned. - -2004-10-05 Paul Jakma - - * irdp_packet.c: (parse_irdp_packet) style issues. - Use sockopt_iphdrincl_swab_systoh. - Try unbork the code. Checksum the ICMP data and actually - compare it to received checksum. Check data length against - claimed length in header. - Always use ntoh.. when accessing addresses, even when the - comparison happens to be endian-safe. - (send_packet) minor style isues. Use - sockopt_iphdrincl_swab_htosys. - (irdp_iph_hton/ntoh) IP header to/from network/host order. - -2004-10-03 Gilad Arnold - - * interface.c, interface.h: A new prefix tree of connected subnets is - associated with each interface structure in zebra, in which each - live (ie, non-synthetic) node holds a list of installed addresses - that belong to that prefix. Remove secondary address logic from cli. - See [quagga-dev 872] for detailed explanation. - * connected.c: Use if_subnet_add() and if_subnet_delete(). - -2004-10-03 James R. Leu - - * router-id.c, router-id.h: New files. Router id selection process. If - there is non 127.x.x.x address in loopack interface, lowest of them - is chosen. If there isn't, lowest from other interfaces addresses - are chosen. "router-id x.x.x.x" vty command to manual override. - * Makefile.am: Compile new files. - * main.c: Initialize router id. - * redistribute.c: Add interface addresses into router id selection - lists as they (dis)appear. - * zserv.c, zserv.h: Sending router id related messages to daemons. - -2004-09-26 Hasso Tepper - - * irdp_interface.c, irdp_main.c, irdp_packet.c, rt_netlink.c, - rtadv.c, zebra_vty.c: Fix compiler warnings. - -2004-09-24 Paul Jakma - - * irdp_interface.c: (no_ip_irdp_address_preference_cmd) - add missing listnode declaration. - -2004-09-24 Paul Jakma - - * irdp_{interface,main}.c: lists typedef removal cleanup. - update some list loops to LIST_LOOP. some miscellaneous style - and indent fixups. - (no_ip_irdp_address_preference_cmd) Fix delete of referenced node - in loop. - * irdp_packet.c: (irdp_recvmsg) Fix buggy assignment of integer - to pointer. - * if_ioctl{,_solaris}.c: lists typedef removal cleanup. - update some list loops to LIST_LOOP. - -2004-09-23 Hasso Tepper - - * *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-22 Paul Jakma - - * zserv.c: (zsend_route_multipath) fix nasty bad memset of struct - in_addr to sizeof(struct in6_addr), causing odd and hard to debug - crash. - -2004-08-31 Hasso Tepper - - * main.c, rt_netlink.c: Added -s command line switch for tuning - netlink receive buffer size in Linux to avoid buffer overruns. - -2004-08-26 Miles Nordin - - * ipforward_sysctl.c (mib_ipv6): Use size_t for len, per - sysctl(3), rather than int. (Needed on NetBSD/alpha to display - forwarding status correctly.) - -2004-08-23 Paul Jakma - - * zserv.c: (zebra_init) remove implicit ip forward enabling - -2004-08-19 Paul Jakma - - * irdp_main.c: update to match sockopt renames. - * irdp_packet.c: include sockopt.h and update to match sockopt - renames. - -2004-08-11 Greg Troxel - - * rtadv.c (rtadv_send_packet): Allocate space for control messages - more carefully; it was wrong on NetBSD/sparc where CMSG alignment - is to 8 bytes instead of 4, and overwriting the address. Use the - provided macros for determining lengths. - -2004-07-23 Sowmini Varadhan - - * if_ioctl_solaris.c: HAVE_IPV6 ifdef fixups - * zserv.c: ditto - * ioctl_solaris.c: ditto. - * interface.c: cast for LLADDR - * interface.h: Add guards, include redistribute.h and remove - extraneous definitions of zebra_interface_{up,down}_update - * ioctl.h: Add AF_IOCTL define for non SOLARIS_IPV6 - * redistribute.h: include dependent header, zserv.h - * zserv.h: include dependent header, rib.h - -2004-07-23 Paul Jakma - - * irdp_main.c: use setsockopt_pktinfo_ipv4 - * irdp_packet.c: use SOPT_SIZE_CMSG_PKTINFO_IPV4 and - getsockopt_pktinfo_ifindex() - -2004-07-13 David Wiggins - - * irdp_main.c: Add privilege change. - -2004-07-12 Hasso Tepper - - * irdp_interface.c: follow common style while naming vty command - functions. Avoids confusion in extract.pl. - -2004-06-30 Greg Troxel - - * main.c: define thread_master variable so that linking with - libzebra.so doesn't fail. Arguably zclient.o should be in a - separate library, but this is far less disruptive. - -2004-06-12 Robert Olsson - - * Added IRDP support. - -2004-05-18 Hasso Tepper - - * rtadv.c: Removed "[no] ipv6 nd send-ra" command. Replaced "ipv6 nd - prefix-advertisement" with "ipv6 nd prefix". Rewrite syntax of - "ipv6 nd prefix" command to allow various combinations of parameters - and flags. No defaults in configuration. Replaced on-link and - autoconfig with off-link and no-autoconfig flags in command syntax. - Cosmetic fixes in all commands. Documentation to reflect all changes. - -2004-05-11 Paul Jakma - - * Makefile.am: support for IOCTL_METHOD, as per Sowmini's patch. - * if_ioctl_solaris.c: Fixup some erroneous privilege changes and - add privs.h header. - * ioctl_solaris.c: ditto - * ioctl.h: Add if_ioctl_ipv6 prototype and AF_IOCTL for SOLARIS_IPV6 - * kernel_socket.c: Fix SAROUNDUP, compiler doesnt like do..while - RHS in assignments :) - * redistribute.c: (zebra_interface_delete_update) only used - if RTM_IFANNOUNCE and NETLINK is available. - -2004-05-09 Paul Jakma - - * zserv.c: (zsend_route_multipath) Set the nexthop_num - field correctly. Add NEXTHOP_TYPE_IPV6_IFNAME for v6. - Conditionally set ZAPI_MESSAGE_METRIC flag - only for adds. - (zsend_ipv4_add) cruft, deleted. - (zsend_ipv4_delete) ditto. - (zsend_ipv6_add) ditto. - (zsend_ipv6_delete) ditto. - * ioctl.c: (if_get_mtu) set mtu6 to mtu - * mtu_kvm.c: (if_kvm_get_mtu) set mtu6 to mtu - * rt_netlink.c: (netlink_interface) set mtu6 to mtu - (netlink_link_change) ditto - * ipforward_solaris.c: fix typo of ND variable. - * if_ioctl_solaris.c: Add zprivs support. - * ioctl_solaris.c: ditto. - -2004-05-09 Sowmini Varadhan - - * zserv.c: (zsend_ipv{4,6}_{add,delete}_multipath) collapsed - into single zsend_route_multipath function. - (zsend_interface_{up,down}) collapsed into zsend_interface_update. - (zsend_interface_address_{add,delete}) collapsed into - zsend_interface_address. - (zsend_interface_add) send mtu6. - (zsend_interface_delete) ditto. - (zebra_write) remove unused function. - (various) Apply static qualifier. Add comments. - * zserv.h: Definitions changed as per above. - * redistribute.c: Changes as per zserv.c. - * interface.c: (if_delete_update) only used with HAVE_NETLINK - and RTM_IFANNOUNCE. - (if_flag_dump_vty) Solaris IFF_IPV4 and IFF_IPV6 if flags - (if_dump_vty) print mtu6 if not same as mtu - * if_ioctl_solaris.c: New file, Solaris interface ioctl methods. - * ioctl_solaris.c: New file, Common solaris ioctl methods. - -2004-04-06 Krzysztof Oledzki - - * rt_netlink.c: Do not ignore metric when reading kernel routing - table on Linux with rt_netlink interface. - -2004-03-18 Hasso Tepper - - * interface.c: Temporary fix for handling secondary addresses - with label. - -2004-02-12 Hasso Tepper - - * zserv.c: Added "ipv6 forwarding" command. - -2004-01-08 Greg Troxel - - * kernel_socket.c (kernel_read): Use sockaddr_storage in buffer - for reading kernel messages to ensure enough space (necessary on - Solaris due to sockaddr_dl being large). Thanks to Sowmini - Varadhan for help with this change. - -2004-01-06 Greg Troxel - - * rtadv.c (rtadv_send_packet): Change perror to zlog_err. - -2004-01-05 Greg Troxel - * kernel_socket.c (ifm_read): Major cleanup. Use Sowmini's code - to find the sockaddr_dl in all cases, narrowing the Solaris ifdef - to just the accomodation of broken kernels. Check sockaddr_dl - carefully up front, and later assume any non-NULL sdl pointer is - valid. Clean up types and variable declarations, and rename - WRAPUP to SAROUNDUP to make the name fit the behavior. - -2004-01-05 Greg Troxel - - * kernel_socket.c (kernel_read): Add a sockaddr_dl to the ifmsg - structure, because on Solaris sockaddr_dl is far larger than the - base sockaddr structure. (The code had previously been failing to - read all the data.) - -2004-01-05 Greg Troxel - - * kernel_socket.c (kernel_read): Look up interfaces by index - first, so that state changes which do not include a sockaddr_dl - now work. Add many sanity checks. In - particular, do not assume that a sockaddr_dl follows a message - without checking the ifm_addrs flags, and do not trust the length - in a sockaddr_dl. Add/clarify many comments. - -2003-12-03 Greg Troxel - - * rtadv.c: reorder includes to avoid compiler warning (define - structs before using them in prototypes) - -2003-05-25 Jim Crumpler - - * zserv.c: Add "ip forwarding" command. - -2003-05-16 Gilad Arnold - - * zebra_rib.c: Fix memory leaks for ifname nexthops - -2003-04-19 Israel Keys - - * rt_netlink.c: BLOCK on netlink while initialising - -2003-02-06 Francois Deppierraz - - * rt_netlink.c (netlink_route_multipath): Set RTM_F_EQUALIZE when - it exists. - -2002-09-28 Akihiro Mizutani - - * zebra_rib.c (static_add_ipv4): Null0 static route is added. - -2002-09-10 Jochen Friedrich - - * rt_netlink.c: Add check for EAGAIN. - * kernel_socket.c: Likewise - -2002-06-12 Israel Keys - - * rt_netlink.c: Setting the NLM_F_ACK flag on the netlink command - message so that we get an ACK for successful netlink commands. - Change the netlink socket to BLOCKING while we wait for a - response; be it an ACK or an NLMSG_ERROR. Change - netlink_parse_info to deal with ACK messages. - -2001-11-01 Jun-ichiro itojun Hagino - - * rtadv.c (rtadv_make_socket): setsockopt(IPV6_CHECKSUM) does not - work for ICMPv6 socket. - -2001-10-24 Kunihiro Ishiguro - - * rib.c (rib_process): Select connected route any case. - -2001-10-23 Kunihiro Ishiguro - - * interface.c (no_ip_address_secondary): Add "no" to command. - -2001-10-18 NOGUCHI Kay - - * ioctl.c (if_prefix_add_ipv6): Set the prefered and valid lifetime - to infinity as the freebsd4.4 workaroud. - -2001-08-26 mihail.balikov@interbgc.com - - * zebra_snmp.c: Fix snmpwalk problem such as IPv4 address - A.B.C.255. - -2001-08-22 NOGUCHI Kay - - * rtadv.c: Do not send RA to loopback interface. - -2001-08-20 Kunihiro Ishiguro - - * ioctl.c (if_set_prefix): Remove Linux 2.0 specific connected - route treatment. - -2001-08-19 Kunihiro Ishiguro - - * zebra-0.92a released. - -2001-08-17 Kunihiro Ishiguro - - * rib.c: Kernel route is treated as EGP routes in nexthop active - check. - -2001-08-15 Kunihiro Ishiguro - - * zebra-0.92 released. - -2001-08-08 "Akihiro Mizutani" - - * rib.c (show_ip_route_prefix_longer): Add longer-prefix option to - show route commands. - -2001-07-29 Yon Uriarte - - * zserv.c (zsend_ipv4_add_multipath): Add - NEXTHOP_TYPE_IPV4_IFINDEX check. - -2001-07-29 NOGUCHI Kay - - * rtadv.c: Apply valid lifetime, preferred lifetime, onilnk flag, - autonomous address-configuration flag patch. - (no_ipv6_nd_suppress_ra): Change "ipv6 nd send-ra" to "no ipv6 nd - suppress-ra". - -2001-07-24 NOGUCHI Kay - - * rtadv.c (ipv6_nd_ra_interval): Add "ipv6 nd ra-interval SECONDS" - command. - -2001-07-24 Jun-ichiro itojun Hagino - - * rt_socket.c (kernel_rtm_ipv4): Add KAME/NetBSD151 equal cost - multicast FIB support both IPv4 and IPv6. - -2001-07-24 Hal Snyder - - * if_ioctl.c (interface_list_ioctl): Fix bug of failing to get the - full list of interfaces on some configurations of OpenBSD. - -2001-07-23 NOGUCHI Kay - - * rtadv.c (ipv6_nd_send_ra): Apply [zebra 9320] to fix "ipv6 nd - send-ra" bug. - (ipv6_nd_ra_lifetime): "ipv6 nd ra-lifetime 0" for default router - availability. - (ipv6_nd_managed_config_flag): "ipv6 nd managed-config-flag" is - added. - (ipv6_nd_other_config_flag): "ipv6 nd other-config-flag" is added. - -2001-07-23 Jun-ichiro itojun Hagino - - * ioctl.c (if_ioctl): Change ioctl argument from int to u_long. - - * rt_ioctl.c: Likewise. - -2001-07-23 Jun-ichiro itojun Hagino - - * kernel_socket.c (rtm_write): Only set RTF_CLONING when the - interface is not p2p. - -2001-04-23 Kunihiro Ishiguro - - * ioctl.c (if_prefix_add_ipv6): Fix argument type. - -2001-04-06 Toshiaki Takada - - * zserv.c (zsend_interface_delete): Use client->obuf instead of - allocating new stream. - -2001-03-10 Kunihiro Ishiguro - - * rt_netlink.c: Revert RTPROT_BOOT change. - -2001-03-08 Kunihiro Ishiguro - - * rt_netlink.c (netlink_route_change): Skip RTPROT_BOOT route. - (netlink_routing_table): Likewise. - -2001-03-07 "Akihiro Mizutani" - - * zserv.c (zsend_ipv4_add_multipath): Send metric value to - protocol daemons. - -2001-02-18 Kunihiro Ishiguro - - * rt_netlink.c (netlink_routing_table): Do not return - tb[RTA_GATEWAY] is NULL. Reported by: "Michael O'Keefe" - . - -2001-02-08 Kunihiro Ishiguro - - * if_ioctl.c (interface_list_ioctl): Call if_add_update(). - Suggested by: Chris Dunlop . - -2001-02-01 Kunihiro Ishiguro - - * rib.c (nexthop_active_ipv4): When nexthop type is - NEXTHOP_TYPE_IPV4_IFINDEX, propery set the ifindex to rifindex. - - * zserv.c: Initialize rtm_table_default with 0. - - * zebra-0.91 is released. - -2001-01-31 Kunihiro Ishiguro - - * kernel_socket.c (rtm_read): Filter cloned route. Suggested by: - Jun-ichiro itojun Hagino - -2001-01-30 Kunihiro Ishiguro - - * connected.c (connected_up_ipv6): When point-to-point destination - address is ::, use local address for connected network. - (connected_down_ipv6): Likewise. - -2001-01-25 Kunihiro Ishiguro - - * zserv.c (zebra_serv): Add missing close() call. Reported by: - David Waitzman . - -2001-01-24 Kunihiro Ishiguro - - * rib.c (rib_lookup_ipv4): New function for checking exact match - IGP route. - -2001-01-23 Kunihiro Ishiguro - - * rib.c (show_ipv6_route_protocol): Fix bug of "show ip route - route-type". - -2001-01-22 Kunihiro Ishiguro - - * interface.c (zebra_interface): Do not call - zebra_interface_add_update for inactive interface. - - * zserv.c (zsend_interface_address_add): Send interface address - flag. - (zsend_interface_address_delete): Likewise. - -2001-01-19 Kunihiro Ishiguro - - * interface.c (if_addr_add): Add flags. - - * connected.c (ifa_add_ipv4): Add new function for interface - address handling. - (ifa_delete_ipv4): Likewise. - -2001-01-16 Kunihiro Ishiguro - - * rib.c (rib_update): Update IPv6 RIB. - - * kernel_socket.c (ifam_read): Call if_refresh() for update - interface flag status. This is for implicit interface up on *BSD. - - * interface.c (if_refresh): Add interface flag refresh function. - - * kernel_socket.c (rtm_read): Fetch link-local address interface - index. - (ifan_read): We need to fetch interface information. Suggested - by: Yasuhiro Ohara . - - * rib.c (static_ipv6_nexthop_same): Add check for - NEXTHOP_TYPE_IPV6_IFNAME. - -2001-01-15 Kunihiro Ishiguro - - * rib.h (NEW_RIB): Turn on NEW_RIB flag. IPv6 new RIB code are - taken into place. - -2001-01-14 Kunihiro Ishiguro - - * rib.c (static_ipv6_write): Display STATIC_IPV6_GATEWAY_IFNAME - configuration. - (rib_delete_ipv6): Handle same route conter for IPv6 connected - route. - (show_ipv6_route_protocol): New command. - (show_ipv6_route_addr): Likewise. - (show_ipv6_route_prefix): Likewise. - (rib_update): Sweep kernel route when it is cleaned up. - - * rt_socket.c (kernel_add_ipv6): Add NEXTHOP_IPV6_IFNAME - treatmenet. - - * rt_netlink.c (kernel_init): Likewise. - - * rt_ioctl.c (kernel_ioctl_ipv6_multipath): Likewise. - - * rib.c (rib_add_ipv4): Cope with same connected route on a - interface. Suggested by: Matthew Grant . - (nexthop_ipv6_ifname_add): Add NEXTHOP_IPV6_IFNAME treatmenet. - - * rib.h (struct new_rib): Add refcnt to keep track on the - reference of same connected route. - - * ioctl.c (if_set_prefix): Add check for GNU_LINUX. - -2001-01-13 Yasuhiro Ohara - - * kernel_socket.c (ifan_read, rtm_type_str): Add RTM_OIFINFO check. - (rtm_type_str): Add RTM_IFANNOUNCE check. - (ifan_read): New function. - (kernel_read): Add case for RTM_IFANNOUNCE. - -2001-01-13 Kunihiro Ishiguro - - * rt_ioctl.c (kernel_ioctl_ipv6_multipath): New function. - - * rt_netlink.c (netlink_route_multipath): IPv6 address ifindex - treatment. - - * connected.c (connected_up_ipv6): Add dest value check. - - * rib.c (nexthop_active_ipv6): Do not touch IPv6 nexthop's - ifindex. - (rib_add_ipv4): Import rib_add_ipv6() same route check code. - (nexthop_active_check): NEXTHOP_TYPE_IPV6_IFINDEX activity is only - checked by ifindex. - - * rt_socket.c (kernel_rtm_ipv6_multipath): New function. - - * redistribute.c (redistribute_add): Use - zsend_ipv6_add_multipath(). - (redistribute_delete_multipath): Use - zsend_ipv6_delete_multipath(). - - * interface.c (ip_address): Check current IP address to avoid - duplicate. - - * rib.c (rib_delete_ipv4): When deleted route is connected route, - check ifindex. - (rib_add_ipv4): When connected route is added do not perform - implicit withdraw. - (rib_delete_ipv4): Check ifindex for connected route. - - * kernel_socket.c (rtm_read): When route has RTF_STATIC, set - ZEBRA_FLAG_STATIC for indicate as persistent route. - (ifam_read): Unset interface index from link-local address when - IPv6 stack is KAME. - - * rib.c (rib_update): Do not delete persistent kernel route. - - * rib.h (struct new_rib): Integrate RIB_FLAG_* to ZEBRA_FLAG_*. - - * rt_socket.c (kernel_add_ipv6_multipath): Add placeholder. - (kernel_delete_ipv6_multipath): Likewise. - - * rt_netlink.c (netlink_talk): Give struct nlsock to netlink_talk. - -2001-01-12 Kunihiro Ishiguro - - * rib.c (rib_update): Revert Matthew Grant's patch - zebra_cvs_newribfix.patch. Use struct rib->ifindex for kernel - interface index. Introduce NEXTHOP_TYPE_IPV4_IFINDEX to support - that. Add support for address deletion situation. - -2001-01-11 Kunihiro Ishiguro - - * interface.c: Remove HAVE_IF_PSEUDO part. - - * rib.h: Likewise. - - * rt_netlink.c (netlink_link_change): Likewise. - -2001-01-10 Kunihiro Ishiguro - - * zserv.c: Remove OLD_RIB codes. - -2001-01-09 Kunihiro Ishiguro - - * zebra-0.90 is released. - -2001-01-09 Matthew Grant - - * interface.c (if_new_intern_ifindex): Allocate a new internal - interface index. - (if_addr_refresh): Fix up ip addresses configured via zebra. - (if_add_update): Handle an interface addition. - (if_delete_update): Handle an interface delete event. - - * rib.c (nexthop_ipv4_add): Add kernel route deletion process when - interface goes down. - -2001-01-08 Kunihiro Ishiguro - - * interface.c (if_dump_vty): When HAVE_NET_RT_IFLIST is defined, - NetBSD also use this function. Suggested by Jasper Wallace - . - -2001-01-07 Kunihiro Ishiguro - - * rib.c (nexthop_active_ipv4): Move back to set methodo to old - one. - -2001-01-05 Kunihiro Ishiguro - - * rib.c (rib_add_ipv4): EBGP multihop set ZEBRA_FLAG_INTERNAL - flag, so treat it. - -2001-01-04 Kunihiro Ishiguro - - * rt_netlink.c (netlink_talk_ipv6): When IPv6 route message is - sent from netlink_cmd, the same message comes from netlink. To - avoid confusion, temporary netlink_talk_ipv6 use netlink.sock - instead of netlink_cmd.sock. - -2001-01-01 Kunihiro Ishiguro - - * zserv.h (ZEBRA_SERV_PATH): Change "/tmp/zebra" to "/tmp/.zebra". - Change "/tmp/zserv" to "/tmp/.zserv". - -2000-12-29 Frank van Maarseveen - - * rt_netlink.c (struct nlsock): Divide kernel message into listen - socket and command socket. - (netlink_talk): Remove socket listen code. Use netlink_parse_info - for read kernel response. - -2000-12-29 Kunihiro Ishiguro - - * rib.c (vty_show_ip_route): Show uptime of the RIP,OSPF,BGP - routes. - -2000-12-27 Kunihiro Ishiguro - - * rt_netlink.c (netlink_route_multipath): Metric value is - reflected to kernel routing table. - - * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Likewise. - - * kernel_socket.c (rtm_write): Likewise. - - * rib.c (nexthop_active_ipv4): Only iBGP route perform recursive - nexthop lookup. - - * rt_ioctl.c (kernel_ioctl_ipv4_multipath): Add ioctl version of - new RIB implementation. - -2000-12-26 Kunihiro Ishiguro - - * rib.h: Remove MULTIPATH_NUM. It is defined by configure script. - -2000-12-25 Michael Rozhavsky - - * rib.c (rib_if_up): Call rib_fib_set instead of RIB_FIB_SET for - proper redistribution. - -2000-12-19 Kunihiro Ishiguro - - * rib.c (nexthop_active_ipv4): Add self lookup nexthop check. - (show_ip_route_protocol): Support new RIB. - - * rt_netlink.c (netlink_route_change): Do not return when gate is - NULL. - -2000-12-18 Kunihiro Ishiguro - - * rib.c (rib_lookup_ipv4_nexthop): IBGP nexthop check function is - updated. - (rib_add_ipv4): Free implicit withdraw route's RIB. - -2000-12-15 Kunihiro Ishiguro - - * rib.c (nexthop_active_ipv4): Check indirect nexthop. - - * redistribute.c (redistribute_add_multipath): Redistribution - works with new rib code. - -2000-12-14 Kunihiro Ishiguro - - * rt_netlink.c (netlink_route_multipath): Check useful nexthop - number. - (netlink_route_multipath): Clear rtnh_flags and rtnh_hops. - - * rib.c (nexthop_active_update): Set flag for the rib's nexthop - activity is changed. - (nexthop_active_check): Before checking interface is up, make it - sure the interface exist. - -2000-11-20 Kunihiro Ishiguro - - * rib.c (ip_route): New RIB prototype. - -2000-11-16 Yon Uriarte - - * zserv.c (zsend_interface_add): Send hardware address when - hw_addr_len is greater than 0. - -2000-11-07 Kunihiro Ishiguro - - * connected.c (connected_up_ipv4): Fix ptop bug. The destination - network should be installed into routing table. - (connected_down_ipv4): Likewise. - (connected_add_ipv4): Change to use connected_up_ipv4. - (connected_delete_ipv4): Likewise. - -2000-11-06 Kunihiro Ishiguro - - * rt_netlink.c (netlink_interface_addr): Revert Harald Welte - 's ptop patch then back to original code to - avoid duplicated connected route problem. Suggested by Frank van - Maarseveen . - - * kernel_socket.c (rtm_read): Make behavior consistent even #ifdef - DEBUG is defined. Reported by Jun-ichiro itojun Hagino - . - -2000-10-23 Jochen Friedrich - - * main.c (main): Call zebra_snmp_init() when it is enabled. - -2000-10-23 Kunihiro Ishiguro - - * zserv.c (zebra_serv_un): UNIX domain socket server of zebra - protocol. - -2000-10-19 Kunihiro Ishiguro - - * rib.c (rib_add_ipv4): Same check bug is fixed. - -2000-10-03 Kunihiro Ishiguro - - * rib.c (rib_if_down): Remove kernel route when the interface goes - down. - - * debug.c: New command "debug zebra kernel" is added. - -2000-10-02 Kunihiro Ishiguro - - * zebra-0.89 is released. - -2000-09-24 Harald Welte - - * rt_netlink.c (netlink_interface_addr): Fix point-to-point address - treatment in netlink interface. - -2000-09-21 David Lipovkov - - * rib.c (rib_if_down): Pull static route only. Protocol daemon - must withdraw routes when interface goes down. - (rib_add_ipv4): Check nexthop when replace route. - -2000-09-21 Kunihiro Ishiguro - - * if_ioctl.c (if_getaddrs): New function for looking up - interface's address by getifaddrs(). - -2000-09-10 Kunihiro Ishiguro - - * connected.c (connected_delete_ipv4): Add check for connected - address is found or not. - (connected_add_ipv6): Reflect IPv6 connected address change to - protocol daemons. - (connected_delete_ipv6): Likewise. - -2000-09-07 David Lipovkov - - * rib.c (rib_delete_ipv4): Reverted the change from pseudo - interface patch to original. Because ospfd deletes routes using - zero ifindex. - -2000-08-17 Kunihiro Ishiguro - - * zebra-0.88 is released. - -2000-08-15 "Akihiro Mizutani" - - * rib.c (show_ip_route_protocol): Help string correction. - (show_ip_route_prefix): Check prefix mask. - (show_ip_route_vty_detail): Display distance and metric. - -2000-08-14 Kunihiro Ishiguro - - * zserv.c (zsend_interface_add): Change ifindex store size from - two octet to four. - (zsend_interface_delete): Likewise. - (zsend_interface_address_add): Likewise. - (zsend_interface_address_delete): Likewise. - (zsend_interface_up): Likewise. - (zsend_interface_down): Likewise. - -2000-08-13 Kunihiro Ishiguro - - * rib.c (rib_add_ipv4): Do not install distance 255 route. - -2000-08-10 Toshiaki Takada - - * interface.c (bandwidth_if), (no_bandwidth_if): Call - zebra_interface_up_update () instead of using if_up() and if_down(). - -2000-08-07 "Akihiro Mizutani" - - * interface.c (bandwidth_if): Fix help string. - -2000-08-07 Matthew Grant - - * interface.c (if_dump_vty): Display bandwidth value. - (bandwidth_if): New command "bandwidth <1-10000000>" is added. - When interface is up, force protocol daemons to recalculate routes - due to cost change. - (no_bandwidth_if): Likewise. - (if_config_write): Output bandwidth configuration. - - * zserv.c (zsend_interface_add): Send bandwidth value. - (zsend_interface_up): Likewise. - (zsend_interface_down): Likewise. - - -2000-08-07 Michael Rozhavsky - - * rib.c (show_ip_route_protocol): "show ip route - (bgp|connected|kernel|ospf|rip|static)" is added. - -2000-08-07 Kunihiro Ishiguro - - * rib.c (rib_lookup_ipv4_nexthop): Check parent node until IGP - nexthop is found. - (rib_add_ipv4_internal): Set fib ifindex to rib ifindex. - -2000-08-06 Kunihiro Ishiguro - - * redistribute.c (redistribute_delete): Fix bug of default route - redistribute treatment. - -2000-08-05 Kunihiro Ishiguro - - * rib.c (rib_init): Install ip_node in rib.c instead of zserv.c. - Change default distance value. - - Old New - ------------------------------------------ - system 10 0 - kernel 20 0 - connected 30 0 - static 40 1 - rip 50 120 - ripng 50 120 - ospf 60 110 - ospf6 49 110 - bgp 70 200(iBGP) 20(eBGP) - ------------------------------------------ - - * zserv.c (client_lookup): Function removed. - (zsend_interface_add): Use client's output buffer. Check ifinfo - flag. - (zsend_interface_delete): Likewise. - Delete ipv4_static_radix and ipv6_static_radix. - -2000-08-02 Kunihiro Ishiguro - - * zserv.h (struct zebra_client): When client request interface - information, ifinfo is set. - - * rib.c: Temporary Revert changes for pseudo interface. - - * rib.h: Likewise. - - * zserv.c: Likewise. - - * interface.c: Likewise. - -2000-08-02 David Lipovkov - - * interface.c (zebra_if_init): Install interface "pseudo" - commands. - - * rib.c (rib_create): ifname argument is added. - (rib_add_ipv4_pseudo): New function is added. - (rib_delete_ipv4_pseudo): Likewise. - - * rib.h : Delete INTERFACE_UNKNOWN definition. Add prototype for - pseudo interface functions. - - * rt_netlink.c (netlink_link_change): Check for pseudo interface. - - * zserv.c (ip_route): When destination is pseudo interface, call - rib_add_ipv4_pseudo(). - - * zserv.c (no_ip_route): Trim "unknown" argument. - -2000-07-26 kunitake@dti.ad.jp - - * if_ioctl.c (if_get_hwaddr): Fix hardware address length from 8 - to 6. - - * rtadv.c (rtadv_send_packet): Fix shift bug for hardware address. - -2000-07-24 Akihiro Mizutani - - * interface.c: Use install_default() for common VTY commands. - -2000-07-23 Kunihiro Ishiguro - - * if_ioctl.c (interface_list_ioctl): A interface list size is - calculated from ifreq->if_addr.sa_len. This is for OpenBSD. - - * ioctl.c (if_get_mtu): Remove codes for SIOCGIFDATA. - -2000-07-09 Chris Dunlop - - * if_ioctl.c (if_get_index): Add check for HAVE_BROKEN_ALIASES. - -2000-07-04 Kunihiro Ishiguro - - * zserv.c (zebra_client_read): Add ZEBRA_REDISTRIBUTE_{ADD,DELETE} - message handling. - -2000-07-02 David Lipovkov - - * zserv.c: "ip route A.B.C.D/M unknown" command is added. - -2000-06-28 Michael Rozhavsky - - * rib.c: Remove old kernel route when new route comes in. - -2000-06-13 David Lipovkov - - * rib.c (rib_if_up): Add check for unknown interface. - -2000-06-13 Kunihiro Ishiguro - - * rib.h: Define INTERFACE_UNKNOWN. - -2000-06-08 Kunihiro Ishiguro - - * Makefile.am (EXTRA_DIST): Move irdp.c until implementation is - finished. - -2000-06-05 David Lipovkov - - * interface.c (if_zebra_delete_hook): Call rib_if_delete(). - - * redistribute.c (zebra_interface_delete_update): New function. - - * redistribute.h (zebra_interface_delete_update): New function - prototype. - - * rib.c (rib_if_delete): New function. Walk down all routes and - delete all on the interface. - - * rib.h: New function prototype. - - * rt_netlink.c (netlink_link_change): Call - zebra_interface_delete_update (). - -2000-05-10 Kunihiro Ishiguro - - * if_ioctl.c (interface_info_ioctl): Check interface's flag before - checking interface's address. - -2000-04-26 Jochen Friedrich - - * GNOME-PRODUCT-ZEBRA-MIB: New file. - - * GNOME-SMI: New file. - -2000-04-23 Kunihiro Ishiguro - - * irdp.c: New file from 1997 development code. - * irdp.h: Likewise. - -2000-04-19 Kunihiro Ishiguro - - * rtadv.c (rtadv_send_packet): Enclose router advertisement - logging with IS_ZEBRA_DEBUG_PACKET. - -2000-04-17 Kunihiro Ishiguro - - * zserv.c (zebra_client_close): Remove client structure from - client_list when connection is terminated. - -2000-03-21 David Lipovkov - - * connected.c (connected_add_ipv4): Allows all necessary structure - updates for connected route, but doesn't insert it into rib if - it's interface is down. - -2000-01-21 Hideto Yamakawa - - * rtread_getmsg.c: Set some definition for Solaris 2.5 and Solaris - 2.5.1. - -2000-01-21 Kunihiro Ishiguro - - * rib.c (no_ipv6_route_ifname): Fix buf of cheking return value - from str2prefix_ipv6(). - -2000-01-14 Kunihiro Ishiguro - - * rt_socket.c: Revert to use RTF_HOST for IPv4 with /32 route and - IPv6 with /128 routes. - (kernel_rtm_ipv4): In case of /32 route's gateway is interface. It - should have mask for cloning. - -1999-12-26 Jochen.Friedrich@genorz.de - - * interface.c (if_dump_vty): Fix a bug of missing VTY_NEWLINE. - -1999-12-23 Alex Zinin - * interface.*: dynamic int up/down support - -1999-12-09 Kunihiro Ishiguro - - * ipforward_proc.c (dropline): Move dropline() from lib/dropline.c - - * rtread_proc.c (proc_route_read): Don't use dropline(). - -1999-12-08 Kunihiro Ishiguro - - * kernel_socket.c (rtm_read): When message is RTM_GET, it has own - process's pid. - -1999-12-04 Kunihiro Ishiguro - - * main.c (main): Change to default log output to ZLOG_STDOUT. - - * zserv.c (zebra_serv): More detailed error print. - -1999-11-30 Kunihiro Ishiguro - - * kernel_socket.c (rtm_read): Check old pid for static route - insertion check. - -1999-11-30 Kunihiro Ishiguro - - * interface.c (if_dump_vty): BSDI/OS uses 64bit for interface - statistics counter. - - * mtu_kvm.c: New file added. - -1999-11-27 Vladimir B. Grebenschikov - - * kernel_socket.c (rtm_write): Set RTF_CLONING flag for - route to the directly connected interface. - -1999-11-27 Kunihiro Ishiguro - - * rt_socket.c: Delete USE_HOST_BIT definition. - -1999-11-21 Michael Handler - - * rtread_getmsg.c: Undef some definition to resolve conflict. - -1999-11-27 Kunihiro Ishiguro - - * kernel_socket.c (rtm_write): Change to use pre stored struct_dl - value for gateway specification. - -1999-11-25 Kunihiro Ishiguro - - * rt_socket.c (kernel_rtm_ipv4): Even mask is 32 under IPv4 or - 128 under IPv6, don't use RTF_HOST. - -1999-11-21 Kunihiro Ishiguro - - * Makefile.am (EXTRA_DIST): Add rtread_getmsg.c. - -1999-11-21 Michael Handler - - * rtread_getmsg.c: Added for Solaris 2.6 support. - -1999-11-18 Kunihiro Ishiguro - - * rtread_sysctl.c (rtm_read_route): RTM_DELETE handling added. - - * rt_socket.c (kernel_read): Better BSD routing socket support. - -1999-10-19 Kunihiro Ishiguro - - * client_main.c: Disable making obsolete zebra test `client' - command. - -1999-10-18 Kunihiro Ishiguro - - * zebra.c: Renamed to zserv.c. - - * zebra.h: Global definitions are moved to lib/zebra.h. Then - renamed to zserv.h. - -1999-10-15 Jordan Mendelson - - * if_ioctl.c: Add Linux 2.2.X's alias support and dynamic - interface. Remove ugly MAX_INTERFACE handling codes. - -1999-09-17 Satosi KOBAYASI - - * Fix serious bug of IPv6 route deletion. - -1999-09-11 Kunihiro Ishiguro - - * ioctl.c (if_set_prefix): Properly set broadcast address. - -1999-09-04 Yasuhiro Ohara - - * rib.c (rib_add_ipv6, rib_delete_ipv6): now protocol daemons - can install connected route to kernel via zebra - -1999-08-24 VOP - - * rib.c: Include "sockunion.h" - -1999-08-22 Kunihiro Ishiguro - - * ipforward.h: New file. - - * zebra.h: Obsolete message ZEBRA_GET_ALL_INTERFACE, - ZEBRA_GET_ONE_INTERFACE, ZEBRA_GET_HOSTINFO are deleted. - -1999-08-18 Kunihiro Ishiguro - - * zebra.h (ZEBRA_INTERFACE_ADDRESS_ADD): - ZEBRA_INTERFACE_{ADD,DELETE} added. - -1999-08-15 Kunihiro Ishiguro - - * rib.c: show ip route A.B.C.D works. - - * zebra.c (zebra_read_ipv4): Add ifindex to zebra messages. - -1999-08-12 Kunihiro Ishiguro - - * zebra.h: New Zebra message ZEBRA_INTERFACE_{ADD,DELETE} added. - -1999-08-09 Kunihiro Ishiguro - - * interface.h: New file. - * Makefile.am: Add interface.h - -1999-08-04 Yasuhiro Ohara - - * redistribute.c (zebra_redistribute): give ifindex to client. - -1999-08-02 Kunihiro Ishiguro - - * main.c (longopts): -k, --keep_kernel option added. - -1999-07-18 Yasuhiro Ohara - - * rt_socket.c (rtm_write): forgot closing socket bug fixed. - -1999-07-17 Yasuhiro Ohara - - * rib.c (show_ipv6_cmd): if rib is link show interface name. - -1999-07-17 Yasuhiro Ohara - - * rt_socket.c (rtm_write): use sockaddr_dl when null gateway. - -1999-07-16 Yasuhiro Ohara - - * rt_socket.c (rtm_write): ipv6 route table bug fixed. - -1999-07-15 Yasuhiro Ohara - - * zebra.c (zebra_read_ipv6): read link prefix from ospf6 support - -1999-07-15 Yasuhiro Ohara - - * rt_socket.c (kernel_rtm_ipv6): gate treatment bug fixed. - -1999-07-15 Kunihiro Ishiguro - - * if_sysctl.c (ifm_read): Clear sockunion argument before fetching - data. Suggested by "Chris P. Ross" - -1999-07-08 HEO SeonMeyong - - * interface.c (if_tun_add): Add KAME's gif tunnel setting codes. - -1999-06-26 Kunihiro Ishiguro - - * zebra.c (zebra_serv): Only accept loopback address connection. - -1999-06-25 Kunihiro Ishiguro - - * zebra.h (ZEBRA_ROUTE_EXTERNAL): Add zebra messages flags - -1999-06-17 Kunihiro Ishiguro - - * ipforward_proc.c: ipforward_on () and ipforward_off () added. - -1999-06-14 Kunihiro Ishiguro - - * ipforward_proc.c (ipforward_ipv6): Check for IPv6 forwarding - using /proc file system is added. - -1999-06-06 Kunihiro Ishiguro - - * if_ioctl.c (if_get_index): Interface index set bug is fixed by - adding #else at the middle of function. Suggested by David Luyer - . - -1999-05-29 - - * rt_ioctl.c: Comment out #include . - -1999-05-26 Kunihiro Ishiguro - - * zebra.h (ZEBRA_ROUTE_MAX): Add new define for the max value of - the sort of routes. - -1999-05-25 Patrick Koppen - - * rt_netlink.c (netlink_socket): Make netlink socket non-blocking. - (netlink_parse_info): If errno is EWOULDBLOCK then continue to - parse the message. - (netlink_talk): Likewise - -1999-05-17 - - * redistribute.c (zebra_check_addr): Added for loopback address - check. - -1999-05-15 Kunihiro Ishiguro - - * rt_netlink.c (netlink_route_change): Tempolary bypass ipv6 route - change treatment. - - * Makefile.am (noinst_HEADERS): redistribute.h added. - - * redistribute.h: New file. - -1999-05-14 Stephen R. van den Berg - - * zebra.c (show_table): Show all table configuration DEFUN. - (config_table): Config table number DEFUN. - - * rt_netlink.c: Add support for multiple routing table. - - * rib.c (rib_weed_table): New function added for delete all - routes from specified routing table. - - * main.c (signal_init): SIGTERM call sigint. - (sigint): Loggging more better message. - -1999-05-09 Kunihiro Ishiguro - - * rt_netlink.c: Change log () to zlog (). - -1999-05-07 - - * zebra.h (ZEBRA_ROUTE_OSPF6): Added for ospf6d route. - -1999-04-20 Kunihiro Ishiguro - - * interface.c: Add `no ip address' command. - -1999-04-10 Kunihiro Ishiguro - - * rt_netlink.c (kernel_read): Function added for asynchronous - zebra between kernel communication. - -1999-03-25 Kunihiro Ishiguro - - * rtread_sysctl.c (rtm_read): Fix address memcopy overrun bug. - Reported by Achim Patzner . - -1999-03-03 Kunihiro Ishiguro - - * Makefile.am: Install configuration sample with 600 permission. - -1999-03-02 Kunihiro Ishiguro - - * Makefile.am: Add -I.. to INCLUDES. - -1999-02-18 Peter Galbavy - - * syslog support added - -1999-02-17 Peter Galbavy - - * if_sysctl.c (interface_list): allocated memory free when unknown - ifm_type is returned. - - * ioctl.c (if_get_mtu): added SIOCGIFDATA treatment. - -1998-12-15 Magnus Ahltorp - - * interface.c: Header include added. - -1998-12-14 Kunihiro Ishiguro - - * rt.h (kernel_delete_ipv6): change int index to unsigned int index. - -1998-12-13 Kunihiro Ishiguro - - * if_ioctl.c (interface_list_ioctl): interface flag must be - checked before check addresses of the interface. - -1998-12-07 Kunihiro Ishiguro - - * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6. - -1998-10-14 Kunihiro Ishiguro - - * ioctl.c: Linux version before 2.1.0 need interface route setup. - -1998-09-15 HEO SeonMeyong - - * change HYDRANGEA to KAME - -1998-09-01 Kunihiro Ishiguro - - * if_ioctl.c (if_addr_ioctl): set address family for getting - interface's address. - (if_get_index): silently return when can't get interface's index. - -1998-08-17 Kunihiro Ishiguro - - * main.c (main): batch mode option '-b' added. - -1998-08-16 Kunihiro Ishiguro - - * ioctl.c (if_set_prefix): add `ip address IPV4ADDR' command. - * interface.c (shutdown_if): add interface shutdown and no - shutdown command. - -1998-08-12 Kunihiro Ishiguro - - * rib.c (rib_add_ipv6): delete rib_add_in6. - -1998-07-27 Kunihiro Ishiguro - - * main.c: retain flag is added. - -1998-07-08 Kunihiro Ishiguro - - * rtable.[ch]: merged with rib.[ch] - -1998-07-07 Kunihiro Ishiguro - - * connected.h: renamed from ifa.h. - -1998-06-09 Kunihiro Ishiguro - - * rename if.c to interface.c - * rename ifa.c to connected.c - - * Porting to Debian GNU/Linux 2.0 (hamm). - -1998-06-08 Kunihiro Ishiguro - - * rt_netlink.c: renamed from krt_netlink.c - - * fib.c: deleted. - * rt_kvm.c: deleted. - * rtread_getmsg.c: deleted. - -1998-06-07 Kunihiro Ishiguro - - * if.c (multicast): add multicast flag [un]set fucntion. - -1998-05-19 Yamshita TAKAO - - * rt_socket.c: Modify for compile on Solaris, but dont't work it. - rt_socket.c have some undefined function, so add directive "IMPLEMENT" - -1998-05-18 Yamshita TAKAO - - * zebra.c: Modify for compile on Solaris. - -1998-05-03 Kunihiro Ishiguro - - * main.c: change CONFDIR to SYSCONFDIR. - -1998-05-01 Kunihiro Ishiguro - - * .cvsignore: added. - -1998-04-02 Kunihiro Ishiguro - - * client.c: moves to ../lib. - -1998-03-30 Kunihiro Ishiguro - - * if_ioctl.c (if_get_addr): Change address copy from memcopy() to - structure assignment. - -1998-03-30 URA Hiroshi - - * if_sysctl.c (ifm_interface_add): sdl->sdl_data copy bug fixed. - -1998-02-23 "Hannes R. Boehm" - - * if.c (if_init): add config_exit_cmd and config_help_cmd. - -1998-01-24 Kunihiro Ishiguro - - * rt_ioctl.c (route_ioctl): EPERM treatment added. - -1998-01-05 Kunihiro Ishiguro - - * rt_socket.c (kernel_read): communication port zebra between - kernel is now handled by kernel_read. - -1998-01-02 Kunihiro Ishiguro - - * main.c (main): zebra [-P port] can specify vty port number. - -1997-12-25 Kunihiro Ishiguro - - * zebra.c: change select will be block. - -1997-12-04 Kunihiro Ishiguro - - * add static route treatment. - -1997-11-25 Kunihiro Ishiguro - - * rt_netlink.c: add netlink support over GNU/Linux system. - -1997-11-23 Kunihiro Ishiguro - - * all inet_addr is changed to inet_aton. - - * zebra.c (ip_route): add ip route command for static routes. - -1997-11-20 Kunihiro Ishiguro - - * if.c (if_flag_dump): Linux port of if_flag_dump and _vty. - -1997-11-19 Kunihiro Ishiguro - - * if.c: add interface command. - -1997-11-18 Kunihiro Ishiguro - - * ipforward_proc.c : Now works on Linux. - -1997-10-25 Kunihiro Ishiguro - - * command.c : add completion feature. - -1997-10-18 Kunihiro Ishiguro - - * vty.c (vty_command): add vty interface. - -1997-10-13 Kunihiro Ishiguro - - * zebra.c: add verbose mode. - -1997-10-12 SonMyong Ho - - * Hydrangea for FreeBSD supported - * in.h: add some prototype. - -1997-10-11 Kunihiro Ishiguro - - * rt_socket.c and rtread.c completely rewritten. - -1997-10-05 Kunihiro Ishiguro - - * rt_socket.c: rename kernel_sock to routing_socket - -1997-10-04 Kunihiro Ishiguro - - * if.c (if_new): interface structure change from linklist to vector. - -1997-10-03 Kunihiro Ishiguro - - * vector.c (vector_init): create vector related function - -1997-09-25 Kunihiro Ishiguro - - * Makefile.in: add tags target - - * start IPv6 support for INRIA FreeBSD. - -- cgit v1.2.1