blob: 8cb115c669592ec7324433b5ab7e7f608f63283a [file] [log] [blame]
Paul Jakma70461d72006-05-12 22:57:57 +000012006-05-12 Paul Jakma <paul.jakma@sun.com>
2
3 * ospf_lsa.c: (ospf_lsa_action) Get rid of the ospf_lookup
4 call, which is not checked for NULL return, by stripping out
5 functionality which is never used, hence fixing Coverity CID
6 #29.
7 (struct lsa_action) remove unused member.
Paul Jakmae43be0e2006-05-12 23:00:06 +00008 * ospf_interface.c: (ospf_if_exists) Fix missing NULL return
9 check on ospf_lookup, CID #27.
Paul Jakma70461d72006-05-12 22:57:57 +000010
Paul Jakmacac3b5c2006-05-11 13:31:11 +0000112006-05-11 Paul Jakma <paul.jakma@sun.com>
12
13 * ospf_vty.c: (general) Audit ospf_lookup calls in commands,
14 ensure check for NULL result, make vty messages consistent.
15 (show_ip_ospf_interface) Missing NULL check on ospf_lookup
16 result, fixes Coverity CID #70.
Paul Jakma1a8ec2b2006-05-11 13:34:08 +000017 (no_ospf_area_filter_list) Check NULL result from
18 ospf_area_lookup_by_area_id, fixes Coverity CID #69
Paul Jakma894f8b62006-05-12 22:50:40 +000019 * ospf_route.c: (ospf_route_delete_same_ext) Fix deref before
20 NULL check by moving into check-protected block, fix CID #49.
Paul Jakma214a4452006-05-12 22:51:49 +000021 * ospf_abr.c: (ospf_area_range_cost_set) Shouldn't create a new
22 range, should just lookup to see if one exists, the new range
23 is just leaked. Fixes CID #46.
Paul Jakma4021b602006-05-12 22:55:41 +000024 * ospf_lsa.c: (ospf_default_originate_timer) Let the thread
25 take (struct ospf *) as thread argument, rather than (struct
26 ospf *)->default_originate, thus avoiding having to call
27 ospf_lookup.
28 * ospf_zebra.c: (ospf_redistribute_default_set) change setup
29 of ospf_default_originate_timer thread to match.
30 * ospfd.c: (ospf_router_id_update) ditto.
Paul Jakmacac3b5c2006-05-11 13:31:11 +000031
Paul Jakma9c27ef92006-05-04 07:32:57 +0000322006-04-24 Paul Jakma <paul.jakma@sun.com>
33
34 * (general) More Virtual-link fixes, again with much help in
35 testing / debug from Juergen Kammer. Primarily in SPF.
36 * ospf_spf.h: Add guard. ospf_interface.h will include this
37 header.
38 * ospf_interface.h: Modify ospf_vl_lookup definition to take
39 struct ospf as argument, so as to allow for NULL area
40 argument.
41 (struct ospf_vl_data) Remove out_oi, instead add a struct
42 vertex_nexthop, to use as initial nexthop for backbone paths
43 through a vlink.
44 * ospf_interface.c: (ospf_vl_lookup) Modified to allow
45 NULL area to be passed to indicate "any" (first) area.
46 Add extra debug.
47 (ospf_vl_set_params) vl_oi -> nexthop. Add extra debug.
48 (ospf_vl_up_check) Fix debug, inet_ntoa returns a static
49 buffer..
50 * ospf_route.c: (ospf_intra_add_router) Vlinks dont go through
51 backbone, don't bother checking.
52 * ospf_spf.c: (static struct list vertex_list) Record vertices
53 that will need to be freed.
54 (cmp) Order network before router vertices, as required,
55 wasn't implemented.
56 (vertex_nexthop_free) Mild additional robustness check.
57 (vertex_parent_free) Take void argument, as this function
58 is passed as list deconstructor for vertex parent list.
59 (ospf_vertex_new) More debug. Set deconstructor for parent
60 list. Track allocated vertices on the vertex_list.
61 (ospf_vertex_free) Get rid of the tricky recursive cleanup of
62 vertices. Now frees only the given vertex.
63 (ospf_vertex_add_parent) Fix assert.
64 (ospf_nexthop_calculation) Fix calculation of nexthop for
65 VLink vertices, lookup the vl_data and use its previously
66 recorded nexthop information.
67 (ospf_spf_calculate) Vertices are freed simply by deleting
68 vertex_list nodes and letting ospf_vertex_free as deconstructor
69 work per-node.
70 (ospf_spf_calculate_timer) Trivial optimisation, leave
71 backbone SPF calculation till last to reduce SPF churn on
72 VLink updates.
73 * ospf_vty.c: (ospf_find_vl_data) update call to ospf_vl_lookup
74 (no_ospf_area_vlink_cmd) ditto.
75 (show_ip_ospf_interface_sub) For Vlinks, the peer address is
76 more interesting than the output interface.
77
Paul Jakma478aab92006-04-03 21:25:32 +0000782006-04-03 Paul Jakma <paul.jakma@sun.com>
79
80 * (general) Fix issues with handling of Vlinks and entries
81 in the nbrs route-table which were highlighted by the
82 nsm/nbr_self fixes from bug #234. Many thanks to Juergen
83 Kammer for his help and efforts in testing out debug patches to
84 pinpoint the issue.
85 * ospf_interface.c: (ospf_vl_new) Add nbr_self for Vlink.
86 * ospf_neighbor.c: (ospf_nbr_key) new static function, helper
87 to create key in nbrs table for a given nbr.
88 (ospf_nbr_delete) Use ospf_nbr_key. Add an assert() to
89 document an expected state.
90 (ospf_nbr_add_self) Ditto.
91 (ospf_nbr_lookup_by_addr) Add an assert.
92 * ospf_nsm.c: (nsm_kill_nbr) Can never kill the nbr_self
93 psuedo-neighbour.
94
Paul Jakma075c2012006-03-30 14:34:31 +0000952006-03-27 Paul Jakma <paul.jakma@sun.com>
96
97 * ospf_lsa.c: (ospf_lsa_checksum) Add an explicit cast to avoid
98 the ambiguities of ANSI and C99 C with respect to type
99 conversion. Detailed problem report and test case with
100 example data supplied by Dmitry Ivanov <dimss@telecentrs.lv>.
101
Paul Jakma1a8ee0e2006-03-30 14:20:00 +00001022006-03-25 Paul Jakma <paul.jakma@sun.com>
103
104 * ospf_interface.c: (ospf_if_lookup_recv_if) Ignore loopbacks,
105 we can never ever receive packets on those. Should fix
106 case where CARP is run with address in same subnet as real
107 interface. Problem report and diagnosis thanks to:
108 Landon Fuller <landonf@opendarwin.org>.
109 However, ospf_read() still can't deal deterministically with
110 multiple interfaces in same subnet.
111
Paul Jakmac2b478d2006-03-30 14:16:11 +00001122006-03-23 Steve Lawson <steve.lawson@aheadcomusa.com>
113
114 * ospf_lsa.c: (ospf_lsa_install) Fix incorrect byte-order
115 conversion of OSPF_MAX_SEQUENCE_NUMBER
116
paule8e19462006-01-19 20:16:55 +00001172006-01-19 Paul Jakma <paul.jakma@sun.com>
118
119 * (general) various miscellaneous compiler warning fixes.
120 Remove redundant break statements from switch clauses
121 which return.
122 return from main, not exit, cause it annoys SOS.
123 Remove stray semi-colons which cause empty-statement
124 warnings.
125
paul779adb02006-01-18 15:07:38 +00001262006-01-18 Juergen Kammer <j.kammer@eurodata.de>
127
128 * ospf_lsa.c: (ospf_router_lsa_new) dont take reference to the
129 stream data until it is constructed, data reference is
130 volatile due to the potential resize in link_info_set
131
1322006-01-18 Paul Jakma <paul.jakma@sun.com>
133
134 * ospf_lsa.c: (link_info_set) Resize the stream if required and
135 possible. Return number of links added.
136 (lsa_link_*_set) use return value from previous.
137 * ospf_lsa.h: Add OSPF_ROUTER_LSA_LINK_SIZE define.
138
paulc6371712006-01-17 17:49:53 +00001392006-01-17 Paul Jakma <paul.jakma@sun.com>
140
141 * ospf_packet.c: (ospf_verify_header) print out the types
142 involved if there's a mismatch.
143 * ospf_zebra.c: (ospf_zebra_add) Adjust to new zserv format.
144
paul818e56c2006-01-10 23:27:05 +00001452006-01-10 Len Sorensen <lennartsorensen@ruggedcom.com>
146
147 * (general) Bug #234, see also [quagga-dev 3902].
148 Fix problem with nbr_self not being properly reinitialised
149 when an interface comes up, after having been down.
paul1a643f82006-01-11 01:08:19 +0000150 Some re-arrangement done by Paul Jakma, any bugs introduced
151 on top of Len's suggested changes are his.
paul818e56c2006-01-10 23:27:05 +0000152 * ospf_neighbor.c: (ospf_nbr_add_self) centralise
153 initialisation of nbr_self parameters here.
154 * ospf_interface.c: (ospf_if_new) deleting initialisation of
155 parameters of nbr_self, just rely on call to
156 ospf_nbr_add_self.
157 (ospf_if_cleanup) ditto.
158 * ospfd.c: (ospf_network_run) ditto.
159
paul98429f62006-01-10 22:11:54 +00001602006-01-10 Juris Kalnins <juris@mt.lv>
161
162 * ospf_zebra.c: (ospf_interface_address_delete) fix rare leak of
163 struct connected in an error case.
paul818e56c2006-01-10 23:27:05 +0000164 * ospf_packet.c: (ospf_make_md5_digest) fix odd, if not
165 undefined effect, assignment of an increment expression.
paul98429f62006-01-10 22:11:54 +0000166
paul86752842006-01-10 20:34:46 +00001672006-01-10 Paul Jakma <paul.jakma@sun.com>
168
169 * ospfd.c: (ospf_network_run) checking to see if router-id
170 is set should be on ospf->router_id, not router_id_static.
171 This was causing ospfd to not start if router-id had not
172 been configured statically.
173 (ospf_if_update) ditto.
paulc42c1772006-01-10 20:36:49 +0000174 * ospf_vty.c: (config_write_ospf_distribute) trim down
175 redundant strings.
paul86752842006-01-10 20:34:46 +0000176
paul00c290e2005-11-26 09:21:43 +00001772005-11-26 Paul Jakma <paul.jakma@sun.com>
178
179 * ospf_api.c: (struct opaque_lsa) change from gcc zero-length
180 array to C99 incomplete type array.
paulc9c93d52005-11-26 13:31:11 +0000181 * (general) s/graceful/deferred/ in all files, the former term
182 is confusing wrt OSPF Graceful-Restart.
183 * ospfd.c: (ospf_deferred_shutdown_check) dont return
184 a function which returns void. SOS complains about this.
185 (ospf_finish)
paul00c290e2005-11-26 09:21:43 +0000186
paulb29800a2005-11-20 14:50:45 +00001872005-11-20 Paul Jakma <paul.jakma@sun.com>
188
189 * ospfd.h: remove the OSPF_ROUTER_ID_UPDATE_DELAY define
190 (struct ospf) remove the router_id timer thread.
191 remove export of ospf_router_id_update_timer.
192 * ospfd.c: (ospf_router_id_update) call ospf_if_update to
193 poke interfaces into action after ID has been configured.
194 (ospf_router_id_update_timer) removed.
195 (ospf_finish_final) t_router_id_update timer is gone.
196 (ospf_network_run) router-id update timer gone.
197 call ospf_router_id_update directly if ID not configured.
198 In the per-iface loop, don't ospf_if_up interfaces if
199 ID is still not configured. The update function will call
200 ospf_if_update anyway.
201 (ospf_if_update) ID update timer is gone. Just return if no
202 ID is set.
203 * ospf_vty.c: (ospf_router_id) call ospf_router_id_update, no
204 timer needed.
205 * ospf_zebra.c: (ospf_router_id_update_zebra) call
206 ospf_router_id_update directly, not via timer.
paulc24d6022005-11-20 14:54:12 +0000207 * ospf_abr.c: (ospf_abr_announce_network_to_area) check
208 returned LSA of ospf_summary_lsa_refresh and print warning if
209 it failed.
210 (ospf_abr_announce_network_to_area) similar
211 (ospf_abr_announce_rtr_to_area) similar
212 * ospf_lsa.c: (ospf_router_lsa_new) check LSA returned is valid.
213 (ospf_router_lsa_originate) similar
214 (ospf_router_lsa_refresh, ospf_network_lsa_new) similar
215 (ospf_summary_lsa_new) Check ID is valid.
216 (ospf_summary_lsa_originate) ditto, and check returned LSA from
217 previous function is !NULL.
218 (ospf_summary_lsa_refresh) check ospf_summary_lsa_new return
219 is !NULL.
220 (ospf_summary_asbr_lsa_new) ID valid check.
221 (ospf_summary_asbr_lsa_originate) similar.
paulb29800a2005-11-20 14:50:45 +0000222
ajs70cd3472005-11-16 19:33:22 +00002232005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
224
ajs649654a2005-11-16 20:17:52 +0000225 * ospf_dump.h: Define OSPF_TIME_DUMP_SIZE as appropriate buffer size
226 for use with ospf_timer_dump and ospf_timeval_dump.
227 * ospf_vty.c: Change all buffer sizes used with ospf_timer_dump and
228 ospf_timeval_dump to have size OSPF_TIME_DUMP_SIZE.
229 (show_ip_ospf_interface_sub) Fix possible buffer overflow in
230 call to ospf_timer_dump.
231
2322005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
233
ajs70cd3472005-11-16 19:33:22 +0000234 * ospf_ism.h: (OSPF_ISM_TIMER_OFF) Improve macro syntax by enclosing
235 in 'do {...} while(0)'.
236
paul31a59762005-11-14 11:11:11 +00002372005-11-14 Paul Jakma <paul.jakma@sun.com>
238
239 * ospfd.c: (ospf_new) stub-shutdown should just default to
240 unconfigured, too strange otherwise.
241 (ospf_finish_final) t_opaque_lsa_self TIMER_OFF should be
242 preprocessor conditional on HAVE_OPAQUE_LSA.
243 * ospfd.h: (struct ospf) remove the SHUTDOWN_DEFAULT define.
244 no longer used, plus it wasn't in range that the command
245 accepted.
246 * ospf_zebra.h: Depends on vty.h, include it.
247
paul58e1bef2005-11-11 12:10:03 +00002482005-11-11 Paul Jakma <paul.jakma@sun.com>
249
250 * ospf_spf.c: (ospf_canonical_nexthops_free) Free only
251 the nexthops pointing to the root vertex. We may visit a
252 vertex twice or the vertex may have some inherited nexthops,
253 if we free other nexthops we could crash.
254
paulc8c15212005-11-04 12:31:39 +00002552005-11-04 Paul Jakma <paul.jakma@sun.com>
256
257 * ospf_{dump,spf,vty}.c: Oops, use the internal tv_sub
258 function rather than unportable timersub.
259
paul484315f2005-11-03 09:08:29 +00002602005-11-03 Paul Jakma <paul.jakma@sun.com>
261
262 * ospf_apiserver.c: (apiserver_sync_callback) stray semi-colon
263 * ospf_packet.c: include checksum.h, remove the in_cksum extern
264 * prototypes.
265 * ospf_te.h: Add braces, quell warning.
paul6d452762005-11-03 11:15:44 +0000266 * ospf_packet.c: Change level of some warnings to
267 informational.
paulc8c15212005-11-04 12:31:39 +0000268
paul88d6cf32005-10-29 12:50:09 +00002692005-10-29 Paul Jakma <paul.jakma@sun.com>
270
271 * (general) RFC3137 stub-router support
272 * ospfd.h: Add OSPF_OUTPUT_COST_INFINITE define.
273 (struct ospf_master) Add a OSPF_MASTER_SHUTDOWN flag for
274 options, to allow shutdown to distinguish between complete
275 shutdown and shutdown of a subset of ospf instances.
276 (struct ospf)
277 Add stub_router_{startup,shutdown_}time, configuration of startup
278 and shutdown time for stub-router.
279 Add t_graceful_shutdown struct thread, timer for graceful
280 shutdown, if needed.
281 (struct ospf_area) Add stub_router_state - run time state of
282 stub-router for an area. Add flags for ADMIN, IS and WAS
283 states.
284 Add t_stub_router, timer thread to resend router-lsa for an
285 area.
286 * ospf_lsa.c: (ospf_link_cost) new simple function to spit out
287 either the given lnks cost or infinite cost if stub-router is
288 in effect.
289 (lsa_link_{ptop,broadcast,virtuallink,ptomp}_set) use
290 previous function for transit-links.
291 (ospf_stub_router_timer) timer thread for end of startup stub
292 router. Change state as required for the area and setup
293 re-origination of router-lsa.
294 (ospf_stub_router_check) Check/do whether stub-router should be
295 enabled, and whether it requires timer to be setup.
296 (ospf_router_lsa_new) call previous function at top.
297 (ospf_router_lsa_originate) no external callers, made static.
298 * ospf_lsa.h: (ospf_router_lsa_originate) removed.
299 * ospf_main.c: (sigint) make static.
300 remove call to exit, as ospf_terminate now deals with
301 exiting.
302 * ospf_route.c: (ospf_terminate) removed, now in ospfd.c.
303 * ospf_vty.c: (show_ip_ospf_area) print out state of
304 stub-router, if active.
305 (show_ip_ospf) print out configuration of stub-router
306 support, and details of graceful-shutdown if the timer is
307 active.
308 ((no)?ospf_max_metric_router_lsa_{admin,startup,shutdown}) new
309 commands to (de-)?configure stub-router support.
310 (config_write_stub_router) write out config of stub-router.
311 (ospf_config_write) call previous.
312 (ospf_vty_init) install the new stub-router commands.
313 * ospfd.c: various functions made static.
314 (ospf_new) Set defaults for stub-router. Graceful shutdown
315 is made to default on, just to be adventerous.
316 (ospf_graceful_shutdown_finish) new function, final part of
317 shutdown.
318 (ospf_graceful_shutdown_timer) timer thread wrapper for
319 graceful-shutdown.
320 (ospf_graceful_shutdown_check) check whether to setup timer
321 for shutdown or proceed directly to final shutdown.
322 (ospf_terminate) moved here from ospf_route.c, call
323 ospf_finish for each instance.
324 (ospf_finish) renamed to ospf_finish_final and made static.
325 (ospf_finish) new function, exported wrapper around
326 ospf_graceful_shutdown_check.
327 (ospf_finish_final) complete shutdown of an instance.
328 Add missing TIMER_OFF's of two timer threads.
329 (ospf_area_free) opaque self lsa timer should be turned off.
330
paulb8ad39d2005-10-23 15:23:05 +00003312005-10-23 Paul Jakma <paul.jakma@sun.com>
332
paule029d442005-10-23 15:26:24 +0000333 * ospf_apiserver.c: (ospf_apiserver_term) This function should
334 not have side-effects (eg segv) if no apiserver instances are
335 active, ie be robust.
paulb8ad39d2005-10-23 15:23:05 +0000336 * ospf_vty.c: (show_ip_ospf) fix display of SPF timer if it
337 has not yet been run.
338
paulf9ad9372005-10-21 00:45:17 +00003392005-10-21 Paul Jakma <paul.jakma@sun.com>
340
paulea4ffc92005-10-21 20:04:41 +0000341 * ospf_dump.c: (ospf_timeval_dump) fix ms adjustment, thanks to
342 Andrew Schorr.
343 * ospf_vty.c: (ospf_config_write) fix write out of spf timers
344 configuration.
345
3462005-10-21 Paul Jakma <paul.jakma@sun.com>
347
pauld24f6e22005-10-21 09:23:12 +0000348 * (general) SPF millisecond resolution timer with adaptive,
349 linear back-off holdtime. Prettification of ospf_timer_dump.
350 * ospf_dump.c: (ospf_timeval_dump) new function. The guts of
351 ospf_timer_dump, but made to be more dynamic in printing out
352 the relative timeval, sliding the precision printed out
353 according to the value.
354 (ospf_timer_dump) guts moved to ospf_timeval_dump.
355 * ospf_dump.h: export ospf_timeval_dump.
356 * ospf_flood.c: (ospf_flood) remove gettimeofday, use
357 the libzebra exported recent_time instead, as it's not
358 terribly critical to have time exactly right - the dropped
359 LSA will be retransmited to us if we don't ACK it.
360 * ospf_packet.c: (ospf_ls_upd_timer) Ditto, but here we're
361 not transmitting, just putting LSA back on update transmit list.
362 * ospfd.h: delay and holdtimes should be unsigned.
363 Add spf_max_holdtime and spf_hold_multiplier.
364 Update default defines for delay and hold time to be in msec.
365 (struct ospf) change the SPF timestamp to a struct timeval.
366 Remove ospf_timers_spf_(un)?set.
367 * ospfd.c: (ospf_timers_spf_{set,unset}) removed.
368 (ospf_new) initialise spf_max_holdtime and spf_hold_multiplier
369 * ospf_spf.c: (ospf_spf_calculate) SPF timestamp is a timeval
370 now, update with gettimeofday.
371 (ospf_spf_calculate_schedule) Change SPF timers to millisecond
372 resolution.
373 Make the holdtime be adaptive, with a linear increase in
374 holdtime ever consecutive SPF run which occurs within holdtime
375 of previous SPF, bounded by spf_max_holdtime.
376 * ospf_vty.c: Update spf timers commands.
377 (ospf_timers_spf_set) trivial helper.
378 (ospf_timers_throttle_spf_cmd) new command to set SPF delay,
379 initial hold and max hold times with millisecond resolution.
380 (ospf_timers_spf_cmd) Deprecated. Accept the old values,
381 convert to msec, truncate to new limits.
382 (no_ospf_timers_throttle_spf_cmd) set timers to defaults.
383 (no_ospf_timers_spf_cmd) deprecated form, same as previous.
384 (show_ip_ospf_cmd) Display SPF parameters and times.
385 (show_ip_ospf_neighbour_header) Centralise the 'sh ip os ne'
386 header.
387 (show_ip_ospf_neighbor_sub) Fix the field widths. Get rid of
388 the multiple spaces which were making the lines even longer.
389 (show_ip_ospf_neighbor_cmd) Use show_ip_ospf_neighbour_header
390 (show_ip_ospf_neighbor_all_cmd) ditto and fix the field
391 widths for NBMA neighbours.
392 (show_ip_ospf_neighbor_int) Use header function.
393 (show_ip_ospf_nbr_nbma_detail_sub) use sizeof for timebuf,
394 local array - safer.
395 (show_ip_ospf_neighbor_detail_sub) ditto
396 (ospf_vty_init) install the new SPF throttle timer commands.
397
3982005-10-21 Paul Jakma <paul.jakma@sun.com>
399
paulf9ad9372005-10-21 00:45:17 +0000400 * (general) OSPF fast, sub-second hello and 1s dead-interval
401 support.
402 * ospf_dump.c: (ospf_timer_dump) Print out milliseconds too.
403 Callers typically specify a length of 9, so most see
404 millisecs unless they specify the additional length.
405 * ospf_interface.h: (struct ospf_interface) new interface param,
406 fast_hello.
407 * ospf_interface.c: (ospf_if_table_lookup) add brackets,
408 gcc warning fix.
409 (ospf_new_if_params) Initialise fast_hello param.
410 (ospf_free_if_params) Check whether fast_hello is configured.
411 (ospf_if_new_hook) set fast_hello to default.
412 * ospf_ism.h: Wrap OSPF_ISM_TIMER_ON inside do {} while (0) to
413 prevent funny side-effects from its if statement when this
414 macro is used conditionally by other macros.
415 (OSPF_ISM_TIMER_MSEC_ON) new macro, set in milliseconds.
416 (OSPF_HELLO_TIMER_ON) new macro to set hello timer according
417 to whether fast_hello is set.
418 * ospf_ism.c: Update all setting of the hello timer to use
419 either OSPF_ISM_TIMER_MSEC_ON or OSPF_HELLO_TIMER_ON. The
420 former is used when hello is to be sent immediately.
421 * ospf_nsm.c: ditto
422 * ospf_packet.c: (ospf_hello) hello-interval is not checked
423 for mismatch if fast_hello is set.
424 (ospf_read) Annoying nit, fix "no ospf_interface" to be debug
425 rather than a warning, as it can be perfectly normal to
426 receive packets when logical subnets are used.
427 (ospf_make_hello) Set hello-interval to 0 if fast-hellos are
428 configured.
429 * ospf_vty.c: (ospf_auto_cost_reference_bandwidth) annoying
430 nit, don't vty_out if this command is given, it gets tired
431 quick.
432 (show_ip_ospf_interface_sub) Print the hello-interval
433 according to whether fast-hello is set or not.
434 Print the extra 5 millisec characters from (ospf_timer_dump)
435 if fast-hello is configured.
436 (ospf_vty_dead_interval_set) new function, common to all
437 forms of dead-interval command, to set dead-interval and
438 fast-hello correctly. If a dead-interval is given, unset
439 fast-hello, else if a hello-multiplier is set, set
440 dead-interval to 1 and fast-hello to given multiplier.
441 (ip_ospf_dead_interval_addr_cmd) use
442 ospf_vty_dead_interval_set().
443 (ip_ospf_dead_interval_minimal_addr_cmd) ditto.
444 (no_ip_ospf_dead_interval) Unset fast-hello.
445 (no_ip_ospf_hello_interval) Bug-fix, unset of hello-interval
446 should set it to OSPF_HELLO_INTERVAL_DEFAULT, not
447 OSPF_ROUTER_DEAD_INTERVAL_DEFAULT.
448 (config_write_interface) Write out fast-hello.
449 (ospf_config_write) Write a comment about
450 "auto-cost reference-bandwidth" having to be equal on all
451 routers. Hopefully just as noticeable as old practice of
452 writing to vty, but less annoying.
453 (ospf_vty_if_init) install the two new dead-interval
454 commands.
455 * ospfd.h: Add defines for OSPF_ROUTER_DEAD_INTERVAL_MINIMAL
456 and OSPF_FAST_HELLO_DEFAULT.
457
pauleb3da6d2005-10-18 04:20:33 +00004582005-10-18 Paul Jakma <paul.jakma@sun.com>
459
460 * (general) SPF memory management cleanup and fix for rare
461 double-free bug.
462 * ospf_spf.h: (struct vertex_parent) New struct to hold parent
463 specific data, eg the backlink and the parent vertex pointer,
464 and point to the appropriate general struct vertex_nexthop.
465 (struct vertex_nexthop) remove parent vertex pointer, so
466 this struct can be shared across vertices.
467 (struct vertex) rename list child to list children. Remove
468 list of nexthops, replace with list of vertex_parents.
469 * ospf_spf.c: (update_stat) trivial, remove cast from void *.
470 (vertex_nexthop_new) remove init of parent - field is gone
471 from struct vertex_nexthop.
472 (ospf_canonical_nexthops_free) Remove the canonical
473 vertex_nexthop memory objects. These are the vertex_nexthops
474 attached to the first level of router vertices from the root.
475 (vertex_parent_new) new function, create a vertex_parent.
476 (vertex_parent_free) ditto, but free it.
477 (ospf_vertex_new) Update to match changes to struct vertex.
478 (ospf_vertex_free) Recursively free a struct vertex and its
479 children. The parent list is used as a reference count.
480 vertex_nexthops must be free seperately, if required.
481 (ospf_vertex_dump) update to match struct vertex changes.
482 Print out backlink of parents too.
483 (ospf_vertex_add_parent) ditto.
484 (ospf_lsa_has_link) update comment.
485 (ospf_nexthop_add_unique) removed, not needed anymore.
486 (ospf_nexthop_merge) ditto.
487 (ospf_spf_consider_nexthop) renamed to ospf_spf_add_parent.
488 Simplified to just create vertex_parent and add it.
489 (ospf_spf_flush_parents) new function, flush out the parent
490 list.
491 (ospf_nexthop_calculation) Take the relevant route_lsa_link
492 as an argument, which simplifies things and removes the need
493 for the hack in ospf_nexthop_add_unique - ospf_spf_next
494 already knew exactly which link the cost calculated was for.
495 Update to match struct vertex changes too.
496 (ospf_spf_next) Don't create a vertex for W unnecessarily, if
497 it's there's a vertex already created for W, use it, and
498 hence there's no need to free it either.
499 Update some manipulation/comparisons of distance to match.
500 Flush the parent list if a lower cost path is found.
501 (ospf_spf_route_free) unused, removed.
502 (ospf_spf_dump) match the struct vertex changes, and dump the
503 ifname if possible.
504 (ospf_spf_calculate) At end of SPF, free the canonical nexthops
505 and call ospf_vertex_free on the root vertex to free the
506 entire tree.
507 * ospf_interface.c: (ospf_vl_set_params) match struct vertex
508 changes.
509 * ospf_route.c: (ospf_intra_route_add) ditto
510 (ospf_route_copy_nexthops_from_vertex) ditto
511
paul36238142005-10-11 04:12:54 +00005122005-10-11 Paul Jakma <paul.jakma@sun.com>
513
514 * ospf_api.c: sign warnings.
515 * ospf_apiserver.c: sign warning and convert all the struct
516 in_addr initialisations so as not to make assumptions about
517 how this struct is organised, initialise the s_addr member
518 explicitely.
519 * ospf_packet.c: Add const qualifier to auth_key.
520
vincent77df1f72005-10-06 07:46:22 +00005212005-10-06 Alain Ritoux <alain.ritoux@6wind.com>
522
523 * ospf_snmp.c: Avoid mixing interface and ospf_interface objects
524 which now allows snmpwalk to work with ospfIfTable and
525 also with ospfIfMetricTable
526
ajsf52d13c2005-10-01 17:38:06 +00005272005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
528
529 * ospf_dump.c: Remove local hard-coded table ospf_redistributed_proto.
530 (ospf_redist_string) New function implemented using new library
531 function zebra_route_string(). Note that there are a few differences
532 in the output that will result: the new function returns strings
533 that are lower-case, whereas the old table was mixed case. Also,
534 the old table mapped ZEBRA_ROUTE_OSPF6 to "OSPFv3", whereas the
535 new function returns "ospf6".
536 * ospfd.h: Remove extern struct message ospf_redistributed_proto[],
537 and add extern const char *ospf_redist_string(u_int route_type)
538 instead.
539 * ospf_asbr.c: (ospf_external_info_add) In two messages, use
540 ospf_redist_string instead of LOOKUP(ospf_redistributed_proto).
541 * ospf_vty.c: Remove local hard-coded table distribute_str.
542 (config_write_ospf_redistribute,config_write_ospf_distribute): Use
543 new library function zebra_route_string() instead of distribute_str[].
544 * ospf_zebra.c: (ospf_redistribute_set,ospf_redistribute_unset,
545 ospf_redistribute_default_set,ospf_redistribute_check)
546 In debug messages, use ospf_redist_string() instead of
547 LOOKUP(ospf_redistributed_proto).
548
jardin6638c1a2005-10-01 00:08:54 +00005492005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
550
551 * ospf_dump.c, ospf_ia.c, ospf_spf.c, ospf_ase.c:
552 remove unused DEBUG
553
vincentba682532005-09-29 13:52:57 +00005542005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
555
vincent5e4914c2005-09-29 16:34:30 +0000556 * ospf_ism.c: generate SNMP traps on Interface state change
557 * ospf_nsm.c: generate SNMP traps on Neighbour state change
558 * ospf_snmp.[ch]: support for SNMP traps for interface and neighbours.
559
5602005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
561
vincentba682532005-09-29 13:52:57 +0000562 * ospf_vty.c: forece default route LSA to be re_issued whenever
563 cost is changed ( [no] ip ospf area XXX default-cost YYY)
564 Support ignore-mtu option
565 * ospfd.h: define OSPF_MTU_IGNORE_DEFAULT
566 * ospf_packet.c: support ignore-mtu option
567 * ospf_interface.h: field added for skipping MTU check
568 * ospf_interface.c: fix memory leak in ospf_crypt_key_delete()
569 Set mtu_ignore field to default value
570 * ospf_abr.[ch]: export ospf_abr_announce_network_to_area()
571 * ospf_ism.h: add MACRO to convert internal ISM status into SNMP
572 correct values
573 * ospf_snmp.c: add sanity check on LSA type in lsdb_lookup_next()
574 convert OSPFIFSTATE internal status into SNMP values
575
vincentc1a03d42005-09-28 15:47:44 +00005762005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
577
578 * ospf_packet.c: use new md5 API
579
ajs5339cfd2005-09-19 13:28:05 +00005802005-09-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
581
582 * ospf_lsa.h: (ospf_external_lsa_flush) Comment out the 5th argument
583 (nexthop) since it is not used in the function (except inside
584 some commented-out code).
585 * ospf_lsa.c: (ospf_external_lsa_flush,ospf_external_lsa_refresh)
586 Comment out the 5th argument to ospf_external_lsa_flush.
587 * ospf_asbr.c: (ospf_redistribute_withdraw) Comment out 5th arg
588 to ospf_external_lsa_flush.
589 * ospf_vty.c: (no_ospf_default_information_originate) Eliminate 5th
590 uninitialized nexthop arg to ospf_external_lsa_flush.
591 * ospf_zebra.c: (ospf_zebra_read_ipv4) Comment out 5th arg
592 to ospf_external_lsa_flush.
593 * ospfd.c: (ospf_network_set) Comment out 5th arg
594 to ospf_external_lsa_flush.
595
ajse6a0bf92005-09-17 18:53:38 +00005962005-09-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
597
598 * ospf_opaque.c:
599 (ospf_opaque_lsa_refresh_schedule,ospf_opaque_lsa_flush_schedule)
600 No need to call ospf_lookup(), just use lsa0->area->ospf instead.
601
hassobb5b7552005-08-21 20:01:15 +00006022005-08-21 Hasso Tepper <hasso at quagga.net>
603
604 * ospf_vty.c: Make "show ip ospf neighbor xxx" commands work.
605 Interface should be specified by name now.
606
hasso54bedb52005-08-17 13:31:47 +00006072005-08-17 Hasso Tepper <hasso at quagga.net>
608
609 * ospf_vty.c: Check carefully if interface exists before trying to
610 print info about it.
611
hasso01018ce2005-08-05 07:40:15 +00006122005-08-05 Hasso Tepper <hasso at quagga.net>
613
614 * ospf_zebra.c: Don't assert/stop before type == ZEBRA_ROUTE_MAX if
615 dealing with routemaps. There is ospf->route_map[ZEBRA_ROUTE_MAX]
616 for default-information.
617
paulc8987752005-07-26 06:07:22 +00006182005-07-26 Paul Jakma <paul.jakma@sun.com>
619
620 * ospf_abr.c: (ospf_abr_announce_network_to_area) SET_FLAG
621 should be on lsa not old, which may be freed for one thing,
622 obviously.
623
pauld57834f2005-07-12 20:04:22 +00006242005-07-12 Paul Jakma <paul.jakma@sun.com>
625
626 * ospfd.h: add OSPF_ABR_DEFAULT for convenience, make
627 OSPF_ABR_CISCO be the default ABR type.
628 * ospfd.c: (ospf_new) initialise abr_type to OSPF_ABR_DEFAULT
629 * ospf_vty.c: (no_ospf_abr_type_cmd) add standard as a negatable
630 abr_type. default abr_type should be OSPF_ABR_DEFAULT.
631 (ospf_config_write) test whether default abr_type against
632 OSPF_ABR_DEFAULT, rather than any specific ABR_TYPE.
633
hasso8469bd72005-06-20 20:50:10 +00006342005-06-20 Hasso Tepper <hasso at quagga.net>
hassof4833e92005-06-20 20:42:26 +0000635
636 * ospf_nsm.c: Make database exchange for NSSA database work.
637
paul7461d452005-06-13 13:57:16 +00006382005-06-13 Paul Jakma <paul.jakma@sun.com>
639
640 * ospf_spf.c: Try get more information on a SEGV under
641 ospf_spf_vertex_add_parent.
642 (ospf_vertex_free) NULL out the child and nexthop lists
643 (ospf_vertex_add_parent) nexthop and child can not be NULL
644 vertex_nexthop's parent->child list can not be NULL
645 (ospf_spf_next) w and cw are per-loop iteration variables, move
646 declarations into loop body.
647
hasso1ddd7292005-06-07 19:54:04 +00006482005-06-07 Hasso Tepper <hasso at quagga.net>
649
650 * ospf_apiserver.c: Fix obvious error in notifying clients about ISM
651 changes - oi->ifp->status doesn't give to us info about ISM,
652 oi->state does.
653
paul7e440862005-06-01 11:20:51 +00006542005-06-01 Akihiro Mizutani <mizutani@net-chef.net>
655
656 * ospf_ism.c (ospf_elect_bdr/ospf_elect_dr): Fix DR election bug.
657
paul500e4182005-05-26 17:11:13 +00006582005-05-26 Paul Jakma <paul.jakma@sun.com>
659
660 * ospf_abr.c: (ospf_abr_update_aggregate) Fix comment, cost bug itself
661 had been fixed long ago by Sowmini.
662
paula3387a42005-05-18 23:29:57 +00006632005-05-19 Paul Jakma <paul.jakma@sun.com>
664
665 * ospf_interface.c: (ospf_if_table_lookup) Fix a serious bug
666 a less serious one.
667 1: this function is supposed to lookup
668 entries in the oifs ospf_interface route_table and return either
669 an existing oi or NULL to indicate not found, its caller depends
670 on this, yet this function uses route_node_get which /always/
671 returns a route_node - one is created if none exists. Use
672 route_node_lookup instead. This should fix root cause of the
673 reports of the (ospf_add_to_if) assert being hit.
674 2: oi's are inserted into this table with prefixlength set to
675 /32 (indeed, it should be a hash table, not a route_table),
676 however prefixlength to lookup was not changed, if no valid entry
677 can be inserted other than /32, then nothng but /32 should be
678 looked up. This possibly only worked by fluke..
679 Fix confirmed by 2 reporters (one list, one IRC), definitely a
680 backport candidate once it has been incubated in HEAD for a while.
681 Thanks to Patrick Friedel and Ivan Warren for testing.
682
paul69310a62005-05-11 18:09:59 +00006832005-05-11 Paul Jakma <paul.jakma@sun.com>
684
685 * (general) Fix memory leaks in opaque AS-scope LSAs, reported and
686 with much debugging done by by scott collins <scollins@agile.tv>.
687 * ospf_lsa.c: (ospf_discard_from_db) dont call
688 ospf_ase_unregister_external_lsa for opaque-lsa's, opaques are
689 never registered with ase in the first place.
690 * ospf_packet.c: (general) Disabuse opaque related code of its
691 tendency to try gather up things into temporary lists.
692 (ospf_ls_upd) remove the temporary lists opaque uses, call
693 opaque functions inline, just like all other types.
694 (ospf_ls_ack) ditto.
695 (ospf_recv_packet) fixup sign warning.
696 * ospf_opaque.c: (general) fix the unneeded use of lists, and
697 untwist some of the logic.
698 (ospf_opaque_self_originated_lsa_received) take a single LSA
699 as argument, not a list of them. Remove the list loop. Logic
700 otherwise unchanged.
701 (ospf_opaque_ls_ack_received) Mostly ditto. But untwist the logic,
702 move the actions up into the switch block, remove the goto's and
703 sanitise the logic near the end a bit.
704 * ospf_opaque.h: Adjust definitions of aforementioned functions
705 in ospf_opaque.c to match.
706
paul42c98192005-05-07 02:22:51 +00007072005-05-07 Yar Tikhiy <yar@comp.chem.msu.su>
708
709 * ospf_network.c: Log ifindex on multicast membership leave/join
710 events.
711
paul4dadc292005-05-06 21:37:42 +00007122005-05-06 Paul Jakma <paul.jakma@sun.com>
713
714 * (general) extern and static qualifiers added.
715 unspecified arguments in definitions fixed, typically they should
716 be 'void'.
717 function casts added for callbacks.
718 Guards added to headers which lacked them.
719 Proper headers included rather than relying on incomplete
720 definitions.
721 gcc noreturn function attribute where appropriate.
722 * ospf_opaque.c: remove the private definition of ospf_lsa's
723 ospf_lsa_refresh_delay.
724 * ospf_lsa.h: export ospf_lsa_refresh_delay
725 * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const,
726 correct thing to do - removes need for the casts later.
727 * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's
728 home-brewed versions, shuts up several warnings.
729 * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and
730 VTY_GET_IPV4_PREFIX moved to lib/vty.h.
731 * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky
732 overloading of the THREAD_ARG pointer should at least use
733 uintptr_t.
734
paul9e67dc22005-04-15 12:10:17 +00007352005-04-15 Zhipeng Gong <zpgong@cdc.3upsystems.com>
736
737 * ospf_abr.c: (ospf_abr_announce_network_to_area) dont forget
738 to approve LSAs for the case where metric has changed, lsa gets
739 flushed otherwise. (backport candidate).
740
ajs634f9ea2005-04-11 15:51:40 +00007412005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
742
743 * ospf_zebra.c (ospf_zebra_add): Call zclient_send_message instead
744 of writen.
745
ajsd2fc8892005-04-02 18:38:43 +00007462005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
747
ajse4319de2005-04-02 23:23:55 +0000748 * ospf_interface.h: (ospf_if_lookup_by_name) Remove declaration of a
749 function that does not exist.
750
7512005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
752
ajs21fefa92005-04-02 23:16:41 +0000753 * ospf_zebra.c: (zebra_interface_if_lookup) Must use
754 if_lookup_by_name_len.
755
7562005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
757
ajsa3491982005-04-02 22:50:38 +0000758 * ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create.
759
7602005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
761
ajsd2fc8892005-04-02 18:38:43 +0000762 * ospf_vty.c: (show_ip_ospf_interface_sub) Show ifindex and interface
763 flags to help with debugging.
764 * ospf_zebra.c: (ospf_interface_delete) After deleting, set ifp->ifindex
765 to IFINDEX_INTERNAL.
766 (zebra_interface_if_lookup) Make function static. Tighten up code.
767
ajsaca72fd2005-03-31 15:18:21 +00007682005-03-31 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
769
770 * ospf_dump.c: (show_debugging_ospf) Show if ospf event debugging
771 is turned on.
772
ajsfd651fa2005-03-29 16:08:16 +00007732005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
774
ajsa608bbf2005-03-29 17:03:49 +0000775 * ospf_zebra.c: (ospf_interface_state_up) If the MTU of an operative
776 interface changes, print a debug message and call ospf_if_reset()
777 to simulate down/up on the interface.
778 * ospf_interface.h: Declare new function ospf_if_reset().
779 * ospf_interface.c: (ospf_if_reset) New function to call ospf_if_down
780 and ospf_if_up for all ospf interfaces attached to an interface.
781
7822005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
783
ajs5dcbdf82005-03-29 16:13:49 +0000784 * ospf_packet.c: (ospf_write_frags) Enhance error message to
785 show MTU. Also make function static.
786 (ospf_write) Enhance error message to show interface name and MTU.
787 Also make function static.
788
7892005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
790
791 * ospf_vty.c: (show_ip_ospf_interface_sub) Display interface MTU and
792 bandwidth; this is useful for debugging problems. Also, the function
793 should be static.
ajsfd651fa2005-03-29 16:08:16 +0000794
hasso1b639042005-03-27 13:32:25 +00007952005-03-27 Hasso Tepper <hasso at quagga.net>
796
797 * ospf_snmp.c: Don't crash in snmp query if ospf instance doesn't
798 exist at all.
799
hasso343f5cc2005-03-25 19:48:40 +00008002005-03-25 Hasso Tepper <hasso at quagga.net>
801
802 * ospfd.h: Include log.h, fixes compile with gcc-4.0.
803
ajs9dbc7972005-03-13 19:27:22 +00008042005-03-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
805
806 * ospf_lsa.c: (ospf_lsa_refresh_walker) If the system clock jumps
807 backward, then current time may be less than
808 ospf->lsa_refresher_started. This was causing invalid values
809 for ospf->lsa_refresh_queue.index resulting in infinite loops.
810 Problem fixed by casting the expression to unsigned before taking
811 the modulus.
812
ajs5c333492005-02-23 15:43:01 +00008132005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
814
815 * ospfd.h: Add new field struct stream *ibuf to struct ospf.
816 * ospfd.c: (ospf_new) Check return code from ospf_sock_init.
817 Allocate ibuf using stream_new(OSPF_MAX_PACKET_SIZE+1).
818 (ospf_finish) Call stream_free(ospf->ibuf.
819 * ospf_packet.c: (ospf_read) Call stream_reset(ospf->ibuf) and then
820 pass it to ospf_recv_packet for use in receiving the packet
821 (instead of allocating a new stream for each packet received).
822 Eliminate all calls to stream_free(ibuf).
823 (ospf_recv_packet) The struct stream *ibuf is now passed in as
824 an argument. No need to use recvfrom to peek at the packet
825 header (to see how big it is), just use ospf->ibuf which is
826 always large enough (this eliminates a system call to recvfrom).
827 Therefore, no need to allocate a stream just for this packet,
828 and no need to free it when done.
829
hasso462f20d2005-02-23 11:29:02 +00008302005-02-23 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it>
831
832 * ospf_lsa.h: New flag to the LSA structure for the SPF calculation.
833 * ospf_lsdb.h: Export ospf_lsdb_clean_stat() function.
834 * ospf_spf.h: Add link to the LSA stat structure into vertex.
835 * ospf_spf.c: New functions cmp() and update_stat() to manage
836 candidates. Remove ospf_spf_has_vertex(), ospf_vertex_lookup(),
837 ospf_install_candidate() and ospf_spf_register() functions not needed
838 any more. Update ospf_vertex_new(), ospf_spf_next() and
839 ospf_spf_calculate() functions to use pqueue instead of linked list.
840
hassoe40dcce2005-02-21 14:58:42 +00008412005-02-21 Hasso Tepper <hasso at quagga.net>
842
843 * ospf_ase.c: Don't show messages related to the ase calculations if
844 we are not debugging.
845
hasso306541b2005-02-19 17:58:40 +00008462005-02-19 Hasso Tepper <hasso at quagga.net>
847
848 * ospf_api.h: char isn't always signed, but it has to be it here.
849
paulfa81b712005-02-19 01:19:20 +00008502005-02-19 Paul Jakma <paul.jakma@sun.com>
851
852 * ospf_packet.c: (ospf_stream_copy) remove
853 (ospf_packet_dup) use stream_copy instead of ospf_stream_copy
854
ajs038163f2005-02-17 19:55:59 +00008552005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
856
857 * ospf_packet.c: (ospf_recv_packet) If there is somehow a runt
858 packet in the queue, it must be discarded. Improve warning messages.
859 Fix scope to static.
860 (ospf_read) Fix bug: should reset the read thread in all cases
861 to make sure we continue to get incoming messages.
862
paul658b03a2005-02-15 10:10:55 +00008632005-02-15 Paul Jakma <paul.jakma@sun.com>
864
865 * ospf_packet.c: (ospf_recv_packet) Fix silly error wrt allocating
866 ibuf. Thanks Andrew.
867
paulbfdc44a2005-02-14 23:48:42 +00008682005-02-14 Paul Jakma <paul.jakma@sun.com>
869
870 * ospf_packet.c: (ospf_recv_packet) use stream_recvmsg.
871
hasso082253f2005-02-11 08:31:54 +00008722005-02-11 Hasso Tepper <hasso at quagga.net>
873
874 * ospf_lsdb.c: Fix sum of checksums calculation.
875
ajs083ee9d2005-02-09 15:35:50 +00008762005-02-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
877
878 * ospf_packet.c: (ospf_write) If sendmsg fails, give more info in the
879 error message.
880
ajsba6454e2005-02-08 15:37:30 +00008812005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
882
ajs8cfde372005-02-08 15:59:16 +0000883 * ospf_interface.h: Reduce structure padding by putting new u_char
884 field multicast_memberships in a better spot (grouped with
885 other u_char fields type and state).
886
8872005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
888
ajsba6454e2005-02-08 15:37:30 +0000889 * ospf_interface.h: Improve passive_interface comment. Add new
890 multicast_memberships bitmask to struct ospf_interface to track
891 active multicast subscriptions. Declare new function
892 ospf_if_set_multicast.
893 * ospf_interface.c: (ospf_if_set_multicast) New function to configure
894 multicast memberships properly based on the current
895 multicast_memberships status and the current values of the
896 ospf_interface state, type, and passive_interface status.
897 (ospf_if_up) Remove call to ospf_if_add_allspfrouters (this is
898 now handled by ism_change_state's call to ospf_if_set_multicast).
899 (ospf_if_down) Remove call to ospf_if_drop_allspfrouters (now
900 handled by ism_change_state).
901 * ospf_ism.c: (ospf_dr_election) Remove logic to join or leave
902 the DRouters multicast group (now handled by ism_change_state's call
903 to ospf_if_set_multicast).
904 (ism_change_state) Add call to ospf_if_set_multicast to change
905 multicast memberships as necessary to reflect the new interface state.
906 * ospf_packet.c: (ospf_hello) When a Hello packet is received on a
907 passive interface: 1. Increase the severity of the error message
908 from LOG_INFO to LOG_WARNING; 2. Add more information to the error
909 message (packet destination address and interface address);
910 and 3. If the packet was sent to ospf-all-routers, then try
911 to fix the multicast group memberships.
912 (ospf_read) When a packet is received on an interface whose state
913 is ISM_Down, enhance the warning message to show the packet
914 destination address, and try to update/fix the multicast group
915 memberships if the packet was sent to a multicast address.
916 When a packet is received for ospf-designated-routers, but the
917 current interface state is not DR or BDR, then increase the
918 severity level of the error message from LOG_INFO to LOG_WARNING,
919 and try to fix the multicast group memberships.
920 * ospf_vty.c: (ospf_passive_interface) Call ospf_if_set_multicast for
921 any ospf interface that may have changed from active to passive.
922 (no_ospf_passive_interface) Call ospf_if_set_multicast for
923 any ospf interface that may have changed from passive to active.
924 (show_ip_ospf_interface_sub) Show multicast group memberships.
925
paul3a9eb092005-02-08 11:29:41 +00009262005-02-08 Paul Jakma <paul@dishone.st>
927
928 * ospf_packet.c: (various) Remove unneeded stream_set_putp abuse.
929
ajs847947f2005-02-02 18:38:48 +00009302005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
931
932 * ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down,
933 not for event ISM_InterfaceDown. And improve the message by
934 adding the interface flags.
935
ajs0b7d97d2005-01-30 17:24:02 +00009362005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
937
938 * ospf_network.c: (ospf_sock_init) Save errno before calling
939 ospfd_privs.change.
940
ajsc3eab872005-01-29 15:52:07 +00009412005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
942
943 * ospf_packet.c: (ospf_packet_add) If oi->obuf is NULL, print
944 an error message and return.
945 (ospf_read) If the interface state is ISM_InterfaceDown, issue
946 a warning message and ignore the packet.
947
gdt86f1fd92005-01-10 14:20:43 +00009482005-01-10 Greg Troxel <gdt@fnord.ir.bbn.com>
949
950 * ospf_packet.h: Remove commented out definition of
951 OSPF_MAX_PACKET; neither it or the uncommented one are used any more.
952
953 * ospf_packet.c (ospf_make_ls_upd): Leave room for authentication
954 when deciding if an update will fit.
955 (ospf_packet_authspace): Factor out calculation of size required
956 for authentication.
957 (ospf_make_db_desc): Use ospf_max_packet, not OSPF_MAX_PACKET.
958 Don't confuse readers that there is a macro.
959
ajs3dc56b52004-12-30 15:11:19 +00009602004-12-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
961
962 * ospf_network.c: Improve all setsockopt error messages to give detailed
963 information on the arguments.
964
ajsb87f7722004-12-29 20:41:26 +00009652004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
966
ajs17eaa722004-12-29 21:04:48 +0000967 * ospf_packet.c: (ospf_db_desc) Reduce severity of "Negotiation done"
968 messages from LOG_WARNING to LOG_INFO, since this seems to be
969 normal.
970
9712004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
972
ajsb87f7722004-12-29 20:41:26 +0000973 * ospf_packet.c: (ospf_read) Always look up the interface if
974 ospf_recv_packet returns NULL ifp, since some platforms such
975 as Solaris 8 appear to support ifindex retrieval but don't.
976
hasso1d806282004-12-22 09:43:20 +00009772004-12-22 Hasso Tepper <hasso at quagga.net>
978
979 * ospf_dump.c: Show debug configuration in vtysh.
hassoc6b87812004-12-22 13:09:59 +0000980 * ospf_vty.c: Fix "show ip ospf" output. Router can't be elected in
981 any case if it's configured as "translate-never".
hassofe71a972004-12-22 16:16:02 +0000982 * ospf_lsdb.[ch]: New function to calculate sum of checksums.
983 * ospf_vty.c: Bugfix to show really number of AS external LSAs, not
984 number of all LSAs with AS scope, this includes opaque as LSAs as
985 well, show this number separately. Show numbers and sums of
986 checksums for each type of LSAs.
987 * ospf_lsa.c: Calculate checksum before putting LSA into database.
hasso1d806282004-12-22 09:43:20 +0000988
ajsbc18d612004-12-15 15:07:19 +00009892004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
990
991 * ospf_interface.h: Declare new function ospf_default_iftype.
992 * ospf_interface.c: (ospf_default_iftype) New function to centralize
993 this logic in one place.
994 * ospf_zebra.c: (ospf_interface_add) Use new function
995 ospf_default_iftype.
996 * ospf_vty.c: (no_ip_ospf_network,config_write_interface) Fix logic
997 by using new function ospf_default_iftype.
998
ajs3aa8d5f2004-12-11 18:00:06 +00009992004-12-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1000
1001 * ospf_packet.c: (ospf_db_desc) Should be static, not global.
1002 (ospf_hello,ospf_db_desc,ospf_ls_upd,ospf_ls_ack) Improve warning
1003 messages to include identifying information (e.g. router id).
1004 * ospf_nsm.c: (nsm_change_state) Improve info message to include
1005 router id and state names.
1006
gdt91f3e522004-12-09 14:51:03 +000010072004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
1008
gdt3fb9de72004-12-09 16:30:04 +00001009 * ospf_apiserver.c (ospf_apiserver_term): Obtain struct
1010 ospf_apiserver * from listnode. Remove unused variables. Follows
1011 suggestion from Jay Fenlason.
gdt91f3e522004-12-09 14:51:03 +00001012
ajs9b0e25c2004-12-08 19:06:51 +000010132004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1014
1015 * *.c: Change level of debug messages to LOG_DEBUG.
1016
ajs274a4a42004-12-07 15:39:31 +000010172004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1018
1019 * ospf_main.c: (main) The 2nd argument to openzlog has been removed.
1020
ajs887c44a2004-12-03 16:36:46 +000010212004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1022
ajs1210fa62004-12-03 16:43:24 +00001023 * ospf_packet.c: (ospf_db_desc) Reduce priority on a debug message
1024 from LOG_NOTICE to LOG_DEBUG.
1025
10262004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1027
ajs887c44a2004-12-03 16:36:46 +00001028 * ospf_main.c: (sigint) Use zlog_notice for termination message.
1029 (main) Issue a startup announcement using zlog_notice.
1030
ajsbec595a2004-11-30 22:38:43 +000010312004-11-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1032
1033 * ospf_packet.c: (ospf_db_desc_proc) Fix spelling of packet in warning
1034 message and in comment.
1035 (ospf_db_desc) Warning message that a packet is being discarded
1036 should give the router id of the packet source. Fix spelling
1037 of packet in two warning messages.
1038 (ospf_ls_req) Warning message that a link state request is being
1039 discarded should give the router id of the neighbor that sent it.
1040
ajs5b85fac2004-11-26 19:36:42 +000010412004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1042
1043 * ospf_main.c: Remove #include "debug.h" (was not being used, and
1044 lib/debug.h has now been deleted).
1045
hassoc0652302004-11-25 19:33:48 +000010462004-11-25 Hasso Tepper <hasso at quagga.net>
1047
1048 * ospf_main.c: Make group to run as configurable.
1049
gdt69e13252004-11-15 18:51:15 +000010502004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
1051
1052 * ospf_packet.c (ospf_recv_packet): Assume CMSG_SPACE is present
1053 and works (lib/zebra.h provides if OS doesn't).
1054
paul788dab12004-11-15 11:48:37 +000010552004-11-15 Paul Jakma <paul@dishone.st>
1056
1057 * ospf_{apiserver,te}.c: ospf_lsa_free's should be ospf_lsa_unlock.
1058
paul05e85fa2004-11-12 10:52:19 +000010592004-11-12 Paul Jakma <paul@dishone.st>
1060
1061 * ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to
1062 ignore stub area summary default. Even so it seems a strange
1063 check, add a comment to that effect.
1064
paulf3ae74c2004-11-04 20:35:31 +000010652004-11-04 Paul Jakma <paul@dishone.st>
1066
1067 * ospfd.c: (ospf_network_match_iface) revert to previous network
1068 statement match behaviour.
1069
paul62d8e962004-11-02 20:26:45 +000010702004-11-02 Paul Jakma <paul@dishone.st>
1071
1072 * ospf_packet.c: (ospf_write_frags) remove iov arg, msg already points
1073 to it. Add convenience pointer to msg->msg_iov[1], and use this,
1074 fixing the unfortunate borkenness introduced in moving of this code
1075 to a function.
1076 (ospf_write) remove iovp and fix up call to previous.
1077 (ospf_ls_upd_packet_new) cast size to long int - unfortunately
1078 glibc's size_t format modifier is not portable.
1079
paul37ccfa32004-10-31 11:24:51 +000010802004-10-31 Paul Jakma <paul@dishone.st>
1081
1082 * ospf_packet.c: (ospf_write_frags) Add debug output
1083 (ospf_write) set type early, so we can pass it to
1084 ospf_write_frags.
1085 (ospf_ls_upd_packet_new) print size in debug output when too large
1086 packet is encountered.
paul64511f32004-10-31 18:01:13 +00001087 * ospf_zebra.c: (ospf_distribute_list_update_timer) Ugly misuse of
1088 THREAD_ARG to store an integer, but it should at least use same
1089 same type to retrieve the value. Assert value is sane.
paul37ccfa32004-10-31 11:24:51 +00001090
paulac191232004-10-22 12:05:17 +000010912004-10-22 Paul Jakma <paul@dishone.st>
1092
1093 * ospf_network.c: (ospf_sock_init) call neutral setsock_ifindex()
1094 function.
1095 * ospf_packet.c: (ospf_read) manually look up ifindex
paul4ccb2c42004-10-22 22:52:33 +00001096 if system could not have returned one, eg openbsd, thanks to Rivo
1097 Nurges for highlighting problem and fix.
paul06f953f2004-10-22 17:00:38 +00001098 Change setsockopt_pktinfo to setsockopt_ifindex.
paulac191232004-10-22 12:05:17 +00001099
hasso3fb9cd62004-10-19 19:44:43 +000011002004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
1101
1102 * ospf_snmp.c: (ospf_snmp_if_update) Fix logic to handle PtP links
1103 with dedicated subnets properly.
1104 * ospf_lsa.c: (lsa_link_ptop_set) ditto.
1105 * ospfd.c: (ospf_network_match_iface) ditto.
1106 (ospf_network_run) ditto.
1107 * ospf_interface.c: (ospf_if_is_configured) ditto.
1108 (ospf_if_lookup_by_prefix) ditto.
1109 (ospf_if_lookup_recv_if) ditto.
1110 * ospf_vty.c: (show_ip_ospf_interface_sub) Display the peer or
1111 broadcast address if present.
1112
hassod68614d2004-10-13 09:32:48 +000011132004-10-13 Hasso Tepper <hasso at quagga.net>
1114
1115 * ospf_main.c: Unbreak compilation with ospfapi disabled.
hassoc75105a2004-10-13 10:33:26 +00001116 * ospf_snmp.c: Remove defaults used to initialize smux connection to
1117 snmpd. Connection is initialized only if smux peer is configured.
hassod68614d2004-10-13 09:32:48 +00001118
hassof4d58ce2004-10-12 06:13:54 +000011192004-10-12 Hasso Tepper <hasso at quagga.net>
1120
1121 * ospf_main.c, ospf_opaque.c: Unbreak ospfclient compilation - move
1122 static variable from ospf_main.c into ospf_opaque.c.
1123
hassoc3abdb72004-10-11 16:27:03 +000011242004-10-11 Hasso Tepper <hasso at quagga.net>
1125
1126 * ospf_main.c, ospf_opaque.c: Disable ospfapi init by default. New
1127 command line switch to enable it.
1128
paul6b333612004-10-11 10:11:25 +000011292004-10-11 Paul Jakma <paul@dishone.st>
1130
1131 * ospf_dump.c: (ospf_ip_header_dump) Assume header is in host order
1132 remove ntohs that should have dissappeared. Take struct ip
1133 as argument, caller has to know there's an IP header at start of
1134 stream anyway.
1135 * ospf_dump.h: update declaration of ospf_ip_header_dump.
1136 * ospf_packet.c: (ospf_write) correct call to
1137 sockopt_iphdrincl_swab_htosys which was munging the header.
1138 (ospf_recv_packet) ip_len is needed for old OpenBSD fixup.
1139 (ospf_read) sockopt_iphdrincl_swab_systoh ip header as soon as
1140 we have it.
paul6c835672004-10-11 11:00:30 +00001141 * (global) Const char update and signed/unsigned fixes.
1142 * (various headers) size defines should be unsigned.
1143 * ospf_interface.h: remove duplicated defines, include the
1144 authoritative header - though, these defines should probably
1145 be moved to a dedicated header, or ospfd.h.
1146 * ospf_lsa.h: (struct lsa) ls_seqnum should be unsigned.
1147 * ospf_packet.c: (ospf_write) cast result of shift to unsigned.
paul6b333612004-10-11 10:11:25 +00001148
hassoeb1ce602004-10-08 08:17:22 +000011492004-10-08 Hasso Tepper <hasso at quagga.net>
1150
1151 * *.[c|h]: Fix compiler warnings: make some strings const, signed ->
1152 unsigned, remove unused variables etc.
1153
gdt54ade992004-10-07 19:38:20 +000011542004-10-07 Greg Troxel <gdt@claude.ir.bbn.com>
1155
1156 * ospf_apiserver.c (ospf_apiserver_unregister_opaque_type): Don't
1157 use of variable names 'node' and 'nextnode' to avoid possible
1158 conflict with list macros. Move variable declaration inside for
1159 loop after a statement to top of function.
1160
paulaa20c6f2004-10-07 14:19:36 +000011612004-10-07 Paul Jakma <paul@dishone.st>
1162
1163 * ospf_snmp.c: Missed list typedef update
1164 * ospf_dump.c: Include sockopt.h for header swab functions.
1165
paul18b12c32004-10-05 14:38:29 +000011662004-10-05 Paul Jakma <paul@dishone.st>
1167
1168 * ospf_packet.c: replace ospf_swap_iph_to... with
1169 sockopt_iphdrincl_swab_...
1170
hasso18a6dce2004-10-03 18:18:34 +000011712004-10-03 James R. Leu <jleu at mindspring.com>
1172
1173 * ospf_zebra.c: Read router id related messages from zebra daemon.
1174 Schedule router-id update thread if it's changed.
1175 * ospfd.c: Remove own router-id selection function. Use router id from
1176 zebra daemon if it isn't manually overriden in configuration.
1177
paul68defd62004-09-27 07:27:13 +000011782004-09-27 Paul Jakma <paul@dishone.st>
1179
paul6a99f832004-09-27 12:56:30 +00001180 * ospf_dump.c: (ospf_ip_header_dump) Use HAVE_IP_HDRINCL_BSD_ORDER
1181 Apply to offset too. Print ip_cksum, lets not worry about
1182 possible 2.0.37 compile problems.
1183 * ospf_packet.c: (ospf_swap_iph_to{n,h}) Use
1184 HAVE_IP_HDRINCL_BSD_ORDER.
1185 (ospf_recv_packet) ditto.
1186 (ospf_write) Fixup iov argument to ospf_write_frags.
1187 (struct msghdr).msg_name is caddr_t on most platforms.
paul68defd62004-09-27 07:27:13 +00001188 (ospf_recv_packet) ditto. And msg_flags is not always there
1189 memset struct then set fields we care about rather than
1190 initialise all fields individually.
1191
hassoc9e52be2004-09-26 16:09:34 +000011922004-09-26 Hasso Tepper <hasso at quagga.net>
1193
1194 * ospf_abr.c, ospf_dump.c, ospf_lsa.c, ospf_packet.c, ospf_vty.c,
1195 ospf_zebra.c: Fix compiler warnings.
1196
paul87d6f872004-09-24 08:01:38 +000011972004-09-24 Paul Jakma <paul@dishone.st>
1198
1199 * ospf_apiserver.{c,h}: lists typedef removal cleanup.
1200 update some list loops to LIST_LOOP. some miscellaneous indent
1201 fixups.
1202 (ospf_apiserver_unregister_opaque_type) fix listnode_delete of
1203 referenced node in loop.
paul1603c062004-09-24 08:23:24 +00001204 (ospf_apiserver_term) loops calling ospf_apiserver_free, which
1205 deletes referenced nodes from apiserver_list, fixed.
paul87d6f872004-09-24 08:01:38 +00001206 * ospf_interface.h: lists typedef removal cleanup.
1207 * ospf_opaque.{c,h}: lists typedef removal cleanup. update some list
1208 loops to LIST_LOOP. miscellaneous style and indent fixups.
1209 * ospf_te.{c,h}: ditto
1210 * ospf_packet.c: lists typedef removal cleanup.
paula2570682004-09-24 08:09:57 +00001211 (ospf_write) ifdef fragmentation support. move actual
1212 fragmentation out to a new, similarly ifdefed, function.
1213 (ospf_write_frags) fragmented write support, moved from previous.
paul87d6f872004-09-24 08:01:38 +00001214
hasso52dc7ee2004-09-23 19:18:23 +000012152004-09-23 Hasso Tepper <hasso at quagga.net>
1216
1217 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
1218
paul68b73392004-09-12 14:21:37 +000012192004-09-12 Paul Jakma <paul@dishone.st>
1220
1221 * ospf_packet.c: Fix bugzilla #107
1222 (ospf_packet_max) get rid of the magic 88 constant
1223 (ospf_swab_iph_ton) new function. set ip header to network order,
1224 taking BSDisms into account.
1225 (ospf_swab_iph_toh) the inverse.
1226 (ospf_write) Add support for IP fragmentation, will only work on
1227 linux though, other kernels make it impossible. get rid of the
1228 magic 4 constant.
1229 (ospf_make_ls_upd) Bound check to end of stream, not to
1230 interface mtu.
1231 (ospf_ls_upd_packet_new) New function, allocate upd packet
1232 taking oversized LSAs into account.
1233 (ospf_ls_upd_queue_send) use ospf_ls_upd_packet_new to allocate,
1234 rather than statically allocating mtu sized packet buffer, which
1235 actually was wrong - it didnt take ip header into account, which
1236 should not be included in packet buffer.
1237 (ospf_ls_upd_send_queue_event) minor tweaks and remove
1238 TODO comment.
1239
gdt630e4802004-08-31 17:28:41 +000012402004-08-31 David Wiggins <dwiggins@bbn.com>
1241
1242 * ospf_spf.c (ospf_spf_calculate): Many more comments and debug
1243 print statements. New function ospf_vertex_dump used in debugging.
1244
12452004-08-31 David Wiggins <dwiggins@bbn.com>
1246
1247 * ospf_spf.h (struct vertex): Comments for flags and structure members.
1248
12492004-08-31 David Wiggins <dwiggins@bbn.com>
1250
1251 * ospf_route.c: When finding an alternate route, log cost as well.
1252
12532004-08-31 David Wiggins <dwiggins@bbn.com>
1254
1255 * ospf_interface.c (ospf_lookup_if_params): Initialize af in
1256 struct prefix allocated on stack.
1257
12582004-08-31 David Wiggins <dwiggins@bbn.com>
1259
1260 * ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send
1261 acks to AllSPFRouters, rather than All-DR.
1262
hasso7b901432004-08-31 13:37:42 +000012632004-08-27 Hasso Tepper <hasso at quagga.net>
1264
1265 * ospf_vty.c: Don't print ospf network type under interface only
1266 if interface is in broadcast mode and interface type really is
1267 broadcast. Fixes Bugzilla #108.
1268
gdtd7d93992004-08-27 12:03:42 +000012692004-08-27 David Wiggins <dwiggins@bbn.com>
1270
1271 * ospf_spf.c (ospf_nexthop_calculation): Initialize address family
1272 in on-stack struct prefix_ipv4. Fixes point-to-multipoint SPF
1273 calculation.
1274
gdtd0deca62004-08-26 13:14:07 +000012752004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
1276
1277 * ospf_packet.c (ospf_recv_packet): adjust size declaration of
gdtd7d93992004-08-27 12:03:42 +00001278 buffer used to get interface index so that it compiles on other
1279 than Linux and includes the required alignment space. Probably
1280 this was only working on sparc/sparc64 because most of
1281 sockaddr_dl was not being written.
gdtd0deca62004-08-26 13:14:07 +00001282
paul863082d2004-08-19 04:43:43 +000012832004-08-19 Paul Jakma <paul@dishone.st>
1284
1285 * ospf_packet.c: update to match sockopt renames.
1286
paul75ee0b82004-08-05 09:10:31 +000012872004-08-04 Paul Jakma <paul@dishone.st>
1288
1289 * ospf_spf.c: (ospf_spf_consider_nexthop) Add comment about issue.
1290 Compare only against list head - all nexthops must be same cost
1291 anyway, fixes a reference-listnode-after-delete bug noted by
1292 Kir Kostuchenko.
1293 (ospf_nexthop_calculation) Use ospf_spf_consider_nexthop for all
1294 candidates attached to root.
1295
paul36c64ef2004-07-27 11:19:11 +000012962004-07-27 Paul Jakma <paul@dishone.st>
1297
paul48fe13b2004-07-27 17:40:44 +00001298 * ospf_packet.c: (ospf_ls_upd_send_queue_event) fix thinko from
1299 last fix for ospfd wedging due to oversize LSAs: dont list loop on
1300 ospf_ls_upd_queue_send() - guaranteed segfault.
1301
13022004-07-27 Paul Jakma <paul@dishone.st>
1303
paul36c64ef2004-07-27 11:19:11 +00001304 * ospf_opaque.c: (ospf_opaque_lsa_flush_schedule) do not NULL out
1305 the LSA as then free_opaque_info_per_id() can never unlock (and
1306 free) the LSA. Reported by Gunnar Stigen.
1307
paul2dd8bb42004-07-23 15:13:48 +000013082004-07-23 Paul Jakma <paul@dishone.st>
1309
1310 * ospf_network.c: Replace PKTINFO/RECVIF with call to
1311 setsockopt_pktinfo
1312 * ospf_packet.c: Use getsockopt_pktinfo_ifindex and
1313 SOPT_SIZE_CMSG_PKTINFO_IPV4.
1314
paul59ea14c2004-07-14 20:50:36 +000013152004-07-14 Paul Jakma <paul@dishone.st>
1316
1317 * ospf_packet.c: (ospf_ls_upd_send_queue_event) Partial fix for
1318 problem reported by Peter Frost amongst others, where function
1319 will spin indefinitely if update list contains LSAs greater than
1320 MTU-headers or other condition leading to update list never being
1321 cleared. Problem of what to do with these LSAs remains.
1322 (ospf_make_ls_upd) add comment about large LSA problem,
1323 indentation cleanup.
1324
gdtb2c1b282004-07-01 12:35:36 +000013252004-07-01 Greg Troxel <gdt@fnord.ir.bbn.com>
1326
1327 * Makefile.am (lib_LTLIBRARIES): make libospf shared
1328
gdt87efd642004-06-30 17:36:11 +000013292004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1330
1331 * Makefile.am: Add shlib support.
1332
hassobeebba72004-06-20 21:00:27 +000013332004-06-10 Hasso Tepper <hasso@estpak.ee>
1334
1335 * *: Removed ifdefs HAVE_NSSA.
1336
paul553ff112004-06-06 09:41:00 +000013372004-06-06 Paul Jakma <paul@dishone.st>
1338
1339 * ospf_dump.c,ospf_lsa.c: Fix typos of merge of previous.
1340 ospf_flood.c: (ospf_process_self_originated_lsa) fix zlog format
1341
paul0c2be262004-05-31 14:16:54 +000013422004-05-31 Sagun Shakya <sagun.shakya@sun.com>
1343
1344 * ospf_dump.c: (ospf_lsa_header_dump) LOOKUP can return null if
1345 index is out of range.
1346 ospf_flood.c: endianness fix
1347 ospf_lsa.c: Missing ntohl's on (struct lsa *)->data->ls_seqnum
1348 in various places.
1349
hassodd669bb2004-05-10 07:43:59 +000013502004-05-10 Hasso Tepper <hasso@estpak.ee>
1351
1352 * ospf_zebra.c, ospfd.c: Move ospf_prefix_list_update() function
1353 to ospf_zebra.c from ospfd.c and add redistribution updates if
1354 route-map is used in redistribution.
1355 * ospf_main.c: Remove now useless call to ospf_init().
1356
paul0a589352004-05-08 11:48:26 +000013572004-05-08 Paul Jakma <paul@dishone.st>
1358
1359 * ospf_zebra.c: Sync with lib/zclient changes
1360
pauld3f0d622004-05-05 15:27:15 +000013612004-05-05 Paul Jakma <paul@dishone.st>
1362
paul5bd41892004-05-05 17:29:24 +00001363 * ospf_network.c: (ospf_sock_init) Check whether IP_HDRINCL is
1364 defined. Warn at compile and runtime. Use
1365 IPTOS_PREC_INTERNETCONTROL otherwise.
pauld3f0d622004-05-05 15:27:15 +00001366 * ospf_packet.c: (ospf_associate_packet_vl) cleanup, move
1367 some of the checks up to ospf_read, return either a
1368 virtual link oi, or NULL.
1369 (ospf_read) Cleanup, make it responsible for checks. Remove
1370 the nbr lookup - moved to ospf_neighbor. Adjust all nbr
1371 lookups to use new wrappers exported by ospf_neighbor.
1372 * ospf_neighbor.h: Add ospf_neigbour_get and ospf_nbr_lookup.
1373 * ospf_neighbor.c: (ospf_neigbour_get) Index ospf_interface
1374 neighbour table by router-id for virtual-link ospf_interfaces,
1375 not by peer_addr (which breaks for asymmetric vlinks)
1376 (ospf_nbr_lookup) add a wrapper for nbr lookups to deal with
1377 above.
paulcd59da62004-05-05 17:26:55 +00001378 * ospf_interface.c: (ospf_vl_set_params) Catch changes of interface
1379 address for either end of a virtual-link, and hence potential cost
1380 changes.
1381
hassoa0a39762004-04-23 08:51:10 +000013822004-04-22 Hasso Tepper <hasso@estpak.ee>
1383
1384 * ospf_zebra.c: Don't ignore reject/bh routes, it's the only way
1385 to "summarize" routes in ASBR at the moment.
1386
hasso8585d4e2004-04-20 17:25:12 +000013872004-04-20 Hasso Tepper <hasso@estpak.ee>
1388
1389 * ospfd.c: Unset NP flag if area is going to be normal or stub.
1390 Fixes UNH OSPF_NSSA.1.2a comment.
1391 * ospf_abr.c: Originate default into stub/nssa area even if
1392 summaries are disabled.
1393 * ospf_zebra.c: Don't attempt to redistribute 127.0.0.0/8.
1394
hassoc266ac72004-04-19 17:31:00 +000013952004-04-19 Hasso Tepper <hasso@estpak.ee>
1396
1397 * ospf_vty.c: Don't warn that export- and import-list can't be
1398 configured to backbone area if they are applied and are working
1399 fine.
1400
hasso128d31d2004-04-04 12:52:33 +000014012004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1402
1403 * ospf_packet.c: Don't drop packets in Solaris x86.
1404 [quagga-dev 1005].
1405
hasso0d85b992004-03-18 19:18:33 +000014062004-03-18 Amir Guindehi <amir@datacore.ch>
1407
1408 * ospf_opaque.c: Attempt to correct the incorrect behavior of
1409 Quagga's ospfd in the special situation that a node's opaque
1410 capability has changed as "ON -> OFF -> ON". [quagga-dev 843].
1411
paul7f352b82004-02-19 19:37:47 +000014122004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1413
1414 * ospf_abr.c: (ospf_abr_update_aggregate) UNH 3.12b,c, address range
1415 should be configured with the highest cost path within the range,
1416 not lowest.
1417
paul940b01a2004-02-17 20:07:30 +000014182004-02-17 Paul Jakma <paul@dishone.st>
1419
1420 * ospf_zebra.c: (ospf_interface_delete) Do not delete the interface
1421 params, nor the interface structure, if an interface delete
1422 message is received from zebra.
1423 * ospf_interface.c: (ospf_if_delete_hook) Delete the interface
1424 params and interface, ie that which was previously removed in
1425 (ospf_interface_delete) above.
1426
hasso2db3d052004-02-11 21:52:13 +000014272004-02-11 Hasso Tepper <hasso@estpak.ee>
1428 * ospf_interface.c, ospf_zebra.c: Don't attempt to read path->oi->ifp
1429 if oi doesn't exist any more.
1430
hassocb05eb22004-02-11 21:10:19 +000014312004-02-11 Vadim Suraev <vadim.suraev@terayon.com>
1432 * ospf_packet.c (ospf_ls_upd): Router should flush received network
1433 LSA if it was originated with older router-id ([zebra 14710] #6).
1434
14352003-12-08 Mattias Amnefelt <mattiasa@kth.se>
paul239aecc2003-12-08 10:34:54 +00001436
1437 * ospf_packet.c: (ospf_recv_packet) OpenBSD now leaves iph.ip_len
1438 network byte order.
1439
gdt8f40e892003-12-05 14:01:43 +000014402003-12-05 Greg Troxel <gdt@poblano.ir.bbn.com>
1441
1442 * ospfd.c (ospf_network_match_iface): Rewrite code for clarity
1443 while trying not to change semantics. Add ifdefed-out code to
1444 avoid matching ppp interfaces whose destination address does not
1445 also match the prefix under consideration, to help out people with
1446 problems due to as-yet-unfixed bugs with p2p interfaces coming and
1447 going.
1448
paul736d3442003-07-24 23:22:57 +000014492003-07-25 kamatchi soundaram <kamatchi@tdd.sj.nec.com>
1450
1451 * ospf_packet.c (ospf_ls_upd_send_queue_event): get next route
1452 node in body of the loop to avoid chance that route node
1453 is unlocked and deleted before the next iteration tries to
1454 get next route node.
1455
paul0a825c72003-05-24 13:48:16 +000014562003-05-24 Kenji Yabuuchi
1457
1458 * ospf_interface.c(ospf_if_lookup_recv_if): Use the most specific
1459 match for interface lookup.
1460
paul551a8972003-05-18 15:22:55 +000014612003-05-18 Hasso Tepper <hasso@estpak.ee>
paul445f1432003-05-16 19:00:31 +00001462
paul551a8972003-05-18 15:22:55 +00001463 * ospf_vty.c: Show NSSA LSA route info in "show ip ospf database"
1464 output
paul445f1432003-05-16 19:00:31 +00001465
pauld7480322003-05-16 17:31:51 +000014662003-05-16 Hasso Tepper <hasso@estpak.ee>
1467
1468 * ospf_lsa.c: Fix handling of NSSA
1469
paul551a8972003-05-18 15:22:55 +000014702003-04-23 Hasso Tepper <hasso@estpak.ee>
1471
1472 * ospf_vty.c: fix "router xxx" node commands in vtysh
1473
paul445f1432003-05-16 19:00:31 +000014742003-04-19 Hasso Tepper <hasso@estpak.ee>
1475
1476 * {ospf_abr,ospfd}.c: area id's DECIMAL -> ADDRESS
1477 * ospf_routemap.c: sync daemon's route-map commands to have same
1478 syntax.
1479
14802003-04-19 Sergey Vyshnevetskiy <serg@vostok.net>
1481
1482 * ospf_packet.c: Add missing param to zlog
1483 * ospf_flood.c: remove unused vars
1484
14852003-04-17 Denis Ovsienko <zebra@pilot.org.ua>
1486
1487 * ospf_interface.c: fix incorrect memset
1488
paul28a13842003-05-16 20:30:37 +000014892003-04-10 Amir Guindehi <amir@datacore.ch>
paul445f1432003-05-16 19:00:31 +00001490
1491 * ospf_lsa.[ch]: opaque LSA fix, use ospf_lookup.
1492
14932003-04-03 David Watson <dwatson@eecs.umich.edu>
1494
1495 * ospf_lsa.c: byte order fix
1496
paul07661cb2003-03-18 00:03:05 +000014972002-03-17 Amir Guindehi <amir@datacore.ch>
1498
1499 * ospf_apiserver.[ch]: Merge Ralph Keller's OSPFAPI support.
1500 * ospf_api.[ch]: Merge Ralph Keller's OSPFAPI support.
1501 * ospfclient: OSPFAPI demonstration client.
1502
15032003-01-23 Masahiko Endo <endo@suri.co.jp>
1504
1505 * ospf_ism.c: NSM event schedule bug fix.
1506
15072002-10-30 Greg Troxel <gdt@ir.bbn.com>
1508
1509 * ospf_packet.c (ospf_make_md5_digest): MD5 length fix.
1510
paul718e3742002-12-13 20:15:29 +000015112002-10-23 endo@suri.co.jp (Masahiko Endo)
1512
1513 * ospf_opaque.c: Update Opaque LSA patch.
1514
15152002-10-23 Ralph Keller <keller@tik.ee.ethz.ch>
1516
1517 * ospf_vty.c (show_ip_ospf_database): Fix CLI parse.
1518
15192002-10-23 Juris Kalnins <juris@mt.lv>
1520
1521 * ospf_interface.c (ospf_if_stream_unset): When write queue
1522 becomes empty stop write timer.
1523
15242002-10-10 Greg Troxel <gdt@ir.bbn.com>
1525
1526 * ospf_packet.c (ospf_check_md5_digest): Change >= to > to make it
1527 conform to RFC.
1528
15292002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1530
1531 * zebra-0.93 released.
1532
15332002-06-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1534
1535 * ospf_spf.c (ospf_nexthop_calculation): Add NULL set to oi and
1536 check of l2. Reported by: Daniel Drown <dan-zebra@drown.org>
1537 (ospf_lsa_has_link): LSA Length calculation fix. Reported by:
1538 Paul Jakma <paulj@alphyra.ie>.
1539
1540 * ospfd.c (ospf_if_update): Fix nextnode reference bug. Reported
1541 by: juris@mt.lv.
1542
15432002-01-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1544
1545 * ospfd.c: Merge [zebra 11445] Masahiko ENDO's Opaque-LSA support.
1546
15472001-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1548
1549 * ospf_interface.c (ospf_add_to_if): Use /32 address to register
1550 OSPF interface information.
1551 (ospf_delete_from_if): Likewise.
1552
1553 * ospf_zebra.c (ospf_interface_address_delete): Likewise.
1554
15552001-08-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1556
1557 * ospf_zebra.c (ospf_redistribute_unset): When redistribute type
1558 is OSPF, do not unset redistribute flag.
1559
15602001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1561
1562 * zebra-0.92a released.
1563
15642001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1565
1566 * zebra-0.92 released.
1567
15682001-08-12 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1569
1570 * ospfd.c (ospf_config_write): auto-cost reference-bandwidth
1571 configuration display.
1572
15732001-07-24 David Watson <dwatson@eecs.umich.edu>
1574
1575 * ospf_spf.c (ospf_spf_next): Modify ospf_vertex_add_parent to
1576 check for an existing link before connecting the parent and child.
1577 ospf_nexthop_calculation is also modified to check for duplicate
1578 entries when copying from the parent. Finally, ospf_spf_next
1579 removes duplicates when it merges two equal cost candidates.
1580
15812001-07-23 itojun@iijlab.net
1582
1583 * ospfd.c (show_ip_ospf_neighbor): Check ospf_top before use it
1584 [zebra 8549].
1585
15862001-07-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1587
1588 * ospf_packet.c (ospf_write): Remove defined(__OpenBSD__) to make
1589 it work on OpenBSD.
1590
15912001-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1592
1593 * ospf_zebra.c (config_write_ospf_default_metric): Display
1594 default-metric configuration.
1595
15962001-06-18 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1597
1598 * ospf_ia.h (OSPF_EXAMINE_SUMMARIES_ALL): Remove old macros.
1599
16002001-05-28 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1601
1602 * ospf_snmp.c (ospfIfEntry): Fix interface lookup bug to avoid
1603 crush.
1604 (ospfIfMetricEntry): Likewise.
1605
16062001-03-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1607
1608 * ospf_packet.c (ospf_read): Fix typo. Reported by: "Jen B
1609 Lin'Kova" <jen@stack.net>.
1610
16112001-03-15 Gleb Natapov <gleb@nbase.co.il>
1612
1613 * ospf_interface.c (ip_ospf_network): Set interface parameter.
1614 (interface_config_write): Add check for OSPF_IFTYPE_LOOPBACK.
1615
1616 * ospf_zebra.c (ospf_interface_add): Set interface parameter.
1617
16182001-02-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1619
1620 * ospf_packet.c (ospf_recv_packet): Solaris also need to add
1621 (iph.ip_hl << 2) to iph.ip_len.
1622
16232001-02-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1624
1625 * ospfd.h (OSPF_LS_REFRESH_TIME): Fix OSPF_LS_REFRESH_TIME value.
1626 Suggested by: David Watson <dwatson@eecs.umich.edu>.
1627
1628 * ospf_zebra.c (zebra_init): Remove zebra node.
1629
1630 * ospfd.c (ospf_area_range_set): Function name is changed from
1631 ospf_ara_range_cmd.
1632 (ospf_area_range_unset): New function which separated from DEFUN.
1633 New commands are added:
1634 "no area A.B.C.D range A.B.C.D/M advertise"
1635 "no area <0-4294967295> range A.B.C.D/M advertise"
1636 "no area A.B.C.D range A.B.C.D/M not-advertise"
1637 "no area <0-4294967295> range A.B.C.D/M not-advertise"
1638
1639 * ospf_lsa.c (ospf_lsa_more_recent): Fix previous change.
1640
16412001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
1642
1643 * ospf_network.c (ospf_if_add_allspfrouters): Use
1644 setsockopt_multicast_ipv4.
1645 (ospf_if_drop_allspfrouters): Likewise.
1646
1647 * ospf_lsa.c (ospf_router_lsa_install): Add rt_recalc flag.
1648 (ospf_network_lsa_install): Likewise.
1649 (ospf_summary_lsa_install): Likewise.
1650 (ospf_summary_asbr_lsa_install): Likewise.
1651 (ospf_external_lsa_install): Likewise.
1652 (ospf_lsa_install): Call ospf_lsa_different to check this LSA is
1653 new one or not.
1654
16552001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1656
1657 * ospf_zebra.c (ospf_interface_delete): Do not free interface
1658 structure when ospfd receive interface delete message to support
1659 pseudo interface.
1660
16612001-02-01 Dick Glasspool <dick@ipinfusion.com>
1662
1663 * ospfd.c (area_range_notadvertise): Change area range "suppress"
1664 command to "not-advertise".
1665
1666 * ospfd.h (OSPF_LS_REFRESH_TIME): Change OSPF_LS_REFRESH_TIME from
1667 1800 to 60.
1668
1669 * ospf_abr.c (ospf_abr_update_aggregate): When update_aggregate is
1670 updating the area-range, the lowest cost is now saved.
1671
1672 * ospf_lsa.c (ospf_lsa_more_recent): Routing to compare sequence
1673 numbers rather than creating overflow during calculation.
1674
16752001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1676
1677 * zebra-0.91 is released.
1678
16792001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1680
1681 * ospf_packet.c (ospf_db_desc_proc): Do not continue process when
1682 NSM_SeqNumberMismatch is scheduled.
1683 (ospf_ls_req): Free ls_upd when return from this function.
1684 (ospf_ls_upd_timer): When update list is empty do not call
1685 ospf_ls_upd_send(). Suggested by: endo@suri.co.jp (Masahiko
1686 Endo).
1687
16882001-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1689
1690 * ospf_lsa.c (ospf_maxage_flood): Flood LSA when it reaches
1691 MaxAge. RFC2328 Section 14.
1692 (ospf_maxage_lsa_remover): Call above function during removing
1693 MaxAge LSA.
1694
16952001-01-26 Dick Glasspool <dick@ipinfusion.com>
1696
1697 * ospf_flood.c (ospf_flood_through_as): Function is updated for
1698 NSSA Translations now done at ospf_abr.c with no change in P-bit.
1699
1700 * ospf_lsa.c (ospf_get_nssa_ip): Get 1st IP connection for Forward
1701 Addr.
1702 (ospf_install_flood_nssa): Leave Type-7 LSA at Lock Count = 2.
1703
1704 * ospf_ase.c (ospf_ase_calculate_route): Add debug codes.
1705
1706 * ospf_abr.c (ospf_abr_translate_nssa): Recalculate LSA checksum.
1707
1708 * ospf_packet.h (OSPF_SEND_PACKET_LOOP): Added for test packet.
1709
1710 * ospf_dump.c (ospf_lsa_type_msg): Add OSPF_GROUP_MEMBER_LSA and
1711 OSPF_AS_NSSA_LSA.
1712
1713 * ospfd.c (data_injection): Function to inject LSA. This is
1714 debugging command.
1715
17162001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1717
1718 * ospf_route.c (ospf_route_match_same): Remove function.
1719 (ospf_route_match_same_new): Renamed to ospf_route_match_same.
1720
1721 * ospf_zebra.c (ospf_interface_address_delete): Add check for
1722 oi->address. Suggested by Matthew Grant
1723 <grantma@anathoth.gen.nz>.
1724 (ospf_zebra_add): Remove function.
1725 (ospf_zebra_add_multipath): Rename to ospf_zebra_add.
1726
1727 * ospf_interface.c: Remove HAVE_IF_PSEUDO part.
1728
1729 * ospf_zebra.c: Likewise.
1730
17312001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1732
1733 * ospf_ase.c: Remove OLD_RIB part.
1734
1735 * ospf_route.c: Likewise.
1736
1737 * zebra-0.90 is released.
1738
1739 * ospf_packet.c (ospf_recv_packet): Use ip_len adjestment code to
1740 NetBSD.
1741
17422001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1743
1744 * ospf_route.c (ospf_route_delete): Use
1745 ospf_zebra_delete_multipath.
1746
17472001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1748
1749 * ospf_interface.c (ospf_if_cleanup): Function name is renamed
1750 from ospf_if_free(). Rewrite whole procudure to support primary
1751 address deletion.
1752
1753 * ospf_zebra.c (ospf_interface_address_delete): Add primary
1754 address deletion process.
1755
17562001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1757
1758 * ospf_packet.c (ospf_recv_packet): OpenBSD has same ip_len
1759 treatment like FreeBSD.
1760
17612001-01-09 endo@suri.co.jp (Masahiko Endo)
1762
1763 * ospf_packet.c (ospf_recv_packet): FreeBSD kernel network code
1764 strips IP header size from receiving IP Packet. So we adjust
1765 ip_len to whole IP packet size by adding IP header size.
1766
17672001-01-08 endo@suri.co.jp (Masahiko Endo)
1768
1769 * ospf_network.c (ospf_serv_sock): When socket() is failed return
1770 immediately.
1771 (ospf_serv_sock): Close socket when it is not used.
1772
1773 * ospf_packet.c (ospf_write): Set sin_len when HAVE_SIN_LEN is
1774 defined.
1775 (ospf_write): When bind is fined, close sock.
1776
17772001-01-07 Gleb Natapov <gleb@nbase.co.il>
1778
1779 * ospf_zebra.c (ospf_interface_state_up): Fixes coredump that
1780 appears when you try to configure bandwidth on the ppp interface
1781 that is not yet configured in ospfd.
1782
17832001-01-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1784
1785 * ospf_route.c (show_ip_ospf_route_external): "show ip ospf route"
1786 will print nexthops for AS-external routes.
1787
1788 * ospf_ase.c (ospf_ase_route_match_same): New function to compare
1789 ASE route under multipath environment.
1790 (ospf_ase_compare_tables): Likewise.
1791
17922001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1793
1794 * ospfd.h (OSPF_VTYSH_PATH): Change "/tmp/ospfd" to "/tmp/.ospfd".
1795
17962000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1797
1798 * ospf_route.c (ospf_route_install): Install multipath information
1799 to zebra daemon.
1800
1801 * ospf_zebra.c (ospf_zebra_add_multipath): Function for passing
1802 multipath information to zebra daemon.
1803
18042000-12-25 Dick Glasspool <dick@ipinfusion.com>
1805
1806 * ospf_packet.c (ospf_write): Call ospf_packet_delete when sendto
1807 fail.
1808 (DISCARD_LSA): Add argument N for logging point of DISCARD_LSA is
1809 called.
1810
1811 * ospf_lsa.c (ospf_external_lsa_refresh): NSSA install_flood will
1812 leave Type-7 LSA at Lock Count = 2.
1813
1814 * ospf_flood.c (ospf_flood_through): Flood_though_as updated for
1815 NSSA no P-bit off during Area flooding, but P-bit is turned off
1816 for mulitple NSSA AS flooding.
1817
1818 * ospf_ase.c (ospf_ase_calculate_timer): Added calculations for
1819 Type-7 LSDB.
1820
1821 * ospf_abr.c (ospf_abr_translate_nssa): Removed one unlock call.
1822 (ospf_abr_announce_nssa_defaults): Corrected Debug from EVENT to
1823 NSSA.
1824
18252000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1826
1827 * ospf_zebra.c (ospf_zebra_read_ipv4): Checking the age of the
1828 found LSA and if the LSA is MAXAGE we should call refresh instead
1829 of originate.
1830
18312000-12-18 Dick Glasspool <dick@ipinfusion.com>
1832
1833 * ospf_abr.c: Removed redundant "...flood" in
1834 announce_network_to_area(). Repaired nssa Unlock by using
1835 discard.
1836
1837 * ospf_packet.c: Removed old NSSA translate during mk_ls_update.
1838
1839 * ospfd.c: Free up all data bases including NSSA.
1840
1841 * ospf_lsa.c: Now allow removal of XLATE LSA's Check in
1842 discard_callback. Added routine to get ip addr from within the
1843 ifp.
1844
1845 * ospf_flood.c: Now set Forward Address for outgoing Type-7.
1846
1847 * ospf_lsa.h: Added prototype for the below. struct in_addr
1848 ospf_get_ip_from_ifp (struct interface *ifp).
1849
18502000-12-14 Gleb Natapov <gleb@nbase.co.il>
1851
1852 * ospf_packet.c (ospf_recv_packet): New OSPF pakcet read method.
1853 Now maximum packet length may be 65535 bytes (maximum IP packet
1854 length).
1855
1856 * ospf_interface.c (ospf_if_stream_set): Don't make input buffer.
1857
1858 * ospfd.c (config_write_network_area): Remove unnecessary area
1859 lookup code.
1860
18612000-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1862
1863 * ospf_packet.c (ospf_read): Accept packet bigger than MTU value.
1864
18652000-12-13 Gleb Natapov <gleb@nbase.co.il>
1866
1867 * ospfd.c (config_write_network_area): Fix bug in
1868 config_write_network_area function.
1869
18702000-12-12 Gleb Natapov <gleb@nbase.co.il>
1871
1872 * ospf_abr.c (ospf_abr_announce_network_to_area): Make Summary
1873 LSA's origination and refreshment as same as other type of LSA.
1874
1875 * ospf_lsa.c (ospf_summary_lsa_refresh): Return struct ospf_lsa *.
1876
1877 * ospf_lsa.c (ospf_summary_asbr_lsa_refresh): Likewise.
1878
18792000-12-08 Dick Glasspool <dick@ipinfusion.com>
1880
1881 The bulk of NSSA changes are contained herein; This version will
1882 require manual setting of "always" for NSSA Translator, and will
1883 not perform aggregation yet.
1884
1885 * ospf_dump.c: "debug ospf nssa" is added.
1886
1887 * ospf_dump.h: Likewise.
1888
1889 * ospf_packet.c (ospf_hello): Display router ID on Bad NSSA Hello.
1890
1891 * ospfd.c: Discard_LSA to stay away from LOCAL_XLT Process NSSA
1892 'never, candidate, always'. Change "suppress" to "not-advertise".
1893
1894 * ospfd.h: Add TranslatorRole to struct ospf_area. Add anyNSSA to
1895 struct ospf.
1896
1897 * ospf_ase.c (ospf_ase_calculate_route): External to stay away
1898 from LOCAL_XLT
1899
1900 * ospf_nsm.c (ospf_db_summary_add): External to stay away from
1901 LOCAL_XLT
1902
1903 * ospf_abr.c: Major logic added for abr_nssa_task(). If ABR, and
1904 NSSA translator, then do it. Approve the global list, and flush
1905 any unapproved.
1906
1907 * ospf_lsa.h: New LSA flag OSPF_LSA_LOCAL_XLT to indicate that the
1908 Type-5 resulted from a Local Type-7 translation; not used for
1909 flooding, but used for flushing.
1910
1911 * ospf_flood.c: New NSSA flooding.
1912
19132000-12-08 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1914
1915 * ospfd.c (ospf_find_vl_data): New function for looking up virtual
1916 link data.
1917 (ospf_vl_set_security): Virtual link configuration with
1918 authentication.
1919 (ospf_vl_set_timers): Set timers for virtual link.
1920
1921 * New commands are added.
1922 "area A.B.C.D virtual-link A.B.C.D"
1923 "area A.B.C.D virtual-link A.B.C.D hello-interval <1-65535> retransmit-interval <3-65535> transmit-delay <1-65535> dead-interval <1-65535>"
1924 "area A.B.C.D virtual-link A.B.C.D hello-interval <1-65535> retransmit-interval <3-65535> transmit-delay <1-65535> dead-interval <1-65535> authentication-key AUTH_KEY"
1925 "area A.B.C.D virtual-link A.B.C.D authentication-key AUTH_KEY"
1926 "area A.B.C.D virtual-link A.B.C.D hello-interval <1-65535> retransmit-interval <3-65535> transmit-delay <1-65535> dead-interval <1-65535> message-digest-key <1-255> md5 KEY"
1927 "area A.B.C.D virtual-link A.B.C.D message-digest-key <1-255> md5 KEY"
1928
1929 * ospf_packet.c (ospf_check_md5_digest): Add neighbor's
1930 cryptographic sequence number treatment.
1931 (ospf_check_auth): OSPF input buffer is added to argument.
1932 (ospf_read): Save neighbor's cryptographic sequence number.
1933
1934 * ospf_nsm.c (nsm_change_status): Clear cryptographic sequence
1935 number when neighbor status is changed to NSM down.
1936
1937 * ospf_neighbor.c (ospf_nbr_new): Set zero to crypt_seqnum.
1938
1939 * ospf_neighbor.h (struct ospf_neighbor): Add cryptographic
1940 sequence number to neighbor structure.
1941
19422000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1943
1944 * ospf_snmp.c (ospfIfLookup): OSPF MIB updates.
1945 (ospfExtLsdbEntry): Add OspfExtLsdbTable treatment.
1946
19472000-11-28 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1948
1949 * ospfd.c (ospf_interface_down): Clear a ls_upd_queue queue of the
1950 interface.
1951 (ospf_ls_upd_queue_empty): New function to empty ls update queue
1952 of the OSPF interface.
1953 (no_router_ospf): 'no router ospf' unregister redistribution
1954 requests from zebra.
1955
19562000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1957
1958 * ospf_ism.c (ism_change_status): Increment status change number.
1959
1960 * ospf_interface.h (struct ospf_interface): Add new member for
1961 status change statistics.
1962
1963 * Makefile.am: Update dependencies.
1964
1965 * ospf_zebra.c (ospf_interface_add): OSPF SNMP interface update.
1966 (ospf_interface_delete): OSPF SNMP interface delete.
1967
1968 * ospf_snmp.h: New file is added.
1969
19702000-11-23 Dick Glasspool <dick@ipinfusion.com>
1971
1972 * ospfd.h: Add new ospf_area structure member for
1973 NSSATranslatorRole and NSSATranslator state.
1974
1975 * ospfd.c: Provided for eventual commands to specify NSSA
1976 elections for "translator- ALWAYS/NEVER/CANDIDATE". Provided for
1977 decimal integer version of area-suppress.
1978
1979 * ospf_flood.c: Flood Type-7's only into NSSA (not AS).
1980
1981 * ospf_lsa.c: Undo some previous changes for NSSA. If NSSA
1982 translator, advertise Nt bit.
1983
1984 * ospf_route.c: 1st version of "sh ip os border-routers".
1985
19862000-11-23 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1987
1988 * ospfd.c (area_vlink): Virtual link can not configured in stub
1989 area.
1990
19912000-11-23 Gleb Natapov <gleb@nbase.co.il>
1992
1993 * ospf_packet.c (ospf_db_desc): In states Loading and Full the
1994 slave must resend its last Database Description packet in response
1995 to duplicate Database Description packets received from the
1996 master. For this reason the slave must wait RouterDeadInterval
1997 seconds before freeing the last Database Description packet.
1998 Reception of a Database Description packet from the master after
1999 this interval will generate a SeqNumberMismatch neighbor
2000 event. RFC2328 Section 10.8
2001 (ospf_make_db_desc): DD Master flag treatment.
2002
2003 * ospf_nsm.c (nsm_twoway_received): Move DD related procedure to
2004 nsm_change_status().
2005 (nsm_bad_ls_req): Likewise.
2006 (nsm_adj_ok): Likewise.
2007 (nsm_seq_number_mismatch): Likewise.
2008 (nsm_oneway_received): Likewise.
2009
2010 * ospf_neighbor.h (struct ospf_neighbor): New structure member
2011 last_send_ts for timestemp when last Database Description packet
2012 was sent.
2013
2014 * ospf_nsm.c (ospf_db_desc_timer): Make it sure nbr->last_send is
2015 there. Call ospf_db_desc_resend() in any case.
2016
20172000-11-16 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2018
2019 * ospf_lsa.c (lsa_link_broadcast_set): When there is no DR on
2020 network (suppose you have only one router with interface priority
2021 0). It's router LSA does not contain the link information about
2022 this network.
2023
2024 * ospf_nsm.c (nsm_timer_set): When you change a priority of
2025 interface from/to 0 ISM_NeighborChange event should be scheduled
2026 in order to elect new DR/BDR on the network.
2027
2028 * ospf_interface.c (ip_ospf_priority): Likewise.
2029
2030 * ospf_flood.c (ospf_ls_retransmit_add): When we add some LSA into
2031 retransmit list we need to check whether the present old LSA in
2032 retransmit list is not more recent than the new
2033 one.
2034
20352000-11-09 Dick Glasspool <dick@ipinfusion.com>
2036
2037 * ospf_packet.c: Allows for NSSA Type-7 LSA's throughout the NSSA
2038 area. Any that exit the NSSA area are translated to type-5 LSA's.
2039 The instantiated image is restored after translation.
2040 (ospf_ls_upd_send_list): Renamed to ospf_ls_upd_queu_send().
2041 (ospf_ls_upd_send): Old function which enclosed by #ifdef 0 is
2042 removed.
2043 (ospf_ls_ack_send): Likewise.
2044
2045 * ospf_flood.c: NSSA-LSA's without P-bit will be restricted to
2046 local area. Otherwise they are allowed out the area to be
2047 translated by ospf_packet.c.
2048
2049 * ospf_lsa.c: Undo some previous changes for NSSA.
2050
2051 * ospf_lsdb.h: New access for type 7.
2052
20532000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2054
2055 * ospf_route.c (ospf_path_exist): New function to check nexthop
2056 and interface are in current OSPF path or not.
2057 (ospf_route_copy_nexthops_from_vertex): Add nexthop to OSPF path
2058 when it is not there. Reported by Michael Rozhavsky
2059 <mrozhavsky@opticalaccess.com>
2060
20612000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2062
2063 * ospf_dump.c (config_write_debug): Add seventh string "detail" is
2064 added for flag is OSPF_DEBUG_SEND | OSPF_DEBUG_RECV |
2065 OSPF_DEBUG_DETAIL.
2066
20672000-11-06 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2068
2069 * ospf_lsa.c (router_lsa_flags): ASBR can't exit in stub area.
2070
20712000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2072
2073 * ospf_lsa.c (ospf_router_lsa_originate): Reduce unconditional
2074 logging.
2075
20762000-11-06 Dick Glasspool <dick@ipinfusion.com>
2077
2078 * ospfd.h: Add ait_ntoa function prototype.
2079
2080 * ospfd.c (ait_ntoa): New function for displaying area ID and
2081 Stub/NSSA status.
2082 (show_ip_ospf_interface_sub): Use ait_ntoa.
2083 (show_ip_ospf_nbr_static_detail_sub): Likewise.
2084 (show_ip_ospf_neighbor_detail_sub): Likewise.
2085
2086 * ospf_route.c (ospf_intra_route_add): Set external routing type
2087 to ospf route.
2088 (ospf_intra_add_router): Likewise.
2089 (ospf_intra_add_transit): Likewise.
2090 (ospf_intra_add_stub): Likewise.
2091 (ospf_add_discard_route): Likewise.
2092 (show_ip_ospf_route_network): Use ait_ntoa.
2093 (show_ip_ospf_route_network): Likewise.
2094 (show_ip_ospf_route_router): Likewise.
2095
2096 * ospf_lsa.c (show_lsa_detail): Use ait_ntoa.
2097 (show_lsa_detail_adv_router): Likewise.
2098 (show_ip_ospf_database_summary): Likewise.
2099
2100 * ospf_route.h (struct route_standard): Add new member
2101 external_routing.
2102
2103 * ospf_ia.c (process_summary_lsa): Set external routing tyep to ospf
2104 route.
2105 (ospf_update_network_route): Likewise.
2106 (ospf_update_router_route): Likewise.
2107
21082000-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2109
2110 * ospf_flood.c (ospf_process_self_originated_lsa): Enclose
2111 OSPF_AS_NSSA_LSA treatment with #ifdef HAVE_NSSA.
2112
21132000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2114
2115 * Unconditional logging is enclosed with if (IS_DEBUG_OSPF_EVENT).
2116 Please specify "debug ospf event" for enable logging.
2117
2118 * ospf_ism.c: Do not extern debug flag varible. It is done by
2119 ospf_debug.h
2120 * ospf_asbr.c: Likewise.
2121 * ospf_lsa.c: Likewise.
2122 * ospf_nsm.c: Likewise.
2123 * ospf_zebra.c: Likewise.
2124
2125 * ospf_dump.c (debug_ospf_event): New command "debug ospf event"
2126 is added.
2127
2128 * ospfd.c (router_ospf): Change logging from vty_out() to
2129 zlog_info().
2130 (ospf_area_stub_cmd): Likewise.
2131
2132 * ospf_dump.h: Extern term_debug flags.
2133 (OSPF_DEBUG_EVENT): Add new flag.
2134 (IS_DEBUG_OSPF_EVENT): Add new macro.
2135
21362000-11-03 Dick Glasspool <dick@ipinfusion.com>
2137
2138 * ospf_flood.c (ospf_process_self_originated_lsa):
2139 OSPF_AS_NSSA_LSA is treated as same as OSPF_AS_EXTERNAL_LSA.
2140 (ospf_flood): Type-5's have no change. Type-7's can be received,
2141 and will Flood the AS as Type-5's They will also flood the local
2142 NSSA Area as Type-7's. The LSDB will be updated as Type-5's, and
2143 during re-fresh will be converted back to Type-7's (if within an
2144 NSSA).
2145 (ospf_flood_through): Incoming Type-7's were allowed here if our
2146 neighbor was an NSSA. So Flood our area with the Type-7 and also
2147 if we are an ABR, flood thru AS as Type-5.
2148
2149 * ospf_lsa.c (ospf_external_lsa_refresh): Flood NSSA both NSSA
2150 area and other area.
2151
2152 * ospf_packet.c (ospf_db_desc_proc): When AS External LSA is
2153 exists in DD packet, make it sure that this area is not stub.
2154 (ospf_ls_upd_list_lsa): When LSA type is NSSA then set lsa's area
2155 to NULL.
2156 (ospf_ls_upd): If the LSA is AS External LSA and the area is stub
2157 then discard the lsa. If the LSA is NSSA LSA and the area is not
2158 NSSA then discard the lsa.
2159
21602000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2161
2162 * ospfd.c (ospf_interface_run): Fix bug of Hello packet's option
2163 is not properly set when interface comes up.
2164
21652000-11-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2166
2167 * ospfd.h (OSPF_OPTION_O): Add new hello header option.
2168
21692000-11-01 Dick Glasspool <dick@ipinfusion.com>
2170
2171 * ospf_lsa.h: Define OSPF_MAX_LSA to 8 when HAVE_NSSA is enabled.
2172 (OSPF_GROUP_MEMBER_LSA): Define OSPF_GROUP_MEMBER_LSA.
2173
2174 * ospf_lsa.c (show_database_desc): Add "Group Membership LSA"
2175 string.
2176
21772000-10-31 Dick Glasspool <dick@ipinfusion.com>
2178
2179 * ospf_lsa.h (OSPF_AS_NSSA_LSA): Define OSPF_AS_NSSA_LSA.
2180
2181 * ospf_lsa.c (show_ip_ospf_database): NSSA database display
2182 function is added. ALIASES which have "show ip ospf database
2183 nssa-external" is added.
2184 (show_ip_ospf_border_routers): New command "show ip ospf
2185 border-routers" is added.
2186
21872000-10-30 Dick Glasspool <dick@ipinfusion.com>
2188
2189 * ospfd.c (router_ospf): NSSA Enabled message is added for
2190 testing.
2191 (ospf_area_type_set): Are type set for NSSA area.
2192 (ospf_area_stub_cmd): Special translation of no_summary into NSSA
2193 and summary information. If NSSA is enabled pass the information
2194 to ospf_area_type_set().
2195 (area_nssa): New commands are added:
2196 "area A.B.C.D nssa"
2197 "area <0-4294967295> nssa"
2198 "area A.B.C.D nssa no-summary"
2199 "area <0-4294967295> nssa no-summary"
2200 (ospf_no_area_stub_cmd): Special translation of no_summary into
2201 NSSA and summary information. If external_routing is
2202 OSPF_AREA_NSSA unset area with ospf_area_type_set (area,
2203 OSPF_AREA_DEFAULT).
2204 (show_ip_ospf_area): Display NSSA status.
2205 (config_write_ospf_area): Show NSSA configuration.
2206
2207 * ospf_packet.c (ospf_hello): For NSSA support, ensure that NP is
2208 on and E is off.
2209
22102000-10-26 Gleb Natapov <gleb@nbase.co.il>
2211
2212 * ospf_lsa.c (ospf_network_lsa_body_set): The network-LSA lists
2213 those routers that are fully adjacent to the Designated Router;
2214 each fully adjacent router is identified by its OSPF Router ID.
2215 The Designated Router includes itself in this list. RFC2328,
2216 Section 12.4.2.
2217
22182000-10-23 Jochen Friedrich <jochen@scram.de>
2219
2220 * ospf_snmp.c: ospf_oid and ospfd_oid are used in smux_open after
2221 it is registered. So those variables must be static.
2222
22232000-10-18 K N Sridhar <sridhar@euler.ece.iisc.ernet.in>
2224
2225 * ospfd.c: Add area_default_cost_decimal_cmd and
2226 no_area_default_cost_decimal_cmd alias.
2227
22282000-10-05 Gleb Natapov <gleb@nbase.co.il>
2229
2230 * ospfd.c (ospf_network_new): Fix setting area format.
2231 (no_router_ospf): Check area existance when calling
2232 ospf_interface_down().
2233
2234 * ospf_flood.c (ospf_external_info_check): Fix bug of refreshing
2235 default route.
2236
22372000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2238
2239 * zebra-0.89 is released.
2240
22412000-09-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2242
2243 * ospf_snmp.c (ospfHostEntry): OSPF Host MIB is implemented.
2244
2245 * ospfd.c (ospf_nbr_static_cmp): OSPF neighbor is sorted by it's
2246 address.
2247
22482000-09-28 Michael Rozhavsky <mike@nbase.co.il>
2249
2250 * ospf_interface.c (ospf_if_free): Fix deleting self neighbor twice.
2251
22522000-09-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2253
2254 * ospf_packet.c (ospf_read): Solaris on x86 has ip_len with host
2255 byte order.
2256
22572000-09-25 Toshiaki Takada <takada@zebra.org>
2258
2259 * ospfd.c (ospf_compatible_rfc1583), (no_ospf_compatible_rfc1583):
2260 Add CISCO compatible command.
2261
22622000-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2263
2264 * ospf_abr.c (ospf_area_range_lookup): New function is added for
2265 area range lookup in OSPF-MIB.
2266 (ospf_area_range_lookup_next): Likewise.
2267
22682000-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2269
2270 * ospfd.c (no_router_ospf): Delete virtual link before deleting
2271 area structure.
2272
2273 * ospf_lsa.c (ospf_external_lsa_refresh_type): Check
2274 EXTERNAL_INFO(type).
2275
2276 * ospfd.c (no_router_ospf): Call ospf_vl_delete() instead of
2277 ospf_vl_data_free().
2278
2279 * ospf_interface.c (ospf_vl_shutdown): Execute ISM_InterfaceDown
2280 when ospf_vl_shutdown is called.
2281 (ospf_vl_delete): Call ospf_vl_shutdown() to delete virtual link
2282 interface's thread.
2283
22842000-09-21 Gleb Natapov <gleb@nbase.co.il>
2285
2286 * ospf_lsa.c: New implementation of OSPF refresh.
2287
22882000-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2289
2290 * ospf_snmp.c (ospfLsdbLookup): Add LSDB MIB implementation.
2291
22922000-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2293
2294 * ospf_snmp.c (ospfStubAreaEntry): Add OSPF stub area MIB.
2295
22962000-09-18 Gleb Natapov <gleb@nbase.co.il>
2297
2298 * ospf_route.h (route_standard): Change member from `struct area'
2299 to area_id.
2300
2301 * ospf_abr.c (ospf_abr_announce_network), (ospf_abr_should_announce),
2302 (ospf_abr_process_network_rt), (ospf_abr_announce_rtr),
2303 (ospf_abr_process_router_rt):
2304 * ospf_ase.c (ospf_find_asbr_route),
2305 (ospf_find_asbr_router_through_area),
2306 * ospf_ia.c (ospf_find_abr_route), (ospf_ia_router_route),
2307 (process_summary_lsa), (ospf_update_network_route),
2308 (ospf_update_router_route):
2309 * ospf_route.c (ospf_intra_route_add), (ospf_intra_add_router),
2310 (ospf_intra_add_transit), (ospf_intra_add_stub),
2311 (ospf_route_table_dump), (show_ip_ospf_route_network),
2312 (show_ip_ospf_route_router), (ospf_asbr_route_cmp),
2313 (ospf_prune_unreachable_routers):
2314 * ospf_spf.c (ospf_rtrs_print):
2315 * ospfd.c (ospf_rtrs_free): Fix the struct change above.
2316
23172000-09-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2318
2319 * ospf_network.c (ospf_serv_sock_init): Enclose SO_BINDTODEVICE
2320 with ifdef.
2321
23222000-09-13 Gleb Natapov <gleb@nbase.co.il>
2323
2324 * ospf_ism.c (ospf_elect_dr), (ospf_elect_bdr): Fix DR election.
2325
2326 * ospf_network.c (ospf_serv_sock_init): Add socket option
2327 SO_BINDTODEVICE on read socket.
2328
2329 * ospf_packet.c (ospf_hello): Ignore Hello packet if E-bit does
2330 not match.
2331
2332 * ospfd.c (ospf_area_check_free), (ospf_area_get),
2333 (ospf_area_add_if): New function added.
2334
23352000-09-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2336
2337 * ospf_route.c (ospf_intra_add_router): Update ABR and ASBR router
2338 count.
2339
2340 * ospf_spf.c (ospf_spf_init): Rest ABR and ASBR router count
2341 starting SPF calculation.
2342
2343 * ospfd.h (struct ospf_area): Add ABR and ASBR router count.
2344
23452000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2346
2347 * ospfd.c (ospf_area_id_cmp): New area structure is sorted by area
2348 ID.
2349
2350 * ospf_lsa.c (ospf_router_lsa_originate): For OSPF MIB update
2351 lsa_originate_count.
2352 (ospf_network_lsa_originate): Likewise.
2353 (ospf_summary_lsa_originate): Likewise.
2354 (ospf_summary_asbr_lsa_originate): Likewise.
2355 (ospf_external_lsa_originate): Likewise.
2356
23572000-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2358
2359 * ospf_snmp.c (ospf_variables): ospfRouterID's type RouterID
2360 syntax is IpAddress.
2361 (ospf_admin_stat): New function for OSPF administrative status
2362 check.
2363
23642000-09-10 Jochen Friedrich <jochen@scram.de>
2365
2366 * ospf_snmp.c: Implement OSPF MIB skeleton.
2367
23682000-09-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2369
2370 * ospf_snmp.c: New file is added.
2371
23722000-09-07 David Lipovkov <davidl@nbase.co.il>
2373
2374 * ospf_zebra.c (ospf_interface_delete): Add pseudo interface
2375 treatment.
2376
2377 * ospf_interface.c (interface_config_write): Likewise.
2378
23792000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2380
2381 * zebra-0.88 is released.
2382
23832000-08-17 Michael Rozhavsky <mike@nbase.co.il>
2384
2385 * ospfd.c (ospf_area_free): Remove virtual link configuration only
2386 when Area is removed.
2387
23882000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2389
2390 * ospfd.c (network_area): Revert check for EXTERNAL_INFO
2391 (ZEBRA_ROUTE_CONNECT).
2392 (no_network_area): Likewise.
2393
23942000-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2395
2396 * ospfd.h (struct ospf): Add distance_table and
2397 distance_{all,intra,inter,external}.
2398
2399 * ospf_zebra.c: Add OSPF distance related functions.
2400
24012000-08-15 Gleb Natapov <gleb@nbase.co.il>
2402
2403 * ospf_asbr.c (ospf_external_info_find_lsa): New function added.
2404
2405 * ospf_lsa.c (ospf_default_external_info),
2406 (ospf_default_originate_timer), (ospf_external_lsa_refresh_default):
2407 New function added.
2408
2409 * ospf_zebra.c
2410 (ospf_default_information_originate_metric_type_routemap),
2411 (ospf_default_information_originate_always_metric_type_routemap):
2412 Change name and add route-map function.
2413 (ospf_default_information_originate_metric_routemap),
2414 (ospf_default_information_originate_routemap),
2415 (ospf_default_information_originate_type_metric_routemap):
2416 New DEFUN added.
2417
24182000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2419
2420 * ospf_zebra.c (zebra_interface_if_set_value): Change ifindex
2421 restore size from two octet to four.
2422
24232000-08-14 Michael Rozhavsky <mike@nbase.co.il>
2424
2425 * ospf_ase.c (ospf_ase_incremental_update): Implement incremental
2426 AS-external-LSA in 16.6 of RFC2328.
2427
24282000-08-14 Matthew Grant <grantma@anathoth.gen.nz>
2429
2430 * ospf_interface.c (ospf_if_get_output_cost): Change cost
2431 calculation algorithm.
2432
2433 * ospf_packet (ospf_ls_upd): Fix problem of LSA retransmitting.
2434
24352000-08-11 Michael Rozhavsky <mike@nbase.co.il>
2436
2437 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix maxage remover for
2438 AS-external-LSAs.
2439
24402000-08-10 Toshiaki Takada <takada@zebra.org>
2441
2442 * ospfd.c (auto_cost_reference_bandwidth): New DEFUN added.
2443 `auto-cost reference-bandwidth' OSPF router command added.
2444
24452000-08-08 Gleb Natapov <gleb@nbase.co.il>
2446
2447 * ospf_routemap.c (ospf_route_map_update): New function added.
2448 Add route-map event hook.
2449
24502000-08-08 Toshiaki Takada <takada@zebra.org>
2451
2452 * ospf_zebra.c (ospf_distribute_check_connected): If redistribute
2453 prefix is connected route on OSPF enabled interface, suppress to
2454 announce it.
2455
24562000-08-08 Matthew Grant <grantma@anathoth.gen.nz>
2457
2458 * ospf_interface.c (ospf_if_get_output_cost):
2459 New function added. Handle bandwidth parameter for cost
2460 calculation.
2461
24622000-08-08 Michael Rozhavsky <mike@nbase.co.il>
2463
2464 * ospf_interface.c (interface_config_write): Show interface
2465 configuration regardless interface is down.
2466
2467 * ospf_ase.c (ospf_ase_caocluate_route): Whole rewritten external
2468 route calculate function.
2469
24702000-08-08 Gleb Natapov <gleb@nbase.co.il>
2471
2472 * ospf_routemap.c: New file added.
2473
2474 * ospf_asbr.c (ospf_reset_route_map_set_values),
2475 (ospf_route_map_set_compare): New function added.
2476
2477 * ospf_lsa.c (ospf_external_lsa_body_set): Set routemap metric
2478 with AS-external-LSA.
2479
24802000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2481
2482 * ospf_ase.c (ospf_ase_calculate_route_add): Pass new->cost to
2483 ospf_zebra_add as metric.
2484 (ospf_ase_calculate_route_add): Likewise.
2485
2486 * ospf_route.c (ospf_route_install): Pass or->cost to
2487 ospf_zebra_add as metric.
2488
2489 * ospf_zebra.c (ospf_zebra_add): Add metric arguemnt.
2490 (ospf_zebra_delete): Likewise.
2491
24922000-08-03 Matthew Grant <grantma@anathoth.gen.nz>
2493
2494 * ospf_flood.c (ospf_flood_delayed_lsa_ack): New function added.
2495 Dispatch delayed-ACK with flooding AS-external-LSA across virtual
2496 link.
2497
24982000-07-31 Matthew Grant <grantma@anathoth.gen.nz>
2499
2500 * ospfd.c (show_ip_ospf_area): Fix lack of VTY_NEWLINE when
2501 `show ip ospf'.
2502
2503 * ospf_interface.c (ospf_if_free): Fix bug of crash with
2504 Point-to-Point interface.
2505
25062000-07-27 Michael Rozhavsky <mike@nbase.co.il>
2507
2508 * ospf_flood.c (ospf_process_self_originated_lsa):
2509 Make sure to clear LSA->param (redistributed external information)
2510 before refreshment.
2511
25122000-07-27 Gleb Natapov <gleb@nbase.co.il>
2513
2514 * ospfd.c (refresh_group_limit), (refresh_per_slice),
2515 (refresh_age_diff): New defun added. Refresher related parameter
2516 can be configurable.
2517
25182000-07-27 Akihiro Mizutani <mizutani@dml.com>
2519
2520 * ospf_interface.c (interface_config_write): Print `description'
2521 config directive to work.
2522
25232000-07-24 Akihiro Mizutani <mizutani@dml.com>
2524
2525 * ospf_interface.c (ospf_if_init): Use install_default for
2526 INTERFACE_NODE.
2527
25282000-07-24 Gleb Natapov <gleb@nbase.co.il>
2529
2530 * ospf_packet.c (ospf_ls_upd_send_list), (ospf_ls_upd_send_event),
2531 (ospf_ls_ack_send_list), (ospf_ls_ack_send_event): New function added.
2532 This make sending always as many LS update/Ack combined in one ospf
2533 packet.
2534
25352000-07-24 Gleb Natapov <gleb@nbase.co.il>
2536
2537 * ospf_packet.c (ospf_ls_upd_list_lsa): Set NULL to lsa->area if
2538 LSA is AS-external-LSA.
2539
2540 * ospf_nsm.c (nsm_reset_nbr): Do not cancel Inactivity timer.
2541
25422000-07-21 Toshiaki Takada <takada@zebra.org>
2543
2544 * ospf_zebra.c (ospf_default_originate_timer): Set timer for
2545 `default-information originate'. Fix some default originate
2546 related functions.
2547
25482000-07-12 Toshiaki Takada <takada@zebra.org>
2549
2550 * ospf_lsa.c (stream_put_ospf_metric): New function added.
2551
25522000-07-12 Toshiaki Takada <takada@zebra.org>
2553
2554 * ospf_lsa.c (show_ip_ospf_database_router),
2555 (show_ip_ospf_database_network), (show_ip_ospf_database_summary),
2556 (show_ip_ospf_database_summary_asbr), (show_ip_ospf_database_externel),
2557 (show_router_lsa), (show_any_lsa), (show_router_lsa_self),
2558 (show_any_lsa_self): Functions removed.
2559
2560 (show_lsa_prefix_set), (show_lsa_detail_proc), (show_lsa_detail),
2561 (show_lsa_detail_adv_router_proc), (show_lsa_detail_adv_router):
2562 New functions added. Replace above functions.
2563
2564 (show_ip_ospf_database_all), (show_ip_ospf_database_self_originated):
2565 Functions removed.
2566 (show_ip_ospf_database_summary): New functions added. Replace
2567 above functions.
2568
2569 (show_ip_ospf_database_cmd): DEFUN rearranged.
2570 (show_ip_ospf_database_type_id_cmd),
2571 (show_ip_ospf_database_type_id_adv_router_cmd),
2572 (show_ip_ospf_database_type_is_self_cmd): New ALIASes added.
2573 (show_ip_ospf_database_type_adv_rotuer_cmd): New DEFUN added.
2574 (show_ip_ospf_database_type_self_cmd): New ALIAS added.
2575
25762000-07-11 Toshiaki Takada <takada@zebra.org>
2577
2578 * ospf_asbr.c (ospf_external_info_new),
2579 (ospf_external_info_free): New functions added.
2580
2581 * ospf_lsa.h (ospf_lsa): Add new member `void *param' to set
2582 origination parameter for external-LSA.
2583 Remove member `redistribute'.
2584
2585 * ospf_zebra.c (ospf_redistirbute_set): When `redistribute'
2586 command executed, metric and metric-type values are overridden.
2587 If one of those is changed refresh AS-external-LSAs for appropriate
2588 type.
2589
25902000-07-11 Michael Rozhavsky <mike@nbase.co.il>
2591
2592 * ospf_lsa.c (ospf_summary_lsa_refresh),
2593 (ospf_summary_asbr_lsa_refresh): Make sure to refresh summary-LSAs.
2594
2595 * ospf_abr.c (set_metric): New function added.
2596
25972000-07-07 Toshiaki Takada <takada@zebra.org>
2598
2599 * ospf_zebra.c (ospf_default_information_originate_metric_type),
2600 (ospf_default_information_originate_type_metric): New defun added.
2601 Metic and Metric type can be set to default route.
2602 (ospf_default_information_originate_always_metric_type):
2603 (ospf_default_information_originate_always_type_metric):
2604 New defun added. Metric and Metric type can be set to default
2605 always route.
2606
2607 * ospf_zebra.c (ospf_default_metric), (no_ospf_default_metric):
2608 New defun added.
2609
26102000-07-06 Gleb Natapov <gleb@nbase.co.il>
2611
2612 * ospf_flood.c (ospf_flood_through_area): Fix bug of considering
2613 on the same interface the LSA was received from.
2614
26152000-07-06 Michael Rozhavsky <mike@nbase.co.il>
2616
2617 * ospfd.c (ospf_config_write): Fix bug of printing `area stub'
2618 command with `write mem'.
2619
2620 * ospfd.c (no_router_ospf): Remove installed routes from zebra.
2621
2622 * ospf_zebra.c (ospf_interface_delete): Fix function to handle
2623 zebra interface delete event.
2624
26252000-07-06 Toshiaki Takada <takada@zebra.org>
2626
2627 * ospf_zebra.c (ospf_default_information_originate),
2628 (ospf_default_information_originate_always): New DEFUN added.
2629
26302000-07-05 Michael Rozhavsky <mike@nbase.co.il>
2631
2632 * ospf_route.c (ospf_terminate): Make sure to remove external route
2633 when SIGINT received.
2634
26352000-07-03 Gleb Natapov <gleb@nbase.co.il>
2636
2637 * ospf_flood.c, ospf_ism.c, ospf_lsa,c, ospfd.c: Make sure to free
2638 many structure with `no router ospf'.
2639
26402000-06-30 Gleb Natapov <gleb@nbase.co.il>
2641
2642 * ospf_neighbor.c (ospf_nbr_new),
2643 ospf_nsm.c (nsm_timer_set): Start LS update timer only
2644 when neighbor enters Exchange state.
2645
26462000-06-29 Gleb Natapov <gleb@nbase.co.il>
2647
2648 * ospf_nsm.c (nsm_timer_set), (nsm_exchange_done),
2649 ospf_packet.c (ospf_db_desc_proc):
2650 Do not cancel DD retransmit timer when Master.
2651
26522000-06-29 Gleb Natapov <gleb@nbase.co.il>
2653
2654 * ospf_abr.c (ospf_abr_announce_network_to_area),
2655 (ospf_abr_announce_rtr_to_area)
2656 ospf_ase.c (ospf_ase_rtrs_register_lsa),
2657 ospf_flood.c (ospf_process_self_originated_lsa),
2658 (ospf_flood_through_area), (ospf_ls_request_delete),
2659 ospf_interface.c (ospf_if_free),
2660 ospf_ism.c (ism_change_status),
2661 ospf_lsa.c (ospf_router_lsa_update_timer),
2662 (ospf_router_lsa_install), (ospf_network_lsa_install),
2663 (ospf_lsa_maxage_delete), (ospf_lsa_action),
2664 (ospf_schedule_lsa_flood_area),
2665 ospf_nsm.c (nsm_change_status),
2666 ospf_packet.c (ospf_make_ls_req_func), (ospf_make_ls_ack):
2667 Use ospf_lsa_{lock,unlock} for all looking-up of LSA.
2668
2669 * ospf_flood.c (ospf_ls_request_free): Function deleted.
2670
2671 * ospf_lsa.c (ospf_discard_from_db): New function added.
2672
26732000-06-26 Toshiaki Takada <takada@zebra.org>
2674
2675 * ospfd.h (ospf): struct member `external_lsa' name changed to
2676 `lsdb'.
2677
26782000-06-26 Toshiaki Takada <takada@zebra.org>
2679
2680 * ospf_lsa.c (ospf_lsa_install), (ospf_router_lsa_install),
2681 (ospf_network_lsa_install), (ospf_summary_lsa_install),
2682 (ospf_summary_asbr_lsa_install), (ospf_external_lsa_install):
2683 Functions re-arranged.
2684
2685 * ospf_lsa.c (IS_LSA_MAXAGE), (IS_LSA_SELF): Macro added.
2686
26872000-06-20 Michael Rozhavsky <mike@nbase.co.il>
2688
2689 * ospf_packet.c (ospf_ls_req), (ospf_ls_upd), (ospf_ls_ack): Add
2690 verification of LS type.
2691
26922000-06-20 Gleb Natapov <gleb@nbase.co.il>
2693
2694 * ospf_ase.c (ospf_ase_calculate_timer): Add more sanity check
2695 whether rn->info is NULL.
2696
26972000-06-20 Toshiaki Takada <takada@zebra.org>
2698
2699 * ospfd.c (show_ip_ospf_interface_sub): Show Router-ID of both
2700 DR and Backup correctly with `show ip ospf interface' command.
2701
27022000-06-20 Toshiaki Takada <takada@zebra.org>
2703
2704 * ospf_lsa.c (ospf_lsa_lock), (ospf_lsa_unlock),
2705 (ospf_lsa_discard): These functions are used for avoiding
2706 unexpected reference to freed LSAs.
2707
27082000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2709
2710 * ospf_packet.c (ospf_ls_upd): Initialize lsa by NULL to avoid
2711 warning.
2712
27132000-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2714
2715 * ospf_ase.h (ospf_ase_rtrs_register_lsa): Add prototype.
2716
27172000-06-12 Toshiaki Takada <takada@zebra.org>
2718
2719 * ospf_lsa.c (ospf_external_lsa_install): Make sure to register
2720 LSA to rtrs_external when replacing AS-external-LSAs in LSDB.
2721 Fix core dump.
2722
27232000-06-10 Toshiaki Takada <takada@zebra.org>
2724
2725 * ospf_lsdb.c (id_to_prefix), (ospf_lsdb_hash_key),
2726 (ospf_lsdb_hash_cmp), (ospf_lsdb_new), (ospf_lsdb_iterator),
2727 (lsdb_free), (ospf_lsdb_free), (ospf_lsdb_add), (ospf_lsdb_delete),
2728 (find_lsa), (ospf_lsdb_lookup), (find_by_id),
2729 (ospf_lsdb_lookup_by_id), (ospf_lsdb_lookup_by_header): Functinos
2730 removed for migration to new_lsdb.
2731
2732 * ospf_lsa.c (ospf_summary_lsa_install),
2733 (ospf_summary_asbr_lsa_install), (ospf_maxage_lsa_remover),
2734 (ospf_lsa_maxage_walker), (ospf_lsa_lookup),
2735 (ospf_lsa_lookup_by_id): Use new_lsdb instead of ospf_lsdb.
2736 (count_lsa), (ospf_lsa_count_table), (ospf_lsa_count),
2737 (ospf_get_free_id_for_prefix): Funcitions removed.
2738
27392000-06-09 Gleb Natapov <gleb@nbase.co.il>
2740
2741 * ospf_ism.c (ism_interface_down): Prevent some unneeded DR changes.
2742
2743 * ospf_packet.c (ospf_db_desc_proc): Fix memory leak.
2744 (ospf_hello): Always copy router-ID when hello is received.
2745
27462000-06-08 Gleb Natapov <gleb@nbase.co.il>
2747
2748 * ospf_lsa.h (struct ospf_lsa): Add member of pointer to struct
2749 ospf_area.
2750
27512000-06-08 Michael Rozhavsky <mike@nbase.co.il>
2752
2753 * ospf_ase.c (ospf_asbr_route_same): New function added.
2754 This function makes sure external route calculation more
2755 precisely.
2756
27572000-06-07 Michael Rozhavsky <mike@nbase.co.il>
2758
2759 * ospf_ism.c (ism_change_status): Use ospf_lsa_flush_area for
2760 network-LSA deletion instead of using ospf_lsdb_delete.
2761 Also cancel network-LSA origination timer.
2762
27632000-06-07 Levi Harper <lharper@kennedytech.com>
2764
2765 * ospf_interface.c (ospf_if_down): Close read fd when an interface
2766 goes down.
2767
27682000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2769
2770 * ospf_asbr.c (ospf_external_info_lookup): Add explicit brace for
2771 avoid ambiguous else.
2772
2773 * ospf_flood.c (ospf_external_info_check): Likewise.
2774
27752000-06-05 Toshiaki Takada <takada@zebra.org>
2776
2777 * ospf_nsm.c (nsm_adj_ok): Fix bug of DR election.
2778
27792000-06-04 Toshiaki Takada <takada@zebra.org>
2780
2781 * ospf_zebra.c (ospf_default_information_originate),
2782 (no_ospf_default_information_originate): New DEFUN added.
2783
27842000-06-03 Toshiaki Takada <takada@zebra.org>
2785
2786 * ospf_lsa.h, ospf_asbr.h (external_info): Struct moved from
2787 ospf_lsa.h to ospf_asbr.h.
2788
2789 * ospf_lsa.c, ospf_asbr.c (ospf_external_info_add),
2790 (ospf_external_info_delete): Function moved from ospf_lsa.c
2791 to ospf_asbr.c.
2792
27932000-06-03 Toshiaki Takada <takada@zebra.org>
2794
2795 * ospf_flood.c (ospf_external_info_check): New function added.
2796 (ospf_process_self_orignated_lsa): Make sure to flush
2797 self-originated AS-external-LSA, when router reboot and no longer
2798 originate those AS-external-LSA.
2799
28002000-06-02 Toshiaki Takada <takada@zebra.org>
2801
2802 * ospf_network.c (ospf_serv_sock): Remove SO_DONTROUTE
2803 socket option.
2804
2805 * ospf_packet.c (ospf_write): Set MSG_DONTROUTE flag for
2806 unicast destination packets.
2807
28082000-06-02 Toshiaki Takada <takada@zebra.org>
2809
2810 * ospf_lsdb.c (new_lsdb_delete): Delete entry from LSDB only when
2811 specified LSA matches.
2812
28132000-06-02 Gleb Natapov <gleb@nbase.co.il>
2814
2815 * ospf_network.c (ospf_serv_sock): Set SO_DONTROUTE
2816 socket option.
2817
28182000-06-01 Akihiro Mizutani <mizutani@dml.com>
2819
2820 * ospf_dump.c: Replace string `Debugging functions\n' with DEBUG_STR.
2821 Replace string `OSPF information\n' with OSPF_STR.
2822
28232000-06-01 Toshiaki Takada <takada@zebra.org>
2824
2825 * ospf_lsdb.[ch]: Use new_lsdb struct for network-LSA instead of
2826 ospf_lsdb.
2827
28282000-06-01 Toshiaki Takada <takada@zebra.org>
2829
2830 * ospf_dump.c (config_debug_ospf_packet), (config_debug_ospf_event),
2831 (config_debug_ospf_ism), (config_debug_ospf_nsm),
2832 (config_debug_ospf_lsa), (config_debug_ospf_zebra),
2833 (term_debug_ospf_packet), (term_debug_ospf_event),
2834 (term_debug_ospf_ism), (term_debug_ospf_nsm),
2835 (term_debug_ospf_lsa), (term_debug_ospf_zebra): Repalce debug_ospf_*
2836 variable to use for debug option flags.
2837
2838 (debug_ospf_packet), (debug_ospf_ism), (debug_ospf_nsm),
2839 (debug_ospf_lsa), (debug_ospf_zebra): Set {config,term}_debug_*
2840 flags when vty->node is CONFIG_NODE, otherwise set only term_debug_*
2841 flags.
2842
2843 * ospf_dump.h (CONF_DEBUG_PACKET_ON), (CONF_DEBUG_PACKET_OFF),
2844 (TERM_DEBUG_PACKET_ON), (TERM_DEBUG_PACKET_OFF),
2845 (CONF_DEBUG_ON), (CONF_DEBUG_OFF), (IS_CONF_DEBUG_OSPF_PACKET),
2846 (IS_CONF_DEBUG_OSPF): New Macro added.
2847
28482000-05-31 Toshiaki Takada <takada@zebra.org>
2849
2850 * ospfd.c (clear_ip_ospf_neighbor): New DEFUN added.
2851 Currently this command is used for only debugging.
2852
2853 * ospf_nsm.c (nsm_change_status): Make sure thread cancellation
2854 for network-LSA when DR has no full neighbors.
2855
2856 * ospf_nsm.c (ospf_db_summary_clear): New function added.
2857
28582000-05-30 Toshiaki Takada <takada@zebra.org>
2859
2860 * ospf_lsdb.c (new_lsdb_insert): LSAs are always freed by
2861 maxage_lsa_remover when LSA is replaced.
2862
28632000-05-25 Gleb Natapov <gleb@nbase.co.il>
2864
2865 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all): Add argument
2866 `struct ospf_area' to remove LSA from Link State retransmission list
2867 of neighbor from only one Area.
2868
28692000-05-24 Michael Rozhavsky <mike@nbase.co.il>
2870
2871 * ospf_lsdb.c (ospf_lsdb_add): Preserve flags field when
2872 overriting old LSA with new LSA.
2873
28742000-05-24 Gleb Natapov <gleb@nbase.co.il>
2875
2876 * ospf_lsa.c (ospf_router_lsa_body_set): Fix bug of router-LSA
2877 size calculation.
2878
28792000-05-22 Michael Rozhavsky <mike@nbase.co.il>
2880
2881 * ospf_route.c (ospf_intra_add_stub):
2882 * ospf_spf.h (struct vertex): Use u_int32_t for distance (cost)
2883 value instead of u_int16_t.
2884
28852000-05-22 Axel Gerlach <agerlach@datus.datus.com>
2886
2887 * ospf_ia.c (ospf_ia_network_route): Fix bug of Inter-area route
2888 equal cost path calculation.
2889
28902000-05-21 Toshiaki Takada <takada@zebra.org>
2891
2892 * ospf_ase.c (ospf_ase_calculate_route_delete): New function added.
2893 Make sure, when rotuer route is deleted, related external routes
2894 are also deleted.
2895
28962000-05-20 Toshiaki Takada <takada@zebra.org>
2897
2898 * ospfd.c (ospf_interface_down): Make sure interface flag is disable
2899 and set fd to -1.
2900
29012000-05-16 Toshiaki Takada <takada@zebra.org>
2902
2903 * ospf_asbr.c (ospf_asbr_should_announce), (ospf_asbr_route_remove):
2904 Functions removed.
2905
2906 * ospfd.h (EXTERNAL_INFO): Macro added.
2907 Substitute `ospf_top->external_info[type]' with it.
2908
29092000-05-16 Toshiaki Takada <takada@zebra.org>
2910
2911 * ospf_lsa.c (ospf_rtrs_external_remove): New function added.
2912
29132000-05-14 Gleb Natapov <gleb@nbase.co.il>
2914
2915 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all)
2916 * ospf_lsdb.c (new_lsdb_insert)
2917 * ospf_packet.c (ospf_ls_ack): Fix database synchonization problem.
2918
29192000-05-14 Gleb Natapov <gleb@nbase.co.il>
2920
2921 * ospf_lsa.h (tv_adjust), (tv_ceil), (tv_floor), (int2tv),
2922 (tv_add), (tv_sub), (tv_cmp): Prototype definition added.
2923
2924 * ospf_nsm.h (ospf_db_summary_delete_all): Prototype definition added.
2925
29262000-05-13 Toshiaki Takada <takada@zebra.org>
2927
2928 * ospf_lsa.[ch] (ospf_lsa): struct timestamp type is changed from
2929 time_t to struct timeval.
2930 (tv_adjust), (tv_ceil), (tv_floor), (int2tv), (tv_add),
2931 (tv_sub), (tv_cmp): timeval utillity functions added.
2932
29332000-05-12 Toshiaki Takada <takada@zebra.org>
2934
2935 * ospf_lsa.[ch] (ospf_schedule_update_router_lsas): Delete function.
2936 Change to use macro OSPF_LSA_UPDATE_TIMER instead of using
2937 this function.
2938 router-LSA refresh timer related stuff is re-organized.
2939
29402000-05-10 Gleb Natapov <gleb@nbase.co.il>
2941
2942 * ospf_interface.c (ospf_vl_set_params):
2943 * ospf_packet.c (ospf_check_network_mask):
2944 * ospf_spf.[ch] (ospf_spf_next):
2945 Remove field address from `struct vertex', and search for peer
2946 address of virtual link in function `ospf_vl_set_params' instead.
2947
29482000-05-10 Gleb Natapov <gleb@nbase.co.il>
2949
2950 * ospf_packet.c (ospf_ls_upd): Fix some memory leak related LSA.
2951
29522000-05-08 Thomas Molkenbur <tmo@datus.com>
2953
2954 * ospf_packet.c (ospf_packet_dup): Replace ospf_steram_copy()
2955 with ospf_stream_dup() to fix memory leak.
2956
29572000-05-08 Michael Rozhavsky <mike@nbase.co.il>
2958
2959 * ospf_flood.c (ospf_flood_through_area): Fix the problem of
2960 LSA update without DROther.
2961
29622000-05-04 Gleb Natapov <gleb@nbase.co.il>
2963
2964 * ospf_spf.c (ospf_vertex_free): Fix memory leak of SPF calculation.
2965
29662000-05-03 Toshiaki Takada <takada@zebra.org>
2967
2968 * ospf_neighbor.c (ospf_db_summary_add): Use new_lsdb struct
2969 instead linked-list.
2970 (ospf_db_summary_count), (ospf_db_summary_isempty):
2971 New function added.
2972
2973 * ospf_lsa.c (ospf_rotuer_lsa): Re-arrange and divide functions.
2974
29752000-05-02 Gleb Natapov <gleb@nbase.co.il>
2976
2977 * ospf_lsdb.c (new_lsdb_cleanup): Fix memory leak. When LSDB are
2978 not needed any more, then free them.
2979
29802000-05-02 Toshiaki Takada <takada@zebra.org>
2981
2982 * ospfd.c (timers_spf), (no_timers_spf): New defun added.
2983 SPF calculation timers related stuff is rearranged.
2984
2985 * ospf_spf.c (ospf_spf_calculate_timer_add): Function removed.
2986 SPF timer is scheduled by SPF calculation delay and holdtime
2987 configuration variable.
2988
2989 * ospf_lsa.c (ospf_external_lsa_nexthop_get): Set AS-external-LSA's
2990 forwarding address when nexthop learned by other protocols is
2991 in the OSPF domain.
2992
2993 * ospf_zebra.c (ospf_redistribute_source_metric_type),
2994 (ospf_redistribute_source_type_metric): Re-arrange DEFUNs and
2995 ALIASes.
2996
29972000-05-01 Toshiaki Takada <takada@zebra.org>
2998
2999 * ospf_flood.c (ospf_ls_retransmit_count),
3000 (ospf_ls_retransmit_isempty): New function added.
3001
3002 (ospf_ls_retransmit_add), (ospf_ls_retransmit_delete),
3003 (ospf_ls_retransmit_clear), (ospf_ls_retransmit_lookup),
3004 (ospf_ls_retransmit_delete_all), (ospf_ls_retransmit_delete_nbr_all),
3005 (ospf_ls_retransmit_add_nbr_all): Replace these functions to use
3006 new_lsdb.
3007
30082000-04-29 Toshiaki Takada <takada@zebra.org>
3009
3010 * ospfd.c (no_network_area): Add check Area-ID whether specified
3011 Area-ID with prefix matches config.
3012
30132000-04-27 Toshiaki Takada <takada@zebra.org>
3014
3015 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix problem of
3016 remaining withdrawn routes on zebra.
3017
30182000-04-25 Michael Rozhavsky <mike@nbase.co.il>
3019
3020 * ospf_nsm.c (nsm_kill_nbr), (nsm_ll_down), (nsm_change_status),
3021 (ospf_nsm_event): Fix network-LSA re-origination problem.
3022
30232000-04-24 Toshiaki Takada <takada@zebra.org>
3024
3025 * ospf_nsm.c (ospf_db_desc_timer): Fix bug of segmentation fault
3026 with DD retransmission.
3027
3028 * ospf_nsm.c (nsm_kill_nbr): Fix bug of re-origination when
3029 a neighbor disappears.
3030
30312000-04-23 Michael Rozhavsky <mike@nbase.co.il>
3032
3033 * ospf_abr.c (ospf_abr_announce_network_to_area): Fix bug of
3034 summary-LSAs reorigination. Correctly copy OSPF_LSA_APPROVED
3035 flag to new LSA. when summary-LSA is reoriginatd.
3036
3037 * ospf_flood.c (ospf_flood_through_area): Fix bug of flooding
3038 procedure. Change the condition of interface selection.
3039
30402000-04-21 Toshiaki Takada <takada@zebra.org>
3041
3042 * ospf_lsa.c (ospf_refresher_register_lsa): Fix bug of refresh never
3043 occurs.
3044
3045 * ospfd.c (show_ip_ospf_neighbor_id): New defun added.
3046 `show ip ospf neighbor' related commands are re-arranged.
3047
30482000-04-20 Toshiaki Takada <takada@zebra.org>
3049
3050 * ospf_dump.c (debug_ospf_zebra): New defun added.
3051 Suppress zebra related debug information.
3052
30532000-04-19 Toshiaki Takada <takada@zebra.org>
3054
3055 * ospf_zebra.c (ospf_distribute_list_update_timer),
3056 (ospf_distribute_list_update), (ospf_filter_update):
3057 New function added. Re-organize `distribute-list' router ospf
3058 command.
3059
30602000-04-13 Michael Rozhavsky <mike@nbase.co.il>
3061
3062 * ospf_packet.c (ospf_make_ls_upd): Add check for MAX_AGE.
3063
30642000-04-14 Michael Rozhavsky <mike@nbase.co.il>
3065
3066 * ospf_packet.c (ospf_make_ls_upd): Increment LS age by configured
3067 interface transmit_delay.
3068
30692000-04-14 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3070
3071 * ospf_interface.c (ip_ospf_cost), (no_ip_ospf_cost):
3072 Add to schedule router_lsa origination when the interface cost changes.
3073
30742000-04-12 Toshiaki Takada <takada@zebra.org>
3075
3076 * ospf_lsa.c (ospf_refresher_register_lsa),
3077 (ospf_refresher_unregister_lsa): Fix bug of core dumped.
3078
3079 * ospfd.c (no_router_ospf): Fix bug of core dumped.
3080
30812000-03-29 Toshiaki Takada <takada@zebra.org>
3082
3083 * ospf_nsm.c (nsm_oneway_received): Fix bug of MS flag unset.
3084
30852000-03-29 Michael Rozhavsky <mike@nbase.co.il>
3086
3087 * ospf_lsa.c (ospf_network_lsa):
3088 * ospf_nsm.c (ospf_nsm_event): Fix bug of Network-LSA originated
3089 in stub network.
3090
30912000-03-28 Toshiaki Takada <takada@zebra.org>
3092
3093 * ospf_nsm.c (nsm_bad_ls_req), (nsm_seq_number_mismatch),
3094 (nsm_oneway_received): Fix bug of NSM state flapping between
3095 ExStart and Exchange.
3096
30972000-03-28 Toshiaki Takada <takada@zebra.org>
3098
3099 * ospf_packet.h (strcut ospf_header): Fix the size of ospf_header,
3100 change u_int8_t to u_char.
3101
31022000-03-27 Toshiaki Takada <takada@zebra.org>
3103
3104 * ospf_lsa.c (ospf_lsa_checksum): Take care of BIGENDIAN architecture.
3105
31062000-03-27 Toshiaki Takada <takada@zebra.org>
3107
3108 * ospfd.c (ospf_interface_run): Make sure Address family matches.
3109
31102000-03-26 Love <lha@s3.kth.se>
3111
3112 * ospf_packet.c (ospf_write): Chack result of sendto().
3113
31142000-03-26 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3115
3116 * ospf_nsm.c (nsm_oneway_received): Fix bug of 1-WayReceived in NSM.
3117
31182000-03-23 Libor Pechacek <farco@clnet.cz>
3119
3120 * ospf_lsa.c (ospf_network_lsa)
3121 * ospf_lsdb.c (new_lsdb_insert): Fix bug of accessing to
3122 unallocated memory.
3123
31242000-03-23 Toshiaki Takada <takada@zebra.org>
3125
3126 * ospfd.c (ospf_config_write): Fix bug of duplicate line for
3127 `area A.B.C.D authentication'.
3128
31292000-03-22 Toshiaki Takada <takada@zebra.org>
3130
3131 * ospf_debug.c (debug_ospf_lsa), (no_debug_ospf_lsa): Defun added.
3132 Suppress all zlog related to LSAs with this config option.
3133
31342000-03-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3135
3136 * ospf_nsm.c (ospf_nsm_event): Add check for NSM_InactivityTimer.
3137
31382000-03-21 Toshiaki Takada <takada@zebra.org>
3139
3140 * ospf_packet.c (ospf_ls_upd_timer), (ospf_ls_req):
3141 Fix bug of memory leak about linklist.
3142
3143 * ospf_flood.c (ospf_flood_through_area): Likewise.
3144
31452000-03-18 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3146
3147 * ospf_flood.c (ospf_ls_retransmit_lookup): Add checksum comparison
3148 to identify LSA uniquely. This fix routes lost.
3149
31502000-03-18 Toshiaki Takada <takada@zebra.org>
3151
3152 * ospf_ase.c (ospf_find_asbr_route): Add sanity check with router
3153 routing table.
3154
31552000-03-17 Alex Zinin <zinin@amt.ru>
3156
3157 * ospf_spf.[ch]: Bug fix.
3158 The 2nd stage of Dijkstra could consider one vertex
3159 more than once if there is more than one link
3160 between the routers, thus adding extra CPU overhead
3161 and extra next-hops.
3162 Fixed.
3163
31642000-03-15 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3165
3166 * ospf_nsm.c (nsm_inactivity_timer): Changed to call nsm_kill_nbr().
3167
31682000-03-14 Toshiaki Takada <takada@zebra.org>
3169
3170 * ospf_route.c (ospf_route_copy_nexthops): Fix bug of memory leak of
3171 ospf_path. Actually ignore merging ospf_route with completely same
3172 paths.
3173
31742000-03-12 Toshiaki Takada <takada@zebra.org>
3175
3176 * ospf_lsa.c (show_as_external_lsa_detail): fix bug of
3177 external route tag byte order.
3178
31792000-03-11 Toshiaki Takada <takada@zebra.org>
3180
3181 * ospf_lsdb.c (ospf_lsdb_insert): New function added.
3182
31832000-03-09 Toshiaki Takada <takada@zebra.org>
3184
3185 * ospf_lsa.c (ospf_external_lsa_install),
3186 (ospf_lsa_lookup), (show_ip_ospf_database_all),
3187 (show_ip_ospf_database_self_originate): Use struct new_lsdb for
3188 LSDB of AS-external-LSAs instead of ospf_lsdb.
3189
3190 * ospf_lsa.c (ospf_lsa_unique_id): New function added.
3191 Use for assigning Unique Link State ID instead of
3192 ospf_get_free_id_for_prefix().
3193
31942000-03-09 Toshiaki Takada <takada@zebra.org>
3195
3196 * ospf_ase.c (ospf_ase_calculate_timer): Fix bug of segmentation
3197 fault reported by George Bonser <george@siteROCK.com>.
3198
31992000-03-07 Libor Pechacek <farco@clnet.cz>
3200
3201 * ospfd.c (ospf_interface_down): Fix bug of segmentation fault.
3202
32032000-03-06 Toshiaki Takada <takada@zebra.org>
3204
3205 * ospf_route.c (ospf_route_cmp): Change meaning of return values.
3206
32072000-03-02 Alex Zinin <zinin@amt.ru>
3208 * ospfd.h, ospf_ia.h
3209 New Shortcut ABR code. Now area's flag can be configured
3210 with Default, Enable, and Disable values.
3211 More info will be in the new ver of I-D soon (see IETF web).
3212
32132000-02-25 Toshiaki Takada <takada@zebra.org>
3214
3215 * ospf_lsa.c (ospf_lsa_header_set), (ospf_external_lsa_body_set),
3216 (osfp_external_lsa_originate), (ospf_external_lsa_queue),
3217 (ospf_external_lsa_originate_from_queue): New function added.
3218 (ospf_external_lsa): Function removed.
3219
3220 * ospf_zebra.c (ospf_zebra_read_ipv4): Originate AS-external-LSA
3221 when listen a route from Zebra, instead creating external route.
3222
3223 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
3224 (ospf_asbr_route_add_queue_lsa),
3225 (ospf_asbr_route_install_lsa), (ospf_asbr_route_add):
3226 Functions removed.
3227
3228 * ospf_ase.c (process_ase_lsa): Function will not be used.
3229 (ospf_ase_calculate), (ospf_ase_calculate_route_add),
3230 (ospf_ase_calculate_new_route), (ospf_ase_caluculate_asbr_route):
3231 process_ase_lsa () is separated to these functions.
3232
3233 OSPF AS-external-LSA origination is whole re-organized.
3234
32352000-02-18 Toshiaki Takada <takada@zebra.org>
3236
3237 * ospf_packet.c (ospf_ls_upd): Fix bug of OSPF LSA memory leak.
3238
3239 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
3240 (ospf_asbr_route_add_queue_lsa): Fix bug of OSPF external route
3241 memory leak.
3242
32432000-02-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3244
3245 * ospf_asbr.c (ospf_asbr_route_install_lsa): Re-calculate LSA
3246 checksum after change Advertised Router field.
3247
32482000-02-09 Toshiaki Takada <takada@zebra.org>
3249
3250 * ospf_asbr.c (ospf_external_route_lookup): Add new function.
3251
32522000-02-08 Toshiaki Takada <takada@zebra.org>
3253
3254 * ospfd.c (ospf_router_id_get), (ospf_router_id_update),
3255 (ospf_router_id_update_timer): Router ID decision algorithm is changed.
3256 Router ID is chosen from all of eligible interface addresses even if
3257 it is not enable to OSPF.
3258
32592000-02-08 Toshiaki Takada <takada@zebra.org>
3260
3261 * ospf_asbr.c (ospf_asbr_route_add): Function divided to
3262 ospf_asbr_route_add_flood_lsa, ospf_asbr_route_add_queue_lsa and
3263 ospf_asbr_route_install_lsa. If Router-ID is not set, then LSA is
3264 waited to install to LSDB.
3265 `0.0.0.0 adv_router' AS-external-LSA origination bug was fixed.
3266
32672000-02-01 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3268
3269 * ospf_flood.c (ospf_ls_retransmit_lookup): Compare LS seqnum
3270 in the ACK before deleting.
3271
3272 * ospf_packet.c (ospf_hello): Reset the flags after a shutdown
3273 and no shutdown of the interface.
3274
32752000-01-31 Toshiaki Takada <takada@zebra.org>
3276
3277 * ospf_packet.c (ospf_ls_req): Send multiple Link State Update
3278 packets respond to a Link State Request packet.
3279
3280 * ospfd.c (show_ip_ospf_neighbor_detail_sub): Show thread state.
3281
3282 * ospf_interface.c (ospf_vl_new): Crash when backbone area
3283 is not configured and set virtual-link to no-backbone area,
3284 bug fixed.
3285
32862000-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3287
3288 * ospf_neighbor.h (struct ospf_neighbor): Add pointer to last send
3289 LS Request LSA.
3290
3291 * ospf_packet.c (ospf_ls_upd): Comment out LS request list
3292 treatment. That should be done in OSPF flooding procedure.
3293
3294 * ospf_flood.c (ospf_flood_through_area): Enclose
3295 ospf_check_nbr_loding inside if-else close.
3296
32972000-01-31 Toshiaki Takada <takada@zebra.org>
3298
3299 * ospf_packet.c (ospf_make_ls_upd): Fix bug of #LSAs counting.
3300
33012000-01-29 Toshiaki Takada <takada@zebra.org>
3302
3303 * ospf_packet.c (ospf_make_md5_digest): Fix bug of md5 authentication.
3304
33052000-01-28 Toshiaki Takada <takada@zebra.org>
3306
3307 * ospfd.c (show_ip_ospf): Show Number of ASE-LSAs.
3308
33092000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3310
3311 * ospf_packet.c (ospf_make_db_desc): Don't use rm_list for
3312 removing LSA from nbr->db_summary.
3313
33142000-01-27 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3315
3316 * ospf_packet.c (ospf_ls_upd_send): Set AllSPFRouters to
3317 destination when the link is point-to-point.
3318 (ospf_ls_ack_send_delayed): Likewise.
3319
33202000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3321
3322 * ospf_flood.c (ospf_ls_request_delete_all): Fix bug of next
3323 pointer lookup after the node is freed.
3324
33252000-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3326
3327 * ospf_asbr.c (ospf_asbr_route_add): Instead of scanning all AS
3328 external route, use ospf_top->external_self.
3329
33302000-01-27 Toshiaki Takada <takada@zebra.org>
3331
3332 * ospf_lsa.c (ospf_forward_address_get): New function added.
3333
3334 * ospf_asbr.c (ospf_asbr_check_lsas): Originate AS-external-LSA
3335 only when it should be replaced.
3336
33372000-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3338
3339 * ospf_flood.c (ospf_ls_retransmit_clear): Delete list node.
3340
3341 * ospf_lsa.c (ospf_lsa_free): Reduce logging message using
3342 ospf_zlog value.
3343
3344 * ospf_ism.c (ism_change_status): Fix bug of DR -> non DR status
3345 change. Self originated LSA is freed but not deleted from lsdb.
3346
33472000-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3348
3349 * ospf_ism.c (ism_interface_down): Don't use router_id for
3350 detecting self neighbor structure. Instead of that compare
3351 pointer itself.
3352
3353 * ospf_neighbor.c (ospf_nbr_free): Cancel all timer when neighbor
3354 is deleted.
3355 (ospf_nbr_free): Free last send packet.
3356
3357 * ospf_neighbor.h (struct ospf_neighbor): Remove host strucutre.
3358 Instead of that src is introduced.
3359
3360 * ospf_nsm.h: Enclose macro defenition with do {} while (0).
3361
33622000-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3363
3364 * ospfd.c: Change part of passive interface implementation. For
3365 passive interface just disabling sending/receiving Hello on the
3366 interface.
3367
33682000-01-16 Kai Bankett <kai.bankett@vew-telnet.net>
3369
3370 * ospf_interface.h (OSPF_IF_PASSIVE): Add passive flag.
3371 * ospf_interface.c (ospf_if_lookup_by_name): Add new function.
3372 * ospf_lsa.c (ospf_router_lsa): Skip passive interface.
3373 * ospfd.c (passive_interface): New command passive-interface is
3374 added.
3375 (ospf_config_write): Print passive interface.
3376
33772000-01-15 Toshiaki Takada <takada@zebra.org>
3378
3379 * ospf_interface.h (crypt_key): New struct added to store
3380 multiple cryptographic autheitication keys.
3381 (ospf_interface): struct changed.
3382
3383 * ospf_interface.c: ospf_crypt_key_new, ospf_crypt_key_add,
3384 ospf_crypt_key_lookup, ospf_crypt_key_delete: new functions added.
3385
3386 * ospf_packet.c (ip_ospf_message_digest_key): Changed to store
3387 multiple cryptographic authentication keys.
3388
33892000-01-14 Toshiaki Takada <takada@zebra.org>
3390
3391 * ospf_interface.c: DEFUN (if_ospf_*) commands changed name to
3392 ip_ospf_* ().
3393 Old notation `ospf *' still remains backward compatibility.
3394
33951999-12-29 Alex Zinin <zinin@amt.ru>
3396 * ospf_lsa.c: ospf_lsa_more_recent() bug fix
3397 * ospf_nsm.c, ospf_packet.c: remove nbr data struct when
3398 int goes down, also check DD flags correctly (bug fix)
3399
34001999-12-28 Alex Zinin <zinin@amt.ru>
3401 * "redistribute <source> metric-type (1|2) metric <XXX>" added
3402
34031999-12-23 Alex Zinin <zinin@amt.ru>
3404 * added RFC1583Compatibility flag
3405 * added dynamic interface up/down functionality
3406
34071999-11-19 Toshiaki Takada <takada@zebra.org>
3408
3409 * ospf_neighbor.h (struct ospf_neighbor): Add member state_change
3410 for NSM state change statistics.
3411
34121999-11-19 Toshiaki Takada <takada@zebra.org>
3413
3414 * ospfd.c (show_ip_ospf_neighbor_detail),
3415 (show_ip_ospf_neighbor_int_detail): DEFUN Added.
3416
34171999-11-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3418
3419 * ospf_asbr.c (ospf_asbr_check_lsas): Add check of
3420 lsa->refresh_list.
3421
34221999-11-11 Toshiaki Takada <takada@zebra.org>
3423
3424 * ospf_ia.[ch] (OSPF_EXAMINE_SUMMARIES_ALL): Macro added.
3425 This macro is expanded to ospf_examine_summaries ()
3426 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3427 (OSPF_EXAMINE_TRANSIT_SUMMARIES_ALL): Macro added.
3428 This macro is expanded to ospf_examine_transit_summaries ()
3429 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3430
34311999-11-11 Toshiaki Takada <takada@zebra.org>
3432
3433 * ospf_lsa.[ch] (ospf_find_self_summary_lsa_by_prefix): Changed to
3434 macro OSPF_SUMMARY_LSA_SELF_FIND_BY_PREFIX.
3435 (ospf_find_self_summary_asbr_lsa_by_prefix): Changed to
3436 macro OSPF_SUMMARY_ASBR_LSA_SELF_FIND_BY_PREFIX.
3437 (ospf_find_self_external_lsa_by_prefix): Changed to
3438 macro OSPF_EXTERNAL_LSA_SELF_FIND_BY_PREFIX.
3439
34401999-11-11 Toshiaki Takada <takada@zebra.org>
3441
3442 * ospfd.c (ospf_abr_type): ospf_abr_type_cisco, ospf_abr_type_ibm,
3443 ospf_abr_type_shortcut and ospf_abr_type_standard DEFUNs are
3444 combined.
3445 * ospfd.c (no_ospf_abr_type): no_ospf_abr_type_cisco,
3446 no_ospf_abr_type_ibm and no_ospf_abr_type_shortcut DEFUNS are
3447 combined.
3448
34491999-11-10 Toshiaki Takada <takada@zebra.org>
3450
3451 * ospf_route.c (ospf_lookup_int_by_prefix): Move function to
3452 ospf_interface.c and change name to ospf_if_lookup_by_prefix ().
3453
34541999-11-01 Alex Zinin <zinin@amt.ru>
3455 * ospf_packet.c
3456 some correction to LSU processing
3457
3458 * ospf_lsa.c ospfd.h
3459 randomize initial LSA refreshment interval
3460 and limit the size of LSA-group to 10
3461 to let randomization work more effectively.
3462
34631999-10-31 Alex Zinin <zinin@amt.ru>
3464 * ospf_interface.c
3465 cancel t_network_lsa_self
3466 when freeing int structure
3467
3468 * ospf_abr.c ospf_asbr.c ospf_flood.c ospf_lsa.c
3469 ospf_lsa.h ospf_lsdb.h ospfd.c ospfd.h
3470
3471 Summary and ASE LSA refreshment functions
3472 added---LSA refreshment is paced to 70 LSAs
3473 per sec to avoid link overflow. Refreshment events
3474 are further randomized within a 10 sec interval
3475 to avoid syncing.
3476
3477 Also the sigfault of memcmp() in ospf_lsa_is_different()
3478 is fixed.
3479
34801999-10-30 Alex Zinin <zinin@amt.ru>
3481 * ospf_nsm.c
3482 Fix the bug where MAX_AGE LSAs
3483 are included into the DB summary.
3484
3485 * ospf_interface.c
3486 allocate 2*MTU input buffer instead of just MTU
3487 for the cases when the other router mistakenly
3488 sends larger packets thus causing fragmentation, etc.
3489
3490 * ospf_nsm.c
3491 in nsm_reset_nbr() lists should be freed
3492 not when they are empty.
3493
34941999-10-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3495
3496 * ospf_zebra.c (ospf_acl_hook): Move OSPF_IS_ASBR and OSPF_IS_ABR
3497 check inside of if (ospf_top).
3498
34991999-10-29 Alex Zinin <zinin@amt.ru>
3500 * ospf_lsa.c ospf_lsdb.c :
3501 add assertion in lsa and lsa->data alloc functions,
3502 as well as in lsdb_add for new->data
3503
3504 * ospf_lsdb.c: free hash table correctly
3505
35061999-10-28 John Capo <jc@irbs.com>
3507
3508 * ospf_packet.h (OSPF_PACKET_MAX): Correct MAX packet length
3509 calculation
3510
35111999-10-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3512
3513 * OSPF-TRAP-MIB.txt: New file added. Edited version of RFC1850.
3514
3515 * OSPF-MIB.txt: New file added. Edited version of RFC1850.
3516
35171999-10-27 Alex Zinin <zinin@amt.ru>
3518 * ospfd, ospf_zebra, ospf_abr
3519 "area import-list" command is added.
3520 This command allows to filter the inter-area routes
3521 injected into an area. Access list hook function
3522 extended to invalidate area exp/imp lists.
3523
35241999-10-25 Yoshinobu Inoue <shin@nd.net.fujitsu.co.jp>
3525
3526 * ospfd.c (ospf_interface_run): Enable to detect P2P network
3527 on an OSPF interface.
3528
35291999-10-19 Jordan Mendelson <jordy@wserv.com>
3530
3531 * ospf_lsdb.c (ospf_lsdb_add): Fix bug of crash
3532 in ospf_ls_retransmit_lookup ().
3533
35341999-10-19 Vladimir B. Grebenschikov <vova@express.ru>
3535
3536 * ospf_route.c: Workaround about installation of OSPF routes into
3537 the zebra daemon. Add checking of existance routes. Free
3538 ospf_top->old_table if it exists.
3539
35401999-10-15 Jordan Mendelson <jordy@wserv.com>
3541
3542 * Add support for MD5 authentication.
3543
35441999-10-12 Alex Zinin <zinin@amt.ru>
3545 * ospfd.c, ospfd.h, ospf_abr.c:
3546 a new command "area export-list" was added, it allows
3547 the admin. to control which intra-area routes are
3548 announced to other areas by the ABR
3549
35501999-10-12 Alex Zinin <zinin@amt.ru>
3551 * ospf_asbr.c (ospf_asbr_check_lsas): Fix bug of coredump
3552 when "no redistribute" is used after a distribute list
3553 denying some networks was used
3554
35551999-10-05 Toshiaki Takada <takada@zebra.org>
3556
3557 * ospf_route.c (ospf_path_dup): New function added.
3558
35591999-10-05 Toshiaki Takada <takada@zebra.org>
3560
3561 * ospf_interface.[ch]: Some of VL related funciton name changed.
3562
35631999-09-27 Alex Zinin <zinin@amt.ru>
3564
3565 * ospf_zebra.c: Distribute-list functionality added
3566
35671999-09-27 Toshiaki Takada <takada@zebra.org>
3568
3569 * ospfd.c (show_ip_ospf): Fix bug of segmentation fault when no ospf
3570 instance exists.
3571
35721999-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3573
3574 * ospfd.c (ospf_interface_down): Fix bug of misusing nextnode()
3575 instead of node->next. Reported by Hiroki Ishibashi
3576 <ishibasi@dcd.abk.nec.co.jp>.
3577
3578 * ospf_route.c (show_ip_ospf_route): Add check for ospf is enabled
3579 or not.
3580
35811999-09-23 Alex Zinin <zinin@amt.ru>
3582
3583 * stub area support added
3584
35851999-09-23 Alex Zinin <zinin@amt.ru>
3586
3587 * fwd_addr in ASE-LSAs is now set correctly
3588 * ASE routing changed to check the fwd_addr
3589 and skip the route if the addr points to one
3590 of our interfaces to avoid loops.
3591
35921999-09-22 Alex Zinin <zinin@amt.ru>
3593
3594 * ospf_interface:
3595 ospf_vls_in_area() added, it returns
3596 the number of VLs configured through the area
3597
3598 * ospf_interface.c ospf_lsa.c ospf_lsdb.c ospfd.c
3599 honor correct mem alloc
3600
36011999-09-22 Alex Zinin <zinin@amt.ru>
3602
3603 * memory.[ch]:
3604 Some OSPF mem types added,
3605 plus more info in "show mem"
3606
36071999-09-21 Alex Zinin <zinin@amt.ru>
3608
3609 * ospfd.c:
3610 "area range substitute" added.
3611 It can be used on NAT-enabled (IP-masquarade)
3612 routers to announce private networks
3613 from an area as public ones into the outside
3614 world (not in the RFC, btw :)
3615
36161999-09-21 Alex Zinin <zinin@amt.ru>
3617
3618 * ospfd.c:
3619 "area range suppress" added.
3620 This command allows to instruct the router
3621 to be silent about specific ranges, i.e.,
3622 it is a method of route filtering on area
3623 borders
3624
36251999-09-21 Alex Zinin <zinin@amt.ru>
3626
3627 * ospfd.c VLs removed when "no network area" executed
3628
36291999-09-20 Alex Zinin <zinin@amt.ru>
3630
3631 * ospf_ase.c bug fix for not-zero fwd_addr
3632 and directly connected routes.
3633
36341999-09-20 Yon Uriarte <yon@plannet.de>
3635
3636 * ospf_packet.c (ospf_make_ls_req): Introduce delta value for
3637 checking the length of OSPF packet exceeds MTU or not.
3638
3639 * ospf_lsa.c (ospf_lsa_different): Apply ntohs for checking
3640 l1->data->length.
3641
36421999-09-18 Alex Zinin <zinin@amt.ru>
3643
3644 * ospf_lsa.c bug fix for ospf_network_lsa() to
3645 include itself into the RID list
3646
36471999-09-10 Alex Zinin <zinin@amt.ru>
3648
3649 * Alternative ABR behaviors IBM/Cisco/Shortcut
3650 implemented
3651
36521999-09-10 Alex Zinin <zinin@amt.ru>
3653
3654 * router and network-LSA origination
3655 changed to honor MinLSInterval
3656
36571999-09-08 Alex Zinin <zinin@amt.ru>
3658
3659 * modified ABR behavior to honor VLs and transit
3660 areas
3661
36621999-09-07 Alex Zinin <zinin@amt.ru>
3663
3664 * completed VL functionality
3665
36661999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3667
3668 * ospf_asbr.c: New file.
3669 ospf_asbr.h: New file.
3670
3671 * ospf_zebra.c (ospf_redistribute_connected): Add redistribute
3672 related stuff.
3673
36741999-09-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3675
3676 * ospfd.h (OSPF_FLAG_VIRTUAL_LINK): Change OSPF_FLAG_VEND to
3677 OSPF_FLAG_VIRTUAL_LINK for comprehensiveness.
3678
36791999-09-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3680
3681 * ospf_spf.c (ospf_spf_register): Change name from
3682 ospf_spf_route_add() to ospf_spf_register().
3683 Include "ospfd/ospf_abr.h" for ospf_abr_task() prototype.
3684
36851999-09-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3686
3687 * ospf_lsa.c (ospf_external_lsa_install): Change to update
3688 lsa->data rather than install new one, when same id lsa is already
3689 installed.
3690
36911999-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3692
3693 * ospf_lsa.c (ospf_router_lsa_install): Return lsa value.
3694 (ospf_network_lsa_install): Likewise.
3695 (ospf_summary_lsa_install): Likewise.
3696 (ospf_summary_asbr_lsa_install): Likewise.
3697 (ospf_external_lsa_install): Likewise.
3698
3699 * ospf_spf.c (ospf_spf_calculate): Comment out debug function
3700 ospf_rtrs_print().
3701
37021999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3703
3704 * ospf_spf.c (ospf_rtrs_free): Add ospf_spf_calculate() for
3705 freeing rtrs.
3706
37071999-08-31 Toshiaki Takada <takada@zebra.org>
3708
3709 * ospf_lsa.c (show_ip_ospf_database_summary),
3710 (show_ip_ospf_database_summary_asbr),
3711 (show_ip_ospf_database_external): New function added.
3712 `show ip ospf database summary',
3713 `show ip ospf database asbr-summary'
3714 `show ip ospf database external' command can be used.
3715
3716 * ospf_lsa.c (ospf_lsa_count_table): New function added.
3717 (show_ip_ospf_database_all): show nothing if a type of LSA
3718 does not exist.
3719
37201999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3721
3722 * ospf_lsa.c (ospf_maxage_lsa_remover): Preserve next pointer when
3723 the node is deleted.
3724
37251999-08-31 Toshiaki Takada <takada@zebra.org>
3726
3727 * ospf_flood.c (ospf_ls_retransmit_lookup): change to return
3728 struct ospf_lsa *.
3729 (ospf_ls_request_new), (ospf_ls_request_free),
3730 (ospf_ls_request_add), (ospf_ls_request_delete),
3731 (ospf_ls_request_delete_all), (ospf_ls_request_lookup):
3732 New function added.
3733
3734 * ospf_packet.c (ospf_ls_upd_send_lsa): New function added.
3735
3736 * ospf_lsa.h (LS_AGE): Slightly change macro definition.
3737
3738 * ospf_lsa.c (ospf_lsa_more_recent), (ospf_lsa_diffrent):
3739 Use LS_AGE macro.
3740
37411999-08-30 Alex Zinin <zinin@amt.ru>
3742
3743 * ospfd.c
3744 fix a bug with area range config write
3745 added "show ip ospf" command, it will be enhanced later on
3746
37471999-08-30 Alex Zinin <zinin@amt.ru>
3748
3749 * ospf_lsa.c
3750 updated ospf_router_lsa() to honor flags (B-bit)
3751
37521999-08-30 Alex Zinin <zinin@amt.ru>
3753
3754 * ospf_abr.c
3755 wrote major functions implementing ABR activity
3756
37571999-08-30 Alex Zinin <zinin@amt.ru>
3758
3759 * ospf_ia.c ospf_route.c ospf_route.h
3760 fixed the bug with ospf_route.origin field.
3761 Now it holds pointer to lsa_header
3762
37631999-08-30 Alex Zinin <zinin@amt.ru>
3764
3765 * ospf_flood.c ospf_flood.h:
3766 transformed ospf_flood_if_select into ospf_flood_through_area()
3767 added new ospf_flood_if_select() and ospf_flood_through_as()
3768
37691999-08-30 Toshiaki Takada <takada@zebra.org>
3770
3771 * ospf_flood.[ch]: New file added.
3772
3773 * ospf_packet.c (ospf_lsa_flooding),
3774 (ospf_lsa_flooding_select_if): functions move to ospf_flood.c
3775
3776 * ospf_neighbor.c (ospf_put_lsa_on_retransm_list),
3777 (ospf_remove_lsa_from_retransm_list),
3778 (ospf_nbr_remove_all_lsas_from_retransm_list),
3779 (ospf_lsa_remove_from_ls_retransmit):
3780 (ospf_lsa_retransmit): functions move to
3781 ospf_flood.c, and change function's name:
3782
3783 ospf_put_lsa_on_retransm_list ()
3784 -> ospf_ls_retransmit_add ()
3785 ospf_remove_lsa_from_retransm_list ()
3786 -> ospf_ls_retransmit_delete ()
3787 ospf_nbr_remove_all_lsas_from_retransm_list ()
3788 -> ospf_ls_retransmit_clear ()
3789 ospf_lsa_remove_from_ls_retransmit ()
3790 -> ospf_ls_retransmit_delete_nbr_all ()
3791 ospf_lsa_retransmit ()
3792 -> ospf_ls_retransmit_add_nbr_all ()
3793
3794 * ospf_lsa.c (ospf_lsa_lookup_from_list): function move to
3795 ospf_flood.c, and change name to ospf_ls_retransmit_lookup ().
3796
37971999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3798
3799 * ospf_neighbor.c (ospf_nbr_lookup_by_addr): Use
3800 route_node_lookup() instead of route_node_get().
3801
3802 * ospf_packet.c (ospf_ls_upd): Temporary comment out (6) check.
3803
38041999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3805
3806 * ospf_route.c (ospf_lookup_int_by_prefix): Add check of
3807 oi->address.
3808
38091999-08-29 Alex Zinin <zinin@amt.ru>
3810 * ospf_lsa.c
3811 MaxAge LSA deletion functions added.
3812
38131999-08-29 Alex Zinin <zinin@amt.ru>
3814 * ospf_neighbor.c
3815 ospf_nbr_lookup_by_addr(): added route_unlock_node()
3816 when function returns NULL if (rn->info == NULL)
3817
38181999-08-29 Alex Zinin <zinin@amt.ru>
3819 * ospfd.c
3820 added a hack for area range deletion
3821
38221999-08-29 Alex Zinin <zinin@amt.ru>
3823 * ospf_lsa.h
3824 included lsdb field into struct ospf_lsa, to find
3825 LSDB easier when removing MaxAge LSAs.
3826
38271999-08-29 Alex Zinin <zinin@amt.ru>
3828 * ospf_lsa.c ospf_neighbor.c ospf_nsm.c
3829 ospf_packet.c changed to honor new retransmit list
3830 management functions
3831
38321999-08-29 Alex Zinin <zinin@amt.ru>
3833 * ospf_neighbor.c , .h added new retransmit list functions.
3834
38351999-08-29 Alex Zinin <zinin@amt.ru>
3836 * Makefile.in
3837 added ospf_ase, ospf_abr, ospf_ia
3838
38391999-08-29 Alex Zinin <zinin@amt.ru>
3840 * ospf_spf.c:
3841 - changed ospf_next_hop_calculation() to include interface
3842 and nexthop addr for directly connected routers---more informative
3843 and solves problem with route installation into the kernel
3844 - changed ospf_nexthop_out_if_addr() to support routers, not only
3845 transit networks
3846 - added ospf_process_stubs();
3847
38481999-08-29 Alex Zinin <zinin@amt.ru>
3849 * ospf_lsa.c:
3850 - changed ospf_router_lsa() to provide correct links
3851 for p-t-p interfaces;
3852 - changed ospf_summary_lsa_install() to support table
3853 of self-originated summary-LSAs;
3854 - added ospf_summary_asbr_lsa_install() and ospf_external_lsa_install()
3855 - changed ospf_lsa_install() accordingly
3856 - changed show_ip_ospf_database_router_links() to support p-t-p
3857
38581999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3859
3860 * ospf_packet.c (ospf_make_db_desc): Only master can clear more
3861 flag.
3862
38631999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3864
3865 * ospf_packet.c (ospf_read): Add check of IP src address.
3866
38671999-08-28 Alex Zinin <zinin@amt.ru>
3868 * ospf_neighbor.h
3869 added ospf_nbr_lookup_by_routerid()
3870
38711999-08-28 Alex Zinin <zinin@amt.ru>
3872 * ospfd.h
3873 added ABR/ASBR flag definitions and fields;
3874 added iflist field to area structure;
3875 summary_lsa_self and summary_lsa_asbr_self are changed
3876 to be route tables;
3877 added ranges field---configured area ranges;
3878 A separate Routers RT added;
3879 area range config commands and config write added
3880
3881
38821999-08-28 Alex Zinin <zinin@amt.ru>
3883 * ospf_route.c :
3884 ospf_route_free()--added code to free the list of paths;
3885 The following functions added:
3886 ospf_intra_add_router();
3887 ospf_intra_add_transit();
3888 ospf_intra_add_stub();
3889 the last function uses new ospf_int_lookup_by_prefix();
3890 show_ip_ospf_route_cmd()--changed to support new RT structure;
3891 added ospf_cmp_routes()--general route comparision function;
3892 added ospf_route_copy_nexthops() and ospf_route_copy_nexthops_from_vertex()
3893 they are used in ASE and IA routing;
3894 added ospf_subst_route() and ospf_add_route();
3895
38961999-08-28 Alex Zinin <zinin@amt.ru>
3897 * ospf_route.h :
3898 changed struct ospf_path to include output interface,
3899 changed struct ospf_route to support IA and ASE routing.
3900 added prototypes of the function used in IA and ASE modules.
3901
39021999-08-28 Alex Zinin <zinin@amt.ru>
3903 * ospf_lsa.h ospf_lsa.c :
3904 added ospf_my_lsa(), an interface independent version of
3905 ospf_lsa_is_self_originated(), it will be used in ASE and IA-routing.
3906
39071999-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3908
3909 * ospf_interface.c (interface_config_write): Add check for
3910 oi->nbr_self.
3911
39121999-08-25 Toshiaki Takada <takada@zebra.org>
3913
3914 * ospf_lsa.c (ospf_lsa_dup): New function added.
3915
3916 * ospf_packet.c (ospf_write), (ospf_read): Print send/recv
3917 interface in debug message.
3918
39191999-08-25 Toshiaki Takada <takada@zebra.org>
3920
3921 * ospf_packet.c (ospf_ls_ack_send): The name is changed from
3922 `ospf_ls_ack_send'.
3923 (ospf_ls_ack_send_delayed) (ospf_ls_ack_timer): New function added.
3924 Delayed Link State Acknowledgment is scheduled by timer.
3925
39261999-08-25 Alex Zinin <zinin@amt.ru>
3927
3928 * ospf_lsa.c (ospf_router_lsa): Incorrectly included link to
3929 a stub network instead of link to a transit network into
3930 originated router-LSA, bug fixed.
3931
39321999-08-24 Toshiaki Takada <takada@zebra.org>
3933
3934 * ospfd.c (ospf_update_router_id): New function added.
3935
3936 * ospf_network.c (ospf_write): Create new socket per transmission.
3937 And select outgoing interface whether dst is unicast or multicast.
3938
3939 * ospf_packet.c: LSA flooding will work.
3940
39411999-08-24 VOP <vop@unity.net>
3942
3943 * ospf_route.c: Include "sockunion.h"
3944
39451999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3946
3947 * ospf_network.c (ospf_serv_sock_init): Enclose
3948 IPTOS_PREC_INTERNETCONTROL setting with #ifdef for OS which does
3949 not have the definition.
3950
39511999-08-23 Toshiaki Takada <takada@zebra.org>
3952
3953 * ospf_packet.c: Fix bug of DD processing.
3954
39551999-08-18 Toshiaki Takada <takada@zebra.org>
3956
3957 * ospf_lsa.c (show_ip_ospf_database): Show actual `LS age'.
3958
39591999-08-17 Toshiaki Takada <takada@zebra.org>
3960
3961 * ospf_lsa.h (OSPF_MAX_LSA): The value of OSPF_MAX_LSA is
3962 corrected. The bug of `mes_lookup' is fixed.
3963 This had been reported by Poul-Henning Kamp <phk@freebsd.org>.
3964
3965 * ospf_lsa.c (ospf_router_lsa_install): The name is changed from
3966 `ospf_add_router_lsa'.
3967 (ospf_network_lsa_install): The name is changed from
3968 `ospf_add_network_lsa'.
3969
3970 * ospf_interface.h (ospf_interface): Add member `nbr_self'.
3971
3972 * ospf_interface.c (ospf_if_is_enable): New function added.
3973
39741999-08-16 Toshiaki Takada <takada@zebra.org>
3975
3976 * ospf_lsa.h (struct lsa_header): The name is changed from
3977 `struct ospf_lsa'.
3978 (struct ospf_lsa): New struct added to control each LSA's aging
3979 and timers.
3980
3981 * ospf_lsa.c (ospf_lsa_data_free): The name is change from
3982 `ospf_lsa_free'.
3983 (ospf_lsa_data_new), (ospf_lsa_new), (ospf_lsa_free),
3984 (ospf_lsa_different), (ospf_lsa_install): New function added.
3985
3986 * ospf_packet.c (ospf_ls_upd_list_lsa): New function added.
3987
39881999-08-12 Toshiaki Takada <takada@zebra.org>
3989
3990 * ospf_nsm.c (nsm_reset_nbr): New function added.
3991 KillNbr and LLDown neighbor event call this function.
3992
39931999-08-10 Toshiaki Takada <takada@zebra.org>
3994
3995 * ospf_packet.c (ospf_ls_retransmit)
3996 (ospf_ls_upd_timer): New function added.
3997 Set retransmission timer for Link State Update.
3998
39991999-07-29 Toshiaki Takada <takada@zebra.org>
4000
4001 * ospf_ism.c (ospf_dr_election): Fix bug of DR election.
4002
40031999-07-28 Toshiaki Takada <takada@zebra.org>
4004
4005 * ospf_network.c (ospf_serv_sock_init): Set IP precedence field
4006 with IPTOS_PREC_INTERNET_CONTROL.
4007
4008 * ospf_nsm.c (nsm_change_status): Schedule NeighborChange event
4009 if NSM status change.
4010
4011 * ospf_packet.c (ospf_make_hello): Never include a neighbor in
4012 Hello packet, when the neighbor goes down.
4013
40141999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
4015
4016 * Makefile.am (noinst_HEADERS): Add ospf_route.h.
4017
4018 * ospf_route.c (show_ip_ospf_route): Add `show ip ospf route'
4019 command.
4020
40211999-07-25 Toshiaki Takada <takada@zebra.org>
4022
4023 * ospf_lsa.c (ospf_router_lsa): Fix bug of LS sequence number
4024 assignement.
4025
40261999-07-25 Kunihiro Ishiguro <kunihiro@zebra.org>
4027
4028 * ospf_route.c (ospf_route_table_free): New function added.
4029
4030 * ospf_spf.c (ospf_spf_next): Free vertex w when cw's and w's
4031 distance is same.
4032
4033 * ospfd.h (struct ospf): Add old_table.
4034
4035 * ospf_main.c (sighup): Call of log_rotate () removed.
4036
4037 * ospf_lsa.c (ospf_lsa_is_self_originated): Fix bug of checking
4038 area->lsa as self LSA. This should be area->lsa_self.
4039
40401999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
4041
4042 * ospf_zebra.c (ospf_zebra_add): ospf_zebra_add
4043 (),ospf_zebra_delete () added.
4044
4045 * ospf_spf.c (ospf_spf_calculate): Call ospf_intra_route_add ().
4046
40471999-07-24 Toshiaki Takada <takada@zebra.org>
4048
4049 * ospf_lsa.c: Change LS sequence number treatment.
4050 (ospf_lsa_is_self_originated): New function added.
4051 (show_ip_ospf_database_self_originated): New DEFUN added.
4052
40531999-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4054
4055 * ospf_interface.c (ospf_if_lookup_by_addr): Add loopback check.
4056
40571999-07-22 Toshiaki Takada <takada@zebra.org>
4058
4059 * ospf_spf.c (ospf_nexthop_new), (ospf_nexthop_free),
4060 (ospf_nexthop_dup): function added.
4061 (ospf_nexthop_calculation): function changed.
4062
4063 * ospf_interface.c (ospf_if_lookup_by_addr): function added.
4064
40651999-07-21 Toshiaki Takada <takada@zebra.org>
4066
4067 * ospf_spf.c (ospf_spf_closest_vertex): function removed.
4068
40691999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
4070
4071 * ospf_spf.c (ospf_spf_next): Apply ntohs for fetching metric.
4072
40731999-07-21 Toshiaki Takada <takada@zebra.org>
4074
4075 * ospf_neighbor.c (ospf_nbr_lookup_by_router_id): fundtion removed.
4076
4077 * ospf_lsa.c (show_ip_ospf_database_router): describe each
4078 connected link.
4079
40801999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
4081
4082 * ospf_spf.c (ospf_spf_next): V is router LSA or network LSA so
4083 change behavior according to LSA type.
4084 (ospf_lsa_has_link): Link check function is added.
4085
40861999-07-20 Kunihiro Ishiguro <kunihiro@zebra.org>
4087
4088 * ospf_spf.c (ospf_spf_calculate_schedule): Add new function for
4089 SPF calcultion schedule addtition.
4090 (ospf_spf_calculate_timer_add): Rough 30 sec interval SPF calc
4091 timer is added.
4092 (ospf_spf_next_router): Delete ospf_spf_next_network ().
4093
4094 * ospf_lsa.c (show_ip_ospf_database_all): Network-LSA display
4095 header typo correction. Display of router LSA's #link added.
4096
40971999-07-19 Toshiaki Takada <takada@zebra.org>
4098
4099 * ospf_packet.c (ospf_check_network_mask): Added new function for
4100 receiving Raw IP packet on an appropriate interface.
4101
41021999-07-16 Toshiaki Takada <takada@zebra.org>
4103
4104 * ospfd.c (ospf_router_id): new DEFUN added.
4105
41061999-07-15 Toshiaki Takada <takada@zebra.org>
4107
4108 * ospf_spf.c (ospf_spf_init), (ospf_spf_free),
4109 (ospf_spf_has_vertex), (ospf_vertex_lookup),
4110 (ospf_spf_next_router), (ospf_spf_next_network),
4111 (ospf_spf_closest_vertex), (ospf_spf_calculate):
4112 function added.
4113
41141999-07-13 Toshiaki Takada <takada@zebra.org>
4115
4116 * ospf_ism.c: fix bug of DR Election.
4117
4118 * ospf_nsm.c: fix bug of adjacency forming.
4119
41201999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
4121
4122 * ospfd.c (ospf_init): Change to use install_default.
4123
41241999-07-01 Rick Payne <rickp@rossfell.co.uk>
4125
4126 * ospf_zebra.c (zebra_init): Install standard commands to
4127 ZEBRA_NODE.
4128
41291999-06-30 Toshiaki Takada <takada@zebra.org>
4130
4131 * ospf_dump.c: Whole debug command is improved.
4132 (ISM|NSM) (events|status|timers) debug option added.
4133 (show_debugging_ospf): new DEFUN added.
4134
41351999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4136
4137 * ospf_lsa.c (ospf_lsa_lookup_from_list): Change !IPV4_ADDR_CMP to
4138 IPV4_ADDR_SAME.
4139
41401999-06-29 Toshiaki Takada <takada@zebra.org>
4141
4142 * ospf_dump.c (ospf_summary_lsa_dump): Add summary-LSA dump routine.
4143 (ospf_as_external_lsa_dump): Add AS-external-LSA dump routine.
4144
4145 * ospf_nsm.c (nsm_twoway_received): fix condtion of adjacnet.
4146
4147 * ospf_ism.c (ospf_dr_election): fix DR Election.
4148
4149 * ospf_dump.c (ospf_nbr_state_message): fix `show ip ospf neighbor'
4150 command's state.
4151
41521999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4153
4154 * ospf_dump.c (ospf_router_lsa_dump): Add router-LSA dump routine.
4155
41561999-06-28 Toshiaki Takada <takada@zebra.org>
4157
4158 * ospf_lsa.c (show_ip_ospf_database_network): fix bug of
4159 `show ip ospf database network' command output.
4160
4161 * ospf_nsm.c (nsm_inactivity_timer): Clear list of Link State
4162 Retransmission, Database Summary and Link State Request.
4163
4164 * ospf_packet.c (ospf_ls_req_timer): New function added.
4165 Set Link State Request retransmission timer.
4166
41671999-06-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4168
4169 * ospf_main.c (main): Change default output from ZLOG_SYSLOG to
4170 ZLOG_STDOUT.
4171
4172 * ospfd.c (ospf_init): Register show_ip_ospf_interface_cmd and
4173 show_ip_ospf_neighbor_cmd to VIEW_NODE.
4174
4175 * ospf_lsa.c (ospf_lsa_init): Register show_ip_ospf_database_cmd
4176 and show_ip_ospf_database_type_cmd to VIEW_NODE.
4177
41781999-06-25 Toshiaki Takada <takada@zebra.org>
4179
4180 * ospf_packet.c: fix bug of DD making.
4181 fix bug of LS-Update reading.
4182
41831999-06-23 Toshiaki Takada <takada@zebra.org>
4184
4185 * ospf_packet.c: All type of packets are changed to use
4186 fifo queue structure.
4187 (ospf_fill_header) function added.
4188
41891999-06-22 Toshiaki Takada <takada@zebra.org>
4190
4191 * ospf_packet.c (ospf_packet_new): New function added to handle
4192 sending ospf packet by fifo queue structure.
4193 (ospf_packet_free), (ospf_fifo_new), (ospf_fifo_push),
4194 (ospf_fifo_pop), (ospf_fifo_head), (ospf_fifo_flush),
4195 (ospf_fifo_free): Likewise.
4196
41971999-06-21 Toshiaki Takada <takada@zebra.org>
4198
4199 * ospf_nsm.c (ospf_db_desc_timer): function added.
4200 (nsm_timer_set) function added.
4201 * ospf_dump.c (ospf_option_dump): function added.
4202 * ospf_packet.c (ospf_ls_req) (ospf_make_ls_req): function added.
4203
42041999-06-20 Toshiaki Takada <takada@zebra.org>
4205
4206 * ospf_lsa.c (ospf_lsa_more_recent): function added.
4207 * ospf_neighbor.h (struct ospf_neighbor): Change member ms_flag
4208 to dd_flags.
4209
42101999-06-19 Toshiaki Takada <takada@zebra.org>
4211
4212 * ospf_lsa.c: DEFUN (show_ip_ospf_database) Added.
4213 * ospf_interface.c (if_ospf_cost), (if_ospf_dead_interval),
4214 (if_ospf_hello_interval), (if_ospf_priority),
4215 (if_ospf_retransmit_interval), (if_ospf_transmit_delay)
4216 argument changed from NUMBER to <range>.
4217 DEFUN (if_ospf_network_broadcast),
4218 DEFUN (if_ospf_network_non_broadcast),
4219 DEFUN (if_ospf_network_point_to_multipoint),
4220 DEFUN (if_ospf_network_point_to_point) functions are combined to
4221 DEFUN (if_ospf_network).
4222
42231999-06-18 Toshiaki Takada <takada@zebra.org>
4224
4225 * ospf_lsa.c: ospf_add_router_lsa (), ospf_add_network_lsa (),
4226 ospf_lsa_lookup (), ospf_lsa_count () Added.
4227
42281999-06-15 Toshiaki Takada <takada@zebra.org>
4229
4230 * DEFUN (ospf_debug_ism), DEFUN (ospf_debug_nsm),
4231 DEFUN (no_ospf_debug_ism), DEFUN (no_ospf_debug_nsm) Added.
4232 `debug ospf ism' command shows debug message.
4233 `debuf ospf nsm' command shows debug message.
4234
42351999-06-14 Toshiaki Takada <takada@zebra.org>
4236
4237 * ospf_lsa.c: ospf_network_lsa () Added.
4238 ospf_lsa_checksum () Added.
4239 * DEFUN (ospf_debug_packet), DEFUN (no_ospf_debug_packet) Added.
4240 `debug ospf packet' command shows debug message.
4241
42421999-06-13 Toshiaki Takada <takada@zebra.org>
4243
4244 * ospf_packet.h: Remove struct ospf_ls_req {}, ospf_ls_upd {},
4245 ospf_ls_ack {}.
4246
42471999-06-11 Toshiaki Takada <takada@zebra.org>
4248
4249 * ospf_dump.c: fix IP packet length treatment.
4250
42511999-06-10 Toshiaki Takada <takada@zebra.org>
4252
4253 * ospf_ism.h: Add OSPF_ISM_EVENT_EXECUTE() Macro Added.
4254 * ospf_nsm.h: Add OSPF_NSM_EVENT_EXECUTE() Macro Added.
4255
4256 * ospf_packet.c: ospf_db_desc (), ospf_db_desc_send () Added.
4257 ospf_make_hello (), ospf_make_db_desc () Added.
4258 ospf_db_desc_proc () Added.n
4259
4260 * Database Description packet can be processed.
4261
42621999-06-08 Toshiaki Takada <takada@zebra.org>
4263
4264 * ospf_lsa.c: New file.
4265
42661999-06-07 Toshiaki Takada <takada@zebra.org>
4267
4268 * ospf_neighbor.c: ospf_fully_adjacent_count () Added.
4269
42701999-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
4271
4272 * ospf_spf.[ch]: New file.
4273
42741999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4275
4276 * ospf_zebra.c: Changed to use lib/zclient.c routines.
4277
4278 * ospf_zebra.h (zebra_start): Remove struct zebra.
4279
42801999-05-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4281
4282 * ospfd.c (ospf_config_write): Add cast (unsigned long int) to
4283 ntohl for sprintf warning.
4284
42851999-05-19 Toshiaki Takada <takada@zebra.org>
4286
4287 * ospf_ism.c (ospf_dr_election): Join AllDRouters Multicast group
4288 if interface state changes to DR or BDR.
4289
42901999-05-14 Stephen R. van den Berg <srb@cuci.nl>
4291
4292 * ospf_main.c (signal_init): SIGTERM call sigint.
4293 (sigint): Logging more better message.
4294
42951999-05-12 Toshiaki Takada <takada@zebra.org>
4296
4297 * ospfd.c: Fix bug of `no router ospf' statement, it will work.
4298
42991999-05-11 Toshiaki Takada <takada@zebra.org>
4300
4301 * ospf_neighbor.c: ospf_nbr_free () Added.
4302
43031999-05-10 Toshiaki Takada <takada@zebra.org>
4304
4305 * ospfd.h: struct ospf_area { }, struct ospf_network { } Changed.
4306 * Fix bug of `no network' statement, it will work.
4307
43081999-05-07 Toshiaki Takada <takada@zebra.org>
4309
4310 * ospf_interface.c, ospf_zebra.c: Fix bug of last interface is not
4311 updated by ospf_if_update ().
4312
43131999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4314
4315 * Makefile.am (noinst_HEADERS): Add ospf_lsa.h for distribution.
4316
43171999-04-25 Toshiaki Takada <takada@zebra.org>
4318
4319 * ospf_interface.c: DEFUN (no_if_ospf_cost),
4320 DEFUN (no_if_ospf_dead_interval),
4321 DEFUN (no_if_ospf_hello_interval),
4322 DEFUN (no_if_ospf_priority),
4323 DEFUN (no_if_ospf_retransmit_interval),
4324 DEFUN (no_if_ospf_transmit_delay) Added.
4325
4326 interface_config_write () suppress showing interface
4327 default values.
4328
43291999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
4330
4331 * ospf_dump.c (ospf_timer_dump): If thread is NULL return "inactive".
4332
4333 * ospfd.c (ospf_if_update): Fix bug of using ospf_area { } instead
4334 of ospf_network { }. So `router ospf' statement in ospfd.conf
4335 works again.
4336 (ospf_if_update): Call ospf_get_router_id for updating router ID.
4337
43381999-04-25 Toshiaki Takada <takada@zebra.org>
4339
4340 * ospf_interface.c: DEFUN (if_ospf_network) deleted.
4341 DEFUN (if_ospf_network_broadcast),
4342 DEFUN (if_ospf_network_non_broadcast),
4343 DEFUN (if_ospf_network_point_to_multipoint),
4344 DEFUN (if_ospf_network_point_to_point),
4345 DEFUN (no_if_ospf_network) Added.
4346
43471999-04-23 Toshiaki Takada <takada@zebra.org>
4348
4349 * ospfd.h: struct area { } changed to struct ospf_network { }.
4350 Add struct ospf_area { }.
4351 * ospfd.c: Add ospf_area_lookup_by_area_id (), ospf_network_new (),
4352 and ospf_network_free ().
4353 DEFUN (area_authentication), DEFUN (no_area_authentication) Added.
4354
43551999-04-22 Toshiaki Takada <takada@zebra.org>
4356
4357 * ospf_lsa.h: New file.
4358 * ospf_packet.h: LSA related struct definition are moved to
4359 ospf_lsa.h.
4360 * ospf_packet.c: ospf_verify_header () Added.
4361
43621999-04-21 Toshiaki Takada <takada@zebra.org>
4363
4364 * ospf_ism.c: ospf_elect_dr () and related function is changed.
4365 DR Election bug fixed.
4366 * ospf_dump.c: ospf_nbr_state_message (), ospf_timer_dump () Added.
4367 * ospfd.c: DEFUN (show_ip_ospf_neighbor) Added.
4368
43691999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
4370
4371 * ospf_main.c (main): access_list_init () is added for vty
4372 connection filtering.
4373
43741999-04-16 Toshiaki Takada <takada@zebra.org>
4375
4376 * ospfd.c: DEFUN (show_ip_ospf_interface) Added.
4377 * ospf_neighbor.c: ospf_nbr_count () Added.
4378
43791999-04-15 Toshiaki Takada <takada@zebra.org>
4380
4381 * ospfd.h: struct ospf { } Changed.
4382 * ospfd.c: ospf_lookup_by_process_id () Deleted.
4383 * ospf_ism.c: ospf_wait_timer () Added. WaitTimer will work.
4384
43851999-04-14 Toshiaki Takada <takada@zebra.org>
4386
4387 * ospf_ism.c: ospf_elect_dr () Added.
4388 * ospf_network.c: ospf_if_ipmulticast () Added.
4389
43901999-04-11 Toshiaki Takada <takada@zebra.org>
4391
4392 * ospf_interface.c: interface_config_write (),
4393 DEFUN (if_ip_ospf_cost),
4394 DEFUN (if_ip_ospf_dead_interval),
4395 DEFUN (if_ip_ospf_hello_interval),
4396 DEFUN (if_ip_ospf_priority),
4397 DEFUN (if_ip_ospf_retransmit_interval) and
4398 DEFUN (if_ip_ospf_transmit_delay) Added.
4399
44001999-04-08 Toshiaki Takada <takada@zebra.org>
4401
4402 * ospf_dump.c: ospf_packet_db_desc_dump () Added.
4403 * ospf_neighbor.c: ospf_nbr_bidirectional () Added.
4404 * ospf_nsm.c: nsm_twoway_received () Added.
4405
44061999-04-02 Toshiaki Takada <takada@zebra.org>
4407
4408 * ospf_neighbor.c: New file.
4409 * ospf_neighbor.h: New file.
4410 * ospf_nsm.c: New file.
4411 * ospf_nsm.h: New file.
4412 * ospf_packet.c: Add ospf_make_header (), ospf_hello () and
4413 ospf_hello_send (). Now OSPFd can receive Hello and send Hello.
4414
44151999-03-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4416
4417 * ospf_packet.c: Add ospf_recv_packet (). Now OSPF Hello can receive.
4418
44191999-03-19 Toshiaki Takada <takada@zebra.org>
4420
4421 * ospf_packet.c: New file.
4422 * ospf_packet.h: New file.
4423 * ospf_network.c: New file.
4424 * ospf_network.h: New file.
4425 * ospfd.h: move OSPF message structure has moved to ospf_packet.h.
4426
44271999-03-17 Kunihiro Ishiguro <kunihiro@zebra.org>
4428
4429 * ospf_zebra.c (ospf_zebra_get_interface): Fix for IPv6 interface
4430 address.
4431
4432 * Makefile.am (install-sysconfDATA): Overwrite install-sysconfDATA
4433 for install ospfd.conf.sample as owner read only file.
4434
4435 * ospf_main.c (usage): Change to use ZEBRA_BUG_ADDRESS.
4436
44371999-03-15 Toshiaki Takada <takada@zebra.org>
4438
4439 * ospf_ism.c: New file.
4440 * ospf_ism.h: New file.
4441 * ospf_dump.c: New file.
4442 * ospf_dump.h: New file.
4443
4444 * ospfd.h: Add (struct ospf), (struct config_network),
4445 (struct message) structure.
4446
4447 * ospf_interface.c: Add ospf_if_match_network ().
4448 * ospf_interface.h (struct ospf_interface): Change struct members.
4449
4450 * ospfd.c: ospf_lookup_by_process_id (), ospf_network_new (),
4451 DEFUN (network_area): Added.
4452
4453 * ospfd.conf.sample: Change sample configuration.
4454
44551999-03-05 Toshiaki Takada <takada@zebra.org>
4456
4457 * ospf_interface.c: New file.
4458 * ospf_interface.h: New file.
4459 * ospf_zebra.h: New file.
4460 * ospf_zebra.c: Add interface function for zebra daemon.
4461 * ospfd.c: New file.
4462
44631999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4464
4465 * Move IPv6 codes and files to ospf6d directory.
4466
44671999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
4468
4469 * syslog support added
4470
44711998-12-22 Toshiaki Takada <takada@zebra.org>
4472
4473 * ospfd.h: New file.
4474 * ospf_lsa.h: New file.
4475
44761998-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
4477
4478 * Makefile.am: New file.
4479 * ospf_main.c: New file.
4480