summaryrefslogtreecommitdiffstats
path: root/isisd/ChangeLog
blob: e3fe62570168b04ef895d27b822cfe4f76189136 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
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