blob: 46639516d697bb462f4ea950b33c994aeac60fe7 [file] [log] [blame]
Paul Jakmacac3b5c2006-05-11 13:31:11 +000012006-05-11 Paul Jakma <paul.jakma@sun.com>
2
3 * ospf_vty.c: (general) Audit ospf_lookup calls in commands,
4 ensure check for NULL result, make vty messages consistent.
5 (show_ip_ospf_interface) Missing NULL check on ospf_lookup
6 result, fixes Coverity CID #70.
7
Paul Jakma9c27ef92006-05-04 07:32:57 +000082006-04-24 Paul Jakma <paul.jakma@sun.com>
9
10 * (general) More Virtual-link fixes, again with much help in
11 testing / debug from Juergen Kammer. Primarily in SPF.
12 * ospf_spf.h: Add guard. ospf_interface.h will include this
13 header.
14 * ospf_interface.h: Modify ospf_vl_lookup definition to take
15 struct ospf as argument, so as to allow for NULL area
16 argument.
17 (struct ospf_vl_data) Remove out_oi, instead add a struct
18 vertex_nexthop, to use as initial nexthop for backbone paths
19 through a vlink.
20 * ospf_interface.c: (ospf_vl_lookup) Modified to allow
21 NULL area to be passed to indicate "any" (first) area.
22 Add extra debug.
23 (ospf_vl_set_params) vl_oi -> nexthop. Add extra debug.
24 (ospf_vl_up_check) Fix debug, inet_ntoa returns a static
25 buffer..
26 * ospf_route.c: (ospf_intra_add_router) Vlinks dont go through
27 backbone, don't bother checking.
28 * ospf_spf.c: (static struct list vertex_list) Record vertices
29 that will need to be freed.
30 (cmp) Order network before router vertices, as required,
31 wasn't implemented.
32 (vertex_nexthop_free) Mild additional robustness check.
33 (vertex_parent_free) Take void argument, as this function
34 is passed as list deconstructor for vertex parent list.
35 (ospf_vertex_new) More debug. Set deconstructor for parent
36 list. Track allocated vertices on the vertex_list.
37 (ospf_vertex_free) Get rid of the tricky recursive cleanup of
38 vertices. Now frees only the given vertex.
39 (ospf_vertex_add_parent) Fix assert.
40 (ospf_nexthop_calculation) Fix calculation of nexthop for
41 VLink vertices, lookup the vl_data and use its previously
42 recorded nexthop information.
43 (ospf_spf_calculate) Vertices are freed simply by deleting
44 vertex_list nodes and letting ospf_vertex_free as deconstructor
45 work per-node.
46 (ospf_spf_calculate_timer) Trivial optimisation, leave
47 backbone SPF calculation till last to reduce SPF churn on
48 VLink updates.
49 * ospf_vty.c: (ospf_find_vl_data) update call to ospf_vl_lookup
50 (no_ospf_area_vlink_cmd) ditto.
51 (show_ip_ospf_interface_sub) For Vlinks, the peer address is
52 more interesting than the output interface.
53
Paul Jakma478aab92006-04-03 21:25:32 +0000542006-04-03 Paul Jakma <paul.jakma@sun.com>
55
56 * (general) Fix issues with handling of Vlinks and entries
57 in the nbrs route-table which were highlighted by the
58 nsm/nbr_self fixes from bug #234. Many thanks to Juergen
59 Kammer for his help and efforts in testing out debug patches to
60 pinpoint the issue.
61 * ospf_interface.c: (ospf_vl_new) Add nbr_self for Vlink.
62 * ospf_neighbor.c: (ospf_nbr_key) new static function, helper
63 to create key in nbrs table for a given nbr.
64 (ospf_nbr_delete) Use ospf_nbr_key. Add an assert() to
65 document an expected state.
66 (ospf_nbr_add_self) Ditto.
67 (ospf_nbr_lookup_by_addr) Add an assert.
68 * ospf_nsm.c: (nsm_kill_nbr) Can never kill the nbr_self
69 psuedo-neighbour.
70
Paul Jakma075c2012006-03-30 14:34:31 +0000712006-03-27 Paul Jakma <paul.jakma@sun.com>
72
73 * ospf_lsa.c: (ospf_lsa_checksum) Add an explicit cast to avoid
74 the ambiguities of ANSI and C99 C with respect to type
75 conversion. Detailed problem report and test case with
76 example data supplied by Dmitry Ivanov <dimss@telecentrs.lv>.
77
Paul Jakma1a8ee0e2006-03-30 14:20:00 +0000782006-03-25 Paul Jakma <paul.jakma@sun.com>
79
80 * ospf_interface.c: (ospf_if_lookup_recv_if) Ignore loopbacks,
81 we can never ever receive packets on those. Should fix
82 case where CARP is run with address in same subnet as real
83 interface. Problem report and diagnosis thanks to:
84 Landon Fuller <landonf@opendarwin.org>.
85 However, ospf_read() still can't deal deterministically with
86 multiple interfaces in same subnet.
87
Paul Jakmac2b478d2006-03-30 14:16:11 +0000882006-03-23 Steve Lawson <steve.lawson@aheadcomusa.com>
89
90 * ospf_lsa.c: (ospf_lsa_install) Fix incorrect byte-order
91 conversion of OSPF_MAX_SEQUENCE_NUMBER
92
paule8e19462006-01-19 20:16:55 +0000932006-01-19 Paul Jakma <paul.jakma@sun.com>
94
95 * (general) various miscellaneous compiler warning fixes.
96 Remove redundant break statements from switch clauses
97 which return.
98 return from main, not exit, cause it annoys SOS.
99 Remove stray semi-colons which cause empty-statement
100 warnings.
101
paul779adb02006-01-18 15:07:38 +00001022006-01-18 Juergen Kammer <j.kammer@eurodata.de>
103
104 * ospf_lsa.c: (ospf_router_lsa_new) dont take reference to the
105 stream data until it is constructed, data reference is
106 volatile due to the potential resize in link_info_set
107
1082006-01-18 Paul Jakma <paul.jakma@sun.com>
109
110 * ospf_lsa.c: (link_info_set) Resize the stream if required and
111 possible. Return number of links added.
112 (lsa_link_*_set) use return value from previous.
113 * ospf_lsa.h: Add OSPF_ROUTER_LSA_LINK_SIZE define.
114
paulc6371712006-01-17 17:49:53 +00001152006-01-17 Paul Jakma <paul.jakma@sun.com>
116
117 * ospf_packet.c: (ospf_verify_header) print out the types
118 involved if there's a mismatch.
119 * ospf_zebra.c: (ospf_zebra_add) Adjust to new zserv format.
120
paul818e56c2006-01-10 23:27:05 +00001212006-01-10 Len Sorensen <lennartsorensen@ruggedcom.com>
122
123 * (general) Bug #234, see also [quagga-dev 3902].
124 Fix problem with nbr_self not being properly reinitialised
125 when an interface comes up, after having been down.
paul1a643f82006-01-11 01:08:19 +0000126 Some re-arrangement done by Paul Jakma, any bugs introduced
127 on top of Len's suggested changes are his.
paul818e56c2006-01-10 23:27:05 +0000128 * ospf_neighbor.c: (ospf_nbr_add_self) centralise
129 initialisation of nbr_self parameters here.
130 * ospf_interface.c: (ospf_if_new) deleting initialisation of
131 parameters of nbr_self, just rely on call to
132 ospf_nbr_add_self.
133 (ospf_if_cleanup) ditto.
134 * ospfd.c: (ospf_network_run) ditto.
135
paul98429f62006-01-10 22:11:54 +00001362006-01-10 Juris Kalnins <juris@mt.lv>
137
138 * ospf_zebra.c: (ospf_interface_address_delete) fix rare leak of
139 struct connected in an error case.
paul818e56c2006-01-10 23:27:05 +0000140 * ospf_packet.c: (ospf_make_md5_digest) fix odd, if not
141 undefined effect, assignment of an increment expression.
paul98429f62006-01-10 22:11:54 +0000142
paul86752842006-01-10 20:34:46 +00001432006-01-10 Paul Jakma <paul.jakma@sun.com>
144
145 * ospfd.c: (ospf_network_run) checking to see if router-id
146 is set should be on ospf->router_id, not router_id_static.
147 This was causing ospfd to not start if router-id had not
148 been configured statically.
149 (ospf_if_update) ditto.
paulc42c1772006-01-10 20:36:49 +0000150 * ospf_vty.c: (config_write_ospf_distribute) trim down
151 redundant strings.
paul86752842006-01-10 20:34:46 +0000152
paul00c290e2005-11-26 09:21:43 +00001532005-11-26 Paul Jakma <paul.jakma@sun.com>
154
155 * ospf_api.c: (struct opaque_lsa) change from gcc zero-length
156 array to C99 incomplete type array.
paulc9c93d52005-11-26 13:31:11 +0000157 * (general) s/graceful/deferred/ in all files, the former term
158 is confusing wrt OSPF Graceful-Restart.
159 * ospfd.c: (ospf_deferred_shutdown_check) dont return
160 a function which returns void. SOS complains about this.
161 (ospf_finish)
paul00c290e2005-11-26 09:21:43 +0000162
paulb29800a2005-11-20 14:50:45 +00001632005-11-20 Paul Jakma <paul.jakma@sun.com>
164
165 * ospfd.h: remove the OSPF_ROUTER_ID_UPDATE_DELAY define
166 (struct ospf) remove the router_id timer thread.
167 remove export of ospf_router_id_update_timer.
168 * ospfd.c: (ospf_router_id_update) call ospf_if_update to
169 poke interfaces into action after ID has been configured.
170 (ospf_router_id_update_timer) removed.
171 (ospf_finish_final) t_router_id_update timer is gone.
172 (ospf_network_run) router-id update timer gone.
173 call ospf_router_id_update directly if ID not configured.
174 In the per-iface loop, don't ospf_if_up interfaces if
175 ID is still not configured. The update function will call
176 ospf_if_update anyway.
177 (ospf_if_update) ID update timer is gone. Just return if no
178 ID is set.
179 * ospf_vty.c: (ospf_router_id) call ospf_router_id_update, no
180 timer needed.
181 * ospf_zebra.c: (ospf_router_id_update_zebra) call
182 ospf_router_id_update directly, not via timer.
paulc24d6022005-11-20 14:54:12 +0000183 * ospf_abr.c: (ospf_abr_announce_network_to_area) check
184 returned LSA of ospf_summary_lsa_refresh and print warning if
185 it failed.
186 (ospf_abr_announce_network_to_area) similar
187 (ospf_abr_announce_rtr_to_area) similar
188 * ospf_lsa.c: (ospf_router_lsa_new) check LSA returned is valid.
189 (ospf_router_lsa_originate) similar
190 (ospf_router_lsa_refresh, ospf_network_lsa_new) similar
191 (ospf_summary_lsa_new) Check ID is valid.
192 (ospf_summary_lsa_originate) ditto, and check returned LSA from
193 previous function is !NULL.
194 (ospf_summary_lsa_refresh) check ospf_summary_lsa_new return
195 is !NULL.
196 (ospf_summary_asbr_lsa_new) ID valid check.
197 (ospf_summary_asbr_lsa_originate) similar.
paulb29800a2005-11-20 14:50:45 +0000198
ajs70cd3472005-11-16 19:33:22 +00001992005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
200
ajs649654a2005-11-16 20:17:52 +0000201 * ospf_dump.h: Define OSPF_TIME_DUMP_SIZE as appropriate buffer size
202 for use with ospf_timer_dump and ospf_timeval_dump.
203 * ospf_vty.c: Change all buffer sizes used with ospf_timer_dump and
204 ospf_timeval_dump to have size OSPF_TIME_DUMP_SIZE.
205 (show_ip_ospf_interface_sub) Fix possible buffer overflow in
206 call to ospf_timer_dump.
207
2082005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
209
ajs70cd3472005-11-16 19:33:22 +0000210 * ospf_ism.h: (OSPF_ISM_TIMER_OFF) Improve macro syntax by enclosing
211 in 'do {...} while(0)'.
212
paul31a59762005-11-14 11:11:11 +00002132005-11-14 Paul Jakma <paul.jakma@sun.com>
214
215 * ospfd.c: (ospf_new) stub-shutdown should just default to
216 unconfigured, too strange otherwise.
217 (ospf_finish_final) t_opaque_lsa_self TIMER_OFF should be
218 preprocessor conditional on HAVE_OPAQUE_LSA.
219 * ospfd.h: (struct ospf) remove the SHUTDOWN_DEFAULT define.
220 no longer used, plus it wasn't in range that the command
221 accepted.
222 * ospf_zebra.h: Depends on vty.h, include it.
223
paul58e1bef2005-11-11 12:10:03 +00002242005-11-11 Paul Jakma <paul.jakma@sun.com>
225
226 * ospf_spf.c: (ospf_canonical_nexthops_free) Free only
227 the nexthops pointing to the root vertex. We may visit a
228 vertex twice or the vertex may have some inherited nexthops,
229 if we free other nexthops we could crash.
230
paulc8c15212005-11-04 12:31:39 +00002312005-11-04 Paul Jakma <paul.jakma@sun.com>
232
233 * ospf_{dump,spf,vty}.c: Oops, use the internal tv_sub
234 function rather than unportable timersub.
235
paul484315f2005-11-03 09:08:29 +00002362005-11-03 Paul Jakma <paul.jakma@sun.com>
237
238 * ospf_apiserver.c: (apiserver_sync_callback) stray semi-colon
239 * ospf_packet.c: include checksum.h, remove the in_cksum extern
240 * prototypes.
241 * ospf_te.h: Add braces, quell warning.
paul6d452762005-11-03 11:15:44 +0000242 * ospf_packet.c: Change level of some warnings to
243 informational.
paulc8c15212005-11-04 12:31:39 +0000244
paul88d6cf32005-10-29 12:50:09 +00002452005-10-29 Paul Jakma <paul.jakma@sun.com>
246
247 * (general) RFC3137 stub-router support
248 * ospfd.h: Add OSPF_OUTPUT_COST_INFINITE define.
249 (struct ospf_master) Add a OSPF_MASTER_SHUTDOWN flag for
250 options, to allow shutdown to distinguish between complete
251 shutdown and shutdown of a subset of ospf instances.
252 (struct ospf)
253 Add stub_router_{startup,shutdown_}time, configuration of startup
254 and shutdown time for stub-router.
255 Add t_graceful_shutdown struct thread, timer for graceful
256 shutdown, if needed.
257 (struct ospf_area) Add stub_router_state - run time state of
258 stub-router for an area. Add flags for ADMIN, IS and WAS
259 states.
260 Add t_stub_router, timer thread to resend router-lsa for an
261 area.
262 * ospf_lsa.c: (ospf_link_cost) new simple function to spit out
263 either the given lnks cost or infinite cost if stub-router is
264 in effect.
265 (lsa_link_{ptop,broadcast,virtuallink,ptomp}_set) use
266 previous function for transit-links.
267 (ospf_stub_router_timer) timer thread for end of startup stub
268 router. Change state as required for the area and setup
269 re-origination of router-lsa.
270 (ospf_stub_router_check) Check/do whether stub-router should be
271 enabled, and whether it requires timer to be setup.
272 (ospf_router_lsa_new) call previous function at top.
273 (ospf_router_lsa_originate) no external callers, made static.
274 * ospf_lsa.h: (ospf_router_lsa_originate) removed.
275 * ospf_main.c: (sigint) make static.
276 remove call to exit, as ospf_terminate now deals with
277 exiting.
278 * ospf_route.c: (ospf_terminate) removed, now in ospfd.c.
279 * ospf_vty.c: (show_ip_ospf_area) print out state of
280 stub-router, if active.
281 (show_ip_ospf) print out configuration of stub-router
282 support, and details of graceful-shutdown if the timer is
283 active.
284 ((no)?ospf_max_metric_router_lsa_{admin,startup,shutdown}) new
285 commands to (de-)?configure stub-router support.
286 (config_write_stub_router) write out config of stub-router.
287 (ospf_config_write) call previous.
288 (ospf_vty_init) install the new stub-router commands.
289 * ospfd.c: various functions made static.
290 (ospf_new) Set defaults for stub-router. Graceful shutdown
291 is made to default on, just to be adventerous.
292 (ospf_graceful_shutdown_finish) new function, final part of
293 shutdown.
294 (ospf_graceful_shutdown_timer) timer thread wrapper for
295 graceful-shutdown.
296 (ospf_graceful_shutdown_check) check whether to setup timer
297 for shutdown or proceed directly to final shutdown.
298 (ospf_terminate) moved here from ospf_route.c, call
299 ospf_finish for each instance.
300 (ospf_finish) renamed to ospf_finish_final and made static.
301 (ospf_finish) new function, exported wrapper around
302 ospf_graceful_shutdown_check.
303 (ospf_finish_final) complete shutdown of an instance.
304 Add missing TIMER_OFF's of two timer threads.
305 (ospf_area_free) opaque self lsa timer should be turned off.
306
paulb8ad39d2005-10-23 15:23:05 +00003072005-10-23 Paul Jakma <paul.jakma@sun.com>
308
paule029d442005-10-23 15:26:24 +0000309 * ospf_apiserver.c: (ospf_apiserver_term) This function should
310 not have side-effects (eg segv) if no apiserver instances are
311 active, ie be robust.
paulb8ad39d2005-10-23 15:23:05 +0000312 * ospf_vty.c: (show_ip_ospf) fix display of SPF timer if it
313 has not yet been run.
314
paulf9ad9372005-10-21 00:45:17 +00003152005-10-21 Paul Jakma <paul.jakma@sun.com>
316
paulea4ffc92005-10-21 20:04:41 +0000317 * ospf_dump.c: (ospf_timeval_dump) fix ms adjustment, thanks to
318 Andrew Schorr.
319 * ospf_vty.c: (ospf_config_write) fix write out of spf timers
320 configuration.
321
3222005-10-21 Paul Jakma <paul.jakma@sun.com>
323
pauld24f6e22005-10-21 09:23:12 +0000324 * (general) SPF millisecond resolution timer with adaptive,
325 linear back-off holdtime. Prettification of ospf_timer_dump.
326 * ospf_dump.c: (ospf_timeval_dump) new function. The guts of
327 ospf_timer_dump, but made to be more dynamic in printing out
328 the relative timeval, sliding the precision printed out
329 according to the value.
330 (ospf_timer_dump) guts moved to ospf_timeval_dump.
331 * ospf_dump.h: export ospf_timeval_dump.
332 * ospf_flood.c: (ospf_flood) remove gettimeofday, use
333 the libzebra exported recent_time instead, as it's not
334 terribly critical to have time exactly right - the dropped
335 LSA will be retransmited to us if we don't ACK it.
336 * ospf_packet.c: (ospf_ls_upd_timer) Ditto, but here we're
337 not transmitting, just putting LSA back on update transmit list.
338 * ospfd.h: delay and holdtimes should be unsigned.
339 Add spf_max_holdtime and spf_hold_multiplier.
340 Update default defines for delay and hold time to be in msec.
341 (struct ospf) change the SPF timestamp to a struct timeval.
342 Remove ospf_timers_spf_(un)?set.
343 * ospfd.c: (ospf_timers_spf_{set,unset}) removed.
344 (ospf_new) initialise spf_max_holdtime and spf_hold_multiplier
345 * ospf_spf.c: (ospf_spf_calculate) SPF timestamp is a timeval
346 now, update with gettimeofday.
347 (ospf_spf_calculate_schedule) Change SPF timers to millisecond
348 resolution.
349 Make the holdtime be adaptive, with a linear increase in
350 holdtime ever consecutive SPF run which occurs within holdtime
351 of previous SPF, bounded by spf_max_holdtime.
352 * ospf_vty.c: Update spf timers commands.
353 (ospf_timers_spf_set) trivial helper.
354 (ospf_timers_throttle_spf_cmd) new command to set SPF delay,
355 initial hold and max hold times with millisecond resolution.
356 (ospf_timers_spf_cmd) Deprecated. Accept the old values,
357 convert to msec, truncate to new limits.
358 (no_ospf_timers_throttle_spf_cmd) set timers to defaults.
359 (no_ospf_timers_spf_cmd) deprecated form, same as previous.
360 (show_ip_ospf_cmd) Display SPF parameters and times.
361 (show_ip_ospf_neighbour_header) Centralise the 'sh ip os ne'
362 header.
363 (show_ip_ospf_neighbor_sub) Fix the field widths. Get rid of
364 the multiple spaces which were making the lines even longer.
365 (show_ip_ospf_neighbor_cmd) Use show_ip_ospf_neighbour_header
366 (show_ip_ospf_neighbor_all_cmd) ditto and fix the field
367 widths for NBMA neighbours.
368 (show_ip_ospf_neighbor_int) Use header function.
369 (show_ip_ospf_nbr_nbma_detail_sub) use sizeof for timebuf,
370 local array - safer.
371 (show_ip_ospf_neighbor_detail_sub) ditto
372 (ospf_vty_init) install the new SPF throttle timer commands.
373
3742005-10-21 Paul Jakma <paul.jakma@sun.com>
375
paulf9ad9372005-10-21 00:45:17 +0000376 * (general) OSPF fast, sub-second hello and 1s dead-interval
377 support.
378 * ospf_dump.c: (ospf_timer_dump) Print out milliseconds too.
379 Callers typically specify a length of 9, so most see
380 millisecs unless they specify the additional length.
381 * ospf_interface.h: (struct ospf_interface) new interface param,
382 fast_hello.
383 * ospf_interface.c: (ospf_if_table_lookup) add brackets,
384 gcc warning fix.
385 (ospf_new_if_params) Initialise fast_hello param.
386 (ospf_free_if_params) Check whether fast_hello is configured.
387 (ospf_if_new_hook) set fast_hello to default.
388 * ospf_ism.h: Wrap OSPF_ISM_TIMER_ON inside do {} while (0) to
389 prevent funny side-effects from its if statement when this
390 macro is used conditionally by other macros.
391 (OSPF_ISM_TIMER_MSEC_ON) new macro, set in milliseconds.
392 (OSPF_HELLO_TIMER_ON) new macro to set hello timer according
393 to whether fast_hello is set.
394 * ospf_ism.c: Update all setting of the hello timer to use
395 either OSPF_ISM_TIMER_MSEC_ON or OSPF_HELLO_TIMER_ON. The
396 former is used when hello is to be sent immediately.
397 * ospf_nsm.c: ditto
398 * ospf_packet.c: (ospf_hello) hello-interval is not checked
399 for mismatch if fast_hello is set.
400 (ospf_read) Annoying nit, fix "no ospf_interface" to be debug
401 rather than a warning, as it can be perfectly normal to
402 receive packets when logical subnets are used.
403 (ospf_make_hello) Set hello-interval to 0 if fast-hellos are
404 configured.
405 * ospf_vty.c: (ospf_auto_cost_reference_bandwidth) annoying
406 nit, don't vty_out if this command is given, it gets tired
407 quick.
408 (show_ip_ospf_interface_sub) Print the hello-interval
409 according to whether fast-hello is set or not.
410 Print the extra 5 millisec characters from (ospf_timer_dump)
411 if fast-hello is configured.
412 (ospf_vty_dead_interval_set) new function, common to all
413 forms of dead-interval command, to set dead-interval and
414 fast-hello correctly. If a dead-interval is given, unset
415 fast-hello, else if a hello-multiplier is set, set
416 dead-interval to 1 and fast-hello to given multiplier.
417 (ip_ospf_dead_interval_addr_cmd) use
418 ospf_vty_dead_interval_set().
419 (ip_ospf_dead_interval_minimal_addr_cmd) ditto.
420 (no_ip_ospf_dead_interval) Unset fast-hello.
421 (no_ip_ospf_hello_interval) Bug-fix, unset of hello-interval
422 should set it to OSPF_HELLO_INTERVAL_DEFAULT, not
423 OSPF_ROUTER_DEAD_INTERVAL_DEFAULT.
424 (config_write_interface) Write out fast-hello.
425 (ospf_config_write) Write a comment about
426 "auto-cost reference-bandwidth" having to be equal on all
427 routers. Hopefully just as noticeable as old practice of
428 writing to vty, but less annoying.
429 (ospf_vty_if_init) install the two new dead-interval
430 commands.
431 * ospfd.h: Add defines for OSPF_ROUTER_DEAD_INTERVAL_MINIMAL
432 and OSPF_FAST_HELLO_DEFAULT.
433
pauleb3da6d2005-10-18 04:20:33 +00004342005-10-18 Paul Jakma <paul.jakma@sun.com>
435
436 * (general) SPF memory management cleanup and fix for rare
437 double-free bug.
438 * ospf_spf.h: (struct vertex_parent) New struct to hold parent
439 specific data, eg the backlink and the parent vertex pointer,
440 and point to the appropriate general struct vertex_nexthop.
441 (struct vertex_nexthop) remove parent vertex pointer, so
442 this struct can be shared across vertices.
443 (struct vertex) rename list child to list children. Remove
444 list of nexthops, replace with list of vertex_parents.
445 * ospf_spf.c: (update_stat) trivial, remove cast from void *.
446 (vertex_nexthop_new) remove init of parent - field is gone
447 from struct vertex_nexthop.
448 (ospf_canonical_nexthops_free) Remove the canonical
449 vertex_nexthop memory objects. These are the vertex_nexthops
450 attached to the first level of router vertices from the root.
451 (vertex_parent_new) new function, create a vertex_parent.
452 (vertex_parent_free) ditto, but free it.
453 (ospf_vertex_new) Update to match changes to struct vertex.
454 (ospf_vertex_free) Recursively free a struct vertex and its
455 children. The parent list is used as a reference count.
456 vertex_nexthops must be free seperately, if required.
457 (ospf_vertex_dump) update to match struct vertex changes.
458 Print out backlink of parents too.
459 (ospf_vertex_add_parent) ditto.
460 (ospf_lsa_has_link) update comment.
461 (ospf_nexthop_add_unique) removed, not needed anymore.
462 (ospf_nexthop_merge) ditto.
463 (ospf_spf_consider_nexthop) renamed to ospf_spf_add_parent.
464 Simplified to just create vertex_parent and add it.
465 (ospf_spf_flush_parents) new function, flush out the parent
466 list.
467 (ospf_nexthop_calculation) Take the relevant route_lsa_link
468 as an argument, which simplifies things and removes the need
469 for the hack in ospf_nexthop_add_unique - ospf_spf_next
470 already knew exactly which link the cost calculated was for.
471 Update to match struct vertex changes too.
472 (ospf_spf_next) Don't create a vertex for W unnecessarily, if
473 it's there's a vertex already created for W, use it, and
474 hence there's no need to free it either.
475 Update some manipulation/comparisons of distance to match.
476 Flush the parent list if a lower cost path is found.
477 (ospf_spf_route_free) unused, removed.
478 (ospf_spf_dump) match the struct vertex changes, and dump the
479 ifname if possible.
480 (ospf_spf_calculate) At end of SPF, free the canonical nexthops
481 and call ospf_vertex_free on the root vertex to free the
482 entire tree.
483 * ospf_interface.c: (ospf_vl_set_params) match struct vertex
484 changes.
485 * ospf_route.c: (ospf_intra_route_add) ditto
486 (ospf_route_copy_nexthops_from_vertex) ditto
487
paul36238142005-10-11 04:12:54 +00004882005-10-11 Paul Jakma <paul.jakma@sun.com>
489
490 * ospf_api.c: sign warnings.
491 * ospf_apiserver.c: sign warning and convert all the struct
492 in_addr initialisations so as not to make assumptions about
493 how this struct is organised, initialise the s_addr member
494 explicitely.
495 * ospf_packet.c: Add const qualifier to auth_key.
496
vincent77df1f72005-10-06 07:46:22 +00004972005-10-06 Alain Ritoux <alain.ritoux@6wind.com>
498
499 * ospf_snmp.c: Avoid mixing interface and ospf_interface objects
500 which now allows snmpwalk to work with ospfIfTable and
501 also with ospfIfMetricTable
502
ajsf52d13c2005-10-01 17:38:06 +00005032005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
504
505 * ospf_dump.c: Remove local hard-coded table ospf_redistributed_proto.
506 (ospf_redist_string) New function implemented using new library
507 function zebra_route_string(). Note that there are a few differences
508 in the output that will result: the new function returns strings
509 that are lower-case, whereas the old table was mixed case. Also,
510 the old table mapped ZEBRA_ROUTE_OSPF6 to "OSPFv3", whereas the
511 new function returns "ospf6".
512 * ospfd.h: Remove extern struct message ospf_redistributed_proto[],
513 and add extern const char *ospf_redist_string(u_int route_type)
514 instead.
515 * ospf_asbr.c: (ospf_external_info_add) In two messages, use
516 ospf_redist_string instead of LOOKUP(ospf_redistributed_proto).
517 * ospf_vty.c: Remove local hard-coded table distribute_str.
518 (config_write_ospf_redistribute,config_write_ospf_distribute): Use
519 new library function zebra_route_string() instead of distribute_str[].
520 * ospf_zebra.c: (ospf_redistribute_set,ospf_redistribute_unset,
521 ospf_redistribute_default_set,ospf_redistribute_check)
522 In debug messages, use ospf_redist_string() instead of
523 LOOKUP(ospf_redistributed_proto).
524
jardin6638c1a2005-10-01 00:08:54 +00005252005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
526
527 * ospf_dump.c, ospf_ia.c, ospf_spf.c, ospf_ase.c:
528 remove unused DEBUG
529
vincentba682532005-09-29 13:52:57 +00005302005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
531
vincent5e4914c2005-09-29 16:34:30 +0000532 * ospf_ism.c: generate SNMP traps on Interface state change
533 * ospf_nsm.c: generate SNMP traps on Neighbour state change
534 * ospf_snmp.[ch]: support for SNMP traps for interface and neighbours.
535
5362005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
537
vincentba682532005-09-29 13:52:57 +0000538 * ospf_vty.c: forece default route LSA to be re_issued whenever
539 cost is changed ( [no] ip ospf area XXX default-cost YYY)
540 Support ignore-mtu option
541 * ospfd.h: define OSPF_MTU_IGNORE_DEFAULT
542 * ospf_packet.c: support ignore-mtu option
543 * ospf_interface.h: field added for skipping MTU check
544 * ospf_interface.c: fix memory leak in ospf_crypt_key_delete()
545 Set mtu_ignore field to default value
546 * ospf_abr.[ch]: export ospf_abr_announce_network_to_area()
547 * ospf_ism.h: add MACRO to convert internal ISM status into SNMP
548 correct values
549 * ospf_snmp.c: add sanity check on LSA type in lsdb_lookup_next()
550 convert OSPFIFSTATE internal status into SNMP values
551
vincentc1a03d42005-09-28 15:47:44 +00005522005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
553
554 * ospf_packet.c: use new md5 API
555
ajs5339cfd2005-09-19 13:28:05 +00005562005-09-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
557
558 * ospf_lsa.h: (ospf_external_lsa_flush) Comment out the 5th argument
559 (nexthop) since it is not used in the function (except inside
560 some commented-out code).
561 * ospf_lsa.c: (ospf_external_lsa_flush,ospf_external_lsa_refresh)
562 Comment out the 5th argument to ospf_external_lsa_flush.
563 * ospf_asbr.c: (ospf_redistribute_withdraw) Comment out 5th arg
564 to ospf_external_lsa_flush.
565 * ospf_vty.c: (no_ospf_default_information_originate) Eliminate 5th
566 uninitialized nexthop arg to ospf_external_lsa_flush.
567 * ospf_zebra.c: (ospf_zebra_read_ipv4) Comment out 5th arg
568 to ospf_external_lsa_flush.
569 * ospfd.c: (ospf_network_set) Comment out 5th arg
570 to ospf_external_lsa_flush.
571
ajse6a0bf92005-09-17 18:53:38 +00005722005-09-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
573
574 * ospf_opaque.c:
575 (ospf_opaque_lsa_refresh_schedule,ospf_opaque_lsa_flush_schedule)
576 No need to call ospf_lookup(), just use lsa0->area->ospf instead.
577
hassobb5b7552005-08-21 20:01:15 +00005782005-08-21 Hasso Tepper <hasso at quagga.net>
579
580 * ospf_vty.c: Make "show ip ospf neighbor xxx" commands work.
581 Interface should be specified by name now.
582
hasso54bedb52005-08-17 13:31:47 +00005832005-08-17 Hasso Tepper <hasso at quagga.net>
584
585 * ospf_vty.c: Check carefully if interface exists before trying to
586 print info about it.
587
hasso01018ce2005-08-05 07:40:15 +00005882005-08-05 Hasso Tepper <hasso at quagga.net>
589
590 * ospf_zebra.c: Don't assert/stop before type == ZEBRA_ROUTE_MAX if
591 dealing with routemaps. There is ospf->route_map[ZEBRA_ROUTE_MAX]
592 for default-information.
593
paulc8987752005-07-26 06:07:22 +00005942005-07-26 Paul Jakma <paul.jakma@sun.com>
595
596 * ospf_abr.c: (ospf_abr_announce_network_to_area) SET_FLAG
597 should be on lsa not old, which may be freed for one thing,
598 obviously.
599
pauld57834f2005-07-12 20:04:22 +00006002005-07-12 Paul Jakma <paul.jakma@sun.com>
601
602 * ospfd.h: add OSPF_ABR_DEFAULT for convenience, make
603 OSPF_ABR_CISCO be the default ABR type.
604 * ospfd.c: (ospf_new) initialise abr_type to OSPF_ABR_DEFAULT
605 * ospf_vty.c: (no_ospf_abr_type_cmd) add standard as a negatable
606 abr_type. default abr_type should be OSPF_ABR_DEFAULT.
607 (ospf_config_write) test whether default abr_type against
608 OSPF_ABR_DEFAULT, rather than any specific ABR_TYPE.
609
hasso8469bd72005-06-20 20:50:10 +00006102005-06-20 Hasso Tepper <hasso at quagga.net>
hassof4833e92005-06-20 20:42:26 +0000611
612 * ospf_nsm.c: Make database exchange for NSSA database work.
613
paul7461d452005-06-13 13:57:16 +00006142005-06-13 Paul Jakma <paul.jakma@sun.com>
615
616 * ospf_spf.c: Try get more information on a SEGV under
617 ospf_spf_vertex_add_parent.
618 (ospf_vertex_free) NULL out the child and nexthop lists
619 (ospf_vertex_add_parent) nexthop and child can not be NULL
620 vertex_nexthop's parent->child list can not be NULL
621 (ospf_spf_next) w and cw are per-loop iteration variables, move
622 declarations into loop body.
623
hasso1ddd7292005-06-07 19:54:04 +00006242005-06-07 Hasso Tepper <hasso at quagga.net>
625
626 * ospf_apiserver.c: Fix obvious error in notifying clients about ISM
627 changes - oi->ifp->status doesn't give to us info about ISM,
628 oi->state does.
629
paul7e440862005-06-01 11:20:51 +00006302005-06-01 Akihiro Mizutani <mizutani@net-chef.net>
631
632 * ospf_ism.c (ospf_elect_bdr/ospf_elect_dr): Fix DR election bug.
633
paul500e4182005-05-26 17:11:13 +00006342005-05-26 Paul Jakma <paul.jakma@sun.com>
635
636 * ospf_abr.c: (ospf_abr_update_aggregate) Fix comment, cost bug itself
637 had been fixed long ago by Sowmini.
638
paula3387a42005-05-18 23:29:57 +00006392005-05-19 Paul Jakma <paul.jakma@sun.com>
640
641 * ospf_interface.c: (ospf_if_table_lookup) Fix a serious bug
642 a less serious one.
643 1: this function is supposed to lookup
644 entries in the oifs ospf_interface route_table and return either
645 an existing oi or NULL to indicate not found, its caller depends
646 on this, yet this function uses route_node_get which /always/
647 returns a route_node - one is created if none exists. Use
648 route_node_lookup instead. This should fix root cause of the
649 reports of the (ospf_add_to_if) assert being hit.
650 2: oi's are inserted into this table with prefixlength set to
651 /32 (indeed, it should be a hash table, not a route_table),
652 however prefixlength to lookup was not changed, if no valid entry
653 can be inserted other than /32, then nothng but /32 should be
654 looked up. This possibly only worked by fluke..
655 Fix confirmed by 2 reporters (one list, one IRC), definitely a
656 backport candidate once it has been incubated in HEAD for a while.
657 Thanks to Patrick Friedel and Ivan Warren for testing.
658
paul69310a62005-05-11 18:09:59 +00006592005-05-11 Paul Jakma <paul.jakma@sun.com>
660
661 * (general) Fix memory leaks in opaque AS-scope LSAs, reported and
662 with much debugging done by by scott collins <scollins@agile.tv>.
663 * ospf_lsa.c: (ospf_discard_from_db) dont call
664 ospf_ase_unregister_external_lsa for opaque-lsa's, opaques are
665 never registered with ase in the first place.
666 * ospf_packet.c: (general) Disabuse opaque related code of its
667 tendency to try gather up things into temporary lists.
668 (ospf_ls_upd) remove the temporary lists opaque uses, call
669 opaque functions inline, just like all other types.
670 (ospf_ls_ack) ditto.
671 (ospf_recv_packet) fixup sign warning.
672 * ospf_opaque.c: (general) fix the unneeded use of lists, and
673 untwist some of the logic.
674 (ospf_opaque_self_originated_lsa_received) take a single LSA
675 as argument, not a list of them. Remove the list loop. Logic
676 otherwise unchanged.
677 (ospf_opaque_ls_ack_received) Mostly ditto. But untwist the logic,
678 move the actions up into the switch block, remove the goto's and
679 sanitise the logic near the end a bit.
680 * ospf_opaque.h: Adjust definitions of aforementioned functions
681 in ospf_opaque.c to match.
682
paul42c98192005-05-07 02:22:51 +00006832005-05-07 Yar Tikhiy <yar@comp.chem.msu.su>
684
685 * ospf_network.c: Log ifindex on multicast membership leave/join
686 events.
687
paul4dadc292005-05-06 21:37:42 +00006882005-05-06 Paul Jakma <paul.jakma@sun.com>
689
690 * (general) extern and static qualifiers added.
691 unspecified arguments in definitions fixed, typically they should
692 be 'void'.
693 function casts added for callbacks.
694 Guards added to headers which lacked them.
695 Proper headers included rather than relying on incomplete
696 definitions.
697 gcc noreturn function attribute where appropriate.
698 * ospf_opaque.c: remove the private definition of ospf_lsa's
699 ospf_lsa_refresh_delay.
700 * ospf_lsa.h: export ospf_lsa_refresh_delay
701 * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const,
702 correct thing to do - removes need for the casts later.
703 * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's
704 home-brewed versions, shuts up several warnings.
705 * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and
706 VTY_GET_IPV4_PREFIX moved to lib/vty.h.
707 * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky
708 overloading of the THREAD_ARG pointer should at least use
709 uintptr_t.
710
paul9e67dc22005-04-15 12:10:17 +00007112005-04-15 Zhipeng Gong <zpgong@cdc.3upsystems.com>
712
713 * ospf_abr.c: (ospf_abr_announce_network_to_area) dont forget
714 to approve LSAs for the case where metric has changed, lsa gets
715 flushed otherwise. (backport candidate).
716
ajs634f9ea2005-04-11 15:51:40 +00007172005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
718
719 * ospf_zebra.c (ospf_zebra_add): Call zclient_send_message instead
720 of writen.
721
ajsd2fc8892005-04-02 18:38:43 +00007222005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
723
ajse4319de2005-04-02 23:23:55 +0000724 * ospf_interface.h: (ospf_if_lookup_by_name) Remove declaration of a
725 function that does not exist.
726
7272005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
728
ajs21fefa92005-04-02 23:16:41 +0000729 * ospf_zebra.c: (zebra_interface_if_lookup) Must use
730 if_lookup_by_name_len.
731
7322005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
733
ajsa3491982005-04-02 22:50:38 +0000734 * ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create.
735
7362005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
737
ajsd2fc8892005-04-02 18:38:43 +0000738 * ospf_vty.c: (show_ip_ospf_interface_sub) Show ifindex and interface
739 flags to help with debugging.
740 * ospf_zebra.c: (ospf_interface_delete) After deleting, set ifp->ifindex
741 to IFINDEX_INTERNAL.
742 (zebra_interface_if_lookup) Make function static. Tighten up code.
743
ajsaca72fd2005-03-31 15:18:21 +00007442005-03-31 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
745
746 * ospf_dump.c: (show_debugging_ospf) Show if ospf event debugging
747 is turned on.
748
ajsfd651fa2005-03-29 16:08:16 +00007492005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
750
ajsa608bbf2005-03-29 17:03:49 +0000751 * ospf_zebra.c: (ospf_interface_state_up) If the MTU of an operative
752 interface changes, print a debug message and call ospf_if_reset()
753 to simulate down/up on the interface.
754 * ospf_interface.h: Declare new function ospf_if_reset().
755 * ospf_interface.c: (ospf_if_reset) New function to call ospf_if_down
756 and ospf_if_up for all ospf interfaces attached to an interface.
757
7582005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
759
ajs5dcbdf82005-03-29 16:13:49 +0000760 * ospf_packet.c: (ospf_write_frags) Enhance error message to
761 show MTU. Also make function static.
762 (ospf_write) Enhance error message to show interface name and MTU.
763 Also make function static.
764
7652005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
766
767 * ospf_vty.c: (show_ip_ospf_interface_sub) Display interface MTU and
768 bandwidth; this is useful for debugging problems. Also, the function
769 should be static.
ajsfd651fa2005-03-29 16:08:16 +0000770
hasso1b639042005-03-27 13:32:25 +00007712005-03-27 Hasso Tepper <hasso at quagga.net>
772
773 * ospf_snmp.c: Don't crash in snmp query if ospf instance doesn't
774 exist at all.
775
hasso343f5cc2005-03-25 19:48:40 +00007762005-03-25 Hasso Tepper <hasso at quagga.net>
777
778 * ospfd.h: Include log.h, fixes compile with gcc-4.0.
779
ajs9dbc7972005-03-13 19:27:22 +00007802005-03-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
781
782 * ospf_lsa.c: (ospf_lsa_refresh_walker) If the system clock jumps
783 backward, then current time may be less than
784 ospf->lsa_refresher_started. This was causing invalid values
785 for ospf->lsa_refresh_queue.index resulting in infinite loops.
786 Problem fixed by casting the expression to unsigned before taking
787 the modulus.
788
ajs5c333492005-02-23 15:43:01 +00007892005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
790
791 * ospfd.h: Add new field struct stream *ibuf to struct ospf.
792 * ospfd.c: (ospf_new) Check return code from ospf_sock_init.
793 Allocate ibuf using stream_new(OSPF_MAX_PACKET_SIZE+1).
794 (ospf_finish) Call stream_free(ospf->ibuf.
795 * ospf_packet.c: (ospf_read) Call stream_reset(ospf->ibuf) and then
796 pass it to ospf_recv_packet for use in receiving the packet
797 (instead of allocating a new stream for each packet received).
798 Eliminate all calls to stream_free(ibuf).
799 (ospf_recv_packet) The struct stream *ibuf is now passed in as
800 an argument. No need to use recvfrom to peek at the packet
801 header (to see how big it is), just use ospf->ibuf which is
802 always large enough (this eliminates a system call to recvfrom).
803 Therefore, no need to allocate a stream just for this packet,
804 and no need to free it when done.
805
hasso462f20d2005-02-23 11:29:02 +00008062005-02-23 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it>
807
808 * ospf_lsa.h: New flag to the LSA structure for the SPF calculation.
809 * ospf_lsdb.h: Export ospf_lsdb_clean_stat() function.
810 * ospf_spf.h: Add link to the LSA stat structure into vertex.
811 * ospf_spf.c: New functions cmp() and update_stat() to manage
812 candidates. Remove ospf_spf_has_vertex(), ospf_vertex_lookup(),
813 ospf_install_candidate() and ospf_spf_register() functions not needed
814 any more. Update ospf_vertex_new(), ospf_spf_next() and
815 ospf_spf_calculate() functions to use pqueue instead of linked list.
816
hassoe40dcce2005-02-21 14:58:42 +00008172005-02-21 Hasso Tepper <hasso at quagga.net>
818
819 * ospf_ase.c: Don't show messages related to the ase calculations if
820 we are not debugging.
821
hasso306541b2005-02-19 17:58:40 +00008222005-02-19 Hasso Tepper <hasso at quagga.net>
823
824 * ospf_api.h: char isn't always signed, but it has to be it here.
825
paulfa81b712005-02-19 01:19:20 +00008262005-02-19 Paul Jakma <paul.jakma@sun.com>
827
828 * ospf_packet.c: (ospf_stream_copy) remove
829 (ospf_packet_dup) use stream_copy instead of ospf_stream_copy
830
ajs038163f2005-02-17 19:55:59 +00008312005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
832
833 * ospf_packet.c: (ospf_recv_packet) If there is somehow a runt
834 packet in the queue, it must be discarded. Improve warning messages.
835 Fix scope to static.
836 (ospf_read) Fix bug: should reset the read thread in all cases
837 to make sure we continue to get incoming messages.
838
paul658b03a2005-02-15 10:10:55 +00008392005-02-15 Paul Jakma <paul.jakma@sun.com>
840
841 * ospf_packet.c: (ospf_recv_packet) Fix silly error wrt allocating
842 ibuf. Thanks Andrew.
843
paulbfdc44a2005-02-14 23:48:42 +00008442005-02-14 Paul Jakma <paul.jakma@sun.com>
845
846 * ospf_packet.c: (ospf_recv_packet) use stream_recvmsg.
847
hasso082253f2005-02-11 08:31:54 +00008482005-02-11 Hasso Tepper <hasso at quagga.net>
849
850 * ospf_lsdb.c: Fix sum of checksums calculation.
851
ajs083ee9d2005-02-09 15:35:50 +00008522005-02-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
853
854 * ospf_packet.c: (ospf_write) If sendmsg fails, give more info in the
855 error message.
856
ajsba6454e2005-02-08 15:37:30 +00008572005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
858
ajs8cfde372005-02-08 15:59:16 +0000859 * ospf_interface.h: Reduce structure padding by putting new u_char
860 field multicast_memberships in a better spot (grouped with
861 other u_char fields type and state).
862
8632005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
864
ajsba6454e2005-02-08 15:37:30 +0000865 * ospf_interface.h: Improve passive_interface comment. Add new
866 multicast_memberships bitmask to struct ospf_interface to track
867 active multicast subscriptions. Declare new function
868 ospf_if_set_multicast.
869 * ospf_interface.c: (ospf_if_set_multicast) New function to configure
870 multicast memberships properly based on the current
871 multicast_memberships status and the current values of the
872 ospf_interface state, type, and passive_interface status.
873 (ospf_if_up) Remove call to ospf_if_add_allspfrouters (this is
874 now handled by ism_change_state's call to ospf_if_set_multicast).
875 (ospf_if_down) Remove call to ospf_if_drop_allspfrouters (now
876 handled by ism_change_state).
877 * ospf_ism.c: (ospf_dr_election) Remove logic to join or leave
878 the DRouters multicast group (now handled by ism_change_state's call
879 to ospf_if_set_multicast).
880 (ism_change_state) Add call to ospf_if_set_multicast to change
881 multicast memberships as necessary to reflect the new interface state.
882 * ospf_packet.c: (ospf_hello) When a Hello packet is received on a
883 passive interface: 1. Increase the severity of the error message
884 from LOG_INFO to LOG_WARNING; 2. Add more information to the error
885 message (packet destination address and interface address);
886 and 3. If the packet was sent to ospf-all-routers, then try
887 to fix the multicast group memberships.
888 (ospf_read) When a packet is received on an interface whose state
889 is ISM_Down, enhance the warning message to show the packet
890 destination address, and try to update/fix the multicast group
891 memberships if the packet was sent to a multicast address.
892 When a packet is received for ospf-designated-routers, but the
893 current interface state is not DR or BDR, then increase the
894 severity level of the error message from LOG_INFO to LOG_WARNING,
895 and try to fix the multicast group memberships.
896 * ospf_vty.c: (ospf_passive_interface) Call ospf_if_set_multicast for
897 any ospf interface that may have changed from active to passive.
898 (no_ospf_passive_interface) Call ospf_if_set_multicast for
899 any ospf interface that may have changed from passive to active.
900 (show_ip_ospf_interface_sub) Show multicast group memberships.
901
paul3a9eb092005-02-08 11:29:41 +00009022005-02-08 Paul Jakma <paul@dishone.st>
903
904 * ospf_packet.c: (various) Remove unneeded stream_set_putp abuse.
905
ajs847947f2005-02-02 18:38:48 +00009062005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
907
908 * ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down,
909 not for event ISM_InterfaceDown. And improve the message by
910 adding the interface flags.
911
ajs0b7d97d2005-01-30 17:24:02 +00009122005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
913
914 * ospf_network.c: (ospf_sock_init) Save errno before calling
915 ospfd_privs.change.
916
ajsc3eab872005-01-29 15:52:07 +00009172005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
918
919 * ospf_packet.c: (ospf_packet_add) If oi->obuf is NULL, print
920 an error message and return.
921 (ospf_read) If the interface state is ISM_InterfaceDown, issue
922 a warning message and ignore the packet.
923
gdt86f1fd92005-01-10 14:20:43 +00009242005-01-10 Greg Troxel <gdt@fnord.ir.bbn.com>
925
926 * ospf_packet.h: Remove commented out definition of
927 OSPF_MAX_PACKET; neither it or the uncommented one are used any more.
928
929 * ospf_packet.c (ospf_make_ls_upd): Leave room for authentication
930 when deciding if an update will fit.
931 (ospf_packet_authspace): Factor out calculation of size required
932 for authentication.
933 (ospf_make_db_desc): Use ospf_max_packet, not OSPF_MAX_PACKET.
934 Don't confuse readers that there is a macro.
935
ajs3dc56b52004-12-30 15:11:19 +00009362004-12-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
937
938 * ospf_network.c: Improve all setsockopt error messages to give detailed
939 information on the arguments.
940
ajsb87f7722004-12-29 20:41:26 +00009412004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
942
ajs17eaa722004-12-29 21:04:48 +0000943 * ospf_packet.c: (ospf_db_desc) Reduce severity of "Negotiation done"
944 messages from LOG_WARNING to LOG_INFO, since this seems to be
945 normal.
946
9472004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
948
ajsb87f7722004-12-29 20:41:26 +0000949 * ospf_packet.c: (ospf_read) Always look up the interface if
950 ospf_recv_packet returns NULL ifp, since some platforms such
951 as Solaris 8 appear to support ifindex retrieval but don't.
952
hasso1d806282004-12-22 09:43:20 +00009532004-12-22 Hasso Tepper <hasso at quagga.net>
954
955 * ospf_dump.c: Show debug configuration in vtysh.
hassoc6b87812004-12-22 13:09:59 +0000956 * ospf_vty.c: Fix "show ip ospf" output. Router can't be elected in
957 any case if it's configured as "translate-never".
hassofe71a972004-12-22 16:16:02 +0000958 * ospf_lsdb.[ch]: New function to calculate sum of checksums.
959 * ospf_vty.c: Bugfix to show really number of AS external LSAs, not
960 number of all LSAs with AS scope, this includes opaque as LSAs as
961 well, show this number separately. Show numbers and sums of
962 checksums for each type of LSAs.
963 * ospf_lsa.c: Calculate checksum before putting LSA into database.
hasso1d806282004-12-22 09:43:20 +0000964
ajsbc18d612004-12-15 15:07:19 +00009652004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
966
967 * ospf_interface.h: Declare new function ospf_default_iftype.
968 * ospf_interface.c: (ospf_default_iftype) New function to centralize
969 this logic in one place.
970 * ospf_zebra.c: (ospf_interface_add) Use new function
971 ospf_default_iftype.
972 * ospf_vty.c: (no_ip_ospf_network,config_write_interface) Fix logic
973 by using new function ospf_default_iftype.
974
ajs3aa8d5f2004-12-11 18:00:06 +00009752004-12-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
976
977 * ospf_packet.c: (ospf_db_desc) Should be static, not global.
978 (ospf_hello,ospf_db_desc,ospf_ls_upd,ospf_ls_ack) Improve warning
979 messages to include identifying information (e.g. router id).
980 * ospf_nsm.c: (nsm_change_state) Improve info message to include
981 router id and state names.
982
gdt91f3e522004-12-09 14:51:03 +00009832004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
984
gdt3fb9de72004-12-09 16:30:04 +0000985 * ospf_apiserver.c (ospf_apiserver_term): Obtain struct
986 ospf_apiserver * from listnode. Remove unused variables. Follows
987 suggestion from Jay Fenlason.
gdt91f3e522004-12-09 14:51:03 +0000988
ajs9b0e25c2004-12-08 19:06:51 +00009892004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
990
991 * *.c: Change level of debug messages to LOG_DEBUG.
992
ajs274a4a42004-12-07 15:39:31 +00009932004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
994
995 * ospf_main.c: (main) The 2nd argument to openzlog has been removed.
996
ajs887c44a2004-12-03 16:36:46 +00009972004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
998
ajs1210fa62004-12-03 16:43:24 +0000999 * ospf_packet.c: (ospf_db_desc) Reduce priority on a debug message
1000 from LOG_NOTICE to LOG_DEBUG.
1001
10022004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1003
ajs887c44a2004-12-03 16:36:46 +00001004 * ospf_main.c: (sigint) Use zlog_notice for termination message.
1005 (main) Issue a startup announcement using zlog_notice.
1006
ajsbec595a2004-11-30 22:38:43 +000010072004-11-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1008
1009 * ospf_packet.c: (ospf_db_desc_proc) Fix spelling of packet in warning
1010 message and in comment.
1011 (ospf_db_desc) Warning message that a packet is being discarded
1012 should give the router id of the packet source. Fix spelling
1013 of packet in two warning messages.
1014 (ospf_ls_req) Warning message that a link state request is being
1015 discarded should give the router id of the neighbor that sent it.
1016
ajs5b85fac2004-11-26 19:36:42 +000010172004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1018
1019 * ospf_main.c: Remove #include "debug.h" (was not being used, and
1020 lib/debug.h has now been deleted).
1021
hassoc0652302004-11-25 19:33:48 +000010222004-11-25 Hasso Tepper <hasso at quagga.net>
1023
1024 * ospf_main.c: Make group to run as configurable.
1025
gdt69e13252004-11-15 18:51:15 +000010262004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
1027
1028 * ospf_packet.c (ospf_recv_packet): Assume CMSG_SPACE is present
1029 and works (lib/zebra.h provides if OS doesn't).
1030
paul788dab12004-11-15 11:48:37 +000010312004-11-15 Paul Jakma <paul@dishone.st>
1032
1033 * ospf_{apiserver,te}.c: ospf_lsa_free's should be ospf_lsa_unlock.
1034
paul05e85fa2004-11-12 10:52:19 +000010352004-11-12 Paul Jakma <paul@dishone.st>
1036
1037 * ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to
1038 ignore stub area summary default. Even so it seems a strange
1039 check, add a comment to that effect.
1040
paulf3ae74c2004-11-04 20:35:31 +000010412004-11-04 Paul Jakma <paul@dishone.st>
1042
1043 * ospfd.c: (ospf_network_match_iface) revert to previous network
1044 statement match behaviour.
1045
paul62d8e962004-11-02 20:26:45 +000010462004-11-02 Paul Jakma <paul@dishone.st>
1047
1048 * ospf_packet.c: (ospf_write_frags) remove iov arg, msg already points
1049 to it. Add convenience pointer to msg->msg_iov[1], and use this,
1050 fixing the unfortunate borkenness introduced in moving of this code
1051 to a function.
1052 (ospf_write) remove iovp and fix up call to previous.
1053 (ospf_ls_upd_packet_new) cast size to long int - unfortunately
1054 glibc's size_t format modifier is not portable.
1055
paul37ccfa32004-10-31 11:24:51 +000010562004-10-31 Paul Jakma <paul@dishone.st>
1057
1058 * ospf_packet.c: (ospf_write_frags) Add debug output
1059 (ospf_write) set type early, so we can pass it to
1060 ospf_write_frags.
1061 (ospf_ls_upd_packet_new) print size in debug output when too large
1062 packet is encountered.
paul64511f32004-10-31 18:01:13 +00001063 * ospf_zebra.c: (ospf_distribute_list_update_timer) Ugly misuse of
1064 THREAD_ARG to store an integer, but it should at least use same
1065 same type to retrieve the value. Assert value is sane.
paul37ccfa32004-10-31 11:24:51 +00001066
paulac191232004-10-22 12:05:17 +000010672004-10-22 Paul Jakma <paul@dishone.st>
1068
1069 * ospf_network.c: (ospf_sock_init) call neutral setsock_ifindex()
1070 function.
1071 * ospf_packet.c: (ospf_read) manually look up ifindex
paul4ccb2c42004-10-22 22:52:33 +00001072 if system could not have returned one, eg openbsd, thanks to Rivo
1073 Nurges for highlighting problem and fix.
paul06f953f2004-10-22 17:00:38 +00001074 Change setsockopt_pktinfo to setsockopt_ifindex.
paulac191232004-10-22 12:05:17 +00001075
hasso3fb9cd62004-10-19 19:44:43 +000010762004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
1077
1078 * ospf_snmp.c: (ospf_snmp_if_update) Fix logic to handle PtP links
1079 with dedicated subnets properly.
1080 * ospf_lsa.c: (lsa_link_ptop_set) ditto.
1081 * ospfd.c: (ospf_network_match_iface) ditto.
1082 (ospf_network_run) ditto.
1083 * ospf_interface.c: (ospf_if_is_configured) ditto.
1084 (ospf_if_lookup_by_prefix) ditto.
1085 (ospf_if_lookup_recv_if) ditto.
1086 * ospf_vty.c: (show_ip_ospf_interface_sub) Display the peer or
1087 broadcast address if present.
1088
hassod68614d2004-10-13 09:32:48 +000010892004-10-13 Hasso Tepper <hasso at quagga.net>
1090
1091 * ospf_main.c: Unbreak compilation with ospfapi disabled.
hassoc75105a2004-10-13 10:33:26 +00001092 * ospf_snmp.c: Remove defaults used to initialize smux connection to
1093 snmpd. Connection is initialized only if smux peer is configured.
hassod68614d2004-10-13 09:32:48 +00001094
hassof4d58ce2004-10-12 06:13:54 +000010952004-10-12 Hasso Tepper <hasso at quagga.net>
1096
1097 * ospf_main.c, ospf_opaque.c: Unbreak ospfclient compilation - move
1098 static variable from ospf_main.c into ospf_opaque.c.
1099
hassoc3abdb72004-10-11 16:27:03 +000011002004-10-11 Hasso Tepper <hasso at quagga.net>
1101
1102 * ospf_main.c, ospf_opaque.c: Disable ospfapi init by default. New
1103 command line switch to enable it.
1104
paul6b333612004-10-11 10:11:25 +000011052004-10-11 Paul Jakma <paul@dishone.st>
1106
1107 * ospf_dump.c: (ospf_ip_header_dump) Assume header is in host order
1108 remove ntohs that should have dissappeared. Take struct ip
1109 as argument, caller has to know there's an IP header at start of
1110 stream anyway.
1111 * ospf_dump.h: update declaration of ospf_ip_header_dump.
1112 * ospf_packet.c: (ospf_write) correct call to
1113 sockopt_iphdrincl_swab_htosys which was munging the header.
1114 (ospf_recv_packet) ip_len is needed for old OpenBSD fixup.
1115 (ospf_read) sockopt_iphdrincl_swab_systoh ip header as soon as
1116 we have it.
paul6c835672004-10-11 11:00:30 +00001117 * (global) Const char update and signed/unsigned fixes.
1118 * (various headers) size defines should be unsigned.
1119 * ospf_interface.h: remove duplicated defines, include the
1120 authoritative header - though, these defines should probably
1121 be moved to a dedicated header, or ospfd.h.
1122 * ospf_lsa.h: (struct lsa) ls_seqnum should be unsigned.
1123 * ospf_packet.c: (ospf_write) cast result of shift to unsigned.
paul6b333612004-10-11 10:11:25 +00001124
hassoeb1ce602004-10-08 08:17:22 +000011252004-10-08 Hasso Tepper <hasso at quagga.net>
1126
1127 * *.[c|h]: Fix compiler warnings: make some strings const, signed ->
1128 unsigned, remove unused variables etc.
1129
gdt54ade992004-10-07 19:38:20 +000011302004-10-07 Greg Troxel <gdt@claude.ir.bbn.com>
1131
1132 * ospf_apiserver.c (ospf_apiserver_unregister_opaque_type): Don't
1133 use of variable names 'node' and 'nextnode' to avoid possible
1134 conflict with list macros. Move variable declaration inside for
1135 loop after a statement to top of function.
1136
paulaa20c6f2004-10-07 14:19:36 +000011372004-10-07 Paul Jakma <paul@dishone.st>
1138
1139 * ospf_snmp.c: Missed list typedef update
1140 * ospf_dump.c: Include sockopt.h for header swab functions.
1141
paul18b12c32004-10-05 14:38:29 +000011422004-10-05 Paul Jakma <paul@dishone.st>
1143
1144 * ospf_packet.c: replace ospf_swap_iph_to... with
1145 sockopt_iphdrincl_swab_...
1146
hasso18a6dce2004-10-03 18:18:34 +000011472004-10-03 James R. Leu <jleu at mindspring.com>
1148
1149 * ospf_zebra.c: Read router id related messages from zebra daemon.
1150 Schedule router-id update thread if it's changed.
1151 * ospfd.c: Remove own router-id selection function. Use router id from
1152 zebra daemon if it isn't manually overriden in configuration.
1153
paul68defd62004-09-27 07:27:13 +000011542004-09-27 Paul Jakma <paul@dishone.st>
1155
paul6a99f832004-09-27 12:56:30 +00001156 * ospf_dump.c: (ospf_ip_header_dump) Use HAVE_IP_HDRINCL_BSD_ORDER
1157 Apply to offset too. Print ip_cksum, lets not worry about
1158 possible 2.0.37 compile problems.
1159 * ospf_packet.c: (ospf_swap_iph_to{n,h}) Use
1160 HAVE_IP_HDRINCL_BSD_ORDER.
1161 (ospf_recv_packet) ditto.
1162 (ospf_write) Fixup iov argument to ospf_write_frags.
1163 (struct msghdr).msg_name is caddr_t on most platforms.
paul68defd62004-09-27 07:27:13 +00001164 (ospf_recv_packet) ditto. And msg_flags is not always there
1165 memset struct then set fields we care about rather than
1166 initialise all fields individually.
1167
hassoc9e52be2004-09-26 16:09:34 +000011682004-09-26 Hasso Tepper <hasso at quagga.net>
1169
1170 * ospf_abr.c, ospf_dump.c, ospf_lsa.c, ospf_packet.c, ospf_vty.c,
1171 ospf_zebra.c: Fix compiler warnings.
1172
paul87d6f872004-09-24 08:01:38 +000011732004-09-24 Paul Jakma <paul@dishone.st>
1174
1175 * ospf_apiserver.{c,h}: lists typedef removal cleanup.
1176 update some list loops to LIST_LOOP. some miscellaneous indent
1177 fixups.
1178 (ospf_apiserver_unregister_opaque_type) fix listnode_delete of
1179 referenced node in loop.
paul1603c062004-09-24 08:23:24 +00001180 (ospf_apiserver_term) loops calling ospf_apiserver_free, which
1181 deletes referenced nodes from apiserver_list, fixed.
paul87d6f872004-09-24 08:01:38 +00001182 * ospf_interface.h: lists typedef removal cleanup.
1183 * ospf_opaque.{c,h}: lists typedef removal cleanup. update some list
1184 loops to LIST_LOOP. miscellaneous style and indent fixups.
1185 * ospf_te.{c,h}: ditto
1186 * ospf_packet.c: lists typedef removal cleanup.
paula2570682004-09-24 08:09:57 +00001187 (ospf_write) ifdef fragmentation support. move actual
1188 fragmentation out to a new, similarly ifdefed, function.
1189 (ospf_write_frags) fragmented write support, moved from previous.
paul87d6f872004-09-24 08:01:38 +00001190
hasso52dc7ee2004-09-23 19:18:23 +000011912004-09-23 Hasso Tepper <hasso at quagga.net>
1192
1193 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
1194
paul68b73392004-09-12 14:21:37 +000011952004-09-12 Paul Jakma <paul@dishone.st>
1196
1197 * ospf_packet.c: Fix bugzilla #107
1198 (ospf_packet_max) get rid of the magic 88 constant
1199 (ospf_swab_iph_ton) new function. set ip header to network order,
1200 taking BSDisms into account.
1201 (ospf_swab_iph_toh) the inverse.
1202 (ospf_write) Add support for IP fragmentation, will only work on
1203 linux though, other kernels make it impossible. get rid of the
1204 magic 4 constant.
1205 (ospf_make_ls_upd) Bound check to end of stream, not to
1206 interface mtu.
1207 (ospf_ls_upd_packet_new) New function, allocate upd packet
1208 taking oversized LSAs into account.
1209 (ospf_ls_upd_queue_send) use ospf_ls_upd_packet_new to allocate,
1210 rather than statically allocating mtu sized packet buffer, which
1211 actually was wrong - it didnt take ip header into account, which
1212 should not be included in packet buffer.
1213 (ospf_ls_upd_send_queue_event) minor tweaks and remove
1214 TODO comment.
1215
gdt630e4802004-08-31 17:28:41 +000012162004-08-31 David Wiggins <dwiggins@bbn.com>
1217
1218 * ospf_spf.c (ospf_spf_calculate): Many more comments and debug
1219 print statements. New function ospf_vertex_dump used in debugging.
1220
12212004-08-31 David Wiggins <dwiggins@bbn.com>
1222
1223 * ospf_spf.h (struct vertex): Comments for flags and structure members.
1224
12252004-08-31 David Wiggins <dwiggins@bbn.com>
1226
1227 * ospf_route.c: When finding an alternate route, log cost as well.
1228
12292004-08-31 David Wiggins <dwiggins@bbn.com>
1230
1231 * ospf_interface.c (ospf_lookup_if_params): Initialize af in
1232 struct prefix allocated on stack.
1233
12342004-08-31 David Wiggins <dwiggins@bbn.com>
1235
1236 * ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send
1237 acks to AllSPFRouters, rather than All-DR.
1238
hasso7b901432004-08-31 13:37:42 +000012392004-08-27 Hasso Tepper <hasso at quagga.net>
1240
1241 * ospf_vty.c: Don't print ospf network type under interface only
1242 if interface is in broadcast mode and interface type really is
1243 broadcast. Fixes Bugzilla #108.
1244
gdtd7d93992004-08-27 12:03:42 +000012452004-08-27 David Wiggins <dwiggins@bbn.com>
1246
1247 * ospf_spf.c (ospf_nexthop_calculation): Initialize address family
1248 in on-stack struct prefix_ipv4. Fixes point-to-multipoint SPF
1249 calculation.
1250
gdtd0deca62004-08-26 13:14:07 +000012512004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
1252
1253 * ospf_packet.c (ospf_recv_packet): adjust size declaration of
gdtd7d93992004-08-27 12:03:42 +00001254 buffer used to get interface index so that it compiles on other
1255 than Linux and includes the required alignment space. Probably
1256 this was only working on sparc/sparc64 because most of
1257 sockaddr_dl was not being written.
gdtd0deca62004-08-26 13:14:07 +00001258
paul863082d2004-08-19 04:43:43 +000012592004-08-19 Paul Jakma <paul@dishone.st>
1260
1261 * ospf_packet.c: update to match sockopt renames.
1262
paul75ee0b82004-08-05 09:10:31 +000012632004-08-04 Paul Jakma <paul@dishone.st>
1264
1265 * ospf_spf.c: (ospf_spf_consider_nexthop) Add comment about issue.
1266 Compare only against list head - all nexthops must be same cost
1267 anyway, fixes a reference-listnode-after-delete bug noted by
1268 Kir Kostuchenko.
1269 (ospf_nexthop_calculation) Use ospf_spf_consider_nexthop for all
1270 candidates attached to root.
1271
paul36c64ef2004-07-27 11:19:11 +000012722004-07-27 Paul Jakma <paul@dishone.st>
1273
paul48fe13b2004-07-27 17:40:44 +00001274 * ospf_packet.c: (ospf_ls_upd_send_queue_event) fix thinko from
1275 last fix for ospfd wedging due to oversize LSAs: dont list loop on
1276 ospf_ls_upd_queue_send() - guaranteed segfault.
1277
12782004-07-27 Paul Jakma <paul@dishone.st>
1279
paul36c64ef2004-07-27 11:19:11 +00001280 * ospf_opaque.c: (ospf_opaque_lsa_flush_schedule) do not NULL out
1281 the LSA as then free_opaque_info_per_id() can never unlock (and
1282 free) the LSA. Reported by Gunnar Stigen.
1283
paul2dd8bb42004-07-23 15:13:48 +000012842004-07-23 Paul Jakma <paul@dishone.st>
1285
1286 * ospf_network.c: Replace PKTINFO/RECVIF with call to
1287 setsockopt_pktinfo
1288 * ospf_packet.c: Use getsockopt_pktinfo_ifindex and
1289 SOPT_SIZE_CMSG_PKTINFO_IPV4.
1290
paul59ea14c2004-07-14 20:50:36 +000012912004-07-14 Paul Jakma <paul@dishone.st>
1292
1293 * ospf_packet.c: (ospf_ls_upd_send_queue_event) Partial fix for
1294 problem reported by Peter Frost amongst others, where function
1295 will spin indefinitely if update list contains LSAs greater than
1296 MTU-headers or other condition leading to update list never being
1297 cleared. Problem of what to do with these LSAs remains.
1298 (ospf_make_ls_upd) add comment about large LSA problem,
1299 indentation cleanup.
1300
gdtb2c1b282004-07-01 12:35:36 +000013012004-07-01 Greg Troxel <gdt@fnord.ir.bbn.com>
1302
1303 * Makefile.am (lib_LTLIBRARIES): make libospf shared
1304
gdt87efd642004-06-30 17:36:11 +000013052004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1306
1307 * Makefile.am: Add shlib support.
1308
hassobeebba72004-06-20 21:00:27 +000013092004-06-10 Hasso Tepper <hasso@estpak.ee>
1310
1311 * *: Removed ifdefs HAVE_NSSA.
1312
paul553ff112004-06-06 09:41:00 +000013132004-06-06 Paul Jakma <paul@dishone.st>
1314
1315 * ospf_dump.c,ospf_lsa.c: Fix typos of merge of previous.
1316 ospf_flood.c: (ospf_process_self_originated_lsa) fix zlog format
1317
paul0c2be262004-05-31 14:16:54 +000013182004-05-31 Sagun Shakya <sagun.shakya@sun.com>
1319
1320 * ospf_dump.c: (ospf_lsa_header_dump) LOOKUP can return null if
1321 index is out of range.
1322 ospf_flood.c: endianness fix
1323 ospf_lsa.c: Missing ntohl's on (struct lsa *)->data->ls_seqnum
1324 in various places.
1325
hassodd669bb2004-05-10 07:43:59 +000013262004-05-10 Hasso Tepper <hasso@estpak.ee>
1327
1328 * ospf_zebra.c, ospfd.c: Move ospf_prefix_list_update() function
1329 to ospf_zebra.c from ospfd.c and add redistribution updates if
1330 route-map is used in redistribution.
1331 * ospf_main.c: Remove now useless call to ospf_init().
1332
paul0a589352004-05-08 11:48:26 +000013332004-05-08 Paul Jakma <paul@dishone.st>
1334
1335 * ospf_zebra.c: Sync with lib/zclient changes
1336
pauld3f0d622004-05-05 15:27:15 +000013372004-05-05 Paul Jakma <paul@dishone.st>
1338
paul5bd41892004-05-05 17:29:24 +00001339 * ospf_network.c: (ospf_sock_init) Check whether IP_HDRINCL is
1340 defined. Warn at compile and runtime. Use
1341 IPTOS_PREC_INTERNETCONTROL otherwise.
pauld3f0d622004-05-05 15:27:15 +00001342 * ospf_packet.c: (ospf_associate_packet_vl) cleanup, move
1343 some of the checks up to ospf_read, return either a
1344 virtual link oi, or NULL.
1345 (ospf_read) Cleanup, make it responsible for checks. Remove
1346 the nbr lookup - moved to ospf_neighbor. Adjust all nbr
1347 lookups to use new wrappers exported by ospf_neighbor.
1348 * ospf_neighbor.h: Add ospf_neigbour_get and ospf_nbr_lookup.
1349 * ospf_neighbor.c: (ospf_neigbour_get) Index ospf_interface
1350 neighbour table by router-id for virtual-link ospf_interfaces,
1351 not by peer_addr (which breaks for asymmetric vlinks)
1352 (ospf_nbr_lookup) add a wrapper for nbr lookups to deal with
1353 above.
paulcd59da62004-05-05 17:26:55 +00001354 * ospf_interface.c: (ospf_vl_set_params) Catch changes of interface
1355 address for either end of a virtual-link, and hence potential cost
1356 changes.
1357
hassoa0a39762004-04-23 08:51:10 +000013582004-04-22 Hasso Tepper <hasso@estpak.ee>
1359
1360 * ospf_zebra.c: Don't ignore reject/bh routes, it's the only way
1361 to "summarize" routes in ASBR at the moment.
1362
hasso8585d4e2004-04-20 17:25:12 +000013632004-04-20 Hasso Tepper <hasso@estpak.ee>
1364
1365 * ospfd.c: Unset NP flag if area is going to be normal or stub.
1366 Fixes UNH OSPF_NSSA.1.2a comment.
1367 * ospf_abr.c: Originate default into stub/nssa area even if
1368 summaries are disabled.
1369 * ospf_zebra.c: Don't attempt to redistribute 127.0.0.0/8.
1370
hassoc266ac72004-04-19 17:31:00 +000013712004-04-19 Hasso Tepper <hasso@estpak.ee>
1372
1373 * ospf_vty.c: Don't warn that export- and import-list can't be
1374 configured to backbone area if they are applied and are working
1375 fine.
1376
hasso128d31d2004-04-04 12:52:33 +000013772004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1378
1379 * ospf_packet.c: Don't drop packets in Solaris x86.
1380 [quagga-dev 1005].
1381
hasso0d85b992004-03-18 19:18:33 +000013822004-03-18 Amir Guindehi <amir@datacore.ch>
1383
1384 * ospf_opaque.c: Attempt to correct the incorrect behavior of
1385 Quagga's ospfd in the special situation that a node's opaque
1386 capability has changed as "ON -> OFF -> ON". [quagga-dev 843].
1387
paul7f352b82004-02-19 19:37:47 +000013882004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1389
1390 * ospf_abr.c: (ospf_abr_update_aggregate) UNH 3.12b,c, address range
1391 should be configured with the highest cost path within the range,
1392 not lowest.
1393
paul940b01a2004-02-17 20:07:30 +000013942004-02-17 Paul Jakma <paul@dishone.st>
1395
1396 * ospf_zebra.c: (ospf_interface_delete) Do not delete the interface
1397 params, nor the interface structure, if an interface delete
1398 message is received from zebra.
1399 * ospf_interface.c: (ospf_if_delete_hook) Delete the interface
1400 params and interface, ie that which was previously removed in
1401 (ospf_interface_delete) above.
1402
hasso2db3d052004-02-11 21:52:13 +000014032004-02-11 Hasso Tepper <hasso@estpak.ee>
1404 * ospf_interface.c, ospf_zebra.c: Don't attempt to read path->oi->ifp
1405 if oi doesn't exist any more.
1406
hassocb05eb22004-02-11 21:10:19 +000014072004-02-11 Vadim Suraev <vadim.suraev@terayon.com>
1408 * ospf_packet.c (ospf_ls_upd): Router should flush received network
1409 LSA if it was originated with older router-id ([zebra 14710] #6).
1410
14112003-12-08 Mattias Amnefelt <mattiasa@kth.se>
paul239aecc2003-12-08 10:34:54 +00001412
1413 * ospf_packet.c: (ospf_recv_packet) OpenBSD now leaves iph.ip_len
1414 network byte order.
1415
gdt8f40e892003-12-05 14:01:43 +000014162003-12-05 Greg Troxel <gdt@poblano.ir.bbn.com>
1417
1418 * ospfd.c (ospf_network_match_iface): Rewrite code for clarity
1419 while trying not to change semantics. Add ifdefed-out code to
1420 avoid matching ppp interfaces whose destination address does not
1421 also match the prefix under consideration, to help out people with
1422 problems due to as-yet-unfixed bugs with p2p interfaces coming and
1423 going.
1424
paul736d3442003-07-24 23:22:57 +000014252003-07-25 kamatchi soundaram <kamatchi@tdd.sj.nec.com>
1426
1427 * ospf_packet.c (ospf_ls_upd_send_queue_event): get next route
1428 node in body of the loop to avoid chance that route node
1429 is unlocked and deleted before the next iteration tries to
1430 get next route node.
1431
paul0a825c72003-05-24 13:48:16 +000014322003-05-24 Kenji Yabuuchi
1433
1434 * ospf_interface.c(ospf_if_lookup_recv_if): Use the most specific
1435 match for interface lookup.
1436
paul551a8972003-05-18 15:22:55 +000014372003-05-18 Hasso Tepper <hasso@estpak.ee>
paul445f1432003-05-16 19:00:31 +00001438
paul551a8972003-05-18 15:22:55 +00001439 * ospf_vty.c: Show NSSA LSA route info in "show ip ospf database"
1440 output
paul445f1432003-05-16 19:00:31 +00001441
pauld7480322003-05-16 17:31:51 +000014422003-05-16 Hasso Tepper <hasso@estpak.ee>
1443
1444 * ospf_lsa.c: Fix handling of NSSA
1445
paul551a8972003-05-18 15:22:55 +000014462003-04-23 Hasso Tepper <hasso@estpak.ee>
1447
1448 * ospf_vty.c: fix "router xxx" node commands in vtysh
1449
paul445f1432003-05-16 19:00:31 +000014502003-04-19 Hasso Tepper <hasso@estpak.ee>
1451
1452 * {ospf_abr,ospfd}.c: area id's DECIMAL -> ADDRESS
1453 * ospf_routemap.c: sync daemon's route-map commands to have same
1454 syntax.
1455
14562003-04-19 Sergey Vyshnevetskiy <serg@vostok.net>
1457
1458 * ospf_packet.c: Add missing param to zlog
1459 * ospf_flood.c: remove unused vars
1460
14612003-04-17 Denis Ovsienko <zebra@pilot.org.ua>
1462
1463 * ospf_interface.c: fix incorrect memset
1464
paul28a13842003-05-16 20:30:37 +000014652003-04-10 Amir Guindehi <amir@datacore.ch>
paul445f1432003-05-16 19:00:31 +00001466
1467 * ospf_lsa.[ch]: opaque LSA fix, use ospf_lookup.
1468
14692003-04-03 David Watson <dwatson@eecs.umich.edu>
1470
1471 * ospf_lsa.c: byte order fix
1472
paul07661cb2003-03-18 00:03:05 +000014732002-03-17 Amir Guindehi <amir@datacore.ch>
1474
1475 * ospf_apiserver.[ch]: Merge Ralph Keller's OSPFAPI support.
1476 * ospf_api.[ch]: Merge Ralph Keller's OSPFAPI support.
1477 * ospfclient: OSPFAPI demonstration client.
1478
14792003-01-23 Masahiko Endo <endo@suri.co.jp>
1480
1481 * ospf_ism.c: NSM event schedule bug fix.
1482
14832002-10-30 Greg Troxel <gdt@ir.bbn.com>
1484
1485 * ospf_packet.c (ospf_make_md5_digest): MD5 length fix.
1486
paul718e3742002-12-13 20:15:29 +000014872002-10-23 endo@suri.co.jp (Masahiko Endo)
1488
1489 * ospf_opaque.c: Update Opaque LSA patch.
1490
14912002-10-23 Ralph Keller <keller@tik.ee.ethz.ch>
1492
1493 * ospf_vty.c (show_ip_ospf_database): Fix CLI parse.
1494
14952002-10-23 Juris Kalnins <juris@mt.lv>
1496
1497 * ospf_interface.c (ospf_if_stream_unset): When write queue
1498 becomes empty stop write timer.
1499
15002002-10-10 Greg Troxel <gdt@ir.bbn.com>
1501
1502 * ospf_packet.c (ospf_check_md5_digest): Change >= to > to make it
1503 conform to RFC.
1504
15052002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1506
1507 * zebra-0.93 released.
1508
15092002-06-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1510
1511 * ospf_spf.c (ospf_nexthop_calculation): Add NULL set to oi and
1512 check of l2. Reported by: Daniel Drown <dan-zebra@drown.org>
1513 (ospf_lsa_has_link): LSA Length calculation fix. Reported by:
1514 Paul Jakma <paulj@alphyra.ie>.
1515
1516 * ospfd.c (ospf_if_update): Fix nextnode reference bug. Reported
1517 by: juris@mt.lv.
1518
15192002-01-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1520
1521 * ospfd.c: Merge [zebra 11445] Masahiko ENDO's Opaque-LSA support.
1522
15232001-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1524
1525 * ospf_interface.c (ospf_add_to_if): Use /32 address to register
1526 OSPF interface information.
1527 (ospf_delete_from_if): Likewise.
1528
1529 * ospf_zebra.c (ospf_interface_address_delete): Likewise.
1530
15312001-08-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1532
1533 * ospf_zebra.c (ospf_redistribute_unset): When redistribute type
1534 is OSPF, do not unset redistribute flag.
1535
15362001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1537
1538 * zebra-0.92a released.
1539
15402001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1541
1542 * zebra-0.92 released.
1543
15442001-08-12 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1545
1546 * ospfd.c (ospf_config_write): auto-cost reference-bandwidth
1547 configuration display.
1548
15492001-07-24 David Watson <dwatson@eecs.umich.edu>
1550
1551 * ospf_spf.c (ospf_spf_next): Modify ospf_vertex_add_parent to
1552 check for an existing link before connecting the parent and child.
1553 ospf_nexthop_calculation is also modified to check for duplicate
1554 entries when copying from the parent. Finally, ospf_spf_next
1555 removes duplicates when it merges two equal cost candidates.
1556
15572001-07-23 itojun@iijlab.net
1558
1559 * ospfd.c (show_ip_ospf_neighbor): Check ospf_top before use it
1560 [zebra 8549].
1561
15622001-07-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1563
1564 * ospf_packet.c (ospf_write): Remove defined(__OpenBSD__) to make
1565 it work on OpenBSD.
1566
15672001-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1568
1569 * ospf_zebra.c (config_write_ospf_default_metric): Display
1570 default-metric configuration.
1571
15722001-06-18 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1573
1574 * ospf_ia.h (OSPF_EXAMINE_SUMMARIES_ALL): Remove old macros.
1575
15762001-05-28 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1577
1578 * ospf_snmp.c (ospfIfEntry): Fix interface lookup bug to avoid
1579 crush.
1580 (ospfIfMetricEntry): Likewise.
1581
15822001-03-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1583
1584 * ospf_packet.c (ospf_read): Fix typo. Reported by: "Jen B
1585 Lin'Kova" <jen@stack.net>.
1586
15872001-03-15 Gleb Natapov <gleb@nbase.co.il>
1588
1589 * ospf_interface.c (ip_ospf_network): Set interface parameter.
1590 (interface_config_write): Add check for OSPF_IFTYPE_LOOPBACK.
1591
1592 * ospf_zebra.c (ospf_interface_add): Set interface parameter.
1593
15942001-02-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1595
1596 * ospf_packet.c (ospf_recv_packet): Solaris also need to add
1597 (iph.ip_hl << 2) to iph.ip_len.
1598
15992001-02-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1600
1601 * ospfd.h (OSPF_LS_REFRESH_TIME): Fix OSPF_LS_REFRESH_TIME value.
1602 Suggested by: David Watson <dwatson@eecs.umich.edu>.
1603
1604 * ospf_zebra.c (zebra_init): Remove zebra node.
1605
1606 * ospfd.c (ospf_area_range_set): Function name is changed from
1607 ospf_ara_range_cmd.
1608 (ospf_area_range_unset): New function which separated from DEFUN.
1609 New commands are added:
1610 "no area A.B.C.D range A.B.C.D/M advertise"
1611 "no area <0-4294967295> range A.B.C.D/M advertise"
1612 "no area A.B.C.D range A.B.C.D/M not-advertise"
1613 "no area <0-4294967295> range A.B.C.D/M not-advertise"
1614
1615 * ospf_lsa.c (ospf_lsa_more_recent): Fix previous change.
1616
16172001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
1618
1619 * ospf_network.c (ospf_if_add_allspfrouters): Use
1620 setsockopt_multicast_ipv4.
1621 (ospf_if_drop_allspfrouters): Likewise.
1622
1623 * ospf_lsa.c (ospf_router_lsa_install): Add rt_recalc flag.
1624 (ospf_network_lsa_install): Likewise.
1625 (ospf_summary_lsa_install): Likewise.
1626 (ospf_summary_asbr_lsa_install): Likewise.
1627 (ospf_external_lsa_install): Likewise.
1628 (ospf_lsa_install): Call ospf_lsa_different to check this LSA is
1629 new one or not.
1630
16312001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1632
1633 * ospf_zebra.c (ospf_interface_delete): Do not free interface
1634 structure when ospfd receive interface delete message to support
1635 pseudo interface.
1636
16372001-02-01 Dick Glasspool <dick@ipinfusion.com>
1638
1639 * ospfd.c (area_range_notadvertise): Change area range "suppress"
1640 command to "not-advertise".
1641
1642 * ospfd.h (OSPF_LS_REFRESH_TIME): Change OSPF_LS_REFRESH_TIME from
1643 1800 to 60.
1644
1645 * ospf_abr.c (ospf_abr_update_aggregate): When update_aggregate is
1646 updating the area-range, the lowest cost is now saved.
1647
1648 * ospf_lsa.c (ospf_lsa_more_recent): Routing to compare sequence
1649 numbers rather than creating overflow during calculation.
1650
16512001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1652
1653 * zebra-0.91 is released.
1654
16552001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1656
1657 * ospf_packet.c (ospf_db_desc_proc): Do not continue process when
1658 NSM_SeqNumberMismatch is scheduled.
1659 (ospf_ls_req): Free ls_upd when return from this function.
1660 (ospf_ls_upd_timer): When update list is empty do not call
1661 ospf_ls_upd_send(). Suggested by: endo@suri.co.jp (Masahiko
1662 Endo).
1663
16642001-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1665
1666 * ospf_lsa.c (ospf_maxage_flood): Flood LSA when it reaches
1667 MaxAge. RFC2328 Section 14.
1668 (ospf_maxage_lsa_remover): Call above function during removing
1669 MaxAge LSA.
1670
16712001-01-26 Dick Glasspool <dick@ipinfusion.com>
1672
1673 * ospf_flood.c (ospf_flood_through_as): Function is updated for
1674 NSSA Translations now done at ospf_abr.c with no change in P-bit.
1675
1676 * ospf_lsa.c (ospf_get_nssa_ip): Get 1st IP connection for Forward
1677 Addr.
1678 (ospf_install_flood_nssa): Leave Type-7 LSA at Lock Count = 2.
1679
1680 * ospf_ase.c (ospf_ase_calculate_route): Add debug codes.
1681
1682 * ospf_abr.c (ospf_abr_translate_nssa): Recalculate LSA checksum.
1683
1684 * ospf_packet.h (OSPF_SEND_PACKET_LOOP): Added for test packet.
1685
1686 * ospf_dump.c (ospf_lsa_type_msg): Add OSPF_GROUP_MEMBER_LSA and
1687 OSPF_AS_NSSA_LSA.
1688
1689 * ospfd.c (data_injection): Function to inject LSA. This is
1690 debugging command.
1691
16922001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1693
1694 * ospf_route.c (ospf_route_match_same): Remove function.
1695 (ospf_route_match_same_new): Renamed to ospf_route_match_same.
1696
1697 * ospf_zebra.c (ospf_interface_address_delete): Add check for
1698 oi->address. Suggested by Matthew Grant
1699 <grantma@anathoth.gen.nz>.
1700 (ospf_zebra_add): Remove function.
1701 (ospf_zebra_add_multipath): Rename to ospf_zebra_add.
1702
1703 * ospf_interface.c: Remove HAVE_IF_PSEUDO part.
1704
1705 * ospf_zebra.c: Likewise.
1706
17072001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1708
1709 * ospf_ase.c: Remove OLD_RIB part.
1710
1711 * ospf_route.c: Likewise.
1712
1713 * zebra-0.90 is released.
1714
1715 * ospf_packet.c (ospf_recv_packet): Use ip_len adjestment code to
1716 NetBSD.
1717
17182001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1719
1720 * ospf_route.c (ospf_route_delete): Use
1721 ospf_zebra_delete_multipath.
1722
17232001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1724
1725 * ospf_interface.c (ospf_if_cleanup): Function name is renamed
1726 from ospf_if_free(). Rewrite whole procudure to support primary
1727 address deletion.
1728
1729 * ospf_zebra.c (ospf_interface_address_delete): Add primary
1730 address deletion process.
1731
17322001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1733
1734 * ospf_packet.c (ospf_recv_packet): OpenBSD has same ip_len
1735 treatment like FreeBSD.
1736
17372001-01-09 endo@suri.co.jp (Masahiko Endo)
1738
1739 * ospf_packet.c (ospf_recv_packet): FreeBSD kernel network code
1740 strips IP header size from receiving IP Packet. So we adjust
1741 ip_len to whole IP packet size by adding IP header size.
1742
17432001-01-08 endo@suri.co.jp (Masahiko Endo)
1744
1745 * ospf_network.c (ospf_serv_sock): When socket() is failed return
1746 immediately.
1747 (ospf_serv_sock): Close socket when it is not used.
1748
1749 * ospf_packet.c (ospf_write): Set sin_len when HAVE_SIN_LEN is
1750 defined.
1751 (ospf_write): When bind is fined, close sock.
1752
17532001-01-07 Gleb Natapov <gleb@nbase.co.il>
1754
1755 * ospf_zebra.c (ospf_interface_state_up): Fixes coredump that
1756 appears when you try to configure bandwidth on the ppp interface
1757 that is not yet configured in ospfd.
1758
17592001-01-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1760
1761 * ospf_route.c (show_ip_ospf_route_external): "show ip ospf route"
1762 will print nexthops for AS-external routes.
1763
1764 * ospf_ase.c (ospf_ase_route_match_same): New function to compare
1765 ASE route under multipath environment.
1766 (ospf_ase_compare_tables): Likewise.
1767
17682001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1769
1770 * ospfd.h (OSPF_VTYSH_PATH): Change "/tmp/ospfd" to "/tmp/.ospfd".
1771
17722000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1773
1774 * ospf_route.c (ospf_route_install): Install multipath information
1775 to zebra daemon.
1776
1777 * ospf_zebra.c (ospf_zebra_add_multipath): Function for passing
1778 multipath information to zebra daemon.
1779
17802000-12-25 Dick Glasspool <dick@ipinfusion.com>
1781
1782 * ospf_packet.c (ospf_write): Call ospf_packet_delete when sendto
1783 fail.
1784 (DISCARD_LSA): Add argument N for logging point of DISCARD_LSA is
1785 called.
1786
1787 * ospf_lsa.c (ospf_external_lsa_refresh): NSSA install_flood will
1788 leave Type-7 LSA at Lock Count = 2.
1789
1790 * ospf_flood.c (ospf_flood_through): Flood_though_as updated for
1791 NSSA no P-bit off during Area flooding, but P-bit is turned off
1792 for mulitple NSSA AS flooding.
1793
1794 * ospf_ase.c (ospf_ase_calculate_timer): Added calculations for
1795 Type-7 LSDB.
1796
1797 * ospf_abr.c (ospf_abr_translate_nssa): Removed one unlock call.
1798 (ospf_abr_announce_nssa_defaults): Corrected Debug from EVENT to
1799 NSSA.
1800
18012000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1802
1803 * ospf_zebra.c (ospf_zebra_read_ipv4): Checking the age of the
1804 found LSA and if the LSA is MAXAGE we should call refresh instead
1805 of originate.
1806
18072000-12-18 Dick Glasspool <dick@ipinfusion.com>
1808
1809 * ospf_abr.c: Removed redundant "...flood" in
1810 announce_network_to_area(). Repaired nssa Unlock by using
1811 discard.
1812
1813 * ospf_packet.c: Removed old NSSA translate during mk_ls_update.
1814
1815 * ospfd.c: Free up all data bases including NSSA.
1816
1817 * ospf_lsa.c: Now allow removal of XLATE LSA's Check in
1818 discard_callback. Added routine to get ip addr from within the
1819 ifp.
1820
1821 * ospf_flood.c: Now set Forward Address for outgoing Type-7.
1822
1823 * ospf_lsa.h: Added prototype for the below. struct in_addr
1824 ospf_get_ip_from_ifp (struct interface *ifp).
1825
18262000-12-14 Gleb Natapov <gleb@nbase.co.il>
1827
1828 * ospf_packet.c (ospf_recv_packet): New OSPF pakcet read method.
1829 Now maximum packet length may be 65535 bytes (maximum IP packet
1830 length).
1831
1832 * ospf_interface.c (ospf_if_stream_set): Don't make input buffer.
1833
1834 * ospfd.c (config_write_network_area): Remove unnecessary area
1835 lookup code.
1836
18372000-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1838
1839 * ospf_packet.c (ospf_read): Accept packet bigger than MTU value.
1840
18412000-12-13 Gleb Natapov <gleb@nbase.co.il>
1842
1843 * ospfd.c (config_write_network_area): Fix bug in
1844 config_write_network_area function.
1845
18462000-12-12 Gleb Natapov <gleb@nbase.co.il>
1847
1848 * ospf_abr.c (ospf_abr_announce_network_to_area): Make Summary
1849 LSA's origination and refreshment as same as other type of LSA.
1850
1851 * ospf_lsa.c (ospf_summary_lsa_refresh): Return struct ospf_lsa *.
1852
1853 * ospf_lsa.c (ospf_summary_asbr_lsa_refresh): Likewise.
1854
18552000-12-08 Dick Glasspool <dick@ipinfusion.com>
1856
1857 The bulk of NSSA changes are contained herein; This version will
1858 require manual setting of "always" for NSSA Translator, and will
1859 not perform aggregation yet.
1860
1861 * ospf_dump.c: "debug ospf nssa" is added.
1862
1863 * ospf_dump.h: Likewise.
1864
1865 * ospf_packet.c (ospf_hello): Display router ID on Bad NSSA Hello.
1866
1867 * ospfd.c: Discard_LSA to stay away from LOCAL_XLT Process NSSA
1868 'never, candidate, always'. Change "suppress" to "not-advertise".
1869
1870 * ospfd.h: Add TranslatorRole to struct ospf_area. Add anyNSSA to
1871 struct ospf.
1872
1873 * ospf_ase.c (ospf_ase_calculate_route): External to stay away
1874 from LOCAL_XLT
1875
1876 * ospf_nsm.c (ospf_db_summary_add): External to stay away from
1877 LOCAL_XLT
1878
1879 * ospf_abr.c: Major logic added for abr_nssa_task(). If ABR, and
1880 NSSA translator, then do it. Approve the global list, and flush
1881 any unapproved.
1882
1883 * ospf_lsa.h: New LSA flag OSPF_LSA_LOCAL_XLT to indicate that the
1884 Type-5 resulted from a Local Type-7 translation; not used for
1885 flooding, but used for flushing.
1886
1887 * ospf_flood.c: New NSSA flooding.
1888
18892000-12-08 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1890
1891 * ospfd.c (ospf_find_vl_data): New function for looking up virtual
1892 link data.
1893 (ospf_vl_set_security): Virtual link configuration with
1894 authentication.
1895 (ospf_vl_set_timers): Set timers for virtual link.
1896
1897 * New commands are added.
1898 "area A.B.C.D virtual-link A.B.C.D"
1899 "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>"
1900 "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"
1901 "area A.B.C.D virtual-link A.B.C.D authentication-key AUTH_KEY"
1902 "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"
1903 "area A.B.C.D virtual-link A.B.C.D message-digest-key <1-255> md5 KEY"
1904
1905 * ospf_packet.c (ospf_check_md5_digest): Add neighbor's
1906 cryptographic sequence number treatment.
1907 (ospf_check_auth): OSPF input buffer is added to argument.
1908 (ospf_read): Save neighbor's cryptographic sequence number.
1909
1910 * ospf_nsm.c (nsm_change_status): Clear cryptographic sequence
1911 number when neighbor status is changed to NSM down.
1912
1913 * ospf_neighbor.c (ospf_nbr_new): Set zero to crypt_seqnum.
1914
1915 * ospf_neighbor.h (struct ospf_neighbor): Add cryptographic
1916 sequence number to neighbor structure.
1917
19182000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1919
1920 * ospf_snmp.c (ospfIfLookup): OSPF MIB updates.
1921 (ospfExtLsdbEntry): Add OspfExtLsdbTable treatment.
1922
19232000-11-28 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1924
1925 * ospfd.c (ospf_interface_down): Clear a ls_upd_queue queue of the
1926 interface.
1927 (ospf_ls_upd_queue_empty): New function to empty ls update queue
1928 of the OSPF interface.
1929 (no_router_ospf): 'no router ospf' unregister redistribution
1930 requests from zebra.
1931
19322000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1933
1934 * ospf_ism.c (ism_change_status): Increment status change number.
1935
1936 * ospf_interface.h (struct ospf_interface): Add new member for
1937 status change statistics.
1938
1939 * Makefile.am: Update dependencies.
1940
1941 * ospf_zebra.c (ospf_interface_add): OSPF SNMP interface update.
1942 (ospf_interface_delete): OSPF SNMP interface delete.
1943
1944 * ospf_snmp.h: New file is added.
1945
19462000-11-23 Dick Glasspool <dick@ipinfusion.com>
1947
1948 * ospfd.h: Add new ospf_area structure member for
1949 NSSATranslatorRole and NSSATranslator state.
1950
1951 * ospfd.c: Provided for eventual commands to specify NSSA
1952 elections for "translator- ALWAYS/NEVER/CANDIDATE". Provided for
1953 decimal integer version of area-suppress.
1954
1955 * ospf_flood.c: Flood Type-7's only into NSSA (not AS).
1956
1957 * ospf_lsa.c: Undo some previous changes for NSSA. If NSSA
1958 translator, advertise Nt bit.
1959
1960 * ospf_route.c: 1st version of "sh ip os border-routers".
1961
19622000-11-23 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1963
1964 * ospfd.c (area_vlink): Virtual link can not configured in stub
1965 area.
1966
19672000-11-23 Gleb Natapov <gleb@nbase.co.il>
1968
1969 * ospf_packet.c (ospf_db_desc): In states Loading and Full the
1970 slave must resend its last Database Description packet in response
1971 to duplicate Database Description packets received from the
1972 master. For this reason the slave must wait RouterDeadInterval
1973 seconds before freeing the last Database Description packet.
1974 Reception of a Database Description packet from the master after
1975 this interval will generate a SeqNumberMismatch neighbor
1976 event. RFC2328 Section 10.8
1977 (ospf_make_db_desc): DD Master flag treatment.
1978
1979 * ospf_nsm.c (nsm_twoway_received): Move DD related procedure to
1980 nsm_change_status().
1981 (nsm_bad_ls_req): Likewise.
1982 (nsm_adj_ok): Likewise.
1983 (nsm_seq_number_mismatch): Likewise.
1984 (nsm_oneway_received): Likewise.
1985
1986 * ospf_neighbor.h (struct ospf_neighbor): New structure member
1987 last_send_ts for timestemp when last Database Description packet
1988 was sent.
1989
1990 * ospf_nsm.c (ospf_db_desc_timer): Make it sure nbr->last_send is
1991 there. Call ospf_db_desc_resend() in any case.
1992
19932000-11-16 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1994
1995 * ospf_lsa.c (lsa_link_broadcast_set): When there is no DR on
1996 network (suppose you have only one router with interface priority
1997 0). It's router LSA does not contain the link information about
1998 this network.
1999
2000 * ospf_nsm.c (nsm_timer_set): When you change a priority of
2001 interface from/to 0 ISM_NeighborChange event should be scheduled
2002 in order to elect new DR/BDR on the network.
2003
2004 * ospf_interface.c (ip_ospf_priority): Likewise.
2005
2006 * ospf_flood.c (ospf_ls_retransmit_add): When we add some LSA into
2007 retransmit list we need to check whether the present old LSA in
2008 retransmit list is not more recent than the new
2009 one.
2010
20112000-11-09 Dick Glasspool <dick@ipinfusion.com>
2012
2013 * ospf_packet.c: Allows for NSSA Type-7 LSA's throughout the NSSA
2014 area. Any that exit the NSSA area are translated to type-5 LSA's.
2015 The instantiated image is restored after translation.
2016 (ospf_ls_upd_send_list): Renamed to ospf_ls_upd_queu_send().
2017 (ospf_ls_upd_send): Old function which enclosed by #ifdef 0 is
2018 removed.
2019 (ospf_ls_ack_send): Likewise.
2020
2021 * ospf_flood.c: NSSA-LSA's without P-bit will be restricted to
2022 local area. Otherwise they are allowed out the area to be
2023 translated by ospf_packet.c.
2024
2025 * ospf_lsa.c: Undo some previous changes for NSSA.
2026
2027 * ospf_lsdb.h: New access for type 7.
2028
20292000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2030
2031 * ospf_route.c (ospf_path_exist): New function to check nexthop
2032 and interface are in current OSPF path or not.
2033 (ospf_route_copy_nexthops_from_vertex): Add nexthop to OSPF path
2034 when it is not there. Reported by Michael Rozhavsky
2035 <mrozhavsky@opticalaccess.com>
2036
20372000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2038
2039 * ospf_dump.c (config_write_debug): Add seventh string "detail" is
2040 added for flag is OSPF_DEBUG_SEND | OSPF_DEBUG_RECV |
2041 OSPF_DEBUG_DETAIL.
2042
20432000-11-06 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2044
2045 * ospf_lsa.c (router_lsa_flags): ASBR can't exit in stub area.
2046
20472000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2048
2049 * ospf_lsa.c (ospf_router_lsa_originate): Reduce unconditional
2050 logging.
2051
20522000-11-06 Dick Glasspool <dick@ipinfusion.com>
2053
2054 * ospfd.h: Add ait_ntoa function prototype.
2055
2056 * ospfd.c (ait_ntoa): New function for displaying area ID and
2057 Stub/NSSA status.
2058 (show_ip_ospf_interface_sub): Use ait_ntoa.
2059 (show_ip_ospf_nbr_static_detail_sub): Likewise.
2060 (show_ip_ospf_neighbor_detail_sub): Likewise.
2061
2062 * ospf_route.c (ospf_intra_route_add): Set external routing type
2063 to ospf route.
2064 (ospf_intra_add_router): Likewise.
2065 (ospf_intra_add_transit): Likewise.
2066 (ospf_intra_add_stub): Likewise.
2067 (ospf_add_discard_route): Likewise.
2068 (show_ip_ospf_route_network): Use ait_ntoa.
2069 (show_ip_ospf_route_network): Likewise.
2070 (show_ip_ospf_route_router): Likewise.
2071
2072 * ospf_lsa.c (show_lsa_detail): Use ait_ntoa.
2073 (show_lsa_detail_adv_router): Likewise.
2074 (show_ip_ospf_database_summary): Likewise.
2075
2076 * ospf_route.h (struct route_standard): Add new member
2077 external_routing.
2078
2079 * ospf_ia.c (process_summary_lsa): Set external routing tyep to ospf
2080 route.
2081 (ospf_update_network_route): Likewise.
2082 (ospf_update_router_route): Likewise.
2083
20842000-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2085
2086 * ospf_flood.c (ospf_process_self_originated_lsa): Enclose
2087 OSPF_AS_NSSA_LSA treatment with #ifdef HAVE_NSSA.
2088
20892000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2090
2091 * Unconditional logging is enclosed with if (IS_DEBUG_OSPF_EVENT).
2092 Please specify "debug ospf event" for enable logging.
2093
2094 * ospf_ism.c: Do not extern debug flag varible. It is done by
2095 ospf_debug.h
2096 * ospf_asbr.c: Likewise.
2097 * ospf_lsa.c: Likewise.
2098 * ospf_nsm.c: Likewise.
2099 * ospf_zebra.c: Likewise.
2100
2101 * ospf_dump.c (debug_ospf_event): New command "debug ospf event"
2102 is added.
2103
2104 * ospfd.c (router_ospf): Change logging from vty_out() to
2105 zlog_info().
2106 (ospf_area_stub_cmd): Likewise.
2107
2108 * ospf_dump.h: Extern term_debug flags.
2109 (OSPF_DEBUG_EVENT): Add new flag.
2110 (IS_DEBUG_OSPF_EVENT): Add new macro.
2111
21122000-11-03 Dick Glasspool <dick@ipinfusion.com>
2113
2114 * ospf_flood.c (ospf_process_self_originated_lsa):
2115 OSPF_AS_NSSA_LSA is treated as same as OSPF_AS_EXTERNAL_LSA.
2116 (ospf_flood): Type-5's have no change. Type-7's can be received,
2117 and will Flood the AS as Type-5's They will also flood the local
2118 NSSA Area as Type-7's. The LSDB will be updated as Type-5's, and
2119 during re-fresh will be converted back to Type-7's (if within an
2120 NSSA).
2121 (ospf_flood_through): Incoming Type-7's were allowed here if our
2122 neighbor was an NSSA. So Flood our area with the Type-7 and also
2123 if we are an ABR, flood thru AS as Type-5.
2124
2125 * ospf_lsa.c (ospf_external_lsa_refresh): Flood NSSA both NSSA
2126 area and other area.
2127
2128 * ospf_packet.c (ospf_db_desc_proc): When AS External LSA is
2129 exists in DD packet, make it sure that this area is not stub.
2130 (ospf_ls_upd_list_lsa): When LSA type is NSSA then set lsa's area
2131 to NULL.
2132 (ospf_ls_upd): If the LSA is AS External LSA and the area is stub
2133 then discard the lsa. If the LSA is NSSA LSA and the area is not
2134 NSSA then discard the lsa.
2135
21362000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2137
2138 * ospfd.c (ospf_interface_run): Fix bug of Hello packet's option
2139 is not properly set when interface comes up.
2140
21412000-11-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2142
2143 * ospfd.h (OSPF_OPTION_O): Add new hello header option.
2144
21452000-11-01 Dick Glasspool <dick@ipinfusion.com>
2146
2147 * ospf_lsa.h: Define OSPF_MAX_LSA to 8 when HAVE_NSSA is enabled.
2148 (OSPF_GROUP_MEMBER_LSA): Define OSPF_GROUP_MEMBER_LSA.
2149
2150 * ospf_lsa.c (show_database_desc): Add "Group Membership LSA"
2151 string.
2152
21532000-10-31 Dick Glasspool <dick@ipinfusion.com>
2154
2155 * ospf_lsa.h (OSPF_AS_NSSA_LSA): Define OSPF_AS_NSSA_LSA.
2156
2157 * ospf_lsa.c (show_ip_ospf_database): NSSA database display
2158 function is added. ALIASES which have "show ip ospf database
2159 nssa-external" is added.
2160 (show_ip_ospf_border_routers): New command "show ip ospf
2161 border-routers" is added.
2162
21632000-10-30 Dick Glasspool <dick@ipinfusion.com>
2164
2165 * ospfd.c (router_ospf): NSSA Enabled message is added for
2166 testing.
2167 (ospf_area_type_set): Are type set for NSSA area.
2168 (ospf_area_stub_cmd): Special translation of no_summary into NSSA
2169 and summary information. If NSSA is enabled pass the information
2170 to ospf_area_type_set().
2171 (area_nssa): New commands are added:
2172 "area A.B.C.D nssa"
2173 "area <0-4294967295> nssa"
2174 "area A.B.C.D nssa no-summary"
2175 "area <0-4294967295> nssa no-summary"
2176 (ospf_no_area_stub_cmd): Special translation of no_summary into
2177 NSSA and summary information. If external_routing is
2178 OSPF_AREA_NSSA unset area with ospf_area_type_set (area,
2179 OSPF_AREA_DEFAULT).
2180 (show_ip_ospf_area): Display NSSA status.
2181 (config_write_ospf_area): Show NSSA configuration.
2182
2183 * ospf_packet.c (ospf_hello): For NSSA support, ensure that NP is
2184 on and E is off.
2185
21862000-10-26 Gleb Natapov <gleb@nbase.co.il>
2187
2188 * ospf_lsa.c (ospf_network_lsa_body_set): The network-LSA lists
2189 those routers that are fully adjacent to the Designated Router;
2190 each fully adjacent router is identified by its OSPF Router ID.
2191 The Designated Router includes itself in this list. RFC2328,
2192 Section 12.4.2.
2193
21942000-10-23 Jochen Friedrich <jochen@scram.de>
2195
2196 * ospf_snmp.c: ospf_oid and ospfd_oid are used in smux_open after
2197 it is registered. So those variables must be static.
2198
21992000-10-18 K N Sridhar <sridhar@euler.ece.iisc.ernet.in>
2200
2201 * ospfd.c: Add area_default_cost_decimal_cmd and
2202 no_area_default_cost_decimal_cmd alias.
2203
22042000-10-05 Gleb Natapov <gleb@nbase.co.il>
2205
2206 * ospfd.c (ospf_network_new): Fix setting area format.
2207 (no_router_ospf): Check area existance when calling
2208 ospf_interface_down().
2209
2210 * ospf_flood.c (ospf_external_info_check): Fix bug of refreshing
2211 default route.
2212
22132000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2214
2215 * zebra-0.89 is released.
2216
22172000-09-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2218
2219 * ospf_snmp.c (ospfHostEntry): OSPF Host MIB is implemented.
2220
2221 * ospfd.c (ospf_nbr_static_cmp): OSPF neighbor is sorted by it's
2222 address.
2223
22242000-09-28 Michael Rozhavsky <mike@nbase.co.il>
2225
2226 * ospf_interface.c (ospf_if_free): Fix deleting self neighbor twice.
2227
22282000-09-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2229
2230 * ospf_packet.c (ospf_read): Solaris on x86 has ip_len with host
2231 byte order.
2232
22332000-09-25 Toshiaki Takada <takada@zebra.org>
2234
2235 * ospfd.c (ospf_compatible_rfc1583), (no_ospf_compatible_rfc1583):
2236 Add CISCO compatible command.
2237
22382000-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2239
2240 * ospf_abr.c (ospf_area_range_lookup): New function is added for
2241 area range lookup in OSPF-MIB.
2242 (ospf_area_range_lookup_next): Likewise.
2243
22442000-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2245
2246 * ospfd.c (no_router_ospf): Delete virtual link before deleting
2247 area structure.
2248
2249 * ospf_lsa.c (ospf_external_lsa_refresh_type): Check
2250 EXTERNAL_INFO(type).
2251
2252 * ospfd.c (no_router_ospf): Call ospf_vl_delete() instead of
2253 ospf_vl_data_free().
2254
2255 * ospf_interface.c (ospf_vl_shutdown): Execute ISM_InterfaceDown
2256 when ospf_vl_shutdown is called.
2257 (ospf_vl_delete): Call ospf_vl_shutdown() to delete virtual link
2258 interface's thread.
2259
22602000-09-21 Gleb Natapov <gleb@nbase.co.il>
2261
2262 * ospf_lsa.c: New implementation of OSPF refresh.
2263
22642000-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2265
2266 * ospf_snmp.c (ospfLsdbLookup): Add LSDB MIB implementation.
2267
22682000-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2269
2270 * ospf_snmp.c (ospfStubAreaEntry): Add OSPF stub area MIB.
2271
22722000-09-18 Gleb Natapov <gleb@nbase.co.il>
2273
2274 * ospf_route.h (route_standard): Change member from `struct area'
2275 to area_id.
2276
2277 * ospf_abr.c (ospf_abr_announce_network), (ospf_abr_should_announce),
2278 (ospf_abr_process_network_rt), (ospf_abr_announce_rtr),
2279 (ospf_abr_process_router_rt):
2280 * ospf_ase.c (ospf_find_asbr_route),
2281 (ospf_find_asbr_router_through_area),
2282 * ospf_ia.c (ospf_find_abr_route), (ospf_ia_router_route),
2283 (process_summary_lsa), (ospf_update_network_route),
2284 (ospf_update_router_route):
2285 * ospf_route.c (ospf_intra_route_add), (ospf_intra_add_router),
2286 (ospf_intra_add_transit), (ospf_intra_add_stub),
2287 (ospf_route_table_dump), (show_ip_ospf_route_network),
2288 (show_ip_ospf_route_router), (ospf_asbr_route_cmp),
2289 (ospf_prune_unreachable_routers):
2290 * ospf_spf.c (ospf_rtrs_print):
2291 * ospfd.c (ospf_rtrs_free): Fix the struct change above.
2292
22932000-09-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2294
2295 * ospf_network.c (ospf_serv_sock_init): Enclose SO_BINDTODEVICE
2296 with ifdef.
2297
22982000-09-13 Gleb Natapov <gleb@nbase.co.il>
2299
2300 * ospf_ism.c (ospf_elect_dr), (ospf_elect_bdr): Fix DR election.
2301
2302 * ospf_network.c (ospf_serv_sock_init): Add socket option
2303 SO_BINDTODEVICE on read socket.
2304
2305 * ospf_packet.c (ospf_hello): Ignore Hello packet if E-bit does
2306 not match.
2307
2308 * ospfd.c (ospf_area_check_free), (ospf_area_get),
2309 (ospf_area_add_if): New function added.
2310
23112000-09-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2312
2313 * ospf_route.c (ospf_intra_add_router): Update ABR and ASBR router
2314 count.
2315
2316 * ospf_spf.c (ospf_spf_init): Rest ABR and ASBR router count
2317 starting SPF calculation.
2318
2319 * ospfd.h (struct ospf_area): Add ABR and ASBR router count.
2320
23212000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2322
2323 * ospfd.c (ospf_area_id_cmp): New area structure is sorted by area
2324 ID.
2325
2326 * ospf_lsa.c (ospf_router_lsa_originate): For OSPF MIB update
2327 lsa_originate_count.
2328 (ospf_network_lsa_originate): Likewise.
2329 (ospf_summary_lsa_originate): Likewise.
2330 (ospf_summary_asbr_lsa_originate): Likewise.
2331 (ospf_external_lsa_originate): Likewise.
2332
23332000-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2334
2335 * ospf_snmp.c (ospf_variables): ospfRouterID's type RouterID
2336 syntax is IpAddress.
2337 (ospf_admin_stat): New function for OSPF administrative status
2338 check.
2339
23402000-09-10 Jochen Friedrich <jochen@scram.de>
2341
2342 * ospf_snmp.c: Implement OSPF MIB skeleton.
2343
23442000-09-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2345
2346 * ospf_snmp.c: New file is added.
2347
23482000-09-07 David Lipovkov <davidl@nbase.co.il>
2349
2350 * ospf_zebra.c (ospf_interface_delete): Add pseudo interface
2351 treatment.
2352
2353 * ospf_interface.c (interface_config_write): Likewise.
2354
23552000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2356
2357 * zebra-0.88 is released.
2358
23592000-08-17 Michael Rozhavsky <mike@nbase.co.il>
2360
2361 * ospfd.c (ospf_area_free): Remove virtual link configuration only
2362 when Area is removed.
2363
23642000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2365
2366 * ospfd.c (network_area): Revert check for EXTERNAL_INFO
2367 (ZEBRA_ROUTE_CONNECT).
2368 (no_network_area): Likewise.
2369
23702000-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2371
2372 * ospfd.h (struct ospf): Add distance_table and
2373 distance_{all,intra,inter,external}.
2374
2375 * ospf_zebra.c: Add OSPF distance related functions.
2376
23772000-08-15 Gleb Natapov <gleb@nbase.co.il>
2378
2379 * ospf_asbr.c (ospf_external_info_find_lsa): New function added.
2380
2381 * ospf_lsa.c (ospf_default_external_info),
2382 (ospf_default_originate_timer), (ospf_external_lsa_refresh_default):
2383 New function added.
2384
2385 * ospf_zebra.c
2386 (ospf_default_information_originate_metric_type_routemap),
2387 (ospf_default_information_originate_always_metric_type_routemap):
2388 Change name and add route-map function.
2389 (ospf_default_information_originate_metric_routemap),
2390 (ospf_default_information_originate_routemap),
2391 (ospf_default_information_originate_type_metric_routemap):
2392 New DEFUN added.
2393
23942000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2395
2396 * ospf_zebra.c (zebra_interface_if_set_value): Change ifindex
2397 restore size from two octet to four.
2398
23992000-08-14 Michael Rozhavsky <mike@nbase.co.il>
2400
2401 * ospf_ase.c (ospf_ase_incremental_update): Implement incremental
2402 AS-external-LSA in 16.6 of RFC2328.
2403
24042000-08-14 Matthew Grant <grantma@anathoth.gen.nz>
2405
2406 * ospf_interface.c (ospf_if_get_output_cost): Change cost
2407 calculation algorithm.
2408
2409 * ospf_packet (ospf_ls_upd): Fix problem of LSA retransmitting.
2410
24112000-08-11 Michael Rozhavsky <mike@nbase.co.il>
2412
2413 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix maxage remover for
2414 AS-external-LSAs.
2415
24162000-08-10 Toshiaki Takada <takada@zebra.org>
2417
2418 * ospfd.c (auto_cost_reference_bandwidth): New DEFUN added.
2419 `auto-cost reference-bandwidth' OSPF router command added.
2420
24212000-08-08 Gleb Natapov <gleb@nbase.co.il>
2422
2423 * ospf_routemap.c (ospf_route_map_update): New function added.
2424 Add route-map event hook.
2425
24262000-08-08 Toshiaki Takada <takada@zebra.org>
2427
2428 * ospf_zebra.c (ospf_distribute_check_connected): If redistribute
2429 prefix is connected route on OSPF enabled interface, suppress to
2430 announce it.
2431
24322000-08-08 Matthew Grant <grantma@anathoth.gen.nz>
2433
2434 * ospf_interface.c (ospf_if_get_output_cost):
2435 New function added. Handle bandwidth parameter for cost
2436 calculation.
2437
24382000-08-08 Michael Rozhavsky <mike@nbase.co.il>
2439
2440 * ospf_interface.c (interface_config_write): Show interface
2441 configuration regardless interface is down.
2442
2443 * ospf_ase.c (ospf_ase_caocluate_route): Whole rewritten external
2444 route calculate function.
2445
24462000-08-08 Gleb Natapov <gleb@nbase.co.il>
2447
2448 * ospf_routemap.c: New file added.
2449
2450 * ospf_asbr.c (ospf_reset_route_map_set_values),
2451 (ospf_route_map_set_compare): New function added.
2452
2453 * ospf_lsa.c (ospf_external_lsa_body_set): Set routemap metric
2454 with AS-external-LSA.
2455
24562000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2457
2458 * ospf_ase.c (ospf_ase_calculate_route_add): Pass new->cost to
2459 ospf_zebra_add as metric.
2460 (ospf_ase_calculate_route_add): Likewise.
2461
2462 * ospf_route.c (ospf_route_install): Pass or->cost to
2463 ospf_zebra_add as metric.
2464
2465 * ospf_zebra.c (ospf_zebra_add): Add metric arguemnt.
2466 (ospf_zebra_delete): Likewise.
2467
24682000-08-03 Matthew Grant <grantma@anathoth.gen.nz>
2469
2470 * ospf_flood.c (ospf_flood_delayed_lsa_ack): New function added.
2471 Dispatch delayed-ACK with flooding AS-external-LSA across virtual
2472 link.
2473
24742000-07-31 Matthew Grant <grantma@anathoth.gen.nz>
2475
2476 * ospfd.c (show_ip_ospf_area): Fix lack of VTY_NEWLINE when
2477 `show ip ospf'.
2478
2479 * ospf_interface.c (ospf_if_free): Fix bug of crash with
2480 Point-to-Point interface.
2481
24822000-07-27 Michael Rozhavsky <mike@nbase.co.il>
2483
2484 * ospf_flood.c (ospf_process_self_originated_lsa):
2485 Make sure to clear LSA->param (redistributed external information)
2486 before refreshment.
2487
24882000-07-27 Gleb Natapov <gleb@nbase.co.il>
2489
2490 * ospfd.c (refresh_group_limit), (refresh_per_slice),
2491 (refresh_age_diff): New defun added. Refresher related parameter
2492 can be configurable.
2493
24942000-07-27 Akihiro Mizutani <mizutani@dml.com>
2495
2496 * ospf_interface.c (interface_config_write): Print `description'
2497 config directive to work.
2498
24992000-07-24 Akihiro Mizutani <mizutani@dml.com>
2500
2501 * ospf_interface.c (ospf_if_init): Use install_default for
2502 INTERFACE_NODE.
2503
25042000-07-24 Gleb Natapov <gleb@nbase.co.il>
2505
2506 * ospf_packet.c (ospf_ls_upd_send_list), (ospf_ls_upd_send_event),
2507 (ospf_ls_ack_send_list), (ospf_ls_ack_send_event): New function added.
2508 This make sending always as many LS update/Ack combined in one ospf
2509 packet.
2510
25112000-07-24 Gleb Natapov <gleb@nbase.co.il>
2512
2513 * ospf_packet.c (ospf_ls_upd_list_lsa): Set NULL to lsa->area if
2514 LSA is AS-external-LSA.
2515
2516 * ospf_nsm.c (nsm_reset_nbr): Do not cancel Inactivity timer.
2517
25182000-07-21 Toshiaki Takada <takada@zebra.org>
2519
2520 * ospf_zebra.c (ospf_default_originate_timer): Set timer for
2521 `default-information originate'. Fix some default originate
2522 related functions.
2523
25242000-07-12 Toshiaki Takada <takada@zebra.org>
2525
2526 * ospf_lsa.c (stream_put_ospf_metric): New function added.
2527
25282000-07-12 Toshiaki Takada <takada@zebra.org>
2529
2530 * ospf_lsa.c (show_ip_ospf_database_router),
2531 (show_ip_ospf_database_network), (show_ip_ospf_database_summary),
2532 (show_ip_ospf_database_summary_asbr), (show_ip_ospf_database_externel),
2533 (show_router_lsa), (show_any_lsa), (show_router_lsa_self),
2534 (show_any_lsa_self): Functions removed.
2535
2536 (show_lsa_prefix_set), (show_lsa_detail_proc), (show_lsa_detail),
2537 (show_lsa_detail_adv_router_proc), (show_lsa_detail_adv_router):
2538 New functions added. Replace above functions.
2539
2540 (show_ip_ospf_database_all), (show_ip_ospf_database_self_originated):
2541 Functions removed.
2542 (show_ip_ospf_database_summary): New functions added. Replace
2543 above functions.
2544
2545 (show_ip_ospf_database_cmd): DEFUN rearranged.
2546 (show_ip_ospf_database_type_id_cmd),
2547 (show_ip_ospf_database_type_id_adv_router_cmd),
2548 (show_ip_ospf_database_type_is_self_cmd): New ALIASes added.
2549 (show_ip_ospf_database_type_adv_rotuer_cmd): New DEFUN added.
2550 (show_ip_ospf_database_type_self_cmd): New ALIAS added.
2551
25522000-07-11 Toshiaki Takada <takada@zebra.org>
2553
2554 * ospf_asbr.c (ospf_external_info_new),
2555 (ospf_external_info_free): New functions added.
2556
2557 * ospf_lsa.h (ospf_lsa): Add new member `void *param' to set
2558 origination parameter for external-LSA.
2559 Remove member `redistribute'.
2560
2561 * ospf_zebra.c (ospf_redistirbute_set): When `redistribute'
2562 command executed, metric and metric-type values are overridden.
2563 If one of those is changed refresh AS-external-LSAs for appropriate
2564 type.
2565
25662000-07-11 Michael Rozhavsky <mike@nbase.co.il>
2567
2568 * ospf_lsa.c (ospf_summary_lsa_refresh),
2569 (ospf_summary_asbr_lsa_refresh): Make sure to refresh summary-LSAs.
2570
2571 * ospf_abr.c (set_metric): New function added.
2572
25732000-07-07 Toshiaki Takada <takada@zebra.org>
2574
2575 * ospf_zebra.c (ospf_default_information_originate_metric_type),
2576 (ospf_default_information_originate_type_metric): New defun added.
2577 Metic and Metric type can be set to default route.
2578 (ospf_default_information_originate_always_metric_type):
2579 (ospf_default_information_originate_always_type_metric):
2580 New defun added. Metric and Metric type can be set to default
2581 always route.
2582
2583 * ospf_zebra.c (ospf_default_metric), (no_ospf_default_metric):
2584 New defun added.
2585
25862000-07-06 Gleb Natapov <gleb@nbase.co.il>
2587
2588 * ospf_flood.c (ospf_flood_through_area): Fix bug of considering
2589 on the same interface the LSA was received from.
2590
25912000-07-06 Michael Rozhavsky <mike@nbase.co.il>
2592
2593 * ospfd.c (ospf_config_write): Fix bug of printing `area stub'
2594 command with `write mem'.
2595
2596 * ospfd.c (no_router_ospf): Remove installed routes from zebra.
2597
2598 * ospf_zebra.c (ospf_interface_delete): Fix function to handle
2599 zebra interface delete event.
2600
26012000-07-06 Toshiaki Takada <takada@zebra.org>
2602
2603 * ospf_zebra.c (ospf_default_information_originate),
2604 (ospf_default_information_originate_always): New DEFUN added.
2605
26062000-07-05 Michael Rozhavsky <mike@nbase.co.il>
2607
2608 * ospf_route.c (ospf_terminate): Make sure to remove external route
2609 when SIGINT received.
2610
26112000-07-03 Gleb Natapov <gleb@nbase.co.il>
2612
2613 * ospf_flood.c, ospf_ism.c, ospf_lsa,c, ospfd.c: Make sure to free
2614 many structure with `no router ospf'.
2615
26162000-06-30 Gleb Natapov <gleb@nbase.co.il>
2617
2618 * ospf_neighbor.c (ospf_nbr_new),
2619 ospf_nsm.c (nsm_timer_set): Start LS update timer only
2620 when neighbor enters Exchange state.
2621
26222000-06-29 Gleb Natapov <gleb@nbase.co.il>
2623
2624 * ospf_nsm.c (nsm_timer_set), (nsm_exchange_done),
2625 ospf_packet.c (ospf_db_desc_proc):
2626 Do not cancel DD retransmit timer when Master.
2627
26282000-06-29 Gleb Natapov <gleb@nbase.co.il>
2629
2630 * ospf_abr.c (ospf_abr_announce_network_to_area),
2631 (ospf_abr_announce_rtr_to_area)
2632 ospf_ase.c (ospf_ase_rtrs_register_lsa),
2633 ospf_flood.c (ospf_process_self_originated_lsa),
2634 (ospf_flood_through_area), (ospf_ls_request_delete),
2635 ospf_interface.c (ospf_if_free),
2636 ospf_ism.c (ism_change_status),
2637 ospf_lsa.c (ospf_router_lsa_update_timer),
2638 (ospf_router_lsa_install), (ospf_network_lsa_install),
2639 (ospf_lsa_maxage_delete), (ospf_lsa_action),
2640 (ospf_schedule_lsa_flood_area),
2641 ospf_nsm.c (nsm_change_status),
2642 ospf_packet.c (ospf_make_ls_req_func), (ospf_make_ls_ack):
2643 Use ospf_lsa_{lock,unlock} for all looking-up of LSA.
2644
2645 * ospf_flood.c (ospf_ls_request_free): Function deleted.
2646
2647 * ospf_lsa.c (ospf_discard_from_db): New function added.
2648
26492000-06-26 Toshiaki Takada <takada@zebra.org>
2650
2651 * ospfd.h (ospf): struct member `external_lsa' name changed to
2652 `lsdb'.
2653
26542000-06-26 Toshiaki Takada <takada@zebra.org>
2655
2656 * ospf_lsa.c (ospf_lsa_install), (ospf_router_lsa_install),
2657 (ospf_network_lsa_install), (ospf_summary_lsa_install),
2658 (ospf_summary_asbr_lsa_install), (ospf_external_lsa_install):
2659 Functions re-arranged.
2660
2661 * ospf_lsa.c (IS_LSA_MAXAGE), (IS_LSA_SELF): Macro added.
2662
26632000-06-20 Michael Rozhavsky <mike@nbase.co.il>
2664
2665 * ospf_packet.c (ospf_ls_req), (ospf_ls_upd), (ospf_ls_ack): Add
2666 verification of LS type.
2667
26682000-06-20 Gleb Natapov <gleb@nbase.co.il>
2669
2670 * ospf_ase.c (ospf_ase_calculate_timer): Add more sanity check
2671 whether rn->info is NULL.
2672
26732000-06-20 Toshiaki Takada <takada@zebra.org>
2674
2675 * ospfd.c (show_ip_ospf_interface_sub): Show Router-ID of both
2676 DR and Backup correctly with `show ip ospf interface' command.
2677
26782000-06-20 Toshiaki Takada <takada@zebra.org>
2679
2680 * ospf_lsa.c (ospf_lsa_lock), (ospf_lsa_unlock),
2681 (ospf_lsa_discard): These functions are used for avoiding
2682 unexpected reference to freed LSAs.
2683
26842000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2685
2686 * ospf_packet.c (ospf_ls_upd): Initialize lsa by NULL to avoid
2687 warning.
2688
26892000-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2690
2691 * ospf_ase.h (ospf_ase_rtrs_register_lsa): Add prototype.
2692
26932000-06-12 Toshiaki Takada <takada@zebra.org>
2694
2695 * ospf_lsa.c (ospf_external_lsa_install): Make sure to register
2696 LSA to rtrs_external when replacing AS-external-LSAs in LSDB.
2697 Fix core dump.
2698
26992000-06-10 Toshiaki Takada <takada@zebra.org>
2700
2701 * ospf_lsdb.c (id_to_prefix), (ospf_lsdb_hash_key),
2702 (ospf_lsdb_hash_cmp), (ospf_lsdb_new), (ospf_lsdb_iterator),
2703 (lsdb_free), (ospf_lsdb_free), (ospf_lsdb_add), (ospf_lsdb_delete),
2704 (find_lsa), (ospf_lsdb_lookup), (find_by_id),
2705 (ospf_lsdb_lookup_by_id), (ospf_lsdb_lookup_by_header): Functinos
2706 removed for migration to new_lsdb.
2707
2708 * ospf_lsa.c (ospf_summary_lsa_install),
2709 (ospf_summary_asbr_lsa_install), (ospf_maxage_lsa_remover),
2710 (ospf_lsa_maxage_walker), (ospf_lsa_lookup),
2711 (ospf_lsa_lookup_by_id): Use new_lsdb instead of ospf_lsdb.
2712 (count_lsa), (ospf_lsa_count_table), (ospf_lsa_count),
2713 (ospf_get_free_id_for_prefix): Funcitions removed.
2714
27152000-06-09 Gleb Natapov <gleb@nbase.co.il>
2716
2717 * ospf_ism.c (ism_interface_down): Prevent some unneeded DR changes.
2718
2719 * ospf_packet.c (ospf_db_desc_proc): Fix memory leak.
2720 (ospf_hello): Always copy router-ID when hello is received.
2721
27222000-06-08 Gleb Natapov <gleb@nbase.co.il>
2723
2724 * ospf_lsa.h (struct ospf_lsa): Add member of pointer to struct
2725 ospf_area.
2726
27272000-06-08 Michael Rozhavsky <mike@nbase.co.il>
2728
2729 * ospf_ase.c (ospf_asbr_route_same): New function added.
2730 This function makes sure external route calculation more
2731 precisely.
2732
27332000-06-07 Michael Rozhavsky <mike@nbase.co.il>
2734
2735 * ospf_ism.c (ism_change_status): Use ospf_lsa_flush_area for
2736 network-LSA deletion instead of using ospf_lsdb_delete.
2737 Also cancel network-LSA origination timer.
2738
27392000-06-07 Levi Harper <lharper@kennedytech.com>
2740
2741 * ospf_interface.c (ospf_if_down): Close read fd when an interface
2742 goes down.
2743
27442000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2745
2746 * ospf_asbr.c (ospf_external_info_lookup): Add explicit brace for
2747 avoid ambiguous else.
2748
2749 * ospf_flood.c (ospf_external_info_check): Likewise.
2750
27512000-06-05 Toshiaki Takada <takada@zebra.org>
2752
2753 * ospf_nsm.c (nsm_adj_ok): Fix bug of DR election.
2754
27552000-06-04 Toshiaki Takada <takada@zebra.org>
2756
2757 * ospf_zebra.c (ospf_default_information_originate),
2758 (no_ospf_default_information_originate): New DEFUN added.
2759
27602000-06-03 Toshiaki Takada <takada@zebra.org>
2761
2762 * ospf_lsa.h, ospf_asbr.h (external_info): Struct moved from
2763 ospf_lsa.h to ospf_asbr.h.
2764
2765 * ospf_lsa.c, ospf_asbr.c (ospf_external_info_add),
2766 (ospf_external_info_delete): Function moved from ospf_lsa.c
2767 to ospf_asbr.c.
2768
27692000-06-03 Toshiaki Takada <takada@zebra.org>
2770
2771 * ospf_flood.c (ospf_external_info_check): New function added.
2772 (ospf_process_self_orignated_lsa): Make sure to flush
2773 self-originated AS-external-LSA, when router reboot and no longer
2774 originate those AS-external-LSA.
2775
27762000-06-02 Toshiaki Takada <takada@zebra.org>
2777
2778 * ospf_network.c (ospf_serv_sock): Remove SO_DONTROUTE
2779 socket option.
2780
2781 * ospf_packet.c (ospf_write): Set MSG_DONTROUTE flag for
2782 unicast destination packets.
2783
27842000-06-02 Toshiaki Takada <takada@zebra.org>
2785
2786 * ospf_lsdb.c (new_lsdb_delete): Delete entry from LSDB only when
2787 specified LSA matches.
2788
27892000-06-02 Gleb Natapov <gleb@nbase.co.il>
2790
2791 * ospf_network.c (ospf_serv_sock): Set SO_DONTROUTE
2792 socket option.
2793
27942000-06-01 Akihiro Mizutani <mizutani@dml.com>
2795
2796 * ospf_dump.c: Replace string `Debugging functions\n' with DEBUG_STR.
2797 Replace string `OSPF information\n' with OSPF_STR.
2798
27992000-06-01 Toshiaki Takada <takada@zebra.org>
2800
2801 * ospf_lsdb.[ch]: Use new_lsdb struct for network-LSA instead of
2802 ospf_lsdb.
2803
28042000-06-01 Toshiaki Takada <takada@zebra.org>
2805
2806 * ospf_dump.c (config_debug_ospf_packet), (config_debug_ospf_event),
2807 (config_debug_ospf_ism), (config_debug_ospf_nsm),
2808 (config_debug_ospf_lsa), (config_debug_ospf_zebra),
2809 (term_debug_ospf_packet), (term_debug_ospf_event),
2810 (term_debug_ospf_ism), (term_debug_ospf_nsm),
2811 (term_debug_ospf_lsa), (term_debug_ospf_zebra): Repalce debug_ospf_*
2812 variable to use for debug option flags.
2813
2814 (debug_ospf_packet), (debug_ospf_ism), (debug_ospf_nsm),
2815 (debug_ospf_lsa), (debug_ospf_zebra): Set {config,term}_debug_*
2816 flags when vty->node is CONFIG_NODE, otherwise set only term_debug_*
2817 flags.
2818
2819 * ospf_dump.h (CONF_DEBUG_PACKET_ON), (CONF_DEBUG_PACKET_OFF),
2820 (TERM_DEBUG_PACKET_ON), (TERM_DEBUG_PACKET_OFF),
2821 (CONF_DEBUG_ON), (CONF_DEBUG_OFF), (IS_CONF_DEBUG_OSPF_PACKET),
2822 (IS_CONF_DEBUG_OSPF): New Macro added.
2823
28242000-05-31 Toshiaki Takada <takada@zebra.org>
2825
2826 * ospfd.c (clear_ip_ospf_neighbor): New DEFUN added.
2827 Currently this command is used for only debugging.
2828
2829 * ospf_nsm.c (nsm_change_status): Make sure thread cancellation
2830 for network-LSA when DR has no full neighbors.
2831
2832 * ospf_nsm.c (ospf_db_summary_clear): New function added.
2833
28342000-05-30 Toshiaki Takada <takada@zebra.org>
2835
2836 * ospf_lsdb.c (new_lsdb_insert): LSAs are always freed by
2837 maxage_lsa_remover when LSA is replaced.
2838
28392000-05-25 Gleb Natapov <gleb@nbase.co.il>
2840
2841 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all): Add argument
2842 `struct ospf_area' to remove LSA from Link State retransmission list
2843 of neighbor from only one Area.
2844
28452000-05-24 Michael Rozhavsky <mike@nbase.co.il>
2846
2847 * ospf_lsdb.c (ospf_lsdb_add): Preserve flags field when
2848 overriting old LSA with new LSA.
2849
28502000-05-24 Gleb Natapov <gleb@nbase.co.il>
2851
2852 * ospf_lsa.c (ospf_router_lsa_body_set): Fix bug of router-LSA
2853 size calculation.
2854
28552000-05-22 Michael Rozhavsky <mike@nbase.co.il>
2856
2857 * ospf_route.c (ospf_intra_add_stub):
2858 * ospf_spf.h (struct vertex): Use u_int32_t for distance (cost)
2859 value instead of u_int16_t.
2860
28612000-05-22 Axel Gerlach <agerlach@datus.datus.com>
2862
2863 * ospf_ia.c (ospf_ia_network_route): Fix bug of Inter-area route
2864 equal cost path calculation.
2865
28662000-05-21 Toshiaki Takada <takada@zebra.org>
2867
2868 * ospf_ase.c (ospf_ase_calculate_route_delete): New function added.
2869 Make sure, when rotuer route is deleted, related external routes
2870 are also deleted.
2871
28722000-05-20 Toshiaki Takada <takada@zebra.org>
2873
2874 * ospfd.c (ospf_interface_down): Make sure interface flag is disable
2875 and set fd to -1.
2876
28772000-05-16 Toshiaki Takada <takada@zebra.org>
2878
2879 * ospf_asbr.c (ospf_asbr_should_announce), (ospf_asbr_route_remove):
2880 Functions removed.
2881
2882 * ospfd.h (EXTERNAL_INFO): Macro added.
2883 Substitute `ospf_top->external_info[type]' with it.
2884
28852000-05-16 Toshiaki Takada <takada@zebra.org>
2886
2887 * ospf_lsa.c (ospf_rtrs_external_remove): New function added.
2888
28892000-05-14 Gleb Natapov <gleb@nbase.co.il>
2890
2891 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all)
2892 * ospf_lsdb.c (new_lsdb_insert)
2893 * ospf_packet.c (ospf_ls_ack): Fix database synchonization problem.
2894
28952000-05-14 Gleb Natapov <gleb@nbase.co.il>
2896
2897 * ospf_lsa.h (tv_adjust), (tv_ceil), (tv_floor), (int2tv),
2898 (tv_add), (tv_sub), (tv_cmp): Prototype definition added.
2899
2900 * ospf_nsm.h (ospf_db_summary_delete_all): Prototype definition added.
2901
29022000-05-13 Toshiaki Takada <takada@zebra.org>
2903
2904 * ospf_lsa.[ch] (ospf_lsa): struct timestamp type is changed from
2905 time_t to struct timeval.
2906 (tv_adjust), (tv_ceil), (tv_floor), (int2tv), (tv_add),
2907 (tv_sub), (tv_cmp): timeval utillity functions added.
2908
29092000-05-12 Toshiaki Takada <takada@zebra.org>
2910
2911 * ospf_lsa.[ch] (ospf_schedule_update_router_lsas): Delete function.
2912 Change to use macro OSPF_LSA_UPDATE_TIMER instead of using
2913 this function.
2914 router-LSA refresh timer related stuff is re-organized.
2915
29162000-05-10 Gleb Natapov <gleb@nbase.co.il>
2917
2918 * ospf_interface.c (ospf_vl_set_params):
2919 * ospf_packet.c (ospf_check_network_mask):
2920 * ospf_spf.[ch] (ospf_spf_next):
2921 Remove field address from `struct vertex', and search for peer
2922 address of virtual link in function `ospf_vl_set_params' instead.
2923
29242000-05-10 Gleb Natapov <gleb@nbase.co.il>
2925
2926 * ospf_packet.c (ospf_ls_upd): Fix some memory leak related LSA.
2927
29282000-05-08 Thomas Molkenbur <tmo@datus.com>
2929
2930 * ospf_packet.c (ospf_packet_dup): Replace ospf_steram_copy()
2931 with ospf_stream_dup() to fix memory leak.
2932
29332000-05-08 Michael Rozhavsky <mike@nbase.co.il>
2934
2935 * ospf_flood.c (ospf_flood_through_area): Fix the problem of
2936 LSA update without DROther.
2937
29382000-05-04 Gleb Natapov <gleb@nbase.co.il>
2939
2940 * ospf_spf.c (ospf_vertex_free): Fix memory leak of SPF calculation.
2941
29422000-05-03 Toshiaki Takada <takada@zebra.org>
2943
2944 * ospf_neighbor.c (ospf_db_summary_add): Use new_lsdb struct
2945 instead linked-list.
2946 (ospf_db_summary_count), (ospf_db_summary_isempty):
2947 New function added.
2948
2949 * ospf_lsa.c (ospf_rotuer_lsa): Re-arrange and divide functions.
2950
29512000-05-02 Gleb Natapov <gleb@nbase.co.il>
2952
2953 * ospf_lsdb.c (new_lsdb_cleanup): Fix memory leak. When LSDB are
2954 not needed any more, then free them.
2955
29562000-05-02 Toshiaki Takada <takada@zebra.org>
2957
2958 * ospfd.c (timers_spf), (no_timers_spf): New defun added.
2959 SPF calculation timers related stuff is rearranged.
2960
2961 * ospf_spf.c (ospf_spf_calculate_timer_add): Function removed.
2962 SPF timer is scheduled by SPF calculation delay and holdtime
2963 configuration variable.
2964
2965 * ospf_lsa.c (ospf_external_lsa_nexthop_get): Set AS-external-LSA's
2966 forwarding address when nexthop learned by other protocols is
2967 in the OSPF domain.
2968
2969 * ospf_zebra.c (ospf_redistribute_source_metric_type),
2970 (ospf_redistribute_source_type_metric): Re-arrange DEFUNs and
2971 ALIASes.
2972
29732000-05-01 Toshiaki Takada <takada@zebra.org>
2974
2975 * ospf_flood.c (ospf_ls_retransmit_count),
2976 (ospf_ls_retransmit_isempty): New function added.
2977
2978 (ospf_ls_retransmit_add), (ospf_ls_retransmit_delete),
2979 (ospf_ls_retransmit_clear), (ospf_ls_retransmit_lookup),
2980 (ospf_ls_retransmit_delete_all), (ospf_ls_retransmit_delete_nbr_all),
2981 (ospf_ls_retransmit_add_nbr_all): Replace these functions to use
2982 new_lsdb.
2983
29842000-04-29 Toshiaki Takada <takada@zebra.org>
2985
2986 * ospfd.c (no_network_area): Add check Area-ID whether specified
2987 Area-ID with prefix matches config.
2988
29892000-04-27 Toshiaki Takada <takada@zebra.org>
2990
2991 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix problem of
2992 remaining withdrawn routes on zebra.
2993
29942000-04-25 Michael Rozhavsky <mike@nbase.co.il>
2995
2996 * ospf_nsm.c (nsm_kill_nbr), (nsm_ll_down), (nsm_change_status),
2997 (ospf_nsm_event): Fix network-LSA re-origination problem.
2998
29992000-04-24 Toshiaki Takada <takada@zebra.org>
3000
3001 * ospf_nsm.c (ospf_db_desc_timer): Fix bug of segmentation fault
3002 with DD retransmission.
3003
3004 * ospf_nsm.c (nsm_kill_nbr): Fix bug of re-origination when
3005 a neighbor disappears.
3006
30072000-04-23 Michael Rozhavsky <mike@nbase.co.il>
3008
3009 * ospf_abr.c (ospf_abr_announce_network_to_area): Fix bug of
3010 summary-LSAs reorigination. Correctly copy OSPF_LSA_APPROVED
3011 flag to new LSA. when summary-LSA is reoriginatd.
3012
3013 * ospf_flood.c (ospf_flood_through_area): Fix bug of flooding
3014 procedure. Change the condition of interface selection.
3015
30162000-04-21 Toshiaki Takada <takada@zebra.org>
3017
3018 * ospf_lsa.c (ospf_refresher_register_lsa): Fix bug of refresh never
3019 occurs.
3020
3021 * ospfd.c (show_ip_ospf_neighbor_id): New defun added.
3022 `show ip ospf neighbor' related commands are re-arranged.
3023
30242000-04-20 Toshiaki Takada <takada@zebra.org>
3025
3026 * ospf_dump.c (debug_ospf_zebra): New defun added.
3027 Suppress zebra related debug information.
3028
30292000-04-19 Toshiaki Takada <takada@zebra.org>
3030
3031 * ospf_zebra.c (ospf_distribute_list_update_timer),
3032 (ospf_distribute_list_update), (ospf_filter_update):
3033 New function added. Re-organize `distribute-list' router ospf
3034 command.
3035
30362000-04-13 Michael Rozhavsky <mike@nbase.co.il>
3037
3038 * ospf_packet.c (ospf_make_ls_upd): Add check for MAX_AGE.
3039
30402000-04-14 Michael Rozhavsky <mike@nbase.co.il>
3041
3042 * ospf_packet.c (ospf_make_ls_upd): Increment LS age by configured
3043 interface transmit_delay.
3044
30452000-04-14 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3046
3047 * ospf_interface.c (ip_ospf_cost), (no_ip_ospf_cost):
3048 Add to schedule router_lsa origination when the interface cost changes.
3049
30502000-04-12 Toshiaki Takada <takada@zebra.org>
3051
3052 * ospf_lsa.c (ospf_refresher_register_lsa),
3053 (ospf_refresher_unregister_lsa): Fix bug of core dumped.
3054
3055 * ospfd.c (no_router_ospf): Fix bug of core dumped.
3056
30572000-03-29 Toshiaki Takada <takada@zebra.org>
3058
3059 * ospf_nsm.c (nsm_oneway_received): Fix bug of MS flag unset.
3060
30612000-03-29 Michael Rozhavsky <mike@nbase.co.il>
3062
3063 * ospf_lsa.c (ospf_network_lsa):
3064 * ospf_nsm.c (ospf_nsm_event): Fix bug of Network-LSA originated
3065 in stub network.
3066
30672000-03-28 Toshiaki Takada <takada@zebra.org>
3068
3069 * ospf_nsm.c (nsm_bad_ls_req), (nsm_seq_number_mismatch),
3070 (nsm_oneway_received): Fix bug of NSM state flapping between
3071 ExStart and Exchange.
3072
30732000-03-28 Toshiaki Takada <takada@zebra.org>
3074
3075 * ospf_packet.h (strcut ospf_header): Fix the size of ospf_header,
3076 change u_int8_t to u_char.
3077
30782000-03-27 Toshiaki Takada <takada@zebra.org>
3079
3080 * ospf_lsa.c (ospf_lsa_checksum): Take care of BIGENDIAN architecture.
3081
30822000-03-27 Toshiaki Takada <takada@zebra.org>
3083
3084 * ospfd.c (ospf_interface_run): Make sure Address family matches.
3085
30862000-03-26 Love <lha@s3.kth.se>
3087
3088 * ospf_packet.c (ospf_write): Chack result of sendto().
3089
30902000-03-26 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3091
3092 * ospf_nsm.c (nsm_oneway_received): Fix bug of 1-WayReceived in NSM.
3093
30942000-03-23 Libor Pechacek <farco@clnet.cz>
3095
3096 * ospf_lsa.c (ospf_network_lsa)
3097 * ospf_lsdb.c (new_lsdb_insert): Fix bug of accessing to
3098 unallocated memory.
3099
31002000-03-23 Toshiaki Takada <takada@zebra.org>
3101
3102 * ospfd.c (ospf_config_write): Fix bug of duplicate line for
3103 `area A.B.C.D authentication'.
3104
31052000-03-22 Toshiaki Takada <takada@zebra.org>
3106
3107 * ospf_debug.c (debug_ospf_lsa), (no_debug_ospf_lsa): Defun added.
3108 Suppress all zlog related to LSAs with this config option.
3109
31102000-03-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3111
3112 * ospf_nsm.c (ospf_nsm_event): Add check for NSM_InactivityTimer.
3113
31142000-03-21 Toshiaki Takada <takada@zebra.org>
3115
3116 * ospf_packet.c (ospf_ls_upd_timer), (ospf_ls_req):
3117 Fix bug of memory leak about linklist.
3118
3119 * ospf_flood.c (ospf_flood_through_area): Likewise.
3120
31212000-03-18 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3122
3123 * ospf_flood.c (ospf_ls_retransmit_lookup): Add checksum comparison
3124 to identify LSA uniquely. This fix routes lost.
3125
31262000-03-18 Toshiaki Takada <takada@zebra.org>
3127
3128 * ospf_ase.c (ospf_find_asbr_route): Add sanity check with router
3129 routing table.
3130
31312000-03-17 Alex Zinin <zinin@amt.ru>
3132
3133 * ospf_spf.[ch]: Bug fix.
3134 The 2nd stage of Dijkstra could consider one vertex
3135 more than once if there is more than one link
3136 between the routers, thus adding extra CPU overhead
3137 and extra next-hops.
3138 Fixed.
3139
31402000-03-15 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3141
3142 * ospf_nsm.c (nsm_inactivity_timer): Changed to call nsm_kill_nbr().
3143
31442000-03-14 Toshiaki Takada <takada@zebra.org>
3145
3146 * ospf_route.c (ospf_route_copy_nexthops): Fix bug of memory leak of
3147 ospf_path. Actually ignore merging ospf_route with completely same
3148 paths.
3149
31502000-03-12 Toshiaki Takada <takada@zebra.org>
3151
3152 * ospf_lsa.c (show_as_external_lsa_detail): fix bug of
3153 external route tag byte order.
3154
31552000-03-11 Toshiaki Takada <takada@zebra.org>
3156
3157 * ospf_lsdb.c (ospf_lsdb_insert): New function added.
3158
31592000-03-09 Toshiaki Takada <takada@zebra.org>
3160
3161 * ospf_lsa.c (ospf_external_lsa_install),
3162 (ospf_lsa_lookup), (show_ip_ospf_database_all),
3163 (show_ip_ospf_database_self_originate): Use struct new_lsdb for
3164 LSDB of AS-external-LSAs instead of ospf_lsdb.
3165
3166 * ospf_lsa.c (ospf_lsa_unique_id): New function added.
3167 Use for assigning Unique Link State ID instead of
3168 ospf_get_free_id_for_prefix().
3169
31702000-03-09 Toshiaki Takada <takada@zebra.org>
3171
3172 * ospf_ase.c (ospf_ase_calculate_timer): Fix bug of segmentation
3173 fault reported by George Bonser <george@siteROCK.com>.
3174
31752000-03-07 Libor Pechacek <farco@clnet.cz>
3176
3177 * ospfd.c (ospf_interface_down): Fix bug of segmentation fault.
3178
31792000-03-06 Toshiaki Takada <takada@zebra.org>
3180
3181 * ospf_route.c (ospf_route_cmp): Change meaning of return values.
3182
31832000-03-02 Alex Zinin <zinin@amt.ru>
3184 * ospfd.h, ospf_ia.h
3185 New Shortcut ABR code. Now area's flag can be configured
3186 with Default, Enable, and Disable values.
3187 More info will be in the new ver of I-D soon (see IETF web).
3188
31892000-02-25 Toshiaki Takada <takada@zebra.org>
3190
3191 * ospf_lsa.c (ospf_lsa_header_set), (ospf_external_lsa_body_set),
3192 (osfp_external_lsa_originate), (ospf_external_lsa_queue),
3193 (ospf_external_lsa_originate_from_queue): New function added.
3194 (ospf_external_lsa): Function removed.
3195
3196 * ospf_zebra.c (ospf_zebra_read_ipv4): Originate AS-external-LSA
3197 when listen a route from Zebra, instead creating external route.
3198
3199 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
3200 (ospf_asbr_route_add_queue_lsa),
3201 (ospf_asbr_route_install_lsa), (ospf_asbr_route_add):
3202 Functions removed.
3203
3204 * ospf_ase.c (process_ase_lsa): Function will not be used.
3205 (ospf_ase_calculate), (ospf_ase_calculate_route_add),
3206 (ospf_ase_calculate_new_route), (ospf_ase_caluculate_asbr_route):
3207 process_ase_lsa () is separated to these functions.
3208
3209 OSPF AS-external-LSA origination is whole re-organized.
3210
32112000-02-18 Toshiaki Takada <takada@zebra.org>
3212
3213 * ospf_packet.c (ospf_ls_upd): Fix bug of OSPF LSA memory leak.
3214
3215 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
3216 (ospf_asbr_route_add_queue_lsa): Fix bug of OSPF external route
3217 memory leak.
3218
32192000-02-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3220
3221 * ospf_asbr.c (ospf_asbr_route_install_lsa): Re-calculate LSA
3222 checksum after change Advertised Router field.
3223
32242000-02-09 Toshiaki Takada <takada@zebra.org>
3225
3226 * ospf_asbr.c (ospf_external_route_lookup): Add new function.
3227
32282000-02-08 Toshiaki Takada <takada@zebra.org>
3229
3230 * ospfd.c (ospf_router_id_get), (ospf_router_id_update),
3231 (ospf_router_id_update_timer): Router ID decision algorithm is changed.
3232 Router ID is chosen from all of eligible interface addresses even if
3233 it is not enable to OSPF.
3234
32352000-02-08 Toshiaki Takada <takada@zebra.org>
3236
3237 * ospf_asbr.c (ospf_asbr_route_add): Function divided to
3238 ospf_asbr_route_add_flood_lsa, ospf_asbr_route_add_queue_lsa and
3239 ospf_asbr_route_install_lsa. If Router-ID is not set, then LSA is
3240 waited to install to LSDB.
3241 `0.0.0.0 adv_router' AS-external-LSA origination bug was fixed.
3242
32432000-02-01 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3244
3245 * ospf_flood.c (ospf_ls_retransmit_lookup): Compare LS seqnum
3246 in the ACK before deleting.
3247
3248 * ospf_packet.c (ospf_hello): Reset the flags after a shutdown
3249 and no shutdown of the interface.
3250
32512000-01-31 Toshiaki Takada <takada@zebra.org>
3252
3253 * ospf_packet.c (ospf_ls_req): Send multiple Link State Update
3254 packets respond to a Link State Request packet.
3255
3256 * ospfd.c (show_ip_ospf_neighbor_detail_sub): Show thread state.
3257
3258 * ospf_interface.c (ospf_vl_new): Crash when backbone area
3259 is not configured and set virtual-link to no-backbone area,
3260 bug fixed.
3261
32622000-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3263
3264 * ospf_neighbor.h (struct ospf_neighbor): Add pointer to last send
3265 LS Request LSA.
3266
3267 * ospf_packet.c (ospf_ls_upd): Comment out LS request list
3268 treatment. That should be done in OSPF flooding procedure.
3269
3270 * ospf_flood.c (ospf_flood_through_area): Enclose
3271 ospf_check_nbr_loding inside if-else close.
3272
32732000-01-31 Toshiaki Takada <takada@zebra.org>
3274
3275 * ospf_packet.c (ospf_make_ls_upd): Fix bug of #LSAs counting.
3276
32772000-01-29 Toshiaki Takada <takada@zebra.org>
3278
3279 * ospf_packet.c (ospf_make_md5_digest): Fix bug of md5 authentication.
3280
32812000-01-28 Toshiaki Takada <takada@zebra.org>
3282
3283 * ospfd.c (show_ip_ospf): Show Number of ASE-LSAs.
3284
32852000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3286
3287 * ospf_packet.c (ospf_make_db_desc): Don't use rm_list for
3288 removing LSA from nbr->db_summary.
3289
32902000-01-27 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3291
3292 * ospf_packet.c (ospf_ls_upd_send): Set AllSPFRouters to
3293 destination when the link is point-to-point.
3294 (ospf_ls_ack_send_delayed): Likewise.
3295
32962000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3297
3298 * ospf_flood.c (ospf_ls_request_delete_all): Fix bug of next
3299 pointer lookup after the node is freed.
3300
33012000-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3302
3303 * ospf_asbr.c (ospf_asbr_route_add): Instead of scanning all AS
3304 external route, use ospf_top->external_self.
3305
33062000-01-27 Toshiaki Takada <takada@zebra.org>
3307
3308 * ospf_lsa.c (ospf_forward_address_get): New function added.
3309
3310 * ospf_asbr.c (ospf_asbr_check_lsas): Originate AS-external-LSA
3311 only when it should be replaced.
3312
33132000-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3314
3315 * ospf_flood.c (ospf_ls_retransmit_clear): Delete list node.
3316
3317 * ospf_lsa.c (ospf_lsa_free): Reduce logging message using
3318 ospf_zlog value.
3319
3320 * ospf_ism.c (ism_change_status): Fix bug of DR -> non DR status
3321 change. Self originated LSA is freed but not deleted from lsdb.
3322
33232000-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3324
3325 * ospf_ism.c (ism_interface_down): Don't use router_id for
3326 detecting self neighbor structure. Instead of that compare
3327 pointer itself.
3328
3329 * ospf_neighbor.c (ospf_nbr_free): Cancel all timer when neighbor
3330 is deleted.
3331 (ospf_nbr_free): Free last send packet.
3332
3333 * ospf_neighbor.h (struct ospf_neighbor): Remove host strucutre.
3334 Instead of that src is introduced.
3335
3336 * ospf_nsm.h: Enclose macro defenition with do {} while (0).
3337
33382000-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3339
3340 * ospfd.c: Change part of passive interface implementation. For
3341 passive interface just disabling sending/receiving Hello on the
3342 interface.
3343
33442000-01-16 Kai Bankett <kai.bankett@vew-telnet.net>
3345
3346 * ospf_interface.h (OSPF_IF_PASSIVE): Add passive flag.
3347 * ospf_interface.c (ospf_if_lookup_by_name): Add new function.
3348 * ospf_lsa.c (ospf_router_lsa): Skip passive interface.
3349 * ospfd.c (passive_interface): New command passive-interface is
3350 added.
3351 (ospf_config_write): Print passive interface.
3352
33532000-01-15 Toshiaki Takada <takada@zebra.org>
3354
3355 * ospf_interface.h (crypt_key): New struct added to store
3356 multiple cryptographic autheitication keys.
3357 (ospf_interface): struct changed.
3358
3359 * ospf_interface.c: ospf_crypt_key_new, ospf_crypt_key_add,
3360 ospf_crypt_key_lookup, ospf_crypt_key_delete: new functions added.
3361
3362 * ospf_packet.c (ip_ospf_message_digest_key): Changed to store
3363 multiple cryptographic authentication keys.
3364
33652000-01-14 Toshiaki Takada <takada@zebra.org>
3366
3367 * ospf_interface.c: DEFUN (if_ospf_*) commands changed name to
3368 ip_ospf_* ().
3369 Old notation `ospf *' still remains backward compatibility.
3370
33711999-12-29 Alex Zinin <zinin@amt.ru>
3372 * ospf_lsa.c: ospf_lsa_more_recent() bug fix
3373 * ospf_nsm.c, ospf_packet.c: remove nbr data struct when
3374 int goes down, also check DD flags correctly (bug fix)
3375
33761999-12-28 Alex Zinin <zinin@amt.ru>
3377 * "redistribute <source> metric-type (1|2) metric <XXX>" added
3378
33791999-12-23 Alex Zinin <zinin@amt.ru>
3380 * added RFC1583Compatibility flag
3381 * added dynamic interface up/down functionality
3382
33831999-11-19 Toshiaki Takada <takada@zebra.org>
3384
3385 * ospf_neighbor.h (struct ospf_neighbor): Add member state_change
3386 for NSM state change statistics.
3387
33881999-11-19 Toshiaki Takada <takada@zebra.org>
3389
3390 * ospfd.c (show_ip_ospf_neighbor_detail),
3391 (show_ip_ospf_neighbor_int_detail): DEFUN Added.
3392
33931999-11-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3394
3395 * ospf_asbr.c (ospf_asbr_check_lsas): Add check of
3396 lsa->refresh_list.
3397
33981999-11-11 Toshiaki Takada <takada@zebra.org>
3399
3400 * ospf_ia.[ch] (OSPF_EXAMINE_SUMMARIES_ALL): Macro added.
3401 This macro is expanded to ospf_examine_summaries ()
3402 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3403 (OSPF_EXAMINE_TRANSIT_SUMMARIES_ALL): Macro added.
3404 This macro is expanded to ospf_examine_transit_summaries ()
3405 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3406
34071999-11-11 Toshiaki Takada <takada@zebra.org>
3408
3409 * ospf_lsa.[ch] (ospf_find_self_summary_lsa_by_prefix): Changed to
3410 macro OSPF_SUMMARY_LSA_SELF_FIND_BY_PREFIX.
3411 (ospf_find_self_summary_asbr_lsa_by_prefix): Changed to
3412 macro OSPF_SUMMARY_ASBR_LSA_SELF_FIND_BY_PREFIX.
3413 (ospf_find_self_external_lsa_by_prefix): Changed to
3414 macro OSPF_EXTERNAL_LSA_SELF_FIND_BY_PREFIX.
3415
34161999-11-11 Toshiaki Takada <takada@zebra.org>
3417
3418 * ospfd.c (ospf_abr_type): ospf_abr_type_cisco, ospf_abr_type_ibm,
3419 ospf_abr_type_shortcut and ospf_abr_type_standard DEFUNs are
3420 combined.
3421 * ospfd.c (no_ospf_abr_type): no_ospf_abr_type_cisco,
3422 no_ospf_abr_type_ibm and no_ospf_abr_type_shortcut DEFUNS are
3423 combined.
3424
34251999-11-10 Toshiaki Takada <takada@zebra.org>
3426
3427 * ospf_route.c (ospf_lookup_int_by_prefix): Move function to
3428 ospf_interface.c and change name to ospf_if_lookup_by_prefix ().
3429
34301999-11-01 Alex Zinin <zinin@amt.ru>
3431 * ospf_packet.c
3432 some correction to LSU processing
3433
3434 * ospf_lsa.c ospfd.h
3435 randomize initial LSA refreshment interval
3436 and limit the size of LSA-group to 10
3437 to let randomization work more effectively.
3438
34391999-10-31 Alex Zinin <zinin@amt.ru>
3440 * ospf_interface.c
3441 cancel t_network_lsa_self
3442 when freeing int structure
3443
3444 * ospf_abr.c ospf_asbr.c ospf_flood.c ospf_lsa.c
3445 ospf_lsa.h ospf_lsdb.h ospfd.c ospfd.h
3446
3447 Summary and ASE LSA refreshment functions
3448 added---LSA refreshment is paced to 70 LSAs
3449 per sec to avoid link overflow. Refreshment events
3450 are further randomized within a 10 sec interval
3451 to avoid syncing.
3452
3453 Also the sigfault of memcmp() in ospf_lsa_is_different()
3454 is fixed.
3455
34561999-10-30 Alex Zinin <zinin@amt.ru>
3457 * ospf_nsm.c
3458 Fix the bug where MAX_AGE LSAs
3459 are included into the DB summary.
3460
3461 * ospf_interface.c
3462 allocate 2*MTU input buffer instead of just MTU
3463 for the cases when the other router mistakenly
3464 sends larger packets thus causing fragmentation, etc.
3465
3466 * ospf_nsm.c
3467 in nsm_reset_nbr() lists should be freed
3468 not when they are empty.
3469
34701999-10-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3471
3472 * ospf_zebra.c (ospf_acl_hook): Move OSPF_IS_ASBR and OSPF_IS_ABR
3473 check inside of if (ospf_top).
3474
34751999-10-29 Alex Zinin <zinin@amt.ru>
3476 * ospf_lsa.c ospf_lsdb.c :
3477 add assertion in lsa and lsa->data alloc functions,
3478 as well as in lsdb_add for new->data
3479
3480 * ospf_lsdb.c: free hash table correctly
3481
34821999-10-28 John Capo <jc@irbs.com>
3483
3484 * ospf_packet.h (OSPF_PACKET_MAX): Correct MAX packet length
3485 calculation
3486
34871999-10-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3488
3489 * OSPF-TRAP-MIB.txt: New file added. Edited version of RFC1850.
3490
3491 * OSPF-MIB.txt: New file added. Edited version of RFC1850.
3492
34931999-10-27 Alex Zinin <zinin@amt.ru>
3494 * ospfd, ospf_zebra, ospf_abr
3495 "area import-list" command is added.
3496 This command allows to filter the inter-area routes
3497 injected into an area. Access list hook function
3498 extended to invalidate area exp/imp lists.
3499
35001999-10-25 Yoshinobu Inoue <shin@nd.net.fujitsu.co.jp>
3501
3502 * ospfd.c (ospf_interface_run): Enable to detect P2P network
3503 on an OSPF interface.
3504
35051999-10-19 Jordan Mendelson <jordy@wserv.com>
3506
3507 * ospf_lsdb.c (ospf_lsdb_add): Fix bug of crash
3508 in ospf_ls_retransmit_lookup ().
3509
35101999-10-19 Vladimir B. Grebenschikov <vova@express.ru>
3511
3512 * ospf_route.c: Workaround about installation of OSPF routes into
3513 the zebra daemon. Add checking of existance routes. Free
3514 ospf_top->old_table if it exists.
3515
35161999-10-15 Jordan Mendelson <jordy@wserv.com>
3517
3518 * Add support for MD5 authentication.
3519
35201999-10-12 Alex Zinin <zinin@amt.ru>
3521 * ospfd.c, ospfd.h, ospf_abr.c:
3522 a new command "area export-list" was added, it allows
3523 the admin. to control which intra-area routes are
3524 announced to other areas by the ABR
3525
35261999-10-12 Alex Zinin <zinin@amt.ru>
3527 * ospf_asbr.c (ospf_asbr_check_lsas): Fix bug of coredump
3528 when "no redistribute" is used after a distribute list
3529 denying some networks was used
3530
35311999-10-05 Toshiaki Takada <takada@zebra.org>
3532
3533 * ospf_route.c (ospf_path_dup): New function added.
3534
35351999-10-05 Toshiaki Takada <takada@zebra.org>
3536
3537 * ospf_interface.[ch]: Some of VL related funciton name changed.
3538
35391999-09-27 Alex Zinin <zinin@amt.ru>
3540
3541 * ospf_zebra.c: Distribute-list functionality added
3542
35431999-09-27 Toshiaki Takada <takada@zebra.org>
3544
3545 * ospfd.c (show_ip_ospf): Fix bug of segmentation fault when no ospf
3546 instance exists.
3547
35481999-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3549
3550 * ospfd.c (ospf_interface_down): Fix bug of misusing nextnode()
3551 instead of node->next. Reported by Hiroki Ishibashi
3552 <ishibasi@dcd.abk.nec.co.jp>.
3553
3554 * ospf_route.c (show_ip_ospf_route): Add check for ospf is enabled
3555 or not.
3556
35571999-09-23 Alex Zinin <zinin@amt.ru>
3558
3559 * stub area support added
3560
35611999-09-23 Alex Zinin <zinin@amt.ru>
3562
3563 * fwd_addr in ASE-LSAs is now set correctly
3564 * ASE routing changed to check the fwd_addr
3565 and skip the route if the addr points to one
3566 of our interfaces to avoid loops.
3567
35681999-09-22 Alex Zinin <zinin@amt.ru>
3569
3570 * ospf_interface:
3571 ospf_vls_in_area() added, it returns
3572 the number of VLs configured through the area
3573
3574 * ospf_interface.c ospf_lsa.c ospf_lsdb.c ospfd.c
3575 honor correct mem alloc
3576
35771999-09-22 Alex Zinin <zinin@amt.ru>
3578
3579 * memory.[ch]:
3580 Some OSPF mem types added,
3581 plus more info in "show mem"
3582
35831999-09-21 Alex Zinin <zinin@amt.ru>
3584
3585 * ospfd.c:
3586 "area range substitute" added.
3587 It can be used on NAT-enabled (IP-masquarade)
3588 routers to announce private networks
3589 from an area as public ones into the outside
3590 world (not in the RFC, btw :)
3591
35921999-09-21 Alex Zinin <zinin@amt.ru>
3593
3594 * ospfd.c:
3595 "area range suppress" added.
3596 This command allows to instruct the router
3597 to be silent about specific ranges, i.e.,
3598 it is a method of route filtering on area
3599 borders
3600
36011999-09-21 Alex Zinin <zinin@amt.ru>
3602
3603 * ospfd.c VLs removed when "no network area" executed
3604
36051999-09-20 Alex Zinin <zinin@amt.ru>
3606
3607 * ospf_ase.c bug fix for not-zero fwd_addr
3608 and directly connected routes.
3609
36101999-09-20 Yon Uriarte <yon@plannet.de>
3611
3612 * ospf_packet.c (ospf_make_ls_req): Introduce delta value for
3613 checking the length of OSPF packet exceeds MTU or not.
3614
3615 * ospf_lsa.c (ospf_lsa_different): Apply ntohs for checking
3616 l1->data->length.
3617
36181999-09-18 Alex Zinin <zinin@amt.ru>
3619
3620 * ospf_lsa.c bug fix for ospf_network_lsa() to
3621 include itself into the RID list
3622
36231999-09-10 Alex Zinin <zinin@amt.ru>
3624
3625 * Alternative ABR behaviors IBM/Cisco/Shortcut
3626 implemented
3627
36281999-09-10 Alex Zinin <zinin@amt.ru>
3629
3630 * router and network-LSA origination
3631 changed to honor MinLSInterval
3632
36331999-09-08 Alex Zinin <zinin@amt.ru>
3634
3635 * modified ABR behavior to honor VLs and transit
3636 areas
3637
36381999-09-07 Alex Zinin <zinin@amt.ru>
3639
3640 * completed VL functionality
3641
36421999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3643
3644 * ospf_asbr.c: New file.
3645 ospf_asbr.h: New file.
3646
3647 * ospf_zebra.c (ospf_redistribute_connected): Add redistribute
3648 related stuff.
3649
36501999-09-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3651
3652 * ospfd.h (OSPF_FLAG_VIRTUAL_LINK): Change OSPF_FLAG_VEND to
3653 OSPF_FLAG_VIRTUAL_LINK for comprehensiveness.
3654
36551999-09-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3656
3657 * ospf_spf.c (ospf_spf_register): Change name from
3658 ospf_spf_route_add() to ospf_spf_register().
3659 Include "ospfd/ospf_abr.h" for ospf_abr_task() prototype.
3660
36611999-09-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3662
3663 * ospf_lsa.c (ospf_external_lsa_install): Change to update
3664 lsa->data rather than install new one, when same id lsa is already
3665 installed.
3666
36671999-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3668
3669 * ospf_lsa.c (ospf_router_lsa_install): Return lsa value.
3670 (ospf_network_lsa_install): Likewise.
3671 (ospf_summary_lsa_install): Likewise.
3672 (ospf_summary_asbr_lsa_install): Likewise.
3673 (ospf_external_lsa_install): Likewise.
3674
3675 * ospf_spf.c (ospf_spf_calculate): Comment out debug function
3676 ospf_rtrs_print().
3677
36781999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3679
3680 * ospf_spf.c (ospf_rtrs_free): Add ospf_spf_calculate() for
3681 freeing rtrs.
3682
36831999-08-31 Toshiaki Takada <takada@zebra.org>
3684
3685 * ospf_lsa.c (show_ip_ospf_database_summary),
3686 (show_ip_ospf_database_summary_asbr),
3687 (show_ip_ospf_database_external): New function added.
3688 `show ip ospf database summary',
3689 `show ip ospf database asbr-summary'
3690 `show ip ospf database external' command can be used.
3691
3692 * ospf_lsa.c (ospf_lsa_count_table): New function added.
3693 (show_ip_ospf_database_all): show nothing if a type of LSA
3694 does not exist.
3695
36961999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3697
3698 * ospf_lsa.c (ospf_maxage_lsa_remover): Preserve next pointer when
3699 the node is deleted.
3700
37011999-08-31 Toshiaki Takada <takada@zebra.org>
3702
3703 * ospf_flood.c (ospf_ls_retransmit_lookup): change to return
3704 struct ospf_lsa *.
3705 (ospf_ls_request_new), (ospf_ls_request_free),
3706 (ospf_ls_request_add), (ospf_ls_request_delete),
3707 (ospf_ls_request_delete_all), (ospf_ls_request_lookup):
3708 New function added.
3709
3710 * ospf_packet.c (ospf_ls_upd_send_lsa): New function added.
3711
3712 * ospf_lsa.h (LS_AGE): Slightly change macro definition.
3713
3714 * ospf_lsa.c (ospf_lsa_more_recent), (ospf_lsa_diffrent):
3715 Use LS_AGE macro.
3716
37171999-08-30 Alex Zinin <zinin@amt.ru>
3718
3719 * ospfd.c
3720 fix a bug with area range config write
3721 added "show ip ospf" command, it will be enhanced later on
3722
37231999-08-30 Alex Zinin <zinin@amt.ru>
3724
3725 * ospf_lsa.c
3726 updated ospf_router_lsa() to honor flags (B-bit)
3727
37281999-08-30 Alex Zinin <zinin@amt.ru>
3729
3730 * ospf_abr.c
3731 wrote major functions implementing ABR activity
3732
37331999-08-30 Alex Zinin <zinin@amt.ru>
3734
3735 * ospf_ia.c ospf_route.c ospf_route.h
3736 fixed the bug with ospf_route.origin field.
3737 Now it holds pointer to lsa_header
3738
37391999-08-30 Alex Zinin <zinin@amt.ru>
3740
3741 * ospf_flood.c ospf_flood.h:
3742 transformed ospf_flood_if_select into ospf_flood_through_area()
3743 added new ospf_flood_if_select() and ospf_flood_through_as()
3744
37451999-08-30 Toshiaki Takada <takada@zebra.org>
3746
3747 * ospf_flood.[ch]: New file added.
3748
3749 * ospf_packet.c (ospf_lsa_flooding),
3750 (ospf_lsa_flooding_select_if): functions move to ospf_flood.c
3751
3752 * ospf_neighbor.c (ospf_put_lsa_on_retransm_list),
3753 (ospf_remove_lsa_from_retransm_list),
3754 (ospf_nbr_remove_all_lsas_from_retransm_list),
3755 (ospf_lsa_remove_from_ls_retransmit):
3756 (ospf_lsa_retransmit): functions move to
3757 ospf_flood.c, and change function's name:
3758
3759 ospf_put_lsa_on_retransm_list ()
3760 -> ospf_ls_retransmit_add ()
3761 ospf_remove_lsa_from_retransm_list ()
3762 -> ospf_ls_retransmit_delete ()
3763 ospf_nbr_remove_all_lsas_from_retransm_list ()
3764 -> ospf_ls_retransmit_clear ()
3765 ospf_lsa_remove_from_ls_retransmit ()
3766 -> ospf_ls_retransmit_delete_nbr_all ()
3767 ospf_lsa_retransmit ()
3768 -> ospf_ls_retransmit_add_nbr_all ()
3769
3770 * ospf_lsa.c (ospf_lsa_lookup_from_list): function move to
3771 ospf_flood.c, and change name to ospf_ls_retransmit_lookup ().
3772
37731999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3774
3775 * ospf_neighbor.c (ospf_nbr_lookup_by_addr): Use
3776 route_node_lookup() instead of route_node_get().
3777
3778 * ospf_packet.c (ospf_ls_upd): Temporary comment out (6) check.
3779
37801999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3781
3782 * ospf_route.c (ospf_lookup_int_by_prefix): Add check of
3783 oi->address.
3784
37851999-08-29 Alex Zinin <zinin@amt.ru>
3786 * ospf_lsa.c
3787 MaxAge LSA deletion functions added.
3788
37891999-08-29 Alex Zinin <zinin@amt.ru>
3790 * ospf_neighbor.c
3791 ospf_nbr_lookup_by_addr(): added route_unlock_node()
3792 when function returns NULL if (rn->info == NULL)
3793
37941999-08-29 Alex Zinin <zinin@amt.ru>
3795 * ospfd.c
3796 added a hack for area range deletion
3797
37981999-08-29 Alex Zinin <zinin@amt.ru>
3799 * ospf_lsa.h
3800 included lsdb field into struct ospf_lsa, to find
3801 LSDB easier when removing MaxAge LSAs.
3802
38031999-08-29 Alex Zinin <zinin@amt.ru>
3804 * ospf_lsa.c ospf_neighbor.c ospf_nsm.c
3805 ospf_packet.c changed to honor new retransmit list
3806 management functions
3807
38081999-08-29 Alex Zinin <zinin@amt.ru>
3809 * ospf_neighbor.c , .h added new retransmit list functions.
3810
38111999-08-29 Alex Zinin <zinin@amt.ru>
3812 * Makefile.in
3813 added ospf_ase, ospf_abr, ospf_ia
3814
38151999-08-29 Alex Zinin <zinin@amt.ru>
3816 * ospf_spf.c:
3817 - changed ospf_next_hop_calculation() to include interface
3818 and nexthop addr for directly connected routers---more informative
3819 and solves problem with route installation into the kernel
3820 - changed ospf_nexthop_out_if_addr() to support routers, not only
3821 transit networks
3822 - added ospf_process_stubs();
3823
38241999-08-29 Alex Zinin <zinin@amt.ru>
3825 * ospf_lsa.c:
3826 - changed ospf_router_lsa() to provide correct links
3827 for p-t-p interfaces;
3828 - changed ospf_summary_lsa_install() to support table
3829 of self-originated summary-LSAs;
3830 - added ospf_summary_asbr_lsa_install() and ospf_external_lsa_install()
3831 - changed ospf_lsa_install() accordingly
3832 - changed show_ip_ospf_database_router_links() to support p-t-p
3833
38341999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3835
3836 * ospf_packet.c (ospf_make_db_desc): Only master can clear more
3837 flag.
3838
38391999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3840
3841 * ospf_packet.c (ospf_read): Add check of IP src address.
3842
38431999-08-28 Alex Zinin <zinin@amt.ru>
3844 * ospf_neighbor.h
3845 added ospf_nbr_lookup_by_routerid()
3846
38471999-08-28 Alex Zinin <zinin@amt.ru>
3848 * ospfd.h
3849 added ABR/ASBR flag definitions and fields;
3850 added iflist field to area structure;
3851 summary_lsa_self and summary_lsa_asbr_self are changed
3852 to be route tables;
3853 added ranges field---configured area ranges;
3854 A separate Routers RT added;
3855 area range config commands and config write added
3856
3857
38581999-08-28 Alex Zinin <zinin@amt.ru>
3859 * ospf_route.c :
3860 ospf_route_free()--added code to free the list of paths;
3861 The following functions added:
3862 ospf_intra_add_router();
3863 ospf_intra_add_transit();
3864 ospf_intra_add_stub();
3865 the last function uses new ospf_int_lookup_by_prefix();
3866 show_ip_ospf_route_cmd()--changed to support new RT structure;
3867 added ospf_cmp_routes()--general route comparision function;
3868 added ospf_route_copy_nexthops() and ospf_route_copy_nexthops_from_vertex()
3869 they are used in ASE and IA routing;
3870 added ospf_subst_route() and ospf_add_route();
3871
38721999-08-28 Alex Zinin <zinin@amt.ru>
3873 * ospf_route.h :
3874 changed struct ospf_path to include output interface,
3875 changed struct ospf_route to support IA and ASE routing.
3876 added prototypes of the function used in IA and ASE modules.
3877
38781999-08-28 Alex Zinin <zinin@amt.ru>
3879 * ospf_lsa.h ospf_lsa.c :
3880 added ospf_my_lsa(), an interface independent version of
3881 ospf_lsa_is_self_originated(), it will be used in ASE and IA-routing.
3882
38831999-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3884
3885 * ospf_interface.c (interface_config_write): Add check for
3886 oi->nbr_self.
3887
38881999-08-25 Toshiaki Takada <takada@zebra.org>
3889
3890 * ospf_lsa.c (ospf_lsa_dup): New function added.
3891
3892 * ospf_packet.c (ospf_write), (ospf_read): Print send/recv
3893 interface in debug message.
3894
38951999-08-25 Toshiaki Takada <takada@zebra.org>
3896
3897 * ospf_packet.c (ospf_ls_ack_send): The name is changed from
3898 `ospf_ls_ack_send'.
3899 (ospf_ls_ack_send_delayed) (ospf_ls_ack_timer): New function added.
3900 Delayed Link State Acknowledgment is scheduled by timer.
3901
39021999-08-25 Alex Zinin <zinin@amt.ru>
3903
3904 * ospf_lsa.c (ospf_router_lsa): Incorrectly included link to
3905 a stub network instead of link to a transit network into
3906 originated router-LSA, bug fixed.
3907
39081999-08-24 Toshiaki Takada <takada@zebra.org>
3909
3910 * ospfd.c (ospf_update_router_id): New function added.
3911
3912 * ospf_network.c (ospf_write): Create new socket per transmission.
3913 And select outgoing interface whether dst is unicast or multicast.
3914
3915 * ospf_packet.c: LSA flooding will work.
3916
39171999-08-24 VOP <vop@unity.net>
3918
3919 * ospf_route.c: Include "sockunion.h"
3920
39211999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3922
3923 * ospf_network.c (ospf_serv_sock_init): Enclose
3924 IPTOS_PREC_INTERNETCONTROL setting with #ifdef for OS which does
3925 not have the definition.
3926
39271999-08-23 Toshiaki Takada <takada@zebra.org>
3928
3929 * ospf_packet.c: Fix bug of DD processing.
3930
39311999-08-18 Toshiaki Takada <takada@zebra.org>
3932
3933 * ospf_lsa.c (show_ip_ospf_database): Show actual `LS age'.
3934
39351999-08-17 Toshiaki Takada <takada@zebra.org>
3936
3937 * ospf_lsa.h (OSPF_MAX_LSA): The value of OSPF_MAX_LSA is
3938 corrected. The bug of `mes_lookup' is fixed.
3939 This had been reported by Poul-Henning Kamp <phk@freebsd.org>.
3940
3941 * ospf_lsa.c (ospf_router_lsa_install): The name is changed from
3942 `ospf_add_router_lsa'.
3943 (ospf_network_lsa_install): The name is changed from
3944 `ospf_add_network_lsa'.
3945
3946 * ospf_interface.h (ospf_interface): Add member `nbr_self'.
3947
3948 * ospf_interface.c (ospf_if_is_enable): New function added.
3949
39501999-08-16 Toshiaki Takada <takada@zebra.org>
3951
3952 * ospf_lsa.h (struct lsa_header): The name is changed from
3953 `struct ospf_lsa'.
3954 (struct ospf_lsa): New struct added to control each LSA's aging
3955 and timers.
3956
3957 * ospf_lsa.c (ospf_lsa_data_free): The name is change from
3958 `ospf_lsa_free'.
3959 (ospf_lsa_data_new), (ospf_lsa_new), (ospf_lsa_free),
3960 (ospf_lsa_different), (ospf_lsa_install): New function added.
3961
3962 * ospf_packet.c (ospf_ls_upd_list_lsa): New function added.
3963
39641999-08-12 Toshiaki Takada <takada@zebra.org>
3965
3966 * ospf_nsm.c (nsm_reset_nbr): New function added.
3967 KillNbr and LLDown neighbor event call this function.
3968
39691999-08-10 Toshiaki Takada <takada@zebra.org>
3970
3971 * ospf_packet.c (ospf_ls_retransmit)
3972 (ospf_ls_upd_timer): New function added.
3973 Set retransmission timer for Link State Update.
3974
39751999-07-29 Toshiaki Takada <takada@zebra.org>
3976
3977 * ospf_ism.c (ospf_dr_election): Fix bug of DR election.
3978
39791999-07-28 Toshiaki Takada <takada@zebra.org>
3980
3981 * ospf_network.c (ospf_serv_sock_init): Set IP precedence field
3982 with IPTOS_PREC_INTERNET_CONTROL.
3983
3984 * ospf_nsm.c (nsm_change_status): Schedule NeighborChange event
3985 if NSM status change.
3986
3987 * ospf_packet.c (ospf_make_hello): Never include a neighbor in
3988 Hello packet, when the neighbor goes down.
3989
39901999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3991
3992 * Makefile.am (noinst_HEADERS): Add ospf_route.h.
3993
3994 * ospf_route.c (show_ip_ospf_route): Add `show ip ospf route'
3995 command.
3996
39971999-07-25 Toshiaki Takada <takada@zebra.org>
3998
3999 * ospf_lsa.c (ospf_router_lsa): Fix bug of LS sequence number
4000 assignement.
4001
40021999-07-25 Kunihiro Ishiguro <kunihiro@zebra.org>
4003
4004 * ospf_route.c (ospf_route_table_free): New function added.
4005
4006 * ospf_spf.c (ospf_spf_next): Free vertex w when cw's and w's
4007 distance is same.
4008
4009 * ospfd.h (struct ospf): Add old_table.
4010
4011 * ospf_main.c (sighup): Call of log_rotate () removed.
4012
4013 * ospf_lsa.c (ospf_lsa_is_self_originated): Fix bug of checking
4014 area->lsa as self LSA. This should be area->lsa_self.
4015
40161999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
4017
4018 * ospf_zebra.c (ospf_zebra_add): ospf_zebra_add
4019 (),ospf_zebra_delete () added.
4020
4021 * ospf_spf.c (ospf_spf_calculate): Call ospf_intra_route_add ().
4022
40231999-07-24 Toshiaki Takada <takada@zebra.org>
4024
4025 * ospf_lsa.c: Change LS sequence number treatment.
4026 (ospf_lsa_is_self_originated): New function added.
4027 (show_ip_ospf_database_self_originated): New DEFUN added.
4028
40291999-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4030
4031 * ospf_interface.c (ospf_if_lookup_by_addr): Add loopback check.
4032
40331999-07-22 Toshiaki Takada <takada@zebra.org>
4034
4035 * ospf_spf.c (ospf_nexthop_new), (ospf_nexthop_free),
4036 (ospf_nexthop_dup): function added.
4037 (ospf_nexthop_calculation): function changed.
4038
4039 * ospf_interface.c (ospf_if_lookup_by_addr): function added.
4040
40411999-07-21 Toshiaki Takada <takada@zebra.org>
4042
4043 * ospf_spf.c (ospf_spf_closest_vertex): function removed.
4044
40451999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
4046
4047 * ospf_spf.c (ospf_spf_next): Apply ntohs for fetching metric.
4048
40491999-07-21 Toshiaki Takada <takada@zebra.org>
4050
4051 * ospf_neighbor.c (ospf_nbr_lookup_by_router_id): fundtion removed.
4052
4053 * ospf_lsa.c (show_ip_ospf_database_router): describe each
4054 connected link.
4055
40561999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
4057
4058 * ospf_spf.c (ospf_spf_next): V is router LSA or network LSA so
4059 change behavior according to LSA type.
4060 (ospf_lsa_has_link): Link check function is added.
4061
40621999-07-20 Kunihiro Ishiguro <kunihiro@zebra.org>
4063
4064 * ospf_spf.c (ospf_spf_calculate_schedule): Add new function for
4065 SPF calcultion schedule addtition.
4066 (ospf_spf_calculate_timer_add): Rough 30 sec interval SPF calc
4067 timer is added.
4068 (ospf_spf_next_router): Delete ospf_spf_next_network ().
4069
4070 * ospf_lsa.c (show_ip_ospf_database_all): Network-LSA display
4071 header typo correction. Display of router LSA's #link added.
4072
40731999-07-19 Toshiaki Takada <takada@zebra.org>
4074
4075 * ospf_packet.c (ospf_check_network_mask): Added new function for
4076 receiving Raw IP packet on an appropriate interface.
4077
40781999-07-16 Toshiaki Takada <takada@zebra.org>
4079
4080 * ospfd.c (ospf_router_id): new DEFUN added.
4081
40821999-07-15 Toshiaki Takada <takada@zebra.org>
4083
4084 * ospf_spf.c (ospf_spf_init), (ospf_spf_free),
4085 (ospf_spf_has_vertex), (ospf_vertex_lookup),
4086 (ospf_spf_next_router), (ospf_spf_next_network),
4087 (ospf_spf_closest_vertex), (ospf_spf_calculate):
4088 function added.
4089
40901999-07-13 Toshiaki Takada <takada@zebra.org>
4091
4092 * ospf_ism.c: fix bug of DR Election.
4093
4094 * ospf_nsm.c: fix bug of adjacency forming.
4095
40961999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
4097
4098 * ospfd.c (ospf_init): Change to use install_default.
4099
41001999-07-01 Rick Payne <rickp@rossfell.co.uk>
4101
4102 * ospf_zebra.c (zebra_init): Install standard commands to
4103 ZEBRA_NODE.
4104
41051999-06-30 Toshiaki Takada <takada@zebra.org>
4106
4107 * ospf_dump.c: Whole debug command is improved.
4108 (ISM|NSM) (events|status|timers) debug option added.
4109 (show_debugging_ospf): new DEFUN added.
4110
41111999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4112
4113 * ospf_lsa.c (ospf_lsa_lookup_from_list): Change !IPV4_ADDR_CMP to
4114 IPV4_ADDR_SAME.
4115
41161999-06-29 Toshiaki Takada <takada@zebra.org>
4117
4118 * ospf_dump.c (ospf_summary_lsa_dump): Add summary-LSA dump routine.
4119 (ospf_as_external_lsa_dump): Add AS-external-LSA dump routine.
4120
4121 * ospf_nsm.c (nsm_twoway_received): fix condtion of adjacnet.
4122
4123 * ospf_ism.c (ospf_dr_election): fix DR Election.
4124
4125 * ospf_dump.c (ospf_nbr_state_message): fix `show ip ospf neighbor'
4126 command's state.
4127
41281999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4129
4130 * ospf_dump.c (ospf_router_lsa_dump): Add router-LSA dump routine.
4131
41321999-06-28 Toshiaki Takada <takada@zebra.org>
4133
4134 * ospf_lsa.c (show_ip_ospf_database_network): fix bug of
4135 `show ip ospf database network' command output.
4136
4137 * ospf_nsm.c (nsm_inactivity_timer): Clear list of Link State
4138 Retransmission, Database Summary and Link State Request.
4139
4140 * ospf_packet.c (ospf_ls_req_timer): New function added.
4141 Set Link State Request retransmission timer.
4142
41431999-06-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4144
4145 * ospf_main.c (main): Change default output from ZLOG_SYSLOG to
4146 ZLOG_STDOUT.
4147
4148 * ospfd.c (ospf_init): Register show_ip_ospf_interface_cmd and
4149 show_ip_ospf_neighbor_cmd to VIEW_NODE.
4150
4151 * ospf_lsa.c (ospf_lsa_init): Register show_ip_ospf_database_cmd
4152 and show_ip_ospf_database_type_cmd to VIEW_NODE.
4153
41541999-06-25 Toshiaki Takada <takada@zebra.org>
4155
4156 * ospf_packet.c: fix bug of DD making.
4157 fix bug of LS-Update reading.
4158
41591999-06-23 Toshiaki Takada <takada@zebra.org>
4160
4161 * ospf_packet.c: All type of packets are changed to use
4162 fifo queue structure.
4163 (ospf_fill_header) function added.
4164
41651999-06-22 Toshiaki Takada <takada@zebra.org>
4166
4167 * ospf_packet.c (ospf_packet_new): New function added to handle
4168 sending ospf packet by fifo queue structure.
4169 (ospf_packet_free), (ospf_fifo_new), (ospf_fifo_push),
4170 (ospf_fifo_pop), (ospf_fifo_head), (ospf_fifo_flush),
4171 (ospf_fifo_free): Likewise.
4172
41731999-06-21 Toshiaki Takada <takada@zebra.org>
4174
4175 * ospf_nsm.c (ospf_db_desc_timer): function added.
4176 (nsm_timer_set) function added.
4177 * ospf_dump.c (ospf_option_dump): function added.
4178 * ospf_packet.c (ospf_ls_req) (ospf_make_ls_req): function added.
4179
41801999-06-20 Toshiaki Takada <takada@zebra.org>
4181
4182 * ospf_lsa.c (ospf_lsa_more_recent): function added.
4183 * ospf_neighbor.h (struct ospf_neighbor): Change member ms_flag
4184 to dd_flags.
4185
41861999-06-19 Toshiaki Takada <takada@zebra.org>
4187
4188 * ospf_lsa.c: DEFUN (show_ip_ospf_database) Added.
4189 * ospf_interface.c (if_ospf_cost), (if_ospf_dead_interval),
4190 (if_ospf_hello_interval), (if_ospf_priority),
4191 (if_ospf_retransmit_interval), (if_ospf_transmit_delay)
4192 argument changed from NUMBER to <range>.
4193 DEFUN (if_ospf_network_broadcast),
4194 DEFUN (if_ospf_network_non_broadcast),
4195 DEFUN (if_ospf_network_point_to_multipoint),
4196 DEFUN (if_ospf_network_point_to_point) functions are combined to
4197 DEFUN (if_ospf_network).
4198
41991999-06-18 Toshiaki Takada <takada@zebra.org>
4200
4201 * ospf_lsa.c: ospf_add_router_lsa (), ospf_add_network_lsa (),
4202 ospf_lsa_lookup (), ospf_lsa_count () Added.
4203
42041999-06-15 Toshiaki Takada <takada@zebra.org>
4205
4206 * DEFUN (ospf_debug_ism), DEFUN (ospf_debug_nsm),
4207 DEFUN (no_ospf_debug_ism), DEFUN (no_ospf_debug_nsm) Added.
4208 `debug ospf ism' command shows debug message.
4209 `debuf ospf nsm' command shows debug message.
4210
42111999-06-14 Toshiaki Takada <takada@zebra.org>
4212
4213 * ospf_lsa.c: ospf_network_lsa () Added.
4214 ospf_lsa_checksum () Added.
4215 * DEFUN (ospf_debug_packet), DEFUN (no_ospf_debug_packet) Added.
4216 `debug ospf packet' command shows debug message.
4217
42181999-06-13 Toshiaki Takada <takada@zebra.org>
4219
4220 * ospf_packet.h: Remove struct ospf_ls_req {}, ospf_ls_upd {},
4221 ospf_ls_ack {}.
4222
42231999-06-11 Toshiaki Takada <takada@zebra.org>
4224
4225 * ospf_dump.c: fix IP packet length treatment.
4226
42271999-06-10 Toshiaki Takada <takada@zebra.org>
4228
4229 * ospf_ism.h: Add OSPF_ISM_EVENT_EXECUTE() Macro Added.
4230 * ospf_nsm.h: Add OSPF_NSM_EVENT_EXECUTE() Macro Added.
4231
4232 * ospf_packet.c: ospf_db_desc (), ospf_db_desc_send () Added.
4233 ospf_make_hello (), ospf_make_db_desc () Added.
4234 ospf_db_desc_proc () Added.n
4235
4236 * Database Description packet can be processed.
4237
42381999-06-08 Toshiaki Takada <takada@zebra.org>
4239
4240 * ospf_lsa.c: New file.
4241
42421999-06-07 Toshiaki Takada <takada@zebra.org>
4243
4244 * ospf_neighbor.c: ospf_fully_adjacent_count () Added.
4245
42461999-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
4247
4248 * ospf_spf.[ch]: New file.
4249
42501999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4251
4252 * ospf_zebra.c: Changed to use lib/zclient.c routines.
4253
4254 * ospf_zebra.h (zebra_start): Remove struct zebra.
4255
42561999-05-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4257
4258 * ospfd.c (ospf_config_write): Add cast (unsigned long int) to
4259 ntohl for sprintf warning.
4260
42611999-05-19 Toshiaki Takada <takada@zebra.org>
4262
4263 * ospf_ism.c (ospf_dr_election): Join AllDRouters Multicast group
4264 if interface state changes to DR or BDR.
4265
42661999-05-14 Stephen R. van den Berg <srb@cuci.nl>
4267
4268 * ospf_main.c (signal_init): SIGTERM call sigint.
4269 (sigint): Logging more better message.
4270
42711999-05-12 Toshiaki Takada <takada@zebra.org>
4272
4273 * ospfd.c: Fix bug of `no router ospf' statement, it will work.
4274
42751999-05-11 Toshiaki Takada <takada@zebra.org>
4276
4277 * ospf_neighbor.c: ospf_nbr_free () Added.
4278
42791999-05-10 Toshiaki Takada <takada@zebra.org>
4280
4281 * ospfd.h: struct ospf_area { }, struct ospf_network { } Changed.
4282 * Fix bug of `no network' statement, it will work.
4283
42841999-05-07 Toshiaki Takada <takada@zebra.org>
4285
4286 * ospf_interface.c, ospf_zebra.c: Fix bug of last interface is not
4287 updated by ospf_if_update ().
4288
42891999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4290
4291 * Makefile.am (noinst_HEADERS): Add ospf_lsa.h for distribution.
4292
42931999-04-25 Toshiaki Takada <takada@zebra.org>
4294
4295 * ospf_interface.c: DEFUN (no_if_ospf_cost),
4296 DEFUN (no_if_ospf_dead_interval),
4297 DEFUN (no_if_ospf_hello_interval),
4298 DEFUN (no_if_ospf_priority),
4299 DEFUN (no_if_ospf_retransmit_interval),
4300 DEFUN (no_if_ospf_transmit_delay) Added.
4301
4302 interface_config_write () suppress showing interface
4303 default values.
4304
43051999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
4306
4307 * ospf_dump.c (ospf_timer_dump): If thread is NULL return "inactive".
4308
4309 * ospfd.c (ospf_if_update): Fix bug of using ospf_area { } instead
4310 of ospf_network { }. So `router ospf' statement in ospfd.conf
4311 works again.
4312 (ospf_if_update): Call ospf_get_router_id for updating router ID.
4313
43141999-04-25 Toshiaki Takada <takada@zebra.org>
4315
4316 * ospf_interface.c: DEFUN (if_ospf_network) deleted.
4317 DEFUN (if_ospf_network_broadcast),
4318 DEFUN (if_ospf_network_non_broadcast),
4319 DEFUN (if_ospf_network_point_to_multipoint),
4320 DEFUN (if_ospf_network_point_to_point),
4321 DEFUN (no_if_ospf_network) Added.
4322
43231999-04-23 Toshiaki Takada <takada@zebra.org>
4324
4325 * ospfd.h: struct area { } changed to struct ospf_network { }.
4326 Add struct ospf_area { }.
4327 * ospfd.c: Add ospf_area_lookup_by_area_id (), ospf_network_new (),
4328 and ospf_network_free ().
4329 DEFUN (area_authentication), DEFUN (no_area_authentication) Added.
4330
43311999-04-22 Toshiaki Takada <takada@zebra.org>
4332
4333 * ospf_lsa.h: New file.
4334 * ospf_packet.h: LSA related struct definition are moved to
4335 ospf_lsa.h.
4336 * ospf_packet.c: ospf_verify_header () Added.
4337
43381999-04-21 Toshiaki Takada <takada@zebra.org>
4339
4340 * ospf_ism.c: ospf_elect_dr () and related function is changed.
4341 DR Election bug fixed.
4342 * ospf_dump.c: ospf_nbr_state_message (), ospf_timer_dump () Added.
4343 * ospfd.c: DEFUN (show_ip_ospf_neighbor) Added.
4344
43451999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
4346
4347 * ospf_main.c (main): access_list_init () is added for vty
4348 connection filtering.
4349
43501999-04-16 Toshiaki Takada <takada@zebra.org>
4351
4352 * ospfd.c: DEFUN (show_ip_ospf_interface) Added.
4353 * ospf_neighbor.c: ospf_nbr_count () Added.
4354
43551999-04-15 Toshiaki Takada <takada@zebra.org>
4356
4357 * ospfd.h: struct ospf { } Changed.
4358 * ospfd.c: ospf_lookup_by_process_id () Deleted.
4359 * ospf_ism.c: ospf_wait_timer () Added. WaitTimer will work.
4360
43611999-04-14 Toshiaki Takada <takada@zebra.org>
4362
4363 * ospf_ism.c: ospf_elect_dr () Added.
4364 * ospf_network.c: ospf_if_ipmulticast () Added.
4365
43661999-04-11 Toshiaki Takada <takada@zebra.org>
4367
4368 * ospf_interface.c: interface_config_write (),
4369 DEFUN (if_ip_ospf_cost),
4370 DEFUN (if_ip_ospf_dead_interval),
4371 DEFUN (if_ip_ospf_hello_interval),
4372 DEFUN (if_ip_ospf_priority),
4373 DEFUN (if_ip_ospf_retransmit_interval) and
4374 DEFUN (if_ip_ospf_transmit_delay) Added.
4375
43761999-04-08 Toshiaki Takada <takada@zebra.org>
4377
4378 * ospf_dump.c: ospf_packet_db_desc_dump () Added.
4379 * ospf_neighbor.c: ospf_nbr_bidirectional () Added.
4380 * ospf_nsm.c: nsm_twoway_received () Added.
4381
43821999-04-02 Toshiaki Takada <takada@zebra.org>
4383
4384 * ospf_neighbor.c: New file.
4385 * ospf_neighbor.h: New file.
4386 * ospf_nsm.c: New file.
4387 * ospf_nsm.h: New file.
4388 * ospf_packet.c: Add ospf_make_header (), ospf_hello () and
4389 ospf_hello_send (). Now OSPFd can receive Hello and send Hello.
4390
43911999-03-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4392
4393 * ospf_packet.c: Add ospf_recv_packet (). Now OSPF Hello can receive.
4394
43951999-03-19 Toshiaki Takada <takada@zebra.org>
4396
4397 * ospf_packet.c: New file.
4398 * ospf_packet.h: New file.
4399 * ospf_network.c: New file.
4400 * ospf_network.h: New file.
4401 * ospfd.h: move OSPF message structure has moved to ospf_packet.h.
4402
44031999-03-17 Kunihiro Ishiguro <kunihiro@zebra.org>
4404
4405 * ospf_zebra.c (ospf_zebra_get_interface): Fix for IPv6 interface
4406 address.
4407
4408 * Makefile.am (install-sysconfDATA): Overwrite install-sysconfDATA
4409 for install ospfd.conf.sample as owner read only file.
4410
4411 * ospf_main.c (usage): Change to use ZEBRA_BUG_ADDRESS.
4412
44131999-03-15 Toshiaki Takada <takada@zebra.org>
4414
4415 * ospf_ism.c: New file.
4416 * ospf_ism.h: New file.
4417 * ospf_dump.c: New file.
4418 * ospf_dump.h: New file.
4419
4420 * ospfd.h: Add (struct ospf), (struct config_network),
4421 (struct message) structure.
4422
4423 * ospf_interface.c: Add ospf_if_match_network ().
4424 * ospf_interface.h (struct ospf_interface): Change struct members.
4425
4426 * ospfd.c: ospf_lookup_by_process_id (), ospf_network_new (),
4427 DEFUN (network_area): Added.
4428
4429 * ospfd.conf.sample: Change sample configuration.
4430
44311999-03-05 Toshiaki Takada <takada@zebra.org>
4432
4433 * ospf_interface.c: New file.
4434 * ospf_interface.h: New file.
4435 * ospf_zebra.h: New file.
4436 * ospf_zebra.c: Add interface function for zebra daemon.
4437 * ospfd.c: New file.
4438
44391999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4440
4441 * Move IPv6 codes and files to ospf6d directory.
4442
44431999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
4444
4445 * syslog support added
4446
44471998-12-22 Toshiaki Takada <takada@zebra.org>
4448
4449 * ospfd.h: New file.
4450 * ospf_lsa.h: New file.
4451
44521998-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
4453
4454 * Makefile.am: New file.
4455 * ospf_main.c: New file.
4456