blob: e5aa0660d3253b732941c1a9a42f49b0ca12af17 [file] [log] [blame]
Paul Jakma1a8ee0e2006-03-30 14:20:00 +000012006-03-25 Paul Jakma <paul.jakma@sun.com>
2
3 * ospf_interface.c: (ospf_if_lookup_recv_if) Ignore loopbacks,
4 we can never ever receive packets on those. Should fix
5 case where CARP is run with address in same subnet as real
6 interface. Problem report and diagnosis thanks to:
7 Landon Fuller <landonf@opendarwin.org>.
8 However, ospf_read() still can't deal deterministically with
9 multiple interfaces in same subnet.
10
Paul Jakmac2b478d2006-03-30 14:16:11 +0000112006-03-23 Steve Lawson <steve.lawson@aheadcomusa.com>
12
13 * ospf_lsa.c: (ospf_lsa_install) Fix incorrect byte-order
14 conversion of OSPF_MAX_SEQUENCE_NUMBER
15
paule8e19462006-01-19 20:16:55 +0000162006-01-19 Paul Jakma <paul.jakma@sun.com>
17
18 * (general) various miscellaneous compiler warning fixes.
19 Remove redundant break statements from switch clauses
20 which return.
21 return from main, not exit, cause it annoys SOS.
22 Remove stray semi-colons which cause empty-statement
23 warnings.
24
paul779adb02006-01-18 15:07:38 +0000252006-01-18 Juergen Kammer <j.kammer@eurodata.de>
26
27 * ospf_lsa.c: (ospf_router_lsa_new) dont take reference to the
28 stream data until it is constructed, data reference is
29 volatile due to the potential resize in link_info_set
30
312006-01-18 Paul Jakma <paul.jakma@sun.com>
32
33 * ospf_lsa.c: (link_info_set) Resize the stream if required and
34 possible. Return number of links added.
35 (lsa_link_*_set) use return value from previous.
36 * ospf_lsa.h: Add OSPF_ROUTER_LSA_LINK_SIZE define.
37
paulc6371712006-01-17 17:49:53 +0000382006-01-17 Paul Jakma <paul.jakma@sun.com>
39
40 * ospf_packet.c: (ospf_verify_header) print out the types
41 involved if there's a mismatch.
42 * ospf_zebra.c: (ospf_zebra_add) Adjust to new zserv format.
43
paul818e56c2006-01-10 23:27:05 +0000442006-01-10 Len Sorensen <lennartsorensen@ruggedcom.com>
45
46 * (general) Bug #234, see also [quagga-dev 3902].
47 Fix problem with nbr_self not being properly reinitialised
48 when an interface comes up, after having been down.
paul1a643f82006-01-11 01:08:19 +000049 Some re-arrangement done by Paul Jakma, any bugs introduced
50 on top of Len's suggested changes are his.
paul818e56c2006-01-10 23:27:05 +000051 * ospf_neighbor.c: (ospf_nbr_add_self) centralise
52 initialisation of nbr_self parameters here.
53 * ospf_interface.c: (ospf_if_new) deleting initialisation of
54 parameters of nbr_self, just rely on call to
55 ospf_nbr_add_self.
56 (ospf_if_cleanup) ditto.
57 * ospfd.c: (ospf_network_run) ditto.
58
paul98429f62006-01-10 22:11:54 +0000592006-01-10 Juris Kalnins <juris@mt.lv>
60
61 * ospf_zebra.c: (ospf_interface_address_delete) fix rare leak of
62 struct connected in an error case.
paul818e56c2006-01-10 23:27:05 +000063 * ospf_packet.c: (ospf_make_md5_digest) fix odd, if not
64 undefined effect, assignment of an increment expression.
paul98429f62006-01-10 22:11:54 +000065
paul86752842006-01-10 20:34:46 +0000662006-01-10 Paul Jakma <paul.jakma@sun.com>
67
68 * ospfd.c: (ospf_network_run) checking to see if router-id
69 is set should be on ospf->router_id, not router_id_static.
70 This was causing ospfd to not start if router-id had not
71 been configured statically.
72 (ospf_if_update) ditto.
paulc42c1772006-01-10 20:36:49 +000073 * ospf_vty.c: (config_write_ospf_distribute) trim down
74 redundant strings.
paul86752842006-01-10 20:34:46 +000075
paul00c290e2005-11-26 09:21:43 +0000762005-11-26 Paul Jakma <paul.jakma@sun.com>
77
78 * ospf_api.c: (struct opaque_lsa) change from gcc zero-length
79 array to C99 incomplete type array.
paulc9c93d52005-11-26 13:31:11 +000080 * (general) s/graceful/deferred/ in all files, the former term
81 is confusing wrt OSPF Graceful-Restart.
82 * ospfd.c: (ospf_deferred_shutdown_check) dont return
83 a function which returns void. SOS complains about this.
84 (ospf_finish)
paul00c290e2005-11-26 09:21:43 +000085
paulb29800a2005-11-20 14:50:45 +0000862005-11-20 Paul Jakma <paul.jakma@sun.com>
87
88 * ospfd.h: remove the OSPF_ROUTER_ID_UPDATE_DELAY define
89 (struct ospf) remove the router_id timer thread.
90 remove export of ospf_router_id_update_timer.
91 * ospfd.c: (ospf_router_id_update) call ospf_if_update to
92 poke interfaces into action after ID has been configured.
93 (ospf_router_id_update_timer) removed.
94 (ospf_finish_final) t_router_id_update timer is gone.
95 (ospf_network_run) router-id update timer gone.
96 call ospf_router_id_update directly if ID not configured.
97 In the per-iface loop, don't ospf_if_up interfaces if
98 ID is still not configured. The update function will call
99 ospf_if_update anyway.
100 (ospf_if_update) ID update timer is gone. Just return if no
101 ID is set.
102 * ospf_vty.c: (ospf_router_id) call ospf_router_id_update, no
103 timer needed.
104 * ospf_zebra.c: (ospf_router_id_update_zebra) call
105 ospf_router_id_update directly, not via timer.
paulc24d6022005-11-20 14:54:12 +0000106 * ospf_abr.c: (ospf_abr_announce_network_to_area) check
107 returned LSA of ospf_summary_lsa_refresh and print warning if
108 it failed.
109 (ospf_abr_announce_network_to_area) similar
110 (ospf_abr_announce_rtr_to_area) similar
111 * ospf_lsa.c: (ospf_router_lsa_new) check LSA returned is valid.
112 (ospf_router_lsa_originate) similar
113 (ospf_router_lsa_refresh, ospf_network_lsa_new) similar
114 (ospf_summary_lsa_new) Check ID is valid.
115 (ospf_summary_lsa_originate) ditto, and check returned LSA from
116 previous function is !NULL.
117 (ospf_summary_lsa_refresh) check ospf_summary_lsa_new return
118 is !NULL.
119 (ospf_summary_asbr_lsa_new) ID valid check.
120 (ospf_summary_asbr_lsa_originate) similar.
paulb29800a2005-11-20 14:50:45 +0000121
ajs70cd3472005-11-16 19:33:22 +00001222005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
123
ajs649654a2005-11-16 20:17:52 +0000124 * ospf_dump.h: Define OSPF_TIME_DUMP_SIZE as appropriate buffer size
125 for use with ospf_timer_dump and ospf_timeval_dump.
126 * ospf_vty.c: Change all buffer sizes used with ospf_timer_dump and
127 ospf_timeval_dump to have size OSPF_TIME_DUMP_SIZE.
128 (show_ip_ospf_interface_sub) Fix possible buffer overflow in
129 call to ospf_timer_dump.
130
1312005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
132
ajs70cd3472005-11-16 19:33:22 +0000133 * ospf_ism.h: (OSPF_ISM_TIMER_OFF) Improve macro syntax by enclosing
134 in 'do {...} while(0)'.
135
paul31a59762005-11-14 11:11:11 +00001362005-11-14 Paul Jakma <paul.jakma@sun.com>
137
138 * ospfd.c: (ospf_new) stub-shutdown should just default to
139 unconfigured, too strange otherwise.
140 (ospf_finish_final) t_opaque_lsa_self TIMER_OFF should be
141 preprocessor conditional on HAVE_OPAQUE_LSA.
142 * ospfd.h: (struct ospf) remove the SHUTDOWN_DEFAULT define.
143 no longer used, plus it wasn't in range that the command
144 accepted.
145 * ospf_zebra.h: Depends on vty.h, include it.
146
paul58e1bef2005-11-11 12:10:03 +00001472005-11-11 Paul Jakma <paul.jakma@sun.com>
148
149 * ospf_spf.c: (ospf_canonical_nexthops_free) Free only
150 the nexthops pointing to the root vertex. We may visit a
151 vertex twice or the vertex may have some inherited nexthops,
152 if we free other nexthops we could crash.
153
paulc8c15212005-11-04 12:31:39 +00001542005-11-04 Paul Jakma <paul.jakma@sun.com>
155
156 * ospf_{dump,spf,vty}.c: Oops, use the internal tv_sub
157 function rather than unportable timersub.
158
paul484315f2005-11-03 09:08:29 +00001592005-11-03 Paul Jakma <paul.jakma@sun.com>
160
161 * ospf_apiserver.c: (apiserver_sync_callback) stray semi-colon
162 * ospf_packet.c: include checksum.h, remove the in_cksum extern
163 * prototypes.
164 * ospf_te.h: Add braces, quell warning.
paul6d452762005-11-03 11:15:44 +0000165 * ospf_packet.c: Change level of some warnings to
166 informational.
paulc8c15212005-11-04 12:31:39 +0000167
paul88d6cf32005-10-29 12:50:09 +00001682005-10-29 Paul Jakma <paul.jakma@sun.com>
169
170 * (general) RFC3137 stub-router support
171 * ospfd.h: Add OSPF_OUTPUT_COST_INFINITE define.
172 (struct ospf_master) Add a OSPF_MASTER_SHUTDOWN flag for
173 options, to allow shutdown to distinguish between complete
174 shutdown and shutdown of a subset of ospf instances.
175 (struct ospf)
176 Add stub_router_{startup,shutdown_}time, configuration of startup
177 and shutdown time for stub-router.
178 Add t_graceful_shutdown struct thread, timer for graceful
179 shutdown, if needed.
180 (struct ospf_area) Add stub_router_state - run time state of
181 stub-router for an area. Add flags for ADMIN, IS and WAS
182 states.
183 Add t_stub_router, timer thread to resend router-lsa for an
184 area.
185 * ospf_lsa.c: (ospf_link_cost) new simple function to spit out
186 either the given lnks cost or infinite cost if stub-router is
187 in effect.
188 (lsa_link_{ptop,broadcast,virtuallink,ptomp}_set) use
189 previous function for transit-links.
190 (ospf_stub_router_timer) timer thread for end of startup stub
191 router. Change state as required for the area and setup
192 re-origination of router-lsa.
193 (ospf_stub_router_check) Check/do whether stub-router should be
194 enabled, and whether it requires timer to be setup.
195 (ospf_router_lsa_new) call previous function at top.
196 (ospf_router_lsa_originate) no external callers, made static.
197 * ospf_lsa.h: (ospf_router_lsa_originate) removed.
198 * ospf_main.c: (sigint) make static.
199 remove call to exit, as ospf_terminate now deals with
200 exiting.
201 * ospf_route.c: (ospf_terminate) removed, now in ospfd.c.
202 * ospf_vty.c: (show_ip_ospf_area) print out state of
203 stub-router, if active.
204 (show_ip_ospf) print out configuration of stub-router
205 support, and details of graceful-shutdown if the timer is
206 active.
207 ((no)?ospf_max_metric_router_lsa_{admin,startup,shutdown}) new
208 commands to (de-)?configure stub-router support.
209 (config_write_stub_router) write out config of stub-router.
210 (ospf_config_write) call previous.
211 (ospf_vty_init) install the new stub-router commands.
212 * ospfd.c: various functions made static.
213 (ospf_new) Set defaults for stub-router. Graceful shutdown
214 is made to default on, just to be adventerous.
215 (ospf_graceful_shutdown_finish) new function, final part of
216 shutdown.
217 (ospf_graceful_shutdown_timer) timer thread wrapper for
218 graceful-shutdown.
219 (ospf_graceful_shutdown_check) check whether to setup timer
220 for shutdown or proceed directly to final shutdown.
221 (ospf_terminate) moved here from ospf_route.c, call
222 ospf_finish for each instance.
223 (ospf_finish) renamed to ospf_finish_final and made static.
224 (ospf_finish) new function, exported wrapper around
225 ospf_graceful_shutdown_check.
226 (ospf_finish_final) complete shutdown of an instance.
227 Add missing TIMER_OFF's of two timer threads.
228 (ospf_area_free) opaque self lsa timer should be turned off.
229
paulb8ad39d2005-10-23 15:23:05 +00002302005-10-23 Paul Jakma <paul.jakma@sun.com>
231
paule029d442005-10-23 15:26:24 +0000232 * ospf_apiserver.c: (ospf_apiserver_term) This function should
233 not have side-effects (eg segv) if no apiserver instances are
234 active, ie be robust.
paulb8ad39d2005-10-23 15:23:05 +0000235 * ospf_vty.c: (show_ip_ospf) fix display of SPF timer if it
236 has not yet been run.
237
paulf9ad9372005-10-21 00:45:17 +00002382005-10-21 Paul Jakma <paul.jakma@sun.com>
239
paulea4ffc92005-10-21 20:04:41 +0000240 * ospf_dump.c: (ospf_timeval_dump) fix ms adjustment, thanks to
241 Andrew Schorr.
242 * ospf_vty.c: (ospf_config_write) fix write out of spf timers
243 configuration.
244
2452005-10-21 Paul Jakma <paul.jakma@sun.com>
246
pauld24f6e22005-10-21 09:23:12 +0000247 * (general) SPF millisecond resolution timer with adaptive,
248 linear back-off holdtime. Prettification of ospf_timer_dump.
249 * ospf_dump.c: (ospf_timeval_dump) new function. The guts of
250 ospf_timer_dump, but made to be more dynamic in printing out
251 the relative timeval, sliding the precision printed out
252 according to the value.
253 (ospf_timer_dump) guts moved to ospf_timeval_dump.
254 * ospf_dump.h: export ospf_timeval_dump.
255 * ospf_flood.c: (ospf_flood) remove gettimeofday, use
256 the libzebra exported recent_time instead, as it's not
257 terribly critical to have time exactly right - the dropped
258 LSA will be retransmited to us if we don't ACK it.
259 * ospf_packet.c: (ospf_ls_upd_timer) Ditto, but here we're
260 not transmitting, just putting LSA back on update transmit list.
261 * ospfd.h: delay and holdtimes should be unsigned.
262 Add spf_max_holdtime and spf_hold_multiplier.
263 Update default defines for delay and hold time to be in msec.
264 (struct ospf) change the SPF timestamp to a struct timeval.
265 Remove ospf_timers_spf_(un)?set.
266 * ospfd.c: (ospf_timers_spf_{set,unset}) removed.
267 (ospf_new) initialise spf_max_holdtime and spf_hold_multiplier
268 * ospf_spf.c: (ospf_spf_calculate) SPF timestamp is a timeval
269 now, update with gettimeofday.
270 (ospf_spf_calculate_schedule) Change SPF timers to millisecond
271 resolution.
272 Make the holdtime be adaptive, with a linear increase in
273 holdtime ever consecutive SPF run which occurs within holdtime
274 of previous SPF, bounded by spf_max_holdtime.
275 * ospf_vty.c: Update spf timers commands.
276 (ospf_timers_spf_set) trivial helper.
277 (ospf_timers_throttle_spf_cmd) new command to set SPF delay,
278 initial hold and max hold times with millisecond resolution.
279 (ospf_timers_spf_cmd) Deprecated. Accept the old values,
280 convert to msec, truncate to new limits.
281 (no_ospf_timers_throttle_spf_cmd) set timers to defaults.
282 (no_ospf_timers_spf_cmd) deprecated form, same as previous.
283 (show_ip_ospf_cmd) Display SPF parameters and times.
284 (show_ip_ospf_neighbour_header) Centralise the 'sh ip os ne'
285 header.
286 (show_ip_ospf_neighbor_sub) Fix the field widths. Get rid of
287 the multiple spaces which were making the lines even longer.
288 (show_ip_ospf_neighbor_cmd) Use show_ip_ospf_neighbour_header
289 (show_ip_ospf_neighbor_all_cmd) ditto and fix the field
290 widths for NBMA neighbours.
291 (show_ip_ospf_neighbor_int) Use header function.
292 (show_ip_ospf_nbr_nbma_detail_sub) use sizeof for timebuf,
293 local array - safer.
294 (show_ip_ospf_neighbor_detail_sub) ditto
295 (ospf_vty_init) install the new SPF throttle timer commands.
296
2972005-10-21 Paul Jakma <paul.jakma@sun.com>
298
paulf9ad9372005-10-21 00:45:17 +0000299 * (general) OSPF fast, sub-second hello and 1s dead-interval
300 support.
301 * ospf_dump.c: (ospf_timer_dump) Print out milliseconds too.
302 Callers typically specify a length of 9, so most see
303 millisecs unless they specify the additional length.
304 * ospf_interface.h: (struct ospf_interface) new interface param,
305 fast_hello.
306 * ospf_interface.c: (ospf_if_table_lookup) add brackets,
307 gcc warning fix.
308 (ospf_new_if_params) Initialise fast_hello param.
309 (ospf_free_if_params) Check whether fast_hello is configured.
310 (ospf_if_new_hook) set fast_hello to default.
311 * ospf_ism.h: Wrap OSPF_ISM_TIMER_ON inside do {} while (0) to
312 prevent funny side-effects from its if statement when this
313 macro is used conditionally by other macros.
314 (OSPF_ISM_TIMER_MSEC_ON) new macro, set in milliseconds.
315 (OSPF_HELLO_TIMER_ON) new macro to set hello timer according
316 to whether fast_hello is set.
317 * ospf_ism.c: Update all setting of the hello timer to use
318 either OSPF_ISM_TIMER_MSEC_ON or OSPF_HELLO_TIMER_ON. The
319 former is used when hello is to be sent immediately.
320 * ospf_nsm.c: ditto
321 * ospf_packet.c: (ospf_hello) hello-interval is not checked
322 for mismatch if fast_hello is set.
323 (ospf_read) Annoying nit, fix "no ospf_interface" to be debug
324 rather than a warning, as it can be perfectly normal to
325 receive packets when logical subnets are used.
326 (ospf_make_hello) Set hello-interval to 0 if fast-hellos are
327 configured.
328 * ospf_vty.c: (ospf_auto_cost_reference_bandwidth) annoying
329 nit, don't vty_out if this command is given, it gets tired
330 quick.
331 (show_ip_ospf_interface_sub) Print the hello-interval
332 according to whether fast-hello is set or not.
333 Print the extra 5 millisec characters from (ospf_timer_dump)
334 if fast-hello is configured.
335 (ospf_vty_dead_interval_set) new function, common to all
336 forms of dead-interval command, to set dead-interval and
337 fast-hello correctly. If a dead-interval is given, unset
338 fast-hello, else if a hello-multiplier is set, set
339 dead-interval to 1 and fast-hello to given multiplier.
340 (ip_ospf_dead_interval_addr_cmd) use
341 ospf_vty_dead_interval_set().
342 (ip_ospf_dead_interval_minimal_addr_cmd) ditto.
343 (no_ip_ospf_dead_interval) Unset fast-hello.
344 (no_ip_ospf_hello_interval) Bug-fix, unset of hello-interval
345 should set it to OSPF_HELLO_INTERVAL_DEFAULT, not
346 OSPF_ROUTER_DEAD_INTERVAL_DEFAULT.
347 (config_write_interface) Write out fast-hello.
348 (ospf_config_write) Write a comment about
349 "auto-cost reference-bandwidth" having to be equal on all
350 routers. Hopefully just as noticeable as old practice of
351 writing to vty, but less annoying.
352 (ospf_vty_if_init) install the two new dead-interval
353 commands.
354 * ospfd.h: Add defines for OSPF_ROUTER_DEAD_INTERVAL_MINIMAL
355 and OSPF_FAST_HELLO_DEFAULT.
356
pauleb3da6d2005-10-18 04:20:33 +00003572005-10-18 Paul Jakma <paul.jakma@sun.com>
358
359 * (general) SPF memory management cleanup and fix for rare
360 double-free bug.
361 * ospf_spf.h: (struct vertex_parent) New struct to hold parent
362 specific data, eg the backlink and the parent vertex pointer,
363 and point to the appropriate general struct vertex_nexthop.
364 (struct vertex_nexthop) remove parent vertex pointer, so
365 this struct can be shared across vertices.
366 (struct vertex) rename list child to list children. Remove
367 list of nexthops, replace with list of vertex_parents.
368 * ospf_spf.c: (update_stat) trivial, remove cast from void *.
369 (vertex_nexthop_new) remove init of parent - field is gone
370 from struct vertex_nexthop.
371 (ospf_canonical_nexthops_free) Remove the canonical
372 vertex_nexthop memory objects. These are the vertex_nexthops
373 attached to the first level of router vertices from the root.
374 (vertex_parent_new) new function, create a vertex_parent.
375 (vertex_parent_free) ditto, but free it.
376 (ospf_vertex_new) Update to match changes to struct vertex.
377 (ospf_vertex_free) Recursively free a struct vertex and its
378 children. The parent list is used as a reference count.
379 vertex_nexthops must be free seperately, if required.
380 (ospf_vertex_dump) update to match struct vertex changes.
381 Print out backlink of parents too.
382 (ospf_vertex_add_parent) ditto.
383 (ospf_lsa_has_link) update comment.
384 (ospf_nexthop_add_unique) removed, not needed anymore.
385 (ospf_nexthop_merge) ditto.
386 (ospf_spf_consider_nexthop) renamed to ospf_spf_add_parent.
387 Simplified to just create vertex_parent and add it.
388 (ospf_spf_flush_parents) new function, flush out the parent
389 list.
390 (ospf_nexthop_calculation) Take the relevant route_lsa_link
391 as an argument, which simplifies things and removes the need
392 for the hack in ospf_nexthop_add_unique - ospf_spf_next
393 already knew exactly which link the cost calculated was for.
394 Update to match struct vertex changes too.
395 (ospf_spf_next) Don't create a vertex for W unnecessarily, if
396 it's there's a vertex already created for W, use it, and
397 hence there's no need to free it either.
398 Update some manipulation/comparisons of distance to match.
399 Flush the parent list if a lower cost path is found.
400 (ospf_spf_route_free) unused, removed.
401 (ospf_spf_dump) match the struct vertex changes, and dump the
402 ifname if possible.
403 (ospf_spf_calculate) At end of SPF, free the canonical nexthops
404 and call ospf_vertex_free on the root vertex to free the
405 entire tree.
406 * ospf_interface.c: (ospf_vl_set_params) match struct vertex
407 changes.
408 * ospf_route.c: (ospf_intra_route_add) ditto
409 (ospf_route_copy_nexthops_from_vertex) ditto
410
paul36238142005-10-11 04:12:54 +00004112005-10-11 Paul Jakma <paul.jakma@sun.com>
412
413 * ospf_api.c: sign warnings.
414 * ospf_apiserver.c: sign warning and convert all the struct
415 in_addr initialisations so as not to make assumptions about
416 how this struct is organised, initialise the s_addr member
417 explicitely.
418 * ospf_packet.c: Add const qualifier to auth_key.
419
vincent77df1f72005-10-06 07:46:22 +00004202005-10-06 Alain Ritoux <alain.ritoux@6wind.com>
421
422 * ospf_snmp.c: Avoid mixing interface and ospf_interface objects
423 which now allows snmpwalk to work with ospfIfTable and
424 also with ospfIfMetricTable
425
ajsf52d13c2005-10-01 17:38:06 +00004262005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
427
428 * ospf_dump.c: Remove local hard-coded table ospf_redistributed_proto.
429 (ospf_redist_string) New function implemented using new library
430 function zebra_route_string(). Note that there are a few differences
431 in the output that will result: the new function returns strings
432 that are lower-case, whereas the old table was mixed case. Also,
433 the old table mapped ZEBRA_ROUTE_OSPF6 to "OSPFv3", whereas the
434 new function returns "ospf6".
435 * ospfd.h: Remove extern struct message ospf_redistributed_proto[],
436 and add extern const char *ospf_redist_string(u_int route_type)
437 instead.
438 * ospf_asbr.c: (ospf_external_info_add) In two messages, use
439 ospf_redist_string instead of LOOKUP(ospf_redistributed_proto).
440 * ospf_vty.c: Remove local hard-coded table distribute_str.
441 (config_write_ospf_redistribute,config_write_ospf_distribute): Use
442 new library function zebra_route_string() instead of distribute_str[].
443 * ospf_zebra.c: (ospf_redistribute_set,ospf_redistribute_unset,
444 ospf_redistribute_default_set,ospf_redistribute_check)
445 In debug messages, use ospf_redist_string() instead of
446 LOOKUP(ospf_redistributed_proto).
447
jardin6638c1a2005-10-01 00:08:54 +00004482005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
449
450 * ospf_dump.c, ospf_ia.c, ospf_spf.c, ospf_ase.c:
451 remove unused DEBUG
452
vincentba682532005-09-29 13:52:57 +00004532005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
454
vincent5e4914c2005-09-29 16:34:30 +0000455 * ospf_ism.c: generate SNMP traps on Interface state change
456 * ospf_nsm.c: generate SNMP traps on Neighbour state change
457 * ospf_snmp.[ch]: support for SNMP traps for interface and neighbours.
458
4592005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
460
vincentba682532005-09-29 13:52:57 +0000461 * ospf_vty.c: forece default route LSA to be re_issued whenever
462 cost is changed ( [no] ip ospf area XXX default-cost YYY)
463 Support ignore-mtu option
464 * ospfd.h: define OSPF_MTU_IGNORE_DEFAULT
465 * ospf_packet.c: support ignore-mtu option
466 * ospf_interface.h: field added for skipping MTU check
467 * ospf_interface.c: fix memory leak in ospf_crypt_key_delete()
468 Set mtu_ignore field to default value
469 * ospf_abr.[ch]: export ospf_abr_announce_network_to_area()
470 * ospf_ism.h: add MACRO to convert internal ISM status into SNMP
471 correct values
472 * ospf_snmp.c: add sanity check on LSA type in lsdb_lookup_next()
473 convert OSPFIFSTATE internal status into SNMP values
474
vincentc1a03d42005-09-28 15:47:44 +00004752005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
476
477 * ospf_packet.c: use new md5 API
478
ajs5339cfd2005-09-19 13:28:05 +00004792005-09-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
480
481 * ospf_lsa.h: (ospf_external_lsa_flush) Comment out the 5th argument
482 (nexthop) since it is not used in the function (except inside
483 some commented-out code).
484 * ospf_lsa.c: (ospf_external_lsa_flush,ospf_external_lsa_refresh)
485 Comment out the 5th argument to ospf_external_lsa_flush.
486 * ospf_asbr.c: (ospf_redistribute_withdraw) Comment out 5th arg
487 to ospf_external_lsa_flush.
488 * ospf_vty.c: (no_ospf_default_information_originate) Eliminate 5th
489 uninitialized nexthop arg to ospf_external_lsa_flush.
490 * ospf_zebra.c: (ospf_zebra_read_ipv4) Comment out 5th arg
491 to ospf_external_lsa_flush.
492 * ospfd.c: (ospf_network_set) Comment out 5th arg
493 to ospf_external_lsa_flush.
494
ajse6a0bf92005-09-17 18:53:38 +00004952005-09-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
496
497 * ospf_opaque.c:
498 (ospf_opaque_lsa_refresh_schedule,ospf_opaque_lsa_flush_schedule)
499 No need to call ospf_lookup(), just use lsa0->area->ospf instead.
500
hassobb5b7552005-08-21 20:01:15 +00005012005-08-21 Hasso Tepper <hasso at quagga.net>
502
503 * ospf_vty.c: Make "show ip ospf neighbor xxx" commands work.
504 Interface should be specified by name now.
505
hasso54bedb52005-08-17 13:31:47 +00005062005-08-17 Hasso Tepper <hasso at quagga.net>
507
508 * ospf_vty.c: Check carefully if interface exists before trying to
509 print info about it.
510
hasso01018ce2005-08-05 07:40:15 +00005112005-08-05 Hasso Tepper <hasso at quagga.net>
512
513 * ospf_zebra.c: Don't assert/stop before type == ZEBRA_ROUTE_MAX if
514 dealing with routemaps. There is ospf->route_map[ZEBRA_ROUTE_MAX]
515 for default-information.
516
paulc8987752005-07-26 06:07:22 +00005172005-07-26 Paul Jakma <paul.jakma@sun.com>
518
519 * ospf_abr.c: (ospf_abr_announce_network_to_area) SET_FLAG
520 should be on lsa not old, which may be freed for one thing,
521 obviously.
522
pauld57834f2005-07-12 20:04:22 +00005232005-07-12 Paul Jakma <paul.jakma@sun.com>
524
525 * ospfd.h: add OSPF_ABR_DEFAULT for convenience, make
526 OSPF_ABR_CISCO be the default ABR type.
527 * ospfd.c: (ospf_new) initialise abr_type to OSPF_ABR_DEFAULT
528 * ospf_vty.c: (no_ospf_abr_type_cmd) add standard as a negatable
529 abr_type. default abr_type should be OSPF_ABR_DEFAULT.
530 (ospf_config_write) test whether default abr_type against
531 OSPF_ABR_DEFAULT, rather than any specific ABR_TYPE.
532
hasso8469bd72005-06-20 20:50:10 +00005332005-06-20 Hasso Tepper <hasso at quagga.net>
hassof4833e92005-06-20 20:42:26 +0000534
535 * ospf_nsm.c: Make database exchange for NSSA database work.
536
paul7461d452005-06-13 13:57:16 +00005372005-06-13 Paul Jakma <paul.jakma@sun.com>
538
539 * ospf_spf.c: Try get more information on a SEGV under
540 ospf_spf_vertex_add_parent.
541 (ospf_vertex_free) NULL out the child and nexthop lists
542 (ospf_vertex_add_parent) nexthop and child can not be NULL
543 vertex_nexthop's parent->child list can not be NULL
544 (ospf_spf_next) w and cw are per-loop iteration variables, move
545 declarations into loop body.
546
hasso1ddd7292005-06-07 19:54:04 +00005472005-06-07 Hasso Tepper <hasso at quagga.net>
548
549 * ospf_apiserver.c: Fix obvious error in notifying clients about ISM
550 changes - oi->ifp->status doesn't give to us info about ISM,
551 oi->state does.
552
paul7e440862005-06-01 11:20:51 +00005532005-06-01 Akihiro Mizutani <mizutani@net-chef.net>
554
555 * ospf_ism.c (ospf_elect_bdr/ospf_elect_dr): Fix DR election bug.
556
paul500e4182005-05-26 17:11:13 +00005572005-05-26 Paul Jakma <paul.jakma@sun.com>
558
559 * ospf_abr.c: (ospf_abr_update_aggregate) Fix comment, cost bug itself
560 had been fixed long ago by Sowmini.
561
paula3387a42005-05-18 23:29:57 +00005622005-05-19 Paul Jakma <paul.jakma@sun.com>
563
564 * ospf_interface.c: (ospf_if_table_lookup) Fix a serious bug
565 a less serious one.
566 1: this function is supposed to lookup
567 entries in the oifs ospf_interface route_table and return either
568 an existing oi or NULL to indicate not found, its caller depends
569 on this, yet this function uses route_node_get which /always/
570 returns a route_node - one is created if none exists. Use
571 route_node_lookup instead. This should fix root cause of the
572 reports of the (ospf_add_to_if) assert being hit.
573 2: oi's are inserted into this table with prefixlength set to
574 /32 (indeed, it should be a hash table, not a route_table),
575 however prefixlength to lookup was not changed, if no valid entry
576 can be inserted other than /32, then nothng but /32 should be
577 looked up. This possibly only worked by fluke..
578 Fix confirmed by 2 reporters (one list, one IRC), definitely a
579 backport candidate once it has been incubated in HEAD for a while.
580 Thanks to Patrick Friedel and Ivan Warren for testing.
581
paul69310a62005-05-11 18:09:59 +00005822005-05-11 Paul Jakma <paul.jakma@sun.com>
583
584 * (general) Fix memory leaks in opaque AS-scope LSAs, reported and
585 with much debugging done by by scott collins <scollins@agile.tv>.
586 * ospf_lsa.c: (ospf_discard_from_db) dont call
587 ospf_ase_unregister_external_lsa for opaque-lsa's, opaques are
588 never registered with ase in the first place.
589 * ospf_packet.c: (general) Disabuse opaque related code of its
590 tendency to try gather up things into temporary lists.
591 (ospf_ls_upd) remove the temporary lists opaque uses, call
592 opaque functions inline, just like all other types.
593 (ospf_ls_ack) ditto.
594 (ospf_recv_packet) fixup sign warning.
595 * ospf_opaque.c: (general) fix the unneeded use of lists, and
596 untwist some of the logic.
597 (ospf_opaque_self_originated_lsa_received) take a single LSA
598 as argument, not a list of them. Remove the list loop. Logic
599 otherwise unchanged.
600 (ospf_opaque_ls_ack_received) Mostly ditto. But untwist the logic,
601 move the actions up into the switch block, remove the goto's and
602 sanitise the logic near the end a bit.
603 * ospf_opaque.h: Adjust definitions of aforementioned functions
604 in ospf_opaque.c to match.
605
paul42c98192005-05-07 02:22:51 +00006062005-05-07 Yar Tikhiy <yar@comp.chem.msu.su>
607
608 * ospf_network.c: Log ifindex on multicast membership leave/join
609 events.
610
paul4dadc292005-05-06 21:37:42 +00006112005-05-06 Paul Jakma <paul.jakma@sun.com>
612
613 * (general) extern and static qualifiers added.
614 unspecified arguments in definitions fixed, typically they should
615 be 'void'.
616 function casts added for callbacks.
617 Guards added to headers which lacked them.
618 Proper headers included rather than relying on incomplete
619 definitions.
620 gcc noreturn function attribute where appropriate.
621 * ospf_opaque.c: remove the private definition of ospf_lsa's
622 ospf_lsa_refresh_delay.
623 * ospf_lsa.h: export ospf_lsa_refresh_delay
624 * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const,
625 correct thing to do - removes need for the casts later.
626 * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's
627 home-brewed versions, shuts up several warnings.
628 * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and
629 VTY_GET_IPV4_PREFIX moved to lib/vty.h.
630 * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky
631 overloading of the THREAD_ARG pointer should at least use
632 uintptr_t.
633
paul9e67dc22005-04-15 12:10:17 +00006342005-04-15 Zhipeng Gong <zpgong@cdc.3upsystems.com>
635
636 * ospf_abr.c: (ospf_abr_announce_network_to_area) dont forget
637 to approve LSAs for the case where metric has changed, lsa gets
638 flushed otherwise. (backport candidate).
639
ajs634f9ea2005-04-11 15:51:40 +00006402005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
641
642 * ospf_zebra.c (ospf_zebra_add): Call zclient_send_message instead
643 of writen.
644
ajsd2fc8892005-04-02 18:38:43 +00006452005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
646
ajse4319de2005-04-02 23:23:55 +0000647 * ospf_interface.h: (ospf_if_lookup_by_name) Remove declaration of a
648 function that does not exist.
649
6502005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
651
ajs21fefa92005-04-02 23:16:41 +0000652 * ospf_zebra.c: (zebra_interface_if_lookup) Must use
653 if_lookup_by_name_len.
654
6552005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
656
ajsa3491982005-04-02 22:50:38 +0000657 * ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create.
658
6592005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
660
ajsd2fc8892005-04-02 18:38:43 +0000661 * ospf_vty.c: (show_ip_ospf_interface_sub) Show ifindex and interface
662 flags to help with debugging.
663 * ospf_zebra.c: (ospf_interface_delete) After deleting, set ifp->ifindex
664 to IFINDEX_INTERNAL.
665 (zebra_interface_if_lookup) Make function static. Tighten up code.
666
ajsaca72fd2005-03-31 15:18:21 +00006672005-03-31 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
668
669 * ospf_dump.c: (show_debugging_ospf) Show if ospf event debugging
670 is turned on.
671
ajsfd651fa2005-03-29 16:08:16 +00006722005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
673
ajsa608bbf2005-03-29 17:03:49 +0000674 * ospf_zebra.c: (ospf_interface_state_up) If the MTU of an operative
675 interface changes, print a debug message and call ospf_if_reset()
676 to simulate down/up on the interface.
677 * ospf_interface.h: Declare new function ospf_if_reset().
678 * ospf_interface.c: (ospf_if_reset) New function to call ospf_if_down
679 and ospf_if_up for all ospf interfaces attached to an interface.
680
6812005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
682
ajs5dcbdf82005-03-29 16:13:49 +0000683 * ospf_packet.c: (ospf_write_frags) Enhance error message to
684 show MTU. Also make function static.
685 (ospf_write) Enhance error message to show interface name and MTU.
686 Also make function static.
687
6882005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
689
690 * ospf_vty.c: (show_ip_ospf_interface_sub) Display interface MTU and
691 bandwidth; this is useful for debugging problems. Also, the function
692 should be static.
ajsfd651fa2005-03-29 16:08:16 +0000693
hasso1b639042005-03-27 13:32:25 +00006942005-03-27 Hasso Tepper <hasso at quagga.net>
695
696 * ospf_snmp.c: Don't crash in snmp query if ospf instance doesn't
697 exist at all.
698
hasso343f5cc2005-03-25 19:48:40 +00006992005-03-25 Hasso Tepper <hasso at quagga.net>
700
701 * ospfd.h: Include log.h, fixes compile with gcc-4.0.
702
ajs9dbc7972005-03-13 19:27:22 +00007032005-03-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
704
705 * ospf_lsa.c: (ospf_lsa_refresh_walker) If the system clock jumps
706 backward, then current time may be less than
707 ospf->lsa_refresher_started. This was causing invalid values
708 for ospf->lsa_refresh_queue.index resulting in infinite loops.
709 Problem fixed by casting the expression to unsigned before taking
710 the modulus.
711
ajs5c333492005-02-23 15:43:01 +00007122005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
713
714 * ospfd.h: Add new field struct stream *ibuf to struct ospf.
715 * ospfd.c: (ospf_new) Check return code from ospf_sock_init.
716 Allocate ibuf using stream_new(OSPF_MAX_PACKET_SIZE+1).
717 (ospf_finish) Call stream_free(ospf->ibuf.
718 * ospf_packet.c: (ospf_read) Call stream_reset(ospf->ibuf) and then
719 pass it to ospf_recv_packet for use in receiving the packet
720 (instead of allocating a new stream for each packet received).
721 Eliminate all calls to stream_free(ibuf).
722 (ospf_recv_packet) The struct stream *ibuf is now passed in as
723 an argument. No need to use recvfrom to peek at the packet
724 header (to see how big it is), just use ospf->ibuf which is
725 always large enough (this eliminates a system call to recvfrom).
726 Therefore, no need to allocate a stream just for this packet,
727 and no need to free it when done.
728
hasso462f20d2005-02-23 11:29:02 +00007292005-02-23 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it>
730
731 * ospf_lsa.h: New flag to the LSA structure for the SPF calculation.
732 * ospf_lsdb.h: Export ospf_lsdb_clean_stat() function.
733 * ospf_spf.h: Add link to the LSA stat structure into vertex.
734 * ospf_spf.c: New functions cmp() and update_stat() to manage
735 candidates. Remove ospf_spf_has_vertex(), ospf_vertex_lookup(),
736 ospf_install_candidate() and ospf_spf_register() functions not needed
737 any more. Update ospf_vertex_new(), ospf_spf_next() and
738 ospf_spf_calculate() functions to use pqueue instead of linked list.
739
hassoe40dcce2005-02-21 14:58:42 +00007402005-02-21 Hasso Tepper <hasso at quagga.net>
741
742 * ospf_ase.c: Don't show messages related to the ase calculations if
743 we are not debugging.
744
hasso306541b2005-02-19 17:58:40 +00007452005-02-19 Hasso Tepper <hasso at quagga.net>
746
747 * ospf_api.h: char isn't always signed, but it has to be it here.
748
paulfa81b712005-02-19 01:19:20 +00007492005-02-19 Paul Jakma <paul.jakma@sun.com>
750
751 * ospf_packet.c: (ospf_stream_copy) remove
752 (ospf_packet_dup) use stream_copy instead of ospf_stream_copy
753
ajs038163f2005-02-17 19:55:59 +00007542005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
755
756 * ospf_packet.c: (ospf_recv_packet) If there is somehow a runt
757 packet in the queue, it must be discarded. Improve warning messages.
758 Fix scope to static.
759 (ospf_read) Fix bug: should reset the read thread in all cases
760 to make sure we continue to get incoming messages.
761
paul658b03a2005-02-15 10:10:55 +00007622005-02-15 Paul Jakma <paul.jakma@sun.com>
763
764 * ospf_packet.c: (ospf_recv_packet) Fix silly error wrt allocating
765 ibuf. Thanks Andrew.
766
paulbfdc44a2005-02-14 23:48:42 +00007672005-02-14 Paul Jakma <paul.jakma@sun.com>
768
769 * ospf_packet.c: (ospf_recv_packet) use stream_recvmsg.
770
hasso082253f2005-02-11 08:31:54 +00007712005-02-11 Hasso Tepper <hasso at quagga.net>
772
773 * ospf_lsdb.c: Fix sum of checksums calculation.
774
ajs083ee9d2005-02-09 15:35:50 +00007752005-02-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
776
777 * ospf_packet.c: (ospf_write) If sendmsg fails, give more info in the
778 error message.
779
ajsba6454e2005-02-08 15:37:30 +00007802005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
781
ajs8cfde372005-02-08 15:59:16 +0000782 * ospf_interface.h: Reduce structure padding by putting new u_char
783 field multicast_memberships in a better spot (grouped with
784 other u_char fields type and state).
785
7862005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
787
ajsba6454e2005-02-08 15:37:30 +0000788 * ospf_interface.h: Improve passive_interface comment. Add new
789 multicast_memberships bitmask to struct ospf_interface to track
790 active multicast subscriptions. Declare new function
791 ospf_if_set_multicast.
792 * ospf_interface.c: (ospf_if_set_multicast) New function to configure
793 multicast memberships properly based on the current
794 multicast_memberships status and the current values of the
795 ospf_interface state, type, and passive_interface status.
796 (ospf_if_up) Remove call to ospf_if_add_allspfrouters (this is
797 now handled by ism_change_state's call to ospf_if_set_multicast).
798 (ospf_if_down) Remove call to ospf_if_drop_allspfrouters (now
799 handled by ism_change_state).
800 * ospf_ism.c: (ospf_dr_election) Remove logic to join or leave
801 the DRouters multicast group (now handled by ism_change_state's call
802 to ospf_if_set_multicast).
803 (ism_change_state) Add call to ospf_if_set_multicast to change
804 multicast memberships as necessary to reflect the new interface state.
805 * ospf_packet.c: (ospf_hello) When a Hello packet is received on a
806 passive interface: 1. Increase the severity of the error message
807 from LOG_INFO to LOG_WARNING; 2. Add more information to the error
808 message (packet destination address and interface address);
809 and 3. If the packet was sent to ospf-all-routers, then try
810 to fix the multicast group memberships.
811 (ospf_read) When a packet is received on an interface whose state
812 is ISM_Down, enhance the warning message to show the packet
813 destination address, and try to update/fix the multicast group
814 memberships if the packet was sent to a multicast address.
815 When a packet is received for ospf-designated-routers, but the
816 current interface state is not DR or BDR, then increase the
817 severity level of the error message from LOG_INFO to LOG_WARNING,
818 and try to fix the multicast group memberships.
819 * ospf_vty.c: (ospf_passive_interface) Call ospf_if_set_multicast for
820 any ospf interface that may have changed from active to passive.
821 (no_ospf_passive_interface) Call ospf_if_set_multicast for
822 any ospf interface that may have changed from passive to active.
823 (show_ip_ospf_interface_sub) Show multicast group memberships.
824
paul3a9eb092005-02-08 11:29:41 +00008252005-02-08 Paul Jakma <paul@dishone.st>
826
827 * ospf_packet.c: (various) Remove unneeded stream_set_putp abuse.
828
ajs847947f2005-02-02 18:38:48 +00008292005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
830
831 * ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down,
832 not for event ISM_InterfaceDown. And improve the message by
833 adding the interface flags.
834
ajs0b7d97d2005-01-30 17:24:02 +00008352005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
836
837 * ospf_network.c: (ospf_sock_init) Save errno before calling
838 ospfd_privs.change.
839
ajsc3eab872005-01-29 15:52:07 +00008402005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
841
842 * ospf_packet.c: (ospf_packet_add) If oi->obuf is NULL, print
843 an error message and return.
844 (ospf_read) If the interface state is ISM_InterfaceDown, issue
845 a warning message and ignore the packet.
846
gdt86f1fd92005-01-10 14:20:43 +00008472005-01-10 Greg Troxel <gdt@fnord.ir.bbn.com>
848
849 * ospf_packet.h: Remove commented out definition of
850 OSPF_MAX_PACKET; neither it or the uncommented one are used any more.
851
852 * ospf_packet.c (ospf_make_ls_upd): Leave room for authentication
853 when deciding if an update will fit.
854 (ospf_packet_authspace): Factor out calculation of size required
855 for authentication.
856 (ospf_make_db_desc): Use ospf_max_packet, not OSPF_MAX_PACKET.
857 Don't confuse readers that there is a macro.
858
ajs3dc56b52004-12-30 15:11:19 +00008592004-12-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
860
861 * ospf_network.c: Improve all setsockopt error messages to give detailed
862 information on the arguments.
863
ajsb87f7722004-12-29 20:41:26 +00008642004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
865
ajs17eaa722004-12-29 21:04:48 +0000866 * ospf_packet.c: (ospf_db_desc) Reduce severity of "Negotiation done"
867 messages from LOG_WARNING to LOG_INFO, since this seems to be
868 normal.
869
8702004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
871
ajsb87f7722004-12-29 20:41:26 +0000872 * ospf_packet.c: (ospf_read) Always look up the interface if
873 ospf_recv_packet returns NULL ifp, since some platforms such
874 as Solaris 8 appear to support ifindex retrieval but don't.
875
hasso1d806282004-12-22 09:43:20 +00008762004-12-22 Hasso Tepper <hasso at quagga.net>
877
878 * ospf_dump.c: Show debug configuration in vtysh.
hassoc6b87812004-12-22 13:09:59 +0000879 * ospf_vty.c: Fix "show ip ospf" output. Router can't be elected in
880 any case if it's configured as "translate-never".
hassofe71a972004-12-22 16:16:02 +0000881 * ospf_lsdb.[ch]: New function to calculate sum of checksums.
882 * ospf_vty.c: Bugfix to show really number of AS external LSAs, not
883 number of all LSAs with AS scope, this includes opaque as LSAs as
884 well, show this number separately. Show numbers and sums of
885 checksums for each type of LSAs.
886 * ospf_lsa.c: Calculate checksum before putting LSA into database.
hasso1d806282004-12-22 09:43:20 +0000887
ajsbc18d612004-12-15 15:07:19 +00008882004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
889
890 * ospf_interface.h: Declare new function ospf_default_iftype.
891 * ospf_interface.c: (ospf_default_iftype) New function to centralize
892 this logic in one place.
893 * ospf_zebra.c: (ospf_interface_add) Use new function
894 ospf_default_iftype.
895 * ospf_vty.c: (no_ip_ospf_network,config_write_interface) Fix logic
896 by using new function ospf_default_iftype.
897
ajs3aa8d5f2004-12-11 18:00:06 +00008982004-12-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
899
900 * ospf_packet.c: (ospf_db_desc) Should be static, not global.
901 (ospf_hello,ospf_db_desc,ospf_ls_upd,ospf_ls_ack) Improve warning
902 messages to include identifying information (e.g. router id).
903 * ospf_nsm.c: (nsm_change_state) Improve info message to include
904 router id and state names.
905
gdt91f3e522004-12-09 14:51:03 +00009062004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
907
gdt3fb9de72004-12-09 16:30:04 +0000908 * ospf_apiserver.c (ospf_apiserver_term): Obtain struct
909 ospf_apiserver * from listnode. Remove unused variables. Follows
910 suggestion from Jay Fenlason.
gdt91f3e522004-12-09 14:51:03 +0000911
ajs9b0e25c2004-12-08 19:06:51 +00009122004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
913
914 * *.c: Change level of debug messages to LOG_DEBUG.
915
ajs274a4a42004-12-07 15:39:31 +00009162004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
917
918 * ospf_main.c: (main) The 2nd argument to openzlog has been removed.
919
ajs887c44a2004-12-03 16:36:46 +00009202004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
921
ajs1210fa62004-12-03 16:43:24 +0000922 * ospf_packet.c: (ospf_db_desc) Reduce priority on a debug message
923 from LOG_NOTICE to LOG_DEBUG.
924
9252004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
926
ajs887c44a2004-12-03 16:36:46 +0000927 * ospf_main.c: (sigint) Use zlog_notice for termination message.
928 (main) Issue a startup announcement using zlog_notice.
929
ajsbec595a2004-11-30 22:38:43 +00009302004-11-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
931
932 * ospf_packet.c: (ospf_db_desc_proc) Fix spelling of packet in warning
933 message and in comment.
934 (ospf_db_desc) Warning message that a packet is being discarded
935 should give the router id of the packet source. Fix spelling
936 of packet in two warning messages.
937 (ospf_ls_req) Warning message that a link state request is being
938 discarded should give the router id of the neighbor that sent it.
939
ajs5b85fac2004-11-26 19:36:42 +00009402004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
941
942 * ospf_main.c: Remove #include "debug.h" (was not being used, and
943 lib/debug.h has now been deleted).
944
hassoc0652302004-11-25 19:33:48 +00009452004-11-25 Hasso Tepper <hasso at quagga.net>
946
947 * ospf_main.c: Make group to run as configurable.
948
gdt69e13252004-11-15 18:51:15 +00009492004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
950
951 * ospf_packet.c (ospf_recv_packet): Assume CMSG_SPACE is present
952 and works (lib/zebra.h provides if OS doesn't).
953
paul788dab12004-11-15 11:48:37 +00009542004-11-15 Paul Jakma <paul@dishone.st>
955
956 * ospf_{apiserver,te}.c: ospf_lsa_free's should be ospf_lsa_unlock.
957
paul05e85fa2004-11-12 10:52:19 +00009582004-11-12 Paul Jakma <paul@dishone.st>
959
960 * ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to
961 ignore stub area summary default. Even so it seems a strange
962 check, add a comment to that effect.
963
paulf3ae74c2004-11-04 20:35:31 +00009642004-11-04 Paul Jakma <paul@dishone.st>
965
966 * ospfd.c: (ospf_network_match_iface) revert to previous network
967 statement match behaviour.
968
paul62d8e962004-11-02 20:26:45 +00009692004-11-02 Paul Jakma <paul@dishone.st>
970
971 * ospf_packet.c: (ospf_write_frags) remove iov arg, msg already points
972 to it. Add convenience pointer to msg->msg_iov[1], and use this,
973 fixing the unfortunate borkenness introduced in moving of this code
974 to a function.
975 (ospf_write) remove iovp and fix up call to previous.
976 (ospf_ls_upd_packet_new) cast size to long int - unfortunately
977 glibc's size_t format modifier is not portable.
978
paul37ccfa32004-10-31 11:24:51 +00009792004-10-31 Paul Jakma <paul@dishone.st>
980
981 * ospf_packet.c: (ospf_write_frags) Add debug output
982 (ospf_write) set type early, so we can pass it to
983 ospf_write_frags.
984 (ospf_ls_upd_packet_new) print size in debug output when too large
985 packet is encountered.
paul64511f32004-10-31 18:01:13 +0000986 * ospf_zebra.c: (ospf_distribute_list_update_timer) Ugly misuse of
987 THREAD_ARG to store an integer, but it should at least use same
988 same type to retrieve the value. Assert value is sane.
paul37ccfa32004-10-31 11:24:51 +0000989
paulac191232004-10-22 12:05:17 +00009902004-10-22 Paul Jakma <paul@dishone.st>
991
992 * ospf_network.c: (ospf_sock_init) call neutral setsock_ifindex()
993 function.
994 * ospf_packet.c: (ospf_read) manually look up ifindex
paul4ccb2c42004-10-22 22:52:33 +0000995 if system could not have returned one, eg openbsd, thanks to Rivo
996 Nurges for highlighting problem and fix.
paul06f953f2004-10-22 17:00:38 +0000997 Change setsockopt_pktinfo to setsockopt_ifindex.
paulac191232004-10-22 12:05:17 +0000998
hasso3fb9cd62004-10-19 19:44:43 +00009992004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
1000
1001 * ospf_snmp.c: (ospf_snmp_if_update) Fix logic to handle PtP links
1002 with dedicated subnets properly.
1003 * ospf_lsa.c: (lsa_link_ptop_set) ditto.
1004 * ospfd.c: (ospf_network_match_iface) ditto.
1005 (ospf_network_run) ditto.
1006 * ospf_interface.c: (ospf_if_is_configured) ditto.
1007 (ospf_if_lookup_by_prefix) ditto.
1008 (ospf_if_lookup_recv_if) ditto.
1009 * ospf_vty.c: (show_ip_ospf_interface_sub) Display the peer or
1010 broadcast address if present.
1011
hassod68614d2004-10-13 09:32:48 +000010122004-10-13 Hasso Tepper <hasso at quagga.net>
1013
1014 * ospf_main.c: Unbreak compilation with ospfapi disabled.
hassoc75105a2004-10-13 10:33:26 +00001015 * ospf_snmp.c: Remove defaults used to initialize smux connection to
1016 snmpd. Connection is initialized only if smux peer is configured.
hassod68614d2004-10-13 09:32:48 +00001017
hassof4d58ce2004-10-12 06:13:54 +000010182004-10-12 Hasso Tepper <hasso at quagga.net>
1019
1020 * ospf_main.c, ospf_opaque.c: Unbreak ospfclient compilation - move
1021 static variable from ospf_main.c into ospf_opaque.c.
1022
hassoc3abdb72004-10-11 16:27:03 +000010232004-10-11 Hasso Tepper <hasso at quagga.net>
1024
1025 * ospf_main.c, ospf_opaque.c: Disable ospfapi init by default. New
1026 command line switch to enable it.
1027
paul6b333612004-10-11 10:11:25 +000010282004-10-11 Paul Jakma <paul@dishone.st>
1029
1030 * ospf_dump.c: (ospf_ip_header_dump) Assume header is in host order
1031 remove ntohs that should have dissappeared. Take struct ip
1032 as argument, caller has to know there's an IP header at start of
1033 stream anyway.
1034 * ospf_dump.h: update declaration of ospf_ip_header_dump.
1035 * ospf_packet.c: (ospf_write) correct call to
1036 sockopt_iphdrincl_swab_htosys which was munging the header.
1037 (ospf_recv_packet) ip_len is needed for old OpenBSD fixup.
1038 (ospf_read) sockopt_iphdrincl_swab_systoh ip header as soon as
1039 we have it.
paul6c835672004-10-11 11:00:30 +00001040 * (global) Const char update and signed/unsigned fixes.
1041 * (various headers) size defines should be unsigned.
1042 * ospf_interface.h: remove duplicated defines, include the
1043 authoritative header - though, these defines should probably
1044 be moved to a dedicated header, or ospfd.h.
1045 * ospf_lsa.h: (struct lsa) ls_seqnum should be unsigned.
1046 * ospf_packet.c: (ospf_write) cast result of shift to unsigned.
paul6b333612004-10-11 10:11:25 +00001047
hassoeb1ce602004-10-08 08:17:22 +000010482004-10-08 Hasso Tepper <hasso at quagga.net>
1049
1050 * *.[c|h]: Fix compiler warnings: make some strings const, signed ->
1051 unsigned, remove unused variables etc.
1052
gdt54ade992004-10-07 19:38:20 +000010532004-10-07 Greg Troxel <gdt@claude.ir.bbn.com>
1054
1055 * ospf_apiserver.c (ospf_apiserver_unregister_opaque_type): Don't
1056 use of variable names 'node' and 'nextnode' to avoid possible
1057 conflict with list macros. Move variable declaration inside for
1058 loop after a statement to top of function.
1059
paulaa20c6f2004-10-07 14:19:36 +000010602004-10-07 Paul Jakma <paul@dishone.st>
1061
1062 * ospf_snmp.c: Missed list typedef update
1063 * ospf_dump.c: Include sockopt.h for header swab functions.
1064
paul18b12c32004-10-05 14:38:29 +000010652004-10-05 Paul Jakma <paul@dishone.st>
1066
1067 * ospf_packet.c: replace ospf_swap_iph_to... with
1068 sockopt_iphdrincl_swab_...
1069
hasso18a6dce2004-10-03 18:18:34 +000010702004-10-03 James R. Leu <jleu at mindspring.com>
1071
1072 * ospf_zebra.c: Read router id related messages from zebra daemon.
1073 Schedule router-id update thread if it's changed.
1074 * ospfd.c: Remove own router-id selection function. Use router id from
1075 zebra daemon if it isn't manually overriden in configuration.
1076
paul68defd62004-09-27 07:27:13 +000010772004-09-27 Paul Jakma <paul@dishone.st>
1078
paul6a99f832004-09-27 12:56:30 +00001079 * ospf_dump.c: (ospf_ip_header_dump) Use HAVE_IP_HDRINCL_BSD_ORDER
1080 Apply to offset too. Print ip_cksum, lets not worry about
1081 possible 2.0.37 compile problems.
1082 * ospf_packet.c: (ospf_swap_iph_to{n,h}) Use
1083 HAVE_IP_HDRINCL_BSD_ORDER.
1084 (ospf_recv_packet) ditto.
1085 (ospf_write) Fixup iov argument to ospf_write_frags.
1086 (struct msghdr).msg_name is caddr_t on most platforms.
paul68defd62004-09-27 07:27:13 +00001087 (ospf_recv_packet) ditto. And msg_flags is not always there
1088 memset struct then set fields we care about rather than
1089 initialise all fields individually.
1090
hassoc9e52be2004-09-26 16:09:34 +000010912004-09-26 Hasso Tepper <hasso at quagga.net>
1092
1093 * ospf_abr.c, ospf_dump.c, ospf_lsa.c, ospf_packet.c, ospf_vty.c,
1094 ospf_zebra.c: Fix compiler warnings.
1095
paul87d6f872004-09-24 08:01:38 +000010962004-09-24 Paul Jakma <paul@dishone.st>
1097
1098 * ospf_apiserver.{c,h}: lists typedef removal cleanup.
1099 update some list loops to LIST_LOOP. some miscellaneous indent
1100 fixups.
1101 (ospf_apiserver_unregister_opaque_type) fix listnode_delete of
1102 referenced node in loop.
paul1603c062004-09-24 08:23:24 +00001103 (ospf_apiserver_term) loops calling ospf_apiserver_free, which
1104 deletes referenced nodes from apiserver_list, fixed.
paul87d6f872004-09-24 08:01:38 +00001105 * ospf_interface.h: lists typedef removal cleanup.
1106 * ospf_opaque.{c,h}: lists typedef removal cleanup. update some list
1107 loops to LIST_LOOP. miscellaneous style and indent fixups.
1108 * ospf_te.{c,h}: ditto
1109 * ospf_packet.c: lists typedef removal cleanup.
paula2570682004-09-24 08:09:57 +00001110 (ospf_write) ifdef fragmentation support. move actual
1111 fragmentation out to a new, similarly ifdefed, function.
1112 (ospf_write_frags) fragmented write support, moved from previous.
paul87d6f872004-09-24 08:01:38 +00001113
hasso52dc7ee2004-09-23 19:18:23 +000011142004-09-23 Hasso Tepper <hasso at quagga.net>
1115
1116 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
1117
paul68b73392004-09-12 14:21:37 +000011182004-09-12 Paul Jakma <paul@dishone.st>
1119
1120 * ospf_packet.c: Fix bugzilla #107
1121 (ospf_packet_max) get rid of the magic 88 constant
1122 (ospf_swab_iph_ton) new function. set ip header to network order,
1123 taking BSDisms into account.
1124 (ospf_swab_iph_toh) the inverse.
1125 (ospf_write) Add support for IP fragmentation, will only work on
1126 linux though, other kernels make it impossible. get rid of the
1127 magic 4 constant.
1128 (ospf_make_ls_upd) Bound check to end of stream, not to
1129 interface mtu.
1130 (ospf_ls_upd_packet_new) New function, allocate upd packet
1131 taking oversized LSAs into account.
1132 (ospf_ls_upd_queue_send) use ospf_ls_upd_packet_new to allocate,
1133 rather than statically allocating mtu sized packet buffer, which
1134 actually was wrong - it didnt take ip header into account, which
1135 should not be included in packet buffer.
1136 (ospf_ls_upd_send_queue_event) minor tweaks and remove
1137 TODO comment.
1138
gdt630e4802004-08-31 17:28:41 +000011392004-08-31 David Wiggins <dwiggins@bbn.com>
1140
1141 * ospf_spf.c (ospf_spf_calculate): Many more comments and debug
1142 print statements. New function ospf_vertex_dump used in debugging.
1143
11442004-08-31 David Wiggins <dwiggins@bbn.com>
1145
1146 * ospf_spf.h (struct vertex): Comments for flags and structure members.
1147
11482004-08-31 David Wiggins <dwiggins@bbn.com>
1149
1150 * ospf_route.c: When finding an alternate route, log cost as well.
1151
11522004-08-31 David Wiggins <dwiggins@bbn.com>
1153
1154 * ospf_interface.c (ospf_lookup_if_params): Initialize af in
1155 struct prefix allocated on stack.
1156
11572004-08-31 David Wiggins <dwiggins@bbn.com>
1158
1159 * ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send
1160 acks to AllSPFRouters, rather than All-DR.
1161
hasso7b901432004-08-31 13:37:42 +000011622004-08-27 Hasso Tepper <hasso at quagga.net>
1163
1164 * ospf_vty.c: Don't print ospf network type under interface only
1165 if interface is in broadcast mode and interface type really is
1166 broadcast. Fixes Bugzilla #108.
1167
gdtd7d93992004-08-27 12:03:42 +000011682004-08-27 David Wiggins <dwiggins@bbn.com>
1169
1170 * ospf_spf.c (ospf_nexthop_calculation): Initialize address family
1171 in on-stack struct prefix_ipv4. Fixes point-to-multipoint SPF
1172 calculation.
1173
gdtd0deca62004-08-26 13:14:07 +000011742004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
1175
1176 * ospf_packet.c (ospf_recv_packet): adjust size declaration of
gdtd7d93992004-08-27 12:03:42 +00001177 buffer used to get interface index so that it compiles on other
1178 than Linux and includes the required alignment space. Probably
1179 this was only working on sparc/sparc64 because most of
1180 sockaddr_dl was not being written.
gdtd0deca62004-08-26 13:14:07 +00001181
paul863082d2004-08-19 04:43:43 +000011822004-08-19 Paul Jakma <paul@dishone.st>
1183
1184 * ospf_packet.c: update to match sockopt renames.
1185
paul75ee0b82004-08-05 09:10:31 +000011862004-08-04 Paul Jakma <paul@dishone.st>
1187
1188 * ospf_spf.c: (ospf_spf_consider_nexthop) Add comment about issue.
1189 Compare only against list head - all nexthops must be same cost
1190 anyway, fixes a reference-listnode-after-delete bug noted by
1191 Kir Kostuchenko.
1192 (ospf_nexthop_calculation) Use ospf_spf_consider_nexthop for all
1193 candidates attached to root.
1194
paul36c64ef2004-07-27 11:19:11 +000011952004-07-27 Paul Jakma <paul@dishone.st>
1196
paul48fe13b2004-07-27 17:40:44 +00001197 * ospf_packet.c: (ospf_ls_upd_send_queue_event) fix thinko from
1198 last fix for ospfd wedging due to oversize LSAs: dont list loop on
1199 ospf_ls_upd_queue_send() - guaranteed segfault.
1200
12012004-07-27 Paul Jakma <paul@dishone.st>
1202
paul36c64ef2004-07-27 11:19:11 +00001203 * ospf_opaque.c: (ospf_opaque_lsa_flush_schedule) do not NULL out
1204 the LSA as then free_opaque_info_per_id() can never unlock (and
1205 free) the LSA. Reported by Gunnar Stigen.
1206
paul2dd8bb42004-07-23 15:13:48 +000012072004-07-23 Paul Jakma <paul@dishone.st>
1208
1209 * ospf_network.c: Replace PKTINFO/RECVIF with call to
1210 setsockopt_pktinfo
1211 * ospf_packet.c: Use getsockopt_pktinfo_ifindex and
1212 SOPT_SIZE_CMSG_PKTINFO_IPV4.
1213
paul59ea14c2004-07-14 20:50:36 +000012142004-07-14 Paul Jakma <paul@dishone.st>
1215
1216 * ospf_packet.c: (ospf_ls_upd_send_queue_event) Partial fix for
1217 problem reported by Peter Frost amongst others, where function
1218 will spin indefinitely if update list contains LSAs greater than
1219 MTU-headers or other condition leading to update list never being
1220 cleared. Problem of what to do with these LSAs remains.
1221 (ospf_make_ls_upd) add comment about large LSA problem,
1222 indentation cleanup.
1223
gdtb2c1b282004-07-01 12:35:36 +000012242004-07-01 Greg Troxel <gdt@fnord.ir.bbn.com>
1225
1226 * Makefile.am (lib_LTLIBRARIES): make libospf shared
1227
gdt87efd642004-06-30 17:36:11 +000012282004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1229
1230 * Makefile.am: Add shlib support.
1231
hassobeebba72004-06-20 21:00:27 +000012322004-06-10 Hasso Tepper <hasso@estpak.ee>
1233
1234 * *: Removed ifdefs HAVE_NSSA.
1235
paul553ff112004-06-06 09:41:00 +000012362004-06-06 Paul Jakma <paul@dishone.st>
1237
1238 * ospf_dump.c,ospf_lsa.c: Fix typos of merge of previous.
1239 ospf_flood.c: (ospf_process_self_originated_lsa) fix zlog format
1240
paul0c2be262004-05-31 14:16:54 +000012412004-05-31 Sagun Shakya <sagun.shakya@sun.com>
1242
1243 * ospf_dump.c: (ospf_lsa_header_dump) LOOKUP can return null if
1244 index is out of range.
1245 ospf_flood.c: endianness fix
1246 ospf_lsa.c: Missing ntohl's on (struct lsa *)->data->ls_seqnum
1247 in various places.
1248
hassodd669bb2004-05-10 07:43:59 +000012492004-05-10 Hasso Tepper <hasso@estpak.ee>
1250
1251 * ospf_zebra.c, ospfd.c: Move ospf_prefix_list_update() function
1252 to ospf_zebra.c from ospfd.c and add redistribution updates if
1253 route-map is used in redistribution.
1254 * ospf_main.c: Remove now useless call to ospf_init().
1255
paul0a589352004-05-08 11:48:26 +000012562004-05-08 Paul Jakma <paul@dishone.st>
1257
1258 * ospf_zebra.c: Sync with lib/zclient changes
1259
pauld3f0d622004-05-05 15:27:15 +000012602004-05-05 Paul Jakma <paul@dishone.st>
1261
paul5bd41892004-05-05 17:29:24 +00001262 * ospf_network.c: (ospf_sock_init) Check whether IP_HDRINCL is
1263 defined. Warn at compile and runtime. Use
1264 IPTOS_PREC_INTERNETCONTROL otherwise.
pauld3f0d622004-05-05 15:27:15 +00001265 * ospf_packet.c: (ospf_associate_packet_vl) cleanup, move
1266 some of the checks up to ospf_read, return either a
1267 virtual link oi, or NULL.
1268 (ospf_read) Cleanup, make it responsible for checks. Remove
1269 the nbr lookup - moved to ospf_neighbor. Adjust all nbr
1270 lookups to use new wrappers exported by ospf_neighbor.
1271 * ospf_neighbor.h: Add ospf_neigbour_get and ospf_nbr_lookup.
1272 * ospf_neighbor.c: (ospf_neigbour_get) Index ospf_interface
1273 neighbour table by router-id for virtual-link ospf_interfaces,
1274 not by peer_addr (which breaks for asymmetric vlinks)
1275 (ospf_nbr_lookup) add a wrapper for nbr lookups to deal with
1276 above.
paulcd59da62004-05-05 17:26:55 +00001277 * ospf_interface.c: (ospf_vl_set_params) Catch changes of interface
1278 address for either end of a virtual-link, and hence potential cost
1279 changes.
1280
hassoa0a39762004-04-23 08:51:10 +000012812004-04-22 Hasso Tepper <hasso@estpak.ee>
1282
1283 * ospf_zebra.c: Don't ignore reject/bh routes, it's the only way
1284 to "summarize" routes in ASBR at the moment.
1285
hasso8585d4e2004-04-20 17:25:12 +000012862004-04-20 Hasso Tepper <hasso@estpak.ee>
1287
1288 * ospfd.c: Unset NP flag if area is going to be normal or stub.
1289 Fixes UNH OSPF_NSSA.1.2a comment.
1290 * ospf_abr.c: Originate default into stub/nssa area even if
1291 summaries are disabled.
1292 * ospf_zebra.c: Don't attempt to redistribute 127.0.0.0/8.
1293
hassoc266ac72004-04-19 17:31:00 +000012942004-04-19 Hasso Tepper <hasso@estpak.ee>
1295
1296 * ospf_vty.c: Don't warn that export- and import-list can't be
1297 configured to backbone area if they are applied and are working
1298 fine.
1299
hasso128d31d2004-04-04 12:52:33 +000013002004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1301
1302 * ospf_packet.c: Don't drop packets in Solaris x86.
1303 [quagga-dev 1005].
1304
hasso0d85b992004-03-18 19:18:33 +000013052004-03-18 Amir Guindehi <amir@datacore.ch>
1306
1307 * ospf_opaque.c: Attempt to correct the incorrect behavior of
1308 Quagga's ospfd in the special situation that a node's opaque
1309 capability has changed as "ON -> OFF -> ON". [quagga-dev 843].
1310
paul7f352b82004-02-19 19:37:47 +000013112004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1312
1313 * ospf_abr.c: (ospf_abr_update_aggregate) UNH 3.12b,c, address range
1314 should be configured with the highest cost path within the range,
1315 not lowest.
1316
paul940b01a2004-02-17 20:07:30 +000013172004-02-17 Paul Jakma <paul@dishone.st>
1318
1319 * ospf_zebra.c: (ospf_interface_delete) Do not delete the interface
1320 params, nor the interface structure, if an interface delete
1321 message is received from zebra.
1322 * ospf_interface.c: (ospf_if_delete_hook) Delete the interface
1323 params and interface, ie that which was previously removed in
1324 (ospf_interface_delete) above.
1325
hasso2db3d052004-02-11 21:52:13 +000013262004-02-11 Hasso Tepper <hasso@estpak.ee>
1327 * ospf_interface.c, ospf_zebra.c: Don't attempt to read path->oi->ifp
1328 if oi doesn't exist any more.
1329
hassocb05eb22004-02-11 21:10:19 +000013302004-02-11 Vadim Suraev <vadim.suraev@terayon.com>
1331 * ospf_packet.c (ospf_ls_upd): Router should flush received network
1332 LSA if it was originated with older router-id ([zebra 14710] #6).
1333
13342003-12-08 Mattias Amnefelt <mattiasa@kth.se>
paul239aecc2003-12-08 10:34:54 +00001335
1336 * ospf_packet.c: (ospf_recv_packet) OpenBSD now leaves iph.ip_len
1337 network byte order.
1338
gdt8f40e892003-12-05 14:01:43 +000013392003-12-05 Greg Troxel <gdt@poblano.ir.bbn.com>
1340
1341 * ospfd.c (ospf_network_match_iface): Rewrite code for clarity
1342 while trying not to change semantics. Add ifdefed-out code to
1343 avoid matching ppp interfaces whose destination address does not
1344 also match the prefix under consideration, to help out people with
1345 problems due to as-yet-unfixed bugs with p2p interfaces coming and
1346 going.
1347
paul736d3442003-07-24 23:22:57 +000013482003-07-25 kamatchi soundaram <kamatchi@tdd.sj.nec.com>
1349
1350 * ospf_packet.c (ospf_ls_upd_send_queue_event): get next route
1351 node in body of the loop to avoid chance that route node
1352 is unlocked and deleted before the next iteration tries to
1353 get next route node.
1354
paul0a825c72003-05-24 13:48:16 +000013552003-05-24 Kenji Yabuuchi
1356
1357 * ospf_interface.c(ospf_if_lookup_recv_if): Use the most specific
1358 match for interface lookup.
1359
paul551a8972003-05-18 15:22:55 +000013602003-05-18 Hasso Tepper <hasso@estpak.ee>
paul445f1432003-05-16 19:00:31 +00001361
paul551a8972003-05-18 15:22:55 +00001362 * ospf_vty.c: Show NSSA LSA route info in "show ip ospf database"
1363 output
paul445f1432003-05-16 19:00:31 +00001364
pauld7480322003-05-16 17:31:51 +000013652003-05-16 Hasso Tepper <hasso@estpak.ee>
1366
1367 * ospf_lsa.c: Fix handling of NSSA
1368
paul551a8972003-05-18 15:22:55 +000013692003-04-23 Hasso Tepper <hasso@estpak.ee>
1370
1371 * ospf_vty.c: fix "router xxx" node commands in vtysh
1372
paul445f1432003-05-16 19:00:31 +000013732003-04-19 Hasso Tepper <hasso@estpak.ee>
1374
1375 * {ospf_abr,ospfd}.c: area id's DECIMAL -> ADDRESS
1376 * ospf_routemap.c: sync daemon's route-map commands to have same
1377 syntax.
1378
13792003-04-19 Sergey Vyshnevetskiy <serg@vostok.net>
1380
1381 * ospf_packet.c: Add missing param to zlog
1382 * ospf_flood.c: remove unused vars
1383
13842003-04-17 Denis Ovsienko <zebra@pilot.org.ua>
1385
1386 * ospf_interface.c: fix incorrect memset
1387
paul28a13842003-05-16 20:30:37 +000013882003-04-10 Amir Guindehi <amir@datacore.ch>
paul445f1432003-05-16 19:00:31 +00001389
1390 * ospf_lsa.[ch]: opaque LSA fix, use ospf_lookup.
1391
13922003-04-03 David Watson <dwatson@eecs.umich.edu>
1393
1394 * ospf_lsa.c: byte order fix
1395
paul07661cb2003-03-18 00:03:05 +000013962002-03-17 Amir Guindehi <amir@datacore.ch>
1397
1398 * ospf_apiserver.[ch]: Merge Ralph Keller's OSPFAPI support.
1399 * ospf_api.[ch]: Merge Ralph Keller's OSPFAPI support.
1400 * ospfclient: OSPFAPI demonstration client.
1401
14022003-01-23 Masahiko Endo <endo@suri.co.jp>
1403
1404 * ospf_ism.c: NSM event schedule bug fix.
1405
14062002-10-30 Greg Troxel <gdt@ir.bbn.com>
1407
1408 * ospf_packet.c (ospf_make_md5_digest): MD5 length fix.
1409
paul718e3742002-12-13 20:15:29 +000014102002-10-23 endo@suri.co.jp (Masahiko Endo)
1411
1412 * ospf_opaque.c: Update Opaque LSA patch.
1413
14142002-10-23 Ralph Keller <keller@tik.ee.ethz.ch>
1415
1416 * ospf_vty.c (show_ip_ospf_database): Fix CLI parse.
1417
14182002-10-23 Juris Kalnins <juris@mt.lv>
1419
1420 * ospf_interface.c (ospf_if_stream_unset): When write queue
1421 becomes empty stop write timer.
1422
14232002-10-10 Greg Troxel <gdt@ir.bbn.com>
1424
1425 * ospf_packet.c (ospf_check_md5_digest): Change >= to > to make it
1426 conform to RFC.
1427
14282002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1429
1430 * zebra-0.93 released.
1431
14322002-06-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1433
1434 * ospf_spf.c (ospf_nexthop_calculation): Add NULL set to oi and
1435 check of l2. Reported by: Daniel Drown <dan-zebra@drown.org>
1436 (ospf_lsa_has_link): LSA Length calculation fix. Reported by:
1437 Paul Jakma <paulj@alphyra.ie>.
1438
1439 * ospfd.c (ospf_if_update): Fix nextnode reference bug. Reported
1440 by: juris@mt.lv.
1441
14422002-01-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1443
1444 * ospfd.c: Merge [zebra 11445] Masahiko ENDO's Opaque-LSA support.
1445
14462001-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1447
1448 * ospf_interface.c (ospf_add_to_if): Use /32 address to register
1449 OSPF interface information.
1450 (ospf_delete_from_if): Likewise.
1451
1452 * ospf_zebra.c (ospf_interface_address_delete): Likewise.
1453
14542001-08-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1455
1456 * ospf_zebra.c (ospf_redistribute_unset): When redistribute type
1457 is OSPF, do not unset redistribute flag.
1458
14592001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1460
1461 * zebra-0.92a released.
1462
14632001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1464
1465 * zebra-0.92 released.
1466
14672001-08-12 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1468
1469 * ospfd.c (ospf_config_write): auto-cost reference-bandwidth
1470 configuration display.
1471
14722001-07-24 David Watson <dwatson@eecs.umich.edu>
1473
1474 * ospf_spf.c (ospf_spf_next): Modify ospf_vertex_add_parent to
1475 check for an existing link before connecting the parent and child.
1476 ospf_nexthop_calculation is also modified to check for duplicate
1477 entries when copying from the parent. Finally, ospf_spf_next
1478 removes duplicates when it merges two equal cost candidates.
1479
14802001-07-23 itojun@iijlab.net
1481
1482 * ospfd.c (show_ip_ospf_neighbor): Check ospf_top before use it
1483 [zebra 8549].
1484
14852001-07-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1486
1487 * ospf_packet.c (ospf_write): Remove defined(__OpenBSD__) to make
1488 it work on OpenBSD.
1489
14902001-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1491
1492 * ospf_zebra.c (config_write_ospf_default_metric): Display
1493 default-metric configuration.
1494
14952001-06-18 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1496
1497 * ospf_ia.h (OSPF_EXAMINE_SUMMARIES_ALL): Remove old macros.
1498
14992001-05-28 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1500
1501 * ospf_snmp.c (ospfIfEntry): Fix interface lookup bug to avoid
1502 crush.
1503 (ospfIfMetricEntry): Likewise.
1504
15052001-03-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1506
1507 * ospf_packet.c (ospf_read): Fix typo. Reported by: "Jen B
1508 Lin'Kova" <jen@stack.net>.
1509
15102001-03-15 Gleb Natapov <gleb@nbase.co.il>
1511
1512 * ospf_interface.c (ip_ospf_network): Set interface parameter.
1513 (interface_config_write): Add check for OSPF_IFTYPE_LOOPBACK.
1514
1515 * ospf_zebra.c (ospf_interface_add): Set interface parameter.
1516
15172001-02-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1518
1519 * ospf_packet.c (ospf_recv_packet): Solaris also need to add
1520 (iph.ip_hl << 2) to iph.ip_len.
1521
15222001-02-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1523
1524 * ospfd.h (OSPF_LS_REFRESH_TIME): Fix OSPF_LS_REFRESH_TIME value.
1525 Suggested by: David Watson <dwatson@eecs.umich.edu>.
1526
1527 * ospf_zebra.c (zebra_init): Remove zebra node.
1528
1529 * ospfd.c (ospf_area_range_set): Function name is changed from
1530 ospf_ara_range_cmd.
1531 (ospf_area_range_unset): New function which separated from DEFUN.
1532 New commands are added:
1533 "no area A.B.C.D range A.B.C.D/M advertise"
1534 "no area <0-4294967295> range A.B.C.D/M advertise"
1535 "no area A.B.C.D range A.B.C.D/M not-advertise"
1536 "no area <0-4294967295> range A.B.C.D/M not-advertise"
1537
1538 * ospf_lsa.c (ospf_lsa_more_recent): Fix previous change.
1539
15402001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
1541
1542 * ospf_network.c (ospf_if_add_allspfrouters): Use
1543 setsockopt_multicast_ipv4.
1544 (ospf_if_drop_allspfrouters): Likewise.
1545
1546 * ospf_lsa.c (ospf_router_lsa_install): Add rt_recalc flag.
1547 (ospf_network_lsa_install): Likewise.
1548 (ospf_summary_lsa_install): Likewise.
1549 (ospf_summary_asbr_lsa_install): Likewise.
1550 (ospf_external_lsa_install): Likewise.
1551 (ospf_lsa_install): Call ospf_lsa_different to check this LSA is
1552 new one or not.
1553
15542001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1555
1556 * ospf_zebra.c (ospf_interface_delete): Do not free interface
1557 structure when ospfd receive interface delete message to support
1558 pseudo interface.
1559
15602001-02-01 Dick Glasspool <dick@ipinfusion.com>
1561
1562 * ospfd.c (area_range_notadvertise): Change area range "suppress"
1563 command to "not-advertise".
1564
1565 * ospfd.h (OSPF_LS_REFRESH_TIME): Change OSPF_LS_REFRESH_TIME from
1566 1800 to 60.
1567
1568 * ospf_abr.c (ospf_abr_update_aggregate): When update_aggregate is
1569 updating the area-range, the lowest cost is now saved.
1570
1571 * ospf_lsa.c (ospf_lsa_more_recent): Routing to compare sequence
1572 numbers rather than creating overflow during calculation.
1573
15742001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1575
1576 * zebra-0.91 is released.
1577
15782001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1579
1580 * ospf_packet.c (ospf_db_desc_proc): Do not continue process when
1581 NSM_SeqNumberMismatch is scheduled.
1582 (ospf_ls_req): Free ls_upd when return from this function.
1583 (ospf_ls_upd_timer): When update list is empty do not call
1584 ospf_ls_upd_send(). Suggested by: endo@suri.co.jp (Masahiko
1585 Endo).
1586
15872001-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1588
1589 * ospf_lsa.c (ospf_maxage_flood): Flood LSA when it reaches
1590 MaxAge. RFC2328 Section 14.
1591 (ospf_maxage_lsa_remover): Call above function during removing
1592 MaxAge LSA.
1593
15942001-01-26 Dick Glasspool <dick@ipinfusion.com>
1595
1596 * ospf_flood.c (ospf_flood_through_as): Function is updated for
1597 NSSA Translations now done at ospf_abr.c with no change in P-bit.
1598
1599 * ospf_lsa.c (ospf_get_nssa_ip): Get 1st IP connection for Forward
1600 Addr.
1601 (ospf_install_flood_nssa): Leave Type-7 LSA at Lock Count = 2.
1602
1603 * ospf_ase.c (ospf_ase_calculate_route): Add debug codes.
1604
1605 * ospf_abr.c (ospf_abr_translate_nssa): Recalculate LSA checksum.
1606
1607 * ospf_packet.h (OSPF_SEND_PACKET_LOOP): Added for test packet.
1608
1609 * ospf_dump.c (ospf_lsa_type_msg): Add OSPF_GROUP_MEMBER_LSA and
1610 OSPF_AS_NSSA_LSA.
1611
1612 * ospfd.c (data_injection): Function to inject LSA. This is
1613 debugging command.
1614
16152001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1616
1617 * ospf_route.c (ospf_route_match_same): Remove function.
1618 (ospf_route_match_same_new): Renamed to ospf_route_match_same.
1619
1620 * ospf_zebra.c (ospf_interface_address_delete): Add check for
1621 oi->address. Suggested by Matthew Grant
1622 <grantma@anathoth.gen.nz>.
1623 (ospf_zebra_add): Remove function.
1624 (ospf_zebra_add_multipath): Rename to ospf_zebra_add.
1625
1626 * ospf_interface.c: Remove HAVE_IF_PSEUDO part.
1627
1628 * ospf_zebra.c: Likewise.
1629
16302001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1631
1632 * ospf_ase.c: Remove OLD_RIB part.
1633
1634 * ospf_route.c: Likewise.
1635
1636 * zebra-0.90 is released.
1637
1638 * ospf_packet.c (ospf_recv_packet): Use ip_len adjestment code to
1639 NetBSD.
1640
16412001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1642
1643 * ospf_route.c (ospf_route_delete): Use
1644 ospf_zebra_delete_multipath.
1645
16462001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1647
1648 * ospf_interface.c (ospf_if_cleanup): Function name is renamed
1649 from ospf_if_free(). Rewrite whole procudure to support primary
1650 address deletion.
1651
1652 * ospf_zebra.c (ospf_interface_address_delete): Add primary
1653 address deletion process.
1654
16552001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1656
1657 * ospf_packet.c (ospf_recv_packet): OpenBSD has same ip_len
1658 treatment like FreeBSD.
1659
16602001-01-09 endo@suri.co.jp (Masahiko Endo)
1661
1662 * ospf_packet.c (ospf_recv_packet): FreeBSD kernel network code
1663 strips IP header size from receiving IP Packet. So we adjust
1664 ip_len to whole IP packet size by adding IP header size.
1665
16662001-01-08 endo@suri.co.jp (Masahiko Endo)
1667
1668 * ospf_network.c (ospf_serv_sock): When socket() is failed return
1669 immediately.
1670 (ospf_serv_sock): Close socket when it is not used.
1671
1672 * ospf_packet.c (ospf_write): Set sin_len when HAVE_SIN_LEN is
1673 defined.
1674 (ospf_write): When bind is fined, close sock.
1675
16762001-01-07 Gleb Natapov <gleb@nbase.co.il>
1677
1678 * ospf_zebra.c (ospf_interface_state_up): Fixes coredump that
1679 appears when you try to configure bandwidth on the ppp interface
1680 that is not yet configured in ospfd.
1681
16822001-01-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1683
1684 * ospf_route.c (show_ip_ospf_route_external): "show ip ospf route"
1685 will print nexthops for AS-external routes.
1686
1687 * ospf_ase.c (ospf_ase_route_match_same): New function to compare
1688 ASE route under multipath environment.
1689 (ospf_ase_compare_tables): Likewise.
1690
16912001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1692
1693 * ospfd.h (OSPF_VTYSH_PATH): Change "/tmp/ospfd" to "/tmp/.ospfd".
1694
16952000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1696
1697 * ospf_route.c (ospf_route_install): Install multipath information
1698 to zebra daemon.
1699
1700 * ospf_zebra.c (ospf_zebra_add_multipath): Function for passing
1701 multipath information to zebra daemon.
1702
17032000-12-25 Dick Glasspool <dick@ipinfusion.com>
1704
1705 * ospf_packet.c (ospf_write): Call ospf_packet_delete when sendto
1706 fail.
1707 (DISCARD_LSA): Add argument N for logging point of DISCARD_LSA is
1708 called.
1709
1710 * ospf_lsa.c (ospf_external_lsa_refresh): NSSA install_flood will
1711 leave Type-7 LSA at Lock Count = 2.
1712
1713 * ospf_flood.c (ospf_flood_through): Flood_though_as updated for
1714 NSSA no P-bit off during Area flooding, but P-bit is turned off
1715 for mulitple NSSA AS flooding.
1716
1717 * ospf_ase.c (ospf_ase_calculate_timer): Added calculations for
1718 Type-7 LSDB.
1719
1720 * ospf_abr.c (ospf_abr_translate_nssa): Removed one unlock call.
1721 (ospf_abr_announce_nssa_defaults): Corrected Debug from EVENT to
1722 NSSA.
1723
17242000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1725
1726 * ospf_zebra.c (ospf_zebra_read_ipv4): Checking the age of the
1727 found LSA and if the LSA is MAXAGE we should call refresh instead
1728 of originate.
1729
17302000-12-18 Dick Glasspool <dick@ipinfusion.com>
1731
1732 * ospf_abr.c: Removed redundant "...flood" in
1733 announce_network_to_area(). Repaired nssa Unlock by using
1734 discard.
1735
1736 * ospf_packet.c: Removed old NSSA translate during mk_ls_update.
1737
1738 * ospfd.c: Free up all data bases including NSSA.
1739
1740 * ospf_lsa.c: Now allow removal of XLATE LSA's Check in
1741 discard_callback. Added routine to get ip addr from within the
1742 ifp.
1743
1744 * ospf_flood.c: Now set Forward Address for outgoing Type-7.
1745
1746 * ospf_lsa.h: Added prototype for the below. struct in_addr
1747 ospf_get_ip_from_ifp (struct interface *ifp).
1748
17492000-12-14 Gleb Natapov <gleb@nbase.co.il>
1750
1751 * ospf_packet.c (ospf_recv_packet): New OSPF pakcet read method.
1752 Now maximum packet length may be 65535 bytes (maximum IP packet
1753 length).
1754
1755 * ospf_interface.c (ospf_if_stream_set): Don't make input buffer.
1756
1757 * ospfd.c (config_write_network_area): Remove unnecessary area
1758 lookup code.
1759
17602000-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1761
1762 * ospf_packet.c (ospf_read): Accept packet bigger than MTU value.
1763
17642000-12-13 Gleb Natapov <gleb@nbase.co.il>
1765
1766 * ospfd.c (config_write_network_area): Fix bug in
1767 config_write_network_area function.
1768
17692000-12-12 Gleb Natapov <gleb@nbase.co.il>
1770
1771 * ospf_abr.c (ospf_abr_announce_network_to_area): Make Summary
1772 LSA's origination and refreshment as same as other type of LSA.
1773
1774 * ospf_lsa.c (ospf_summary_lsa_refresh): Return struct ospf_lsa *.
1775
1776 * ospf_lsa.c (ospf_summary_asbr_lsa_refresh): Likewise.
1777
17782000-12-08 Dick Glasspool <dick@ipinfusion.com>
1779
1780 The bulk of NSSA changes are contained herein; This version will
1781 require manual setting of "always" for NSSA Translator, and will
1782 not perform aggregation yet.
1783
1784 * ospf_dump.c: "debug ospf nssa" is added.
1785
1786 * ospf_dump.h: Likewise.
1787
1788 * ospf_packet.c (ospf_hello): Display router ID on Bad NSSA Hello.
1789
1790 * ospfd.c: Discard_LSA to stay away from LOCAL_XLT Process NSSA
1791 'never, candidate, always'. Change "suppress" to "not-advertise".
1792
1793 * ospfd.h: Add TranslatorRole to struct ospf_area. Add anyNSSA to
1794 struct ospf.
1795
1796 * ospf_ase.c (ospf_ase_calculate_route): External to stay away
1797 from LOCAL_XLT
1798
1799 * ospf_nsm.c (ospf_db_summary_add): External to stay away from
1800 LOCAL_XLT
1801
1802 * ospf_abr.c: Major logic added for abr_nssa_task(). If ABR, and
1803 NSSA translator, then do it. Approve the global list, and flush
1804 any unapproved.
1805
1806 * ospf_lsa.h: New LSA flag OSPF_LSA_LOCAL_XLT to indicate that the
1807 Type-5 resulted from a Local Type-7 translation; not used for
1808 flooding, but used for flushing.
1809
1810 * ospf_flood.c: New NSSA flooding.
1811
18122000-12-08 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1813
1814 * ospfd.c (ospf_find_vl_data): New function for looking up virtual
1815 link data.
1816 (ospf_vl_set_security): Virtual link configuration with
1817 authentication.
1818 (ospf_vl_set_timers): Set timers for virtual link.
1819
1820 * New commands are added.
1821 "area A.B.C.D virtual-link A.B.C.D"
1822 "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>"
1823 "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"
1824 "area A.B.C.D virtual-link A.B.C.D authentication-key AUTH_KEY"
1825 "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"
1826 "area A.B.C.D virtual-link A.B.C.D message-digest-key <1-255> md5 KEY"
1827
1828 * ospf_packet.c (ospf_check_md5_digest): Add neighbor's
1829 cryptographic sequence number treatment.
1830 (ospf_check_auth): OSPF input buffer is added to argument.
1831 (ospf_read): Save neighbor's cryptographic sequence number.
1832
1833 * ospf_nsm.c (nsm_change_status): Clear cryptographic sequence
1834 number when neighbor status is changed to NSM down.
1835
1836 * ospf_neighbor.c (ospf_nbr_new): Set zero to crypt_seqnum.
1837
1838 * ospf_neighbor.h (struct ospf_neighbor): Add cryptographic
1839 sequence number to neighbor structure.
1840
18412000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1842
1843 * ospf_snmp.c (ospfIfLookup): OSPF MIB updates.
1844 (ospfExtLsdbEntry): Add OspfExtLsdbTable treatment.
1845
18462000-11-28 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1847
1848 * ospfd.c (ospf_interface_down): Clear a ls_upd_queue queue of the
1849 interface.
1850 (ospf_ls_upd_queue_empty): New function to empty ls update queue
1851 of the OSPF interface.
1852 (no_router_ospf): 'no router ospf' unregister redistribution
1853 requests from zebra.
1854
18552000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1856
1857 * ospf_ism.c (ism_change_status): Increment status change number.
1858
1859 * ospf_interface.h (struct ospf_interface): Add new member for
1860 status change statistics.
1861
1862 * Makefile.am: Update dependencies.
1863
1864 * ospf_zebra.c (ospf_interface_add): OSPF SNMP interface update.
1865 (ospf_interface_delete): OSPF SNMP interface delete.
1866
1867 * ospf_snmp.h: New file is added.
1868
18692000-11-23 Dick Glasspool <dick@ipinfusion.com>
1870
1871 * ospfd.h: Add new ospf_area structure member for
1872 NSSATranslatorRole and NSSATranslator state.
1873
1874 * ospfd.c: Provided for eventual commands to specify NSSA
1875 elections for "translator- ALWAYS/NEVER/CANDIDATE". Provided for
1876 decimal integer version of area-suppress.
1877
1878 * ospf_flood.c: Flood Type-7's only into NSSA (not AS).
1879
1880 * ospf_lsa.c: Undo some previous changes for NSSA. If NSSA
1881 translator, advertise Nt bit.
1882
1883 * ospf_route.c: 1st version of "sh ip os border-routers".
1884
18852000-11-23 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1886
1887 * ospfd.c (area_vlink): Virtual link can not configured in stub
1888 area.
1889
18902000-11-23 Gleb Natapov <gleb@nbase.co.il>
1891
1892 * ospf_packet.c (ospf_db_desc): In states Loading and Full the
1893 slave must resend its last Database Description packet in response
1894 to duplicate Database Description packets received from the
1895 master. For this reason the slave must wait RouterDeadInterval
1896 seconds before freeing the last Database Description packet.
1897 Reception of a Database Description packet from the master after
1898 this interval will generate a SeqNumberMismatch neighbor
1899 event. RFC2328 Section 10.8
1900 (ospf_make_db_desc): DD Master flag treatment.
1901
1902 * ospf_nsm.c (nsm_twoway_received): Move DD related procedure to
1903 nsm_change_status().
1904 (nsm_bad_ls_req): Likewise.
1905 (nsm_adj_ok): Likewise.
1906 (nsm_seq_number_mismatch): Likewise.
1907 (nsm_oneway_received): Likewise.
1908
1909 * ospf_neighbor.h (struct ospf_neighbor): New structure member
1910 last_send_ts for timestemp when last Database Description packet
1911 was sent.
1912
1913 * ospf_nsm.c (ospf_db_desc_timer): Make it sure nbr->last_send is
1914 there. Call ospf_db_desc_resend() in any case.
1915
19162000-11-16 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1917
1918 * ospf_lsa.c (lsa_link_broadcast_set): When there is no DR on
1919 network (suppose you have only one router with interface priority
1920 0). It's router LSA does not contain the link information about
1921 this network.
1922
1923 * ospf_nsm.c (nsm_timer_set): When you change a priority of
1924 interface from/to 0 ISM_NeighborChange event should be scheduled
1925 in order to elect new DR/BDR on the network.
1926
1927 * ospf_interface.c (ip_ospf_priority): Likewise.
1928
1929 * ospf_flood.c (ospf_ls_retransmit_add): When we add some LSA into
1930 retransmit list we need to check whether the present old LSA in
1931 retransmit list is not more recent than the new
1932 one.
1933
19342000-11-09 Dick Glasspool <dick@ipinfusion.com>
1935
1936 * ospf_packet.c: Allows for NSSA Type-7 LSA's throughout the NSSA
1937 area. Any that exit the NSSA area are translated to type-5 LSA's.
1938 The instantiated image is restored after translation.
1939 (ospf_ls_upd_send_list): Renamed to ospf_ls_upd_queu_send().
1940 (ospf_ls_upd_send): Old function which enclosed by #ifdef 0 is
1941 removed.
1942 (ospf_ls_ack_send): Likewise.
1943
1944 * ospf_flood.c: NSSA-LSA's without P-bit will be restricted to
1945 local area. Otherwise they are allowed out the area to be
1946 translated by ospf_packet.c.
1947
1948 * ospf_lsa.c: Undo some previous changes for NSSA.
1949
1950 * ospf_lsdb.h: New access for type 7.
1951
19522000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1953
1954 * ospf_route.c (ospf_path_exist): New function to check nexthop
1955 and interface are in current OSPF path or not.
1956 (ospf_route_copy_nexthops_from_vertex): Add nexthop to OSPF path
1957 when it is not there. Reported by Michael Rozhavsky
1958 <mrozhavsky@opticalaccess.com>
1959
19602000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1961
1962 * ospf_dump.c (config_write_debug): Add seventh string "detail" is
1963 added for flag is OSPF_DEBUG_SEND | OSPF_DEBUG_RECV |
1964 OSPF_DEBUG_DETAIL.
1965
19662000-11-06 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1967
1968 * ospf_lsa.c (router_lsa_flags): ASBR can't exit in stub area.
1969
19702000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1971
1972 * ospf_lsa.c (ospf_router_lsa_originate): Reduce unconditional
1973 logging.
1974
19752000-11-06 Dick Glasspool <dick@ipinfusion.com>
1976
1977 * ospfd.h: Add ait_ntoa function prototype.
1978
1979 * ospfd.c (ait_ntoa): New function for displaying area ID and
1980 Stub/NSSA status.
1981 (show_ip_ospf_interface_sub): Use ait_ntoa.
1982 (show_ip_ospf_nbr_static_detail_sub): Likewise.
1983 (show_ip_ospf_neighbor_detail_sub): Likewise.
1984
1985 * ospf_route.c (ospf_intra_route_add): Set external routing type
1986 to ospf route.
1987 (ospf_intra_add_router): Likewise.
1988 (ospf_intra_add_transit): Likewise.
1989 (ospf_intra_add_stub): Likewise.
1990 (ospf_add_discard_route): Likewise.
1991 (show_ip_ospf_route_network): Use ait_ntoa.
1992 (show_ip_ospf_route_network): Likewise.
1993 (show_ip_ospf_route_router): Likewise.
1994
1995 * ospf_lsa.c (show_lsa_detail): Use ait_ntoa.
1996 (show_lsa_detail_adv_router): Likewise.
1997 (show_ip_ospf_database_summary): Likewise.
1998
1999 * ospf_route.h (struct route_standard): Add new member
2000 external_routing.
2001
2002 * ospf_ia.c (process_summary_lsa): Set external routing tyep to ospf
2003 route.
2004 (ospf_update_network_route): Likewise.
2005 (ospf_update_router_route): Likewise.
2006
20072000-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2008
2009 * ospf_flood.c (ospf_process_self_originated_lsa): Enclose
2010 OSPF_AS_NSSA_LSA treatment with #ifdef HAVE_NSSA.
2011
20122000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2013
2014 * Unconditional logging is enclosed with if (IS_DEBUG_OSPF_EVENT).
2015 Please specify "debug ospf event" for enable logging.
2016
2017 * ospf_ism.c: Do not extern debug flag varible. It is done by
2018 ospf_debug.h
2019 * ospf_asbr.c: Likewise.
2020 * ospf_lsa.c: Likewise.
2021 * ospf_nsm.c: Likewise.
2022 * ospf_zebra.c: Likewise.
2023
2024 * ospf_dump.c (debug_ospf_event): New command "debug ospf event"
2025 is added.
2026
2027 * ospfd.c (router_ospf): Change logging from vty_out() to
2028 zlog_info().
2029 (ospf_area_stub_cmd): Likewise.
2030
2031 * ospf_dump.h: Extern term_debug flags.
2032 (OSPF_DEBUG_EVENT): Add new flag.
2033 (IS_DEBUG_OSPF_EVENT): Add new macro.
2034
20352000-11-03 Dick Glasspool <dick@ipinfusion.com>
2036
2037 * ospf_flood.c (ospf_process_self_originated_lsa):
2038 OSPF_AS_NSSA_LSA is treated as same as OSPF_AS_EXTERNAL_LSA.
2039 (ospf_flood): Type-5's have no change. Type-7's can be received,
2040 and will Flood the AS as Type-5's They will also flood the local
2041 NSSA Area as Type-7's. The LSDB will be updated as Type-5's, and
2042 during re-fresh will be converted back to Type-7's (if within an
2043 NSSA).
2044 (ospf_flood_through): Incoming Type-7's were allowed here if our
2045 neighbor was an NSSA. So Flood our area with the Type-7 and also
2046 if we are an ABR, flood thru AS as Type-5.
2047
2048 * ospf_lsa.c (ospf_external_lsa_refresh): Flood NSSA both NSSA
2049 area and other area.
2050
2051 * ospf_packet.c (ospf_db_desc_proc): When AS External LSA is
2052 exists in DD packet, make it sure that this area is not stub.
2053 (ospf_ls_upd_list_lsa): When LSA type is NSSA then set lsa's area
2054 to NULL.
2055 (ospf_ls_upd): If the LSA is AS External LSA and the area is stub
2056 then discard the lsa. If the LSA is NSSA LSA and the area is not
2057 NSSA then discard the lsa.
2058
20592000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2060
2061 * ospfd.c (ospf_interface_run): Fix bug of Hello packet's option
2062 is not properly set when interface comes up.
2063
20642000-11-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2065
2066 * ospfd.h (OSPF_OPTION_O): Add new hello header option.
2067
20682000-11-01 Dick Glasspool <dick@ipinfusion.com>
2069
2070 * ospf_lsa.h: Define OSPF_MAX_LSA to 8 when HAVE_NSSA is enabled.
2071 (OSPF_GROUP_MEMBER_LSA): Define OSPF_GROUP_MEMBER_LSA.
2072
2073 * ospf_lsa.c (show_database_desc): Add "Group Membership LSA"
2074 string.
2075
20762000-10-31 Dick Glasspool <dick@ipinfusion.com>
2077
2078 * ospf_lsa.h (OSPF_AS_NSSA_LSA): Define OSPF_AS_NSSA_LSA.
2079
2080 * ospf_lsa.c (show_ip_ospf_database): NSSA database display
2081 function is added. ALIASES which have "show ip ospf database
2082 nssa-external" is added.
2083 (show_ip_ospf_border_routers): New command "show ip ospf
2084 border-routers" is added.
2085
20862000-10-30 Dick Glasspool <dick@ipinfusion.com>
2087
2088 * ospfd.c (router_ospf): NSSA Enabled message is added for
2089 testing.
2090 (ospf_area_type_set): Are type set for NSSA area.
2091 (ospf_area_stub_cmd): Special translation of no_summary into NSSA
2092 and summary information. If NSSA is enabled pass the information
2093 to ospf_area_type_set().
2094 (area_nssa): New commands are added:
2095 "area A.B.C.D nssa"
2096 "area <0-4294967295> nssa"
2097 "area A.B.C.D nssa no-summary"
2098 "area <0-4294967295> nssa no-summary"
2099 (ospf_no_area_stub_cmd): Special translation of no_summary into
2100 NSSA and summary information. If external_routing is
2101 OSPF_AREA_NSSA unset area with ospf_area_type_set (area,
2102 OSPF_AREA_DEFAULT).
2103 (show_ip_ospf_area): Display NSSA status.
2104 (config_write_ospf_area): Show NSSA configuration.
2105
2106 * ospf_packet.c (ospf_hello): For NSSA support, ensure that NP is
2107 on and E is off.
2108
21092000-10-26 Gleb Natapov <gleb@nbase.co.il>
2110
2111 * ospf_lsa.c (ospf_network_lsa_body_set): The network-LSA lists
2112 those routers that are fully adjacent to the Designated Router;
2113 each fully adjacent router is identified by its OSPF Router ID.
2114 The Designated Router includes itself in this list. RFC2328,
2115 Section 12.4.2.
2116
21172000-10-23 Jochen Friedrich <jochen@scram.de>
2118
2119 * ospf_snmp.c: ospf_oid and ospfd_oid are used in smux_open after
2120 it is registered. So those variables must be static.
2121
21222000-10-18 K N Sridhar <sridhar@euler.ece.iisc.ernet.in>
2123
2124 * ospfd.c: Add area_default_cost_decimal_cmd and
2125 no_area_default_cost_decimal_cmd alias.
2126
21272000-10-05 Gleb Natapov <gleb@nbase.co.il>
2128
2129 * ospfd.c (ospf_network_new): Fix setting area format.
2130 (no_router_ospf): Check area existance when calling
2131 ospf_interface_down().
2132
2133 * ospf_flood.c (ospf_external_info_check): Fix bug of refreshing
2134 default route.
2135
21362000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2137
2138 * zebra-0.89 is released.
2139
21402000-09-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2141
2142 * ospf_snmp.c (ospfHostEntry): OSPF Host MIB is implemented.
2143
2144 * ospfd.c (ospf_nbr_static_cmp): OSPF neighbor is sorted by it's
2145 address.
2146
21472000-09-28 Michael Rozhavsky <mike@nbase.co.il>
2148
2149 * ospf_interface.c (ospf_if_free): Fix deleting self neighbor twice.
2150
21512000-09-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2152
2153 * ospf_packet.c (ospf_read): Solaris on x86 has ip_len with host
2154 byte order.
2155
21562000-09-25 Toshiaki Takada <takada@zebra.org>
2157
2158 * ospfd.c (ospf_compatible_rfc1583), (no_ospf_compatible_rfc1583):
2159 Add CISCO compatible command.
2160
21612000-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2162
2163 * ospf_abr.c (ospf_area_range_lookup): New function is added for
2164 area range lookup in OSPF-MIB.
2165 (ospf_area_range_lookup_next): Likewise.
2166
21672000-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2168
2169 * ospfd.c (no_router_ospf): Delete virtual link before deleting
2170 area structure.
2171
2172 * ospf_lsa.c (ospf_external_lsa_refresh_type): Check
2173 EXTERNAL_INFO(type).
2174
2175 * ospfd.c (no_router_ospf): Call ospf_vl_delete() instead of
2176 ospf_vl_data_free().
2177
2178 * ospf_interface.c (ospf_vl_shutdown): Execute ISM_InterfaceDown
2179 when ospf_vl_shutdown is called.
2180 (ospf_vl_delete): Call ospf_vl_shutdown() to delete virtual link
2181 interface's thread.
2182
21832000-09-21 Gleb Natapov <gleb@nbase.co.il>
2184
2185 * ospf_lsa.c: New implementation of OSPF refresh.
2186
21872000-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2188
2189 * ospf_snmp.c (ospfLsdbLookup): Add LSDB MIB implementation.
2190
21912000-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2192
2193 * ospf_snmp.c (ospfStubAreaEntry): Add OSPF stub area MIB.
2194
21952000-09-18 Gleb Natapov <gleb@nbase.co.il>
2196
2197 * ospf_route.h (route_standard): Change member from `struct area'
2198 to area_id.
2199
2200 * ospf_abr.c (ospf_abr_announce_network), (ospf_abr_should_announce),
2201 (ospf_abr_process_network_rt), (ospf_abr_announce_rtr),
2202 (ospf_abr_process_router_rt):
2203 * ospf_ase.c (ospf_find_asbr_route),
2204 (ospf_find_asbr_router_through_area),
2205 * ospf_ia.c (ospf_find_abr_route), (ospf_ia_router_route),
2206 (process_summary_lsa), (ospf_update_network_route),
2207 (ospf_update_router_route):
2208 * ospf_route.c (ospf_intra_route_add), (ospf_intra_add_router),
2209 (ospf_intra_add_transit), (ospf_intra_add_stub),
2210 (ospf_route_table_dump), (show_ip_ospf_route_network),
2211 (show_ip_ospf_route_router), (ospf_asbr_route_cmp),
2212 (ospf_prune_unreachable_routers):
2213 * ospf_spf.c (ospf_rtrs_print):
2214 * ospfd.c (ospf_rtrs_free): Fix the struct change above.
2215
22162000-09-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2217
2218 * ospf_network.c (ospf_serv_sock_init): Enclose SO_BINDTODEVICE
2219 with ifdef.
2220
22212000-09-13 Gleb Natapov <gleb@nbase.co.il>
2222
2223 * ospf_ism.c (ospf_elect_dr), (ospf_elect_bdr): Fix DR election.
2224
2225 * ospf_network.c (ospf_serv_sock_init): Add socket option
2226 SO_BINDTODEVICE on read socket.
2227
2228 * ospf_packet.c (ospf_hello): Ignore Hello packet if E-bit does
2229 not match.
2230
2231 * ospfd.c (ospf_area_check_free), (ospf_area_get),
2232 (ospf_area_add_if): New function added.
2233
22342000-09-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2235
2236 * ospf_route.c (ospf_intra_add_router): Update ABR and ASBR router
2237 count.
2238
2239 * ospf_spf.c (ospf_spf_init): Rest ABR and ASBR router count
2240 starting SPF calculation.
2241
2242 * ospfd.h (struct ospf_area): Add ABR and ASBR router count.
2243
22442000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2245
2246 * ospfd.c (ospf_area_id_cmp): New area structure is sorted by area
2247 ID.
2248
2249 * ospf_lsa.c (ospf_router_lsa_originate): For OSPF MIB update
2250 lsa_originate_count.
2251 (ospf_network_lsa_originate): Likewise.
2252 (ospf_summary_lsa_originate): Likewise.
2253 (ospf_summary_asbr_lsa_originate): Likewise.
2254 (ospf_external_lsa_originate): Likewise.
2255
22562000-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2257
2258 * ospf_snmp.c (ospf_variables): ospfRouterID's type RouterID
2259 syntax is IpAddress.
2260 (ospf_admin_stat): New function for OSPF administrative status
2261 check.
2262
22632000-09-10 Jochen Friedrich <jochen@scram.de>
2264
2265 * ospf_snmp.c: Implement OSPF MIB skeleton.
2266
22672000-09-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2268
2269 * ospf_snmp.c: New file is added.
2270
22712000-09-07 David Lipovkov <davidl@nbase.co.il>
2272
2273 * ospf_zebra.c (ospf_interface_delete): Add pseudo interface
2274 treatment.
2275
2276 * ospf_interface.c (interface_config_write): Likewise.
2277
22782000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2279
2280 * zebra-0.88 is released.
2281
22822000-08-17 Michael Rozhavsky <mike@nbase.co.il>
2283
2284 * ospfd.c (ospf_area_free): Remove virtual link configuration only
2285 when Area is removed.
2286
22872000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2288
2289 * ospfd.c (network_area): Revert check for EXTERNAL_INFO
2290 (ZEBRA_ROUTE_CONNECT).
2291 (no_network_area): Likewise.
2292
22932000-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2294
2295 * ospfd.h (struct ospf): Add distance_table and
2296 distance_{all,intra,inter,external}.
2297
2298 * ospf_zebra.c: Add OSPF distance related functions.
2299
23002000-08-15 Gleb Natapov <gleb@nbase.co.il>
2301
2302 * ospf_asbr.c (ospf_external_info_find_lsa): New function added.
2303
2304 * ospf_lsa.c (ospf_default_external_info),
2305 (ospf_default_originate_timer), (ospf_external_lsa_refresh_default):
2306 New function added.
2307
2308 * ospf_zebra.c
2309 (ospf_default_information_originate_metric_type_routemap),
2310 (ospf_default_information_originate_always_metric_type_routemap):
2311 Change name and add route-map function.
2312 (ospf_default_information_originate_metric_routemap),
2313 (ospf_default_information_originate_routemap),
2314 (ospf_default_information_originate_type_metric_routemap):
2315 New DEFUN added.
2316
23172000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2318
2319 * ospf_zebra.c (zebra_interface_if_set_value): Change ifindex
2320 restore size from two octet to four.
2321
23222000-08-14 Michael Rozhavsky <mike@nbase.co.il>
2323
2324 * ospf_ase.c (ospf_ase_incremental_update): Implement incremental
2325 AS-external-LSA in 16.6 of RFC2328.
2326
23272000-08-14 Matthew Grant <grantma@anathoth.gen.nz>
2328
2329 * ospf_interface.c (ospf_if_get_output_cost): Change cost
2330 calculation algorithm.
2331
2332 * ospf_packet (ospf_ls_upd): Fix problem of LSA retransmitting.
2333
23342000-08-11 Michael Rozhavsky <mike@nbase.co.il>
2335
2336 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix maxage remover for
2337 AS-external-LSAs.
2338
23392000-08-10 Toshiaki Takada <takada@zebra.org>
2340
2341 * ospfd.c (auto_cost_reference_bandwidth): New DEFUN added.
2342 `auto-cost reference-bandwidth' OSPF router command added.
2343
23442000-08-08 Gleb Natapov <gleb@nbase.co.il>
2345
2346 * ospf_routemap.c (ospf_route_map_update): New function added.
2347 Add route-map event hook.
2348
23492000-08-08 Toshiaki Takada <takada@zebra.org>
2350
2351 * ospf_zebra.c (ospf_distribute_check_connected): If redistribute
2352 prefix is connected route on OSPF enabled interface, suppress to
2353 announce it.
2354
23552000-08-08 Matthew Grant <grantma@anathoth.gen.nz>
2356
2357 * ospf_interface.c (ospf_if_get_output_cost):
2358 New function added. Handle bandwidth parameter for cost
2359 calculation.
2360
23612000-08-08 Michael Rozhavsky <mike@nbase.co.il>
2362
2363 * ospf_interface.c (interface_config_write): Show interface
2364 configuration regardless interface is down.
2365
2366 * ospf_ase.c (ospf_ase_caocluate_route): Whole rewritten external
2367 route calculate function.
2368
23692000-08-08 Gleb Natapov <gleb@nbase.co.il>
2370
2371 * ospf_routemap.c: New file added.
2372
2373 * ospf_asbr.c (ospf_reset_route_map_set_values),
2374 (ospf_route_map_set_compare): New function added.
2375
2376 * ospf_lsa.c (ospf_external_lsa_body_set): Set routemap metric
2377 with AS-external-LSA.
2378
23792000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2380
2381 * ospf_ase.c (ospf_ase_calculate_route_add): Pass new->cost to
2382 ospf_zebra_add as metric.
2383 (ospf_ase_calculate_route_add): Likewise.
2384
2385 * ospf_route.c (ospf_route_install): Pass or->cost to
2386 ospf_zebra_add as metric.
2387
2388 * ospf_zebra.c (ospf_zebra_add): Add metric arguemnt.
2389 (ospf_zebra_delete): Likewise.
2390
23912000-08-03 Matthew Grant <grantma@anathoth.gen.nz>
2392
2393 * ospf_flood.c (ospf_flood_delayed_lsa_ack): New function added.
2394 Dispatch delayed-ACK with flooding AS-external-LSA across virtual
2395 link.
2396
23972000-07-31 Matthew Grant <grantma@anathoth.gen.nz>
2398
2399 * ospfd.c (show_ip_ospf_area): Fix lack of VTY_NEWLINE when
2400 `show ip ospf'.
2401
2402 * ospf_interface.c (ospf_if_free): Fix bug of crash with
2403 Point-to-Point interface.
2404
24052000-07-27 Michael Rozhavsky <mike@nbase.co.il>
2406
2407 * ospf_flood.c (ospf_process_self_originated_lsa):
2408 Make sure to clear LSA->param (redistributed external information)
2409 before refreshment.
2410
24112000-07-27 Gleb Natapov <gleb@nbase.co.il>
2412
2413 * ospfd.c (refresh_group_limit), (refresh_per_slice),
2414 (refresh_age_diff): New defun added. Refresher related parameter
2415 can be configurable.
2416
24172000-07-27 Akihiro Mizutani <mizutani@dml.com>
2418
2419 * ospf_interface.c (interface_config_write): Print `description'
2420 config directive to work.
2421
24222000-07-24 Akihiro Mizutani <mizutani@dml.com>
2423
2424 * ospf_interface.c (ospf_if_init): Use install_default for
2425 INTERFACE_NODE.
2426
24272000-07-24 Gleb Natapov <gleb@nbase.co.il>
2428
2429 * ospf_packet.c (ospf_ls_upd_send_list), (ospf_ls_upd_send_event),
2430 (ospf_ls_ack_send_list), (ospf_ls_ack_send_event): New function added.
2431 This make sending always as many LS update/Ack combined in one ospf
2432 packet.
2433
24342000-07-24 Gleb Natapov <gleb@nbase.co.il>
2435
2436 * ospf_packet.c (ospf_ls_upd_list_lsa): Set NULL to lsa->area if
2437 LSA is AS-external-LSA.
2438
2439 * ospf_nsm.c (nsm_reset_nbr): Do not cancel Inactivity timer.
2440
24412000-07-21 Toshiaki Takada <takada@zebra.org>
2442
2443 * ospf_zebra.c (ospf_default_originate_timer): Set timer for
2444 `default-information originate'. Fix some default originate
2445 related functions.
2446
24472000-07-12 Toshiaki Takada <takada@zebra.org>
2448
2449 * ospf_lsa.c (stream_put_ospf_metric): New function added.
2450
24512000-07-12 Toshiaki Takada <takada@zebra.org>
2452
2453 * ospf_lsa.c (show_ip_ospf_database_router),
2454 (show_ip_ospf_database_network), (show_ip_ospf_database_summary),
2455 (show_ip_ospf_database_summary_asbr), (show_ip_ospf_database_externel),
2456 (show_router_lsa), (show_any_lsa), (show_router_lsa_self),
2457 (show_any_lsa_self): Functions removed.
2458
2459 (show_lsa_prefix_set), (show_lsa_detail_proc), (show_lsa_detail),
2460 (show_lsa_detail_adv_router_proc), (show_lsa_detail_adv_router):
2461 New functions added. Replace above functions.
2462
2463 (show_ip_ospf_database_all), (show_ip_ospf_database_self_originated):
2464 Functions removed.
2465 (show_ip_ospf_database_summary): New functions added. Replace
2466 above functions.
2467
2468 (show_ip_ospf_database_cmd): DEFUN rearranged.
2469 (show_ip_ospf_database_type_id_cmd),
2470 (show_ip_ospf_database_type_id_adv_router_cmd),
2471 (show_ip_ospf_database_type_is_self_cmd): New ALIASes added.
2472 (show_ip_ospf_database_type_adv_rotuer_cmd): New DEFUN added.
2473 (show_ip_ospf_database_type_self_cmd): New ALIAS added.
2474
24752000-07-11 Toshiaki Takada <takada@zebra.org>
2476
2477 * ospf_asbr.c (ospf_external_info_new),
2478 (ospf_external_info_free): New functions added.
2479
2480 * ospf_lsa.h (ospf_lsa): Add new member `void *param' to set
2481 origination parameter for external-LSA.
2482 Remove member `redistribute'.
2483
2484 * ospf_zebra.c (ospf_redistirbute_set): When `redistribute'
2485 command executed, metric and metric-type values are overridden.
2486 If one of those is changed refresh AS-external-LSAs for appropriate
2487 type.
2488
24892000-07-11 Michael Rozhavsky <mike@nbase.co.il>
2490
2491 * ospf_lsa.c (ospf_summary_lsa_refresh),
2492 (ospf_summary_asbr_lsa_refresh): Make sure to refresh summary-LSAs.
2493
2494 * ospf_abr.c (set_metric): New function added.
2495
24962000-07-07 Toshiaki Takada <takada@zebra.org>
2497
2498 * ospf_zebra.c (ospf_default_information_originate_metric_type),
2499 (ospf_default_information_originate_type_metric): New defun added.
2500 Metic and Metric type can be set to default route.
2501 (ospf_default_information_originate_always_metric_type):
2502 (ospf_default_information_originate_always_type_metric):
2503 New defun added. Metric and Metric type can be set to default
2504 always route.
2505
2506 * ospf_zebra.c (ospf_default_metric), (no_ospf_default_metric):
2507 New defun added.
2508
25092000-07-06 Gleb Natapov <gleb@nbase.co.il>
2510
2511 * ospf_flood.c (ospf_flood_through_area): Fix bug of considering
2512 on the same interface the LSA was received from.
2513
25142000-07-06 Michael Rozhavsky <mike@nbase.co.il>
2515
2516 * ospfd.c (ospf_config_write): Fix bug of printing `area stub'
2517 command with `write mem'.
2518
2519 * ospfd.c (no_router_ospf): Remove installed routes from zebra.
2520
2521 * ospf_zebra.c (ospf_interface_delete): Fix function to handle
2522 zebra interface delete event.
2523
25242000-07-06 Toshiaki Takada <takada@zebra.org>
2525
2526 * ospf_zebra.c (ospf_default_information_originate),
2527 (ospf_default_information_originate_always): New DEFUN added.
2528
25292000-07-05 Michael Rozhavsky <mike@nbase.co.il>
2530
2531 * ospf_route.c (ospf_terminate): Make sure to remove external route
2532 when SIGINT received.
2533
25342000-07-03 Gleb Natapov <gleb@nbase.co.il>
2535
2536 * ospf_flood.c, ospf_ism.c, ospf_lsa,c, ospfd.c: Make sure to free
2537 many structure with `no router ospf'.
2538
25392000-06-30 Gleb Natapov <gleb@nbase.co.il>
2540
2541 * ospf_neighbor.c (ospf_nbr_new),
2542 ospf_nsm.c (nsm_timer_set): Start LS update timer only
2543 when neighbor enters Exchange state.
2544
25452000-06-29 Gleb Natapov <gleb@nbase.co.il>
2546
2547 * ospf_nsm.c (nsm_timer_set), (nsm_exchange_done),
2548 ospf_packet.c (ospf_db_desc_proc):
2549 Do not cancel DD retransmit timer when Master.
2550
25512000-06-29 Gleb Natapov <gleb@nbase.co.il>
2552
2553 * ospf_abr.c (ospf_abr_announce_network_to_area),
2554 (ospf_abr_announce_rtr_to_area)
2555 ospf_ase.c (ospf_ase_rtrs_register_lsa),
2556 ospf_flood.c (ospf_process_self_originated_lsa),
2557 (ospf_flood_through_area), (ospf_ls_request_delete),
2558 ospf_interface.c (ospf_if_free),
2559 ospf_ism.c (ism_change_status),
2560 ospf_lsa.c (ospf_router_lsa_update_timer),
2561 (ospf_router_lsa_install), (ospf_network_lsa_install),
2562 (ospf_lsa_maxage_delete), (ospf_lsa_action),
2563 (ospf_schedule_lsa_flood_area),
2564 ospf_nsm.c (nsm_change_status),
2565 ospf_packet.c (ospf_make_ls_req_func), (ospf_make_ls_ack):
2566 Use ospf_lsa_{lock,unlock} for all looking-up of LSA.
2567
2568 * ospf_flood.c (ospf_ls_request_free): Function deleted.
2569
2570 * ospf_lsa.c (ospf_discard_from_db): New function added.
2571
25722000-06-26 Toshiaki Takada <takada@zebra.org>
2573
2574 * ospfd.h (ospf): struct member `external_lsa' name changed to
2575 `lsdb'.
2576
25772000-06-26 Toshiaki Takada <takada@zebra.org>
2578
2579 * ospf_lsa.c (ospf_lsa_install), (ospf_router_lsa_install),
2580 (ospf_network_lsa_install), (ospf_summary_lsa_install),
2581 (ospf_summary_asbr_lsa_install), (ospf_external_lsa_install):
2582 Functions re-arranged.
2583
2584 * ospf_lsa.c (IS_LSA_MAXAGE), (IS_LSA_SELF): Macro added.
2585
25862000-06-20 Michael Rozhavsky <mike@nbase.co.il>
2587
2588 * ospf_packet.c (ospf_ls_req), (ospf_ls_upd), (ospf_ls_ack): Add
2589 verification of LS type.
2590
25912000-06-20 Gleb Natapov <gleb@nbase.co.il>
2592
2593 * ospf_ase.c (ospf_ase_calculate_timer): Add more sanity check
2594 whether rn->info is NULL.
2595
25962000-06-20 Toshiaki Takada <takada@zebra.org>
2597
2598 * ospfd.c (show_ip_ospf_interface_sub): Show Router-ID of both
2599 DR and Backup correctly with `show ip ospf interface' command.
2600
26012000-06-20 Toshiaki Takada <takada@zebra.org>
2602
2603 * ospf_lsa.c (ospf_lsa_lock), (ospf_lsa_unlock),
2604 (ospf_lsa_discard): These functions are used for avoiding
2605 unexpected reference to freed LSAs.
2606
26072000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2608
2609 * ospf_packet.c (ospf_ls_upd): Initialize lsa by NULL to avoid
2610 warning.
2611
26122000-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2613
2614 * ospf_ase.h (ospf_ase_rtrs_register_lsa): Add prototype.
2615
26162000-06-12 Toshiaki Takada <takada@zebra.org>
2617
2618 * ospf_lsa.c (ospf_external_lsa_install): Make sure to register
2619 LSA to rtrs_external when replacing AS-external-LSAs in LSDB.
2620 Fix core dump.
2621
26222000-06-10 Toshiaki Takada <takada@zebra.org>
2623
2624 * ospf_lsdb.c (id_to_prefix), (ospf_lsdb_hash_key),
2625 (ospf_lsdb_hash_cmp), (ospf_lsdb_new), (ospf_lsdb_iterator),
2626 (lsdb_free), (ospf_lsdb_free), (ospf_lsdb_add), (ospf_lsdb_delete),
2627 (find_lsa), (ospf_lsdb_lookup), (find_by_id),
2628 (ospf_lsdb_lookup_by_id), (ospf_lsdb_lookup_by_header): Functinos
2629 removed for migration to new_lsdb.
2630
2631 * ospf_lsa.c (ospf_summary_lsa_install),
2632 (ospf_summary_asbr_lsa_install), (ospf_maxage_lsa_remover),
2633 (ospf_lsa_maxage_walker), (ospf_lsa_lookup),
2634 (ospf_lsa_lookup_by_id): Use new_lsdb instead of ospf_lsdb.
2635 (count_lsa), (ospf_lsa_count_table), (ospf_lsa_count),
2636 (ospf_get_free_id_for_prefix): Funcitions removed.
2637
26382000-06-09 Gleb Natapov <gleb@nbase.co.il>
2639
2640 * ospf_ism.c (ism_interface_down): Prevent some unneeded DR changes.
2641
2642 * ospf_packet.c (ospf_db_desc_proc): Fix memory leak.
2643 (ospf_hello): Always copy router-ID when hello is received.
2644
26452000-06-08 Gleb Natapov <gleb@nbase.co.il>
2646
2647 * ospf_lsa.h (struct ospf_lsa): Add member of pointer to struct
2648 ospf_area.
2649
26502000-06-08 Michael Rozhavsky <mike@nbase.co.il>
2651
2652 * ospf_ase.c (ospf_asbr_route_same): New function added.
2653 This function makes sure external route calculation more
2654 precisely.
2655
26562000-06-07 Michael Rozhavsky <mike@nbase.co.il>
2657
2658 * ospf_ism.c (ism_change_status): Use ospf_lsa_flush_area for
2659 network-LSA deletion instead of using ospf_lsdb_delete.
2660 Also cancel network-LSA origination timer.
2661
26622000-06-07 Levi Harper <lharper@kennedytech.com>
2663
2664 * ospf_interface.c (ospf_if_down): Close read fd when an interface
2665 goes down.
2666
26672000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2668
2669 * ospf_asbr.c (ospf_external_info_lookup): Add explicit brace for
2670 avoid ambiguous else.
2671
2672 * ospf_flood.c (ospf_external_info_check): Likewise.
2673
26742000-06-05 Toshiaki Takada <takada@zebra.org>
2675
2676 * ospf_nsm.c (nsm_adj_ok): Fix bug of DR election.
2677
26782000-06-04 Toshiaki Takada <takada@zebra.org>
2679
2680 * ospf_zebra.c (ospf_default_information_originate),
2681 (no_ospf_default_information_originate): New DEFUN added.
2682
26832000-06-03 Toshiaki Takada <takada@zebra.org>
2684
2685 * ospf_lsa.h, ospf_asbr.h (external_info): Struct moved from
2686 ospf_lsa.h to ospf_asbr.h.
2687
2688 * ospf_lsa.c, ospf_asbr.c (ospf_external_info_add),
2689 (ospf_external_info_delete): Function moved from ospf_lsa.c
2690 to ospf_asbr.c.
2691
26922000-06-03 Toshiaki Takada <takada@zebra.org>
2693
2694 * ospf_flood.c (ospf_external_info_check): New function added.
2695 (ospf_process_self_orignated_lsa): Make sure to flush
2696 self-originated AS-external-LSA, when router reboot and no longer
2697 originate those AS-external-LSA.
2698
26992000-06-02 Toshiaki Takada <takada@zebra.org>
2700
2701 * ospf_network.c (ospf_serv_sock): Remove SO_DONTROUTE
2702 socket option.
2703
2704 * ospf_packet.c (ospf_write): Set MSG_DONTROUTE flag for
2705 unicast destination packets.
2706
27072000-06-02 Toshiaki Takada <takada@zebra.org>
2708
2709 * ospf_lsdb.c (new_lsdb_delete): Delete entry from LSDB only when
2710 specified LSA matches.
2711
27122000-06-02 Gleb Natapov <gleb@nbase.co.il>
2713
2714 * ospf_network.c (ospf_serv_sock): Set SO_DONTROUTE
2715 socket option.
2716
27172000-06-01 Akihiro Mizutani <mizutani@dml.com>
2718
2719 * ospf_dump.c: Replace string `Debugging functions\n' with DEBUG_STR.
2720 Replace string `OSPF information\n' with OSPF_STR.
2721
27222000-06-01 Toshiaki Takada <takada@zebra.org>
2723
2724 * ospf_lsdb.[ch]: Use new_lsdb struct for network-LSA instead of
2725 ospf_lsdb.
2726
27272000-06-01 Toshiaki Takada <takada@zebra.org>
2728
2729 * ospf_dump.c (config_debug_ospf_packet), (config_debug_ospf_event),
2730 (config_debug_ospf_ism), (config_debug_ospf_nsm),
2731 (config_debug_ospf_lsa), (config_debug_ospf_zebra),
2732 (term_debug_ospf_packet), (term_debug_ospf_event),
2733 (term_debug_ospf_ism), (term_debug_ospf_nsm),
2734 (term_debug_ospf_lsa), (term_debug_ospf_zebra): Repalce debug_ospf_*
2735 variable to use for debug option flags.
2736
2737 (debug_ospf_packet), (debug_ospf_ism), (debug_ospf_nsm),
2738 (debug_ospf_lsa), (debug_ospf_zebra): Set {config,term}_debug_*
2739 flags when vty->node is CONFIG_NODE, otherwise set only term_debug_*
2740 flags.
2741
2742 * ospf_dump.h (CONF_DEBUG_PACKET_ON), (CONF_DEBUG_PACKET_OFF),
2743 (TERM_DEBUG_PACKET_ON), (TERM_DEBUG_PACKET_OFF),
2744 (CONF_DEBUG_ON), (CONF_DEBUG_OFF), (IS_CONF_DEBUG_OSPF_PACKET),
2745 (IS_CONF_DEBUG_OSPF): New Macro added.
2746
27472000-05-31 Toshiaki Takada <takada@zebra.org>
2748
2749 * ospfd.c (clear_ip_ospf_neighbor): New DEFUN added.
2750 Currently this command is used for only debugging.
2751
2752 * ospf_nsm.c (nsm_change_status): Make sure thread cancellation
2753 for network-LSA when DR has no full neighbors.
2754
2755 * ospf_nsm.c (ospf_db_summary_clear): New function added.
2756
27572000-05-30 Toshiaki Takada <takada@zebra.org>
2758
2759 * ospf_lsdb.c (new_lsdb_insert): LSAs are always freed by
2760 maxage_lsa_remover when LSA is replaced.
2761
27622000-05-25 Gleb Natapov <gleb@nbase.co.il>
2763
2764 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all): Add argument
2765 `struct ospf_area' to remove LSA from Link State retransmission list
2766 of neighbor from only one Area.
2767
27682000-05-24 Michael Rozhavsky <mike@nbase.co.il>
2769
2770 * ospf_lsdb.c (ospf_lsdb_add): Preserve flags field when
2771 overriting old LSA with new LSA.
2772
27732000-05-24 Gleb Natapov <gleb@nbase.co.il>
2774
2775 * ospf_lsa.c (ospf_router_lsa_body_set): Fix bug of router-LSA
2776 size calculation.
2777
27782000-05-22 Michael Rozhavsky <mike@nbase.co.il>
2779
2780 * ospf_route.c (ospf_intra_add_stub):
2781 * ospf_spf.h (struct vertex): Use u_int32_t for distance (cost)
2782 value instead of u_int16_t.
2783
27842000-05-22 Axel Gerlach <agerlach@datus.datus.com>
2785
2786 * ospf_ia.c (ospf_ia_network_route): Fix bug of Inter-area route
2787 equal cost path calculation.
2788
27892000-05-21 Toshiaki Takada <takada@zebra.org>
2790
2791 * ospf_ase.c (ospf_ase_calculate_route_delete): New function added.
2792 Make sure, when rotuer route is deleted, related external routes
2793 are also deleted.
2794
27952000-05-20 Toshiaki Takada <takada@zebra.org>
2796
2797 * ospfd.c (ospf_interface_down): Make sure interface flag is disable
2798 and set fd to -1.
2799
28002000-05-16 Toshiaki Takada <takada@zebra.org>
2801
2802 * ospf_asbr.c (ospf_asbr_should_announce), (ospf_asbr_route_remove):
2803 Functions removed.
2804
2805 * ospfd.h (EXTERNAL_INFO): Macro added.
2806 Substitute `ospf_top->external_info[type]' with it.
2807
28082000-05-16 Toshiaki Takada <takada@zebra.org>
2809
2810 * ospf_lsa.c (ospf_rtrs_external_remove): New function added.
2811
28122000-05-14 Gleb Natapov <gleb@nbase.co.il>
2813
2814 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all)
2815 * ospf_lsdb.c (new_lsdb_insert)
2816 * ospf_packet.c (ospf_ls_ack): Fix database synchonization problem.
2817
28182000-05-14 Gleb Natapov <gleb@nbase.co.il>
2819
2820 * ospf_lsa.h (tv_adjust), (tv_ceil), (tv_floor), (int2tv),
2821 (tv_add), (tv_sub), (tv_cmp): Prototype definition added.
2822
2823 * ospf_nsm.h (ospf_db_summary_delete_all): Prototype definition added.
2824
28252000-05-13 Toshiaki Takada <takada@zebra.org>
2826
2827 * ospf_lsa.[ch] (ospf_lsa): struct timestamp type is changed from
2828 time_t to struct timeval.
2829 (tv_adjust), (tv_ceil), (tv_floor), (int2tv), (tv_add),
2830 (tv_sub), (tv_cmp): timeval utillity functions added.
2831
28322000-05-12 Toshiaki Takada <takada@zebra.org>
2833
2834 * ospf_lsa.[ch] (ospf_schedule_update_router_lsas): Delete function.
2835 Change to use macro OSPF_LSA_UPDATE_TIMER instead of using
2836 this function.
2837 router-LSA refresh timer related stuff is re-organized.
2838
28392000-05-10 Gleb Natapov <gleb@nbase.co.il>
2840
2841 * ospf_interface.c (ospf_vl_set_params):
2842 * ospf_packet.c (ospf_check_network_mask):
2843 * ospf_spf.[ch] (ospf_spf_next):
2844 Remove field address from `struct vertex', and search for peer
2845 address of virtual link in function `ospf_vl_set_params' instead.
2846
28472000-05-10 Gleb Natapov <gleb@nbase.co.il>
2848
2849 * ospf_packet.c (ospf_ls_upd): Fix some memory leak related LSA.
2850
28512000-05-08 Thomas Molkenbur <tmo@datus.com>
2852
2853 * ospf_packet.c (ospf_packet_dup): Replace ospf_steram_copy()
2854 with ospf_stream_dup() to fix memory leak.
2855
28562000-05-08 Michael Rozhavsky <mike@nbase.co.il>
2857
2858 * ospf_flood.c (ospf_flood_through_area): Fix the problem of
2859 LSA update without DROther.
2860
28612000-05-04 Gleb Natapov <gleb@nbase.co.il>
2862
2863 * ospf_spf.c (ospf_vertex_free): Fix memory leak of SPF calculation.
2864
28652000-05-03 Toshiaki Takada <takada@zebra.org>
2866
2867 * ospf_neighbor.c (ospf_db_summary_add): Use new_lsdb struct
2868 instead linked-list.
2869 (ospf_db_summary_count), (ospf_db_summary_isempty):
2870 New function added.
2871
2872 * ospf_lsa.c (ospf_rotuer_lsa): Re-arrange and divide functions.
2873
28742000-05-02 Gleb Natapov <gleb@nbase.co.il>
2875
2876 * ospf_lsdb.c (new_lsdb_cleanup): Fix memory leak. When LSDB are
2877 not needed any more, then free them.
2878
28792000-05-02 Toshiaki Takada <takada@zebra.org>
2880
2881 * ospfd.c (timers_spf), (no_timers_spf): New defun added.
2882 SPF calculation timers related stuff is rearranged.
2883
2884 * ospf_spf.c (ospf_spf_calculate_timer_add): Function removed.
2885 SPF timer is scheduled by SPF calculation delay and holdtime
2886 configuration variable.
2887
2888 * ospf_lsa.c (ospf_external_lsa_nexthop_get): Set AS-external-LSA's
2889 forwarding address when nexthop learned by other protocols is
2890 in the OSPF domain.
2891
2892 * ospf_zebra.c (ospf_redistribute_source_metric_type),
2893 (ospf_redistribute_source_type_metric): Re-arrange DEFUNs and
2894 ALIASes.
2895
28962000-05-01 Toshiaki Takada <takada@zebra.org>
2897
2898 * ospf_flood.c (ospf_ls_retransmit_count),
2899 (ospf_ls_retransmit_isempty): New function added.
2900
2901 (ospf_ls_retransmit_add), (ospf_ls_retransmit_delete),
2902 (ospf_ls_retransmit_clear), (ospf_ls_retransmit_lookup),
2903 (ospf_ls_retransmit_delete_all), (ospf_ls_retransmit_delete_nbr_all),
2904 (ospf_ls_retransmit_add_nbr_all): Replace these functions to use
2905 new_lsdb.
2906
29072000-04-29 Toshiaki Takada <takada@zebra.org>
2908
2909 * ospfd.c (no_network_area): Add check Area-ID whether specified
2910 Area-ID with prefix matches config.
2911
29122000-04-27 Toshiaki Takada <takada@zebra.org>
2913
2914 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix problem of
2915 remaining withdrawn routes on zebra.
2916
29172000-04-25 Michael Rozhavsky <mike@nbase.co.il>
2918
2919 * ospf_nsm.c (nsm_kill_nbr), (nsm_ll_down), (nsm_change_status),
2920 (ospf_nsm_event): Fix network-LSA re-origination problem.
2921
29222000-04-24 Toshiaki Takada <takada@zebra.org>
2923
2924 * ospf_nsm.c (ospf_db_desc_timer): Fix bug of segmentation fault
2925 with DD retransmission.
2926
2927 * ospf_nsm.c (nsm_kill_nbr): Fix bug of re-origination when
2928 a neighbor disappears.
2929
29302000-04-23 Michael Rozhavsky <mike@nbase.co.il>
2931
2932 * ospf_abr.c (ospf_abr_announce_network_to_area): Fix bug of
2933 summary-LSAs reorigination. Correctly copy OSPF_LSA_APPROVED
2934 flag to new LSA. when summary-LSA is reoriginatd.
2935
2936 * ospf_flood.c (ospf_flood_through_area): Fix bug of flooding
2937 procedure. Change the condition of interface selection.
2938
29392000-04-21 Toshiaki Takada <takada@zebra.org>
2940
2941 * ospf_lsa.c (ospf_refresher_register_lsa): Fix bug of refresh never
2942 occurs.
2943
2944 * ospfd.c (show_ip_ospf_neighbor_id): New defun added.
2945 `show ip ospf neighbor' related commands are re-arranged.
2946
29472000-04-20 Toshiaki Takada <takada@zebra.org>
2948
2949 * ospf_dump.c (debug_ospf_zebra): New defun added.
2950 Suppress zebra related debug information.
2951
29522000-04-19 Toshiaki Takada <takada@zebra.org>
2953
2954 * ospf_zebra.c (ospf_distribute_list_update_timer),
2955 (ospf_distribute_list_update), (ospf_filter_update):
2956 New function added. Re-organize `distribute-list' router ospf
2957 command.
2958
29592000-04-13 Michael Rozhavsky <mike@nbase.co.il>
2960
2961 * ospf_packet.c (ospf_make_ls_upd): Add check for MAX_AGE.
2962
29632000-04-14 Michael Rozhavsky <mike@nbase.co.il>
2964
2965 * ospf_packet.c (ospf_make_ls_upd): Increment LS age by configured
2966 interface transmit_delay.
2967
29682000-04-14 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
2969
2970 * ospf_interface.c (ip_ospf_cost), (no_ip_ospf_cost):
2971 Add to schedule router_lsa origination when the interface cost changes.
2972
29732000-04-12 Toshiaki Takada <takada@zebra.org>
2974
2975 * ospf_lsa.c (ospf_refresher_register_lsa),
2976 (ospf_refresher_unregister_lsa): Fix bug of core dumped.
2977
2978 * ospfd.c (no_router_ospf): Fix bug of core dumped.
2979
29802000-03-29 Toshiaki Takada <takada@zebra.org>
2981
2982 * ospf_nsm.c (nsm_oneway_received): Fix bug of MS flag unset.
2983
29842000-03-29 Michael Rozhavsky <mike@nbase.co.il>
2985
2986 * ospf_lsa.c (ospf_network_lsa):
2987 * ospf_nsm.c (ospf_nsm_event): Fix bug of Network-LSA originated
2988 in stub network.
2989
29902000-03-28 Toshiaki Takada <takada@zebra.org>
2991
2992 * ospf_nsm.c (nsm_bad_ls_req), (nsm_seq_number_mismatch),
2993 (nsm_oneway_received): Fix bug of NSM state flapping between
2994 ExStart and Exchange.
2995
29962000-03-28 Toshiaki Takada <takada@zebra.org>
2997
2998 * ospf_packet.h (strcut ospf_header): Fix the size of ospf_header,
2999 change u_int8_t to u_char.
3000
30012000-03-27 Toshiaki Takada <takada@zebra.org>
3002
3003 * ospf_lsa.c (ospf_lsa_checksum): Take care of BIGENDIAN architecture.
3004
30052000-03-27 Toshiaki Takada <takada@zebra.org>
3006
3007 * ospfd.c (ospf_interface_run): Make sure Address family matches.
3008
30092000-03-26 Love <lha@s3.kth.se>
3010
3011 * ospf_packet.c (ospf_write): Chack result of sendto().
3012
30132000-03-26 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3014
3015 * ospf_nsm.c (nsm_oneway_received): Fix bug of 1-WayReceived in NSM.
3016
30172000-03-23 Libor Pechacek <farco@clnet.cz>
3018
3019 * ospf_lsa.c (ospf_network_lsa)
3020 * ospf_lsdb.c (new_lsdb_insert): Fix bug of accessing to
3021 unallocated memory.
3022
30232000-03-23 Toshiaki Takada <takada@zebra.org>
3024
3025 * ospfd.c (ospf_config_write): Fix bug of duplicate line for
3026 `area A.B.C.D authentication'.
3027
30282000-03-22 Toshiaki Takada <takada@zebra.org>
3029
3030 * ospf_debug.c (debug_ospf_lsa), (no_debug_ospf_lsa): Defun added.
3031 Suppress all zlog related to LSAs with this config option.
3032
30332000-03-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3034
3035 * ospf_nsm.c (ospf_nsm_event): Add check for NSM_InactivityTimer.
3036
30372000-03-21 Toshiaki Takada <takada@zebra.org>
3038
3039 * ospf_packet.c (ospf_ls_upd_timer), (ospf_ls_req):
3040 Fix bug of memory leak about linklist.
3041
3042 * ospf_flood.c (ospf_flood_through_area): Likewise.
3043
30442000-03-18 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3045
3046 * ospf_flood.c (ospf_ls_retransmit_lookup): Add checksum comparison
3047 to identify LSA uniquely. This fix routes lost.
3048
30492000-03-18 Toshiaki Takada <takada@zebra.org>
3050
3051 * ospf_ase.c (ospf_find_asbr_route): Add sanity check with router
3052 routing table.
3053
30542000-03-17 Alex Zinin <zinin@amt.ru>
3055
3056 * ospf_spf.[ch]: Bug fix.
3057 The 2nd stage of Dijkstra could consider one vertex
3058 more than once if there is more than one link
3059 between the routers, thus adding extra CPU overhead
3060 and extra next-hops.
3061 Fixed.
3062
30632000-03-15 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3064
3065 * ospf_nsm.c (nsm_inactivity_timer): Changed to call nsm_kill_nbr().
3066
30672000-03-14 Toshiaki Takada <takada@zebra.org>
3068
3069 * ospf_route.c (ospf_route_copy_nexthops): Fix bug of memory leak of
3070 ospf_path. Actually ignore merging ospf_route with completely same
3071 paths.
3072
30732000-03-12 Toshiaki Takada <takada@zebra.org>
3074
3075 * ospf_lsa.c (show_as_external_lsa_detail): fix bug of
3076 external route tag byte order.
3077
30782000-03-11 Toshiaki Takada <takada@zebra.org>
3079
3080 * ospf_lsdb.c (ospf_lsdb_insert): New function added.
3081
30822000-03-09 Toshiaki Takada <takada@zebra.org>
3083
3084 * ospf_lsa.c (ospf_external_lsa_install),
3085 (ospf_lsa_lookup), (show_ip_ospf_database_all),
3086 (show_ip_ospf_database_self_originate): Use struct new_lsdb for
3087 LSDB of AS-external-LSAs instead of ospf_lsdb.
3088
3089 * ospf_lsa.c (ospf_lsa_unique_id): New function added.
3090 Use for assigning Unique Link State ID instead of
3091 ospf_get_free_id_for_prefix().
3092
30932000-03-09 Toshiaki Takada <takada@zebra.org>
3094
3095 * ospf_ase.c (ospf_ase_calculate_timer): Fix bug of segmentation
3096 fault reported by George Bonser <george@siteROCK.com>.
3097
30982000-03-07 Libor Pechacek <farco@clnet.cz>
3099
3100 * ospfd.c (ospf_interface_down): Fix bug of segmentation fault.
3101
31022000-03-06 Toshiaki Takada <takada@zebra.org>
3103
3104 * ospf_route.c (ospf_route_cmp): Change meaning of return values.
3105
31062000-03-02 Alex Zinin <zinin@amt.ru>
3107 * ospfd.h, ospf_ia.h
3108 New Shortcut ABR code. Now area's flag can be configured
3109 with Default, Enable, and Disable values.
3110 More info will be in the new ver of I-D soon (see IETF web).
3111
31122000-02-25 Toshiaki Takada <takada@zebra.org>
3113
3114 * ospf_lsa.c (ospf_lsa_header_set), (ospf_external_lsa_body_set),
3115 (osfp_external_lsa_originate), (ospf_external_lsa_queue),
3116 (ospf_external_lsa_originate_from_queue): New function added.
3117 (ospf_external_lsa): Function removed.
3118
3119 * ospf_zebra.c (ospf_zebra_read_ipv4): Originate AS-external-LSA
3120 when listen a route from Zebra, instead creating external route.
3121
3122 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
3123 (ospf_asbr_route_add_queue_lsa),
3124 (ospf_asbr_route_install_lsa), (ospf_asbr_route_add):
3125 Functions removed.
3126
3127 * ospf_ase.c (process_ase_lsa): Function will not be used.
3128 (ospf_ase_calculate), (ospf_ase_calculate_route_add),
3129 (ospf_ase_calculate_new_route), (ospf_ase_caluculate_asbr_route):
3130 process_ase_lsa () is separated to these functions.
3131
3132 OSPF AS-external-LSA origination is whole re-organized.
3133
31342000-02-18 Toshiaki Takada <takada@zebra.org>
3135
3136 * ospf_packet.c (ospf_ls_upd): Fix bug of OSPF LSA memory leak.
3137
3138 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
3139 (ospf_asbr_route_add_queue_lsa): Fix bug of OSPF external route
3140 memory leak.
3141
31422000-02-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3143
3144 * ospf_asbr.c (ospf_asbr_route_install_lsa): Re-calculate LSA
3145 checksum after change Advertised Router field.
3146
31472000-02-09 Toshiaki Takada <takada@zebra.org>
3148
3149 * ospf_asbr.c (ospf_external_route_lookup): Add new function.
3150
31512000-02-08 Toshiaki Takada <takada@zebra.org>
3152
3153 * ospfd.c (ospf_router_id_get), (ospf_router_id_update),
3154 (ospf_router_id_update_timer): Router ID decision algorithm is changed.
3155 Router ID is chosen from all of eligible interface addresses even if
3156 it is not enable to OSPF.
3157
31582000-02-08 Toshiaki Takada <takada@zebra.org>
3159
3160 * ospf_asbr.c (ospf_asbr_route_add): Function divided to
3161 ospf_asbr_route_add_flood_lsa, ospf_asbr_route_add_queue_lsa and
3162 ospf_asbr_route_install_lsa. If Router-ID is not set, then LSA is
3163 waited to install to LSDB.
3164 `0.0.0.0 adv_router' AS-external-LSA origination bug was fixed.
3165
31662000-02-01 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3167
3168 * ospf_flood.c (ospf_ls_retransmit_lookup): Compare LS seqnum
3169 in the ACK before deleting.
3170
3171 * ospf_packet.c (ospf_hello): Reset the flags after a shutdown
3172 and no shutdown of the interface.
3173
31742000-01-31 Toshiaki Takada <takada@zebra.org>
3175
3176 * ospf_packet.c (ospf_ls_req): Send multiple Link State Update
3177 packets respond to a Link State Request packet.
3178
3179 * ospfd.c (show_ip_ospf_neighbor_detail_sub): Show thread state.
3180
3181 * ospf_interface.c (ospf_vl_new): Crash when backbone area
3182 is not configured and set virtual-link to no-backbone area,
3183 bug fixed.
3184
31852000-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3186
3187 * ospf_neighbor.h (struct ospf_neighbor): Add pointer to last send
3188 LS Request LSA.
3189
3190 * ospf_packet.c (ospf_ls_upd): Comment out LS request list
3191 treatment. That should be done in OSPF flooding procedure.
3192
3193 * ospf_flood.c (ospf_flood_through_area): Enclose
3194 ospf_check_nbr_loding inside if-else close.
3195
31962000-01-31 Toshiaki Takada <takada@zebra.org>
3197
3198 * ospf_packet.c (ospf_make_ls_upd): Fix bug of #LSAs counting.
3199
32002000-01-29 Toshiaki Takada <takada@zebra.org>
3201
3202 * ospf_packet.c (ospf_make_md5_digest): Fix bug of md5 authentication.
3203
32042000-01-28 Toshiaki Takada <takada@zebra.org>
3205
3206 * ospfd.c (show_ip_ospf): Show Number of ASE-LSAs.
3207
32082000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3209
3210 * ospf_packet.c (ospf_make_db_desc): Don't use rm_list for
3211 removing LSA from nbr->db_summary.
3212
32132000-01-27 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3214
3215 * ospf_packet.c (ospf_ls_upd_send): Set AllSPFRouters to
3216 destination when the link is point-to-point.
3217 (ospf_ls_ack_send_delayed): Likewise.
3218
32192000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3220
3221 * ospf_flood.c (ospf_ls_request_delete_all): Fix bug of next
3222 pointer lookup after the node is freed.
3223
32242000-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3225
3226 * ospf_asbr.c (ospf_asbr_route_add): Instead of scanning all AS
3227 external route, use ospf_top->external_self.
3228
32292000-01-27 Toshiaki Takada <takada@zebra.org>
3230
3231 * ospf_lsa.c (ospf_forward_address_get): New function added.
3232
3233 * ospf_asbr.c (ospf_asbr_check_lsas): Originate AS-external-LSA
3234 only when it should be replaced.
3235
32362000-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3237
3238 * ospf_flood.c (ospf_ls_retransmit_clear): Delete list node.
3239
3240 * ospf_lsa.c (ospf_lsa_free): Reduce logging message using
3241 ospf_zlog value.
3242
3243 * ospf_ism.c (ism_change_status): Fix bug of DR -> non DR status
3244 change. Self originated LSA is freed but not deleted from lsdb.
3245
32462000-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3247
3248 * ospf_ism.c (ism_interface_down): Don't use router_id for
3249 detecting self neighbor structure. Instead of that compare
3250 pointer itself.
3251
3252 * ospf_neighbor.c (ospf_nbr_free): Cancel all timer when neighbor
3253 is deleted.
3254 (ospf_nbr_free): Free last send packet.
3255
3256 * ospf_neighbor.h (struct ospf_neighbor): Remove host strucutre.
3257 Instead of that src is introduced.
3258
3259 * ospf_nsm.h: Enclose macro defenition with do {} while (0).
3260
32612000-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3262
3263 * ospfd.c: Change part of passive interface implementation. For
3264 passive interface just disabling sending/receiving Hello on the
3265 interface.
3266
32672000-01-16 Kai Bankett <kai.bankett@vew-telnet.net>
3268
3269 * ospf_interface.h (OSPF_IF_PASSIVE): Add passive flag.
3270 * ospf_interface.c (ospf_if_lookup_by_name): Add new function.
3271 * ospf_lsa.c (ospf_router_lsa): Skip passive interface.
3272 * ospfd.c (passive_interface): New command passive-interface is
3273 added.
3274 (ospf_config_write): Print passive interface.
3275
32762000-01-15 Toshiaki Takada <takada@zebra.org>
3277
3278 * ospf_interface.h (crypt_key): New struct added to store
3279 multiple cryptographic autheitication keys.
3280 (ospf_interface): struct changed.
3281
3282 * ospf_interface.c: ospf_crypt_key_new, ospf_crypt_key_add,
3283 ospf_crypt_key_lookup, ospf_crypt_key_delete: new functions added.
3284
3285 * ospf_packet.c (ip_ospf_message_digest_key): Changed to store
3286 multiple cryptographic authentication keys.
3287
32882000-01-14 Toshiaki Takada <takada@zebra.org>
3289
3290 * ospf_interface.c: DEFUN (if_ospf_*) commands changed name to
3291 ip_ospf_* ().
3292 Old notation `ospf *' still remains backward compatibility.
3293
32941999-12-29 Alex Zinin <zinin@amt.ru>
3295 * ospf_lsa.c: ospf_lsa_more_recent() bug fix
3296 * ospf_nsm.c, ospf_packet.c: remove nbr data struct when
3297 int goes down, also check DD flags correctly (bug fix)
3298
32991999-12-28 Alex Zinin <zinin@amt.ru>
3300 * "redistribute <source> metric-type (1|2) metric <XXX>" added
3301
33021999-12-23 Alex Zinin <zinin@amt.ru>
3303 * added RFC1583Compatibility flag
3304 * added dynamic interface up/down functionality
3305
33061999-11-19 Toshiaki Takada <takada@zebra.org>
3307
3308 * ospf_neighbor.h (struct ospf_neighbor): Add member state_change
3309 for NSM state change statistics.
3310
33111999-11-19 Toshiaki Takada <takada@zebra.org>
3312
3313 * ospfd.c (show_ip_ospf_neighbor_detail),
3314 (show_ip_ospf_neighbor_int_detail): DEFUN Added.
3315
33161999-11-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3317
3318 * ospf_asbr.c (ospf_asbr_check_lsas): Add check of
3319 lsa->refresh_list.
3320
33211999-11-11 Toshiaki Takada <takada@zebra.org>
3322
3323 * ospf_ia.[ch] (OSPF_EXAMINE_SUMMARIES_ALL): Macro added.
3324 This macro is expanded to ospf_examine_summaries ()
3325 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3326 (OSPF_EXAMINE_TRANSIT_SUMMARIES_ALL): Macro added.
3327 This macro is expanded to ospf_examine_transit_summaries ()
3328 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3329
33301999-11-11 Toshiaki Takada <takada@zebra.org>
3331
3332 * ospf_lsa.[ch] (ospf_find_self_summary_lsa_by_prefix): Changed to
3333 macro OSPF_SUMMARY_LSA_SELF_FIND_BY_PREFIX.
3334 (ospf_find_self_summary_asbr_lsa_by_prefix): Changed to
3335 macro OSPF_SUMMARY_ASBR_LSA_SELF_FIND_BY_PREFIX.
3336 (ospf_find_self_external_lsa_by_prefix): Changed to
3337 macro OSPF_EXTERNAL_LSA_SELF_FIND_BY_PREFIX.
3338
33391999-11-11 Toshiaki Takada <takada@zebra.org>
3340
3341 * ospfd.c (ospf_abr_type): ospf_abr_type_cisco, ospf_abr_type_ibm,
3342 ospf_abr_type_shortcut and ospf_abr_type_standard DEFUNs are
3343 combined.
3344 * ospfd.c (no_ospf_abr_type): no_ospf_abr_type_cisco,
3345 no_ospf_abr_type_ibm and no_ospf_abr_type_shortcut DEFUNS are
3346 combined.
3347
33481999-11-10 Toshiaki Takada <takada@zebra.org>
3349
3350 * ospf_route.c (ospf_lookup_int_by_prefix): Move function to
3351 ospf_interface.c and change name to ospf_if_lookup_by_prefix ().
3352
33531999-11-01 Alex Zinin <zinin@amt.ru>
3354 * ospf_packet.c
3355 some correction to LSU processing
3356
3357 * ospf_lsa.c ospfd.h
3358 randomize initial LSA refreshment interval
3359 and limit the size of LSA-group to 10
3360 to let randomization work more effectively.
3361
33621999-10-31 Alex Zinin <zinin@amt.ru>
3363 * ospf_interface.c
3364 cancel t_network_lsa_self
3365 when freeing int structure
3366
3367 * ospf_abr.c ospf_asbr.c ospf_flood.c ospf_lsa.c
3368 ospf_lsa.h ospf_lsdb.h ospfd.c ospfd.h
3369
3370 Summary and ASE LSA refreshment functions
3371 added---LSA refreshment is paced to 70 LSAs
3372 per sec to avoid link overflow. Refreshment events
3373 are further randomized within a 10 sec interval
3374 to avoid syncing.
3375
3376 Also the sigfault of memcmp() in ospf_lsa_is_different()
3377 is fixed.
3378
33791999-10-30 Alex Zinin <zinin@amt.ru>
3380 * ospf_nsm.c
3381 Fix the bug where MAX_AGE LSAs
3382 are included into the DB summary.
3383
3384 * ospf_interface.c
3385 allocate 2*MTU input buffer instead of just MTU
3386 for the cases when the other router mistakenly
3387 sends larger packets thus causing fragmentation, etc.
3388
3389 * ospf_nsm.c
3390 in nsm_reset_nbr() lists should be freed
3391 not when they are empty.
3392
33931999-10-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3394
3395 * ospf_zebra.c (ospf_acl_hook): Move OSPF_IS_ASBR and OSPF_IS_ABR
3396 check inside of if (ospf_top).
3397
33981999-10-29 Alex Zinin <zinin@amt.ru>
3399 * ospf_lsa.c ospf_lsdb.c :
3400 add assertion in lsa and lsa->data alloc functions,
3401 as well as in lsdb_add for new->data
3402
3403 * ospf_lsdb.c: free hash table correctly
3404
34051999-10-28 John Capo <jc@irbs.com>
3406
3407 * ospf_packet.h (OSPF_PACKET_MAX): Correct MAX packet length
3408 calculation
3409
34101999-10-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3411
3412 * OSPF-TRAP-MIB.txt: New file added. Edited version of RFC1850.
3413
3414 * OSPF-MIB.txt: New file added. Edited version of RFC1850.
3415
34161999-10-27 Alex Zinin <zinin@amt.ru>
3417 * ospfd, ospf_zebra, ospf_abr
3418 "area import-list" command is added.
3419 This command allows to filter the inter-area routes
3420 injected into an area. Access list hook function
3421 extended to invalidate area exp/imp lists.
3422
34231999-10-25 Yoshinobu Inoue <shin@nd.net.fujitsu.co.jp>
3424
3425 * ospfd.c (ospf_interface_run): Enable to detect P2P network
3426 on an OSPF interface.
3427
34281999-10-19 Jordan Mendelson <jordy@wserv.com>
3429
3430 * ospf_lsdb.c (ospf_lsdb_add): Fix bug of crash
3431 in ospf_ls_retransmit_lookup ().
3432
34331999-10-19 Vladimir B. Grebenschikov <vova@express.ru>
3434
3435 * ospf_route.c: Workaround about installation of OSPF routes into
3436 the zebra daemon. Add checking of existance routes. Free
3437 ospf_top->old_table if it exists.
3438
34391999-10-15 Jordan Mendelson <jordy@wserv.com>
3440
3441 * Add support for MD5 authentication.
3442
34431999-10-12 Alex Zinin <zinin@amt.ru>
3444 * ospfd.c, ospfd.h, ospf_abr.c:
3445 a new command "area export-list" was added, it allows
3446 the admin. to control which intra-area routes are
3447 announced to other areas by the ABR
3448
34491999-10-12 Alex Zinin <zinin@amt.ru>
3450 * ospf_asbr.c (ospf_asbr_check_lsas): Fix bug of coredump
3451 when "no redistribute" is used after a distribute list
3452 denying some networks was used
3453
34541999-10-05 Toshiaki Takada <takada@zebra.org>
3455
3456 * ospf_route.c (ospf_path_dup): New function added.
3457
34581999-10-05 Toshiaki Takada <takada@zebra.org>
3459
3460 * ospf_interface.[ch]: Some of VL related funciton name changed.
3461
34621999-09-27 Alex Zinin <zinin@amt.ru>
3463
3464 * ospf_zebra.c: Distribute-list functionality added
3465
34661999-09-27 Toshiaki Takada <takada@zebra.org>
3467
3468 * ospfd.c (show_ip_ospf): Fix bug of segmentation fault when no ospf
3469 instance exists.
3470
34711999-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3472
3473 * ospfd.c (ospf_interface_down): Fix bug of misusing nextnode()
3474 instead of node->next. Reported by Hiroki Ishibashi
3475 <ishibasi@dcd.abk.nec.co.jp>.
3476
3477 * ospf_route.c (show_ip_ospf_route): Add check for ospf is enabled
3478 or not.
3479
34801999-09-23 Alex Zinin <zinin@amt.ru>
3481
3482 * stub area support added
3483
34841999-09-23 Alex Zinin <zinin@amt.ru>
3485
3486 * fwd_addr in ASE-LSAs is now set correctly
3487 * ASE routing changed to check the fwd_addr
3488 and skip the route if the addr points to one
3489 of our interfaces to avoid loops.
3490
34911999-09-22 Alex Zinin <zinin@amt.ru>
3492
3493 * ospf_interface:
3494 ospf_vls_in_area() added, it returns
3495 the number of VLs configured through the area
3496
3497 * ospf_interface.c ospf_lsa.c ospf_lsdb.c ospfd.c
3498 honor correct mem alloc
3499
35001999-09-22 Alex Zinin <zinin@amt.ru>
3501
3502 * memory.[ch]:
3503 Some OSPF mem types added,
3504 plus more info in "show mem"
3505
35061999-09-21 Alex Zinin <zinin@amt.ru>
3507
3508 * ospfd.c:
3509 "area range substitute" added.
3510 It can be used on NAT-enabled (IP-masquarade)
3511 routers to announce private networks
3512 from an area as public ones into the outside
3513 world (not in the RFC, btw :)
3514
35151999-09-21 Alex Zinin <zinin@amt.ru>
3516
3517 * ospfd.c:
3518 "area range suppress" added.
3519 This command allows to instruct the router
3520 to be silent about specific ranges, i.e.,
3521 it is a method of route filtering on area
3522 borders
3523
35241999-09-21 Alex Zinin <zinin@amt.ru>
3525
3526 * ospfd.c VLs removed when "no network area" executed
3527
35281999-09-20 Alex Zinin <zinin@amt.ru>
3529
3530 * ospf_ase.c bug fix for not-zero fwd_addr
3531 and directly connected routes.
3532
35331999-09-20 Yon Uriarte <yon@plannet.de>
3534
3535 * ospf_packet.c (ospf_make_ls_req): Introduce delta value for
3536 checking the length of OSPF packet exceeds MTU or not.
3537
3538 * ospf_lsa.c (ospf_lsa_different): Apply ntohs for checking
3539 l1->data->length.
3540
35411999-09-18 Alex Zinin <zinin@amt.ru>
3542
3543 * ospf_lsa.c bug fix for ospf_network_lsa() to
3544 include itself into the RID list
3545
35461999-09-10 Alex Zinin <zinin@amt.ru>
3547
3548 * Alternative ABR behaviors IBM/Cisco/Shortcut
3549 implemented
3550
35511999-09-10 Alex Zinin <zinin@amt.ru>
3552
3553 * router and network-LSA origination
3554 changed to honor MinLSInterval
3555
35561999-09-08 Alex Zinin <zinin@amt.ru>
3557
3558 * modified ABR behavior to honor VLs and transit
3559 areas
3560
35611999-09-07 Alex Zinin <zinin@amt.ru>
3562
3563 * completed VL functionality
3564
35651999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3566
3567 * ospf_asbr.c: New file.
3568 ospf_asbr.h: New file.
3569
3570 * ospf_zebra.c (ospf_redistribute_connected): Add redistribute
3571 related stuff.
3572
35731999-09-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3574
3575 * ospfd.h (OSPF_FLAG_VIRTUAL_LINK): Change OSPF_FLAG_VEND to
3576 OSPF_FLAG_VIRTUAL_LINK for comprehensiveness.
3577
35781999-09-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3579
3580 * ospf_spf.c (ospf_spf_register): Change name from
3581 ospf_spf_route_add() to ospf_spf_register().
3582 Include "ospfd/ospf_abr.h" for ospf_abr_task() prototype.
3583
35841999-09-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3585
3586 * ospf_lsa.c (ospf_external_lsa_install): Change to update
3587 lsa->data rather than install new one, when same id lsa is already
3588 installed.
3589
35901999-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3591
3592 * ospf_lsa.c (ospf_router_lsa_install): Return lsa value.
3593 (ospf_network_lsa_install): Likewise.
3594 (ospf_summary_lsa_install): Likewise.
3595 (ospf_summary_asbr_lsa_install): Likewise.
3596 (ospf_external_lsa_install): Likewise.
3597
3598 * ospf_spf.c (ospf_spf_calculate): Comment out debug function
3599 ospf_rtrs_print().
3600
36011999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3602
3603 * ospf_spf.c (ospf_rtrs_free): Add ospf_spf_calculate() for
3604 freeing rtrs.
3605
36061999-08-31 Toshiaki Takada <takada@zebra.org>
3607
3608 * ospf_lsa.c (show_ip_ospf_database_summary),
3609 (show_ip_ospf_database_summary_asbr),
3610 (show_ip_ospf_database_external): New function added.
3611 `show ip ospf database summary',
3612 `show ip ospf database asbr-summary'
3613 `show ip ospf database external' command can be used.
3614
3615 * ospf_lsa.c (ospf_lsa_count_table): New function added.
3616 (show_ip_ospf_database_all): show nothing if a type of LSA
3617 does not exist.
3618
36191999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3620
3621 * ospf_lsa.c (ospf_maxage_lsa_remover): Preserve next pointer when
3622 the node is deleted.
3623
36241999-08-31 Toshiaki Takada <takada@zebra.org>
3625
3626 * ospf_flood.c (ospf_ls_retransmit_lookup): change to return
3627 struct ospf_lsa *.
3628 (ospf_ls_request_new), (ospf_ls_request_free),
3629 (ospf_ls_request_add), (ospf_ls_request_delete),
3630 (ospf_ls_request_delete_all), (ospf_ls_request_lookup):
3631 New function added.
3632
3633 * ospf_packet.c (ospf_ls_upd_send_lsa): New function added.
3634
3635 * ospf_lsa.h (LS_AGE): Slightly change macro definition.
3636
3637 * ospf_lsa.c (ospf_lsa_more_recent), (ospf_lsa_diffrent):
3638 Use LS_AGE macro.
3639
36401999-08-30 Alex Zinin <zinin@amt.ru>
3641
3642 * ospfd.c
3643 fix a bug with area range config write
3644 added "show ip ospf" command, it will be enhanced later on
3645
36461999-08-30 Alex Zinin <zinin@amt.ru>
3647
3648 * ospf_lsa.c
3649 updated ospf_router_lsa() to honor flags (B-bit)
3650
36511999-08-30 Alex Zinin <zinin@amt.ru>
3652
3653 * ospf_abr.c
3654 wrote major functions implementing ABR activity
3655
36561999-08-30 Alex Zinin <zinin@amt.ru>
3657
3658 * ospf_ia.c ospf_route.c ospf_route.h
3659 fixed the bug with ospf_route.origin field.
3660 Now it holds pointer to lsa_header
3661
36621999-08-30 Alex Zinin <zinin@amt.ru>
3663
3664 * ospf_flood.c ospf_flood.h:
3665 transformed ospf_flood_if_select into ospf_flood_through_area()
3666 added new ospf_flood_if_select() and ospf_flood_through_as()
3667
36681999-08-30 Toshiaki Takada <takada@zebra.org>
3669
3670 * ospf_flood.[ch]: New file added.
3671
3672 * ospf_packet.c (ospf_lsa_flooding),
3673 (ospf_lsa_flooding_select_if): functions move to ospf_flood.c
3674
3675 * ospf_neighbor.c (ospf_put_lsa_on_retransm_list),
3676 (ospf_remove_lsa_from_retransm_list),
3677 (ospf_nbr_remove_all_lsas_from_retransm_list),
3678 (ospf_lsa_remove_from_ls_retransmit):
3679 (ospf_lsa_retransmit): functions move to
3680 ospf_flood.c, and change function's name:
3681
3682 ospf_put_lsa_on_retransm_list ()
3683 -> ospf_ls_retransmit_add ()
3684 ospf_remove_lsa_from_retransm_list ()
3685 -> ospf_ls_retransmit_delete ()
3686 ospf_nbr_remove_all_lsas_from_retransm_list ()
3687 -> ospf_ls_retransmit_clear ()
3688 ospf_lsa_remove_from_ls_retransmit ()
3689 -> ospf_ls_retransmit_delete_nbr_all ()
3690 ospf_lsa_retransmit ()
3691 -> ospf_ls_retransmit_add_nbr_all ()
3692
3693 * ospf_lsa.c (ospf_lsa_lookup_from_list): function move to
3694 ospf_flood.c, and change name to ospf_ls_retransmit_lookup ().
3695
36961999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3697
3698 * ospf_neighbor.c (ospf_nbr_lookup_by_addr): Use
3699 route_node_lookup() instead of route_node_get().
3700
3701 * ospf_packet.c (ospf_ls_upd): Temporary comment out (6) check.
3702
37031999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3704
3705 * ospf_route.c (ospf_lookup_int_by_prefix): Add check of
3706 oi->address.
3707
37081999-08-29 Alex Zinin <zinin@amt.ru>
3709 * ospf_lsa.c
3710 MaxAge LSA deletion functions added.
3711
37121999-08-29 Alex Zinin <zinin@amt.ru>
3713 * ospf_neighbor.c
3714 ospf_nbr_lookup_by_addr(): added route_unlock_node()
3715 when function returns NULL if (rn->info == NULL)
3716
37171999-08-29 Alex Zinin <zinin@amt.ru>
3718 * ospfd.c
3719 added a hack for area range deletion
3720
37211999-08-29 Alex Zinin <zinin@amt.ru>
3722 * ospf_lsa.h
3723 included lsdb field into struct ospf_lsa, to find
3724 LSDB easier when removing MaxAge LSAs.
3725
37261999-08-29 Alex Zinin <zinin@amt.ru>
3727 * ospf_lsa.c ospf_neighbor.c ospf_nsm.c
3728 ospf_packet.c changed to honor new retransmit list
3729 management functions
3730
37311999-08-29 Alex Zinin <zinin@amt.ru>
3732 * ospf_neighbor.c , .h added new retransmit list functions.
3733
37341999-08-29 Alex Zinin <zinin@amt.ru>
3735 * Makefile.in
3736 added ospf_ase, ospf_abr, ospf_ia
3737
37381999-08-29 Alex Zinin <zinin@amt.ru>
3739 * ospf_spf.c:
3740 - changed ospf_next_hop_calculation() to include interface
3741 and nexthop addr for directly connected routers---more informative
3742 and solves problem with route installation into the kernel
3743 - changed ospf_nexthop_out_if_addr() to support routers, not only
3744 transit networks
3745 - added ospf_process_stubs();
3746
37471999-08-29 Alex Zinin <zinin@amt.ru>
3748 * ospf_lsa.c:
3749 - changed ospf_router_lsa() to provide correct links
3750 for p-t-p interfaces;
3751 - changed ospf_summary_lsa_install() to support table
3752 of self-originated summary-LSAs;
3753 - added ospf_summary_asbr_lsa_install() and ospf_external_lsa_install()
3754 - changed ospf_lsa_install() accordingly
3755 - changed show_ip_ospf_database_router_links() to support p-t-p
3756
37571999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3758
3759 * ospf_packet.c (ospf_make_db_desc): Only master can clear more
3760 flag.
3761
37621999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3763
3764 * ospf_packet.c (ospf_read): Add check of IP src address.
3765
37661999-08-28 Alex Zinin <zinin@amt.ru>
3767 * ospf_neighbor.h
3768 added ospf_nbr_lookup_by_routerid()
3769
37701999-08-28 Alex Zinin <zinin@amt.ru>
3771 * ospfd.h
3772 added ABR/ASBR flag definitions and fields;
3773 added iflist field to area structure;
3774 summary_lsa_self and summary_lsa_asbr_self are changed
3775 to be route tables;
3776 added ranges field---configured area ranges;
3777 A separate Routers RT added;
3778 area range config commands and config write added
3779
3780
37811999-08-28 Alex Zinin <zinin@amt.ru>
3782 * ospf_route.c :
3783 ospf_route_free()--added code to free the list of paths;
3784 The following functions added:
3785 ospf_intra_add_router();
3786 ospf_intra_add_transit();
3787 ospf_intra_add_stub();
3788 the last function uses new ospf_int_lookup_by_prefix();
3789 show_ip_ospf_route_cmd()--changed to support new RT structure;
3790 added ospf_cmp_routes()--general route comparision function;
3791 added ospf_route_copy_nexthops() and ospf_route_copy_nexthops_from_vertex()
3792 they are used in ASE and IA routing;
3793 added ospf_subst_route() and ospf_add_route();
3794
37951999-08-28 Alex Zinin <zinin@amt.ru>
3796 * ospf_route.h :
3797 changed struct ospf_path to include output interface,
3798 changed struct ospf_route to support IA and ASE routing.
3799 added prototypes of the function used in IA and ASE modules.
3800
38011999-08-28 Alex Zinin <zinin@amt.ru>
3802 * ospf_lsa.h ospf_lsa.c :
3803 added ospf_my_lsa(), an interface independent version of
3804 ospf_lsa_is_self_originated(), it will be used in ASE and IA-routing.
3805
38061999-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3807
3808 * ospf_interface.c (interface_config_write): Add check for
3809 oi->nbr_self.
3810
38111999-08-25 Toshiaki Takada <takada@zebra.org>
3812
3813 * ospf_lsa.c (ospf_lsa_dup): New function added.
3814
3815 * ospf_packet.c (ospf_write), (ospf_read): Print send/recv
3816 interface in debug message.
3817
38181999-08-25 Toshiaki Takada <takada@zebra.org>
3819
3820 * ospf_packet.c (ospf_ls_ack_send): The name is changed from
3821 `ospf_ls_ack_send'.
3822 (ospf_ls_ack_send_delayed) (ospf_ls_ack_timer): New function added.
3823 Delayed Link State Acknowledgment is scheduled by timer.
3824
38251999-08-25 Alex Zinin <zinin@amt.ru>
3826
3827 * ospf_lsa.c (ospf_router_lsa): Incorrectly included link to
3828 a stub network instead of link to a transit network into
3829 originated router-LSA, bug fixed.
3830
38311999-08-24 Toshiaki Takada <takada@zebra.org>
3832
3833 * ospfd.c (ospf_update_router_id): New function added.
3834
3835 * ospf_network.c (ospf_write): Create new socket per transmission.
3836 And select outgoing interface whether dst is unicast or multicast.
3837
3838 * ospf_packet.c: LSA flooding will work.
3839
38401999-08-24 VOP <vop@unity.net>
3841
3842 * ospf_route.c: Include "sockunion.h"
3843
38441999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3845
3846 * ospf_network.c (ospf_serv_sock_init): Enclose
3847 IPTOS_PREC_INTERNETCONTROL setting with #ifdef for OS which does
3848 not have the definition.
3849
38501999-08-23 Toshiaki Takada <takada@zebra.org>
3851
3852 * ospf_packet.c: Fix bug of DD processing.
3853
38541999-08-18 Toshiaki Takada <takada@zebra.org>
3855
3856 * ospf_lsa.c (show_ip_ospf_database): Show actual `LS age'.
3857
38581999-08-17 Toshiaki Takada <takada@zebra.org>
3859
3860 * ospf_lsa.h (OSPF_MAX_LSA): The value of OSPF_MAX_LSA is
3861 corrected. The bug of `mes_lookup' is fixed.
3862 This had been reported by Poul-Henning Kamp <phk@freebsd.org>.
3863
3864 * ospf_lsa.c (ospf_router_lsa_install): The name is changed from
3865 `ospf_add_router_lsa'.
3866 (ospf_network_lsa_install): The name is changed from
3867 `ospf_add_network_lsa'.
3868
3869 * ospf_interface.h (ospf_interface): Add member `nbr_self'.
3870
3871 * ospf_interface.c (ospf_if_is_enable): New function added.
3872
38731999-08-16 Toshiaki Takada <takada@zebra.org>
3874
3875 * ospf_lsa.h (struct lsa_header): The name is changed from
3876 `struct ospf_lsa'.
3877 (struct ospf_lsa): New struct added to control each LSA's aging
3878 and timers.
3879
3880 * ospf_lsa.c (ospf_lsa_data_free): The name is change from
3881 `ospf_lsa_free'.
3882 (ospf_lsa_data_new), (ospf_lsa_new), (ospf_lsa_free),
3883 (ospf_lsa_different), (ospf_lsa_install): New function added.
3884
3885 * ospf_packet.c (ospf_ls_upd_list_lsa): New function added.
3886
38871999-08-12 Toshiaki Takada <takada@zebra.org>
3888
3889 * ospf_nsm.c (nsm_reset_nbr): New function added.
3890 KillNbr and LLDown neighbor event call this function.
3891
38921999-08-10 Toshiaki Takada <takada@zebra.org>
3893
3894 * ospf_packet.c (ospf_ls_retransmit)
3895 (ospf_ls_upd_timer): New function added.
3896 Set retransmission timer for Link State Update.
3897
38981999-07-29 Toshiaki Takada <takada@zebra.org>
3899
3900 * ospf_ism.c (ospf_dr_election): Fix bug of DR election.
3901
39021999-07-28 Toshiaki Takada <takada@zebra.org>
3903
3904 * ospf_network.c (ospf_serv_sock_init): Set IP precedence field
3905 with IPTOS_PREC_INTERNET_CONTROL.
3906
3907 * ospf_nsm.c (nsm_change_status): Schedule NeighborChange event
3908 if NSM status change.
3909
3910 * ospf_packet.c (ospf_make_hello): Never include a neighbor in
3911 Hello packet, when the neighbor goes down.
3912
39131999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3914
3915 * Makefile.am (noinst_HEADERS): Add ospf_route.h.
3916
3917 * ospf_route.c (show_ip_ospf_route): Add `show ip ospf route'
3918 command.
3919
39201999-07-25 Toshiaki Takada <takada@zebra.org>
3921
3922 * ospf_lsa.c (ospf_router_lsa): Fix bug of LS sequence number
3923 assignement.
3924
39251999-07-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3926
3927 * ospf_route.c (ospf_route_table_free): New function added.
3928
3929 * ospf_spf.c (ospf_spf_next): Free vertex w when cw's and w's
3930 distance is same.
3931
3932 * ospfd.h (struct ospf): Add old_table.
3933
3934 * ospf_main.c (sighup): Call of log_rotate () removed.
3935
3936 * ospf_lsa.c (ospf_lsa_is_self_originated): Fix bug of checking
3937 area->lsa as self LSA. This should be area->lsa_self.
3938
39391999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3940
3941 * ospf_zebra.c (ospf_zebra_add): ospf_zebra_add
3942 (),ospf_zebra_delete () added.
3943
3944 * ospf_spf.c (ospf_spf_calculate): Call ospf_intra_route_add ().
3945
39461999-07-24 Toshiaki Takada <takada@zebra.org>
3947
3948 * ospf_lsa.c: Change LS sequence number treatment.
3949 (ospf_lsa_is_self_originated): New function added.
3950 (show_ip_ospf_database_self_originated): New DEFUN added.
3951
39521999-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3953
3954 * ospf_interface.c (ospf_if_lookup_by_addr): Add loopback check.
3955
39561999-07-22 Toshiaki Takada <takada@zebra.org>
3957
3958 * ospf_spf.c (ospf_nexthop_new), (ospf_nexthop_free),
3959 (ospf_nexthop_dup): function added.
3960 (ospf_nexthop_calculation): function changed.
3961
3962 * ospf_interface.c (ospf_if_lookup_by_addr): function added.
3963
39641999-07-21 Toshiaki Takada <takada@zebra.org>
3965
3966 * ospf_spf.c (ospf_spf_closest_vertex): function removed.
3967
39681999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3969
3970 * ospf_spf.c (ospf_spf_next): Apply ntohs for fetching metric.
3971
39721999-07-21 Toshiaki Takada <takada@zebra.org>
3973
3974 * ospf_neighbor.c (ospf_nbr_lookup_by_router_id): fundtion removed.
3975
3976 * ospf_lsa.c (show_ip_ospf_database_router): describe each
3977 connected link.
3978
39791999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3980
3981 * ospf_spf.c (ospf_spf_next): V is router LSA or network LSA so
3982 change behavior according to LSA type.
3983 (ospf_lsa_has_link): Link check function is added.
3984
39851999-07-20 Kunihiro Ishiguro <kunihiro@zebra.org>
3986
3987 * ospf_spf.c (ospf_spf_calculate_schedule): Add new function for
3988 SPF calcultion schedule addtition.
3989 (ospf_spf_calculate_timer_add): Rough 30 sec interval SPF calc
3990 timer is added.
3991 (ospf_spf_next_router): Delete ospf_spf_next_network ().
3992
3993 * ospf_lsa.c (show_ip_ospf_database_all): Network-LSA display
3994 header typo correction. Display of router LSA's #link added.
3995
39961999-07-19 Toshiaki Takada <takada@zebra.org>
3997
3998 * ospf_packet.c (ospf_check_network_mask): Added new function for
3999 receiving Raw IP packet on an appropriate interface.
4000
40011999-07-16 Toshiaki Takada <takada@zebra.org>
4002
4003 * ospfd.c (ospf_router_id): new DEFUN added.
4004
40051999-07-15 Toshiaki Takada <takada@zebra.org>
4006
4007 * ospf_spf.c (ospf_spf_init), (ospf_spf_free),
4008 (ospf_spf_has_vertex), (ospf_vertex_lookup),
4009 (ospf_spf_next_router), (ospf_spf_next_network),
4010 (ospf_spf_closest_vertex), (ospf_spf_calculate):
4011 function added.
4012
40131999-07-13 Toshiaki Takada <takada@zebra.org>
4014
4015 * ospf_ism.c: fix bug of DR Election.
4016
4017 * ospf_nsm.c: fix bug of adjacency forming.
4018
40191999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
4020
4021 * ospfd.c (ospf_init): Change to use install_default.
4022
40231999-07-01 Rick Payne <rickp@rossfell.co.uk>
4024
4025 * ospf_zebra.c (zebra_init): Install standard commands to
4026 ZEBRA_NODE.
4027
40281999-06-30 Toshiaki Takada <takada@zebra.org>
4029
4030 * ospf_dump.c: Whole debug command is improved.
4031 (ISM|NSM) (events|status|timers) debug option added.
4032 (show_debugging_ospf): new DEFUN added.
4033
40341999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4035
4036 * ospf_lsa.c (ospf_lsa_lookup_from_list): Change !IPV4_ADDR_CMP to
4037 IPV4_ADDR_SAME.
4038
40391999-06-29 Toshiaki Takada <takada@zebra.org>
4040
4041 * ospf_dump.c (ospf_summary_lsa_dump): Add summary-LSA dump routine.
4042 (ospf_as_external_lsa_dump): Add AS-external-LSA dump routine.
4043
4044 * ospf_nsm.c (nsm_twoway_received): fix condtion of adjacnet.
4045
4046 * ospf_ism.c (ospf_dr_election): fix DR Election.
4047
4048 * ospf_dump.c (ospf_nbr_state_message): fix `show ip ospf neighbor'
4049 command's state.
4050
40511999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4052
4053 * ospf_dump.c (ospf_router_lsa_dump): Add router-LSA dump routine.
4054
40551999-06-28 Toshiaki Takada <takada@zebra.org>
4056
4057 * ospf_lsa.c (show_ip_ospf_database_network): fix bug of
4058 `show ip ospf database network' command output.
4059
4060 * ospf_nsm.c (nsm_inactivity_timer): Clear list of Link State
4061 Retransmission, Database Summary and Link State Request.
4062
4063 * ospf_packet.c (ospf_ls_req_timer): New function added.
4064 Set Link State Request retransmission timer.
4065
40661999-06-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4067
4068 * ospf_main.c (main): Change default output from ZLOG_SYSLOG to
4069 ZLOG_STDOUT.
4070
4071 * ospfd.c (ospf_init): Register show_ip_ospf_interface_cmd and
4072 show_ip_ospf_neighbor_cmd to VIEW_NODE.
4073
4074 * ospf_lsa.c (ospf_lsa_init): Register show_ip_ospf_database_cmd
4075 and show_ip_ospf_database_type_cmd to VIEW_NODE.
4076
40771999-06-25 Toshiaki Takada <takada@zebra.org>
4078
4079 * ospf_packet.c: fix bug of DD making.
4080 fix bug of LS-Update reading.
4081
40821999-06-23 Toshiaki Takada <takada@zebra.org>
4083
4084 * ospf_packet.c: All type of packets are changed to use
4085 fifo queue structure.
4086 (ospf_fill_header) function added.
4087
40881999-06-22 Toshiaki Takada <takada@zebra.org>
4089
4090 * ospf_packet.c (ospf_packet_new): New function added to handle
4091 sending ospf packet by fifo queue structure.
4092 (ospf_packet_free), (ospf_fifo_new), (ospf_fifo_push),
4093 (ospf_fifo_pop), (ospf_fifo_head), (ospf_fifo_flush),
4094 (ospf_fifo_free): Likewise.
4095
40961999-06-21 Toshiaki Takada <takada@zebra.org>
4097
4098 * ospf_nsm.c (ospf_db_desc_timer): function added.
4099 (nsm_timer_set) function added.
4100 * ospf_dump.c (ospf_option_dump): function added.
4101 * ospf_packet.c (ospf_ls_req) (ospf_make_ls_req): function added.
4102
41031999-06-20 Toshiaki Takada <takada@zebra.org>
4104
4105 * ospf_lsa.c (ospf_lsa_more_recent): function added.
4106 * ospf_neighbor.h (struct ospf_neighbor): Change member ms_flag
4107 to dd_flags.
4108
41091999-06-19 Toshiaki Takada <takada@zebra.org>
4110
4111 * ospf_lsa.c: DEFUN (show_ip_ospf_database) Added.
4112 * ospf_interface.c (if_ospf_cost), (if_ospf_dead_interval),
4113 (if_ospf_hello_interval), (if_ospf_priority),
4114 (if_ospf_retransmit_interval), (if_ospf_transmit_delay)
4115 argument changed from NUMBER to <range>.
4116 DEFUN (if_ospf_network_broadcast),
4117 DEFUN (if_ospf_network_non_broadcast),
4118 DEFUN (if_ospf_network_point_to_multipoint),
4119 DEFUN (if_ospf_network_point_to_point) functions are combined to
4120 DEFUN (if_ospf_network).
4121
41221999-06-18 Toshiaki Takada <takada@zebra.org>
4123
4124 * ospf_lsa.c: ospf_add_router_lsa (), ospf_add_network_lsa (),
4125 ospf_lsa_lookup (), ospf_lsa_count () Added.
4126
41271999-06-15 Toshiaki Takada <takada@zebra.org>
4128
4129 * DEFUN (ospf_debug_ism), DEFUN (ospf_debug_nsm),
4130 DEFUN (no_ospf_debug_ism), DEFUN (no_ospf_debug_nsm) Added.
4131 `debug ospf ism' command shows debug message.
4132 `debuf ospf nsm' command shows debug message.
4133
41341999-06-14 Toshiaki Takada <takada@zebra.org>
4135
4136 * ospf_lsa.c: ospf_network_lsa () Added.
4137 ospf_lsa_checksum () Added.
4138 * DEFUN (ospf_debug_packet), DEFUN (no_ospf_debug_packet) Added.
4139 `debug ospf packet' command shows debug message.
4140
41411999-06-13 Toshiaki Takada <takada@zebra.org>
4142
4143 * ospf_packet.h: Remove struct ospf_ls_req {}, ospf_ls_upd {},
4144 ospf_ls_ack {}.
4145
41461999-06-11 Toshiaki Takada <takada@zebra.org>
4147
4148 * ospf_dump.c: fix IP packet length treatment.
4149
41501999-06-10 Toshiaki Takada <takada@zebra.org>
4151
4152 * ospf_ism.h: Add OSPF_ISM_EVENT_EXECUTE() Macro Added.
4153 * ospf_nsm.h: Add OSPF_NSM_EVENT_EXECUTE() Macro Added.
4154
4155 * ospf_packet.c: ospf_db_desc (), ospf_db_desc_send () Added.
4156 ospf_make_hello (), ospf_make_db_desc () Added.
4157 ospf_db_desc_proc () Added.n
4158
4159 * Database Description packet can be processed.
4160
41611999-06-08 Toshiaki Takada <takada@zebra.org>
4162
4163 * ospf_lsa.c: New file.
4164
41651999-06-07 Toshiaki Takada <takada@zebra.org>
4166
4167 * ospf_neighbor.c: ospf_fully_adjacent_count () Added.
4168
41691999-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
4170
4171 * ospf_spf.[ch]: New file.
4172
41731999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4174
4175 * ospf_zebra.c: Changed to use lib/zclient.c routines.
4176
4177 * ospf_zebra.h (zebra_start): Remove struct zebra.
4178
41791999-05-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4180
4181 * ospfd.c (ospf_config_write): Add cast (unsigned long int) to
4182 ntohl for sprintf warning.
4183
41841999-05-19 Toshiaki Takada <takada@zebra.org>
4185
4186 * ospf_ism.c (ospf_dr_election): Join AllDRouters Multicast group
4187 if interface state changes to DR or BDR.
4188
41891999-05-14 Stephen R. van den Berg <srb@cuci.nl>
4190
4191 * ospf_main.c (signal_init): SIGTERM call sigint.
4192 (sigint): Logging more better message.
4193
41941999-05-12 Toshiaki Takada <takada@zebra.org>
4195
4196 * ospfd.c: Fix bug of `no router ospf' statement, it will work.
4197
41981999-05-11 Toshiaki Takada <takada@zebra.org>
4199
4200 * ospf_neighbor.c: ospf_nbr_free () Added.
4201
42021999-05-10 Toshiaki Takada <takada@zebra.org>
4203
4204 * ospfd.h: struct ospf_area { }, struct ospf_network { } Changed.
4205 * Fix bug of `no network' statement, it will work.
4206
42071999-05-07 Toshiaki Takada <takada@zebra.org>
4208
4209 * ospf_interface.c, ospf_zebra.c: Fix bug of last interface is not
4210 updated by ospf_if_update ().
4211
42121999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4213
4214 * Makefile.am (noinst_HEADERS): Add ospf_lsa.h for distribution.
4215
42161999-04-25 Toshiaki Takada <takada@zebra.org>
4217
4218 * ospf_interface.c: DEFUN (no_if_ospf_cost),
4219 DEFUN (no_if_ospf_dead_interval),
4220 DEFUN (no_if_ospf_hello_interval),
4221 DEFUN (no_if_ospf_priority),
4222 DEFUN (no_if_ospf_retransmit_interval),
4223 DEFUN (no_if_ospf_transmit_delay) Added.
4224
4225 interface_config_write () suppress showing interface
4226 default values.
4227
42281999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
4229
4230 * ospf_dump.c (ospf_timer_dump): If thread is NULL return "inactive".
4231
4232 * ospfd.c (ospf_if_update): Fix bug of using ospf_area { } instead
4233 of ospf_network { }. So `router ospf' statement in ospfd.conf
4234 works again.
4235 (ospf_if_update): Call ospf_get_router_id for updating router ID.
4236
42371999-04-25 Toshiaki Takada <takada@zebra.org>
4238
4239 * ospf_interface.c: DEFUN (if_ospf_network) deleted.
4240 DEFUN (if_ospf_network_broadcast),
4241 DEFUN (if_ospf_network_non_broadcast),
4242 DEFUN (if_ospf_network_point_to_multipoint),
4243 DEFUN (if_ospf_network_point_to_point),
4244 DEFUN (no_if_ospf_network) Added.
4245
42461999-04-23 Toshiaki Takada <takada@zebra.org>
4247
4248 * ospfd.h: struct area { } changed to struct ospf_network { }.
4249 Add struct ospf_area { }.
4250 * ospfd.c: Add ospf_area_lookup_by_area_id (), ospf_network_new (),
4251 and ospf_network_free ().
4252 DEFUN (area_authentication), DEFUN (no_area_authentication) Added.
4253
42541999-04-22 Toshiaki Takada <takada@zebra.org>
4255
4256 * ospf_lsa.h: New file.
4257 * ospf_packet.h: LSA related struct definition are moved to
4258 ospf_lsa.h.
4259 * ospf_packet.c: ospf_verify_header () Added.
4260
42611999-04-21 Toshiaki Takada <takada@zebra.org>
4262
4263 * ospf_ism.c: ospf_elect_dr () and related function is changed.
4264 DR Election bug fixed.
4265 * ospf_dump.c: ospf_nbr_state_message (), ospf_timer_dump () Added.
4266 * ospfd.c: DEFUN (show_ip_ospf_neighbor) Added.
4267
42681999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
4269
4270 * ospf_main.c (main): access_list_init () is added for vty
4271 connection filtering.
4272
42731999-04-16 Toshiaki Takada <takada@zebra.org>
4274
4275 * ospfd.c: DEFUN (show_ip_ospf_interface) Added.
4276 * ospf_neighbor.c: ospf_nbr_count () Added.
4277
42781999-04-15 Toshiaki Takada <takada@zebra.org>
4279
4280 * ospfd.h: struct ospf { } Changed.
4281 * ospfd.c: ospf_lookup_by_process_id () Deleted.
4282 * ospf_ism.c: ospf_wait_timer () Added. WaitTimer will work.
4283
42841999-04-14 Toshiaki Takada <takada@zebra.org>
4285
4286 * ospf_ism.c: ospf_elect_dr () Added.
4287 * ospf_network.c: ospf_if_ipmulticast () Added.
4288
42891999-04-11 Toshiaki Takada <takada@zebra.org>
4290
4291 * ospf_interface.c: interface_config_write (),
4292 DEFUN (if_ip_ospf_cost),
4293 DEFUN (if_ip_ospf_dead_interval),
4294 DEFUN (if_ip_ospf_hello_interval),
4295 DEFUN (if_ip_ospf_priority),
4296 DEFUN (if_ip_ospf_retransmit_interval) and
4297 DEFUN (if_ip_ospf_transmit_delay) Added.
4298
42991999-04-08 Toshiaki Takada <takada@zebra.org>
4300
4301 * ospf_dump.c: ospf_packet_db_desc_dump () Added.
4302 * ospf_neighbor.c: ospf_nbr_bidirectional () Added.
4303 * ospf_nsm.c: nsm_twoway_received () Added.
4304
43051999-04-02 Toshiaki Takada <takada@zebra.org>
4306
4307 * ospf_neighbor.c: New file.
4308 * ospf_neighbor.h: New file.
4309 * ospf_nsm.c: New file.
4310 * ospf_nsm.h: New file.
4311 * ospf_packet.c: Add ospf_make_header (), ospf_hello () and
4312 ospf_hello_send (). Now OSPFd can receive Hello and send Hello.
4313
43141999-03-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4315
4316 * ospf_packet.c: Add ospf_recv_packet (). Now OSPF Hello can receive.
4317
43181999-03-19 Toshiaki Takada <takada@zebra.org>
4319
4320 * ospf_packet.c: New file.
4321 * ospf_packet.h: New file.
4322 * ospf_network.c: New file.
4323 * ospf_network.h: New file.
4324 * ospfd.h: move OSPF message structure has moved to ospf_packet.h.
4325
43261999-03-17 Kunihiro Ishiguro <kunihiro@zebra.org>
4327
4328 * ospf_zebra.c (ospf_zebra_get_interface): Fix for IPv6 interface
4329 address.
4330
4331 * Makefile.am (install-sysconfDATA): Overwrite install-sysconfDATA
4332 for install ospfd.conf.sample as owner read only file.
4333
4334 * ospf_main.c (usage): Change to use ZEBRA_BUG_ADDRESS.
4335
43361999-03-15 Toshiaki Takada <takada@zebra.org>
4337
4338 * ospf_ism.c: New file.
4339 * ospf_ism.h: New file.
4340 * ospf_dump.c: New file.
4341 * ospf_dump.h: New file.
4342
4343 * ospfd.h: Add (struct ospf), (struct config_network),
4344 (struct message) structure.
4345
4346 * ospf_interface.c: Add ospf_if_match_network ().
4347 * ospf_interface.h (struct ospf_interface): Change struct members.
4348
4349 * ospfd.c: ospf_lookup_by_process_id (), ospf_network_new (),
4350 DEFUN (network_area): Added.
4351
4352 * ospfd.conf.sample: Change sample configuration.
4353
43541999-03-05 Toshiaki Takada <takada@zebra.org>
4355
4356 * ospf_interface.c: New file.
4357 * ospf_interface.h: New file.
4358 * ospf_zebra.h: New file.
4359 * ospf_zebra.c: Add interface function for zebra daemon.
4360 * ospfd.c: New file.
4361
43621999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4363
4364 * Move IPv6 codes and files to ospf6d directory.
4365
43661999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
4367
4368 * syslog support added
4369
43701998-12-22 Toshiaki Takada <takada@zebra.org>
4371
4372 * ospfd.h: New file.
4373 * ospf_lsa.h: New file.
4374
43751998-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
4376
4377 * Makefile.am: New file.
4378 * ospf_main.c: New file.
4379