1 2005-09-26 Hasso Tepper <hasso at quagga.net>
3 * isis_tlv.[ch]: New function tlv_add_in_addr() to put just one IPv4
4 address into TLV. Used for IPv4 address TLV (in case of LSP) and TE
6 * isis_lsp.c: Use tlv_add_in_addr() and include router ID in LSP.
8 2005-09-26 Hasso Tepper <hasso at quagga.net>
10 * isis_lsp.c: Support for originating TE IS and IPv4 TLV's. No any sub
13 2005-09-26 Hasso Tepper <hasso at quagga.net>
15 * isis_tlv.[ch]: Two new functions - tlv_add_te_is_neighs() and
16 tlv_add_te_ipv4_reachs() to handle TLV's with new metric. None of
17 them handle sub TLVs though for now.
19 2005-09-26 Hasso Tepper <hasso at quagga.net>
21 * isis_circuit.[ch]: Some preliminary support for specifying wide
22 circuit metrics. Needs more thinking though, but should do for now.
24 2005-09-26 Hasso Tepper <hasso at quagga.net>
26 * isisd.[ch]: Introduce oldmetric flag for area and transition
27 metricstyle command. With metricstyle wide only extended TLVs
30 2005-09-25 Hasso Tepper <hasso at quagga.net>
32 * dict.[ch]: Revert all nonfunctional changes. It's external module
33 imported from kazlib and it's better not to screw it - there is
34 theoretical chance that we might want to merge changes from upstream
35 at some point. Also avoid the loss of info about upstream version
38 2005-09-21 Hasso Tepper <hasso at quagga.net>
40 * isis_route.c: Fix output of nexthops in case of extreme debug.
42 2005-09-19 Hasso Tepper <hasso at quagga.net>
44 * isis_lsp.c, isis_pdu.c, isis_spf.c: Remove some old unused code.
46 2005-09-19 Hasso Tepper <hasso at quagga.net>
48 * isis_lsp.c: Better output of detailed LSP printout and fixed TE IPv4
49 reachibility metric display.
51 2005-09-19 Hasso Tepper <hasso at quagga.net>
53 * isis_tlv.h: Cleanup comment about TLVs we should support, remove info
54 about useless (in sense of IP(v6)) TLVs.
56 2005-09-19 Hasso Tepper <hasso at quagga.net>
58 * isis_lsp.h: Added backpointer to the area from LSP. For now it's used
59 only in generated topology LSPs.
60 * isisd.[ch]: Cleanup CLI commands related to topology generation and
61 added command to specify base fo dynamic hostname for topology LSPs.
62 * isis_lsp.c: Rewrite almost all code related to generation topology
63 LSPs (top_lsp_refresh(), generate_topology_lsps() and
64 build_topology_lsp_data() functions). Topology is connected to own
65 LSP now (lsp_build_nonpseudo). Commented out lsppdu_realloc
66 functions, it's not used any more hopefully.
68 2005-09-18 Hasso Tepper <hasso at quagga.net>
70 * isis_lsp.c (lsp_update): Fix previous commit - manipulate the right
71 database and only if LSP is really in the database (sanity check).
73 2005-09-16 Hasso Tepper <hasso at quagga.net>
75 * isis_lsp.c (lsp_update): Remove LSP from database before updating
76 its data and put it back after. Database entry MUST contain at least
77 correct pointers to the sysid to get correct compare results.
78 * isis_lsp.[ch], isis_pdu.c: Pass level to the lsp_update() function.
80 2005-09-05 Hasso Tepper <hasso at quagga.net>
82 * *.c: Try to be less verbose by default (without any debug options
84 * isis_lsp.c (lsp_build_nonpseudo): Use stream_reset() instead of
85 touching endp directly.
86 * isis_lsp.c (lsp_build_pseudo): Ditto.
88 2005-09-03 Hasso Tepper <hasso at quagga.net>
90 * isis_lsp.c: Yet another regression introduced by stream cleanup.
91 Similar fix to the one commited to lsp_build_nonpseudo() some days
94 2005-09-01 Hasso Tepper <hasso at quagga.net>
96 * isis_lsp.c: Less TLV leaking.
98 2005-09-01 Hasso Tepper <hasso at quagga.net>
100 * random.c, spgrid.[ch]: Fix warnings with hope that I didn't broke
101 anything. These floats to longs and vice versa casts are starnge
103 * isis_pdu.c: As we don't use %z for size_t for now because we support
104 older compilers, cast them to unsigned long.
106 2005-09-01 Hasso Tepper <hasso at quagga.net>
108 * isis_adjacency.c, isis_lsp.c, isisd.c: Replace XMALLOC && memset
110 * isis_lsp.c (lsp_build_pseudo): Fix adding ES neighbour.
111 * isis_tlv.c: More compact free_tlvs() function.
112 * isis_lsp.c (lsp_build_nonpseudo) : Try to fix one more regression
113 introduced by stream cleanup. Seek endp to the right place before
114 starting to fill stream with TLVs.
116 2005-08-16 Hasso Tepper <hasso at quagga.net>
118 * isis_misc.[ch]: Fix some warnings, making some strings const.
120 2005-08-10 Hasso Tepper <hasso at quagga.net>
122 * topology/spgrid.c: MAXLONG is deprecated, use LONG_MAX instead.
123 values.h, where MAXLONG is defined, is deprecated as well.
125 2005-05-26 Yossi Boaron <Yossi.Boaron@veraznetworks.com>
127 * isis_dr.c: Fix copy&paste error in isis_dr_resign().
129 2005-05-25 Paul Jakma <paul@dishone.st>
131 * isisd.c: (show_isis_generated_topology) change to _RO version
132 of list macro. remove the extra listnode variable. one of the
133 macros had had incorrect number of arguments.
135 2005-05-03 Paul Jakma <paul@dishone.st>
137 * (general) More cleaning up of stream abuse, isisd should be
138 back to previous functionality. Replace various XMALLOC+memset's
140 * isis_tlv.c: (tlv_add_padding) use stream_put to clear the stream
141 rather than forward endp, as isisd reuses streams.
142 * isis_pdu.c: (process_lsp) cleanup direct reference to stream endp
143 (send_lsp) manual copy of a stream cleaned up to use stream_copy.
144 * isis_network.c: (isis_recv_pdu_bcast) replace direct memcpy with
146 (isis_recv_pdu_p2p) replace recvfrom directly into stream with
147 stream_recvfrom. Remove dangerous and now unneeded manual update
149 (isis_recv_pdu_bcast / non-GNU_LINUX) Replace direct memcpy with
151 (isis_recv_pdu_p2p) replace read direct into stream with
152 stream_read_try, and hence remove the manual update of endp.
153 * isis_lsp.c: (lsp_update_data) manual stream dup replaced with
155 (lsppdu_realloc) mempcy into stream data replaced with stream_put.
156 (lsp_build_nonpseudo) remove mysterious stream_forward_endp's -
157 which were originally stream_set_putp - shouldn't be needed
158 now that all the manual fiddling of private stream data has been
160 (build_topology_lsp_data) remove unneeded twiddling of endp,
161 appears to be due to lsppdu_realloc(), but it appears to sort of
162 do the right thing wrt streams.
164 2005-04-15 Paul Jakma <paul@dishone.st>
166 * topology/Makefile.am: random.c is a source of libtopology, so list
169 2005-04-12 Hasso Tepper <hasso at quagga.net>
171 * isis_adjacency.c: Fix typo introduced with listloop cleanup.
173 2005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
175 * isis_zebra.h (isis_zebra_finish): Remove declaration of unused
177 * isis_zebra.c (isis_zebra_route_add_ipv4): Call zclient_send_message
178 to send the message to zebra instead of calling writen directly, since
179 zclient_send_message understands non-blocking I/O and will manage
180 the buffer queue appropriately.
181 (isis_zebra_finish): Remove unused function, particularly since
182 the zclient_free function has been removed.
184 2005-04-10 Paul Jakma <paul@dishone.st>
186 * Makefile.am: topology should not be a conditional SUBDIR,
187 otherwise make dist breaks.
188 * topology/Makefile.am: remove EXTRA_DIST of files which dont
189 exist in that directory, broke make dist.
190 * isisd.c: (show_isis_generated_topology_cmd) convert LIST_LOOP
191 * isis_lsp.c: (generate_topology_lsps) ditto
192 (build_topology_lsp_data) ditto
194 2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
196 * isis_zebra.c: (isis_zebra_if_del) Must use if_lookup_by_name_len.
198 2005-04-02 Hasso Tepper <hasso at quagga.net>
200 * Makefile.am: Variables to handle conditonal compiling of topology
202 * isis_lsp.c: lsppdu_realloc() is used by topology generator.
203 * isisd.c: Rename show_isis_topology_cmd to not conflict the one in
205 * isisd.h: Remove TOPOLOGY_GENERATE define, it will be defined in
206 toplevel config.h if topology generator is enabled.
207 * topology/Makefile.am: Handle the libtoolized Quagga libraries.
209 2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
211 * isis_zebra.c: (isis_zebra_if_del) Call if_delete_retain instead
212 of if_delete, since it is generally not safe to remove interface
213 structures. After deleting, set ifp->ifindex to IFINDEX_INTERNAL.
214 (zebra_interface_if_lookup) Tighten up code.
216 2005-03-07 Michael Sandee <voidptr@voidptr.sboost.org>
218 * isis_spf.c: host.name might be NULL.
220 2005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
222 * isis_main.c: (reload) Call vty_reset instead of vty_finish (both
223 functions were exactly the same).
225 2005-01-18 Hasso Tepper <hasso at quagga.net>
227 * *.c: Changed many functions to static. Some commented out
228 functions and some tiny related fixes. No functional changes.
230 2005-01-01 Hasso Tepper <hasso at quagga.net>
232 * isis_common.h, isisd.c, isis_pdu.c: Implement authentication in
233 SNPs correctly - ie. make it conditional like it is in IOS.
235 2004-12-29 Hasso Tepper <hasso at quagga.net>
237 * isis_circuit.c, isis_csm.c, isis_zebra.c: Don't crash during
238 interface up/down events. I'm not sure whether logic is correct
239 though. Needs rethink anyway, seems. Replace if_is_up() with
240 if_is_operative() and add some more.
242 2004-12-24 Hasso Tepper <hasso at quagga.net>
244 * *.c: zlog_* cleanup. Mostly changed level of debug messages to
247 2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
249 * isis_main.c: (main) The 2nd argument to openzlog has been removed.
251 2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
253 * isis_main.c: (sigint,sigterm) Use zlog_notice for termination message.
254 (terminate) This function should be static, not global.
255 (main) Use zlog_notice for startup announcement, and remove
258 2004-11-25 Hasso Tepper <hasso at quagga.net>
260 * isis_main.c: Make group to run as configurable.
262 2004-11-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
264 * dict.c: Include "zassert.h" instead of <assert.h>.
266 2004-10-13 Hasso Tepper <hasso at quagga.net>
268 * isis_main.c: Initialize access list. Although we haven't route
269 filtering yet, it's needed to limit access to vty.
271 2004-10-11 Hasso Tepper <hasso at quagga.net>
273 * isis_routemap.c, isisd.c: Make more strings const.
274 * isisd.h: Make min_bcast_mtu unsigned.
276 2004-10-07 Hasso Tepper <hasso at quagga.net>
278 * *.[c|h]: Fix warnings: make strings const, signed -> unsigned,
279 remove or comment out unused variables etc.
280 * isis_lsp.c: Clean lsp_print_detail() a bit, add TE TLV's and
282 * isis_circuit.c: Remove old ip/ipv6 address commands code.
284 2004-10-03 Hasso Tepper <hasso at quagga.net>
286 * isis_zebra.c: Read router id related messages from zebra daemon.
287 * isis_lsp.c: Use router id in IP address TLV in LSP's. It's how Junos
288 routers behave as well.
289 * isis_tlv.h: Export add_tlv() function.
291 2004-09-27 Hasso Tepper <hasso at quagga.net>
293 * isis_pdu.c: Fix accessing NULL found by valgrind.
295 2004-09-26 Hasso Tepper <hasso at quagga.net>
297 * isis_circuit.c: Fix previous commit. Don't schedule LSP regeneration
298 and don't crash if circuit->area == NULL.
300 2004-09-26 Hasso Tepper <hasso at quagga.net>
302 * *.[c|h]: Fix a lot of compiler warnings.
303 * isis_events.c: Remove isis_event_int_reach_change() function, as it
304 doesn't make sense for now. Call lsp_regenerate_schedule() directly
307 2004-09-26 Hasso Tepper <hasso at quagga.net>
309 * isis_lsp.h: Cast-as-lvalue extension is deprecated and is not
310 accpted any more in gcc-4.0.
312 2004-09-24 Hasso Tepper <hasso at quagga.net>
314 * isisd.c: thread_master *master is already defined in isis_main.c.
315 * isis_misc.[c|h], isis_lsp.[c|h]: Move static variables out of
318 2004-09-23 Hasso Tepper <hasso at quagga.net>
320 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
322 2004-09-21 LIU Xin <lx at ns.6test.edu.cn>
324 * isis_dr.c: Update dis_record of adjacencies when isisd becomes DIS.
326 2004-09-21 Hasso Tepper <hasso at quagga.net>
328 * isis_lsp.c: Put IPv4 prefixes into reachability TLVs, not
329 addresses. Make IPv6 work with other prefix lengths than % 8 == 0.
331 2004-09-20 LIU Xin <lx at ns.6test.edu.cn>
333 * isis_dr.c, isis_events.c: Remove hello multiplier usage while
334 scheduling DIS election.
335 * isis_pdu.c: Don't call isis_event_dis_status_change() whenever
336 l[1|2]_desig_is is different from hdr.lan_id.
338 2004-09-19 Hasso Tepper <hasso at quagga.net>
340 * isis_spf.h: Renamed t_spf_periodic to t_spf as it's not used to
341 store pointer to periodic SPF thread only.
342 * isis_spf.c: Cleaned up SPF threads schedule code. IPv4 and IPv6
343 threads are independant now. Used macros wherever possible.
344 * isis_lsp.c: Fixed bug in scheduling LSP regeneration.
346 2004-09-17 LIU Xin <lx at ns.6test.edu.cn>
348 * isis_circuit.c: According to RFC1142 the first DIS election will be
349 started 2 * HelloTimer seconds after the initialization.
351 2004-09-15 Laurent Rabret <laurent.rabret at francetelecom.com>
353 * isis_pdu.c: Fix error in same subnet comparison. The previous
354 algorithm only worked when netmask % 8 == 0.
355 * isisd.c: Show domain and area passwords in configuration.
356 * iso_checksum.c: Fixed error in the checksum calculation. The previous
357 algorithm could produce a bad checksum if the 2 complement's vs 1
358 complement's adaptation was required.
359 * isis_pdu.c: Authentication in LSPs does not mean authentication in
361 * isis_tlv.c: Fix errors in password checking.
363 2004-09-14 Hasso Tepper <hasso at quagga.net>
365 * isis_circuit.c: Mostly cosmetical changes in isis_circuit_add_addr()
366 and add calls to isis_event_int_reach_change(). Implement
367 isis_circuit_del_addr(). Cancel t_run_dr threads is circuit goes
369 * isis_events.c: Implement isis_event_int_reach_change(). I'm not sure
370 yet how this stuff should work, but it allows be to start debug
371 threads which act very weird at the moment.
372 * isis_tlv.c: Much less verbose by default.
373 * isis_zebra.c: Added extreme debugging output. Call connected_free()
374 after isis_circuit_del_addr, not before.
375 * isisd.conf.sample: Update it a little bit. 10000 seconds hello time
376 was certainly too much IMHO.
378 2004-09-14 LIU Xin <lx at ns.6test.edu.cn>
380 * isis_pdu.c: Update l1_desig_is only if neighbor really is DIS.
382 2004-09-10 LIU Xin <lx at ns.6test.edu.cn>
384 * isis_pdu.c: Goto out only if no adjacency exist.
385 * isis_circuit.c: Don't crash while executing "isis circuit-type"
386 command if circuit exists, but circuit->area is still NULL.
387 * isis_lsp.c: Set pointers to thread to NULL before initiating new
388 thread in lsp_l1_refresh_pseudo(), lsp_l2_refresh_pseudo() and
389 lsp_tick() functions.
391 2004-05-19 Laurent Rabret <laurent.rabret at francetelecom.com>
393 * isis_constants.h: change the ISIS Hello interval from 1 to 10 (cisco's
395 * isis_main.c: suppress a bad "#if 0 #endif" block for isis to be
396 activated on startup.
397 * isis_tlv.[c|h]: LSP recognition of the ISIS Graceful Restart LSP (not
400 2004-05-19 Rivo Nurges <rix at estpak.ee>
402 * *.c: Removing many useless net/ethernet.h includes and some tiny
403 fixes to make it compile on NetBSD and OpenBSD.
405 2004-05-08 Paul Jakma <paul@dishone.st>
407 * isis_zebra.c: Sync with zclient changes.
409 2004-02-11 Hasso Tepper <hasso@estpak.ee>
410 * many *.c files: Replace thread_add_xxx() and thread_cancel() with
411 THREAD_XXX_ON and THREAD_XXX_OFF macros.
413 2004-01-27 Hasso Tepper <hasso@estpak.ee>
414 * isis_circuit.c: Commented out "(no) ip address" commands so it doesn't
417 2003-12-31 Hasso Tepper <hasso@estpak.ee>
418 * isis_dr.c: Fix some threads related bugs.
420 2003-12-23 Hasso Tepper <hasso@estpak.ee>
421 Some fixes done by me and Cougar <cougar@random.ee>.
422 * isis_adjacency.c: Two bugfixes by Cougar:
423 After down state neigbour was deleted but not removed from neighbours list.
424 Don't show random expire time during neighbour initialisation.
425 * isis_circuit.c: Don't show interface addresses in config by Cougar.
426 * isis_constants.h, isis_misc.c: Show other well-known NLPID names as well
428 * isisd.c: Two tiny CLI fixes by me.
429 * isis_lsp.c: Bugfix in lsp_print_detail() by Cougar.
430 Show IPv4 external and IPv6 TLV's in "show isis database detail" by me.
431 * isis_misc.c: Net address format fix by Cougar.
432 * isis_spf.c: Dead loop fix in isis_spf_preload_tent() by Cougar
433 * isis_zebra.c: Ignore distance when adding route to zebra for now by me.
434 * isis_tlv.c: Parse external IPv4 TLV's correctly by me.
436 Version 0.0.7 to 0.0.8
437 ======================
439 o A bug in handling of other ISs fragments fixed
440 o hello interval now specified in *seconds*
441 o replaced the adj->ipv[46]_addr tables with linked lists
443 Version 0.0.6 to 0.0.7 (Oct 29 2002)
444 ======================
446 o changed to zebra-0.93b
448 o handling/generation of LSP fragments
449 o domain/area/circuit password
451 Version 0.0.5 to 0.0.6 (Jul 4 2002)
452 ======================
454 o lots of changes to SPF
455 - runs the SPF for IPv4 and IPv6 separately
456 - a number of bugs fixed
457 - simplified the implementation
458 - "7.2.7 Removal of excess paths" implemented
459 o ported to freebsd (tested in 4.5-STABLE and 4.6-STABLE)
460 o moved to zebra-0.93-pre2
461 o "show isis topology" command added
462 o "show (ip|ipv6) route isis commands added to zebra
463 o a number of fixes and additions (e.g. checksum calculation and DIS state
464 change event) by BeomSeok Gwak added
466 Version 0.0.4 to 0.0.5 (Apr 26 2002)
467 ======================
469 o changed to zebra-0.93-pre1
470 o number of memory leaks + small bugs fixed
471 o a bug related to processing of neigbors when installing routes fixed
473 Version 0.0.3 to 0.0.4 (Feb 27 2002)
474 ======================
476 o initial version of SPT algorithm
477 o installing routes though zebrad
478 o isis debug commands
479 o work on IS-IS events (e.g. circuit state change)
481 Version 0.0.2 to 0.0.3 (Jan 17 2002)
482 ======================
484 o LSP handling improved
485 o generation of pseudonode LSPs
486 o DR election enhanced
487 o support for p2p interfaces
488 o support for topology simulation
489 o more detailed output for show commands
491 Version 0.0.1 to 0.0.2 (Dec 13 2001)
492 ======================
494 o circuit state machine (isis_csm.[ch]) added
495 o lot of work on LSP generation
497 o uses DGRAM sockets instead of RAW
498 o gets IP(v6) addresses from zebra
499 o debug can be controlled with "debug isis" command
500 o read support for TE tlvs
501 o work started on p2p interfaces
502 o work started on isis events