blob: 41189d67382c3ffbbd81457831914637ae9da1ec [file] [log] [blame]
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