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 


