diff options
| author | Paul Jakma <paul.jakma@sun.com> | 2008-08-19 14:13:43 +0100 | 
|---|---|---|
| committer | Paul Jakma <paul@quagga.net> | 2008-08-22 19:57:22 +0100 | 
| commit | 3998bfd76620a676fbd77f19c5c6ea80a4cc88d2 (patch) | |
| tree | 66bf93340e55bb06b25544ef04afec3749269391 | |
| parent | e5248434c0d287668be956a2bd52399d67b16c39 (diff) | |
[trivia] Remove ChangeLog files, as this data is now maintained in SCM
| -rw-r--r-- | ChangeLog | 1990 | ||||
| -rw-r--r-- | bgpd/ChangeLog | 3992 | ||||
| -rw-r--r-- | doc/ChangeLog | 510 | ||||
| -rw-r--r-- | guile/ChangeLog | 26 | ||||
| -rw-r--r-- | isisd/ChangeLog | 600 | ||||
| -rw-r--r-- | lib/ChangeLog | 4270 | ||||
| -rw-r--r-- | m4/ChangeLog | 16 | ||||
| -rw-r--r-- | ospf6d/ChangeLog | 1199 | ||||
| -rw-r--r-- | ospfclient/ChangeLog | 71 | ||||
| -rw-r--r-- | ospfd/ChangeLog | 4984 | ||||
| -rw-r--r-- | pkgsrc/ChangeLog | 15 | ||||
| -rw-r--r-- | ripd/ChangeLog | 1217 | ||||
| -rw-r--r-- | ripngd/ChangeLog | 388 | ||||
| -rw-r--r-- | solaris/ChangeLog | 164 | ||||
| -rw-r--r-- | tests/ChangeLog | 160 | ||||
| -rw-r--r-- | vtysh/ChangeLog | 500 | ||||
| -rw-r--r-- | watchquagga/ChangeLog | 59 | ||||
| -rw-r--r-- | zebra/ChangeLog | 2712 | 
18 files changed, 0 insertions, 22873 deletions
diff --git a/ChangeLog b/ChangeLog deleted file mode 100644 index cf5c774d75..0000000000 --- a/ChangeLog +++ /dev/null @@ -1,1990 +0,0 @@ -2008-07-22 Paul Jakma <paul.jakma@sun.com> - -	* HACKING: Document preference for compiler conditional code, over -	  cpp conditional. -	* configure.ac: DISABLE_BGP_ANNOUNCE always should be defined. - -2008-06-10 Paul Jakma <paul@jakma.org> - -	* configure.ac: Bump version to 0.99.10 - -2008-05-29 Martin Nagy <mnagy@redhat.com> - -	* */*main.c: Sanity check port numbers before using. - -2008-01-30 Peter Szilagyi <sp615@hszk.bme.hu> - -	* 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 <if@xip.at> - -	* configure.ac: Improve HAVE_BSD_LINK_DETECT test. - -2008-01-10 Ingo Flaschberger <if@xip.at> - -	* configure.ac: Define HAVE_BSD_LINK_DETECT if <net/if_media.h> is -	  present. - -2007-10-14 Paul Jakma <paul.jakma@sun.com> - -	* NEWS: Note that MRT dumps are now version 2 - -2007-09-07 Paul Jakma <paul.jakma@sun.com> - -	* configure.ac: Bump version to 0.99.9 - -2007-08-07 James Carlson <james.d.carlson@sun.com> - -	* configure.ac: Added support for separate link-layer access -	  mechanisms in isisd. - -2007-07-27 Paul Jakma <paul.jakma@sun.com> - -	* configure.ac: Bump version to 0.99.8 - -2007-06-25 Hasso Tepper <hasso@quagga.net> - -	* configure.ac: Fix typo so it compiles again on BSD systems. - -2007-06-22 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* configure.ac: Change gcc CFLAGS from '-std=c99' to '-std=gnu99' -	  to improve portability. - -2007-04-29 Paul Jakma <paul.jakma@sun.com> - -	* configure.ac: Bump to 0.99.7 - -2007-04-16  David Young  <dyoung@pobox.com> - -        * 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  <Greg Troxel <gdt@ir.bbn.com>> - -	* 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  <Greg Troxel <gdt@ir.bbn.com> - -	* bootstrap.sh: use -i to install missing files - -2007-02-03  Greg Troxel  <Greg Troxel <gdt@ir.bbn.com> - -	* configure.ac: add AC_PROG_SED - -2007-02-02  Greg Troxel  <Greg Troxel <gdt@ir.bbn.com> - -	* 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 <paul.jakma@sun.com> - -	* configure.ac: Bump to 0.99.6 - -2006-10-04 Oliver Hookins <ohookins@gmail.com> - -	* 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 <astergiakis@antcor.com> - -	* 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 <paul.jakma@sun.com> - -	* configure.ac: Bump to 0.99.5 - -2006-06-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* redhat/quagga.spec.in: Get default distro automatically -	  by using rpm to query the fedora-release version. -	  And fix a typo (should be default_dist, not dist_default). - -2006-05-28 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* configure.ac: Bump to 0.99.4 - -2006-03-30 Paul Jakma <paul.jakma@sun.com> - -	* TODO: Add reminder for useful MED functionality we should -	  implement. - -2006-02-15 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* configure.ac: Bump to 0.99.3 - -2005-11-26 Paul Jakma <paul.jakma@sun.com> - -	* configure.ac: Collect together CFLAGS based on compiler -	  detected a bit. Recognise and set default CFLAGS for SunPro / -	  SOS10. - -2005-11-14 Paul Jakma <paul.jakma@sun.com> - -	* configure.ac: Tell gcc we like C99. -	  [bug #231] Check and test for stdint.h. - -2005-11-11 Paul Jakma <paul.jakma@sun.com> - -	* NEWS: Update. -	* configure.ac: Bump to 0.99.2 - -2005-11-10 Paul Jakma <paul.jakma@sun.com> - -	* HACKING: Add recommendation to provide a single Subject -	  style description to the commit message. -	  Add some recommendations for ChangeLog. - -2005-09-29 Paul Jakma <paul.jakma@sun.com> - -	* 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 <hasso at quagga.net> - -	* configure.ac: Test existance of strndup. - -2005-08-25 Paul Jakma <paul@jakma.org> - -	* 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 <hasso at quagga.net> - -	* configure.ac, vtysh/Makefile.am: Only vtysh needs to be linked -	  against libreadline and friends. - -2005-08-13 Paul Jakma <paul@jakma.org> - -	* 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  <gdt@fnord.ir.bbn.com> - -	* 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 <louis.lagendijk@gmail.com> - -	* configure.ac: Actually test whether libc has IPv6 support. - -2005-06-28 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* NEWS: bgpd work queues and ripd auth-mode change - -2005-05-07 Yar Tikhiy <yar@comp.chem.msu.su> - -	* configure.ac: Check for OSes which support passing ifindex in -	  struct ip_mreq. - -2005-04-29 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* configure.ac: check for gawk, needed to build memtypes.h - -2005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* configure.ac: Fix host string recognition for Solaris Nevada aka -	  solaris2.10.1, and hopefully future such strings. - -2005-04-07 Paul Jakma <paul.jakma@sun.com> - -	* (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 <paul@dishone.st> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* configure.ac: Use AC_RUN_IFELSE instead of obsolete AC_TRY_RUN macro -	  and define action for cross-compiling. - -2005-04-02 Hasso Tepper <hasso at quagga.net> - -	* configure.ac: Add --enable-isis-topology to enable isisd topology -	  generator code. - -2005-04-02 Paul Jakma <paul@dishone.st> - -	* INSTALL.quagga.txt: Add note about additional CVS build -	  requirements, if one wishes to build ps/pdf docs. - -2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* configure.ac: Add strnlen to AC_CHECK_FUNCS. - -2005-03-28 Hasso Tepper <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* doc/defines.texi.in, lib/version.h.in: Update copyright string to -	  include year 2005.  - -2005-03-25 Jean-Mickael Guerin <jean-mickael.guerin@6wind.com> -	* configure.ac: add struct nd_opt_interval and struct -	  nd_opt_homeagent_info detection. - -2005-03-14 Paul Jakma <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* configure.ac: Solaris 8 can use the newer lifreq based methods -	  too, allows IPv6. - -2005-02-19 Hasso Tepper <hasso at quagga.net> - -	* configure.ac: Fix Linux detection. Host types like i686-pc-linux -	  didn't match the pattern. - -2005-02-09 Paul Jakma <paul.jakma@sun.com> - -	* (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 <paul@dishone.st> - -	* configure.ac: Bump version to 0.99.0 - -2005-01-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* configure.ac: Test for header file <ucontext.h> (for use in -	  signal processing). - -2005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul@dishone.st> - -	* configure.ac: Bump version to 0.98.0 - -2005-01-05 Paul Jakma <paul@dishone.st> - -	* configure.ac: Bump version to 0.97.5 - -2005-01-04  Greg Troxel  <gdt@fnord.ir.bbn.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* NEWS: Note improved logging facilities. - -2004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* configure.ac: Add new option --enable-gcc-rdynamic to link -	  with -rdynamic. - -2004-12-23 Paul Jakma <paul@dishone.st> - -	configure.ac: Bump version to 0.97.4 - -2004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* redhat/quagga.spec.in: daemonv6_list should contain only IPv6 daemons. - -2004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* redhat/quagga.sysconfig: Define some variables to support watchquagga. - -2004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* configure.ac: Add a define for DAEMON_VTY_DIR in config.h. - -2004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* {configure.ac,Makefile.am}: Build watchquagga by default. - -2004-12-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* NEWS: Note addition of watchquagga. -	* HACKING: Note that watchquagga is in testing phase. - -2004-12-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* watchquagga: New watchquagga daemon. - -2004-12-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* redhat/Makefile.am: Added watchquagga.init to EXTRA_DIST. - -2004-12-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* redhat/watchquagga.init: New file, init script for watchquagga. - -2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* HACKING: Indicate that header files should be consulted for -	  documentation, particularly logging levels in lib/log.h. - -2004-11-24 Paul Jakma <paul@dishone.st> - -	* TODO: Add source routing, zebra filtering and lib/ documenting. - -2004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* configure.ac: Avoid regeneration of doc/quagga.info for now. - -2004-11-17 Paul Jakma <paul@dishone.st> - -	* INSTALL.quagga.txt: texinfo version corrected, so section on -          that 4.7-x being unknown is not needed. - -2004-11-12 Paul Jakma <paul@dishone.st> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* redhat/quagga.spec.in: add comments showing how to get gcc verbosity - -2004-11-08 Paul Jakma <paul@dishone.st> - -	* configure.ac: bump version to 0.97.3, release imminent. - -2004-11-06 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* configure.ac: bump version to 0.97.2, release imminent. - -2004-10-22 Paul Jakma <paul@dishone.st> - -	* 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 <aschorr@telemetry-investments.com> - -	* 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 <paul@dishone.st> - -	* bump version to 0.97.1, release imminent. - -2004-10-07 Paul Jakma <paul@dishone.st> - -	* bump version to 0.97.0, release imminent. - -2004-10-07  Greg Troxel  <gdt@sunpal7.mit.edu> - -	* configure.ac: remove -Wpacked; 2.95.3 doesn't support it.	 - -2004-10-05 Hasso Tepper <hasso at quagga.net> - -	* configure.ac: Removed -Wpadded. I don't have sooo much time that I -	  could care about padding ;). - -2004-09-30 Paul Jakma <paul@dishone.st> - -	* Update default CFLAGS for gcc to keep Hasso busy. - -2004-09-27 Paul Jakma <paul@dishone.st> - -	* 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  <hasso at quagga.net> - -	* configure.ac: Disable isisd compiling by default. - -2004-09-13 Paul Jakma <paul@dishone.st> - -	* configure.ac: capitalise the package name. autoconf lowercases -          it for PACKAGE_TARNAME. - -2004-09-13 Jose Luis Rubio <jrubio@dit.upm.es> -           (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  <gdt@poblano.ir.bbn.com> - -	* Makefile.am: make m4 as subdir, rather the EXTRA_DISTing it - -	* configure.ac: add m4/Makefile to output list - -2004-08-31  Greg Troxel  <gdt@poblano.ir.bbn.com> -	 -	* 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 <paul@dishone.st> - -	* 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  <gdt@fnord.ir.bbn.com> - -	* update-autotools: print tools versions to aid people in sending -	bug reports. - -2004-07-23  Greg Troxel  <gdt@poblano.ir.bbn.com> - -	* */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 <paul@dishone.st> - -	* configure.ac: modify default CFLAGS to be compiler agnostic -	  build Makefile for tests/ subdir. -	   -2004-07-14  Greg Troxel  <gdt@poblano.ir.bbn.com> - -	* Makefile.am (EXTRA_DIST): Add missing \, so tools stuff is -	really in distfile. - -2004-06-30  Greg Troxel  <gdt@poblano.ir.bbn.com> - -	* */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  <gdt@poblano.ir.bbn.com> - -	* 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  <gdt@poblano.ir.bbn.com> -	 -	* 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  <gdt@poblano.ir.bbn.com> - -	* update-autotools: Use -rf on autom4te.cache. - -2004-06-20 Hasso Tepper <hasso@estpak.ee> - -	* 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 <paul@dishone.st> - -	* configure.ac: Add solaris support for the zebra/*_solaris  -	  method's, based on Sowmini's patches. - -2004-04-08 Paul Jakma <paul@dishone.st> - -	* 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 <hasso@estpak.ee> -	 -	* 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 <hasso@estpak.ee> - -	* Readded SIGTERM handling so daemons can clean up their stuff if they -	  are killed (not murdered). - -2004-03-20 Michael Bruening <mike@vailsys.com> - -	* 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 <lethalwp@tiscali.be> -	 -	* zebra/main.c, ripd/rip_main.c: Fix typos sigusr1 -> sigint, -	  bugzilla #82. - -2004-03-16 David Young <dyoung@pobox.com> - -	* (many) reference <lib/version.h> 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 <pc@superiorcomm.net> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* Makefile.am: redhat/ is a dist subdir too. -	 -2004-01-10 Vincent Jardin <jardin@6wind.com> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <jardin@6wind.com> - -	* isisd: Import isisd from Sampo Saaristo's source code. - -2003-12-22 Christian Hammers <ch@lathspell.de> - -	* 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 <hasso@estpak.ee> - -	* lib/linklist.c: Revert microfix I commited while reverting  -	  [quagga-dev 227]. Caused by misreading code. - -2003-12-21 Hasso Tepper <hasso@estpak.ee> - -	* 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  <gdt@fnord.ir.bbn.com> - -	* {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  <gdt@poblano.ir.bbn.com> - -	* configure.ac: When setting exampledir to sysconfdir as a -	default, don't quote ${sysconfdir}.  (Bug reported by Vincent -	Jardin.) - -2003-12-03  Greg Troxel  <gdt@poblano.ir.bbn.com> - -	* 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  <gdt@poblano.ir.bbn.com> - -	* 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  <gdt@poblano.ir.bbn.com> - -	* 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 <paul@dishone.st> - -        * 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 <oleq@ans.pl> - -        * 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 <paul@dishone.st> - -        * configure.ac: netinet/in_systm.h is yet another well-known -          header file we really should be checking for - -2003-10-27 kamatchi soundaram <kamatchi@tdd.sj.nec.com> - -        * 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 <paul@dishone.st> - -        * lib/if.{ch}: remove ifc_pointtopoint() - left over from the -          reverted RFC3021 patch. - -2003-10-27 Simon <lists@routemeister.net> - -        * ospfd/ospfd.c: if_is_pointopoint() takes (struct interface *), was -          being called with struct connected. Change to co->ifp. - -2003-10-27 Gilad Arnold <gilad.arnold@terayon.com> - -        * 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 <jrubio@dit.upm.es> - -        * 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 <paul@dishone.st> - -        * 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 <paul@dishone.st> - -        * 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 <paul@dishone.st> - -        * 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 <paul@dishone.st> - -        * 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 <paul@dishone.st> - -        * lib/regex.c: bzero -> memset -        * zebra/ioctl.c: ditto. bzero is not portable. - -2003-10-22 Paul Jakma <paul@dishone.st> - -        * 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 <paul@dishone.st> - -        * 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 <lorenzo@ripe.net> - -        * 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 <lorenzo@ripe.net> - -        * 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 <paul@dishone.st> - -        * 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 <fenlason@redhat.com> - -        * 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 <paul@dishone.st> - -        * 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 <fenlason@redhat.com> - -        * 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 <doug+quagga@idmf.net> - -        * zebra/connected.c: PtP revert fixup. Zebra was not creating -        connected route for PtP peer. - -2003-10-07 Tarhon-Onu Victor <mituc@iasi.rdsnet.ro> - -        * zebra/ipforward_proc.c: (ipforward) Close the fd for -        /proc/net/snmp. See [quagga-dev 284] - -2003-09-29 Gilad Arnold <gilad.arnold@terayon.com> - -        * 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 <paul@dishone.st> - -        * 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 <fenlason@redhat.com> - -        * 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 <paul@dishone.st> - -        * 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 <thomas.giger@tgc.de> - -        * 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* Sync to Zebra CVS - -2003-03-17 Amir Guindehi <amir@datacore.ch> - -	* Extended SNMP checks in configure.ac so that net-snmp works - -2003-03-17 Amir Guindehi <amir@datacore.ch> -           Ralph Keller <keller@tik.ee.ethz.ch> -	* merge OSPF-API  - -2003-02-07 Paul Jakma <paul@dishone.st> - -	* Sync to zebra CVS - -2003-02-03 Paul Jakma <paul@dishone.st> - -	* Sync to zebra CVS - -2003-01-19 Paul Jakma <paul@dishone.st> - -	* Temporary fix for Generic PtP wrt to IPv6 - -2003-01-17 Paul Jakma <paul@dishone.st> - -	* Sync up to latest zebra.org CVS -	* [zebra 16823] Bugfix and new feature in Opaque-LSA handling -	  Masahiko Endo <endo@suri.co.jp> -	* [zebra 16824] [PATCH] nsm_kill_neighbor  -	  Masahiko Endo <endo@suri.co.jp> -	* [zebra 17217] [PATCH] show thread CPU -	  Yon Uriarte <havanna_moon@gmx.net> -	* [zebra 17218] Re: [PATCH] CLI extensions. -	  Yon Uriarte <havanna_moon@gmx.net> - -2002-12-13 Paul Jakma <paul@dishone.st> - -	* 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 <michal@logix.cz>: -	  [zebra 16525] PATCH: Bugfixes for KAME systems -	* Kevin C Miller <kevinm@andrew.cmu.edu> -	  [zebra 16681] OSPF NSSA Patches -	* Yon Uriarte <havanna_moon@gmx.net> -	  [zebra 16671] [PATCH] CLI extensions -	* Masahiko Endo: [zebra 15475] - MPLS-TE docs - -2002-07-07  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.93 released. - -2002-06-28  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* update-autotools: Change file name from update-auto-tools.sh. - -2002-06-21  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* update-auto-tools.sh: Add a new script to clean up build -	environment. - -2002-06-18  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* Shift to the latest build environment autoconf-2.53 and -	automake-1.6.2. - -2001-10-22  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* Integrate Glen Turner <glen.turner@aarnet.edu.au>'s pid option. - -2001-08-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.92a released. - -2001-08-19  "Peter Galbavy" <peter.galbavy@knowtion.net> - -	* configure.in: SNMP library check problem fix when the library is -	installed under /usr/local/lib. - -2001-08-15  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.92 released. - -2001-04-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* configure.in: Use AC_TRY_COMPILE instead of AC_EGREP_HEADER to -	detect in_pktinfo structure.  Suggested by: Vlad Lungu -	<vlad@rls.roknet.ro>. - -2001-03-07  Michael Rozhavsky <mrozhavsky@opticalaccess.com> - -	* configure.in: Add check for structure in_pktinfo. - -2001-02-07  "Bjoern A. Zeeb" <bzeeb+zebra@zabbadoz.net> - -	* configure.in (USE_PAM): Fix PAM library detection code. - -2001-02-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.91 is released. - -2001-01-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Remove guile related definition. - -2001-01-11  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in (ac_cv_htonl_works): HAVE_REPAIRABLE_HTONL is -	removed.  htonl should work fine on any platform. - -2001-01-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* Makefile.am: Include init/redhat files to distribution. - -2001-01-07  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* configure.in: check libm.a for BGPd compile error. -	AC_CHECK_LIB(m, main) was added. - -2000-12-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* configure.in (MULTIPATH_NUM): --enable-multipath=ARG specify -	multipath number.  ARG must be digit. - -2000-12-11  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Add --enable-newrib for test new RIB code. - -2000-11-25  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* configure.in, config.h.in: Add check for libutil.h and -	setproctitle(). - -2000-10-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Add --enable-nssa for OSPF NSSA option. - -	* acconfig.h: Define HAVE_NSSA. - -2000-10-25  "Bjoern A. Zeeb" <bzeeb+zebra@zabbadoz.net> - -	* configure.in: pam_misc is only linked when the platform is -	GNU/Linux. - -2000-10-24  Arkadiusz Miskiewicz <misiek@pld.org.pl> - -	* configure.in (LIBS): Add check for crypto library.  test x`ls -	${ac_snmp}` is replaced with sipmle test -f. - -2000-10-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Add --enable-unixdomain option.  This will be -	default behavior in zebra-0.90. - -2000-10-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.89 is released. - -2000-09-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Add check for Intel CPU for Solaris on x86 check. - -2000-09-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Add check for getifaddrs(). -	Set AM_INIT_AUTOMAKE version to 0.89. - -2000-09-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* config.guess: Update to the latest version. - -	* config.sub: Likewise - -2000-09-14  David Lipovkov <dlipovkov@OpticalAccess.com> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* zebra-0.88 is released. - -	* configure.in: Add Solaris -lcurses for vtysh. - -2000-08-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Add check for ncurses for compiling on Solaris. - -2000-07-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Add check for libreadline when --enable-vtysh is -	specified. - -2000-07-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Add AC_DEFINE(OPEN_BSD). When OS is OpenBSD -	interface method is if_ioctl.o - -2000-07-09  Chris Dunlop <chris@onthe.net.au> - -	* acconfig.h: Add HAVE_BROKEN_ALIASES. -	 -	* configure.in: Add --enable-broken-aliases. - -2000-06-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Set version to zebra-0.87. - -2000-06-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* Set version to 0.86. - -2000-03-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Set version to 0.85b for ospfd test. - -2000-03-20  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Set version to 0.85a for ospfd test. - -2000-03-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Set version to 0.85. - -2000-01-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.in: Regenerated by patched automake for fixing "make -	clean" problem on FreeBSD. - -1999-12-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Set version to 0.83a.  This is for *BSD static route lookup -	problem. - -1999-12-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Set version to 0.83. - -1999-11-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Set version to 0.82. - -1999-11-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* aczebra.m4: New file added. - -1999-11-21  Michael Handler <handler@sub-rosa.com> - -	* configure.in (LIBS): Add sa_len check of sockaddr. - -	* acconfig.h: Add HAVE_SA_LEN. - -1999-11-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: Update version to zebra-0.81b for bgpd test. - -1999-11-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Add --enable-mbgp. - -1999-11-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.am (EXTRA_DIST): Add TODO to the distribution. - -1999-11-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* TODO: New file is added. - -1999-11-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: Update version to zebra-0.81a for ospfd test. - -1999-10-28  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: New option --enable-snmp is added. - -1999-10-24  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: Update version to zebra-0.80. - -1999-10-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: Update version to zebra-0.80-pre3 - -1999-10-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in (LIBS): SNMP check is done by ucd-snmp/asn1.h. - -1999-10-10  Peter Galbavy <Peter.Galbavy@knowledge.com> - -	* configure.in: Add support of OpenBSD. - -1999-10-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: Update version to zebra-0.80-pre2. - -1999-09-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* version.h: For test recent fixes Set version to zebra-0.79a. - -1999-09-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: zebra-0.79 is out. - -1999-09-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: For ospfd's virtual link test.  Set version to 0.78h. - -1999-09-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: For ospfd test.  Set version to 0.78g. - -1999-09-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: For internal test of ospfd. Set version to 0.78f. - -1999-09-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: To test ospfd's fix, set version to 0.78e. - -1999-09-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: To test ospfd's area related bug fix, set version  -	to 0.78d. - -1999-09-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: To test ospfd, set version to 0.78c. - -1999-08-31  Janos Farkas <chexum@shadow.banki.hu> - -	* Many misspelling correction. - -1999-08-31  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: To test ospfd, set version to 0.78b. - -1999-08-31  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in (LIBS): Add UCD-SNMP include path check. - -1999-08-31  Lars Fenneberg  <lf@elemental.net> - -	* 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 <kay@v6.access.co.jp> - -	* configure.in (CFLAGS): Add <sys/socket.h> to check socklen_t. - -1999-08-24  VOP <vop@unity.net> - -	* filter.c: Include "sockunion.h". -	plist.c: Likewise. -	table.c: Likewise. - -1999-08-24  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Add netinet6/in6.h check. - -1999-08-21  Masaki Minami <masaki@minami.org> - -	* BSD/OS 4.0 porting. - -1999-08-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <misiek@misiek.eu.org> - -	* configure.in: When --enable-ipv6 specified, then only kernel -	version is checked. - -1999-08-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Add GNU libc 2.1 check. - -1999-08-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Fix privious Linux IPv6 check changes. - -1999-08-02  Arkadiusz Miskiewicz <misiek@misiek.eu.org> - -	* configure.in: Improve Linux IPv6 feature check. - -1999-07-29  Rick Payne <rickp@rossfell.co.uk> - -	* Changed route-maps to behave in a more cisco-like fashion - -1999-07-27  Gerhard Poul <gpoul@gnu.org> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* configure.in, acconfig.h: Add check for FreeBSD 3.2. - -1999-07-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Delete check for netinet/ip6.h. - -1999-06-30  Gerhard Poul  <gpoul@gnu.org> - -	* 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  <kunihiro@zebra.org> - -	* configure.in (LIBS): Add libresolv check. -	Change --enabe-all-in-one option to --enable-one-vty. - -1999-06-20  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Add --enabe-all-in-one option. - -1999-06-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Add socklen_t check. - -1999-06-16  Gerhard Poul <gpoul@gnu.org> - -	* Many compile warnings fixed. - -1999-05-31  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Change message from Linux 2.2.X IPv6 to Linux IPv6. -	OpenBSD (NRL) check is enabled. - -1999-05-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in (LIBS): Add crypt library check. - -1999-05-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Add sin6_scope_id in struct sockaddr_in6 check. - -1999-04-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Set version to 0.63 for first beta package. - -1999-04-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* guile.m4: Added from guile package. - -1999-04-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Set version to 0.60 for beta package preparation. - -1999-04-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.am: Add noninst_LIBRARIES each directory's Makefile.am. -	This change is for linking these libraries to guile. - -1999-04-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in (LIBS): Add struct rt_addrinfo check. - -1999-04-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: AC_STDC_HEADERS added. - -1999-03-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Add dependencies to each directory's Makefile.am. - -1999-03-02  Peter Galbavy  <Peter.Galbavy@knowledge.com> - -	* reworked include file structure, and configure so that all - 	source files get all system-dependent include files by including - 	<zebra.h> 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    <kunihiro@zebra.org> - -	* 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  <Peter.Galbavy@knowledge.com> - -	* 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  <Peter.Galbavy@knowledge.com> - -	* added vsnprintf() macro to lib/str.h if required and removed -	#ifdef SUNOS_5 dependency on it - -1999-02-18  Peter Galbavy  <Peter.Galbavy@knowledge.com> - -	* syslog support added - -1999-02-18  Peter Galbavy <Peter.Galbavy@knowledge.com> - -	* configure.in: Add daemon function check. - -1999-01-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Add --disable-ipv6, --disable-zebra, -	--disable-bgpd, --disable-ripd, --disable-ripngd, --disable-ospfd -	options to configure. - -1998-12-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: Check /usr/inet6/lib/libinet6.a exists or not. - -1998-10-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <seirios@matrix.iri.co.jp> - -	* Hydrangea is now called KAME, so change all defines. - -1998-08-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: ifaliasreq check added. - -1998-08-12  Katsuhiro Kondou <kondou@nec.co.jp> - -	* Patch is applied for compile under EWS4800 - -1998-06-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: delete old mtu_method check. - -	* doc/zebra.texi (Kernel interface): chapter `Kernel interface' added - -1998-06-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: add new netlink check for GNU/Linux - -1998-06-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* doc/zebra.texi: Update Linux netlink chapter. - -1998-05-18  Yamashita TAKAO  <jargon@lares.dti.ne.jp> - -	* config.h.in: define PTHREAD if work on Solaris 2.6 -		why delete the definition? I miss? - -1998-05-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: add net/if.h header check. - -1998-05-02  SeonMeyong HEO <seirios@Matrix.iri.co.jp> - -        * 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  <kunihiro@zebra.org> - -	* .cvsignore: added. - -	* Makerule.in: is gone. -	* Makefile.am: Now we use automake to generate Makefile.in - -1998-03-19  Yamashita TAKAO  <jargon@lares.dti.ne.jp> - -	* lib/vty.c: modified the definition of *master -	* lib/sockunion.c (inet_aton): add, but don't work. uum... - - -1998-03-15  Yamashita TAKAO  <jargon@lares.dti.ne.jp> - -	* 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  <seirios@Matrix.iri.co.jp> - -	* config.h.in: define INET6 if defined HAVE_IPV6 & HYDRANGEA -	* bgpd/: remove include <netinet6/in6.h> line. -	* lib/: remove include <netinet6/in6.h> line. -	* ripbgd/: remove include <netinet6/in6.h> line. -	* zebra/: remove include <netinet6/in6.h> line. -	* ripd/*.c: remove include <netinet6/in6.h> line. -	undefine IPV6 difinitions because RIPd is not worked for -	IPv6 protocol. - -	 -1998-01-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* config.h.in: remove err_t define. - -1997-11-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in (canonical): add check of IF_METHOD - -1997-09-27  Kunihiro Ishiguro  <kunihiro@note.digital-magic.co.jp> - -	* configure.in: add INRIA check - -1997-09-25  Kunihiro Ishiguro  <kunihiro@note.digital-magic.co.jp> - -	* configure.in (canonical): change ipforward_snmp.o to ipforward_proc.o - -1997-09-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* configure.in: change IRDPD to NDPD - -1997-08-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* INSTALL: new file - -1997-08-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* config.h: add XCALLOC() - diff --git a/bgpd/ChangeLog b/bgpd/ChangeLog deleted file mode 100644 index e92a72a95c..0000000000 --- a/bgpd/ChangeLog +++ /dev/null @@ -1,3992 +0,0 @@ -2008-07-22 Paul Jakma <paul.jakma@sun.com> - -	* bgp_{packet,route,advertise}.c: change to compiler testing of -	  DISABLE_BGP_ANNOUNCE, rather than cpp. - -2008-07-22 MIYAJIMA Mitsuharu <miyajima.mitsuharu@anchor.jp> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - - -	* 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 <mhw@wittsend.com> -           YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> -	   Tomohiko Kusuda <kusuda@inetcore.com> -           Leigh Brown <leigh@solinno.co.uk> -	 -	* 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 <miyajima.mitsuharu@anchor.jp> - -	* *.c: CMD_AS_RANGE was being used inside command strings, and thus -	  not being expanded, fix by dequoting. - -2008-07-02 Stephen Hemminger <stephen.hemminger@vyatta.com> - -	* 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 <paul.jakma@sun.com> - -	* bgp_table.{c,h}: (bgp_node_delete, bgp_table_free) shouldn't be -	  exported. -	 -2008-06-07 Paul Jakma <paul@jakma.org> - -	* 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 <paul.jakma@sun.com> - -	* (various) Remove 0 entries from struct message's, unneeded due to -	  recent improvements in mes_lookup/LOOKUP. - -2008-01-29 Jorge Boncompte <jorge@dti2.net> - -	* bgp_network.c: (bgp_socket) IPv4-only version crashes if -l is not -	  used as address will be null. - -2007-12-22 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <nick@inex.ie> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <j.kammer@eurodata.de> - -	* (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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (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", -	  <security@musecurity.com>. -	* 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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* 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 <wawa@yandex-team.ru> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* (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 <lorenzo@colitti.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <sebastien@tandel.be> -	* 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 <sebastien@tandel.be> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> -	 -	* bgp_nexthop.c: (bgp_connected_add, bgp_connected_delete) -	  Simplify logic by using new CONNECTED_PREFIX macro. - -2006-12-07 Paul Jakma <paul.jakma@sun.com> - -	* bgp_fsm.c: Bug #302 fix, diagnosis, suggestions and testing -	  by Juergen Kammer <j.kammer@eurodata.de>. 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* bgp_route.c: (bgp_table_stats) oops, u_intXX_t should be -	  uintXX_t - -2006-10-19 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* bgpd.c: (peer_uptime) Fix printf format/arg mismatch in -	  zlog_warn message (%ld/size_t -> %lu/u_long). - -2006-09-14 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* bgp_route.c: Add 'show ... bgp ... <neighbour> 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 <paul.jakma@sun.com> - -	* bgp_advertise.c: (bgp_sync_delete) fix mtype in XFREE. -	  NULL out peer->hash after free, to be sure. - -2006-08-06 Paul Jakma <paul.jakma@sun.com> - -	* bgp_aspath.c: (aspath_loop_check) Fix the typo-bug which -	  essentially had disabled this check. Problem reported by -	  Bartek Kania <mrbk@gnarf.org> in [quagga-users 7388]. - -2006-07-27 Paul Jakma <paul.jakma@sun.com> - -	* bgpd.c: (peer_delete) Ensure freed buffers can not be -	  accidently reused. A potential fix for bug #287. - -2006-07-02 Paul Jakma <paul.jakma@sun.com> - -	* bgp_fsm.c: (bgp_{stop,start}) Move clear/free of certain -	  bits of state from stop to start, as they may be used via -	  peer references on clearing queues.. - -2006-05-23 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* bgpd.c: (peer_free) release the per-peer workqueue when -	  freeing the peer. - -2006-03-19 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* bgp_route.c: (bgp_clear_node_complete) Doh. When clearing -	  is complete we need to kick off FSM again. - -2006-02-21 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* bgp_route.c: (bgp_{clear_node,process}_queue_init) delay -	  field is removed from workqueue spec. - -2006-01-19 Paul Jakma <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* bgp_nexthop.c: (zlookup_read*) convert to new Zserv format. -	  (zlookup_query_ipv6) ditto. -	  (bgp_import_check) ditto. -	   -2006-01-16 Paul Jakma <paul.jakma@sun.com> - -	* 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 <juris@mt.lv> - -	* bgpd.h: (bgp_router_id_unset) ex-function, remove. -	 -2005-11-23 Paul Jakma <paul.jakma@sun.com> - -	* bgp_aspath.c: (assegments_parse) should be static - -2005-11-23 Juergen Kammer <j.kammer@eurodata.de> - -	* bgp_aspath.c: (aspath_cmp_left_confed) fix SEGV for case -	  where one or both paths are empty. - -2005-11-14 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <vincent.jardin@6wind.com> - -	* bgp_packet.c: fix compilation when DEBUG is used. - -2005-09-10 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <hasso at quagga.net> - -	* 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 <hsantos@av.it.pt> - -	* bgp_vty.c: (general) Add support for BGP IPv6 Multicast SAFI -	  commands and BGP_IPV6M_NODE. -	   -2005-08-22 Paul Jakma <paul.jakma@sun.com> - -	* 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 <hasso at quagga.net> - -	* 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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (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 <hasso at quagga.net> - -	* bgp_routemap.c: Sync set_metric_addsub_cmd with ripd. - -2005-05-27 Hasso Tepper <hasso at quagga.net> - -	* bgp_routemap.c: Stop leaking communities. - -2005-05-27 Hasso Tepper <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -        * bgpd.c: Don't crash while deleting list of peer-groups. - -2005-05-25 Hasso Tepper <hasso at quagga.net> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <mizutani@net-chef.net> - -	* bgp_vty.c: Make "exit-address-family" work in IPv4 unicast address -	  family node. - -2005-04-08 Martin Ling <martin-quagga@earth.li> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* bgp_zebra.c: (bgp_interface_delete) After deleting, set ifp->ifindex -	  to IFINDEX_INTERNAL. - -2005-03-21 Hasso Tepper <hasso at quagga.net> - -	* bgp_route.c: Don't crash while clearing route tables if there is -	  no particular afi/safi configured. - -2005-02-23 Hasso Tepper <hasso at quagga.net> - -	* bgp_route.c: Make reannouncing prefixes with changed attributes -	  work again. - -2005-02-02 Akihiro Mizutani <mizutani@net-chef.net> - -	* bgp_vty.c: Deprecate "neighbor transparent-as" and "neighbor -	  transparent-nexthop" commands. - -2005-02-02 Akihiro Mizutani <mizutani@net-chef.net> - -	* bgp_routemap.c: New route-map command - "match ip route-source". - -2005-02-02 Akihiro Mizutani <mizutani@net-chef.net> - -	* bgp_clist.[ch], bgp_route.c, bgp_routemap.c, bgp_vty.c: -	  community-list cleanup. - -2005-02-02 Akihiro Mizutani <mizutani@net-chef.net> - -	* bgp_route.c, bgp_vty.c, bgp_zebra.c, bgpd.[ch]: "enforce-multihop" -	  -> "disable-connected-check". - -2005-02-02 Akihiro Mizutani <mizutani@net-chef.net> - -	* 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 <mizutani@net-chef.net> - -	* 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 <mizutani@net-chef.net> - -	* 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 <mizutani@net-chef.net> - -	* bgpd.[ch], bgp_vty.c, bgp_route.c: "Restart session after -	  maximum-prefix limit" feature support. - -2005-02-01 Akihiro Mizutani <mizutani@net-chef.net> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <paul@dishone.st> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* *.c: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* bgp_main.c: (main) The 2nd argument to openzlog has been removed. - -2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* bgp_main.c: (sigint) Use zlog_notice for termination message. -	  (main) Use zlog_notice for startup announcement. - -2004-11-25 Hasso Tepper <hasso at quagga.net> - -	* bgp_main.c: Make group to run as configurable. - -2004-11-09 Paul Jakma <paul@dishone.st> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul@dishone.st> - -	* {bgpd,bgp_attr}.c: size_t printf format should be ld. - -2004-10-25 Paul Jakma <paul@dishone.st> - -	* 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 <aschorr@telemetry-investments.com> - -	* bgp_nexthop.c: (bgp_connected_add) Connected destination pointer -	  may be NULL. -	  (bgp_connected_delete) ditto. - -2004-10-14 Hasso Tepper <hasso at quagga.net> - -	* bgp_dump.c: Make dump configuration appear in vtysh. - -2004-10-13 Hasso Tepper <hasso at quagga.net> - -	* 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 <paul@dishone.st> - -	* (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 <jleu at mindspring.com> - -	* 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 <hasso at quagga.net> - -	* bgp_aspath.c, bgp_packet.c, bgp_vty.c: Fix compiler warnings. - -2004-09-23 Hasso Tepper <hasso at quagga.net> - -	* *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-07-09 Paul Jakma <paul@dishone.st> - -	* 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 <sowmini.varadhan@sun.com> - -	* 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 <paul@dishone.st> - -	* type mismatch fixes -	   -2004-05-21  Akihiro Mizutani <mizutani@net-chef.net> - -	* bgpd.h, bgp_open.[ch], bgp_debug.c, bgp_vty.[ch], bgp_fsm.c: -	  Graceful restart capability display. - -2005-05-20 Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* bgp_debug.c: Cosmetical fixes and log neighbor changes. - -2004-05-20  Akihiro Mizutani <mizutani@net-chef.net> - -	* bgp_ecommunity.c: Transit ecommunity support. -	* bgp_ecommunity.c: Fix for unknown community crush. - -2005-05-20 Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* *: Maximum prefix threshold support. -	* *: Reset notification fixups. - -2004-05-08 Paul Jakma <paul@dishone.st> - -	* 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 <dr@cluenet.de> -	 -	* 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 <rix@estpak.ee> -  -        * bgp_route.c: fix UNH IOL BGP-4.1.12f -  -2004-05-01 Paul Jakma <paul@dishone.st> - -	* 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 <rix@estpak.ee> - -	* 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 <paul@dishone.st> - -	* 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 <oleq@ans.pl> - -	* bgp_network.c: drop privs on error cases - -2003-08-11 kunihiro <kunihiro@zebra.org> - -	* 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 <paul@dishone.st> - -	* bgp_clist.c (community_list_delete): honour deny statements - -2003-04-19 Hasso Tepper <hasso@estpak.ee> - -	* rip_routemap.c: sync daemon's route-map commands to have same -	syntax - -2003-01-09  Akihiro Mizutani <mizutani@net-chef.net> - -	* bgp_routemap.c: Add match extcommunity command. - -2002-10-23  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* 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 <Marc@SoftwareHackery.Com> - -2002-08-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* bgp_clist.c (community_entry_free): Fix memory leak of standard -	extcommunity-list config string. - -2002-08-19  Akihiro Mizutani <mizutani@net-chef.net> - -	* bgp_route.c (route_vty_out_detail): Fix bug of router-id display -	when multiple instance is used. - -2002-08-18  Akihiro Mizutani <mizutani@net-chef.net> - -	* bgpd.c: Make "default-originate" and "maximum-prefix" commands -	available in peer-group configuration. - -2002-08-13  Akihiro Mizutani <mizutani@net-chef.net> - -	* 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  <kunihiro@ipinfusion.com> - -	* zebra-0.93 released. - -2001-10-28  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgpd.c (bgp_vty_init): Translate update commands are removed. - -2001-10-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_route.c (bgp_static_set): Add workaround for BGP static -	route announcement when there is no zebra running. - -2001-10-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgpd.c (neighbor_remote_as_unicast): Remove "remote-as nlri -	unicast multicast" commands. - -2001-09-14  Akihiro Mizutani <mizutani@dml.com> - -	* 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  <kunihiro@ipinfusion.com> - -	* bgp_advertise.c (bgp_advertise_intern): attr must be interned -	before looking up hash table. - -2001-08-30  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* bgpd.h (struct peer): BGP filter is moved from peer_conf to -	peer. - -2001-08-28  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* bgp_nexthop.c (bnc_nexthop_free): Fix next pointer bug. -	Suggested by: "Hong-Sung Kim" <hoskim@lanbird.co.kr>. - -2001-08-26  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* bgp_table.c (bgp_node_create): Clearn memory before use it. - -2001-08-24  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* Change to use bgp_table.[ch]. - -2001-08-23  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* bgpd.c (bgp_init): Add "transparent-as" and -	"transparent-nexthop" for old version compatibility. - -2001-08-23  Akihiro Mizutani <mizutani@dml.com> - -	* 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 <mizutani@dml.com> - -	* 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  <kunihiro@ipinfusion.com> - -	* zebra-0.92a released. - -2001-08-19  Akihiro Mizutani <mizutani@dml.com> - -	* bgpd.c: AF specific soft-reconfiguration inbound commands are -	added. - -2001-08-17  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* 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 <mizutani@dml.com> - -	* bgpd.c: AF specific route-reflector-client and -	route-server-client configuration are added. - -2001-08-17  Rick Payne <rickp@ayrnetworks.com> - -	* bgp_clist.c (community_match_regexp): Check special ^$ case. - -2001-08-17  Akihiro Mizutani <mizutani@dml.com> - -	* bgp_clist.c (community_list_match): Fix bug of community list -	permit and deny check. - -2001-08-16  Akihiro Mizutani <mizutani@dml.com> - -	* bgp_mplsvpn.c (bgp_mplsvpn_init): Add AF specific "nexthop-self" -	command. - -2001-08-15  Akihiro Mizutani <mizutani@dml.com> - -	* 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  <kunihiro@ipinfusion.com> - -	* zebra-0.92 released. - -2001-08-13  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* bgpd.c (bgp_delete): "no router bgp" free static, aggregate, rib -	table properly. - -2001-08-12  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* 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  <kunihiro@ipinfusion.com> - -	* bgpd.c (no_bgp_ipv4_multicast_route_map): Add IPv4 multicast -	node filter commands. - -2001-08-11  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@ipinfusion.com> - -	* 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 <mizutani@dml.com> - -	* 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  <kunihiro@ipinfusion.com> - -	* bgp_route.c (bgp_announce_check): Enclose sending time AS loop -	check code with #ifdef BGP_SEND_ASPATH_CHECK. - -2001-07-29  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* 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  <kunihiro@ipinfusion.com> - -	* bgp_route.c (bgp_announce_check): Simplify set next-hop self -	check. - -2001-07-24  Akihiro Mizutani <mizutani@dml.com> - -	* bgp_route.c (bgp_announce_check): To route server clients, we -	announce AS path, MED and nexthop transparently. - -2001-06-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_route.c (bgp_withdraw): Add check for BGP_PEER_CONFED. -	Reported by Rick Payne <rickp@rossfell.co.uk>. - -2001-06-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@ipinfusion.com> - -	* bgpd.c (peer_delete): Fix memory leak.  Reported by Yosi Yarchi -	<Yosi_Yarchi@KereniX.com> - -2001-06-01  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* bgpd.c (bgp_delete): Fix memory leak.  Reported by Yosi Yarchi -	<Yosi_Yarchi@KereniX.com> - -2001-05-27  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* 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" <mizutani@dml.com> - -	* 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" <mizutani@dml.com> - -	* bgp_nexthop.c (bgp_scan_ipv4): bgp_scan() call bgp_process() for -	all prefixes. - -2001-03-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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" <mizutani@dml.com> - -	* 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" <mizutani@dml.com> - -	* bgp_route.c (bgp_info_cmp): During path seleciton, BGP -	confederation peer is treated as same as IBGP peer. - -2001-02-19  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_route.c (bgp_redistribute_add): Initialize attr_new with -	attr.  Call aspath_unintern when return from this function. - -2001-02-19  "Akihiro Mizutani" <mizutani@dml.com> - -	* bgpd.c (bgp_router_id_set): Reset BGP peer when router-id is -	changed. - -2001-02-18  "Akihiro Mizutani" <mizutani@dml.com> - -	* bgp_packet.c (bgp_open_receive): When user configure holdtimer, -	do not refrect the value to current session. - -2001-02-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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" <mizutani@dml.com> - -	* bgp_aspath.c (aspath_make_str_count): Use ',' for separator for -	AS_SET and AS_CONFED_SET. - -2001-02-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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" <mizutani@dml.com> - -	* bgp_attr.c (bgp_attr_aggregate_intern): Do not set atomic -	aggregate when using as-set. - -2001-02-14  "Akihiro Mizutani" <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* 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" <mizutani@dml.com> - -	* bgp_route.c (bgp_announce_check): Do not modify nexthop when the -	route is passed by route reflector. - -2001-02-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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" <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* bgp_fsm.c (bgp_establish): Do not send keepalive at established -	time when keepalive timer is configured as zero. - -2001-02-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_attr.c (bgp_attr_check): When peer is IBGP peer, local -	preference is well-known attribute. - -2001-01-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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" <mizutani@dml.com> - -	* bgp_route.c (bgp_info_cmp): Make route selection completely same -	as Cisco's. - -2001-01-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_attr.h (BGP_ATTR_FLAG_OPTIONAL): Rename old ATTR_FLAG_* to -	BGP_ATTR_FLAG_* to clarify meenings. - -2001-01-30  "Akihiro Mizutani" <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgpd.c (bgp_network_import_check): New command for IGP network -	check. - -2001-01-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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" <mizutani@dml.com> - -	* bgp_route.c (bgp_info_cmp): Add IGP metric comparison. - -2001-01-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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" <mizutani@dml.com> - -	* 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" <mizutani@dml.com> - -	* 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" <mizutani@dml.com> - -	* bgp_route.c (bgp_update): AS path lookup check is done in -	bgp_update() not in attr_parse(). - -2001-01-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_route.c (bgp_update): Call bgp_aggregate_decrement() just -	before bgp_attr_unintern(). - -2001-01-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_route.c (bgp_update): Now intern is performed very last part -	of the BGP packet update procedure. - -2001-01-17  "Akihiro Mizutani" <mizutani@dml.com> - -	* bgp_route.c (bgp_update): When implicit withdraw occur, reuse -	existing bgp_info structure. - -2001-01-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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" <mizutani@dml.com> - -	* bgp_route.h (BGP_INFO_ATRR_CHANGED): Added for track attribute -	change. - -2001-01-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_packet.c (bgp_open_receive): Translated peer's packet_size -	clear bug is fixed. - -2001-01-14  "Akihiro Mizutani" <mizutani@dml.com> - -	* bgp_packet.c (bgp_open_receive): Return notification with -	supported version number. - -2001-01-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgpd.c (bgp_show_summary): Display AS path and community -	entries.  Suggested by: "Matt Ranney" <mjr@ranney.com>. - -	* 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" <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* bgp_attr.c (bgp_mp_reach_parse): Fix warning code when second -	IPv6 nexthop is not link-local addresss. - -2001-01-11  "Akihiro Mizutani" <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* 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" <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_main.c: Add "-n" no_kernel option to not install route to -	kernel.  Suggested by: "Matt Ranney" <mjr@ranney.com> - -2001-01-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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" <mizutani@dml.com> - -	* 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 <neighbor> soft in -        -------------------------------------- -        Try stored cache first then route-refresh - -        clear ip bgp <neighbor> in -        --------------------------------- -        Try route-refresh first then try to use stored cache - -2001-01-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_nexthop.c (bgp_nexthop_lookup): When IBGP nexthop is -	changed, refresh it. - -2001-01-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_route.h (struct bgp_info_tag): Add as_selected to -	bgp_info_tag. - -2001-01-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgpd.h (BGP_VTYSH_PATH): Change "/tmp/bgpd" to "/tmp/.bgpd". - -2000-12-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_nexthop.c (zlookup_connect): Change to use UNIX domain -	socket for zebra communication. - -2000-12-29  Akihiro Mizutani <mizutani@dml.com> - -	* bgp_route.c (bgp_process): Fix "bgp deterministic-med" process. - -2000-12-27  Akihiro Mizutani <mizutani@dml.com> - -	* bgp_route.c (bgp_process): Add "bgp deterministic-med" process. - -2000-12-25  Akihiro Mizutani <mizutani@dml.com> - -	* bgp_route.c (bgp_info_cmp): Use ntohl comparing router ID. - -2000-12-18  Akihiro Mizutani <mizutani@dml.com> - -	* bgp_route.c (bgp_info_cmp): When over three same prefix exit, -	withdrawing best prefix perform router ID comparison. - -2000-12-15  Akihiro Mizutani  <mizutani@dml.com> - -	* 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  <mizutani@dml.com> - -	* bgp_route.c (bgp_info_cmp): Compare originator ID when it is -	available. - -2000-12-14  Akihiro Mizutani  <mizutani@dml.com> - -	* bgp_packet.c (bgp_notify_receive): Disply received Notify data -	information. - -2000-12-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* bgp_packet.c (bgp_keepalive_send): Delete duplicate -	bgp_packet_set_size () call. - -2000-11-28  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_packet.c (bgp_read_packet): Remove debug codes. - -2000-11-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <mizutani@dml.com> - -	* bgp_open.c: Fix error messages. - -2000-11-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* bgp_debug.c (bgp_notify_print): Notify data length display bug -	is fixed. - -2000-11-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_nexthop.c (zlookup_connect): When UNIX domain connection to -	zebra is enabled, use the method. - -2000-11-16  Akihiro Mizutani <mizutani@dml.com> - -	* bgpd.c: Revise debug message output. - -2000-11-15  Akihiro Mizutani <mizutani@dml.com> - -	* bgp_clist.c (ip_community_list): Fix bug of string comparison. - -2000-11-14  Akihiro Mizutani <mizutani@dml.com> - -	* bgp_community.c (community_match): Fix bug of memcmp return -	value check. - -2000-11-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <rickp@rossfell.co.uk> - -	* 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 <rickp@rossfell.co.uk> - -	* 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 <rickp@rossfell.co.uk> - -	* 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  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* 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 <mizutani@dml.com> - -	* bgp_fsm.c: Fix bug of holdtimer is not reset when bgp cleared.  - -2000-10-31  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgpd.h: Static bit flag is set by (1 << DIGIT). - -2000-10-24  Akihiro Mizutani <mizutani@dml.com> - -	* bgp_ecommunity.c (ecommunity_dup): Extended community display -	format fix. - -2000-10-24  Arkadiusz Miskiewicz <misiek@pld.org.pl> - -	* bgp_network.c (bgp_serv_sock_addrinfo): Use gai_strerror. -	(bgp_serv_sock_addrinfo): Check address family. - -2000-10-23  Jochen Friedrich <jochen@scram.de> - -	* 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 <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* 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 <jasper@ivision.co.uk> - -	* bgp_snmp.c (bgpPeerTable): ntohs missing bug is fixed.  Change -	to use linklist.c.  Define COUNTER32 as ASN_COUNTER. - -2000-10-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* 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 <horms@vergenet.net> - -	* bgp_debug.c (debug_bgp_fsm): Fix typo. - -2000-10-17  Akihiro Mizutani <mizutani@dml.com> - -	* bgp_route.c: "show ipv6 bgp" route display improvement. - -2000-10-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* zebra-0.89 is released. - -2000-10-02  Akihiro Mizutani <mizutani@dml.com> - -	* bgpd.c: "bgp deterministic-med" command is added. - -2000-10-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_nexthop.c (bgp_connected_add): Apply mask for connected -	route addition and deletion. - -2000-09-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_aspath.c (aspath_cmp_left): Skip confederation AS segment -	when comparing leftmost AS number. - -2000-09-29  Akihiro Mizutani <mizutani@dml.com> - -	* 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 <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* bgp_routemap.c: Configuration of prefix-list match is shown as -	"match ip address prefix-list <WORD>".  Old configuration "match -	ip prefix-list <WORD>" is left for compatibilitty. - -2000-09-25  Akihiro Mizutani <mizutani@dml.com> - -	* 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 <mizutani@dml.com> - -	* 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 <mizutani@dml.com> - -	* 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 <rickp@rossfell.co.uk> - -	* bgpd.c (bgp_show_peer): Fix misplaced #endif. - -2000-09-12  Akihiro Mizutani <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* bgp_zebra.c (bgp_zebra_announce): BGP confederation peer's routes -	are passed to zebra like IBGP route. - -2000-09-10  Akihiro Mizutani <mizutani@dml.com> - -	* bgpd.c (bgp_config_write_peer): Make it consistent passive -	configuration. - -	* bgp_route.c: Community match command is added. -	"show ip bgp community <val>" -	"show ip bgp community <val> exact-match" - -2000-09-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_nexthop.c (bgp_nexthop_lookup): ebgp-multihop routes are -	treated as IBGP routes. - -2000-09-08  Akihiro Mizutani <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* bgpd. (clear_ip_bgp_all_soft): Add "clear ip bgp * soft" for -	both inbound and outbound soft reconfiguration. - -2000-08-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgpd.c (clear_ip_bgp_peer_soft_out): Add soft-reconfiguration -	outbound. -	(peer_new): Set route-refresh flag. - -2000-08-16  Akihiro Mizutani <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_nexthop.c (bgp_scan): Care for aggregate route when the -	route become inaccessible. - -2000-08-15  Akihiro Mizutani <mizutani@dml.com> - -	* bgp_route.c (show_ip_bgp_prefix): "show ip bgp A.B.C.D/M" -	command is added. - -2000-08-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_zebra.c (bgp_interface_up): Register connected route. -	(bgp_interface_down): Unregister connected route. - -2000-08-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* 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 <mizutani@dml.com> - -	* bgp_route.c (route_vty_out_detail): Display format change. - -2000-08-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgpd.c: Include bgpd/bgp_nexthop.h. - -2000-07-31  Akihiro Mizutani <mizutani@dml.com> - -	* 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 <jimb@zereau.net> - -	* bgp_snmp.c: Add BGP peer MIB implementation. - -2000-07-12  Akihiro Mizutani <mizutani@dml.com> - -	* bgpd.c (bgp_show_peer): Fix typo. - -2000-07-11  Akihiro Mizutani <mizutani@dml.com> - -	* bgp_routemap.c: Add commands for deleting set without argument. - -2000-07-03  Akihiro Mizutani <mizutani@dml.com> - -	* bgp_zebra.c: Fix redistribute help strings. - -2000-07-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_route.c (bgp_show): When bgpd works as vtysh server send all -	output to vty at once. - -2000-06-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* bgpd.c: Fix help strings. -	 -	* bgpd.h: Likewise. -	 -2000-06-11  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_route.c (bgp_aggregate_unset): Fix bug of checking rn->info -	instead of rn.  Reported by Akihiro Mizutani <mizutani@dml.com>. - -	* 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  <kunihiro@zebra.org> - -	* 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 <kay@v6.access.co.jp> - -	* 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 <mizutani@dml.com> - -	* bgp_route.c: Fix help strings and command arguments. - -2000-06-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_ecommunity.c: Include prefix.h - -2000-06-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* bgp_routemap.c (route_set_community_none_cmd): "set community -	none" command is added to route-map. - -2000-06-01  Akihiro Mizutani <mizutani@dml.com> - -	* bgp_debug.c: Change "show debug" to "show debugging".  Now "show -	debugging" is not used in VIEW_NODE. - -2000-05-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_ecommunity.c (ecommunity_parse): New file for Extended -	Communities attribute. -	* bgp_ecommunity.h: Likewise. - -2000-05-11  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgpd.c (bgp_bestpath_missing_as_worst): Add "bgp bestpath -	missing-as-worst". - -2000-05-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_routemap.c (match_community): Clarify help of "match -	community". - -2000-05-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_aspath.c (aspath_cmp_left): Remove debug code. - -2000-04-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgpd.c (bgp_distribute_update): Add struct access_list * -	argument. - -2000-04-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_routemap.c: Add "match ip address prefix-list". - -2000-03-29  Rick Payne <rickp@rossfell.co.uk> - -	* bgp_aspath.c (aspath_strip_confed): Fix realloc problem. - -2000-03-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_fsm.c (bgp_reconnect): Connect retry timer is expired when -	the peer status is Connect. - -2000-03-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Fix bug of rewritten originator-id. - -2000-01-27  Rick Payne <rickp@rossfell.co.uk> - -	* 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  <kunihiro@zebra.org> - -	* bgpd.c: Introduce peer_change_flag_with_reset() fucntion. - -2000-01-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_packet.c (bgp_write): Change status to Idle and set timer -	after write failed. - -1999-12-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_zebra.c (bgp_zebra_announce): Add info->selected check. - -1999-12-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_route.c (nlri_unfeasible): nlri_unfeasible() is merged with -	nlri_parse(). - -1999-12-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgpd.c (no_neighbor_port): New command added. -	(peer_new): Set send_community. - -1999-12-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <Robert.Olsson@data.slu.se> - -	* bgp_routemap.c (route_match_nlri): `match nlri -	unicast|multicast' and `set nlri unicast|multicast' command are -	added. - -1999-11-22  Robert Olsson <Robert.Olsson@data.slu.se> - -	* 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  <kunihiro@zebra.org> - -	* bgp_open.c (bgp_capability_mp): Temporary comment out -	SAFI_UNICAST_MULTICAST handling until we know the meanings. - -1999-11-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_btoa.c: New file added. - -1999-11-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <sommerfeld@orchard.arlington.ma.us> - -	* bgp_attr.c (bgp_mp_reach_parse): Ignore link-local addresses -	attribute from non-shared-network peers. - -1999-11-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_zebra.c: Redistribute route-map support is added. - -	* bgp_zebra.h: New file added. - -1999-11-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* BGP4-MIB.txt: New file added.  Edited version of RFC1657. - -1999-10-25  Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us> - -	* 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 <marc@mbsi.ca> - -	* bgp_zebra.c: Add redistribute kernel command. - -1999-10-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_route.c (bgp_reset): New function added. - -	* bgpd.conf.sample2: Add IPv6 configuration sample. - -1999-10-24  Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us> - -	* bgp_route.c (ipv6_aggregate_address): Function added. - -1999-10-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <kad@blackcatlinux.com> - -	* bgp_routemap.c (route_set_local_pref): Fix bug of setting -	attribute flag. - -1999-10-21  Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us> - -	* 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  <kunihiro@zebra.org> - -	* `show ip[v6] bgp PREFIX' show uptime of the route. - -1999-10-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <lf@elemental.net> - -	* bgpd.c (clear_ip_bgp): Add `clear ip bgp ASN'. - -1999-10-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_routemap.c: Add `match ip prefix-list' and `match ipv6 -	prefix-list'. - -1999-09-28  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgpd.c (bgp_collision_detect): Add BGP collision detection -	function. - -1999-09-26  Blake Meike <bmeike@adero.com> - -	* bgpd.c (neighbor_port): New command `neighbor PEER port PORT' is -	added. - -1999-08-24  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgpd.c (no_neighbor_timers_keepalive): Change MIN to min.  Add -	min() macro. - -1999-08-19  Rick Payne <rickp@rossfell.co.uk> - -	* bgp_packet.c (bgp_open): BGP holdtimer bug is fixed.  Make BGP -	keepalive timer configurable. - -1999-08-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_zebra.c (bgp_redistribute_set): Fix redistribute bug. - -1999-08-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgpd.c (bgp_peer_display): show ip bgp neighbors PEER only list -	the peer not all of them. - -1999-08-11  Rick Payne <rickp@rossfell.co.uk> - -	* bgp_route.c (bgp_announce): Remove MED if its an EBGP peer - -	will get overwritten by route-maps. - -1999-08-08  Rick Payne <rickp@rossfell.co.uk> - -	* bgp_routemap.c: Multi protocol route-map modification. - -1999-08-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_route.c (bgp_peer_delete): Reselect of IPv6 route. - -1999-07-29  Rick Payne <rickp@rossfell.co.uk> - -	* Changed route-maps to behave in a more cisco-like fashion - -1999-07-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <georg@atnet.at>. - -1999-07-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgpd.c: Change peer's A.B.C.D to PEER. - -1999-07-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_packet.c (bgp_open): Holdtime fetch bug is fixed.  Reported -	by Yuji SEKIYA <sekiya@sfc.wide.ad.jp>. - -1999-07-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_fsm.c (fsm_holdtime): Don't close file descriptor in -	fsm_holdtime (). - -1999-07-11  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_routemap.c: Add `set atomic-aggregate' command. - -1999-07-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_routemap.c (route_set_ip_nexthop_cmd): Change "ip nexthop" -	to "ip next-hop". -	 -1999-07-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_route.c (show_ipv6_bgp_regexp): `show ipv6 bgp regexp' -	added. - -1999-07-01  Rick Payne <rickp@rossfell.co.uk> - -	* bgp_zebra.c (zebra_init): Install standard commands to -	ZEBRA_NODE. - -1999-06-28  Rick Payne <rickp@rossfell.co.uk> - -	* bgpd.c (bgp_delete): bgp peer deletion bug is fixed. - -1999-06-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgpd.c: Add neighbor update-source command as ALIAS to -	neighbor_interface. - -1999-06-19  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgpd.c (router_bgp): router bgp's argument changed from AS_NO to -	<1-65535>. - -1999-06-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_route.h (struct bgp_info): Add subtype for BGP route type. - -1999-06-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_community.c (community_merge): Function added. - -1999-06-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <srb@cuci.nl> - -	* bgp_main.c (signal_init): SIGTERM call sigint. -	(sigint): Loggging more better message. - -1999-05-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_attr.c (bgp_packet_attribute): AS path attribute extended -	length bit check is added. - -1999-05-11  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgpd.c (bgp_delete): Function added for `no router bgp'. - -1999-05-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgpd.h (BGP_ATTR_ORIGINATOR_ID): Changed from BGP_ATTR_ORIGINATOR. - -1999-05-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_route.c (bgp_announce): Add route reflector check. - -1999-05-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_route.c: Add bgp_aggregate_ipv4 and bgp_aggregate_ipv6. - -1999-04-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_route.c (aggregate_address): Function added. - -	* bgp_zebra.c (zebra_read): Change log to zlog. - -1999-04-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.am (noninst_HEADERS): Added for make dist. - -1999-04-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* aspath_regex.c: Removed from distribution. - -1999-04-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_attr.c (bgp_packet_attribute): Old draft-00 packet treatment -	bug fixed. - -1999-04-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_filter.c: New file added. - -1999-04-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_aspath.c (aspath_empty_aspath): Change for peering with -	gated. - -1999-03-24  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_main.c (main): Default loggin method changed from syslog to -	stdout. - -1999-03-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_route.c: Delete obsolete default attribute DEFUN. - -1999-03-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_attr.c: Make attribute structure put into attribute hash. - -1999-03-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_view.c : Delete file. - -1999-02-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_aspath.c (aspath_add_left): change function name from -	aspath_add_leftmost_as(). - -1999-02-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_aspath.c: add aspath_add_leftmost_as (). - -1999-02-18  Peter Galbavy  <Peter.Galbavy@knowledge.com> - -	* syslog support added - -1999-01-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgpd.c: DEFUN (neighbor_nexthop): deleted. -	DEFUN (neighbor_distribute_list): added. - -1999-01-19  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_packet.c (bgp_keepalive_send): Now BGP keepalive packet is -	buffered. - -1999-01-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_packet.c: New file. - -1998-12-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_fsm.h: New file. - -1998-12-15  Magnus Ahltorp <map@stacken.kth.se> - -	* 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  <kunihiro@zebra.org> - -	* bgpd.c (bgp_config_write): Delete vector v argument. - -1998-12-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgpd.h: Delete annoying ld_[124]byte and st_[124]byte macros. - -1998-11-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_radix.[ch]: removed. - -1998-09-15  HEO SeonMeyong  <seirios@matrix.iri.co.jp> - -	* bgp_main.c: ifdef HYDRANGEA -> ifdef KAME - -1998-08-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_dump.c: delete nroute(). - -1998-05-19  Yamshita TAKAO  <jargon@lares.dti.ne.jp> - -	* 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  <jargon@lares.dti.ne.jp> - -	* bgpd.h: Modify for compile on Solaris. -	* bgp_aspath.h: likewize - -1998-05-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* routemap.[ch]: move to ../lib directory. - -1998-05-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* routemap.c (route_map_apply): add function. - -1998-05-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* routemap.h: add file. - -	* bgp_peer.h (enum ): change PEER_{IBGP,EBGP} to BGP_PEER_{IBGP,EBGP} - -1998-05-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.am: sysconfdir_DATA added. - -1998-05-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* .cvsignore: File added. - -1998-04-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_community.[ch]: File added. - -1998-03-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgpd now use lib/thread.[ch]. - -1998-01-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_vty.c: bgp_vty.c deleted. - -	* bgpd.c (config_write_neighbor): add ebgp-multihop command. - -1997-12-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_fsm.c: [-p bgp_port] and [-P vty_port] works - -1997-12-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_vty.c: new file. - -	* bgp_attr.c: add new logging system. - -1997-11-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Change all inet_addr call into inet_aton. - -1997-11-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_radix.c: change radix_peer_delete - -1997-10-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_aspath.c: move AS_TOKEN_??? definition from header to c source. - -1997-09-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* bgp_dump.c (bgp_log_route): add dump_attr function - -1997-09-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_radix.c: Radix code is completely rewritten. It has better -	memory treatment than old one. - -1997-08-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* bgp_aspath.h: add next entry, delete rlist entry from struct aspath - -1997-08-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 5fcb195b1b..0000000000 --- a/doc/ChangeLog +++ /dev/null @@ -1,510 +0,0 @@ -2007-07-31 Paul Jakma <paul.jakma@sun.com> - -	* bgpd.texi: Document 'network ... pathlimit <ttl>' - -2007-05-01 David L Stevens <dlstevens@us.ibm.com> - -	* main.texi: added route-map, prefix-list, ip protocol -	  and set src documentation - -2007-04-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* basic.texi: Document the new 'log timestamp precision' command. - -2007-03-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* Makefile.am: Patch rule for draft-zebra-00.txt to work -	  in VPATH build environments. - -2006-07-28 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* quagga.info: remove auto-generated file. It will still be -	  present in dist tarballs, so shouldn't affect anyone but -	  direct users of CVS. Required texinfo version should be -	  widely available. - -2006-06-28 Erik Muller <erikm@internap.com> - -	* ospfd.texi: Document new ospf router subcommand -	  "log-adjacency-changes [detail]". - -2006-06-26 Paul Jakma <paul.jakma@sun.com> - -	* ospfd.texi: Document that MD5 keyid is part of the protocol. -	* bgpd.texi: shut texinfo warnings up by replacing brackets in -	  variable with angle brackets. - -2006-05-23 Paul Jakma <paul.jakma@sun.com> - -	* bgpd.texi: Document the update-source command. - -2006-05-10 Paul Jakma <paul.jakma@sun.com> - -	* quagga.info: update auto-built file. - -2006-05-08 Paul Jakma <paul.jakma@sun.com> - -	* main.texi: --log_mode does not exist, remove, bug #245. - -2006-05-04 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* quagga.info: update auto-built file. - -2005-11-25 Paul Jakma <paul.jakma@sun.com> - -	* texinfo.tex: update to newer version, seems to now properly -	  scale the diagramme images in PDF output. - -2005-11-11 Paul Jakma <paul.jakma@sun.com> - -	* quagga.info: update auto-built file. Methinks it's time to -	  remove from CVS.. - -2005-11-07 Paul Jakma <paul.jakma@sun.com> - -	* Makefile.am: snmptrap.texi needs to be listed as a source, -	  not disted otherwise. - -2005-11-04 Jeroen Simonetti <jsimonetti@denit.net> - -	* snmptrap.texi: Documentation on configuring SNMP for logging -	  traps. - -2005-11-04 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* bgpd.8,isisd.8,ospf6d.8,ospfd.8,ripd.8,ripngd.8,zebra.8: Fix -	  spelling mistake: intrefaces -> interfaces. - -2005-04-10 Paul Jakma <paul@dishone.st> - -	* quagga.info: Update to match bgpd.texi addition - -2005-04-08 Hasso Tepper <hasso at quagga.net> - -	* bgpd.texi: Document new "bgp bestpath as-path confed" command. - -2005-04-05 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <jean-mickael.guerin@6wind.com> -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul@dishone.st> - -	* quagga.info: Version bump (autogenerated) - -2005-01-10 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* quagga.info: Version bump (autogenerated) - -2005-01-05 Paul Jakma <paul@dishone.st> - -	* quagga.info: Version bump - -2004-12-23 Paul Jakma <paul@dishone.st> - -	* quagga.info: Version bump - -2004-12-18 Hasso Tepper <hasso at quagga.net> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* basic.texi: Document new logging features.  Separate basic config -	  commands from basic VTY commands. - -2004-11-25 Hasso Tepper <hasso at quagga.net> - -	* *.8: Document -g/--group command line switch and some small -	  cosmetical changes. - -2004-11-22 Paul Jakma <paul@dishone.st> - -	* bgpd.8: escape -/+ signs, reported by ESR to bug-zebra. - -2004-11-19 Hasso Tepper <hasso at quagga.net> - -	* Makefile.am: Don't remove quagga.info while cleaning up. - -2004-11-15 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <hasso at quagga.net> - -	* snmp.texi: ospf6d supports SNMP as well now. - -2004-10-11 Hasso Tepper <hasso at quagga.net> - -	* ospfd.8: Update manpage: add info about new -a/--apiserver command -	  line switch. - -2004-10-11 Paul Jakma <paul@dishone.st> - -	* ospfd.texi: reformat the ospf md5 paragraph, add an additional -	  way to work around bad clocks. - -2004-10-03 Hasso Tepper <hasso at quagga.net> - -	* vtysh.1: Update vtysh man page to reflect changes in shell. Remove -	  info about -f command line switch. - -2004-09-11 Paul Jakma <paul@dishone.st> - -	* quagga.texi: Update copyright. Contents should be at beginning -	  of docs... - -2004-09-11 Paul Jakma <paul@dishone.st> - -	* ospfd.texi: OSPF MD5 auth requires stable time. - -2004-08-31 Hasso Tepper <hasso at quagga.net> - -	* zebra.8: Document -s/--nl-bufsize command line switch. - -2004-08-27 Hasso Tepper <hasso at quagga.net> - -	* Update vtysh man page to reflect changes in shell. - -2004-08-10 Hasso Tepper <hasso at quagga.net> - -	* 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 <ch@lathspell.de> - -	* snmp.texi: update (completely rewritten almost) -	 -2004-06-30  Greg Troxel  <gdt@poblano.ir.bbn.com> - -	* 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 <paul@dishone.st> - -	* Correct RIP port, s/521/520/, reported by xantius@xantius.com -	 -2003-11-27  Hasso Tepper <hasso@estpak.ee> - -	* Added -A and -u descriptions to the man pages. - -2003-01-22  Christian Hammers <ch@westend.com> - -	* ospfd.texi (OSPF router, OSPF router): Add description. - -2002-07-07  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.93 released. - -2001-02-07  Pekka Savola <pekkas@netcore.fi> - -	* Correct bad English ;-). - -2001-02-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.91 released. - -2001-01-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.90 released. - -2000-10-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.89 released. - -2000-10-02  Horms <horms@vergenet.net> - -	* Makefile.am: Fix texinfo file installation problem. - -2000-08-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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" <waddington@usa.net> - -	* zebra.texi: Replace @command with @code until it gets ready. -	Remove @macro. - -1999-08-26  Andrew Waddington <waddington@usa.net> - -	* 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 <waddington@usa.net> - -	* zebra.texi: Many typo is fixed.  Some grammatical rectifications -	is made. - -1999-07-27  Gerhard Poul <gpoul@gnu.org> - -	* zebra.texi: Update zebra.texi. - -1999-07-02  Gerhard Poul <gpoul@gnu.org> - -	* 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  <kunihiro@zebra.org> - -	* zebra.texi (Top): Add ospf6d chapter. - -1999-03-31  Jeroen Ruigrok/Asmodai <asmodai@wxs.nl> - -	* zebra.texi: Improve some sections. - -1999-03-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* archfig.tex, zebra.sty, zebra.tex: Temporary removed due to the -	description is out of date. - -1999-02-24  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 751e952c62..0000000000 --- a/guile/ChangeLog +++ /dev/null @@ -1,26 +0,0 @@ -2000-10-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.89 is released. - -2000-08-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.88 is released. - -1999-04-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* guile/Makefile.am (INCLUDES): Use @GUILE_CFLAGS@ and -	@GUILE_LDFLAGS@ - -1999-04-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-guile work restarted. diff --git a/isisd/ChangeLog b/isisd/ChangeLog deleted file mode 100644 index bb77ffea08..0000000000 --- a/isisd/ChangeLog +++ /dev/null @@ -1,600 +0,0 @@ -2008-01-29 James Carlson <james.d.carlson@sun.com> - -	* 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 <james.d.carlson@sun.com> - -	* 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 <hannes@gredler.at> - -	* 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 <paul.jakma@sun.com> - -	* isis_zebra.c: (isis_zebra_route_add_ipv4) fix for new -	  zserv format. - -2005-11-20 Paul Jakma <paul.jakma@sun.com> - -        * (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 <hasso at quagga.net> - -	* 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 <vincent.jardin@6wind.com> - -	* isis_route.c: fix EXTREME_DEBUG compilation - -2005-09-28 Hasso Tepper <hasso at quagga.net> - -	* *.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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* isis_lsp.c: Support for originating TE IS and IPv4 TLV's. No any sub -	  TLV handling yet. - -2005-09-26 Hasso Tepper <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* isis_route.c: Fix output of nexthops in case of extreme debug. - -2005-09-19 Hasso Tepper <hasso at quagga.net> - -	* isis_lsp.c, isis_pdu.c, isis_spf.c: Remove some old unused code. - -2005-09-19 Hasso Tepper <hasso at quagga.net> - -	* isis_lsp.c: Better output of detailed LSP printout and fixed TE IPv4 -	  reachibility metric display. - -2005-09-19 Hasso Tepper <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* *.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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* isis_lsp.c: Less TLV leaking. - -2005-09-01 Hasso Tepper <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* isis_misc.[ch]: Fix some warnings, making some strings const. - -2005-08-10 Hasso Tepper <hasso at quagga.net> - -	* 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 <Yossi.Boaron@veraznetworks.com> - -	* isis_dr.c: Fix copy&paste error in isis_dr_resign(). - -2005-05-25 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* (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 <paul@dishone.st> - -	* topology/Makefile.am: random.c is a source of libtopology, so list -	  it. - -2005-04-12 Hasso Tepper <hasso at quagga.net> - -	* isis_adjacency.c: Fix typo introduced with listloop cleanup. - -2005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <paul@dishone.st> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* isis_zebra.c: (isis_zebra_if_del) Must use if_lookup_by_name_len. - -2005-04-02 Hasso Tepper <hasso at quagga.net> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <voidptr@voidptr.sboost.org> - -	* isis_spf.c: host.name might be NULL. - -2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* isis_main.c: (reload) Call vty_reset instead of vty_finish (both -	  functions were exactly the same). - -2005-01-18 Hasso Tepper <hasso at quagga.net> - -	* *.c: Changed many functions to static. Some commented out -	  functions and some tiny related fixes. No functional changes. - -2005-01-01 Hasso Tepper <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* *.c: zlog_* cleanup. Mostly changed level of debug messages to -	  LOG_DEBUG. - -2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* isis_main.c: (main) The 2nd argument to openzlog has been removed. - -2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* isis_main.c: Make group to run as configurable. - -2004-11-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* dict.c: Include "zassert.h" instead of <assert.h>. - -2004-10-13 Hasso Tepper <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* isis_routemap.c, isisd.c: Make more strings const. -	* isisd.h: Make min_bcast_mtu unsigned. - -2004-10-07 Hasso Tepper <hasso at quagga.net> - -	* *.[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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* isis_pdu.c: Fix accessing NULL found by valgrind. - -2004-09-26 Hasso Tepper <hasso at quagga.net> - -	* isis_circuit.c: Fix previous commit. Don't schedule LSP regeneration -	  and don't crash if circuit->area == NULL. - -2004-09-26 Hasso Tepper <hasso at quagga.net> - -	* *.[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 <hasso at quagga.net> - -	* isis_lsp.h: Cast-as-lvalue extension is deprecated and is not -	  accpted any more in gcc-4.0. - -2004-09-24 Hasso Tepper <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-21 LIU Xin <lx at ns.6test.edu.cn> - -	* isis_dr.c: Update dis_record of adjacencies when isisd becomes DIS. - -2004-09-21 Hasso Tepper <hasso at quagga.net> - -	* 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 <lx at ns.6test.edu.cn> - -	* 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 <hasso at quagga.net> - -	* 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 <lx at ns.6test.edu.cn> -	 -	* isis_circuit.c: According to RFC1142 the first DIS election will be -	started 2 * HelloTimer seconds after the initialization. - -2004-09-15 Laurent Rabret <laurent.rabret at francetelecom.com> - -	* 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 <hasso at quagga.net> - -	* 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 <lx at ns.6test.edu.cn> - -	* isis_pdu.c: Update l1_desig_is only if neighbor really is DIS. - -2004-09-10 LIU Xin <lx at ns.6test.edu.cn> -	 -	* 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 <laurent.rabret at francetelecom.com> - -	* 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 <rix at estpak.ee> - -	* *.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 <paul@dishone.st> - -	* isis_zebra.c: Sync with zclient changes. - -2004-02-11 Hasso Tepper <hasso@estpak.ee> -  * many *.c files: Replace thread_add_xxx() and thread_cancel() with -    THREAD_XXX_ON and THREAD_XXX_OFF macros. - -2004-01-27 Hasso Tepper <hasso@estpak.ee> -  * isis_circuit.c: Commented out "(no) ip address" commands so it doesn't -    confuse vtysh. - -2003-12-31 Hasso Tepper <hasso@estpak.ee> -  * isis_dr.c: Fix some threads related bugs. - -2003-12-23 Hasso Tepper <hasso@estpak.ee> -  Some fixes done by me and Cougar <cougar@random.ee>. -  * 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 688c44f7b7..0000000000 --- a/lib/ChangeLog +++ /dev/null @@ -1,4270 +0,0 @@ -2008-07-21 Paul Jakma <paul.jakma@sun.com> - -	* 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 <mhw@wittsend.com> -           YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> - -	* sockopt.{c,h}: (sockopt_tcp_signature) Add TCP-MD5SIG support. - -2008-06-07 Paul Jakma <paul@jakma.org> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* zebra.h: Revert previous change, no need to include <net/if_media.h> -	  here. - -2008-01-10 Ingo Flaschberger <if@xip.at> - -	* zebra.h: If HAVE_BSD_LINK_DETECT is defined, include <net/if_media.h>. - -2008-01-08 Pavol Rusnak <prusnak@suse.cz> - -	* 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 <lorenzo@colitti.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <atis@mikrotik.com> - -	* pqueue.{c,h}: Export trickle_up - -2007-07-26  Paul Jakma <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* sockopt.{c,h}: (setsockopt_multicast_ipv4) Add some comments about -	  the arguments. - -2007-06-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* zebra.h: On linux, we seem to need to include <linux/types.h> before -	  <sys/sysctl.h>, otherwise we get isisd compilation errors about -	  __be16 not being defined. - -2007-05-10 Paul Jakma <paul.jakma@sun.com> - -	* zebra.h: Don't try define _GNU_SOURCE, autoconf should do it. - -2007-05-03 Paul Jakma <paul.jakma@sun.com> - -	* memtypes.c: Add MTYPE_ATTR_EXTRA and MTYPE_BGP_ROUTE_EXTRA - -2007-05-01 David L Stevens <dlstevens@us.ibm.com> - -	* (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 <ajschorr@alumni.princeton.edu> - -	* log.c: (quagga_timestamp) Optimize the subsecond timestamp generation. - -2007-04-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* smux.c: (smux_trap) Fix printf format to work with 64-bit size_t. - -2007-04-07 Paul Jakma <paul.jakma@sun.com> - -	* prefix.h: Add define to match IPv4 Link-Local addresses - -2007-03-20 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* 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 <pierre-yves@spootnik.org> - -	* smux.c: (smux_open,smux_trap,smux_register) Fix various -	  asn_build_* calls to pass the proper length in the final -	  argument: use sizeof(<variable>) instead of sizeof(<type>), -	  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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* thread.h: (struct thread) Add a cache pointer to the struct -	  cpu_thread_history, if it is known - saving hash lookup on -	  each thread_call. -	* thread.c: (thread_call) Cache the pointer to the -          cpu_thread_history, so that future thread_calls of same -          thread can avoid the hash_lookup. - -2006-07-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* vty.c: (vty_log_out) Do not call vty_close, because this could -	  result in a parent function's accessing the freed memory. -	  Instead, set status VTY_CLOSE and call shutdown(vty->fd, SHUT_RDWR). -	  And add a comment on vty_close. - -2006-07-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* vty.c: (vty_log_out, vty_read, vty_flush, vtysh_flush, vtysh_read) -	  After an I/O error, must set vty->monitor to 0 before calling -	  zlog_warn, otherwise an infinite recursion could occur -	  (since zlog_warn triggers a message to be written to the vty, -	  and that in turn triggers another error message when it fails, etc.). - -2006-07-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* vty.c: (vty_log_out) Debug messages to terminal vty sessions -	  should include timestamps. - -2006-06-28 Paul Jakma <paul.jakma@sun.com> - -	* memory.c: Fix typo in cpp conditional around malloc.h, from -	  comment in bug #269. - -2006-06-27 Paul Jakma <paul.jakma@sun.com> - -	* route_types.awk: Remove setting the 'bare' numeric route type -	  in redist strings. - -2006-06-15 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* zebra.h: Include inttypes.h rather than stdint.h, best practice -	  according to the autoconf manual. -	  Add UINT*_MAX defines for older platforms lacking these (FBSD 4) -	* 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 <paul.jakma@sun.com> - -	* route_types.txt: New file, table of ZEBRA_ROUTE definitions. -	* route_types.awk: New script, to parse previous and generate -	  (for now) redistribute string defines. -	* Makefile.am: build route_types.h using previous two, ala -	  memtypes.h, include the script and table file in EXTRA_DIST. -	* command.h: pull in route_types.h, add a REDIST_STR define. - -2006-05-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* if.h: (struct connected) Document the meaning of the -	  ZEBRA_IFC_REAL and ZEBRA_IFC_CONFIGURED flags. - -2006-05-15 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* memtypes.awk: Fix gensub call, g should be a string.. - -2006-03-25 Paul Jakma <paul.jakma@sun.com> - -	* workqueue.h: (struct work_queue) Remove status field and -	  state flag, no longer used. - -2006-03-19 Paul Jakma <paul.jakma@sun.com> - -	* memtypes.c: Add MTYPE_BGP_SYNCHRONISE. - -2006-03-16 Paul Jakma <paul.jakma@sun.com> - -	* Makefile.am: Fix -version-info argument. - -2006-03-15 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* if.h: export show_address_cmd, for anyone who wishes to use -	  it. - -2006-02-21 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <vincent.jardin@6wind.com> - -	* md5.c: Don't forget to keep const. -	* regex.c: Cleanup code and remove warnings. - -2006-01-17 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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  <gdt@fnord.ir.bbn.com> - -	* vty.c (vty_hello): add cast to quiet lint (from David Young) - -2005-11-26 Paul Jakma <paul.jakma@sun.com> - -	* buffer.c: (struct buffer_data) change gcc zero array -	  declaration to C99 incomplete array. -	* stream.h: (struct stream) same - -2005-11-24 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* memtypes.h: Add MTYPE_OSPF_VERTEX_PARENT (to match memtypes.c). - -2005-10-18 Paul Jakma <paul.jakma@sun.com> - -	* memtypes.c: (memory_list_ospf) Add MTYPE_OSPF_VERTEX_PARENT. - -2005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <alain.ritoux@6wind.com> - -	* smux.[ch]: allow to retreive global OID (identified by <0 -	  namelen). - -2005-09-29 Paul Jakma <paul.jakma@sun.com> - -	* 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 <alain.ritoux@6wind.com> - -	* 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 <alain.ritoux@6wind.com> - -	* 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 <paul.jakma@sun.com> - -	* memtypes.{c,h}: Add MTYPE_AS_SEG_DATA. -	 -2005-09-19 Hasso Tepper <hasso at quagga.net> - -	* str.[ch]: Add strndup() from glibc. - -2005-09-05 Paul Jakma <paul.jakma@sun.com> - -	* 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 <hsantos@av.it.pt> - -	* 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  <gdt@fnord.ir.bbn.com> - -	* 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 <ajschorr@alumni.princeton.edu> -	* 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 <ajschorr@alumni.princeton.edu> - -	* prefix.c: (ip_masklen) While loop should test that 'pnt' pointer is -	  in range before dereferencing it. - -2005-06-24 Pawel Worach <pawel.worach@gmail.com> - -	* getopt.h: add further tests for full getopt declaration on -	  various systems. - -2005-06-18 Paul Jakma <paul.jakma@sun.com> - -	* memtypes.h: update autobuilt file to match memtypes.c changes - -2005-06-01 Paul Jakma <paul.jakma@sun.com> - -	* memtypes.c: Add MTYPE_BGP_PROCESS_QUEUE and -	  MTYPE_BGP_CLEAR_NODE_QUEUE - -2005-05-24 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <yar@comp.chem.msu.su> - -	* sockopt.c: Add support for BSD style ifindex in ip_mreq. - -2005-05-06 Paul Jakma <paul@dishone.st> - -	* (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 <hasso at quagga.net> - -	* sockunion.c: Fix warning message. - -2005-05-03 Paul Jakma <paul@dishone.st> - -	* 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 <ajschorr@alumni.princeton.edu> - -	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 <ajschorr@alumni.princeton.edu> - -	* workqueue.c (show_work_queues): Remove unused gettimeofday call. - -2005-04-27 Paul Jakma <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* 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 <john.ch.lin@gmail.com>. -	  (thread_should_yield) make this available. -	 -2005-04-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <jeroens@office.netland.nl> - -	* routemap.c: Show description in "show route-map" output. - -2005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* sigevent.c: On GNU_LINUX, check whether __USE_GNU is already defined. - -2005-04-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* zebra.h: If GNU_LINUX is defined, then define _GNU_SOURCE.  This -	  fixes a problem where we were not getting the declaration of strnlen -	  in <string.h>. - -2005-04-08 Hasso Tepper <hasso at quagga.net> - -	* routemap.[ch]: Added "description ..." command. - -2005-04-08 Hasso Tepper <hasso at quagga.net> - -	* prefix.[hc]: Pass argument to the inet6_ntoa by value making it more -	  inet_ntoa alike. - -2005-04-07 Paul Jakma <paul.jakma@sun.com> - -	* 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 <hasso at quagga.net> - -	* lib/prefix.[hc]: inet6_ntoa utility function copied from -	  ripngd/ripngd.c (inet6_ntop). - -2004-04-05 Paul Jakma <paul@dishone.st> - -	* vty.c: Improve logging of failures to open vty socket(s). -	  See bugid #163. - -2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* zebra.h: Must check whether __attribute__ should be defined before -	  including zassert.h. - -2005-03-14 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <jeroen@unfix.org> - -	* 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 <voidptr@voidptr.sboost.org> - -	* command.c: host.name might be NULL. -	* vty.c: Fix fd leak. - -2005-02-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* {vty.h,vty.c}: Remove vty_finish (duplicate of vty_reset). - -2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* buffer.h: Make the struct buffer and struct buffer_data structures -	  private by moving them inside buffer.c.  Add comments for all -	  functions.  Rename buffer_write as buffer_put (to be more consistent -	  with the buffer_putc and buffer_putstr functions).  Declare a new -	  buffer_write function that is used to write data to a file descriptor -	  and/or add it to the buffer queue.  Remove unused function -	  buffer_flush_vty_all.  Create a new enum typedef buffer_status_t -	  to be used as the return code for all buffer_flush* functions -	  and buffer_write. -	* buffer.c: The struct buffer and struct buffer_data declarations -	  are now private to this file.  In conjunction with that, remove -	  some unnecessary fields: struct buffer (alloc, unused_head, -	  unused_tail, length), struct buffer_data (prev). -	  (buffer_data_new) Removed: functionality incorporated into buffer_add. -	  (buffer_data_free) Removed: use a macro BUFFER_DATA_FREE instead. -	  (buffer_new) Use calloc instead of malloc + memset(zero).  -	  Supply an appropriate default size if the specified size is 0. -	  (buffer_free) Eliminate code duplication by calling buffer_reset to -	  free the contents of the buffer (and remove unused code related -	  to unused_head). -	  (buffer_empty,buffer_putc,buffer_putstr) Aesthetic change (make more -	  compact). -	  (buffer_reset) Use macro BUFFER_DATA_FREE.  No need to set -	  alloc and length to 0 (these fields have been removed). -	  (buffer_add) Fix scope to be static.  Call XMALLOC directly instead -	  of calling removed buffer_data_new function.  Simplify the logic -	  (since it's now a singly-linked list instead of doubly-linked). -	  (buffer_write) Renamed to buffer_put.  Change to void, since return -	  code of 1 was meaningless.  No need to adjust length field, since -	  it has been removed. -	  (buffer_putw,buffer_flush,buffer_flush_vty_all,buffer_flush_vty) -	  Remove unused functions. -	  (buffer_flush_all) Rewrite using buffer_flush_available to eliminate -	  a possible failure mode if IOV_MAX is less than the number of buffers -	  on the queue. -	  (buffer_flush_window) Incorporate logic from buffer_flush_vty. -	  Log an error message if there is a writev error. -	  (buffer_flush_available) Be more paranoid: check for case where -	  buffer is already empty.  Use new ERRNO_IO_RETRY macro, and use -	  new enum for return codes.  Simplify deletion logic (since it's -	  now a singly-linked list). -	  (buffer_write) New function for use with non-blocking I/O. -	* vty.h: Replace the struct vty sb_buffer field with a fixed-size -	  (5-character) sb_buf field and an sb_len field, since using -	  a struct buffer was inappropriate for this task.  Add some useful -	  comments about telnet window size negotiation. -	* vty.c: Include <arpa/telnet.h> (no longer included by zebra.h). -	  Remove VTY_OBUF_SIZE (instead use buffer_new default size). -	  Make telnet_backward_char and telnet_space_char static const. -	  (vty_out) Replace buffer_write with buffer_put. -	  (vty_log_out) Check for I/O errors.  If fatal, close the vty session. -	  Consolidate 3 separate writes into a single write call. -	  (vty_will_echo,vty_command,vty_next_line,vty_previous_line, -	  vty_end_config,vty_describe_fold,vty_clear_buf,vty_serv_sock_addrinfo, -	  vty_serv_sock_family,vty_serv_un,vty_use_backup_config,exec_timeout, -	  vty_config_write,vty_save_cwd) Fix scope to static. -	  (vty_new) Let buffer_new use its default buffer size. -	  (vty_write) Fix signature: 2nd arg should be const char *. -	  Replaced buffer_write with buffer_put. -	  (vty_telnet_option) Fix minor bug (window height or width greater than -	  255 was broken).  Use sb_buf and sb_len instead of removed sb_buffer -	  (which was being used improperly). -	  (vty_read) On error, use ERRNO_IO_RETRY to decide whether it's fatal. -	  If the error is fatal, call buffer_reset so vty_close does not attempt -	  to flush the data.  Use new sb_buf and sb_len instead of sb_buffer -	  to store the SB negotiation string. -	  (vty_flush) When vty->lines is 0, call buffer_flush_available instead -	  of buffer_flush_window.  Look at the return code from buffer_flush -	  to detect I/O errors (and in that case, log an error message and -	  close the vty). -	  (vty_create) Fix scope to static.  Initialize sb_len to 0 instead -	  of creating sb_buffer. -	  (vty_accept) Set socket nonblocking. -	  (vtysh_accept) Use new set_nonblocking function instead of calling -	  fcntl directly. -	  (vtysh_flush) New function called from vtysh_read (after command -	  execution) and from vtysh_write.  This flushes the buffer -	  and reacts appropriately to the return code (by closing the vty -	  or scheduling further flushes). -	  (vtysh_read) Check whether error is fatal using ERRNO_IO_RETRY. -	  If not, just try again later.  Otherwise, call buffer_reset before -	  calling vty_close (to avoid trying to flush the buffer in vty_close). -	  Fix logic to allow case where a command does not arrive atomically -	  in a single read call by checking for the terminating NUL char. -	  (vtysh_write) Use new vtysh_flush helper function. -	  (vty_close) No need to call buffer_empty, just call buffer_flush_all -	  in any case (it will check whether the buffer is empty). -	  Do not free sb_buffer (since it has been removed). -	  (vty_log_fixed) Use writev instead of write. -	* zebra.h: Do not include <arpa/telnet.h>, since this is used only -	  by lib/vty.c. - -2005-02-21 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it> - -	* 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 <paul.jakma@sun.com> - -	* stream.c: (stream_new) fix dumb mistake. - -2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* stream.c: (stream_read_try) Use new ERRNO_IO_RETRY macro. - -2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* network.c: (set_nonblocking) Should check return code from -	  fcntl(F_GETFL). - -2005-02-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu> -	 -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* zebra.h: Change macro definitions SET_FLAG and UNSET_FLAG -	  to use compound assignment operators (aesthetic change). - -2005-02-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* log.c: (syslog_sigsafe) Reduce scope of syslog_fd: it is accessed -	  inside this function only. -	  (open_crashlog) New function to open /var/tmp/quagga.<daemon>.crashlog -	  with flags O_WRONLY|O_CREAT|O_EXCL to save some crash info. -	  (zlog_signal,_zlog_assert_failed) Increase logging priority from -	  LOG_ERR to LOG_CRIT.  If no file logging is configured, try to use -	  open_crashlog to create a crash logfile. -	  (zlog_backtrace_sigsafe) If a crashlog file descriptor is open, -	  dump a backtrace to that file. - -2005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* if.h: Declare if_flag_dump. - -2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* daemon.c: (daemon) Replace perror with zlog_err. -	* vty.c: (vty_serv_un) Replace perror with zlog_err. - -2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* lib/command.[ch]: Make node_parent() function nonstatic. vtyh.c will -	  use it as well. - -2005-01-18 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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  <gdt@fnord.ir.bbn.com> - -	* command.c (print_version): Don't print host.name if it is NULL. -	Fixes segfault on Solaris reported by Goetz von Escher <goetz@open.ch> -	 -2005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* 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<TAB>" in vty. - -2004-12-29  Greg Troxel  <gdt@poblano.ir.bbn.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* thread.c: (funcname_thread_add_timer_msec) Reduce overflow risk. - -2004-12-21 Paul Jakma <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> -	 -	* 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 <ajschorr@alumni.princeton.edu> - -	* sigevent.c: (trap_default_signals) Ignore SIGPIPE instead of exiting. - -2004-12-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu> -	 -	* log.c: (zlog_signal,_zlog_assert_failed) Change logging level back to -	  LOG_ERR instead of LOG_EMERG. - -2004-12-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* log.c: (hex_append) No need to include this function if -	  HAVE_GLIBC_BACKTRACE is not defined. - -2004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* {smux.c,zclient.c}: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* command.c: (config_write_host) Note that "log trap" is deprecated -	  when writing out the config. - -2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <level>", "log monitor", "log monitor <level>", -	  "no log monitor", "log file <filename> <level>", -	  "no log file <filename> <level>", "log syslog <level>", -	  "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 <ajschorr@alumni.princeton.edu> - -	* log.h: Document appropriate use of syslog logging priorities -	  inside quagga. - -2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* command.h: DEFUN_DEPRECATED passes attribute to DEFUN as well. - -2004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* debug.[ch]: Remove unused files. -	* Makefile.am: Remove references to debug.c and debug.h - -2004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* Makefile.am: Need to add zassert.h to pkginclude_HEADERS. - -2004-11-25 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <assert.h>. -	* regex.c: Include "zassert.h" instead of <assert.h>. - -2004-11-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <dyoung@pobox.com> - -	* log.c: (safe_strerror) New function: safe wrapper for strerror. - -2004-11-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* sockopt.c: (setsockopt_so_recvbuf) Stop error message from being -	  printed every time. - -2004-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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  <gdt@fnord.ir.bbn.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* version.h.in: add autoconf configure_input output var - -2004-11-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul@dishone.st> - -	* sockopt.c: (setsockopt_pktinfo) remove, its unused. - -2004-10-31 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <hasso at quagga.net> - -	* zclient.c: Unbreak reading interface update message. Might fix -	blocker bugzilla #109. - -2004-10-22 Paul Jakma <paul@dishone.st> - -	* 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 <hasso at quagga.net> - -	* 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 <aschorr@telemetry-investments.com> - -	* 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 <hasso at quagga.net> - -	* 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 -	  <password>" initializes now connection and "no smux peer" terminates -	  it. - -2004-10-13 Paul Jakma <paul@dishone.st> - -	* (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 <hasso at quagga.net> - -	* command.h: Sync DEFUNSH with other macros. -	* sockunion.c, sockunion.h: More const strings. - -2004-10-11 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <hasso at quagga.net> - -	* routemap.c, routemap.h: Make some string arguments const. - -2004-10-05 Paul Jakma <paul@dishone.st> - -	* version.h.in: print_version declaration is here, not in automake -	  generated version.h. - -2004-10-08 Hasso Tepper <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* command.c, pid_output.c, print_version.c, vty.c, vty.h: Make more -	  strings const. - -2004-10-05 Hasso Tepper <hasso at quagga.net> - -	* *.[c|h]: Make many strings cons and a lot of int -> unsigned int -	  changes to fix warnings. - -2004-10-05 Paul Jakma <paul@dishone.st> - -	* 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 <hasso at quagga.net> - -	* 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  <hasso at quagga.net> - -	* 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 <jleu at mindspring.com> - -	* zclient.c, zclient.h: zclient functions for router id handling. -	* zebra.h: New message types for router id handling. - -2004-09-27 Paul Jakma <paul@dishone.st> - -	* 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 <hasso at quagga.net> - -	* vty.c, sockopt.c: Fix compiler warnings. - -2004-09-23 Hasso Tepper <hasso at quagga.net> - -	* linklist.h: Remove list and listnode typedefs. -	* *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-17 Paul Jakma <paul@dishone.st> - -	* sockopt.c: Add missing bracket - -2004-09-17 Paul Jakma <paul@dishone.st> - -	* sockopt.{c,h}: Add setsockopt_so_recvbuf, for ripd and ripngd. - -2004-09-13 Paul Jakma <paul@dishone.st> - -	* command.c: Update the copyright string in the default motd. - -2004-08-31  David Wiggins  <dwiggins@bbn.com> - -	* 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 <hasso at quagga.net> - -	* command.c: Install "terminal length" commands only if vty is used. -	  Vtysh will handle it itself. - -2004-08-26  Greg Troxel  <gdt@fnord.ir.bbn.com> - -	* sockopt.h: Define method-independent macro for callers of -	get_ifindex to use for cmsg length. - -2004-08-19 Paul Jakma <paul@dishone.st> - -	* zebra.h: add MAX and MIN defines (eg for ospf6d) - -2004-08-19 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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  <gdt@poblano.ir.bbn.com> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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  <gdt@poblano.ir.bbn.com> - -	* 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 <paul@dishone.st> - -	* 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 <juris@mt.lv> - -	* 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  <gdt@poblano.ir.bbn.com> - -	* Makefile.am: Make libzebra shared. - -2004-06-21 Paul Jakma <paul@dishone.st> - -	* ChangeLog: fix my last update config.h -> zebra.h ;) -	* zebra.h: Fix gcc check. -	 -2004-06-11 Sowmini Varadhan <sowmini.varadhan@sun.com> - -	* 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_<telnet option build functions>) 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 <paul@dishone.st> - -	* zebra.h: __attribute__ is a gcc'ism -	 -2004-06-04 Paul Jakma <paul@dishone.st> - -        * type mismatch fixes -         -2004-05-18 Hasso Tepper <hasso@estpak.ee> -	 -	* pqueue.[c|h]: Added as part of ospf6d merge from Zebra repository. - -2004-05-08 Paul Jakma <paul@dishone.st> - -	* zclient.c (zapi_ipv4_route) Follow Sowmini's lead and describe -	  message format. - -2004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com> - -	* 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 <sowmini.varadhan@sun.com> - -	* 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 <boris@tagnet.ru> - -	* daemon.c: (daemon) fix check for error return from setsid -	 -2004-01-19 Paul Jakma <paul@dishone.st> - -	* sigevent.{c,h}: New files, implement event handled signals. -	  see signal_init() in sigevent.h. -	   -2003-12-23  Vincent Jardin  <jardin@6wind.com> - -	* {command.c, memory.c, vty.c, zebra.h}: Add isisd support - -2003-12-22  Greg Troxel  <gdt@fnord.ir.bbn.com> - -	* vty.c (vty_use_backup_config): Don't free filenames before using -	them for unlink. - -2003-08-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp> - -	* command.c: Fix <cr> display problem for command line -	  description - -2003-05-24 Anil Madhavapeddy - -	* (sockunion.c): Incorrect bounds specified in sockunion_log() - -2003-05-08 Sergiy Vyshnevetskiy <serg @ vostok.net> - -	* vty.c: -A option - -2003-04-19 Hasso Tepper <hasso@estpak.ee> - -	* rip_routemap.c: sync daemon's route-map commands to have same -	syntax - -2002-09-28  Yasuhiro Ohara <yasu@sfc.wide.ad.jp> - -	* vty.c (vty_flush): One line more on vty. - -2002-09-27  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* vector.c (vector_lookup): Add new function. - -2002-08-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* thread.c (timeval_adjust): Fix unconditional crush due to -	FreeBSD's select() system call timeval value check. - -2002-07-07  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.93 released. - -2002-06-21  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* if.c (ifc_pointopoint): Add ifc_pointopoint() accoding to Frank -	van Maarseveen's suggestion. - -2002-06-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c: Change bcopy() to memcpy(). - -2001-12-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (config_password): Fix host.password clear bug. -	Reported by Wang Jian <lark@linux.net.cn>. - -2001-08-29  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* thread.c (thread_should_yield): New function to check thread -	should yeild it's execution to other thread.  Suggested by: Rick -	Payne <rickp@ayrnetworks.com> - -2001-08-20  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* thread.c (thread_timer_cmp): Rewrite function. - -	* hash.c: Add hash_get().  Change hash_pull() to hash_release(). - -2001-08-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.92a released. - -2001-08-15  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.92 released. - -2001-08-12  Akihiro Mizutani <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* plist.c: ge and le display order is changed.  Old compatible -	rule (len <= ge-value <= le-value) is removed. - -2001-07-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* prefix.h: Temporary fix for alignment of prefix problem. - -2001-06-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* routemap.c (route_map_rule_delete): Call func_free when -	route-map rule is deleted. - -2001-06-14  "Akihiro Mizutani" <mizutani@dml.com> - -	* routemap.c (route_map_index_lookup): Prevent to use deny and -	permit for same route-map sequence. - -2001-04-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (vty_read_config): Fix warning. - -2001-03-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (IPV6_PREFIX_STR): Add '.' and '%' for IPv6 address -	strings. - -2001-03-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra.h (_XPG4_2): Define _XPG4_2 and __EXTENSIONS__ for -	CMSG_FIRSTHDR. - -2001-03-07  Michael Rozhavsky <mrozhavsky@opticalaccess.com> - -	* zebra.h (struct in_pktinfo): structure in_pktinfo declaration. - -2001-02-19  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* memory.c (memory_list_lib): Add MTYPE_NEXTHOP for "show memory -	lib" member. - -2001-02-13  Matthew Grant <grantma@anathoth.gen.nz> - -	* vty.c (vty_read_config): Revert check of integrate_default when -	VTYSH is defined. - -2001-02-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (vty_read_config): Do not check integrate_default.  That -	should be used only by vtysh. - -2001-02-08  Matthew Grant <grantma@anathoth.gen.nz> - -	* 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 <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* zebra-0.91 is released. - -2001-01-31  Akihiro Mizutani <mizutani@dml.com> - -	* vty.c (vty_login): Add vty login command. - -2001-01-31  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (vty_reset): Close accept socket. - -2001-01-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* memory.h (enum): MTYPE_ATTR_TRANSIT is added for unknown transit -	attribute. - -2001-01-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zclient.c (zebra_interface_address_add_read): Fetch interface -	address flag. -	(zebra_interface_address_delete_read): Likewise. - -2001-01-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* if.c: Delete RIP_API part until new implementation comes out. - -2001-01-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* zclient.c (zapi_ipv4_delete): Remove OLD_RIB part. - -2001-01-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.90 is released. - -	* command.c: Update Copyright year. - -2001-01-09  Matthew Grant <grantma@anathoth.gen.nz> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* zebra.h (ZEBRA_NEXTHOP_IFINDEX): Define ZEBRA_NEXTHOP_* values. - -2000-12-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra.h (ZEBRA_ERR_RTEXIST): Make zebra error code to negative -	value. - -2000-12-25  "Wataru Uno" <wataru@po.ntts.co.jp> - -	* vty.c (vtysh_read): Don't allocate new buffer because buffer is -	allocated in vty_new (). - -2000-12-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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" <wataru@po.ntts.co.jp> - -	* buffer.c (buffer_flush_vty): If IOV_MAX defined in the System, -	then all lines write by IOV_MAX. - -2000-12-12  Michael Rozhavsky <mrozhavsky@opticalaccess.com> - -	* command.c (config_write_file): Robust method for writing -	configuration file and recover from backing up config file. - -2000-11-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* smux.c (smux_connect): More fail check. -	(smux_trap): When SMUX connection is not established, do nothing. - -2000-11-28  Gleb Natapov <gleb@nbase.co.il> - -	* 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  <kunihiro@zebra.org> - -	* linklist.c (listnode_add_after): Add node right after the -	listnode pointer. - -2000-11-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* smux.h: Pass struct variable to WriteMethod. - -2000-11-25  Frank van Maarseveen <F.vanMaarseveen@inter.NL.net> - -	* 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  <kunihiro@zebra.org> - -	* smux.c (smux_trap): SMUX trap implementation. - -2000-11-19  Akihiro Mizutani <mizutani@dml.com> - -	* 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 <ukl2@rz.uni-karlsruhe.de> - -	* zclient.c (zebra_interface_add_read): Read hardware address when -	hw_addr_len is greater than 0. - -2000-11-15  Akihiro Mizutani <mizutani@dml.com> - -	* plist.c: The rule of "len <= ge-value <= le-value"  -	was changed to "len < ge-value <= le-value". - -2000-11-09  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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 <rickp@rossfell.co.uk> - -	* memory.h (enum): Add MTYPE_COMMUNITY_REGEXP. - -2000-11-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (config_exit): Fix bug of missing break after case -	BGP_VPNV4_NODE. - -2000-10-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vector.c (vector_unset): Check i is not nevative. - -2000-10-24  Arkadiusz Miskiewicz <misiek@pld.org.pl> - -	* 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 <jochen@scram.de> - -	* 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  <kunihiro@zebra.org> - -	* command.c (cmd_init): Log related command are only installed for -	terminal mode. - -2000-10-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.am (libzebra_a_SOURCES): Remove duplicated buffer.c. - -	* zebra.h: Remove #warn directive. - -2000-10-20  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <nobby@po.ntts.co.jp> - -	* table.c (route_table_free): Reimplement route_table_free(). - -2000-10-11  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* memory.h (enum): Add MTYPE_SOCKUNION. - -2000-10-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.89 is released. - -2000-10-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* linklist.c (list_add_node_head): Delete unused function. -	(list_add_node_tail): Likewise. - -2000-09-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* stream.c (stream_read_unblock): Add new function for unblocking -	read. - -2000-09-26  Jochen Friedrich <jochen@nwe.de> - -	* smux.c (smux_register): Fix bug of can't register more than one -	MIB with SMUX. - -2000-09-26  Makoto Otsuka <otsuka@inl.ntts.co.jp> - -	* 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  <kunihiro@zebra.org> - -	* linklist.h (struct _list ): Add member cmp for compare function. -	(struct _list ): Member up is deleted - -2000-09-12  David Lipovkov <dlipovkov@OpticalAccess.com> - -	* if.c: Include RIP_API header when RIP API is enabled. - -2000-09-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* prefix.c (prefix_free): Siplify prefix_free(). - -	* keychain.c (key_match_for_accept): strncmp check bug is fixed. - -2000-09-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra.h: Merge roken.h into zebra.h. - -2000-09-05  Akihiro Mizutani <mizutani@dml.com> - -	* routemap.c (route_map_init_vty): Install route-map command to -	RMAP_NODE. - -2000-08-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* thread.c (thread_get_id): Remove pthread related garbage. - -	* command.h (struct host): Likewise. - -	* zebra.h: Likewise. - -2000-08-20  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.h (node_type ): Add AAA node for authentication. - -	* vty.c (vty_close): Do not close stdout. - -2000-08-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* zebra-0.88 is released. - -2000-08-17  Magnus Ahltorp <ahltorp@nada.kth.se> - -	* 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 <gleb@nbase.co.il> - -	* zclient.c (zclient_redistribute_unset):  New function added. - -2000-08-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* vty.c (vty_event): Use vector_set_index() instead of -	vector_set(). - -2000-08-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra.h (ZEBRA_XXX_DISTANCE_DEFAULT): Define Default -	Administrative Distance of each protocol. - -2000-08-07  Matthew Grant <grantma@anathoth.gen.nz> - -	* 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 <gleb@nbase.co.il> - -	* 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  <kunihiro@zebra.org> - -	* 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 <gleb@nbase.co.il> - -	* routemap.c (route_map_index_delete): Add check for route-map is -	empty or not. - -2000-08-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zclient.c (zebra_ipv4_add): Change socket arguemnt with struct -	zclient. - -2000-08-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <davidl@nbase.co.il> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* vty.c: Use vector for VTY server thread listing instead of -	single value. - -2000-07-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* keychain.c (no_key_chain): "no key chain WORD" command is added. - -2000-07-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* if.c: Help strings updates. - -2000-07-11  Akihiro Mizutani <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* command.h (node_type ): Change KEYCHAIN_NODE and -	KEYCHAIN_KEY_NODE place just before INTERFACE_NODE. - -2000-07-09  Jochen Friedrich <jochen@scram.de> - -	* smux.c (config_write_smux): Fixes the option to override OID and -	password for SMUX. - -2000-07-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.h (node_type ): Add SMUX_NODE for SMUX configuration. - -2000-07-09  Toshiaki Takada  <takada@zebra.org> - -	* command.c: Sort descvec command's help. - -	* vty.c (vty_describe_command): Display '<cr>' at the end of -	descriptions. - -2000-07-05  Toshiaki Takada  <takada@zebra.org> - -	* command.c (cmd_ipv6_match), (cmd_ipv6_prefix_match):  Fix bug -	treatment of double colon. - -2000-07-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <takada@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* zebra.h (ZEBRA_REDISTRIBUTE_DEFAULT_ADD): New message for -	request default route. - -2000-07-01  Hideaki YOSHIFUJI ($B5HF#1QL@(B) <yoshfuji@ecei.tohoku.ac.jp> - -	* smux.c: Add IPv6 smux connection code. - -2000-06-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* distribute.c: Fix help strings. - -2000-06-11  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <takada@zebra.org> - -	* command.c (show_startup_config): Add "show startup-config" -	command. - -2000-06-06  Akihiro Mizutani <mizutani@dml.com> - -	* filter.c: Fix help strings. - -2000-06-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* routemap.c: Change NAME to WORD. - -	* plist.c: Fix help strings. - -2000-06-02  Akihiro Mizutani <mizutani@dml.com> - -	* routemap.c: Fix route-map help strings. - -2000-06-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <mizutani@dml.com> - -	* command.h (OSPF_STR):  Macro added. - -2000-05-31  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <takada@zebra.org> - -	* vty.c (show_history):  New defun added. - -2000-05-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <tmo@datus.datus.com> - -	* routemap.c (route_map_add_set): Fix bug of next pointer missing. - -	* table.c (route_table_free): Like wise. - -2000-05-22  Toshiaki Takada  <takada@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* memory.h (enum): Add MTYPE_ECOMMUNITY and MTYPE_ECOMMUNITY_VAL. - -2000-05-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.h (node_type ): Add BGP_VPNV4_NODE. - -2000-05-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (vtysh_accept): Add cast of struct sockaddr * to bind -	argument.  Reported by: Vesselin Mladenov <mladenov@netbg.com>. - -	* filter.c (ipv6_access_list): Add IPv6 prefix example instead of -	IPv4 example.  Reported by: Love <lha@s3.kth.se>. - -	* 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 -	<jinmei@isl.rdc.toshiba.co.jp>. - -2000-04-28  Love <lha@s3.kth.se> - -	* prefix.h (struct prefix): Add padding. - -2000-04-28  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (show_version): Update copyright year. - -2000-04-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* routemap.c (route_map_apply): When map is NULL, return deny. - -2000-04-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* command.h (node_type ): Change RDISC_NODE to IRDP_NODE. - -2000-04-18  Toshiaki Takada  <takada@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <jochen@scram.de> - -	* 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  <takada@zebra.org> - -	* memory.[ch] (enum): Add MTYPE_OSPF_EXTERNAL_INFO. - -2000-03-26  Love <lha@s3.kth.se> - -	* zclient.c (zclient_read): Add nbytes size check for -	ZEBRA_HEADER_SIZE.  Check return value of steam_read (). - -2000-03-26  Rick Payne <rickp@rossfell.co.uk> - -	* routemap.c: Add flexible route-map commands such as on-match -	next, on-match goto N. - -	* routemap.h: Likewise - -2000-03-23  Adrian Bool <aid@u.net.uk> - -	* command.c (config_log_trap): Add new command "log trap -	PRIORITY". - -2000-03-14  Toshiaki Takada  <takada@zebra.org> - -	* 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 <hideto.yamakawa@soliton.co.jp> - -	* str.c (snprintf): Fix bug of calling sprintf instead of -	vsprintf. - -2000-01-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* memory.h (enum): Add MTYPE_RIP_PEER. - -2000-01-15  Toshiaki Takada  <takada@zebra.org> - -	* memory.h (enum): Add MTYPE_OSPF_CRYPT_KEY. - -2000-01-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.h (node_type ): Add MASC_NODE for masc. - -2000-01-09  Wang Jianliang <wangjl@soim.net> - -	* 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  <kunihiro@zebra.org> - -	* memory.h (enum): Add MTYPE_BGP_STATIC. - -1999-12-23  Alex Zinin <zinin@amt.ru> -	* zebra.h, zclient.*: dynamic int up/down message -	support - -1999-12-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* thread.c (thread_cancel_event): Add a function for clean up -	events. - -1999-12-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* dropline.c: Delete file. -	dropline.h: Linewise.	 - -1999-12-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <takada@zebra.org> - -	* command.c (cmd_ipv6_match): New function added. -	(cmd_ipv6_prefix_match): Likewise. -	 -1999-12-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <rumen@linux.tu-varna.acad.bg> - -	* memory.c (struct mstat): Revert to support MEMORY_LOG. - -1999-11-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: Bump up to 0.81c for testing new kernel codes. - -1999-11-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* thread.h (struct thread): Pthread support is disabled all -	platform. - -1999-11-21  Michael Handler <handler@sub-rosa.com> - -	* Include <limits.h> and <strings.h> under SUNOS_5. - -1999-11-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* sockunion.c (in6addr_cmp): Enclosed by #define HAVE_IPV6 -1999-11-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.h (node_type ): Add BGP_IPV4_NODE and BGP_IPV6_NODE. - -1999-11-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (disable): Add `disable' command. - -1999-11-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* plist.c (vty_prefix_list_install): Add any check. - -1999-11-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.h (node_type ): Add DUMP_NODE. - -1999-11-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* smux.c: Change default SMUX oid to compatible with gated. - -1999-10-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if_rmap.c: New file added. - -	* if_rmap.h: New file added. - -1999-10-29  Alex Zinin  <zinin@amt.ru> - -	* hash.c: add hash_free() function - -1999-10-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* client.c: Merged with zclient.c. -	* client.h: Merged with zclient.h. - -1999-10-15  Jordan Mendelson <jordy@wserv.com> - -	* md5.c: Imported from GNU C Library. -	* md5-gnu.h: Likewise. - -1999-10-15  Jochen Friedrich <jochen@scram.de> - -	* smux.c (smux_getresp_send): SMUX_GETRSP codes improvement. - -1999-10-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* smux.h: New file added. - -	* snmp.c: Rename to smux.c. - -1999-10-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (cmd_execute_command_strict): Filter ambious commands. -	(cmd_filter_by_string): Change to return enum match_type. - -1999-10-01  Toshiaki Takada  <takada@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* plist.c (prefix_list_init_ipv4): VTY user interface is improved. - -1999-09-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <takada@zebra.org> - -	* command.c (cmd_filter_by_completion), -	(is_cmd_ambiguous): Check IPv4 address, IPv4 prefix and range  -	parameter matches range. - -1999-09-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* routemap.c (route_map_apply): Returm RM_DENYMATCH when no match -	is performed. - -1999-09-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (vty_read): Control-C stop VTY_MORE mode. - -1999-09-20  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* vty.c (vty_terminate_all): New function added for reload -	support. - -1999-09-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* memory.h (enum): Add new type MTYPE_OSPF_EXTERNAL_ROUTE. - -1999-08-31  Janos Farkas <chexum@shadow.banki.hu> - -	* vty.c (vty_read): Handle also 0x7f (alt-backspace), just like -	esc-ctrl-h (delete word backwards). - -1999-08-24  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if.h: Add if_nametoindex for NRL. - -1999-08-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if.c (if_create): New function. - -1999-08-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* snmp.c: New file. - -1999-08-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* stream.c (stream_put): stream_memcpy () is changed to stream_put -	().  stream_get () is added. - -1999-08-18  Toshiaki Takada  <takada@zebra.org> - -	* memory.h (enum): Add MTYPE_OSPF_LSA_DATA. -	 -1999-08-18  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* table.c (route_table_finish): add function frees table. - -1999-08-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* memory.h (enum): Add MTYPE_RTADV_PREFIX. - -1999-08-11  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if.h (struct interface ): hw_address, hw_address_len added. - -1999-08-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if.h (struct interface ): Change structure member if_data to -	info, index to ifindex. - -1999-08-08  Rick Payne <rickp@rossfell.co.uk> - -	* routemap.c: Multi protocol route-map modification. - -	* routemap.c (route_map_apply): Route match process bug is fixed. - -1999-08-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* thread.c (thread_fetch): When signal comes, goto retry point. - -1999-08-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.am: Add sockopt.c and sockopt.h -	* sockopt.c: New file. -	* sockopt.h: New file. -	 -1999-08-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h (ZEBRA_VERSION): Release zebra-0.75 - -1999-08-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* memory.h (enum): Add MTYPE_RIPNG_AGGREGATE. - -1999-07-31  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* sockunion.h: Add sockunion_getpeername (). - -1999-07-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: Release zebra-0.74 - -1999-07-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* memory.h (enum): MTYPE_OSPF_PATH are added. - -1999-07-22  Toshiaki Takada  <takada@zebra.org> - -	* memory.h (enum): MTYPE_OSPF_NEXTHOP is added. - -1999-07-21  Toshiaki Takada  <takada@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* plist.c (config_write_prefix): Set write flag when configuration -	is written. - -1999-07-15  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>  - -	* prefix.c : prefix_cmp() added. change apply_mask() to -	apply_mask_ipv4(), and new apply_mask() added. - -1999-07-14  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* prefix.c (prefix2str): append prefixlen. - -1999-07-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (config_terminal): Change "config terminal" to -	"configure terminal".  Reported by Georg Hitsch -	<georg@atnet.at>. -	(config_terminal_length): `terminal length <0-512>' is added.  At -	this moment this command is only usef for vty interface. -	Suggested by Georg Hitsch <georg@atnet.at>. - -1999-07-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* routemap.c (rulecmp): Add wrapper function of strcmp. - -1999-07-08  Rick Payne <rickp@rossfell.co.uk> - -	* sockunion.c (inet_aton): Fix bug of inet_aton. - -1999-07-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h (ZEBRA_VERSION): Start zebra-0.73 - -1999-07-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: Bump up to 0.72. - -1999-07-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (install_default): New function for install default -	commands to the node. - -	* memory.h (enum): MTYPE_NEXTHOP is added. - -1999-07-01    <kunihiro@zebra.org> - -	* command.c (no_banner_motd): `no banner motd' command added. - -1999-06-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <kay@dti.ad.jp> - -	* vty.c (vty_read_config): Fix bug of configuration file path -	detection. - -1999-06-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h: Bump up to 0.70. - -1999-06-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* buffer.h (GETL): Remove GETL macro. - -	* version.h: Bump up to 0.69. - -1999-06-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if.c (connected_add): Commented out connected_log. - -1999-06-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* table.c (route_next_until): New function. - -	* version.h: Bump up to 0.68. - -1999-06-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* version.h: Bump up to 0.67. - -1999-05-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (zencrypt): New function for encrypt password. - -	* command.h (struct host): Add password_encrypt and -	enable_encrypt. - -1999-05-30  Jochen Friedrich <jochen@scram.de> - -	* command.h (struct host): New member encrypt is added for -	encrypted password. - -1999-05-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* version.h (ZEBRA_VERSION): Update to 0.66. - -1999-05-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* buffer.h (GETC,GETW): Macro deleted. - -1999-05-15  Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar> - -	* prefix.h (IPV4_NET0, IPV4_NET127): Macro added. - -1999-05-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (service_advanced_vty): New command added. -	(no_service_advanced_vty): Likewise. - -1999-05-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 -	<srb@cuci.nl>. - -	* 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 <srb@cuci.nl> - -	* 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 <sys/utsname.h> 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 <james@whispering.org> - -	* command.c (config_exit): Close connection when `exit' command is -	executed at ENABLE_NODE. - -1999-05-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* memory.h (enum): Add MTYPE_CLUSTER, MTYPE_CLUSTER_VAL. - -1999-05-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h (ZEBRA_VERSION): Bump up to 0.64 for next beta -	release. - -1999-05-04  Yasuhiro Ohara <yasu@sfc.wide.ad.jp> - -	* linklist.c (list_delete_all_node): bug fix.  -	previous code loses current position when node -	is deleted. - -1999-05-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <yasu@sfc.wide.ad.jp> - -	* 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  <kunihiro@zebra.org> - -	* log.c (zvlog_debug): Fix yasu's change. - -1999-05-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* plist.c (prefix_list): Fix typo. - -1999-04-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Set version to 0.63 for first beta package. - -1999-04-27  Carlos Barcenilla <barce@frlp.utn.edu.ar> - -	* prefix.c (str2prefix_ipv4): Fix prefix length check. -	(str2prefix_ipv6): Likewise. - -1999-04-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* memory.h (enum): Add MTPYE_PREFIX_LIST and -	MTYPE_PREFIX_LIST_ENTRY. - -	* command.h (node_type ): Add PREFIX_NODE. - -1999-04-25  Carlos Barcenilla <barce@frlp.utn.edu.ar> - -	* 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  <kunihiro@zebra.org> - -	* 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 <barce@frlp.utn.edu.ar> - -	* command.c (show_version): `show version' command added. - -1999-04-19  Kunihiro Ishiguro <kunihiro@zebra.org> - -	* prefix.c (str2prefix_ipv6): Prefix length overflow check. - -1999-04-19  Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar> - -	* prefix.c (str2prefix_ipv4): Prefix length overflow check. - -1999-04-19  Alex Bligh <amb@gxn.net> - -	* 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  <kunihiro@zebra.org> - -	* memory.c: Change xmalloc to zmalloc.  xcalloc, xrealloc, xfree, -	xstrdup are likewise. - -1999-04-18  Yasuhiro Ohara <yasu@sfc.wide.ad.jp> - -	* thread.c: Add thread_execute for other routing daemon. -	OSPF tasks need to be generated by "sheduled" and "executed". - -1999-04-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* buffer.c: Rewrite buffer_write and buffer_flush related -	functions for fixing bugs.  Reason of the problem and fix is -	suggested by Alex Bligh <amb@gxn.net>. -	 -1999-04-12  Alex Bligh <amb@gxn.net> - -	* command.c (cmd_entry_function_descr): Added for variable -	argument help display. - -1999-04-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* regex.c, regex-gnu.h: Imported from GNU sed-3.02 distribution. - -1999-03-24  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* stream.c: stream_fifo_free bug is fixed. - -1999-03-19  Toshiaki Takada  <takada@zebra.org> - -	* stream.c (stream_strncpy): Added for getting any length bytes -	from stream. - -1999-03-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* version.h (ZEBRA_BUG_ADDRESS): New macro added. - -1999-03-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* vty.h: add VTY's timeout function. - -1999-03-05    <kunihiro@zebra.org> - -	* command.h (node_type ): Add OSPF6_node. - -1999-03-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra.h: Check HAVE_SYS_SELECT_H when include <sys/select.h> - -1999-03-03  Jeroen Ruigrok/Asmodai <asmodai@wxs.nl> - -	* zebra.h: Include <net/if_var.h> if it exists. - -1999-03-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* daemon.c: Return integer value.  File descriptor close is added. - -	* memory.h (enum): add MTYPE_OSPF_LSA. - -1999-02-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rsh.c: Remove empty file. - -1999-02-22    <kunihiro@zebra.org> - -	* routemap.c: Add add/delete hook to route_map_master. - -1999-02-19  Peter Galbavy  <Peter.Galbavy@knowledge.com> - -	* str.[ch] added to supply wrappers for snprintf(), strlcat() and -	strlcpy on system without these. - -1999-02-18  Peter Galbavy  <Peter.Galbavy@knowledge.com> - -	* syslog support added - -1999-02-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* filter.c (access_list_add_hook): added for hook function management. -	* filter.c (access_list_delete_hook): Likewise. - -1999-01-19  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* stream.c: New file. -	* stream.h: New file. -	* Divide stream related fucntions from buffer.[ch] into stream.[ch]. -	 -1999-01-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* memory.h (enum): add MTYPE_STREAM, MTYPE_STREAM_DATA - -	* buffer.c (stream_new): Set MTYPE_STREAM to XMALLOC argument. - -1998-12-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* routemap.c: route_map_index_delete() added. - -1998-12-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* buffer.c (buffer_empty): check cp instead of sp. - -1998-12-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* radix.[ch]: Deleted. - -1998-12-15  Magnus Ahltorp <map@stacken.kth.se> - -	* buffer.c: Prototype fixes. -	* prefix.c: Likewise. -	* sockunion.c: Likewise. -	* sockunion.h: Likewise. - -1998-12-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (vty_read): DELETE key works as vty_delete_char. - -1998-12-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* log.c (time_print): chane %y to %Y. - -1998-12-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* distribute.c: new file. - -1998-12-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* filter.c: Change prefix_ipv4 to prefix and add support of -	prefix_ipv6 filtering. - -1998-12-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6 inet6-apps -	header includes. - -1998-12-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* log.c (log_flush): fix function name typo. - -1998-12-04  Yasuhiro Ohara <yasu@sfc.wide.ad.jp> - -	* memory.h: OSPF memory type is added. - -1998-11-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@debian.zebra.org> - -	* prefix.c (prefix_ipv4_any): add prefix_ipv4_any(). - -1998-08-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* network.h: New file. - -1998-08-24  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (vty_will_echo): function name change from vty_off_echo. - -1998-08-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* buffer.h: add PUTC,PUTW,PUTL macros. - -1998-07-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* route.[ch]: renamed to prefix.[ch] - -1998-06-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* prefix_in, prefix_in6 is replaced by prefix_ipv4, prefix_ipv6. - -	* Makefile.am: @INCLUDES@ is deleted from INCLUDES. - -1998-06-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* host.[ch]: merged with command.[ch] - -1998-05-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.am (libzebra_a_SOURCES): add route.c to libzebra_a_SOURCES. - -1998-05-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* route.c (str2prefix): str2prefix () is gone. - -1998-05-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* vector.c: malloc,free,realloc -> XMALLOC,XFREE,XREALLOC. -	* linklist.c: same as above. - -1998-04-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* filter.[ch]: added. - -1998-04-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (config_who): return CMD_SUCCESS - -1998-04-01  Jochen Friedrich <jochen@scram.de> - -	* 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" <hannes@boehm.org> - -	* if.c: DEFUN(interface_desc) added. - -1998-03-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if.c: separated from ripd/rip_interface.c - -1998-03-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* thread.[ch] : added. - -1998-02-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* radix.c (radix_lookup_rt): add mask check. -	(radix_delete_duproute): add mask check. - -1998-02-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (config_write_file): fix vty -> file_vty. - -1998-02-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (cmd_filter_ambiguous): add complex type treatment. - -1998-02-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (vty_time_print): function added. -	(vty_complete_command): now [...] element isn't shown by completion. - -1998-01-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c : change from cmd_install_node() to install_node(). - -1998-01-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* route.[ch]: struct rt{} is replaced by struct prefix{}. - -1998-01-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c (cmd_execute_command): check command length. - -	* timer.c (zebra_timer_set): add zebra_timer_set. - -1998-01-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* print_version.c (print_version): Now Copyright is 1996-1998. - -	* sockunion.c (sockunion_log): moved from ../zebra/route.c - -1997-12-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* host.c (config_logfile): change 'log PATH' to 'logfile PATH'. - -	* sockunion.c (sockunion_sameprefix): add same prefix for -	sockunion. - -1997-12-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* fd.h: add family for address family - -1997-12-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.o -	* vty.o -	* host.o    is moved from ../zebra - -1997-08-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* make library directory. - diff --git a/m4/ChangeLog b/m4/ChangeLog deleted file mode 100644 index 0a60d6abd6..0000000000 --- a/m4/ChangeLog +++ /dev/null @@ -1,16 +0,0 @@ -2007-02-02  Greg Troxel  <Greg Troxel <gdt@ir.bbn.com>> - -	* 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  <gdt@poblano.ir.bbn.com> - -	* 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 <paul@dishone.st> - -	* *.m4: import of libtool CVS m4 autoconf files. These only -	  configure libtool support for languages where configure has -	  already called AC_PROG_<lang>, less fragile. -	* README.txt: doc file for contents of this directory. diff --git a/ospf6d/ChangeLog b/ospf6d/ChangeLog deleted file mode 100644 index f4ad9283bf..0000000000 --- a/ospf6d/ChangeLog +++ /dev/null @@ -1,1199 +0,0 @@ -2007-10-22 Phil Spagnolo <phillip.a.spagnolo@boeing.com> - -	* 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 <prusnak@suse.cz> - -	* ospf6_lsa.c: (no_debug_ospf6_lsa_hex_cmd) Fix bug: must use strcmp -	  to compare strings. - -2007-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <prusnak@suse.cz> - -	* ospf6_lsa.c: (ospf6_lsa_handler_name) Fix bug: must use strcmp -	  to compare strings. - -2007-02-02  Greg Troxel  <Greg Troxel <gdt@ir.bbn.com>> - -	* ospf6d.h: remove declaration of errno (should be via header) - -2006-03-01  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* ospf6_asbr.c: fix bug of needless forwarding address -	* ospf6d.h: version 0.9.7r - -2006-02-22  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* valgrind check and memory fix -	* route table identification string added -	* ospf6d.h: version 0.9.7q - -2005-10-20  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* ospf6_neighbor.c: add the calling of ospf6_maxage_remove () -	when the neighbor went out of Exchange/Loading. - -2005-10-06  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* 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 <laforge@gnumonks.org> - -	* 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 <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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 <hasso at quagga.net> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul@dishone.st> - -	* (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 <ajschorr@alumni.princeton.edu> - -	* ospf6_interface.[ch]: (ospf6_interface_lookup_by_name) Remove unused -	  function. - -2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <Vincent.Jardin@6wind.com> - -	* 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 <paul@dishone.st> - -	* ospf6_asbr.c: Add "hsls" to the zroute_name const char array. - -2004-12-24 Hasso Tepper <hasso at quagga.net> - -	* *.c: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* ospf6_snmp.c: Fix compile: listnode -> struct listnode *. - -2004-11-25 Hasso Tepper <hasso at quagga.net> - -	* ospf6_main.c: Make group to run as configurable. - -2004-11-05 Phil Spagnolo <phillip.a.spagnolo@boeing.com> -       * 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <paul@dishone.st> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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 <hasso at quagga.net> - -	* ospf6_zebra.c: Use router id from zebra daemon if it wasn't set in -	configuration. - -2004-09-25  Hasso Tepper  <hasso at estpak.ee> - -	* ospf6_asbr.c, ospf6_lsa.c, ospf6_proto.c, ospf6_proto.h: Fix -	compiler warnings. - -2004-09-23 Hasso Tepper <hasso at quagga.net> - -	* *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-13  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* ospf6_route.c: route_count_assert bug fix -	* ospf6d.h: version 0.9.7n - -2004-09-03  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* *.[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  <hasso at quagga.net> - -	* ospf6_main.c: Modify for sigevents. - -2004-08-26  Hasso Tepper  <hasso@estpak.ee> - -	* ospf6_interface.c, ospf6_top.c, ospf6d.c: for vtysh. - -2004-08-19  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* ospf6_asbr.c: Bug in ASBR check fixed. -	* ospf6d.h: version 0.9.7k - -2004-08-19  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* ospf6_asbr.c: Bug in AS-External Origination fixed. -	* ospf6d.h: version 0.9.7j - -2004-08-15  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* *.c: Area support almost done. (almost ! ;p) -	* ospf6d.h: version 0.9.7i - -2004-08-15  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* *.[c,h]: LSA refreshing is changed and cleaned up. -	* ospf6d.h: version 0.9.7f - -2004-08-01  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <hasso@estpak.ee> - -	* ospf6_interface.c, ospf6_zebra.c: use ifp->mtu6 instead of -	  ifp->mtu. - -2004-07-23 Paul Jakma <paul@dishone.st> - -	* ospf6_main.c: Delete LOG_PERROR, not portable. -	* ospf6_network.c: (ospf6_set_pktinfo) use setsockopt_ipv6_pktinfo - -2004-07-06  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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 <hasso@estpak.ee> - -	* *.*: 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" -> <lib/version.h> - -2004-05-17  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* *.[ch]: rewrite all source code from scratch -	* ospf6d.h: version 0.9.7 - -2003-08-11  Taisuke Sasaki <sasaki@soft.net.fujitsu.co.jp> - -        * ospf6_ism.c: DR Election bug fix. - -2003-04-25  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <jardin@6wind.com> - -	* ospf6_interface.c: update link-local address on interface creation. - -2002-11-09  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* ospf6_asbr.c: bug of failing ASE lsa refresh fixed. -	* version: 0.9.6n - -2002-10-01  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* ospf6_spf.c: unwanted assert() in ospf6_spf_nexthop_calculation() -	is deleted. -	* version: 0.9.6l - -2002-07-14  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <kunihiro@ipinfusion.com> - -	* zebra-0.93 released. - -2002-07-07  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* ospf6_route.c: [zebra 13514] bug fix. -	thanks to Harald Koch. -	* version: 0.9.6b - -2002-04-22  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* merged with "current" version. -	* version: 0.9.6 - -2001-03-11  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* ospf6_lsdb.c ospf6_spf.c: log message changed for debug. - -2001-02-20  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* version: 0.9.5g -	* ospf6_asbr.c: fix for the bug that AS-External route -	is not get removed. - -2001-02-09  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* ospf6_lsdb.c: crash bug while receiving wrong LSA scope bit -	has been temporarily fixed - -2001-12-20  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* ospf6_prefix.c: Intra-prefix-LSA bug fixed. -	* ospf6_abr.[ch]: added (only just placeholder yet) - -2001-11-20  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* ospf6_lsa.c: 'force-prefix' was not executed. fixed. -	* ospf6d.h: version: 0.9.5b - -2001-10-13  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <kunihiro@ipinfusion.com> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <kunihiro@ipinfusion.com> - -	* 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  <kunihiro@ipinfusion.com> - -	* zebra-0.92a released. - -2001-08-15  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.92 released. - -2001-08-09  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* ospf6_message.c ospf6_ism.c: -	Bug of router_id comparison - -2001-04-17  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* ospf6_route.c: BUG in AS-External route calculation fixed. -	It was using OLD LSDB... -	Version: 0.8.u- - -2001-04-08  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <kunihiro@zebra.org> - -	* zebra-0.91 is released. - -2001-01-04  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <kunihiro@zebra.org> - -	* zebra-0.90 is released. - -2001-01-04  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <kunihiro@zebra.org> - -	* ospf6d.h (OSPF6_VTYSH_PATH): Change "/tmp/ospf6d" to -	/tmp/.ospf6d". - -2000-12-29  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* ospf6_dump.[ch]: simplified. - -2000-12-19  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* ospf6_route.c: Fix bug of using unavailable route. -	version: 0.8.d - -2000-11-30  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* ospf6_spf.c: calculate statistics. version: 0.8.d - -2000-11-26  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* ospf6_mesg.c, ospf6_nsm.c: LSDB sync bug fixed. -	version: 0.8.c - -2000-11-26  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* 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  <yasu@sfc.wide.ad.jp> - -        * 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  <kunihiro@zebra.org> - -	* zebra-0.89 is released. - -2000-09-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ospf6_lsdb.c (ospf6_lsdb_remove_maxage_lsa): Fix compile -	warnings. - -2000-08-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.88 is released. - -2000-08-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ospf6_rtable.h (struct ospf6_nexthop): Change ifindex type from -	unsigned long to unsigned int. - -2000-04-28  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ospf6d.h: Include some headers for avoid warning. - -	* ospf6_routemap.h: Add newfile. - -1999-11-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ospf6_network.c: Respect IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP -	rather than RFC2133. - -1999-10-21  Jun-ichiro itojun Hagino <itojun@itojun.org> - -	* ospf6_network.c (ospf6_ipv6_decode_ipv4): Fix bug of conversion -	from IPv4 Mapped Address to IPv4 address. - -1999-08-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ospf6_lsa.c (construct_link_lsa): Enclose KAME specific part by -	#ifdef/#endif. - -1999-07-29  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* ospf6_mesg.c: add new message process function. - -1999-07-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ospf6_main.c (sighup): Call of log_rotate() removed. - -1999-07-24  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	ospf6_dbex.{c,h}: variable "acknowledge" has been deleted. - -1999-07-22  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* *.{c,h}: lsa data structure has been drastically -	changed. - -1999-07-16  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* *.{c,h}: bug of updating LSA's which is self -	originated has been fixed. - -1999-07-14  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* *.{c,h} : log clean up. - -1999-07-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ospf6d.c (ospf6_init): Change to use install_default. - -1999-07-03  Yasuhiro Ohara <yasu@sfc.wide.ad.jp> - -	* ospf6_rtable.c (nexthop_*): added some function that handles -	new nexthop structure. - -1999-07-01  Rick Payne <rickp@rossfell.co.uk> - -	* ospf6_zebra.c (ospf6_zebra_init): Install standard commands to -	ZEBRA_NODE. - -1999-06-09  Yasuhiro Ohara <yasu@sfc.wide.ad.jp> - -	* ospf6_rtable.h: added for new routing table of ospf6d - -1999-05-14  Stephen R. van den Berg <srb@cuci.nl> - -	* ospf6_main.c (signal_init): SIGTERM call sigint. -	(sigint): Loggging more better message. - -1999-05-13  Yasuhiro Ohara <yasu@sfc.wide.ad.jp> - -	*ospf6_spf.c (get_prefix_lsa_of_vertex): bug fix about network vertex. - -1999-05-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <yasu@sfc.wide.ad.jp> - -	* 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  <kunihiro@zebra.org> - -	* ospf6_zebra.h (struct zebra): Add hitory entry to structure. - -1999-05-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <yasu@sfc.wide.ad.jp> - -	* 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  <kunihiro@zebra.org> - -	* Makefile.am: Add file dependency. -	(depend): Add target. - -1999-05-02  Yasuhiro Ohara <yasu@sfc.wide.ad.jp> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* ospf6_mesg.c (make_hello): Add check of SIN6_LEN - -1999-04-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* mcast_join(),mcast_leave()'s argument socket length is removed. - -1999-04-08    <kunihiro@zebra.org> - -	* ospf6_zebra.h (ospf_zebra_read): Fix typo. - -	* ospf6_interface.h: Tempolary add struct rt_addrinfo. - -1999-03-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Merge from ospfd-zebra-990303 codes. - -1999-02-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.in: add new file. - -	* Makefile.am: @INCLUDES@ is added for OS/library specific IPv6 -	directory search. - -	* Import files from Yasuhiro Ohara <yasu@sfc.wide.ad.jp>'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 e678affdc4..0000000000 --- a/ospfclient/ChangeLog +++ /dev/null @@ -1,71 +0,0 @@ -2005-11-24 Paul Jakma <paul.jakma@sun.com> - -	* ospf_apiclient.c: add static qualifier to relevant functions. -	* ospfclient.c: ditto - -2005-04-20 Paul Jakma <paul@dishone.st> - -	* Makefile.am: Add @INCLUDES@ and srcdir to allow out-of-tree -	  builds to work. - -2004-06-30  Greg Troxel  <gdt@poblano.ir.bbn.com> - -	* Makefile.am: Add libtool/shlib support. - -2003-01-10  Ralph Keller <keller@tik.ee.ethz.ch> -	* New ChangeLog -	 -2003-01-08  Ralph Keller <keller@tik.ee.ethz.ch> -	* apiclient message passing bug resolved  -	* (proposed by Masahiko) - -2002-10-09  Ralph Keller <keller@tik.ee.ethz.ch> -	* Includes patch in OSPFd for ISM, NSM, neighbor -	 -2002-09-16  Ralph Keller <keller@tik.ee.ethz.ch> -	* Current patch vs. Zebra-0.93b  - -2002-08-22  Ralph Keller <keller@tik.ee.ethz.ch> -	* Bugfix: LSA updates are now received only once even  -	* if multiple opaque types are registered  - -2002-08-06  Ralph Keller <keller@tik.ee.ethz.ch> -	* Upgrade of OSPF API to Zebra-0.93a. - -2002-06-13  Ralph Keller <keller@tik.ee.ethz.ch> -	* Opaque LSA origination bug fixed by Masahiko.  -	* This code is based on 0.93-pre - -2002-05-03  Ralph Keller <keller@tik.ee.ethz.ch> -	* 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 <keller@tik.ee.ethz.ch> - -	* new autoconf and automake files, now called configure.in -	* instead of configure.ac - -2002-04-24  Ralph Keller <keller@tik.ee.ethz.ch> - -	* 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 <keller@tik.ee.ethz.ch> - -	* 2-way phase connection setup - -2002-04-05  Ralph Keller <keller@tik.ee.ethz.ch> - -        * Changes incorporated as proposed by Masahiko - -2002-04-05  Ralph Keller <keller@tik.ee.ethz.ch> - -        * autoconf and automake-style Makefile -	 -2002-04-04  Ralph Keller <keller@tik.ee.ethz.ch> - -        * 1st public release of OSPF API -	 diff --git a/ospfd/ChangeLog b/ospfd/ChangeLog deleted file mode 100644 index 30e2d60b66..0000000000 --- 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 <paul.jakma@sun.com> - -	* ospf_spf.c: (ospf_spf_next) Finish off the explanatory -	  comment made in previous commit - -2007-08-07 Atis Elsts <atis@mikrotik.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <milon@wq.cz> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <yar@comp.chem.msu.su> - -	* (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 <ajschorr@alumni.princeton.edu> - -	* 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 <andy@andynet.net> - -	* 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 <jkrabbendam@aimsys.nl> - -	* 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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* ospf_neigbor.h: (struct ospf_neighbor) Add some additional -	  neighbour state statistics fields, timestamps for progressive -	  and regressive state changes, and pointer to event string -	  for the latter state change. -	* ospf_nsm.c: (nsm_notice_state_change) Update new state changs -	  history as required. -	* ospf_vty.c: (show_ip_ospf_neighbor_detail_sub) Print out above -	  new per-neighbour state change stats. - -2006-07-10 Paul Jakma <paul.jakma@sun.com> - -	* ospf_nsm.c: (nsm_change_state) call nsm_clear_adj for all -	  adjacency losses, hence removing need for nsm_reset_nbr. -	  (nsm_reset_nbr) kill it, clear_adj in previous does fine. -	  (nsm_kill_nbr,nsm_start) remove nsm_reset_nbr call. -	  (ospf_nsm_event) Allow NSM function to be NULL, this along with -	  removal of nsm_reset_nbr, allows a bunch of now useless functiosn -	  to be removed. -	  Remove some useless variables. -	  (nsm_ignore) now useless, remove. -	  (nsm_bad_ls_req) ditto -	  (nsm_seq_number_mismatch)   " -	  (nsm_oneway_received)       " -	  (nsm_inactivity_timer)      " -	  (nsm_ll_down)               " -	  (NSM) replace removed action functions with NULL. -	  (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 <ajschorr@alumni.princeton.edu> - -	* ospf_packet.c: (ospf_hello) Improve NetworkMask mismatch warning -	  message to include interface name and conflicting prefix lengths. - -2006-07-07 Paul Jakma <paul.jakma@sun.com> - -	* ospf_nsm.h: Add a NSM_Deleted neighbour state, to act as dummy -	  state indicating the neighbour is to be deleted. -	* ospf_nsm.c: (general) Use the NSM_Deleted state to delete -	  neighbours, thus allowing code to be slightly more obvious -	  in its flow. -	  (nsm_timer_set) Add NSM_Deleted. Add another timer the code -	  missed. -	  (nsm_kill_nbr) No need for special case call to nsm_change_state -	  anymore. -	  Make the assert and error-handling for same case more readable -	  (Andrew Schorr) -	  Remove the call to ospf_nbr_delete, nsm_change_state can do -	  this generally now via NSM_Deleted. -	  (struct ... NSM) Add the dummy NSM_Deleted state, the 3 events -	  that can lead to nsm_kill_nbr all now transition the NBR to -	  NSM_Deleted and the general change_state function can be left -	  to do the work. -	  (ospf_nsm_event) Special casing of events and early-return can -	  be removed now. -	  On transition into Deleted, delete the nbr. -	* ospf_dump.c: (ospf_nsm_state_msg) Add Deleted. - -2006-07-06 Paul Jakma <paul.jakma@sun.com> - -	* ospf_nsm.c: (ospf_nsm_event) LLDown event also results in nbr -	  being deleted, requires early-return too. Likely explains -	  some crash reports after interface events. - -2006-07-04 Paul Jakma <paul.jakma@sun.com> - -	* ospf_nsm.c: (general) Various small cleanups from Andrew's -	  review of last set of patches. -	  (nsm_timer_set) Loading, Full and default can share -	  same code too. -	  (nsm_should_adj) Can just be one big OR. -	  (nsm_twoway_received) Collapse into return statement. - -2006-07-02 Paul Jakma <paul.jakma@sun.com> - -	* ospf_nsm.c: (nsm_should_adj) New function, just consolidate the -	  10.4 adjacency check from nsm_twoway_received/nsm_adj_ok. -	  (nsm_twoway_received/nsm_adj_ok) Use former. -	  (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 <ajschorr@alumni.princeton.edu> - -	* ospf_vty.c: (show_ip_ospf_neighbor_id) Should show all instances -	  of that neighbor (since it may appear on multiple interfaces) -	  instead of bailing out after showing the first match. - -2006-06-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* ospf_nsm.c: (nsm_twoway_received) When deciding whether to -	  change from state Init to ExStart, the test for whether the -	  neighboring router is DR or BDR should be against the -	  local router's notion of DR/BDR, not the neighbor's view. - -2006-06-28 Erik Muller <erikm@internap.com> - -	* ospfd.h: Define 2 new struct ospf config flags: -	  OSPF_LOG_ADJACENCY_CHANGES and OSPF_LOG_ADJACENCY_DETAIL -	* ospf_nsm.c (nsm_change_state): Log adjacency changes if -	  requested. -	* ospf_vty.c (ospf_log_adjacency_changes): New command function -	  to implement ospf subcommand "log-adjacency-changes [detail]". -	  (no_ospf_log_adjacency_changes) Turn off log-adjacency-changes. -	  (show_ip_ospf) Show whether adjacency changes are logged. -	  (ospf_config_write) Add "log-adjacency-changes [detail]" to config. -	  (ospf_vty_init) Add ospf_log_adjacency_changes and -	  no_ospf_log_adjacency_changes. - -2006-06-26 Paul Jakma <paul.jakma@sun.com> - -	* ospf_abr.c: (general) NSSA translate-candidate ABRs need to -	  be ASBRs, or other routers may rightfully refuse to install -	  translated type-5s LSAs. reported by dendroot@gmail.com. -	  (ospf_abr_nssa_check_status) Detect change in translator -	  state when ABR, and inc/dec redistribute count as when we -	  leave/enter the disabled state - so that translate-enabled -	  ABR properly sets ASBR bit on non-NSSA areas. -	  Run the resulting function through indent to clean it up. -	* ospf_lsa.c: (router_lsa_flags) For purposes of ASBR bit, -	  NSSA area is same as stub area. -	   -2006-06-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* ospf_snmp.c: (ospfTrapNbrStateChange, ospfTrapIfStateChange) Improve -	  info log message to indicate why the trap is being sent. - -2006-06-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* ospf_dump.c: (config_write_debug) Fix typo to show debug ospf nsm -	  status properly (not ism status). - -2006-06-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* ospf_vty.c: ({no_,}ospf_passive_interface) Replace if_lookup_by_name -	  with a call to if_get_by_name -- if the interface does not exist -	  already, it should be created.  And remove the obsolete warning -	  message. - -2006-06-15 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* ospf_lsdb.c: (ospf_lsdb_delete) robustify against NULL arguments, -	  print warning. -	* ospf_lsa.c: (ospf_discard_from_db) ditto. -	  (ospf_maxage_lsa_remover) Check lsa->lsdb for validity, possible -	  mitigation (but not solution) for bug #269. - -2006-05-30 Paul Jakma <paul.jakma@sun.com> - -	* ospf_packet.c: (ospf_read) Debug message about packets -	  received on unenabled interfaces should be conditional on -	  debug being set. - -2006-05-23 Paul Jakma <paul.jakma@sun.com> - -	* ospf_vty.c: (general) Replace in-place route redistribution -	  command and help strings with the new auto-generated defines -	  from lib/route_types.h - -2006-05-13 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* 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 <dimss@telecentrs.lv>. - -2006-03-25 Paul Jakma <paul.jakma@sun.com> - -	* 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 <landonf@opendarwin.org>. -	  However, ospf_read() still can't deal deterministically with -	  multiple interfaces in same subnet. - -2006-03-23 Steve Lawson <steve.lawson@aheadcomusa.com> - -	* ospf_lsa.c: (ospf_lsa_install) Fix incorrect byte-order  -	  conversion of OSPF_MAX_SEQUENCE_NUMBER - -2006-01-19 Paul Jakma <paul.jakma@sun.com> - -        * (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 <j.kammer@eurodata.de> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <lennartsorensen@ruggedcom.com> - -	* (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 <juris@mt.lv> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -        * 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* ospf_ism.h: (OSPF_ISM_TIMER_OFF) Improve macro syntax by enclosing -	  in 'do {...} while(0)'. - -2005-11-14 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* ospf_{dump,spf,vty}.c: Oops, use the internal tv_sub -	  function rather than unportable timersub. - -2005-11-03 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* 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 <alain.ritoux@6wind.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <vincent.jardin@6wind.com> - -	* ospf_dump.c, ospf_ia.c, ospf_spf.c, ospf_ase.c: -	  remove unused DEBUG - -2005-09-29 Alain Ritoux <alain.ritoux@6wind.com> - -	* 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 <alain.ritoux@6wind.com> - -	* 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 <alain.ritoux@6wind.com> - -	* ospf_packet.c: use new md5 API - -2005-09-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* ospf_vty.c: Make "show ip ospf neighbor xxx" commands work. -	  Interface should be specified by name now. - -2005-08-17 Hasso Tepper <hasso at quagga.net> - -	* ospf_vty.c: Check carefully if interface exists before trying to -	  print info about it. - -2005-08-05 Hasso Tepper <hasso at quagga.net> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <hasso at quagga.net> - -	* ospf_nsm.c: Make database exchange for NSSA database work.  - -2005-06-13 Paul Jakma <paul.jakma@sun.com> - -	* 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 <hasso at quagga.net> - -	* 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  <mizutani@net-chef.net> - -	* ospf_ism.c (ospf_elect_bdr/ospf_elect_dr): Fix DR election bug. - -2005-05-26 Paul Jakma <paul.jakma@sun.com> - -	* ospf_abr.c: (ospf_abr_update_aggregate) Fix comment, cost bug itself -	  had been fixed long ago by Sowmini. - -2005-05-19 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (general) Fix memory leaks in opaque AS-scope LSAs, reported and -	  with much debugging done by by scott collins <scollins@agile.tv>. -	* 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 <yar@comp.chem.msu.su> - -	* ospf_network.c: Log ifindex on multicast membership leave/join -	  events. - -2005-05-06 Paul Jakma <paul.jakma@sun.com> - -        * (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 <zpgong@cdc.3upsystems.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* ospf_zebra.c (ospf_zebra_add): Call zclient_send_message instead -	  of writen. - -2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* ospf_interface.h: (ospf_if_lookup_by_name) Remove declaration of a -	  function that does not exist. - -2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* ospf_zebra.c: (zebra_interface_if_lookup) Must use -	  if_lookup_by_name_len. - -2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create. - -2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* ospf_dump.c: (show_debugging_ospf) Show if ospf event debugging -	  is turned on. - -2005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* ospf_snmp.c: Don't crash in snmp query if ospf instance doesn't -	  exist at all. - -2005-03-25 Hasso Tepper <hasso at quagga.net> - -	* ospfd.h: Include log.h, fixes compile with gcc-4.0. - -2005-03-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <eramo at infocom.ing.uniroma1.it> - -	* 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 <hasso at quagga.net> - -	* ospf_ase.c: Don't show messages related to the ase calculations if -	  we are not debugging. - -2005-02-19 Hasso Tepper <hasso at quagga.net> - -	* ospf_api.h: char isn't always signed, but it has to be it here. - -2005-02-19 Paul Jakma <paul.jakma@sun.com> - -	* ospf_packet.c: (ospf_stream_copy) remove -	  (ospf_packet_dup) use stream_copy instead of ospf_stream_copy - -2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* ospf_packet.c: (ospf_recv_packet) Fix silly error wrt allocating -	  ibuf. Thanks Andrew. - -2005-02-14 Paul Jakma <paul.jakma@sun.com> - -	* ospf_packet.c: (ospf_recv_packet) use stream_recvmsg. - -2005-02-11 Hasso Tepper <hasso at quagga.net> - -	* ospf_lsdb.c: Fix sum of checksums calculation. - -2005-02-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* ospf_packet.c: (ospf_write) If sendmsg fails, give more info in the -	  error message. -	   -2005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul@dishone.st> - -	* ospf_packet.c: (various) Remove unneeded stream_set_putp abuse. - -2005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* ospf_network.c: (ospf_sock_init) Save errno before calling -	  ospfd_privs.change. - -2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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  <gdt@fnord.ir.bbn.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* ospf_network.c: Improve all setsockopt error messages to give detailed -	  information on the arguments. - -2004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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  <gdt@fnord.ir.bbn.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* *.c: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* ospf_main.c: (main) The 2nd argument to openzlog has been removed. - -2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* ospf_packet.c: (ospf_db_desc) Reduce priority on a debug message -	  from LOG_NOTICE to LOG_DEBUG. - -2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* ospf_main.c: (sigint) Use zlog_notice for termination message. -	  (main) Issue a startup announcement using zlog_notice. - -2004-11-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* ospf_main.c: Remove #include "debug.h" (was not being used, and -	  lib/debug.h has now been deleted). - -2004-11-25 Hasso Tepper <hasso at quagga.net> - -	* ospf_main.c: Make group to run as configurable. - -2004-11-15  Greg Troxel  <gdt@fnord.ir.bbn.com> - -	* 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 <paul@dishone.st> - -	* ospf_{apiserver,te}.c: ospf_lsa_free's should be ospf_lsa_unlock. - -2004-11-12 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* ospfd.c: (ospf_network_match_iface) revert to previous network -          statement match behaviour. - -2004-11-02 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <aschorr@telemetry-investments.com> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* ospf_main.c, ospf_opaque.c: Disable ospfapi init by default. New -	  command line switch to enable it. - -2004-10-11 Paul Jakma <paul@dishone.st> - -	* 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 <hasso at quagga.net> -	 -	* *.[c|h]: Fix compiler warnings: make some strings const, signed -> -	  unsigned, remove unused variables etc. - -2004-10-07  Greg Troxel  <gdt@claude.ir.bbn.com> - -	* 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 <paul@dishone.st> - -	* ospf_snmp.c: Missed list typedef update -	* ospf_dump.c: Include sockopt.h for header swab functions. - -2004-10-05 Paul Jakma <paul@dishone.st> - -	* ospf_packet.c: replace ospf_swap_iph_to... with -          sockopt_iphdrincl_swab_... - -2004-10-03 James R. Leu <jleu at mindspring.com> - -	* 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 <paul@dishone.st> - -	* 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 <hasso at quagga.net> - -	* 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 <paul@dishone.st> - -        * 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 <hasso at quagga.net> - -	* *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-12 Paul Jakma <paul@dishone.st> - -	* 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  <dwiggins@bbn.com> - -	* 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  <dwiggins@bbn.com> - -	* ospf_spf.h (struct vertex): Comments for flags and structure members. - -2004-08-31  David Wiggins  <dwiggins@bbn.com> - -	* ospf_route.c: When finding an alternate route, log cost as well. - -2004-08-31  David Wiggins  <dwiggins@bbn.com> - -	* ospf_interface.c (ospf_lookup_if_params): Initialize af in -	  struct prefix allocated on stack. - -2004-08-31  David Wiggins  <dwiggins@bbn.com> - -	* ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send -	  acks to AllSPFRouters, rather than All-DR. - -2004-08-27  Hasso Tepper  <hasso at quagga.net> - -	* 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  <dwiggins@bbn.com> - -	* 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  <gdt@fnord.ir.bbn.com> - -	* 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 <paul@dishone.st> - -	* ospf_packet.c: update to match sockopt renames. -	 -2004-08-04 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -        * 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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  <gdt@fnord.ir.bbn.com> - -	* Makefile.am (lib_LTLIBRARIES): make libospf shared - -2004-06-30  Greg Troxel  <gdt@poblano.ir.bbn.com> - -	* Makefile.am: Add shlib support. - -2004-06-10 Hasso Tepper <hasso@estpak.ee> - -	* *: Removed ifdefs HAVE_NSSA. - -2004-06-06 Paul Jakma <paul@dishone.st> - -	* 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 <sagun.shakya@sun.com> - -	* 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 <hasso@estpak.ee> - -	* 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 <paul@dishone.st> - -	* ospf_zebra.c: Sync with lib/zclient changes -	 -2004-05-05 Paul Jakma <paul@dishone.st> - -	* 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 <hasso@estpak.ee> - -	* 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 <hasso@estpak.ee> - -	* 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 <hasso@estpak.ee> - -	* 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 <sowmini.varadhan@sun.com> - -	* ospf_packet.c: Don't drop packets in Solaris x86. -	  [quagga-dev 1005]. - -2004-03-18 Amir Guindehi <amir@datacore.ch> - -	* 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 <sowmini.varadhan@sun.com> - -	* 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 <paul@dishone.st> - -	* 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 <hasso@estpak.ee> -	* 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 <vadim.suraev@terayon.com> -	* 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 <mattiasa@kth.se> - -	* ospf_packet.c: (ospf_recv_packet) OpenBSD now leaves iph.ip_len  -	  network byte order. - -2003-12-05  Greg Troxel  <gdt@poblano.ir.bbn.com> - -	* 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 <kamatchi@tdd.sj.nec.com> - -        * 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 <hasso@estpak.ee> - -	* ospf_vty.c: Show NSSA LSA route info in "show ip ospf database" -	output - -2003-05-16 Hasso Tepper <hasso@estpak.ee> - -	* ospf_lsa.c: Fix handling of NSSA - -2003-04-23 Hasso Tepper <hasso@estpak.ee> - -	* ospf_vty.c: fix "router xxx" node commands in vtysh - -2003-04-19 Hasso Tepper <hasso@estpak.ee> - -	* {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 <serg@vostok.net> - -	* ospf_packet.c: Add missing param to zlog -	* ospf_flood.c: remove unused vars - -2003-04-17 Denis Ovsienko <zebra@pilot.org.ua> - -	* ospf_interface.c: fix incorrect memset - -2003-04-10 Amir Guindehi <amir@datacore.ch> - -	* ospf_lsa.[ch]: opaque LSA fix, use ospf_lookup. - -2003-04-03 David Watson <dwatson@eecs.umich.edu> - -	* ospf_lsa.c: byte order fix - -2002-03-17  Amir Guindehi <amir@datacore.ch> - -        * 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 <endo@suri.co.jp> - -	* ospf_ism.c: NSM event schedule bug fix. - -2002-10-30  Greg Troxel <gdt@ir.bbn.com> - -	* 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 <keller@tik.ee.ethz.ch> - -	* ospf_vty.c (show_ip_ospf_database): Fix CLI parse. - -2002-10-23  Juris Kalnins <juris@mt.lv> - -	* ospf_interface.c (ospf_if_stream_unset): When write queue -	becomes empty stop write timer. - -2002-10-10  Greg Troxel <gdt@ir.bbn.com> - -	* ospf_packet.c (ospf_check_md5_digest): Change >= to > to make it -	conform to RFC. - -2002-07-07  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.93 released. - -2002-06-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* ospf_spf.c (ospf_nexthop_calculation): Add NULL set to oi and -	check of l2.  Reported by: Daniel Drown <dan-zebra@drown.org> -	(ospf_lsa_has_link): LSA Length calculation fix.  Reported by: -	Paul Jakma <paulj@alphyra.ie>. - -	* ospfd.c (ospf_if_update): Fix nextnode reference bug.  Reported -	by: juris@mt.lv. - -2002-01-21  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* ospfd.c: Merge [zebra 11445] Masahiko ENDO's Opaque-LSA support. - -2001-08-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@ipinfusion.com> - -	* ospf_zebra.c (ospf_redistribute_unset): When redistribute type -	is OSPF, do not unset redistribute flag. - -2001-08-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.92a released. - -2001-08-15  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.92 released. - -2001-08-12  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* ospfd.c (ospf_config_write): auto-cost reference-bandwidth -	configuration display. - -2001-07-24  David Watson <dwatson@eecs.umich.edu> - -	* 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  <kunihiro@ipinfusion.com> - -	* ospf_packet.c (ospf_write): Remove defined(__OpenBSD__) to make -	it work on OpenBSD. - -2001-06-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ospf_zebra.c (config_write_ospf_default_metric): Display -	default-metric configuration. - -2001-06-18  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* ospf_ia.h (OSPF_EXAMINE_SUMMARIES_ALL): Remove old macros. - -2001-05-28  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* ospf_snmp.c (ospfIfEntry): Fix interface lookup bug to avoid -	crush. -	(ospfIfMetricEntry): Likewise. - -2001-03-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ospf_packet.c (ospf_read): Fix typo.  Reported by: "Jen B -	Lin'Kova" <jen@stack.net>. - -2001-03-15  Gleb Natapov <gleb@nbase.co.il> - -	* 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  <kunihiro@zebra.org> - -	* ospf_packet.c (ospf_recv_packet): Solaris also need to add -	(iph.ip_hl << 2) to iph.ip_len. - -2001-02-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ospfd.h (OSPF_LS_REFRESH_TIME): Fix OSPF_LS_REFRESH_TIME value. -	Suggested by: David Watson <dwatson@eecs.umich.edu>. - -	* 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 <grantma@anathoth.gen.nz> - -	* 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  <kunihiro@zebra.org> - -	* 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 <dick@ipinfusion.com> - -	* 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  <kunihiro@zebra.org> - -	* zebra-0.91 is released. - -2001-01-31  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <dick@ipinfusion.com> - -	* 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  <kunihiro@zebra.org> - -	* 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 -	<grantma@anathoth.gen.nz>. -	(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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* ospf_route.c (ospf_route_delete): Use -	ospf_zebra_delete_multipath. - -2001-01-09  Matthew Grant <grantma@anathoth.gen.nz> - -	* 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  <kunihiro@zebra.org> - -	* 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 <gleb@nbase.co.il> - -	* 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 <mrozhavsky@opticalaccess.com> - -	* 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  <kunihiro@zebra.org> - -	* ospfd.h (OSPF_VTYSH_PATH): Change "/tmp/ospfd" to "/tmp/.ospfd". - -2000-12-28  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <dick@ipinfusion.com> - -	* 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 <mrozhavsky@opticalaccess.com> - -	* 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 <dick@ipinfusion.com> -	   	    -	* 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 <gleb@nbase.co.il> - -	* 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  <kunihiro@zebra.org> - -	* ospf_packet.c (ospf_read): Accept packet bigger than MTU value. - -2000-12-13  Gleb Natapov <gleb@nbase.co.il> - -	* ospfd.c (config_write_network_area): Fix bug in -	config_write_network_area function. - -2000-12-12  Gleb Natapov <gleb@nbase.co.il> - -	* 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 <dick@ipinfusion.com> - -	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 <mrozhavsky@opticalaccess.com> - -	* 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  <kunihiro@zebra.org> - -	* ospf_snmp.c (ospfIfLookup): OSPF MIB updates. -	(ospfExtLsdbEntry): Add OspfExtLsdbTable treatment. - -2000-11-28  Michael Rozhavsky <mrozhavsky@opticalaccess.com> - -	* 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  <kunihiro@zebra.org> - -	* 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 <dick@ipinfusion.com> - -	* 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 <mrozhavsky@opticalaccess.com> - -	* ospfd.c (area_vlink): Virtual link can not configured in stub -	area. - -2000-11-23  Gleb Natapov <gleb@nbase.co.il> - -	* 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 <mrozhavsky@opticalaccess.com> - -	* 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 <dick@ipinfusion.com> - -	* 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  <kunihiro@zebra.org> - -	* 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 -	<mrozhavsky@opticalaccess.com> - -2000-11-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <mrozhavsky@opticalaccess.com> - -	* ospf_lsa.c (router_lsa_flags): ASBR can't exit in stub area. - -2000-11-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ospf_lsa.c (ospf_router_lsa_originate): Reduce unconditional -	logging. - -2000-11-06  Dick Glasspool <dick@ipinfusion.com> - -	* 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  <kunihiro@zebra.org> - -	* ospf_flood.c (ospf_process_self_originated_lsa): Enclose -	OSPF_AS_NSSA_LSA treatment with #ifdef HAVE_NSSA. - -2000-11-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <dick@ipinfusion.com> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* ospfd.h (OSPF_OPTION_O): Add new hello header option. - -2000-11-01  Dick Glasspool <dick@ipinfusion.com> - -	* 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 <dick@ipinfusion.com> - -	* 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 <dick@ipinfusion.com> - -	* 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 <gleb@nbase.co.il> - -	* 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 <jochen@scram.de> - -	* 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 <sridhar@euler.ece.iisc.ernet.in> - -	* ospfd.c: Add area_default_cost_decimal_cmd and -	no_area_default_cost_decimal_cmd alias. - -2000-10-05  Gleb Natapov <gleb@nbase.co.il> - -	* 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  <kunihiro@zebra.org> - -	* zebra-0.89 is released. - -2000-09-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <mike@nbase.co.il> - -	* ospf_interface.c (ospf_if_free):  Fix deleting self neighbor twice. - -2000-09-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ospf_packet.c (ospf_read): Solaris on x86 has ip_len with host -	byte order. - -2000-09-25  Toshiaki Takada  <takada@zebra.org> - -	* ospfd.c (ospf_compatible_rfc1583), (no_ospf_compatible_rfc1583): -	Add CISCO compatible command. - -2000-09-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <gleb@nbase.co.il> - -	* ospf_lsa.c: New implementation of OSPF refresh. - -2000-09-20  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ospf_snmp.c (ospfLsdbLookup): Add LSDB MIB implementation. - -2000-09-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ospf_snmp.c (ospfStubAreaEntry): Add OSPF stub area MIB. - -2000-09-18  Gleb Natapov  <gleb@nbase.co.il> - -	* 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  <kunihiro@zebra.org> - -	* ospf_network.c (ospf_serv_sock_init): Enclose SO_BINDTODEVICE -	with ifdef. - -2000-09-13  Gleb Natapov  <gleb@nbase.co.il> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <jochen@scram.de> - -	* ospf_snmp.c: Implement OSPF MIB skeleton. - -2000-09-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ospf_snmp.c: New file is added. - -2000-09-07  David Lipovkov <davidl@nbase.co.il> - -	* ospf_zebra.c (ospf_interface_delete): Add pseudo interface -	treatment. - -	* ospf_interface.c (interface_config_write): Likewise. - -2000-08-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.88 is released. - -2000-08-17  Michael Rozhavsky  <mike@nbase.co.il> - -	* ospfd.c (ospf_area_free):  Remove virtual link configuration only -	when Area is removed. - -2000-08-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ospfd.c (network_area): Revert check for EXTERNAL_INFO -	(ZEBRA_ROUTE_CONNECT). -	(no_network_area): Likewise. - -2000-08-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <gleb@nbase.co.il> - -	* 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  <kunihiro@zebra.org> - -	* ospf_zebra.c (zebra_interface_if_set_value): Change ifindex -	restore size from two octet to four. - -2000-08-14  Michael Rozhavsky  <mike@nbase.co.il> - -	* ospf_ase.c (ospf_ase_incremental_update):  Implement incremental -	AS-external-LSA in 16.6 of RFC2328. - -2000-08-14  Matthew Grant  <grantma@anathoth.gen.nz> - -	* 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  <mike@nbase.co.il> - -	* ospf_lsa.c (ospf_maxage_lsa_remover):  Fix maxage remover for -	AS-external-LSAs. - -2000-08-10  Toshiaki Takada  <takada@zebra.org> - -	* ospfd.c (auto_cost_reference_bandwidth):  New DEFUN added. -	`auto-cost reference-bandwidth' OSPF router command added. - -2000-08-08  Gleb Natapov  <gleb@nbase.co.il> - -	* ospf_routemap.c (ospf_route_map_update):  New function added. -	Add route-map event hook. - -2000-08-08  Toshiaki Takada  <takada@zebra.org> - -	* 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  <grantma@anathoth.gen.nz> - -	* ospf_interface.c (ospf_if_get_output_cost): -	New function added.  Handle bandwidth parameter for cost -	calculation. - -2000-08-08  Michael Rozhavsky  <mike@nbase.co.il> - -	* 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  <gleb@nbase.co.il> - -	* 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  <kunihiro@zebra.org> - -	* 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  <grantma@anathoth.gen.nz> - -	* 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  <grantma@anathoth.gen.nz> - -	* 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  <mike@nbase.co.il> - -	* ospf_flood.c (ospf_process_self_originated_lsa): -	Make sure to clear LSA->param (redistributed external information) -	before refreshment. - -2000-07-27  Gleb Natapov  <gleb@nbase.co.il> - -	* 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  <mizutani@dml.com> - -	* ospf_interface.c (interface_config_write):  Print `description' -	config directive to work. - -2000-07-24  Akihiro Mizutani  <mizutani@dml.com> - -	* ospf_interface.c (ospf_if_init): Use install_default for -	INTERFACE_NODE. - -2000-07-24  Gleb Natapov  <gleb@nbase.co.il> -	 -	* 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  <gleb@nbase.co.il> - -	* 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  <takada@zebra.org> - -	* ospf_zebra.c (ospf_default_originate_timer):  Set timer for -	`default-information originate'.  Fix some default originate -	related functions. - -2000-07-12  Toshiaki Takada  <takada@zebra.org> - -	* ospf_lsa.c (stream_put_ospf_metric):  New function added. - -2000-07-12  Toshiaki Takada  <takada@zebra.org> - -	* 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  <takada@zebra.org> - -	* 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  <mike@nbase.co.il> - -	* 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  <takada@zebra.org> - -	* 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  <gleb@nbase.co.il> - -	* 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  <mike@nbase.co.il> - -	* 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  <takada@zebra.org> - -	* ospf_zebra.c (ospf_default_information_originate), -	(ospf_default_information_originate_always):  New DEFUN added. - -2000-07-05  Michael Rozhavsky  <mike@nbase.co.il> - -	* ospf_route.c (ospf_terminate):  Make sure to remove external route -	when SIGINT received. - -2000-07-03  Gleb Natapov  <gleb@nbase.co.il> - -	* 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  <gleb@nbase.co.il> - -	* 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  <gleb@nbase.co.il> - -	* 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  <gleb@nbase.co.il> - -	* 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  <takada@zebra.org> - -	* ospfd.h (ospf): struct member `external_lsa' name changed to -	`lsdb'. - -2000-06-26  Toshiaki Takada  <takada@zebra.org> - -	* 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 <mike@nbase.co.il> - -	* ospf_packet.c (ospf_ls_req), (ospf_ls_upd), (ospf_ls_ack):  Add -	verification of LS type. - -2000-06-20  Gleb Natapov  <gleb@nbase.co.il> - -	* ospf_ase.c (ospf_ase_calculate_timer):  Add more sanity check -	whether rn->info is NULL. - -2000-06-20  Toshiaki Takada  <takada@zebra.org> - -	* 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  <takada@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* ospf_packet.c (ospf_ls_upd): Initialize lsa by NULL to avoid -	warning. - -2000-06-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ospf_ase.h (ospf_ase_rtrs_register_lsa): Add prototype. - -2000-06-12  Toshiaki Takada  <takada@zebra.org> - -	* 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  <takada@zebra.org> - -	* 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  <gleb@nbase.co.il> - -	* 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  <gleb@nbase.co.il> - -	* ospf_lsa.h (struct ospf_lsa): Add member of pointer to struct -	ospf_area. - -2000-06-08  Michael Rozhavsky <mike@nbase.co.il> - -	* ospf_ase.c (ospf_asbr_route_same):  New function added. -	This function makes sure external route calculation more  -	precisely. - -2000-06-07  Michael Rozhavsky <mike@nbase.co.il> - -	* 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  <lharper@kennedytech.com> - -	* ospf_interface.c (ospf_if_down): Close read fd when an interface -	goes down. - -2000-06-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <takada@zebra.org> - -	* ospf_nsm.c (nsm_adj_ok):  Fix bug of DR election. - -2000-06-04  Toshiaki Takada  <takada@zebra.org> - -	* ospf_zebra.c (ospf_default_information_originate), -	(no_ospf_default_information_originate):  New DEFUN added. - -2000-06-03  Toshiaki Takada  <takada@zebra.org> - -	* 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  <takada@zebra.org> - -	* 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  <takada@zebra.org> - -	* 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  <takada@zebra.org> - -	* ospf_lsdb.c (new_lsdb_delete):  Delete entry from LSDB only when -	specified LSA matches. - -2000-06-02  Gleb Natapov  <gleb@nbase.co.il> - -	* ospf_network.c (ospf_serv_sock):  Set SO_DONTROUTE -	socket option. - -2000-06-01  Akihiro Mizutani  <mizutani@dml.com> - -	* ospf_dump.c:  Replace string `Debugging functions\n' with DEBUG_STR. -	Replace string `OSPF information\n' with OSPF_STR. - -2000-06-01  Toshiaki Takada  <takada@zebra.org> - -	* ospf_lsdb.[ch]:  Use new_lsdb struct for network-LSA instead of -	ospf_lsdb. - -2000-06-01  Toshiaki Takada  <takada@zebra.org> - -	* 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  <takada@zebra.org> - -	* 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  <takada@zebra.org> - -	* ospf_lsdb.c (new_lsdb_insert):  LSAs are always freed by -	maxage_lsa_remover when LSA is replaced. - -2000-05-25  Gleb Natapov  <gleb@nbase.co.il> - -	* 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  <mike@nbase.co.il> - -	* ospf_lsdb.c (ospf_lsdb_add):  Preserve flags field when -	overriting old LSA with new LSA. - -2000-05-24  Gleb Natapov  <gleb@nbase.co.il> - -	* ospf_lsa.c (ospf_router_lsa_body_set):  Fix bug of router-LSA -	size calculation. - -2000-05-22  Michael Rozhavsky  <mike@nbase.co.il> - -	* 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 <agerlach@datus.datus.com> - -	* ospf_ia.c (ospf_ia_network_route):  Fix bug of Inter-area route -	equal cost path calculation. - -2000-05-21  Toshiaki Takada  <takada@zebra.org> - -	* 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  <takada@zebra.org> - -	* ospfd.c (ospf_interface_down):  Make sure interface flag is disable -	and set fd to -1. - -2000-05-16  Toshiaki Takada  <takada@zebra.org> - -	* 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  <takada@zebra.org> - -	* ospf_lsa.c (ospf_rtrs_external_remove):  New function added. - -2000-05-14  Gleb Natapov <gleb@nbase.co.il> - -	* 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 <gleb@nbase.co.il> - -	* 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  <takada@zebra.org> - -	* 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  <takada@zebra.org> - -	* 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  <gleb@nbase.co.il> - -	* 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  <gleb@nbase.co.il> - -	* ospf_packet.c (ospf_ls_upd):  Fix some memory leak related LSA. - -2000-05-08  Thomas Molkenbur  <tmo@datus.com> - -	* ospf_packet.c (ospf_packet_dup):  Replace ospf_steram_copy() -	with ospf_stream_dup() to fix memory leak. - -2000-05-08  Michael Rozhavsky  <mike@nbase.co.il> - -	* ospf_flood.c (ospf_flood_through_area):  Fix the problem of -	LSA update without DROther. - -2000-05-04  Gleb Natapov  <gleb@nbase.co.il> - -	* ospf_spf.c (ospf_vertex_free):  Fix memory leak of SPF calculation. - -2000-05-03  Toshiaki Takada  <takada@zebra.org> - -	* 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  <gleb@nbase.co.il> - -	* ospf_lsdb.c (new_lsdb_cleanup):  Fix memory leak.  When LSDB are -	not needed any more, then free them. - -2000-05-02  Toshiaki Takada  <takada@zebra.org> - -	* 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  <takada@zebra.org> - -	* 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  <takada@zebra.org> - -	* ospfd.c (no_network_area):  Add check Area-ID whether specified -	Area-ID with prefix matches config. - -2000-04-27  Toshiaki Takada  <takada@zebra.org> - -	* ospf_lsa.c (ospf_maxage_lsa_remover): Fix problem of -	remaining withdrawn routes on zebra. - -2000-04-25  Michael Rozhavsky  <mike@nbase.co.il> - -	* 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  <takada@zebra.org> - -	* 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  <mike@nbase.co.il> - -	* 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  <takada@zebra.org> - -	* 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  <takada@zebra.org> - -	* ospf_dump.c (debug_ospf_zebra): New defun added. -	Suppress zebra related debug information. - -2000-04-19  Toshiaki Takada  <takada@zebra.org> - -	* 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  <mike@nbase.co.il> - -	* ospf_packet.c (ospf_make_ls_upd): Add check for MAX_AGE. - -2000-04-14  Michael Rozhavsky  <mike@nbase.co.il> - -	* ospf_packet.c (ospf_make_ls_upd): Increment LS age by configured  -	interface transmit_delay. - -2000-04-14  Sira Panduranga Rao  <pandu@euler.ece.iisc.ernet.in> - -	* 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  <takada@zebra.org> - -	* 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  <takada@zebra.org> - -	* ospf_nsm.c (nsm_oneway_received): Fix bug of MS flag unset. - -2000-03-29  Michael Rozhavsky <mike@nbase.co.il> - -	* 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  <takada@zebra.org> - -	* 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  <takada@zebra.org> - -	* ospf_packet.h (strcut ospf_header): Fix the size of ospf_header, -	change u_int8_t to u_char. - -2000-03-27  Toshiaki Takada  <takada@zebra.org> - -	* ospf_lsa.c (ospf_lsa_checksum): Take care of BIGENDIAN architecture. - -2000-03-27  Toshiaki Takada  <takada@zebra.org> - -	* ospfd.c (ospf_interface_run): Make sure Address family matches. - -2000-03-26  Love <lha@s3.kth.se> - -	* ospf_packet.c (ospf_write): Chack result of sendto(). - -2000-03-26  Sira Panduranga Rao  <pandu@euler.ece.iisc.ernet.in> - -	* ospf_nsm.c (nsm_oneway_received): Fix bug of 1-WayReceived in NSM. - -2000-03-23  Libor Pechacek  <farco@clnet.cz> - -	* ospf_lsa.c (ospf_network_lsa) -	* ospf_lsdb.c (new_lsdb_insert): Fix bug of accessing to -	unallocated memory. - -2000-03-23  Toshiaki Takada  <takada@zebra.org> - -	* ospfd.c (ospf_config_write): Fix bug of duplicate line for -	`area A.B.C.D authentication'. - -2000-03-22  Toshiaki Takada  <takada@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* ospf_nsm.c (ospf_nsm_event): Add check for NSM_InactivityTimer. - -2000-03-21  Toshiaki Takada  <takada@zebra.org> - -	* 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  <pandu@euler.ece.iisc.ernet.in> - -	* ospf_flood.c (ospf_ls_retransmit_lookup): Add checksum comparison -	to identify LSA uniquely.  This fix routes lost. - -2000-03-18  Toshiaki Takada  <takada@zebra.org> - -	* ospf_ase.c (ospf_find_asbr_route): Add sanity check with router -	routing table. - -2000-03-17  Alex Zinin  <zinin@amt.ru> -	 -        * 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  <pandu@euler.ece.iisc.ernet.in> - -        * ospf_nsm.c (nsm_inactivity_timer): Changed to call nsm_kill_nbr(). - -2000-03-14  Toshiaki Takada  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * ospf_lsa.c (show_as_external_lsa_detail): fix bug of  -        external route tag byte order. - -2000-03-11  Toshiaki Takada  <takada@zebra.org> - -        * ospf_lsdb.c (ospf_lsdb_insert): New function added. - -2000-03-09  Toshiaki Takada  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * ospf_ase.c (ospf_ase_calculate_timer): Fix bug of segmentation -        fault reported by George Bonser <george@siteROCK.com>. - -2000-03-07  Libor Pechacek  <farco@clnet.cz> - -        * ospfd.c (ospf_interface_down): Fix bug of segmentation fault. - -2000-03-06  Toshiaki Takada  <takada@zebra.org> - -        * ospf_route.c (ospf_route_cmp): Change meaning of return values. - -2000-03-02  Alex Zinin <zinin@amt.ru> -        * 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  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * ospf_asbr.c (ospf_asbr_route_install_lsa): Re-calculate LSA -        checksum after change Advertised Router field. - -2000-02-09  Toshiaki Takada  <takada@zebra.org> - -        * ospf_asbr.c (ospf_external_route_lookup): Add new function. - -2000-02-08  Toshiaki Takada  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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  <pandu@euler.ece.iisc.ernet.in> - -        * 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  <takada@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * 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  <takada@zebra.org> - -        * ospf_packet.c (ospf_make_ls_upd): Fix bug of #LSAs counting. - -2000-01-29  Toshiaki Takada  <takada@zebra.org> - -        * ospf_packet.c (ospf_make_md5_digest): Fix bug of md5 authentication. - -2000-01-28  Toshiaki Takada  <takada@zebra.org> - -        * ospfd.c (show_ip_ospf): Show Number of ASE-LSAs. - -2000-01-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -        * 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 <pandu@euler.ece.iisc.ernet.in> - -        * 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  <kunihiro@zebra.org> - -        * ospf_flood.c (ospf_ls_request_delete_all): Fix bug of next -        pointer lookup after the node is freed. - -2000-01-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -        * ospf_asbr.c (ospf_asbr_route_add): Instead of scanning all AS -        external route, use ospf_top->external_self. - -2000-01-27  Toshiaki Takada  <takada@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * ospfd.c: Change part of passive interface implementation.  For -        passive interface just disabling sending/receiving Hello on the -        interface. - -2000-01-16  Kai Bankett <kai.bankett@vew-telnet.net> - -        * 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  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * ospf_interface.c: DEFUN (if_ospf_*) commands changed name to -        ip_ospf_* (). -        Old notation `ospf *' still remains backward compatibility. - -1999-12-29  Alex Zinin  <zinin@amt.ru> -        * 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  <zinin@amt.ru> -        * "redistribute <source> metric-type (1|2) metric <XXX>" added - -1999-12-23  Alex Zinin  <zinin@amt.ru> -        * added RFC1583Compatibility flag -        * added dynamic interface up/down functionality - -1999-11-19  Toshiaki Takada  <takada@zebra.org> - -        * ospf_neighbor.h (struct ospf_neighbor): Add member state_change -        for NSM state change statistics. - -1999-11-19  Toshiaki Takada  <takada@zebra.org> - -        * ospfd.c (show_ip_ospf_neighbor_detail), -        (show_ip_ospf_neighbor_int_detail): DEFUN Added. - -1999-11-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -        * ospf_asbr.c (ospf_asbr_check_lsas): Add check of -        lsa->refresh_list. - -1999-11-11  Toshiaki Takada  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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 <zinin@amt.ru> -        * 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 <zinin@amt.ru> -        * 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 <zinin@amt.ru> -        * 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  <kunihiro@zebra.org> - -        * 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 <zinin@amt.ru> -        * 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 <jc@irbs.com> - -        * ospf_packet.h (OSPF_PACKET_MAX): Correct MAX packet length -        calculation - -1999-10-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -        * 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  <zinin@amt.ru> -        * 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  <shin@nd.net.fujitsu.co.jp> - -        * ospfd.c (ospf_interface_run): Enable to detect P2P network -        on an OSPF interface. - -1999-10-19  Jordan Mendelson  <jordy@wserv.com> - -        * ospf_lsdb.c (ospf_lsdb_add): Fix bug of crash -        in ospf_ls_retransmit_lookup (). - -1999-10-19  Vladimir B. Grebenschikov <vova@express.ru> - -        * 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 <jordy@wserv.com> - -        * Add support for MD5 authentication. - -1999-10-12  Alex Zinin  <zinin@amt.ru> -        * 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  <zinin@amt.ru> -        * 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  <takada@zebra.org> - -        * ospf_route.c (ospf_path_dup): New function added. - -1999-10-05  Toshiaki Takada  <takada@zebra.org> - -        * ospf_interface.[ch]: Some of VL related funciton name changed. - -1999-09-27  Alex Zinin  <zinin@amt.ru> - -        * ospf_zebra.c: Distribute-list functionality added - -1999-09-27  Toshiaki Takada  <takada@zebra.org> - -        * ospfd.c (show_ip_ospf): Fix bug of segmentation fault when no ospf -        instance exists. - -1999-09-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -        * ospfd.c (ospf_interface_down): Fix bug of misusing nextnode() -        instead of node->next.  Reported by Hiroki Ishibashi -        <ishibasi@dcd.abk.nec.co.jp>. - -        * ospf_route.c (show_ip_ospf_route): Add check for ospf is enabled -        or not. - -1999-09-23  Alex Zinin  <zinin@amt.ru> - -        * stub area support added - -1999-09-23  Alex Zinin  <zinin@amt.ru> - -        * 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  <zinin@amt.ru> - -        * 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  <zinin@amt.ru> - -        * memory.[ch]: -        Some OSPF mem types added, -        plus more info in "show mem" - -1999-09-21  Alex Zinin  <zinin@amt.ru> - -        * 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  <zinin@amt.ru> - -        * 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  <zinin@amt.ru> - -        * ospfd.c VLs removed when "no network area" executed - -1999-09-20  Alex Zinin  <zinin@amt.ru> - -        * ospf_ase.c bug fix for not-zero fwd_addr  -        and directly connected routes. - -1999-09-20  Yon Uriarte <yon@plannet.de> - -        * 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  <zinin@amt.ru> - -        * ospf_lsa.c bug fix for ospf_network_lsa() to -        include itself into the RID list - -1999-09-10  Alex Zinin  <zinin@amt.ru> - -        * Alternative ABR behaviors IBM/Cisco/Shortcut -        implemented - -1999-09-10  Alex Zinin  <zinin@amt.ru> - -        * router and network-LSA origination -        changed to honor MinLSInterval - -1999-09-08  Alex Zinin  <zinin@amt.ru> - -        * modified ABR behavior to honor VLs and transit -          areas - -1999-09-07  Alex Zinin  <zinin@amt.ru> - -        * completed VL functionality - -1999-09-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * ospfd.h (OSPF_FLAG_VIRTUAL_LINK): Change OSPF_FLAG_VEND to -        OSPF_FLAG_VIRTUAL_LINK for comprehensiveness. - -1999-09-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * ospf_spf.c (ospf_rtrs_free): Add ospf_spf_calculate() for -        freeing rtrs. - -1999-08-31  Toshiaki Takada  <takada@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * ospf_lsa.c (ospf_maxage_lsa_remover): Preserve next pointer when -        the node is deleted. - -1999-08-31  Toshiaki Takada  <takada@zebra.org> - -        * 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 <zinin@amt.ru> -         -        * 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 <zinin@amt.ru> - -        * ospf_lsa.c -        updated ospf_router_lsa() to honor flags (B-bit) - -1999-08-30  Alex Zinin <zinin@amt.ru> - -        * ospf_abr.c -        wrote major functions implementing ABR activity - -1999-08-30  Alex Zinin <zinin@amt.ru> - -        * 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 <zinin@amt.ru> - -        * 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  <takada@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * ospf_route.c (ospf_lookup_int_by_prefix): Add check of -        oi->address. - -1999-08-29  Alex Zinin <zinin@amt.ru> -        * ospf_lsa.c  -        MaxAge LSA deletion functions added. - -1999-08-29  Alex Zinin <zinin@amt.ru> -        * 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 <zinin@amt.ru> -        * ospfd.c -        added a hack for area range deletion -         -1999-08-29  Alex Zinin <zinin@amt.ru> -        * ospf_lsa.h  -        included lsdb field into struct ospf_lsa, to find -        LSDB easier when removing MaxAge LSAs. - -1999-08-29  Alex Zinin <zinin@amt.ru> -        * 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 <zinin@amt.ru> -        * ospf_neighbor.c , .h added new retransmit list functions. - -1999-08-29  Alex Zinin <zinin@amt.ru> -        * Makefile.in -        added ospf_ase, ospf_abr, ospf_ia - -1999-08-29  Alex Zinin <zinin@amt.ru> -        * 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 <zinin@amt.ru> -        * 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  <kunihiro@zebra.org> - -        * ospf_packet.c (ospf_make_db_desc): Only master can clear more -        flag. - -1999-08-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -        * ospf_packet.c (ospf_read): Add check of IP src address. - -1999-08-28  Alex Zinin <zinin@amt.ru> -        * ospf_neighbor.h -        added ospf_nbr_lookup_by_routerid() - -1999-08-28  Alex Zinin <zinin@amt.ru> -        * 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 <zinin@amt.ru> -        * 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 <zinin@amt.ru> -        * 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 <zinin@amt.ru> -        * 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  <kunihiro@zebra.org> - -        * ospf_interface.c (interface_config_write): Add check for -        oi->nbr_self. - -1999-08-25  Toshiaki Takada  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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  <zinin@amt.ru> - -        * 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  <takada@zebra.org> - -        * 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 <vop@unity.net> - -        * ospf_route.c: Include "sockunion.h" - -1999-08-24  Kunihiro Ishiguro  <kunihiro@zebra.org> - -        * 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  <takada@zebra.org> - -        * ospf_packet.c: Fix bug of DD processing. - -1999-08-18  Toshiaki Takada  <takada@zebra.org> - -        * ospf_lsa.c (show_ip_ospf_database): Show actual `LS age'. - -1999-08-17  Toshiaki Takada  <takada@zebra.org> - -        * 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 <phk@freebsd.org>. - -        * 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  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * ospf_nsm.c (nsm_reset_nbr): New function added. -        KillNbr and LLDown neighbor event call this function. -         -1999-08-10  Toshiaki Takada  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * ospf_ism.c (ospf_dr_election): Fix bug of DR election. - -1999-07-28  Toshiaki Takada  <takada@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * 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  <takada@zebra.org> - -        * ospf_lsa.c (ospf_router_lsa): Fix bug of LS sequence number -        assignement. - -1999-07-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * ospf_interface.c (ospf_if_lookup_by_addr): Add loopback check. - -1999-07-22  Toshiaki Takada  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * ospf_spf.c (ospf_spf_closest_vertex): function removed. -         -1999-07-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -        * ospf_spf.c (ospf_spf_next): Apply ntohs for fetching metric. - -1999-07-21  Toshiaki Takada  <takada@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * 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  <takada@zebra.org> - -        * ospf_packet.c (ospf_check_network_mask): Added new function for -        receiving Raw IP packet on an appropriate interface. - -1999-07-16  Toshiaki Takada  <takada@zebra.org> - -        * ospfd.c (ospf_router_id): new DEFUN added. - -1999-07-15  Toshiaki Takada  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * ospf_ism.c: fix bug of DR Election. - -        * ospf_nsm.c: fix bug of adjacency forming. - -1999-07-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -        * ospfd.c (ospf_init): Change to use install_default. - -1999-07-01  Rick Payne <rickp@rossfell.co.uk> - -        * ospf_zebra.c (zebra_init): Install standard commands to -        ZEBRA_NODE. - -1999-06-30  Toshiaki Takada  <takada@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * ospf_lsa.c (ospf_lsa_lookup_from_list): Change !IPV4_ADDR_CMP to -        IPV4_ADDR_SAME. - -1999-06-29  Toshiaki Takada  <takada@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * ospf_dump.c (ospf_router_lsa_dump): Add router-LSA dump routine. - -1999-06-28  Toshiaki Takada  <takada@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * 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  <takada@zebra.org> - -        * ospf_packet.c: fix bug of DD making. -        fix bug of LS-Update reading. -         -1999-06-23  Toshiaki Takada  <takada@zebra.org> - -        * ospf_packet.c: All type of packets are changed to use -        fifo queue structure. -        (ospf_fill_header) function added. - -1999-06-22  Toshiaki Takada  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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 <range>. -        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  <takada@zebra.org> - -        * ospf_lsa.c: ospf_add_router_lsa (), ospf_add_network_lsa (), -        ospf_lsa_lookup (), ospf_lsa_count () Added. - -1999-06-15  Toshiaki Takada  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * ospf_packet.h: Remove struct ospf_ls_req {}, ospf_ls_upd {}, -        ospf_ls_ack {}. - -1999-06-11  Toshiaki Takada  <takada@zebra.org> - -        * ospf_dump.c: fix IP packet length treatment. - -1999-06-10  Toshiaki Takada  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * ospf_lsa.c: New file. -         -1999-06-07  Toshiaki Takada  <takada@zebra.org> - -        * ospf_neighbor.c: ospf_fully_adjacent_count () Added. - -1999-06-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -        * ospf_spf.[ch]: New file. - -1999-05-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -        * ospf_zebra.c: Changed to use lib/zclient.c routines. - -        * ospf_zebra.h (zebra_start): Remove struct zebra. - -1999-05-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -        * ospfd.c (ospf_config_write): Add cast (unsigned long int) to -        ntohl for sprintf warning. - -1999-05-19  Toshiaki Takada  <takada@zebra.org> - -        * 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 <srb@cuci.nl> - -        * ospf_main.c (signal_init): SIGTERM call sigint. -        (sigint): Logging more better message. - -1999-05-12  Toshiaki Takada  <takada@zebra.org> - -        * ospfd.c: Fix bug of `no router ospf' statement, it will work. - -1999-05-11  Toshiaki Takada  <takada@zebra.org> - -        * ospf_neighbor.c: ospf_nbr_free () Added. - -1999-05-10  Toshiaki Takada  <takada@zebra.org> - -        * ospfd.h: struct ospf_area { }, struct ospf_network { } Changed. -        * Fix bug of `no network' statement, it will work. - -1999-05-07  Toshiaki Takada  <takada@zebra.org> - -        * ospf_interface.c, ospf_zebra.c: Fix bug of last interface is not -        updated by ospf_if_update (). - -1999-04-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -        * Makefile.am (noinst_HEADERS): Add ospf_lsa.h for distribution. - -1999-04-25  Toshiaki Takada <takada@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * ospf_main.c (main): access_list_init () is added for vty -        connection filtering. - -1999-04-16  Toshiaki Takada  <takada@zebra.org> - -        * ospfd.c: DEFUN (show_ip_ospf_interface) Added. -        * ospf_neighbor.c: ospf_nbr_count () Added. -         -1999-04-15  Toshiaki Takada  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * ospf_ism.c: ospf_elect_dr () Added. -        * ospf_network.c: ospf_if_ipmulticast () Added. - -1999-04-11  Toshiaki Takada  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * ospf_packet.c: Add ospf_recv_packet ().  Now OSPF Hello can receive. - -1999-03-19  Toshiaki Takada  <takada@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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  <takada@zebra.org> - -        * 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  <kunihiro@zebra.org> - -        * Move IPv6 codes and files to ospf6d directory. - -1999-02-18  Peter Galbavy  <Peter.Galbavy@knowledge.com> - -        * syslog support added - -1998-12-22  Toshiaki Takada  <takada@zebra.org> - -        * ospfd.h: New file. -        * ospf_lsa.h: New file. - -1998-12-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -        * Makefile.am: New file. -        * ospf_main.c: New file. - diff --git a/pkgsrc/ChangeLog b/pkgsrc/ChangeLog deleted file mode 100644 index 79ade41b08..0000000000 --- a/pkgsrc/ChangeLog +++ /dev/null @@ -1,15 +0,0 @@ -2004-08-31  Greg Troxel  <gdt@poblano.ir.bbn.com> - -	* Rename scripts to *.sh.in, and use autoconf-style substitution -	  for prefix and localstatedir. -	 -2004-08-31  Greg Troxel  <gdt@poblano.ir.bbn.com> - -	* 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 60baef5d0c..0000000000 --- a/ripd/ChangeLog +++ /dev/null @@ -1,1217 +0,0 @@ -2008-05-29 Stephen Hemminger <stephen.hemminger@vyatta.com> - -	* ripd.c: (rip_auth_md5) fix bogus empty string test - -2008-03-13 Paul Jakma <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* ripd.c: (rip_vty_out_uptime) Remove unused variable timer_now. - -2007-04-11 Emmanuel Vize <emmanuel.vize@6wind.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* rip_zebra: (general) convert redistribute commands to use -	  the auto-generated defines. - -2006-05-04 Paul Jakma <paul.jakma@sun.com> - -	* (general) Fixes for bugs #261 and 262. Thanks to -	  Konstantin V. Gavrilenko <kos@arhont.com> 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 <ajschorr@alumni.princeton.edu> - -	* 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 <alain.ritoux@6wind.com> - -        * ripd.c: correct bug that allowed route learnt through RIP to take -	  precedence over connectd routes - -2006-01-19 Paul Jakma <paul.jakma@sun.com> - -        * ripd.c: (main) return from main, not exit, cause it annoys SOS. - -2006-01-17 Paul Jakma <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* Makefile.am: Add rip_interface.h, or else it doesn't get -	  included in dists. - -2005-10-26 Paul Jakma <paul.jakma@sun.com> - -	* (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 <vincent.jardin@6wind.com> - -	* 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 <alain.ritoux@6wind.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <alain.ritoux@6wind.com> - -	* 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 <alain.ritoux@6wind.com> - -	* ripd.c: use new md5 API - -2005-08-16 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul@dishone.st> - -	* 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 <hasso at quagga.net> - -	* rip_routemap.c: Fix set_metric_addsub_cmd help, it's not about BGP -	  metric. - -2005-05-26 Hasso Tepper <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* rip_routemap.c: Make "match interface" routemap command match both - -	  in and out interfaces. - -2005-05-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* rip_interface.c: (rip_interface_delete) After deleting, set -	  ifp->ifindex to IFINDEX_INTERNAL. - -2005-02-04 Paul Jakma <paul@dishone.st> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* ripd.c: (rip_create_socket) Replace perror with zlog_err. - -2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* ripd.c: (rip_create_socket) Save errno before calling -	  ripd_privs.change. - -2005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* ripd.c: (rip_recvmsg) Use ZCMSG_FIRSTHDR instead of CMSG_FIRSTHDR. - -2004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* *.c: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* rip_main.c: (main) The 2nd argument to openzlog has been removed. - -2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* rip_main.c: (sigint) Use zlog_notice for termination message. -	  (main) Add a startup announcement using zlog_notice. - -2004-11-25 Hasso Tepper <hasso at quagga.net> - -	* rip_main.c: Make group to run as configurable. - -2004-10-22 Paul Jakma <paul@dishone.st> - -	* 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 <aschorr@telemetry-investments.com> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* *.c: Make more strings const. - -2004-10-08 Hasso Tepper <hasso at quagga.net> - -	* *.c: Fix compiler warnings: make strings const, signed -> unsigned -	  etc. - -2004-09-26 Hasso Tepper <hasso at quagga.net> - -	* ripd.c: Fix compiler warning. - -2004-09-23 Hasso Tepper <hasso at quagga.net> - -	* *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-17 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <sowmini.varadhan@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <jacques.ludman@sun.com> - -	* 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 <sowmini.varadhan@sun.com> - -	* ripd.c: Fixup compile warnings -	* rip_routemap.c: Ditto -	 -2004-05-08 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* ripd.c: (rip_rte_process) fix typo in merge of previous patch -	  and run function through indent. -	 -2004-03-19 Jean-Yves Simon <lethalwp@tiscali.be> - -	* 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 <oleq@ans.pl> - -	* 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 <aschorr@telemetry-investments.com> - -	* Allow ripd to receive RIPv1 -	* add default as valid param to passive-interface command - -2003-05-25 Vincent Jardin <vjardin@wanadoo.fr> - -	* 6Wind patch merge. - -2003-04-19 Hasso Tepper <hasso@estpak.ee> - -	* rip_routemap.c: sync daemon's route-map commands to have same -	syntax - -2002-07-07  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.93 released. - -2002-06-30  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* 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 <mizutani@dml.com> - -	* ripd.c: RIP enabled interface's route is advertised by default. - -2001-08-28  NOGUCHI Kay <kay@v6.access.co.jp> - -	* 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 <kay@v6.access.co.jp> - -	* rip_interface.c (no_rip_passive_interface): Add NO_STR. - -2001-08-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.92a released. - -2001-08-15  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.92 released. - -2001-06-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rip_routemap.c (route_match_ip_address_prefix_list): Add match -	ip next-hop prefix-list WORD. - -2001-02-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rip_interface.c (rip_passive_interface_clean): Call -	rip_passive_interface_apply_all. - -2001-02-12  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripd.c (rip_response_process): Multicast address nexthop check -	is moved from rip_nexthop_check. - -2001-02-08  Matthew Grant <grantma@anathoth.gen.nz> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* ripd.c (rip_nexthop_check): Fix multicast address nexthop check. - -	* zebra-0.91 is released. - -2001-01-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* rip_interface.c (rip_if_init): Remove HAVE_IF_PSEUDO part. - -2001-01-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.90 is released. - -2001-01-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripd.h (RIP_VTYSH_PATH): Change "/tmp/ripd" to "/tmp/.ripd". - -2000-12-25  David Lipovkov <davidl@nbase.co.il> - -	* 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 <davidl@nbase.co.il> - -	* rip_zebra.c (rip_metric_unset): Fix bug of metric value unset. - -2000-11-25  Frank van Maarseveen <F.vanMaarseveen@inter.NL.net> - -	* ripd.c (rip_request_process): Check passive flag of the -	interface. - -2000-11-23  Frank van Maarseveen <F.vanMaarseveen@inter.NL.net> - -	* rip_interface.c (rip_multicast_join): When IP_ADD_MEMBERSHIP -	failed do not set runnning flag to the interface. - -2000-11-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripd.c (rip_output_process): Memory leak related classfull -	network generation is fixed. - -2000-11-16  Frank van Maarseveen <F.vanMaarseveen@inter.NL.net> - -	* rip_interface.c (if_check_address): Obsolete pointopoint address -	check is removed. - -2000-11-02  Frank van Maarseveen <F.vanMaarseveen@inter.NL.net> - -	* 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 <jochen@scram.de> - -	* 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  <kunihiro@zebra.org> - -	* rip_interface.c: Change to "no ip rip (send|receive)" command -	accept version number argument. - -2000-10-17  Akihiro Mizutani <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* rip_peer.c: Change ot use linklist.c instaed of newlist.c. - -2000-10-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rip_offset.c: Change to use linklist.c instead of newlist.c. - -2000-10-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.89 is released. - -2000-09-26  Akihiro Mizutani <mizutani@dml.com> - -	* rip_routemap.c (match_ip_nexthop): Add next-hop format check. - -2000-09-18  David Lipovkov <dlipovkov@OpticalAccess.com> - -	* 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  <kunihiro@zebra.org> - -	* 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 <davidl@nbase.co.il> - -	* rip_snmp.c: Set ASN_INTEGER v->type where it is needed. - -2000-09-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* ripd.c (rip_write_rte): Add check for ri->auth_str. - -2000-09-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripd_api.h: New file is added. - -2000-08-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* ripd.c (rip_distance_apply): Unlock node when there is matched -	node. - -2000-08-13  Akihiro Mizutani <mizutani@dml.com> - -	* rip_routemap.c (match_ip_nexthop): Add check for IP address -	validness. -	(no_set_metric): Add new ALIAS. - -2000-08-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripd.h (struct rip ): Add distance. - -2000-08-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* rip_main.c (main): Make struct thread thread from global -	variable to local variable in main. - -2000-08-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripd.c (rip_packet_dump): Add MD5 authentication dump function. -	(rip_auth_md5): RIP MD5 authentication packet receive works. - -2000-08-02  David Lipovkov <davidl@nbase.co.il> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <davidl@nbase.co.il> - -	* rip_interface.c (rip_if_down): Do not delete ZEBRA_ROUTE_KERNEL -	route. - -2000-07-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* rip_interface.c (rip_if_init): Use install_default() for -	INTERFACE_NODE. - -2000-07-24  Kunihiro Ishiguro <kunihiro@zebra.org> - -	* ripd.c: First update timer will be invoked in two seconds. - -2000-07-09  Jochen Friedrich <jochen@scram.de> - -	* 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  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* ripd.c (rip_version): Change VERSION to <1-2>. -	Add "no version" command. - -2000-07-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* rip_offset.c (rip_offset_list): New file for offset-list. - -2000-07-02  Akihiro Mizutani <mizutani@dml.com> - -	* 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 <davidl@nbase.co.il> - -	* rip_interface.c (rip_if_init): Add IF_DELETE_HOOK. - -2000-07-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripd.c (rip_output_process): If specified route-map does not -	exist, it treated as deny all. - -2000-06-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rip_routemap.c (rip_route_map_init): Call rip_route_map_update -	when route-map is deleted. - -2000-06-28  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rip_routemap.c (set_metric): For consistency with bgpd's set -	metric, value range is set to <0-4294967295>. -	 -2000-06-28  David Lipovkov <davidl@nbase.co.il> - -	* 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 <davidl@nbase.co.il> - -	* rip_interface.c (rip_interface_delete): All work is done in -	rip_if_down(). - -2000-06-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripd.c (rip_redistribute_delete): Fix bug of missing -	route_unlock_node() when redistribute route is not found. - -2000-06-05  Akihirof Mizutani <mizutani@dml.com> - -	* 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 <davidl@nbase.co.il> - -	* 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 <mizutani@dml.com> - -	* rip_debug.c: Fix rip debug help string. - -2000-04-27  Mirko Karanovic <mkaranov@torsel.alcatel.com> - -	* rip_interface.c (rip_interface_down): Remove interface from -	multicast group when interface goes down. - -2000-04-03  David Lipovkov <davidl@nbase.co.il> - -	* 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 <davidl@nbase.co.il> - -	* rip_zebra.c (rip_zclient_init): Added rip functions for -	interface up/down events. - -2000-02-15  Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* rip_peer.c: Add new file for supporting RIP peer. - -1999-12-26  David Lipovkov <davidl@nbase.co.il> - -	* ripd.c (rip_authentication): RIP authantication string is 16 -	bytes long. - -1999-12-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <davidl@nbase.co.il> is -	applied then add rte number check by Kunihiro Ishiguro -	<kunihiro@zebra.org>. - -1999-12-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* ripd.c (rip_timers): Fix bug of timers basic argument format. - -1999-11-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rip_snmp.c (rip2IfConfAddress): Forgot to include -	RIP2IFCONFDOMAIN. - -1999-10-28  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripd.h (struct rip_peer): New structure added. - -1999-10-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* rip_debug.c (rip_debug_reset): Reset function added. - -	* ripd.c (rip_update_process): Logging bug is fixed.  - -1999-10-10  Marc Boucher <marc@mbsi.ca> - -	* ripd.c (config_write_rip): Add config_write_distribute() call. - -1999-09-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripd.c (rip_distribute_update): Fix bug of access-list -	prefix-list updates. - -1999-09-10  VOP <vop@unity.net> - -	* rip_zebra.c: Add redistribute route-map feature. - -1999-09-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripd.c (rip_response_process): Add check for given prefix is -	given mask applied one. - -1999-09-03  VOP <vop@unity.net> - -	* rip_interface.c (rip_interface_multicast_set): Bug fix about -	setting multicast interface. - -1999-09-02  VOP <vop@unity.net> - -	* rip_routemap.c: New file added. - -1999-09-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripd.c (show_ip_protocols_rip): Show next update time. -	(show_ip_protocols_rip): Show redistribute information. - -1999-08-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* RIPv2-MIB.txt: New file added. - -	* rip_snmp.c: New file added. - -1999-08-24  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rip_interface.c (ip_rip_authentication_string): RIPv2 -	authentication command is added. - -1999-08-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* ripd.c (rip_timer_set): Function added. - -1999-07-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rip_debug.c: New file added. -	rip_debug.h: New file added. - -1999-07-01  Rick Payne <rickp@rossfell.co.uk> - -	* rip_zebra.c (zebra_init): Install standard commands to -	ZEBRA_NODE. - -1999-06-01  David Luyer <luyer@ucs.uwa.edu.au> - -	* ripd.c (rip_process_route): Add support for RIP version 1. - -1999-05-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rip_zebra.c: Change to use lib/zclient.[ch]. - -1999-05-20  Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar> - -	* ripd.c (rip_add_route): Change the existance route's metric check -          to the condition specified by RFC2453.  -	 -1999-05-17  Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar> - -	* 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 <barce@frlp.utn.edu.ar> - -	* 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  <kunihiro@zebra.org> - -	* ripd.c (rip_process_route): Set interface pointer to rinfo. - -1999-05-15  Carlos Alberto Barcenilla <barce@frlp.utn.edu.ar> - -	* ripd.c (rip_check_address): Unicast and not net 0 or 127 check -	added. - -1999-05-14  Stephen R. van den Berg <srb@cuci.nl> - -	* rip_main.c (signal_init): SIGTERM call sigint. -	(sigint): Loggging more better message. - -1999-05-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <koppen@rhrk.uni-kl.de> - -	* 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 <barce@frlp.utn.edu.ar> - -	* 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  <kunihiro@zebra.org> - -	* ripd.c (rip_add_route): Add metric check.  Reported by Carlos -	Alberto Barcenilla <barce@frlp.utn.edu.ar>. - -1999-02-18  Peter Galbavy  <Peter.Galbavy@knowledge.com> - -	* syslog support added - -1998-12-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripd.c (rip_announce_func): Apply new lib functions. - -1998-12-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* rip_announce.c (rip_rib_close): When ripd terminates delete all -	added route. - -1998-09-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rip_interface.c: return read packet size. - -1998-05-18  Yamshita TAKAO  <jargon@lares.dti.ne.jp> - -	* ripd.h: Modify for compile on Solaris. - -1998-05-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripd.c: DEFUN function return CMD_SUCCESS. -		  change xmalloc to XMALLOC macro. -	 -1998-05-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rip_main.c: change CONFDIR to SYSCONFDIR. - -1998-05-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* .cvsignore: added. - -1998-02-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rip_interface.c (config_write_interface): correct ADVERTISE spell. - -	* rip_main.c (main): add usage() and make cleanup. - -1998-01-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripd.c (rip_version): add rip version command. - -1998-01-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 b8c24c6a49..0000000000 --- a/ripngd/ChangeLog +++ /dev/null @@ -1,388 +0,0 @@ -2007-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* ripngd.c: (ripng_vty_out_uptime) Remove unused variable timer_now. - -2007-04-12 Emmanuel Vize <emmanuel.vize@6wind.com> - -        * 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 <paul.jakma@sun.com> - -	* ripng_interface.c: (ripng_interface_address_add) Remove -	  unneeded NULL check, Coverity CID #72. - -2006-05-08 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -        * (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 <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* ripng_zebra.c, ripngd.[ch]: Pass metric info to the zebra daemon. - -2005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* ripngd.[hc], ripng_interface.c, ripng_peer.c: inet6_ntoa() takes -	  argument now by value. - -2005-04-05 Hasso Tepper <hasso at quagga.net> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* ripng_interface.c: (ripng_interface_delete) After deleting, set -	  ifp->ifindex to IFINDEX_INTERNAL. - -2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* ripng_interface.c: (ripng_multicast_join) Save errno before calling -	  ripngd_privs.change. - -2005-01-04 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* ripngd.c: (ripng_recv_packet) Use ZCMSG_FIRSTHDR instead of -	  CMSG_FIRSTHDR. - -2004-12-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* *.c: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* ripng_main.c: (main) The 2nd argument to openzlog has been removed. - -2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* ripng_main.c: Make group to run as configurable. - -2004-10-26 Hasso Tepper <hasso at quagga.net> - -	* ripng_debug.c: Fix help of "show debugging ripng" command. - -2004-10-11 Hasso Tepper <hasso at quagga.net> - -	* *.c: Make more strings const. - -2004-10-08 Hasso Tepper <hasso at quagga.net> - -	* *.[c|h]: Fix compiler warnings: make strings const, signed -> -	  unsigned etc. - -2004-09-26 Hasso Tepper <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-17 Paul Jakma <paul@dishone.st> - -	* ripngd.c: move setsockopt_so_recvbuf to lib. - -2004-07-23  Hasso Tepper  <hasso@estpak.ee> - -	* ripng_interface.c, ripng_nexthop.c: use ifp->mtu6 instead of -	  ifp->mtu. - -2004-07-01  Greg Troxel  <gdt@fnord.ir.bbn.com> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* ripng_{interface,zebra}.c: sync with zclient changes - -2004-01-03  Greg Troxel  <gdt@ahi.ir.bbn.com> - -	* 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 <hasso@estpak.ee> -   -  * Revert ripng_ifrmap stuff because ripd uses it now as well. -  * Merge ripngd part of 6Wind patch from Vincent Jardin  -    <vjardin@wanadoo.fr>. - -2003-04-23 Hasso Tepper <hasso@estpak.ee> - -	* {ripng_ifrmap,ripngd}.c: fix "router xxx" node commands in vtysh - -2003-04-19 Hasso Tepper <hasso@estpak.ee> - -	* rip_routemap.c: sync daemon's route-map commands to have same -	syntax - -2002-07-07  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.93 released. - -2001-08-28  NOGUCHI Kay <kay@v6.access.co.jp> - -	* ripngd.c (no_ripng_route): route_unlock_node () is not needed. - -2001-08-26  NOGUCHI Kay <kay@v6.access.co.jp> - -	* ripngd.h (struct ripng_interface): Add passive interface option. - -2001-08-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.92a released. - -2001-08-15  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.92 released. - -2001-08-07  Akira Kato <kato@wide.ad.jp> - -	* ripngd.c (ripng_timers): "timers basic" argument is fixed. - -2001-02-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.91 is released. - -2001-01-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.90 is released. - -2001-01-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripngd.h (RIPNG_VTYSH_PATH): Change "/tmp/ripngd" to -	"/tmp/.ripngd". - -2000-10-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.89 is released. - -2000-09-20  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripngd.c (ripng_send_packet): Use CMSG_SPACE instead of sizeof -	hack.  Revert privious alignment patch. - -2000-09-20  URA Hiroshi <ura@hiru.aoba.yokohama.jp> - -	* ripngd.c (ripng_send_packet): Fix an alignment bug. Thus ripngd -	can't send packets. - -2000-09-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripng_interface.c (ripng_interface_address_delete): Connected -	address delete treatment added. - -2000-08-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripng_routemap.c (route_set_metric_compile): When checking '-' -	character, argv[1] should be argv[0].  Reported by SHIRASAKI -	Yasuhiro <yasuhiro@ocn.v6.ntt.net>. - -2000-08-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.88 is released. - -2000-06-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* ripngd.c (ripng_output_process): Use MINMTU when mtu value is -	not available. - -1999-11-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripngd.c (ripng_output_process): Calculate max RTE count from -	interface MTU value. - -1999-09-29  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripngd.c (ripng_distribute_update): Fix bug of updating -	access-list and prefix-list. - -1999-09-07  URA Hiroshi <ura@hiru.aoba.yokohama.jp> - -	* 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  <kunihiro@zebra.org> - -	* 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  <yasu@sfc.wide.ad.jp> - -	* ripng_zebra.c (ripng_redistribute_ospf6_cmd): Add OSPF6 -	redistribute command. - -1999-07-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripngd.c (default_information_originate): Add -	default-information command. - -1999-07-19  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* ripngd.c (ripng_zebra): Send each ripng information by separate -	zebra packet. - -1999-05-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripng_interface.c (if_add_multicast): Change log to zlog. - -1999-05-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* ripngd.conf.sample: Change network to route statement. - -1999-03-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* Now I assume KAME support Advanced API and use sendmsg/recvmsg. - -1998-12-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ripng_interface.c: Delete old ifa (interface address) related -	functions. - -1998-12-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* ripng_route.h: New file. - -	* ripng_interface.c:  Delete #include <linux/in6.h>. -	ripng_main.c: likewise. -	ripng_radix.c: likewise. -	ripng_route.c: likewise. -	ripng_zebra.c: likewise. -	ripngd.c: likewise. - -1998-12-06  Yasuhiro Ohara <yasu@sfc.wide.ad.jp> - -	* 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  <seirios@matrix.iri.co.jp> - -	* all Hydrangea define is changed to KAME. - diff --git a/solaris/ChangeLog b/solaris/ChangeLog deleted file mode 100644 index 65135d995c..0000000000 --- a/solaris/ChangeLog +++ /dev/null @@ -1,164 +0,0 @@ -2008-07-03 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* quagga.{xml,init}.in: Add licence boilerplate to ensure -	  licence terms are clear. - -2006-04-03 Paul Jakma <paul.jakma@sun.com> - -	* quagga.xml.in: oops, ipvX-routing services don't exist yet in -	  any Solaris builds. - -2006-03-16 Paul Jakma <paul.jakma@sun.com> - -	* prototype.smf.in: Oops, continue to install manifest to -	  var/svc/manifest/network for now. - -2006-03-13 Alan Maguire <alan.maguire@sun.com> - -	* quagga.xml.in: Change the naming of services and instances. -	  network/routing/quagga:<daemon> 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* prototype.dev.in: lib/md5-gnu.h is now lib/md5.h - -2005-08-16 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* Makefile.am: pkginfo.%.tmpl is a generated file, srcdir prefix -	  is not appropriate. - -2005-04-13 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (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 18696519a0..0000000000 --- a/tests/ChangeLog +++ /dev/null @@ -1,160 +0,0 @@ -2008-06-07 Paul Jakma <paul@jakma.org - -	* bgp_mp_attr_test.c: MP_(UN)REACH_NLRI unit tests - -2008-02-23 Paul Jakma <paul.jakma@sun.com> - -	* aspath_test.c: Test for 0-ASN sequences that still have data. - -2007-12-22 Paul Jakma <paul.jakma@sun.com> - -	* bgp_capability_test.c: Test for empty capabilities. - -2007-09-27 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* aspath_test.c: Test AS4_PATH reconcilation where length -	  of AS_PATH and AS4_PATH is same. - -2007-09-25 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* bgp_capability_test.c: (parse_test) update for changes to -	  peek_for_as4_capability - -2007-09-17 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* bgp_capability_test.c: new, capability parser unit tests. -	* Makefile.am: add previous. - -2007-07-25 Paul Jakma <paul.jakma@sun.com> - -	* 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 <j.kammer@eurodata.de> - -	* aspath_test.c: Support asn32 changes, call aspath_parse with 16 bit. - -2006-08-26 Paul Jakma <paul.jakma@sun.com> - -	* heavy-wq.c: (slow_func_del,slow_func) update to match workqueue -	  changes - -2006-08-06 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* test-sig.c: (main) configure logging, there's no terminal -	  to write to for one thing, but we do want stdout, and we -	  don't want a test to spam syslog. - -2006-03-16 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* aspath_test.c: (validate) free the temporary aspaths. -	  (empty_get_test) ditto. - -2006-01-10 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* test-privs.c: Privileges unit test. -	* Makefile.am: build testprivs -	* aspath_test.c: fix a few sign warnings - -2005-09-06 Paul Jakma <paul@dishone.st> - -	* aspath_test.c: Test bgp_aspath functionality. -	* Makefile.am: build aspathtest -	* ChangeLog: Fix date of previous commit - -2005-09-06 Paul Jakma <paul@dishone.st> - -	* test-buffer.c: include memory.h -          (main) call memory_init(). -	 -2004-09-05 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 af55c6f27a..0000000000 --- a/vtysh/ChangeLog +++ /dev/null @@ -1,500 +0,0 @@ -2008-07-03 MIYAJIMA Mitsuharu <miyajima.mitsuharu@anchor.jp> - -	* extract.pl.in: Fix as-range to match CPP output. -	* vtysh.c: Add missing router_bgp_view_cmd alias. - -2008-07-02 MIYAJIMA Mitsuharu <miyajima.mitsuharu@anchor.jp> - -	* CMD_AS_RANGE was being used inside command strings, and thus -	  not being expanded, fix by dequoting. - -2007-06-20 Nicolas Deffayet <nicolas@deffayet.com> - -	* 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 <dlstevens@us.ibm.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <j.kammer@eurodata.de> -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <paul.jakma@sun.com> - -	* vtysh.c: (general) Add 'show memory' command. - -2006-05-21 Paul Jakma <paul.jakma@sun.com> - -	* vtysh.c: (vtysh_show_logging_cmd) Suppress output for daemons -	  which are not running (Andrew Schorr). - -2006-05-17 Paul Jakma <paul.jakma@sun.com> - -	* vtysh.c: (general) Add 'show logging' command. - -2006-01-11 Erik Smit <zoiah@zoiah.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hsantos@av.it.pt> - -	* vtysh.c: Add support for BGP_IPV6M_NODE -	 -2005-07-12 Christian Hammers <ch@debian.org> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* extract.pl.in: Use SNMP_INCLUDES to avoid warnings if compiling with -	  snmp support. - -2005-03-09 Hasso Tepper <hasso at quagga.net> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* vtysh.c: (vtysh_connect) No reason to call geteuid and getegid, -	  the results were never used. - -2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* vtysh.c: (vtysh_client_execute) Fix flaws in detecting trailing -	  '\0' chars and command return code. - -2004-10-28 Hasso Tepper <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* extract.pl.in: All daemons can use both IPv6 and IPv4 access lists -	  to limit access to vty. - -2004-10-11 Paul Jakma <paul@dishone.st> - -	* 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 <hasso at quagga.net> - -	* vtysh.c, vtysh_user.c: Make more strings const. -	 -2004-10-07 Hasso Tepper <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* vtysh.c: Fix compiler warning. - -2004-09-17 Paul Jakma <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <hasso at quagga.net> - -	* vtysh_main.c: Rename signal handling functions not to conflict -	  with functions from lib/sigevent.c. - -2004-08-27 Hasso Tepper <hasso at quagga.net> - -	* vtysh.c: Make "terminal length <0-512>" command work in vtysh. - -2004-08-27 Hasso Tepper <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* *.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  <gdt@poblano.ir.bbn.com> - -	* extract.pl.in: Rename from extract.pl, with @PERL@. - -	* Makefile.am: Add vtysh_cmds.c to CLEANFILES. - -2004-06-20 Hasso Tepper <hasso@estpak.ee> - -	* extract.pl: Zebra daemon has access lists as well. - -2004-05-10 Hasso Tepper <hasso@estpak.ee> - -	* vtysh.c: Workaround for most hated vtysh bug - Bugzilla #58. - -2004-04-06 Hasso Tepper <hasso@estpak.ee> - -	* 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 <hasso@estpak.ee> - -	* vtysh.c: Remove using PAGER. - -2004-01-15 Paul Jakma <paul@dishone.st> - -	* vtysh_config.c: Fix up strlen to use correct string. -	 -2003-12-23 Hasso Tepper <hasso@estpak.ee> -   -	* Makefile.am extract.pl vtysh.c vtysh.h vtysh_config.c: -	  isisd integration to vtysh. - -2003-05-01 Sergiy Vyshnevetskiy <serg@vostok.net> - -	vtysh.c: Program shouldn't terminate on pager execution failure -	vtysh_user.c: configure support for openpam (freebsd5.0) - -2003-04-19 Hasso Tepper <hasso@estpak.ee> - -	* extract.pl vtysh.c vtysh.h: sync daemon's route-map commands to -	have same syntax - -2002-09-30 Paul Jakma <paulzebra@rs250.org> -	 -	* 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  <kunihiro@ipinfusion.com> - -	* zebra-0.93 released. - -2001-08-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.92a released. - -2001-08-15  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.92 released. - -2001-02-20  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vtysh.c (vtysh_client_config): Do not set bufsz to 120. -	Suggested by: Matthew Grant <grantma@anathoth.gen.nz>. - -2001-02-15  Hideto Yamakawa <yamakawa@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* vtysh.c (vtysh_execute_func): Add fflush before pclose. - -2001-02-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vtysh.c: VTY shell pager name.  When environment variable -	VTYSH_PAGER is defined, use it as VTY shell pager. - -2001-02-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vtysh.c (vtysh_execute_func): Add pager argument for test of -	pager invocation. - -2001-02-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* extract.pl: Add -DHAVE_CONFIG_H option to cpp. - -2001-02-08  Matthew Grant <grantma@anathoth.gen.nz> - -	* 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  <kunihiro@zebra.org> - -	* zebra-0.91 is released. - -2001-01-31  Michael Rozhavsky <mrozhavsky@opticalaccess.com> - -	* vtysh.c (new_completion): Fix problem of appending space when -	completion is executed. - -2001-01-23  Akihiro Mizutani <mizutani@dml.com> - -	* vtysh.c (vtysh_write_terminal): "write terminal" to all node. - -2001-01-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vtysh.c (vtysh_execute): Fix unconditional lock by other VTY. -	Suggested by Hideto Yamakawa <yamakawa@dml.com>. - -2001-01-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.90 is released. - -2001-01-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vtysh.h (ZEBRA_PATH): Fix new vtysh path.  Reported by "Matt -	Ranney" <mjr@ranney.com> - -2000-11-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vtysh.c (DEFUNSH): Add "address-family vpnv4" DEFUNSH. - -2000-10-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <mizutani@dml.com> - -	* vtysh.c (vtysh_write_memory): Display [OK] when configuration is -	saved without problem. - -2000-10-20  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vtysh.c (vtysh_config_from_file): "key chain" command with -b -	flag problem is fixed. - -2000-10-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vtysh_user.c: Change to use linklist.c. - -2000-10-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.am (noinst_HEADERS): Add vtysh_user.h. - -	* zebra-0.89 is released. - -2000-09-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vtysh_main.c: Declare thread master. - -2000-08-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vtysh_main.c (main): Add missing --help procudure.  Reported by -	Patrick Rother <krd@roka.net>. - -2000-08-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vtysh.c (DEFUNSH): "interface IFNAME" works. - -2000-08-20  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vtysh_user.c: Change name from vtysh_pam.c. - -	* vtysh.conf.sample: New file for vtysh configuration. - -2000-08-19  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vtysh_pam.c (vtysh_pam): New file for PAM. - -2000-08-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.88 is released. - -2000-08-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* extract.pl: Change regexp to match DEFUN and ALIAS at the same -	time. - -2000-07-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vtysh.c (signal_init): Ignore SIGPIPE signal. - -2000-07-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* extract.pl: ALIAS command can be extracted by extract.pl. - -2000-07-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* extract.pl: Fix scalar and array semantics. - -	* vtysh.c (vtysh_telnet): Add "telnet" client command. - -2000-07-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 7baf4b7cd3..0000000000 --- a/watchquagga/ChangeLog +++ /dev/null @@ -1,59 +0,0 @@ -2005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* watchquagga.c: (handle_read) Use new ERRNO_IO_RETRY macro. - -2005-02-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* watchquagga.c: (try_connect) Use new set_nonblocking function instead -	  of calling fcntl directly. - -2005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* watchquagga.c: In several places, cast pid_t to int for printf to -	  avoid complaints on Solaris 8. - -2004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* watchquagga.c: Fix headers: get most stuff from zebra.h. - -2004-12-23 Paul Jakma <paul@dishone.st> - -	* watchquagga.c: Add missing getopt.h include - -2004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* watchquagga.c: Try for gcc 2.95 compatibility (avoid %z and a tricky -	  initialization). - -2004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* watchquagga.c: Use new config.h define for DAEMON_VTY_DIR. - -2004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* watchquagga.c: Get PATH_WATCHQUAGGA_PID from config.h. - -2004-12-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* .cvsignore: Added. - -2004-12-21 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* {ChangeLog,watchquagga.c,Makefile.am}: Created. diff --git a/zebra/ChangeLog b/zebra/ChangeLog deleted file mode 100644 index 341c42a408..0000000000 --- a/zebra/ChangeLog +++ /dev/null @@ -1,2712 +0,0 @@ -2008-07-01 Paul Jakma <paul.jakma@sun.com> - -	* 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 <stephen.hemminger@vyatta.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* ioctl.c: If HAVE_BSD_LINK_DETECT is defined, include <net/if_media.h> -	  (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 <if@xip.at> - -	* 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 <mike@vyatta.com> - -	* 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 <emmanuel.vize@6wind.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <dlstevens@us.ibm.com> - -	* (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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* ioctl{_solaris,}.c: (if_get_mtu) Ping clients via -          zebra_interface_up_update if MTU is changed. - -2007-04-08 Paul Jakma <paul.jakma@sun.com> - -	* {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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <Robert.Olsson@data.slu.se> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <pch@packetconsulting.pl> - -	* 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 <tom@khubla.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* misc_null.c: Add ifstat_update_sysctl, add another required -	  header. - -2006-08-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* misc_null.c: Must include header files to get older versions of gcc -	  to process the #pragma statements properly. - -2006-08-01 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* {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 <rumen@telecoms.bg> - -	* 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 <paul.jakma@sun.com> - -	* rt_netlink.c: (netlink_interface_addr) Fix CID #104, can not -	  proceed if addr is NULL. -	* zebra_rib.c: (static_add_ipv6) Fix CID #18, double check -	  required arguments are supplied for the given nexthop type. -	 -2006-06-15 Paul Jakma <paul.jakma@sun.com> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* kernel_socket.c: (ifam_read_mesg) Improve debug message -	  to show the IP address. - -2006-05-15 Paul Jakma <paul.jakma@sun.com> - -	* zserv.c: (general) Remove the private zebra_command_str -	  in favour of newly added libzebra zserv_command_string. - -2006-05-11 Paul Jakma <paul.jakma@sun.com> - -	* interface.c: (if_delete_update) route_node_lookup may return -	  NULL, should fix Coverity CID #31. - -2006-02-09 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* interface.c: (if_dump_vty) move flags to their line, neater. - -2006-01-30 Paul Jakma <paul.jakma@sun.com> - -	* 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 <gunnar.stigen@axxessit.no> - -	* 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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -        * (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 <gunnar.stigen@axxessit.no> - -	* zebra_rib.c: Take interface metric into account. - -2006-01-17 Paul Jakma <paul.jakma@sun.com> - -	* 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 <gunnar.stigen@axxessit.no> - -	* 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 <paul.jakma@sun.com> - -	* zserv.c: Read/write updated Zserv header. - -2006-01-11 Paul Jakma <paul.jakma@sun.com> - -	* 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  <gdt@fnord.ir.bbn.com> - -	* 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 <paul.jakma@sun.com> - -	* connected.{c,h}: (connected_add_ipv6) label should have -	  const qualifier, fix declarations. - -2005-11-24 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* 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 <gall@switch.ch> - -	* 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 <paul.jakma@sun.com>  - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* connected.{c,h}: (connected_{add,delete}_ipv4) label should -	  be const qualified. -	 -2005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <alain.ritoux@6wind.com> - -	* zserv.c: Always provied distance for route add - -2005-09-28 Alain Ritoux <alain.ritoux@6wind.com> - -	* connected.c: flag connected_up_ipv6() and connected_down_ipv6() -	  usage with HAVE_IPV6 - -2005-09-24 Hasso Tepper <hasso at quagga.net> - -	* rib.h: Add note about behaviour of rib_add_ipv[46]* functions - -	  add is treated as implicit withdraw. - -2005-09-21 David Young <dyoung@ojctech.com> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (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 <hasso at quagga.net> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* (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 <paul.jakma@sun.com> - -	* 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 <hasso at quagga.net> - -	* 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 <paul.jakma@sun.com> - -	* 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 <paul.jakma@sun.com> - -	* zserv.h: Remove ZEBRA_PORT definition, its in lib/zebra.h now - -2005-04-28 Paul Jakma <paul.jakma@sun.com> - -	* 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 <paul@dishone.st> - -	* if_ioctl_solaris.c: (if_lookup_linklocal) fix order of args -	  in ALL_LIST_ELEMENTS_RO macro. - -2005-04-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* rt_netlink.c: One tiny missing comma caused pointless debug messages -	  about IPv6 nexthops. - -2005-04-09 Hasso Tepper <hasso at quagga.net> - -	* 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 <paul@dishone.st> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <hasso at quagga.net> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <jean-mickael.guerin@6wind.com> -	* 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 <hasso at quagga.net> - -	* zebra/interaface.c: "show interface description" command -	  implemented. - -2005-03-12 Paul Jakma <paul@dishone.st> - -	* 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 <voidptr@voidptr.sboost.org> - -	* if_proc.c, ipforward_proc.c, rtread_proc.c: Fix fd leaks. - -2005-03-06 Hasso Tepper <hasso at quagga.net> - -	* interface.c: Fix CRC and frame errors statistics in Linux. - -2005-02-28 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* redistribute.c: (zebra_check_addr,is_default, -	  zebra_redistribute_default,zebra_redistribute) Fix scope to be static. - -2005-02-20 Hasso Tepper <hasso at quagga.net> - -	* rt_netlink.c: Don't show messages "ignoring message type 0x001[89]" -	  if we are not debugging. - -2005-02-19 Paul Jakma <paul@dishone.st> - -	* zserv.c: (zebra_read_ipv6) replace the char * arithmetic with -	  STREAM_READABLE. - -2005-02-14 Paul Jakma <paul@dishone.st> - -	* Not all Linux netlink systems have IFLA_WIRELESS - -2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* rt_netlink.c: (netlink_socket,netlink_request,netlink_parse_info, -	  netlink_talk) Save errno before calling zserv_privs.change. - -2005-01-24 Martin Pot <mpot at martybugs.net> - -	* zebra/rt_netlink.c: ignore wireless newlink netlink messages. - -2005-01-18 Hasso Tepper <hasso at quagga.net> - -	* interface.c: Better statistics output in "show interface" command in -	  case of /proc being used. - -2005-01-17 Hasso Tepper <hasso at quagga.net> - -	* main.c: With --nl-bufsize argument is required. - -2005-01-05 Paul Jakma <paul@dishone.st> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* rtadv.c: (rtadv_recv_packet,rtadv_send_packet) Use ZCMSG_FIRSTHDR -	  instead of CMSG_FIRSTHDR. - -2004-12-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* connected.c: (connected_add_ipv4) Limit warning about /32 addresses -	  with no peer specified to PtP interfaces only. - -2004-12-18 Hasso Tepper <hasso at quagga.net> - -	* zebra_vty.c: Fix "show ipv6 route <proto>" command help and make it -	  work for isis routes. - -2004-12-09  Greg Troxel  <gdt@fnord.ir.bbn.com> - -	* kernel_socket.c (rtmsg_debug): char * => const char * - -2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* *.c: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu> - -	* 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 <ajschorr@alumni.princeton.edu> - -	* main.c: (sigint) Use zlog_notice for termination message. -	  (main) Add a startup announcement using zlog_notice. - -2004-11-25 Hasso Tepper <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* interface.c: Remove dead "ip tunnel" command. - -2004-10-22 Paul Jakma <paul@dishone.st> - -	* irdp_main.c: change setsockopt_pktinfo to setsockopt_ifindex - -2004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com> - -	* 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 <hasso at quagga.net> - -	* zserv.c: Fix regression introduced with zserv cleanup. - -2004-10-13 Hasso Tepper <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <hasso at quagga.net> - -	* 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 <paul@dishone.st> - -	* 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 <gilad.arnold at terayon.com> - -	* 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 <jleu at mindspring.com> - -	* 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 <hasso at quagga.net> - -	* 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 <paul@dishone.st> - -	* irdp_interface.c: (no_ip_irdp_address_preference_cmd) -          add missing listnode declaration. - -2004-09-24 Paul Jakma <paul@dishone.st> - -        * 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 <hasso at quagga.net> - -	* *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-22 Paul Jakma <paul.jakma@sun.com> - -	* 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 <hasso at quagga.net> - -	* 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  <carton@Ivy.NET> - -	* 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 <paul@dishone.st> - -	* zserv.c: (zebra_init) remove implicit ip forward enabling -	 -2004-08-19 Paul Jakma <paul@dishone.st> - -        * 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  <gdt@fnord.ir.bbn.com> - -	* 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 <Sowmini.Varadhan@Sun.COM> - -        * 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 <paul@dishone.st> - -	* 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 <dwiggins@bbn.com - -	* kernel_socket.c (rtm_flag_dump): terminate buffer with '\0', not '0'. - -2004-07-13 Hasso Tepper <hasso@estpak.ee> - -	* irdp_main.c: Add privilege change. - -2004-07-12  Hasso Tepper <hasso@estpak.ee> - -	* irdp_interface.c: follow common style while naming vty command -	  functions. Avoids confusion in extract.pl. - -2004-06-30  Greg Troxel  <gdt@poblano.ir.bbn.com> - -	* 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 <Robert.Olsson at data.slu.se> - -        * Added IRDP support. - -2004-05-18 Hasso Tepper <hasso@estpak.ee> - -	* 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 <paul@dishone.st> - -	* 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 <paul@dishone.st> - -	* 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 <sowmini.varadhan@sun.com> - -	* 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 <oleq@ans.pl> - -	* rt_netlink.c: Do not ignore metric when reading kernel routing -	  table on Linux with rt_netlink interface. - -2004-03-18  Hasso Tepper <hasso@estpak.ee> - -	* interface.c: Temporary fix for handling secondary addresses -	  with label. - -2004-02-12  Hasso Tepper  <hasso@estpak.ee> - -	* zserv.c: Added "ipv6 forwarding" command. - -2004-01-08  Greg Troxel  <gdt@fnord.ir.bbn.com> - -	* 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  <gdt@t1.ir.bbn.com> - -	* rtadv.c (rtadv_send_packet): Change perror to zlog_err. - -2004-01-05  Greg Troxel  <gdt@fnord.ir.bbn.com> -	* 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  <gdt@fnord.ir.bbn.com> - -	* 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  <gdt@ahi.ir.bbn.com> - -	* 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  <gdt@poblano.ir.bbn.com> - -	* rtadv.c: reorder includes to avoid compiler warning (define -	structs before using them in prototypes) - -2003-05-25 Jim Crumpler <Jim.Crumpler@edion.com> - -  * zserv.c: Add "ip forwarding" command. - -2003-05-16 Gilad Arnold <gilad.arnold@terayon.com> - -	* zebra_rib.c: Fix memory leaks for ifname nexthops - -2003-04-19 Israel Keys <ikeys@agile.tv> - -	* rt_netlink.c: BLOCK on netlink while initialising - -2003-02-06  Francois Deppierraz <francois@ctrlaltdel.ch> - -	* rt_netlink.c (netlink_route_multipath): Set RTM_F_EQUALIZE when -	it exists. - -2002-09-28  Akihiro Mizutani <mizutani@net-chef.net> - -	* zebra_rib.c (static_add_ipv4): Null0 static route is added. - -2002-09-10  Jochen Friedrich <chris+zebra@scram.de> - -	* rt_netlink.c: Add check for EAGAIN. -	* kernel_socket.c: Likewise - -2002-06-12  Israel Keys <ikeys@oz.agile.tv> - -	* 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 <itojun@iijlab.net> - -	* rtadv.c (rtadv_make_socket): setsockopt(IPV6_CHECKSUM) does not -	work for ICMPv6 socket. - -2001-10-24  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* rib.c (rib_process): Select connected route any case. - -2001-10-23  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* interface.c (no_ip_address_secondary): Add "no" to command. - -2001-10-18  NOGUCHI Kay  <kay@v6.access.co.jp> - -	* 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 <kay@v6.access.co.jp> - -	* rtadv.c: Do not send RA to loopback interface. - -2001-08-20  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* ioctl.c (if_set_prefix): Remove Linux 2.0 specific connected -	route treatment. - -2001-08-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.92a released. - -2001-08-17  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* rib.c: Kernel route is treated as EGP routes in nexthop active -	check. - -2001-08-15  Kunihiro Ishiguro  <kunihiro@ipinfusion.com> - -	* zebra-0.92 released. - -2001-08-08  "Akihiro Mizutani" <mizutani@dml.com> - -	* rib.c (show_ip_route_prefix_longer): Add longer-prefix option to -	show route commands. - -2001-07-29  Yon Uriarte <havanna_moon@gmx.net> - -	* zserv.c (zsend_ipv4_add_multipath): Add -	NEXTHOP_TYPE_IPV4_IFINDEX check. - -2001-07-29  NOGUCHI Kay <kay@v6.access.co.jp> - -	* 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 <kay@v6.access.co.jp> - -	* rtadv.c (ipv6_nd_ra_interval): Add "ipv6 nd ra-interval SECONDS" -	command. - -2001-07-24  Jun-ichiro itojun Hagino <itojun@iijlab.net> - -	* rt_socket.c (kernel_rtm_ipv4): Add KAME/NetBSD151 equal cost -	multicast FIB support both IPv4 and IPv6. - -2001-07-24  Hal Snyder <hal@vailsys.com> - -	* 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 <kay@v6.access.co.jp> - -	* 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 <itojun@iijlab.net> - -	* ioctl.c (if_ioctl): Change ioctl argument from int to u_long. - -	* rt_ioctl.c: Likewise. - -2001-07-23  Jun-ichiro itojun Hagino <itojun@iijlab.net> - -	* kernel_socket.c (rtm_write): Only set RTF_CLONING when the -	interface is not p2p. - -2001-04-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ioctl.c (if_prefix_add_ipv6): Fix argument type. - -2001-04-06  Toshiaki Takada  <takada@zebra.org> - -	* zserv.c (zsend_interface_delete): Use client->obuf instead of -	allocating new stream. - -2001-03-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rt_netlink.c: Revert RTPROT_BOOT change. - -2001-03-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rt_netlink.c (netlink_route_change): Skip RTPROT_BOOT route. -	(netlink_routing_table): Likewise. - -2001-03-07  "Akihiro Mizutani" <mizutani@dml.com> - -	* zserv.c (zsend_ipv4_add_multipath): Send metric value to -	protocol daemons. - -2001-02-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rt_netlink.c (netlink_routing_table): Do not return -	tb[RTA_GATEWAY] is NULL.  Reported by: "Michael O'Keefe" -	<mokeefe@qualcomm.com>. - -2001-02-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if_ioctl.c (interface_list_ioctl): Call if_add_update(). -	Suggested by: Chris Dunlop <chris@onthe.net.au>. - -2001-02-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* kernel_socket.c (rtm_read): Filter cloned route.  Suggested by: -	Jun-ichiro itojun Hagino <itojun@iijlab.net> - -2001-01-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* zserv.c (zebra_serv): Add missing close() call.  Reported by: -	David Waitzman <djw@vineyard.net>. - -2001-01-24  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rib.c (rib_lookup_ipv4): New function for checking exact match -	IGP route. - -2001-01-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rib.c (show_ipv6_route_protocol): Fix bug of "show ip route -	route-type". - -2001-01-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <yasu@sfc.wide.ad.jp>. - -	* rib.c (static_ipv6_nexthop_same): Add check for -	NEXTHOP_TYPE_IPV6_IFNAME. - -2001-01-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rib.h (NEW_RIB): Turn on NEW_RIB flag.  IPv6 new RIB code are -	taken into place. - -2001-01-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <grantma@anathoth.gen.nz>. -	(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 <yasu@sfc.wide.ad.jp> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* interface.c: Remove HAVE_IF_PSEUDO part. - -	* rib.h: Likewise. - -	* rt_netlink.c (netlink_link_change): Likewise. - -2001-01-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zserv.c: Remove OLD_RIB codes. - -2001-01-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra-0.90 is released. - -2001-01-09  Matthew Grant <grantma@anathoth.gen.nz> - -	* 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  <kunihiro@zebra.org> - -	* interface.c (if_dump_vty): When HAVE_NET_RT_IFLIST is defined, -	NetBSD also use this function.  Suggested by Jasper Wallace -	<jasper@ivision.co.uk>. - -2001-01-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rib.c (nexthop_active_ipv4): Move back to set methodo to old -	one. - -2001-01-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rib.c (rib_add_ipv4): EBGP multihop set ZEBRA_FLAG_INTERNAL -	flag, so treat it. - -2001-01-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* zserv.h (ZEBRA_SERV_PATH): Change "/tmp/zebra" to "/tmp/.zebra". -	Change "/tmp/zserv" to "/tmp/.zserv". -	 -2000-12-29  Frank van Maarseveen <F.vanMaarseveen@inter.NL.net> - -	* 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  <kunihiro@zebra.org> - -	* rib.c (vty_show_ip_route): Show uptime of the RIP,OSPF,BGP -	routes. - -2000-12-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* rib.h: Remove MULTIPATH_NUM.  It is defined by configure script. - -2000-12-25  Michael Rozhavsky <mrozhavsky@opticalaccess.com> - -	* rib.c (rib_if_up): Call rib_fib_set instead of RIB_FIB_SET for -	proper redistribution. - -2000-12-19  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* rib.c (nexthop_active_ipv4): Check indirect nexthop. - -	* redistribute.c (redistribute_add_multipath): Redistribution -	works with new rib code. - -2000-12-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* rib.c (ip_route): New RIB prototype. - -2000-11-16  Yon Uriarte <ukl2@rz.uni-karlsruhe.de> - -	* zserv.c (zsend_interface_add): Send hardware address when -	hw_addr_len is greater than 0. - -2000-11-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* rt_netlink.c (netlink_interface_addr): Revert Harald Welte -	<laforge@gnumonks.org>'s ptop patch then back to original code to -	avoid duplicated connected route problem.  Suggested by Frank van -	Maarseveen <F.vanMaarseveen@inter.NL.net>. - -	* kernel_socket.c (rtm_read): Make behavior consistent even #ifdef -	DEBUG is defined.  Reported by Jun-ichiro itojun Hagino -	<itojun@iijlab.net>. - -2000-10-23  Jochen Friedrich <jochen@scram.de> - -	* main.c (main): Call zebra_snmp_init() when it is enabled. - -2000-10-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zserv.c (zebra_serv_un): UNIX domain socket server of zebra -	protocol. - -2000-10-19  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rib.c (rib_add_ipv4): Same check bug is fixed. - -2000-10-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* zebra-0.89 is released. - -2000-09-24  Harald Welte <laforge@gnumonks.org> - -	* rt_netlink.c (netlink_interface_addr): Fix point-to-point address -	treatment in netlink interface. - -2000-09-21  David Lipovkov <dlipovkov@OpticalAccess.com> - -	* 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  <kunihiro@zebra.org> - -	* if_ioctl.c (if_getaddrs): New function for looking up -	interface's address by getifaddrs(). - -2000-09-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <davidl@nbase.co.il> - -	* 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  <kunihiro@zebra.org> - -	* zebra-0.88 is released. - -2000-08-15  "Akihiro Mizutani" <mizutani@dml.com> - -	* 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  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* rib.c (rib_add_ipv4): Do not install distance 255 route. - -2000-08-10  Toshiaki Takada  <takada@zebra.org> - -	* 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" <mizutani@dml.com> - -	* interface.c (bandwidth_if): Fix help string. - -2000-08-07  Matthew Grant <grantma@anathoth.gen.nz> - -	* 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 <mike@nbase.co.il> - -	* rib.c (show_ip_route_protocol): "show ip route -	(bgp|connected|kernel|ospf|rip|static)" is added. - -2000-08-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* redistribute.c (redistribute_delete): Fix bug of default route -	redistribute treatment. - -2000-08-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* 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 <davidl@nbase.co.il> - -	* 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 <mizutani@dml.com> - -	* interface.c: Use install_default() for common VTY commands. - -2000-07-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <chris@onthe.net.au> - -	* if_ioctl.c (if_get_index): Add check for HAVE_BROKEN_ALIASES. - -2000-07-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zserv.c (zebra_client_read): Add ZEBRA_REDISTRIBUTE_{ADD,DELETE} -	message handling. - -2000-07-02  David Lipovkov <davidl@nbase.co.il> - -	* zserv.c: "ip route A.B.C.D/M unknown" command is added. - -2000-06-28  Michael Rozhavsky <mike@nbase.co.il> - -	* rib.c: Remove old kernel route when new route comes in. - -2000-06-13  David Lipovkov <davidl@nbase.co.il> - -	* rib.c (rib_if_up): Add check for unknown interface. - -2000-06-13 Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rib.h: Define INTERFACE_UNKNOWN. - -2000-06-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.am (EXTRA_DIST): Move irdp.c until implementation is -	finished. - -2000-06-05  David Lipovkov <davidl@nbase.co.il> - -	* 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  <kunihiro@zebra.org> - -	* if_ioctl.c (interface_info_ioctl): Check interface's flag before -	checking interface's address. - -2000-04-26  Jochen Friedrich <jochen@nwe.de> - -	* GNOME-PRODUCT-ZEBRA-MIB: New file. - -	* GNOME-SMI: New file. - -2000-04-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* irdp.c: New file from 1997 development code. -	* irdp.h: Likewise. - -2000-04-19  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rtadv.c (rtadv_send_packet): Enclose router advertisement -	logging with IS_ZEBRA_DEBUG_PACKET. - -2000-04-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zserv.c (zebra_client_close): Remove client structure from -	client_list when connection is terminated. - -2000-03-21  David Lipovkov <davidl@nbase.co.il> - -	* 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 <hideto.yamakawa@soliton.co.jp> - -	* rtread_getmsg.c: Set some definition for Solaris 2.5 and Solaris -	2.5.1. - -2000-01-21  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rib.c (no_ipv6_route_ifname): Fix buf of cheking return value -	from str2prefix_ipv6(). - -2000-01-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <zinin@amt.ru> -	* interface.*: dynamic int up/down support - -1999-12-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* kernel_socket.c (rtm_read): When message is RTM_GET, it has own -	process's pid. - -1999-12-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* main.c (main): Change to default log output to ZLOG_STDOUT. - -	* zserv.c (zebra_serv): More detailed error print. - -1999-11-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* kernel_socket.c (rtm_read): Check old pid for static route -	insertion check. - -1999-11-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <vova@express.ru> - -	* kernel_socket.c (rtm_write): Set RTF_CLONING flag for -	route to the directly connected interface. - -1999-11-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rt_socket.c: Delete USE_HOST_BIT definition. - -1999-11-21  Michael Handler <handler@sub-rosa.com> - -	* rtread_getmsg.c: Undef some definition to resolve conflict. - -1999-11-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* kernel_socket.c (rtm_write): Change to use pre stored struct_dl -	value for gateway specification. - -1999-11-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* Makefile.am (EXTRA_DIST): Add rtread_getmsg.c. - -1999-11-21  Michael Handler <handler@sub-rosa.com> - -	* rtread_getmsg.c: Added for Solaris 2.6 support. - -1999-11-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* client_main.c: Disable making obsolete zebra test `client' -	command. - -1999-10-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <jordy@wserv.com> - -	* 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 <kobayasi@north.ad.jp> - -	* Fix serious bug of IPv6 route deletion. - -1999-09-11  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ioctl.c (if_set_prefix): Properly set broadcast address. - -1999-09-04  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* rib.c (rib_add_ipv6, rib_delete_ipv6): now protocol daemons -	can install connected route to kernel via zebra - -1999-08-24  VOP <vop@unity.net> - -	* rib.c: Include "sockunion.h" - -1999-08-22  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* zebra.h (ZEBRA_INTERFACE_ADDRESS_ADD): -	ZEBRA_INTERFACE_{ADD,DELETE} added. - -1999-08-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* zebra.h: New Zebra message ZEBRA_INTERFACE_{ADD,DELETE} added. - -1999-08-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* interface.h: New file. -	* Makefile.am: Add interface.h - -1999-08-04  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* redistribute.c (zebra_redistribute): give ifindex to client. - -1999-08-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* main.c (longopts): -k, --keep_kernel option added. - -1999-07-18  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* rt_socket.c (rtm_write): forgot closing socket bug fixed. - -1999-07-17  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* rib.c (show_ipv6_cmd): if rib is link show interface name. - -1999-07-17  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* rt_socket.c (rtm_write): use sockaddr_dl when null gateway. - -1999-07-16  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* rt_socket.c (rtm_write): ipv6 route table bug fixed. - -1999-07-15  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* zebra.c (zebra_read_ipv6): read link prefix from ospf6 support - -1999-07-15  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp> - -	* rt_socket.c (kernel_rtm_ipv6): gate treatment bug fixed. - -1999-07-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if_sysctl.c (ifm_read): Clear sockunion argument before fetching -	data.  Suggested by "Chris P. Ross" <cross@eng.us.uu.net> - -1999-07-08  HEO SeonMeyong <seirios@Matrix.IRI.Co.Jp> - -	* interface.c (if_tun_add): Add KAME's gif tunnel setting codes. - -1999-06-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra.c (zebra_serv): Only accept loopback address connection. - -1999-06-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra.h (ZEBRA_ROUTE_EXTERNAL): Add zebra messages flags - -1999-06-17  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ipforward_proc.c: ipforward_on () and ipforward_off () added. - -1999-06-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ipforward_proc.c (ipforward_ipv6): Check for IPv6 forwarding -	using /proc file system is added. - -1999-06-06  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if_ioctl.c (if_get_index): Interface index set bug is fixed by -	adding #else at the middle of function.  Suggested by David Luyer -	<luyer@ucs.uwa.edu.au>. - -1999-05-29    <kunihiro@zebra.org> - -	* rt_ioctl.c: Comment out #include <linux/ipv6_route.h>. - -1999-05-26  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra.h (ZEBRA_ROUTE_MAX): Add new define for the max value of -	the sort of routes. - -1999-05-25  Patrick Koppen <koppen@rhrk.uni-kl.de> - -	* 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    <kunihiro@zebra.org> - -	* redistribute.c (zebra_check_addr): Added for loopback address -	check. - -1999-05-15  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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 <srb@cuci.nl> - -	* 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  <kunihiro@zebra.org> - -	* rt_netlink.c: Change log () to zlog (). - -1999-05-07    <kunihiro@zebra.org> - -	* zebra.h (ZEBRA_ROUTE_OSPF6): Added for ospf6d route. - -1999-04-20  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* interface.c: Add `no ip address' command. - -1999-04-10  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rt_netlink.c (kernel_read): Function added for asynchronous -	zebra between kernel communication. - -1999-03-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rtread_sysctl.c (rtm_read): Fix address memcopy overrun bug. -	Reported by Achim Patzner <ap@bnc.net>. - -1999-03-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.am: Install configuration sample with 600 permission. - -1999-03-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.am: Add -I.. to INCLUDES. - -1999-02-18  Peter Galbavy  <Peter.Galbavy@knowledge.com> - -	* syslog support added - -1999-02-17 Peter Galbavy <Peter.Galbavy@knowledge.com> - -	* 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 <map@stacken.kth.se> - -	* interface.c: Header include added. - -1998-12-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rt.h (kernel_delete_ipv6): change int index to unsigned int index. - -1998-12-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if_ioctl.c (interface_list_ioctl): interface flag must be -	checked before check addresses of the interface. - -1998-12-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6. - -1998-10-14  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ioctl.c: Linux version before 2.1.0 need interface route setup. - -1998-09-15  HEO SeonMeyong  <seirios@matrix.iri.co.jp> - -	* change HYDRANGEA to KAME - -1998-09-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* main.c (main): batch mode option '-b' added. - -1998-08-16  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* rib.c (rib_add_ipv6): delete rib_add_in6. - -1998-07-27  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* main.c: retain flag is added. - -1998-07-08  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rtable.[ch]: merged with rib.[ch] - -1998-07-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* connected.h: renamed from ifa.h. - -1998-06-09  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* 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  <kunihiro@zebra.org> - -	* rt_netlink.c: renamed from krt_netlink.c -	 -	* fib.c: deleted. -	* rt_kvm.c: deleted. -	* rtread_getmsg.c: deleted. - -1998-06-07  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if.c (multicast): add multicast flag [un]set fucntion. - -1998-05-19  Yamshita TAKAO  <jargon@lares.dti.ne.jp> - -	* 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  <jargon@lares.dti.ne.jp> - -	* zebra.c: Modify for compile on Solaris. - -1998-05-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* main.c: change CONFDIR to SYSCONFDIR. - -1998-05-01  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* .cvsignore: added. - -1998-04-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* client.c: moves to ../lib. - -1998-03-30  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if_ioctl.c (if_get_addr): Change address copy from memcopy() to -	structure assignment. - -1998-03-30  URA Hiroshi <ura@yamato.ibm.co.jp> - -	* if_sysctl.c (ifm_interface_add): sdl->sdl_data copy bug fixed. - -1998-02-23  "Hannes R. Boehm" <hannes@boehm.org> - -	* if.c (if_init): add config_exit_cmd and config_help_cmd. - -1998-01-24  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rt_ioctl.c (route_ioctl): EPERM treatment added. - -1998-01-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rt_socket.c (kernel_read): communication port zebra between -	kernel is now handled by kernel_read. - -1998-01-02  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* main.c (main): zebra [-P port] can specify vty port number. - -1997-12-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra.c: change select will be block. - -1997-12-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* add static route treatment. - -1997-11-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rt_netlink.c: add netlink support over GNU/Linux system. - -1997-11-23  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* all inet_addr is changed to inet_aton. - -	* zebra.c (ip_route): add ip route command for static routes. - -1997-11-20  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if.c (if_flag_dump): Linux port of if_flag_dump and _vty. - -1997-11-19  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if.c: add interface command. - -1997-11-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* ipforward_proc.c : Now works on Linux. - -1997-10-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* command.c : add completion feature. - -1997-10-18  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vty.c (vty_command): add vty interface. - -1997-10-13  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* zebra.c: add verbose mode. - -1997-10-12 SonMyong Ho <s-ho@Matrix.IRI.Co.Jp> - -	* Hydrangea for FreeBSD supported -	* in.h: add some prototype. - -1997-10-11  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rt_socket.c and rtread.c completely rewritten. - -1997-10-05  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* rt_socket.c: rename kernel_sock to routing_socket - -1997-10-04  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* if.c (if_new): interface structure change from linklist to vector. - -1997-10-03  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* vector.c (vector_init): create vector related function - -1997-09-25  Kunihiro Ishiguro  <kunihiro@zebra.org> - -	* Makefile.in: add tags target - -	* start IPv6 support for INRIA FreeBSD. -  | 
