2005-09-25 Hasso Tepper * dict.[ch]: Revert all nonfunctional changes. It's external module imported from kazlib and it's better not to screw it - there is theoretical chance that we might want to merge changes from upstream at some point. Also avoid the loss of info about upstream version (rcsid). 2005-09-21 Hasso Tepper * isis_route.c: Fix output of nexthops in case of extreme debug. 2005-09-19 Hasso Tepper * isis_lsp.c, isis_pdu.c, isis_spf.c: Remove some old unused code. 2005-09-19 Hasso Tepper * isis_lsp.c: Better output of detailed LSP printout and fixed TE IPv4 reachibility metric display. 2005-09-19 Hasso Tepper * isis_tlv.h: Cleanup comment about TLVs we should support, remove info about useless (in sense of IP(v6)) TLVs. 2005-09-19 Hasso Tepper * isis_lsp.h: Added backpointer to the area from LSP. For now it's used only in generated topology LSPs. * isisd.[ch]: Cleanup CLI commands related to topology generation and added command to specify base fo dynamic hostname for topology LSPs. * isis_lsp.c: Rewrite almost all code related to generation topology LSPs (top_lsp_refresh(), generate_topology_lsps() and build_topology_lsp_data() functions). Topology is connected to own LSP now (lsp_build_nonpseudo). Commented out lsppdu_realloc functions, it's not used any more hopefully. 2005-09-18 Hasso Tepper * isis_lsp.c (lsp_update): Fix previous commit - manipulate the right database and only if LSP is really in the database (sanity check). 2005-09-16 Hasso Tepper * isis_lsp.c (lsp_update): Remove LSP from database before updating its data and put it back after. Database entry MUST contain at least correct pointers to the sysid to get correct compare results. * isis_lsp.[ch], isis_pdu.c: Pass level to the lsp_update() function. 2005-09-05 Hasso Tepper * *.c: Try to be less verbose by default (without any debug options on). * isis_lsp.c (lsp_build_nonpseudo): Use stream_reset() instead of touching endp directly. * isis_lsp.c (lsp_build_pseudo): Ditto. 2005-09-03 Hasso Tepper * isis_lsp.c: Yet another regression introduced by stream cleanup. Similar fix to the one commited to lsp_build_nonpseudo() some days ago. 2005-09-01 Hasso Tepper * isis_lsp.c: Less TLV leaking. 2005-09-01 Hasso Tepper * random.c, spgrid.[ch]: Fix warnings with hope that I didn't broke anything. These floats to longs and vice versa casts are starnge indeed. * isis_pdu.c: As we don't use %z for size_t for now because we support older compilers, cast them to unsigned long. 2005-09-01 Hasso Tepper * isis_adjacency.c, isis_lsp.c, isisd.c: Replace XMALLOC && memset with XCALLOC. * isis_lsp.c (lsp_build_pseudo): Fix adding ES neighbour. * isis_tlv.c: More compact free_tlvs() function. * isis_lsp.c (lsp_build_nonpseudo) : Try to fix one more regression introduced by stream cleanup. Seek endp to the right place before starting to fill stream with TLVs. 2005-08-16 Hasso Tepper * isis_misc.[ch]: Fix some warnings, making some strings const. 2005-08-10 Hasso Tepper * topology/spgrid.c: MAXLONG is deprecated, use LONG_MAX instead. values.h, where MAXLONG is defined, is deprecated as well. 2005-05-26 Yossi Boaron * isis_dr.c: Fix copy&paste error in isis_dr_resign(). 2005-05-25 Paul Jakma * isisd.c: (show_isis_generated_topology) change to _RO version of list macro. remove the extra listnode variable. one of the macros had had incorrect number of arguments. 2005-05-03 Paul Jakma * (general) More cleaning up of stream abuse, isisd should be back to previous functionality. Replace various XMALLOC+memset's with XCALLOC * isis_tlv.c: (tlv_add_padding) use stream_put to clear the stream rather than forward endp, as isisd reuses streams. * isis_pdu.c: (process_lsp) cleanup direct reference to stream endp (send_lsp) manual copy of a stream cleaned up to use stream_copy. * isis_network.c: (isis_recv_pdu_bcast) replace direct memcpy with stream_write (isis_recv_pdu_p2p) replace recvfrom directly into stream with stream_recvfrom. Remove dangerous and now unneeded manual update of endp. (isis_recv_pdu_bcast / non-GNU_LINUX) Replace direct memcpy with stream_write. (isis_recv_pdu_p2p) replace read direct into stream with stream_read_try, and hence remove the manual update of endp. * isis_lsp.c: (lsp_update_data) manual stream dup replaced with stream_dup. (lsppdu_realloc) mempcy into stream data replaced with stream_put. (lsp_build_nonpseudo) remove mysterious stream_forward_endp's - which were originally stream_set_putp - shouldn't be needed now that all the manual fiddling of private stream data has been corrected. (build_topology_lsp_data) remove unneeded twiddling of endp, appears to be due to lsppdu_realloc(), but it appears to sort of do the right thing wrt streams. 2005-04-15 Paul Jakma * topology/Makefile.am: random.c is a source of libtopology, so list it. 2005-04-12 Hasso Tepper * isis_adjacency.c: Fix typo introduced with listloop cleanup. 2005-04-11 Andrew J. Schorr * isis_zebra.h (isis_zebra_finish): Remove declaration of unused function. * isis_zebra.c (isis_zebra_route_add_ipv4): Call zclient_send_message to send the message to zebra instead of calling writen directly, since zclient_send_message understands non-blocking I/O and will manage the buffer queue appropriately. (isis_zebra_finish): Remove unused function, particularly since the zclient_free function has been removed. 2005-04-10 Paul Jakma * Makefile.am: topology should not be a conditional SUBDIR, otherwise make dist breaks. * topology/Makefile.am: remove EXTRA_DIST of files which dont exist in that directory, broke make dist. * isisd.c: (show_isis_generated_topology_cmd) convert LIST_LOOP * isis_lsp.c: (generate_topology_lsps) ditto (build_topology_lsp_data) ditto 2005-04-02 Andrew J. Schorr * isis_zebra.c: (isis_zebra_if_del) Must use if_lookup_by_name_len. 2005-04-02 Hasso Tepper * Makefile.am: Variables to handle conditonal compiling of topology generator code. * isis_lsp.c: lsppdu_realloc() is used by topology generator. * isisd.c: Rename show_isis_topology_cmd to not conflict the one in the isis_spf.c. * isisd.h: Remove TOPOLOGY_GENERATE define, it will be defined in toplevel config.h if topology generator is enabled. * topology/Makefile.am: Handle the libtoolized Quagga libraries. 2005-04-02 Andrew J. Schorr * isis_zebra.c: (isis_zebra_if_del) Call if_delete_retain instead of if_delete, since it is generally not safe to remove interface structures. After deleting, set ifp->ifindex to IFINDEX_INTERNAL. (zebra_interface_if_lookup) Tighten up code. 2005-03-07 Michael Sandee * isis_spf.c: host.name might be NULL. 2005-02-23 Andrew J. Schorr * isis_main.c: (reload) Call vty_reset instead of vty_finish (both functions were exactly the same). 2005-01-18 Hasso Tepper * *.c: Changed many functions to static. Some commented out functions and some tiny related fixes. No functional changes. 2005-01-01 Hasso Tepper * isis_common.h, isisd.c, isis_pdu.c: Implement authentication in SNPs correctly - ie. make it conditional like it is in IOS. 2004-12-29 Hasso Tepper * isis_circuit.c, isis_csm.c, isis_zebra.c: Don't crash during interface up/down events. I'm not sure whether logic is correct though. Needs rethink anyway, seems. Replace if_is_up() with if_is_operative() and add some more. 2004-12-24 Hasso Tepper * *.c: zlog_* cleanup. Mostly changed level of debug messages to LOG_DEBUG. 2004-12-07 Andrew J. Schorr * isis_main.c: (main) The 2nd argument to openzlog has been removed. 2004-12-03 Andrew J. Schorr * isis_main.c: (sigint,sigterm) Use zlog_notice for termination message. (terminate) This function should be static, not global. (main) Use zlog_notice for startup announcement, and remove ifdef ZEBRA_VERSION. 2004-11-25 Hasso Tepper * isis_main.c: Make group to run as configurable. 2004-11-24 Andrew J. Schorr * dict.c: Include "zassert.h" instead of . 2004-10-13 Hasso Tepper * isis_main.c: Initialize access list. Although we haven't route filtering yet, it's needed to limit access to vty. 2004-10-11 Hasso Tepper * isis_routemap.c, isisd.c: Make more strings const. * isisd.h: Make min_bcast_mtu unsigned. 2004-10-07 Hasso Tepper * *.[c|h]: Fix warnings: make strings const, signed -> unsigned, remove or comment out unused variables etc. * isis_lsp.c: Clean lsp_print_detail() a bit, add TE TLV's and removed old code. * isis_circuit.c: Remove old ip/ipv6 address commands code. 2004-10-03 Hasso Tepper * isis_zebra.c: Read router id related messages from zebra daemon. * isis_lsp.c: Use router id in IP address TLV in LSP's. It's how Junos routers behave as well. * isis_tlv.h: Export add_tlv() function. 2004-09-27 Hasso Tepper * isis_pdu.c: Fix accessing NULL found by valgrind. 2004-09-26 Hasso Tepper * isis_circuit.c: Fix previous commit. Don't schedule LSP regeneration and don't crash if circuit->area == NULL. 2004-09-26 Hasso Tepper * *.[c|h]: Fix a lot of compiler warnings. * isis_events.c: Remove isis_event_int_reach_change() function, as it doesn't make sense for now. Call lsp_regenerate_schedule() directly where needed. 2004-09-26 Hasso Tepper * isis_lsp.h: Cast-as-lvalue extension is deprecated and is not accpted any more in gcc-4.0. 2004-09-24 Hasso Tepper * isisd.c: thread_master *master is already defined in isis_main.c. * isis_misc.[c|h], isis_lsp.[c|h]: Move static variables out of header files. 2004-09-23 Hasso Tepper * *.[c|h]: list -> struct list *, listnode -> struct listnode *. 2004-09-21 LIU Xin * isis_dr.c: Update dis_record of adjacencies when isisd becomes DIS. 2004-09-21 Hasso Tepper * isis_lsp.c: Put IPv4 prefixes into reachability TLVs, not addresses. Make IPv6 work with other prefix lengths than % 8 == 0. 2004-09-20 LIU Xin * isis_dr.c, isis_events.c: Remove hello multiplier usage while scheduling DIS election. * isis_pdu.c: Don't call isis_event_dis_status_change() whenever l[1|2]_desig_is is different from hdr.lan_id. 2004-09-19 Hasso Tepper * isis_spf.h: Renamed t_spf_periodic to t_spf as it's not used to store pointer to periodic SPF thread only. * isis_spf.c: Cleaned up SPF threads schedule code. IPv4 and IPv6 threads are independant now. Used macros wherever possible. * isis_lsp.c: Fixed bug in scheduling LSP regeneration. 2004-09-17 LIU Xin * isis_circuit.c: According to RFC1142 the first DIS election will be started 2 * HelloTimer seconds after the initialization. 2004-09-15 Laurent Rabret * isis_pdu.c: Fix error in same subnet comparison. The previous algorithm only worked when netmask % 8 == 0. * isisd.c: Show domain and area passwords in configuration. * iso_checksum.c: Fixed error in the checksum calculation. The previous algorithm could produce a bad checksum if the 2 complement's vs 1 complement's adaptation was required. * isis_pdu.c: Authentication in LSPs does not mean authentication in SNPs. * isis_tlv.c: Fix errors in password checking. 2004-09-14 Hasso Tepper * isis_circuit.c: Mostly cosmetical changes in isis_circuit_add_addr() and add calls to isis_event_int_reach_change(). Implement isis_circuit_del_addr(). Cancel t_run_dr threads is circuit goes down. * isis_events.c: Implement isis_event_int_reach_change(). I'm not sure yet how this stuff should work, but it allows be to start debug threads which act very weird at the moment. * isis_tlv.c: Much less verbose by default. * isis_zebra.c: Added extreme debugging output. Call connected_free() after isis_circuit_del_addr, not before. * isisd.conf.sample: Update it a little bit. 10000 seconds hello time was certainly too much IMHO. 2004-09-14 LIU Xin * isis_pdu.c: Update l1_desig_is only if neighbor really is DIS. 2004-09-10 LIU Xin * isis_pdu.c: Goto out only if no adjacency exist. * isis_circuit.c: Don't crash while executing "isis circuit-type" command if circuit exists, but circuit->area is still NULL. * isis_lsp.c: Set pointers to thread to NULL before initiating new thread in lsp_l1_refresh_pseudo(), lsp_l2_refresh_pseudo() and lsp_tick() functions. 2004-05-19 Laurent Rabret * isis_constants.h: change the ISIS Hello interval from 1 to 10 (cisco's default value). * isis_main.c: suppress a bad "#if 0 #endif" block for isis to be activated on startup. * isis_tlv.[c|h]: LSP recognition of the ISIS Graceful Restart LSP (not implemented yet). 2004-05-19 Rivo Nurges * *.c: Removing many useless net/ethernet.h includes and some tiny fixes to make it compile on NetBSD and OpenBSD. 2004-05-08 Paul Jakma * isis_zebra.c: Sync with zclient changes. 2004-02-11 Hasso Tepper * many *.c files: Replace thread_add_xxx() and thread_cancel() with THREAD_XXX_ON and THREAD_XXX_OFF macros. 2004-01-27 Hasso Tepper * isis_circuit.c: Commented out "(no) ip address" commands so it doesn't confuse vtysh. 2003-12-31 Hasso Tepper * isis_dr.c: Fix some threads related bugs. 2003-12-23 Hasso Tepper Some fixes done by me and Cougar . * isis_adjacency.c: Two bugfixes by Cougar: After down state neigbour was deleted but not removed from neighbours list. Don't show random expire time during neighbour initialisation. * isis_circuit.c: Don't show interface addresses in config by Cougar. * isis_constants.h, isis_misc.c: Show other well-known NLPID names as well by Cougar. * isisd.c: Two tiny CLI fixes by me. * isis_lsp.c: Bugfix in lsp_print_detail() by Cougar. Show IPv4 external and IPv6 TLV's in "show isis database detail" by me. * isis_misc.c: Net address format fix by Cougar. * isis_spf.c: Dead loop fix in isis_spf_preload_tent() by Cougar * isis_zebra.c: Ignore distance when adding route to zebra for now by me. * isis_tlv.c: Parse external IPv4 TLV's correctly by me. Version 0.0.7 to 0.0.8 ====================== o A bug in handling of other ISs fragments fixed o hello interval now specified in *seconds* o replaced the adj->ipv[46]_addr tables with linked lists Version 0.0.6 to 0.0.7 (Oct 29 2002) ====================== o changed to zebra-0.93b o fixed a seg in SPF o handling/generation of LSP fragments o domain/area/circuit password Version 0.0.5 to 0.0.6 (Jul 4 2002) ====================== o lots of changes to SPF - runs the SPF for IPv4 and IPv6 separately - a number of bugs fixed - simplified the implementation - "7.2.7 Removal of excess paths" implemented o ported to freebsd (tested in 4.5-STABLE and 4.6-STABLE) o moved to zebra-0.93-pre2 o "show isis topology" command added o "show (ip|ipv6) route isis commands added to zebra o a number of fixes and additions (e.g. checksum calculation and DIS state change event) by BeomSeok Gwak added Version 0.0.4 to 0.0.5 (Apr 26 2002) ====================== o changed to zebra-0.93-pre1 o number of memory leaks + small bugs fixed o a bug related to processing of neigbors when installing routes fixed Version 0.0.3 to 0.0.4 (Feb 27 2002) ====================== o initial version of SPT algorithm o installing routes though zebrad o isis debug commands o work on IS-IS events (e.g. circuit state change) Version 0.0.2 to 0.0.3 (Jan 17 2002) ====================== o LSP handling improved o generation of pseudonode LSPs o DR election enhanced o support for p2p interfaces o support for topology simulation o more detailed output for show commands Version 0.0.1 to 0.0.2 (Dec 13 2001) ====================== o circuit state machine (isis_csm.[ch]) added o lot of work on LSP generation o ISO checksum o uses DGRAM sockets instead of RAW o gets IP(v6) addresses from zebra o debug can be controlled with "debug isis" command o read support for TE tlvs o work started on p2p interfaces o work started on isis events