blob: 4749618d2f5031fd2037167eafb685379bc4ed14 [file] [log] [blame]
Paul Jakmaae128052006-05-12 23:15:30 +000012006-05-13 Paul Jakma <paul.jakma@sun.com>
2
3 * ospf_lsa.c: (ospf_translated_nssa_refresh) fix the sanity
4 check to match the assert, small error in CID #13 fix.
5
Paul Jakma70461d72006-05-12 22:57:57 +000062006-05-12 Paul Jakma <paul.jakma@sun.com>
7
8 * ospf_lsa.c: (ospf_lsa_action) Get rid of the ospf_lookup
9 call, which is not checked for NULL return, by stripping out
10 functionality which is never used, hence fixing Coverity CID
11 #29.
12 (struct lsa_action) remove unused member.
Paul Jakmae54e6e52006-05-12 23:11:14 +000013 (ospf_translated_nssa_refresh) Add non-assert sanity check,
14 in case DEBUG isn't defined.
15 Debug message when no type7 exists should print the ID from
16 the type5, not the type7, fixes CID #13.
17 * ospf_interface.c: (ospf_if_exists) Fix missing NULL return
Paul Jakmae43be0e2006-05-12 23:00:06 +000018 check on ospf_lookup, CID #27.
Paul Jakma6db3a6f2006-05-12 23:02:46 +000019 * ospf_asbr.c: (ospf_redistribute_withdraw) remove ospf_lookup
20 call by taking the struct ospf * as argument, which the
21 caller has, fixing CID #28.
22 * ospf_asbr.h: (ospf_redistribute_withdraw) update declaration
23 * ospf_zebra.c: (ospf_redistribute_unset) update call to
24 ospf_redistribute_withdraw to match.
Paul Jakmabfd7c7d2006-05-12 23:04:45 +000025 * ospf_ia.c: (ospf_update_router_route) ospf->backbone could be
26 NULL when passed to ospf_find_asbr_route_through_area,
27 check for NULL first, CID #14.
Paul Jakmadeb15612006-05-12 23:07:27 +000028 * ospf_ism.c: (ism_change_state) NULL check on oi->area is
29 useless, it's always valid. Only possibility where it
30 couldn't be is if there is a race between abr_task and
31 cleaning up oi's, in which case a NULL check here isn't going
32 to do anything. Fixes CID #15.
Paul Jakma70461d72006-05-12 22:57:57 +000033
Paul Jakmacac3b5c2006-05-11 13:31:11 +0000342006-05-11 Paul Jakma <paul.jakma@sun.com>
35
36 * ospf_vty.c: (general) Audit ospf_lookup calls in commands,
37 ensure check for NULL result, make vty messages consistent.
38 (show_ip_ospf_interface) Missing NULL check on ospf_lookup
39 result, fixes Coverity CID #70.
Paul Jakma1a8ec2b2006-05-11 13:34:08 +000040 (no_ospf_area_filter_list) Check NULL result from
41 ospf_area_lookup_by_area_id, fixes Coverity CID #69
Paul Jakma894f8b62006-05-12 22:50:40 +000042 * ospf_route.c: (ospf_route_delete_same_ext) Fix deref before
43 NULL check by moving into check-protected block, fix CID #49.
Paul Jakma214a4452006-05-12 22:51:49 +000044 * ospf_abr.c: (ospf_area_range_cost_set) Shouldn't create a new
45 range, should just lookup to see if one exists, the new range
46 is just leaked. Fixes CID #46.
Paul Jakma4021b602006-05-12 22:55:41 +000047 * ospf_lsa.c: (ospf_default_originate_timer) Let the thread
48 take (struct ospf *) as thread argument, rather than (struct
49 ospf *)->default_originate, thus avoiding having to call
50 ospf_lookup.
51 * ospf_zebra.c: (ospf_redistribute_default_set) change setup
52 of ospf_default_originate_timer thread to match.
53 * ospfd.c: (ospf_router_id_update) ditto.
Paul Jakmacac3b5c2006-05-11 13:31:11 +000054
Paul Jakma9c27ef92006-05-04 07:32:57 +0000552006-04-24 Paul Jakma <paul.jakma@sun.com>
56
57 * (general) More Virtual-link fixes, again with much help in
58 testing / debug from Juergen Kammer. Primarily in SPF.
59 * ospf_spf.h: Add guard. ospf_interface.h will include this
60 header.
61 * ospf_interface.h: Modify ospf_vl_lookup definition to take
62 struct ospf as argument, so as to allow for NULL area
63 argument.
64 (struct ospf_vl_data) Remove out_oi, instead add a struct
65 vertex_nexthop, to use as initial nexthop for backbone paths
66 through a vlink.
67 * ospf_interface.c: (ospf_vl_lookup) Modified to allow
68 NULL area to be passed to indicate "any" (first) area.
69 Add extra debug.
70 (ospf_vl_set_params) vl_oi -> nexthop. Add extra debug.
71 (ospf_vl_up_check) Fix debug, inet_ntoa returns a static
72 buffer..
73 * ospf_route.c: (ospf_intra_add_router) Vlinks dont go through
74 backbone, don't bother checking.
75 * ospf_spf.c: (static struct list vertex_list) Record vertices
76 that will need to be freed.
77 (cmp) Order network before router vertices, as required,
78 wasn't implemented.
79 (vertex_nexthop_free) Mild additional robustness check.
80 (vertex_parent_free) Take void argument, as this function
81 is passed as list deconstructor for vertex parent list.
82 (ospf_vertex_new) More debug. Set deconstructor for parent
83 list. Track allocated vertices on the vertex_list.
84 (ospf_vertex_free) Get rid of the tricky recursive cleanup of
85 vertices. Now frees only the given vertex.
86 (ospf_vertex_add_parent) Fix assert.
87 (ospf_nexthop_calculation) Fix calculation of nexthop for
88 VLink vertices, lookup the vl_data and use its previously
89 recorded nexthop information.
90 (ospf_spf_calculate) Vertices are freed simply by deleting
91 vertex_list nodes and letting ospf_vertex_free as deconstructor
92 work per-node.
93 (ospf_spf_calculate_timer) Trivial optimisation, leave
94 backbone SPF calculation till last to reduce SPF churn on
95 VLink updates.
96 * ospf_vty.c: (ospf_find_vl_data) update call to ospf_vl_lookup
97 (no_ospf_area_vlink_cmd) ditto.
98 (show_ip_ospf_interface_sub) For Vlinks, the peer address is
99 more interesting than the output interface.
100
Paul Jakma478aab92006-04-03 21:25:32 +00001012006-04-03 Paul Jakma <paul.jakma@sun.com>
102
103 * (general) Fix issues with handling of Vlinks and entries
104 in the nbrs route-table which were highlighted by the
105 nsm/nbr_self fixes from bug #234. Many thanks to Juergen
106 Kammer for his help and efforts in testing out debug patches to
107 pinpoint the issue.
108 * ospf_interface.c: (ospf_vl_new) Add nbr_self for Vlink.
109 * ospf_neighbor.c: (ospf_nbr_key) new static function, helper
110 to create key in nbrs table for a given nbr.
111 (ospf_nbr_delete) Use ospf_nbr_key. Add an assert() to
112 document an expected state.
113 (ospf_nbr_add_self) Ditto.
114 (ospf_nbr_lookup_by_addr) Add an assert.
115 * ospf_nsm.c: (nsm_kill_nbr) Can never kill the nbr_self
116 psuedo-neighbour.
117
Paul Jakma075c2012006-03-30 14:34:31 +00001182006-03-27 Paul Jakma <paul.jakma@sun.com>
119
120 * ospf_lsa.c: (ospf_lsa_checksum) Add an explicit cast to avoid
121 the ambiguities of ANSI and C99 C with respect to type
122 conversion. Detailed problem report and test case with
123 example data supplied by Dmitry Ivanov <dimss@telecentrs.lv>.
124
Paul Jakma1a8ee0e2006-03-30 14:20:00 +00001252006-03-25 Paul Jakma <paul.jakma@sun.com>
126
127 * ospf_interface.c: (ospf_if_lookup_recv_if) Ignore loopbacks,
128 we can never ever receive packets on those. Should fix
129 case where CARP is run with address in same subnet as real
130 interface. Problem report and diagnosis thanks to:
131 Landon Fuller <landonf@opendarwin.org>.
132 However, ospf_read() still can't deal deterministically with
133 multiple interfaces in same subnet.
134
Paul Jakmac2b478d2006-03-30 14:16:11 +00001352006-03-23 Steve Lawson <steve.lawson@aheadcomusa.com>
136
137 * ospf_lsa.c: (ospf_lsa_install) Fix incorrect byte-order
138 conversion of OSPF_MAX_SEQUENCE_NUMBER
139
paule8e19462006-01-19 20:16:55 +00001402006-01-19 Paul Jakma <paul.jakma@sun.com>
141
142 * (general) various miscellaneous compiler warning fixes.
143 Remove redundant break statements from switch clauses
144 which return.
145 return from main, not exit, cause it annoys SOS.
146 Remove stray semi-colons which cause empty-statement
147 warnings.
148
paul779adb02006-01-18 15:07:38 +00001492006-01-18 Juergen Kammer <j.kammer@eurodata.de>
150
151 * ospf_lsa.c: (ospf_router_lsa_new) dont take reference to the
152 stream data until it is constructed, data reference is
153 volatile due to the potential resize in link_info_set
154
1552006-01-18 Paul Jakma <paul.jakma@sun.com>
156
157 * ospf_lsa.c: (link_info_set) Resize the stream if required and
158 possible. Return number of links added.
159 (lsa_link_*_set) use return value from previous.
160 * ospf_lsa.h: Add OSPF_ROUTER_LSA_LINK_SIZE define.
161
paulc6371712006-01-17 17:49:53 +00001622006-01-17 Paul Jakma <paul.jakma@sun.com>
163
164 * ospf_packet.c: (ospf_verify_header) print out the types
165 involved if there's a mismatch.
166 * ospf_zebra.c: (ospf_zebra_add) Adjust to new zserv format.
167
paul818e56c2006-01-10 23:27:05 +00001682006-01-10 Len Sorensen <lennartsorensen@ruggedcom.com>
169
170 * (general) Bug #234, see also [quagga-dev 3902].
171 Fix problem with nbr_self not being properly reinitialised
172 when an interface comes up, after having been down.
paul1a643f82006-01-11 01:08:19 +0000173 Some re-arrangement done by Paul Jakma, any bugs introduced
174 on top of Len's suggested changes are his.
paul818e56c2006-01-10 23:27:05 +0000175 * ospf_neighbor.c: (ospf_nbr_add_self) centralise
176 initialisation of nbr_self parameters here.
177 * ospf_interface.c: (ospf_if_new) deleting initialisation of
178 parameters of nbr_self, just rely on call to
179 ospf_nbr_add_self.
180 (ospf_if_cleanup) ditto.
181 * ospfd.c: (ospf_network_run) ditto.
182
paul98429f62006-01-10 22:11:54 +00001832006-01-10 Juris Kalnins <juris@mt.lv>
184
185 * ospf_zebra.c: (ospf_interface_address_delete) fix rare leak of
186 struct connected in an error case.
paul818e56c2006-01-10 23:27:05 +0000187 * ospf_packet.c: (ospf_make_md5_digest) fix odd, if not
188 undefined effect, assignment of an increment expression.
paul98429f62006-01-10 22:11:54 +0000189
paul86752842006-01-10 20:34:46 +00001902006-01-10 Paul Jakma <paul.jakma@sun.com>
191
192 * ospfd.c: (ospf_network_run) checking to see if router-id
193 is set should be on ospf->router_id, not router_id_static.
194 This was causing ospfd to not start if router-id had not
195 been configured statically.
196 (ospf_if_update) ditto.
paulc42c1772006-01-10 20:36:49 +0000197 * ospf_vty.c: (config_write_ospf_distribute) trim down
198 redundant strings.
paul86752842006-01-10 20:34:46 +0000199
paul00c290e2005-11-26 09:21:43 +00002002005-11-26 Paul Jakma <paul.jakma@sun.com>
201
202 * ospf_api.c: (struct opaque_lsa) change from gcc zero-length
203 array to C99 incomplete type array.
paulc9c93d52005-11-26 13:31:11 +0000204 * (general) s/graceful/deferred/ in all files, the former term
205 is confusing wrt OSPF Graceful-Restart.
206 * ospfd.c: (ospf_deferred_shutdown_check) dont return
207 a function which returns void. SOS complains about this.
208 (ospf_finish)
paul00c290e2005-11-26 09:21:43 +0000209
paulb29800a2005-11-20 14:50:45 +00002102005-11-20 Paul Jakma <paul.jakma@sun.com>
211
212 * ospfd.h: remove the OSPF_ROUTER_ID_UPDATE_DELAY define
213 (struct ospf) remove the router_id timer thread.
214 remove export of ospf_router_id_update_timer.
215 * ospfd.c: (ospf_router_id_update) call ospf_if_update to
216 poke interfaces into action after ID has been configured.
217 (ospf_router_id_update_timer) removed.
218 (ospf_finish_final) t_router_id_update timer is gone.
219 (ospf_network_run) router-id update timer gone.
220 call ospf_router_id_update directly if ID not configured.
221 In the per-iface loop, don't ospf_if_up interfaces if
222 ID is still not configured. The update function will call
223 ospf_if_update anyway.
224 (ospf_if_update) ID update timer is gone. Just return if no
225 ID is set.
226 * ospf_vty.c: (ospf_router_id) call ospf_router_id_update, no
227 timer needed.
228 * ospf_zebra.c: (ospf_router_id_update_zebra) call
229 ospf_router_id_update directly, not via timer.
paulc24d6022005-11-20 14:54:12 +0000230 * ospf_abr.c: (ospf_abr_announce_network_to_area) check
231 returned LSA of ospf_summary_lsa_refresh and print warning if
232 it failed.
233 (ospf_abr_announce_network_to_area) similar
234 (ospf_abr_announce_rtr_to_area) similar
235 * ospf_lsa.c: (ospf_router_lsa_new) check LSA returned is valid.
236 (ospf_router_lsa_originate) similar
237 (ospf_router_lsa_refresh, ospf_network_lsa_new) similar
238 (ospf_summary_lsa_new) Check ID is valid.
239 (ospf_summary_lsa_originate) ditto, and check returned LSA from
240 previous function is !NULL.
241 (ospf_summary_lsa_refresh) check ospf_summary_lsa_new return
242 is !NULL.
243 (ospf_summary_asbr_lsa_new) ID valid check.
244 (ospf_summary_asbr_lsa_originate) similar.
paulb29800a2005-11-20 14:50:45 +0000245
ajs70cd3472005-11-16 19:33:22 +00002462005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
247
ajs649654a2005-11-16 20:17:52 +0000248 * ospf_dump.h: Define OSPF_TIME_DUMP_SIZE as appropriate buffer size
249 for use with ospf_timer_dump and ospf_timeval_dump.
250 * ospf_vty.c: Change all buffer sizes used with ospf_timer_dump and
251 ospf_timeval_dump to have size OSPF_TIME_DUMP_SIZE.
252 (show_ip_ospf_interface_sub) Fix possible buffer overflow in
253 call to ospf_timer_dump.
254
2552005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
256
ajs70cd3472005-11-16 19:33:22 +0000257 * ospf_ism.h: (OSPF_ISM_TIMER_OFF) Improve macro syntax by enclosing
258 in 'do {...} while(0)'.
259
paul31a59762005-11-14 11:11:11 +00002602005-11-14 Paul Jakma <paul.jakma@sun.com>
261
262 * ospfd.c: (ospf_new) stub-shutdown should just default to
263 unconfigured, too strange otherwise.
264 (ospf_finish_final) t_opaque_lsa_self TIMER_OFF should be
265 preprocessor conditional on HAVE_OPAQUE_LSA.
266 * ospfd.h: (struct ospf) remove the SHUTDOWN_DEFAULT define.
267 no longer used, plus it wasn't in range that the command
268 accepted.
269 * ospf_zebra.h: Depends on vty.h, include it.
270
paul58e1bef2005-11-11 12:10:03 +00002712005-11-11 Paul Jakma <paul.jakma@sun.com>
272
273 * ospf_spf.c: (ospf_canonical_nexthops_free) Free only
274 the nexthops pointing to the root vertex. We may visit a
275 vertex twice or the vertex may have some inherited nexthops,
276 if we free other nexthops we could crash.
277
paulc8c15212005-11-04 12:31:39 +00002782005-11-04 Paul Jakma <paul.jakma@sun.com>
279
280 * ospf_{dump,spf,vty}.c: Oops, use the internal tv_sub
281 function rather than unportable timersub.
282
paul484315f2005-11-03 09:08:29 +00002832005-11-03 Paul Jakma <paul.jakma@sun.com>
284
285 * ospf_apiserver.c: (apiserver_sync_callback) stray semi-colon
286 * ospf_packet.c: include checksum.h, remove the in_cksum extern
287 * prototypes.
288 * ospf_te.h: Add braces, quell warning.
paul6d452762005-11-03 11:15:44 +0000289 * ospf_packet.c: Change level of some warnings to
290 informational.
paulc8c15212005-11-04 12:31:39 +0000291
paul88d6cf32005-10-29 12:50:09 +00002922005-10-29 Paul Jakma <paul.jakma@sun.com>
293
294 * (general) RFC3137 stub-router support
295 * ospfd.h: Add OSPF_OUTPUT_COST_INFINITE define.
296 (struct ospf_master) Add a OSPF_MASTER_SHUTDOWN flag for
297 options, to allow shutdown to distinguish between complete
298 shutdown and shutdown of a subset of ospf instances.
299 (struct ospf)
300 Add stub_router_{startup,shutdown_}time, configuration of startup
301 and shutdown time for stub-router.
302 Add t_graceful_shutdown struct thread, timer for graceful
303 shutdown, if needed.
304 (struct ospf_area) Add stub_router_state - run time state of
305 stub-router for an area. Add flags for ADMIN, IS and WAS
306 states.
307 Add t_stub_router, timer thread to resend router-lsa for an
308 area.
309 * ospf_lsa.c: (ospf_link_cost) new simple function to spit out
310 either the given lnks cost or infinite cost if stub-router is
311 in effect.
312 (lsa_link_{ptop,broadcast,virtuallink,ptomp}_set) use
313 previous function for transit-links.
314 (ospf_stub_router_timer) timer thread for end of startup stub
315 router. Change state as required for the area and setup
316 re-origination of router-lsa.
317 (ospf_stub_router_check) Check/do whether stub-router should be
318 enabled, and whether it requires timer to be setup.
319 (ospf_router_lsa_new) call previous function at top.
320 (ospf_router_lsa_originate) no external callers, made static.
321 * ospf_lsa.h: (ospf_router_lsa_originate) removed.
322 * ospf_main.c: (sigint) make static.
323 remove call to exit, as ospf_terminate now deals with
324 exiting.
325 * ospf_route.c: (ospf_terminate) removed, now in ospfd.c.
326 * ospf_vty.c: (show_ip_ospf_area) print out state of
327 stub-router, if active.
328 (show_ip_ospf) print out configuration of stub-router
329 support, and details of graceful-shutdown if the timer is
330 active.
331 ((no)?ospf_max_metric_router_lsa_{admin,startup,shutdown}) new
332 commands to (de-)?configure stub-router support.
333 (config_write_stub_router) write out config of stub-router.
334 (ospf_config_write) call previous.
335 (ospf_vty_init) install the new stub-router commands.
336 * ospfd.c: various functions made static.
337 (ospf_new) Set defaults for stub-router. Graceful shutdown
338 is made to default on, just to be adventerous.
339 (ospf_graceful_shutdown_finish) new function, final part of
340 shutdown.
341 (ospf_graceful_shutdown_timer) timer thread wrapper for
342 graceful-shutdown.
343 (ospf_graceful_shutdown_check) check whether to setup timer
344 for shutdown or proceed directly to final shutdown.
345 (ospf_terminate) moved here from ospf_route.c, call
346 ospf_finish for each instance.
347 (ospf_finish) renamed to ospf_finish_final and made static.
348 (ospf_finish) new function, exported wrapper around
349 ospf_graceful_shutdown_check.
350 (ospf_finish_final) complete shutdown of an instance.
351 Add missing TIMER_OFF's of two timer threads.
352 (ospf_area_free) opaque self lsa timer should be turned off.
353
paulb8ad39d2005-10-23 15:23:05 +00003542005-10-23 Paul Jakma <paul.jakma@sun.com>
355
paule029d442005-10-23 15:26:24 +0000356 * ospf_apiserver.c: (ospf_apiserver_term) This function should
357 not have side-effects (eg segv) if no apiserver instances are
358 active, ie be robust.
paulb8ad39d2005-10-23 15:23:05 +0000359 * ospf_vty.c: (show_ip_ospf) fix display of SPF timer if it
360 has not yet been run.
361
paulf9ad9372005-10-21 00:45:17 +00003622005-10-21 Paul Jakma <paul.jakma@sun.com>
363
paulea4ffc92005-10-21 20:04:41 +0000364 * ospf_dump.c: (ospf_timeval_dump) fix ms adjustment, thanks to
365 Andrew Schorr.
366 * ospf_vty.c: (ospf_config_write) fix write out of spf timers
367 configuration.
368
3692005-10-21 Paul Jakma <paul.jakma@sun.com>
370
pauld24f6e22005-10-21 09:23:12 +0000371 * (general) SPF millisecond resolution timer with adaptive,
372 linear back-off holdtime. Prettification of ospf_timer_dump.
373 * ospf_dump.c: (ospf_timeval_dump) new function. The guts of
374 ospf_timer_dump, but made to be more dynamic in printing out
375 the relative timeval, sliding the precision printed out
376 according to the value.
377 (ospf_timer_dump) guts moved to ospf_timeval_dump.
378 * ospf_dump.h: export ospf_timeval_dump.
379 * ospf_flood.c: (ospf_flood) remove gettimeofday, use
380 the libzebra exported recent_time instead, as it's not
381 terribly critical to have time exactly right - the dropped
382 LSA will be retransmited to us if we don't ACK it.
383 * ospf_packet.c: (ospf_ls_upd_timer) Ditto, but here we're
384 not transmitting, just putting LSA back on update transmit list.
385 * ospfd.h: delay and holdtimes should be unsigned.
386 Add spf_max_holdtime and spf_hold_multiplier.
387 Update default defines for delay and hold time to be in msec.
388 (struct ospf) change the SPF timestamp to a struct timeval.
389 Remove ospf_timers_spf_(un)?set.
390 * ospfd.c: (ospf_timers_spf_{set,unset}) removed.
391 (ospf_new) initialise spf_max_holdtime and spf_hold_multiplier
392 * ospf_spf.c: (ospf_spf_calculate) SPF timestamp is a timeval
393 now, update with gettimeofday.
394 (ospf_spf_calculate_schedule) Change SPF timers to millisecond
395 resolution.
396 Make the holdtime be adaptive, with a linear increase in
397 holdtime ever consecutive SPF run which occurs within holdtime
398 of previous SPF, bounded by spf_max_holdtime.
399 * ospf_vty.c: Update spf timers commands.
400 (ospf_timers_spf_set) trivial helper.
401 (ospf_timers_throttle_spf_cmd) new command to set SPF delay,
402 initial hold and max hold times with millisecond resolution.
403 (ospf_timers_spf_cmd) Deprecated. Accept the old values,
404 convert to msec, truncate to new limits.
405 (no_ospf_timers_throttle_spf_cmd) set timers to defaults.
406 (no_ospf_timers_spf_cmd) deprecated form, same as previous.
407 (show_ip_ospf_cmd) Display SPF parameters and times.
408 (show_ip_ospf_neighbour_header) Centralise the 'sh ip os ne'
409 header.
410 (show_ip_ospf_neighbor_sub) Fix the field widths. Get rid of
411 the multiple spaces which were making the lines even longer.
412 (show_ip_ospf_neighbor_cmd) Use show_ip_ospf_neighbour_header
413 (show_ip_ospf_neighbor_all_cmd) ditto and fix the field
414 widths for NBMA neighbours.
415 (show_ip_ospf_neighbor_int) Use header function.
416 (show_ip_ospf_nbr_nbma_detail_sub) use sizeof for timebuf,
417 local array - safer.
418 (show_ip_ospf_neighbor_detail_sub) ditto
419 (ospf_vty_init) install the new SPF throttle timer commands.
420
4212005-10-21 Paul Jakma <paul.jakma@sun.com>
422
paulf9ad9372005-10-21 00:45:17 +0000423 * (general) OSPF fast, sub-second hello and 1s dead-interval
424 support.
425 * ospf_dump.c: (ospf_timer_dump) Print out milliseconds too.
426 Callers typically specify a length of 9, so most see
427 millisecs unless they specify the additional length.
428 * ospf_interface.h: (struct ospf_interface) new interface param,
429 fast_hello.
430 * ospf_interface.c: (ospf_if_table_lookup) add brackets,
431 gcc warning fix.
432 (ospf_new_if_params) Initialise fast_hello param.
433 (ospf_free_if_params) Check whether fast_hello is configured.
434 (ospf_if_new_hook) set fast_hello to default.
435 * ospf_ism.h: Wrap OSPF_ISM_TIMER_ON inside do {} while (0) to
436 prevent funny side-effects from its if statement when this
437 macro is used conditionally by other macros.
438 (OSPF_ISM_TIMER_MSEC_ON) new macro, set in milliseconds.
439 (OSPF_HELLO_TIMER_ON) new macro to set hello timer according
440 to whether fast_hello is set.
441 * ospf_ism.c: Update all setting of the hello timer to use
442 either OSPF_ISM_TIMER_MSEC_ON or OSPF_HELLO_TIMER_ON. The
443 former is used when hello is to be sent immediately.
444 * ospf_nsm.c: ditto
445 * ospf_packet.c: (ospf_hello) hello-interval is not checked
446 for mismatch if fast_hello is set.
447 (ospf_read) Annoying nit, fix "no ospf_interface" to be debug
448 rather than a warning, as it can be perfectly normal to
449 receive packets when logical subnets are used.
450 (ospf_make_hello) Set hello-interval to 0 if fast-hellos are
451 configured.
452 * ospf_vty.c: (ospf_auto_cost_reference_bandwidth) annoying
453 nit, don't vty_out if this command is given, it gets tired
454 quick.
455 (show_ip_ospf_interface_sub) Print the hello-interval
456 according to whether fast-hello is set or not.
457 Print the extra 5 millisec characters from (ospf_timer_dump)
458 if fast-hello is configured.
459 (ospf_vty_dead_interval_set) new function, common to all
460 forms of dead-interval command, to set dead-interval and
461 fast-hello correctly. If a dead-interval is given, unset
462 fast-hello, else if a hello-multiplier is set, set
463 dead-interval to 1 and fast-hello to given multiplier.
464 (ip_ospf_dead_interval_addr_cmd) use
465 ospf_vty_dead_interval_set().
466 (ip_ospf_dead_interval_minimal_addr_cmd) ditto.
467 (no_ip_ospf_dead_interval) Unset fast-hello.
468 (no_ip_ospf_hello_interval) Bug-fix, unset of hello-interval
469 should set it to OSPF_HELLO_INTERVAL_DEFAULT, not
470 OSPF_ROUTER_DEAD_INTERVAL_DEFAULT.
471 (config_write_interface) Write out fast-hello.
472 (ospf_config_write) Write a comment about
473 "auto-cost reference-bandwidth" having to be equal on all
474 routers. Hopefully just as noticeable as old practice of
475 writing to vty, but less annoying.
476 (ospf_vty_if_init) install the two new dead-interval
477 commands.
478 * ospfd.h: Add defines for OSPF_ROUTER_DEAD_INTERVAL_MINIMAL
479 and OSPF_FAST_HELLO_DEFAULT.
480
pauleb3da6d2005-10-18 04:20:33 +00004812005-10-18 Paul Jakma <paul.jakma@sun.com>
482
483 * (general) SPF memory management cleanup and fix for rare
484 double-free bug.
485 * ospf_spf.h: (struct vertex_parent) New struct to hold parent
486 specific data, eg the backlink and the parent vertex pointer,
487 and point to the appropriate general struct vertex_nexthop.
488 (struct vertex_nexthop) remove parent vertex pointer, so
489 this struct can be shared across vertices.
490 (struct vertex) rename list child to list children. Remove
491 list of nexthops, replace with list of vertex_parents.
492 * ospf_spf.c: (update_stat) trivial, remove cast from void *.
493 (vertex_nexthop_new) remove init of parent - field is gone
494 from struct vertex_nexthop.
495 (ospf_canonical_nexthops_free) Remove the canonical
496 vertex_nexthop memory objects. These are the vertex_nexthops
497 attached to the first level of router vertices from the root.
498 (vertex_parent_new) new function, create a vertex_parent.
499 (vertex_parent_free) ditto, but free it.
500 (ospf_vertex_new) Update to match changes to struct vertex.
501 (ospf_vertex_free) Recursively free a struct vertex and its
502 children. The parent list is used as a reference count.
503 vertex_nexthops must be free seperately, if required.
504 (ospf_vertex_dump) update to match struct vertex changes.
505 Print out backlink of parents too.
506 (ospf_vertex_add_parent) ditto.
507 (ospf_lsa_has_link) update comment.
508 (ospf_nexthop_add_unique) removed, not needed anymore.
509 (ospf_nexthop_merge) ditto.
510 (ospf_spf_consider_nexthop) renamed to ospf_spf_add_parent.
511 Simplified to just create vertex_parent and add it.
512 (ospf_spf_flush_parents) new function, flush out the parent
513 list.
514 (ospf_nexthop_calculation) Take the relevant route_lsa_link
515 as an argument, which simplifies things and removes the need
516 for the hack in ospf_nexthop_add_unique - ospf_spf_next
517 already knew exactly which link the cost calculated was for.
518 Update to match struct vertex changes too.
519 (ospf_spf_next) Don't create a vertex for W unnecessarily, if
520 it's there's a vertex already created for W, use it, and
521 hence there's no need to free it either.
522 Update some manipulation/comparisons of distance to match.
523 Flush the parent list if a lower cost path is found.
524 (ospf_spf_route_free) unused, removed.
525 (ospf_spf_dump) match the struct vertex changes, and dump the
526 ifname if possible.
527 (ospf_spf_calculate) At end of SPF, free the canonical nexthops
528 and call ospf_vertex_free on the root vertex to free the
529 entire tree.
530 * ospf_interface.c: (ospf_vl_set_params) match struct vertex
531 changes.
532 * ospf_route.c: (ospf_intra_route_add) ditto
533 (ospf_route_copy_nexthops_from_vertex) ditto
534
paul36238142005-10-11 04:12:54 +00005352005-10-11 Paul Jakma <paul.jakma@sun.com>
536
537 * ospf_api.c: sign warnings.
538 * ospf_apiserver.c: sign warning and convert all the struct
539 in_addr initialisations so as not to make assumptions about
540 how this struct is organised, initialise the s_addr member
541 explicitely.
542 * ospf_packet.c: Add const qualifier to auth_key.
543
vincent77df1f72005-10-06 07:46:22 +00005442005-10-06 Alain Ritoux <alain.ritoux@6wind.com>
545
546 * ospf_snmp.c: Avoid mixing interface and ospf_interface objects
547 which now allows snmpwalk to work with ospfIfTable and
548 also with ospfIfMetricTable
549
ajsf52d13c2005-10-01 17:38:06 +00005502005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
551
552 * ospf_dump.c: Remove local hard-coded table ospf_redistributed_proto.
553 (ospf_redist_string) New function implemented using new library
554 function zebra_route_string(). Note that there are a few differences
555 in the output that will result: the new function returns strings
556 that are lower-case, whereas the old table was mixed case. Also,
557 the old table mapped ZEBRA_ROUTE_OSPF6 to "OSPFv3", whereas the
558 new function returns "ospf6".
559 * ospfd.h: Remove extern struct message ospf_redistributed_proto[],
560 and add extern const char *ospf_redist_string(u_int route_type)
561 instead.
562 * ospf_asbr.c: (ospf_external_info_add) In two messages, use
563 ospf_redist_string instead of LOOKUP(ospf_redistributed_proto).
564 * ospf_vty.c: Remove local hard-coded table distribute_str.
565 (config_write_ospf_redistribute,config_write_ospf_distribute): Use
566 new library function zebra_route_string() instead of distribute_str[].
567 * ospf_zebra.c: (ospf_redistribute_set,ospf_redistribute_unset,
568 ospf_redistribute_default_set,ospf_redistribute_check)
569 In debug messages, use ospf_redist_string() instead of
570 LOOKUP(ospf_redistributed_proto).
571
jardin6638c1a2005-10-01 00:08:54 +00005722005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
573
574 * ospf_dump.c, ospf_ia.c, ospf_spf.c, ospf_ase.c:
575 remove unused DEBUG
576
vincentba682532005-09-29 13:52:57 +00005772005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
578
vincent5e4914c2005-09-29 16:34:30 +0000579 * ospf_ism.c: generate SNMP traps on Interface state change
580 * ospf_nsm.c: generate SNMP traps on Neighbour state change
581 * ospf_snmp.[ch]: support for SNMP traps for interface and neighbours.
582
5832005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
584
vincentba682532005-09-29 13:52:57 +0000585 * ospf_vty.c: forece default route LSA to be re_issued whenever
586 cost is changed ( [no] ip ospf area XXX default-cost YYY)
587 Support ignore-mtu option
588 * ospfd.h: define OSPF_MTU_IGNORE_DEFAULT
589 * ospf_packet.c: support ignore-mtu option
590 * ospf_interface.h: field added for skipping MTU check
591 * ospf_interface.c: fix memory leak in ospf_crypt_key_delete()
592 Set mtu_ignore field to default value
593 * ospf_abr.[ch]: export ospf_abr_announce_network_to_area()
594 * ospf_ism.h: add MACRO to convert internal ISM status into SNMP
595 correct values
596 * ospf_snmp.c: add sanity check on LSA type in lsdb_lookup_next()
597 convert OSPFIFSTATE internal status into SNMP values
598
vincentc1a03d42005-09-28 15:47:44 +00005992005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
600
601 * ospf_packet.c: use new md5 API
602
ajs5339cfd2005-09-19 13:28:05 +00006032005-09-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
604
605 * ospf_lsa.h: (ospf_external_lsa_flush) Comment out the 5th argument
606 (nexthop) since it is not used in the function (except inside
607 some commented-out code).
608 * ospf_lsa.c: (ospf_external_lsa_flush,ospf_external_lsa_refresh)
609 Comment out the 5th argument to ospf_external_lsa_flush.
610 * ospf_asbr.c: (ospf_redistribute_withdraw) Comment out 5th arg
611 to ospf_external_lsa_flush.
612 * ospf_vty.c: (no_ospf_default_information_originate) Eliminate 5th
613 uninitialized nexthop arg to ospf_external_lsa_flush.
614 * ospf_zebra.c: (ospf_zebra_read_ipv4) Comment out 5th arg
615 to ospf_external_lsa_flush.
616 * ospfd.c: (ospf_network_set) Comment out 5th arg
617 to ospf_external_lsa_flush.
618
ajse6a0bf92005-09-17 18:53:38 +00006192005-09-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
620
621 * ospf_opaque.c:
622 (ospf_opaque_lsa_refresh_schedule,ospf_opaque_lsa_flush_schedule)
623 No need to call ospf_lookup(), just use lsa0->area->ospf instead.
624
hassobb5b7552005-08-21 20:01:15 +00006252005-08-21 Hasso Tepper <hasso at quagga.net>
626
627 * ospf_vty.c: Make "show ip ospf neighbor xxx" commands work.
628 Interface should be specified by name now.
629
hasso54bedb52005-08-17 13:31:47 +00006302005-08-17 Hasso Tepper <hasso at quagga.net>
631
632 * ospf_vty.c: Check carefully if interface exists before trying to
633 print info about it.
634
hasso01018ce2005-08-05 07:40:15 +00006352005-08-05 Hasso Tepper <hasso at quagga.net>
636
637 * ospf_zebra.c: Don't assert/stop before type == ZEBRA_ROUTE_MAX if
638 dealing with routemaps. There is ospf->route_map[ZEBRA_ROUTE_MAX]
639 for default-information.
640
paulc8987752005-07-26 06:07:22 +00006412005-07-26 Paul Jakma <paul.jakma@sun.com>
642
643 * ospf_abr.c: (ospf_abr_announce_network_to_area) SET_FLAG
644 should be on lsa not old, which may be freed for one thing,
645 obviously.
646
pauld57834f2005-07-12 20:04:22 +00006472005-07-12 Paul Jakma <paul.jakma@sun.com>
648
649 * ospfd.h: add OSPF_ABR_DEFAULT for convenience, make
650 OSPF_ABR_CISCO be the default ABR type.
651 * ospfd.c: (ospf_new) initialise abr_type to OSPF_ABR_DEFAULT
652 * ospf_vty.c: (no_ospf_abr_type_cmd) add standard as a negatable
653 abr_type. default abr_type should be OSPF_ABR_DEFAULT.
654 (ospf_config_write) test whether default abr_type against
655 OSPF_ABR_DEFAULT, rather than any specific ABR_TYPE.
656
hasso8469bd72005-06-20 20:50:10 +00006572005-06-20 Hasso Tepper <hasso at quagga.net>
hassof4833e92005-06-20 20:42:26 +0000658
659 * ospf_nsm.c: Make database exchange for NSSA database work.
660
paul7461d452005-06-13 13:57:16 +00006612005-06-13 Paul Jakma <paul.jakma@sun.com>
662
663 * ospf_spf.c: Try get more information on a SEGV under
664 ospf_spf_vertex_add_parent.
665 (ospf_vertex_free) NULL out the child and nexthop lists
666 (ospf_vertex_add_parent) nexthop and child can not be NULL
667 vertex_nexthop's parent->child list can not be NULL
668 (ospf_spf_next) w and cw are per-loop iteration variables, move
669 declarations into loop body.
670
hasso1ddd7292005-06-07 19:54:04 +00006712005-06-07 Hasso Tepper <hasso at quagga.net>
672
673 * ospf_apiserver.c: Fix obvious error in notifying clients about ISM
674 changes - oi->ifp->status doesn't give to us info about ISM,
675 oi->state does.
676
paul7e440862005-06-01 11:20:51 +00006772005-06-01 Akihiro Mizutani <mizutani@net-chef.net>
678
679 * ospf_ism.c (ospf_elect_bdr/ospf_elect_dr): Fix DR election bug.
680
paul500e4182005-05-26 17:11:13 +00006812005-05-26 Paul Jakma <paul.jakma@sun.com>
682
683 * ospf_abr.c: (ospf_abr_update_aggregate) Fix comment, cost bug itself
684 had been fixed long ago by Sowmini.
685
paula3387a42005-05-18 23:29:57 +00006862005-05-19 Paul Jakma <paul.jakma@sun.com>
687
688 * ospf_interface.c: (ospf_if_table_lookup) Fix a serious bug
689 a less serious one.
690 1: this function is supposed to lookup
691 entries in the oifs ospf_interface route_table and return either
692 an existing oi or NULL to indicate not found, its caller depends
693 on this, yet this function uses route_node_get which /always/
694 returns a route_node - one is created if none exists. Use
695 route_node_lookup instead. This should fix root cause of the
696 reports of the (ospf_add_to_if) assert being hit.
697 2: oi's are inserted into this table with prefixlength set to
698 /32 (indeed, it should be a hash table, not a route_table),
699 however prefixlength to lookup was not changed, if no valid entry
700 can be inserted other than /32, then nothng but /32 should be
701 looked up. This possibly only worked by fluke..
702 Fix confirmed by 2 reporters (one list, one IRC), definitely a
703 backport candidate once it has been incubated in HEAD for a while.
704 Thanks to Patrick Friedel and Ivan Warren for testing.
705
paul69310a62005-05-11 18:09:59 +00007062005-05-11 Paul Jakma <paul.jakma@sun.com>
707
708 * (general) Fix memory leaks in opaque AS-scope LSAs, reported and
709 with much debugging done by by scott collins <scollins@agile.tv>.
710 * ospf_lsa.c: (ospf_discard_from_db) dont call
711 ospf_ase_unregister_external_lsa for opaque-lsa's, opaques are
712 never registered with ase in the first place.
713 * ospf_packet.c: (general) Disabuse opaque related code of its
714 tendency to try gather up things into temporary lists.
715 (ospf_ls_upd) remove the temporary lists opaque uses, call
716 opaque functions inline, just like all other types.
717 (ospf_ls_ack) ditto.
718 (ospf_recv_packet) fixup sign warning.
719 * ospf_opaque.c: (general) fix the unneeded use of lists, and
720 untwist some of the logic.
721 (ospf_opaque_self_originated_lsa_received) take a single LSA
722 as argument, not a list of them. Remove the list loop. Logic
723 otherwise unchanged.
724 (ospf_opaque_ls_ack_received) Mostly ditto. But untwist the logic,
725 move the actions up into the switch block, remove the goto's and
726 sanitise the logic near the end a bit.
727 * ospf_opaque.h: Adjust definitions of aforementioned functions
728 in ospf_opaque.c to match.
729
paul42c98192005-05-07 02:22:51 +00007302005-05-07 Yar Tikhiy <yar@comp.chem.msu.su>
731
732 * ospf_network.c: Log ifindex on multicast membership leave/join
733 events.
734
paul4dadc292005-05-06 21:37:42 +00007352005-05-06 Paul Jakma <paul.jakma@sun.com>
736
737 * (general) extern and static qualifiers added.
738 unspecified arguments in definitions fixed, typically they should
739 be 'void'.
740 function casts added for callbacks.
741 Guards added to headers which lacked them.
742 Proper headers included rather than relying on incomplete
743 definitions.
744 gcc noreturn function attribute where appropriate.
745 * ospf_opaque.c: remove the private definition of ospf_lsa's
746 ospf_lsa_refresh_delay.
747 * ospf_lsa.h: export ospf_lsa_refresh_delay
748 * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const,
749 correct thing to do - removes need for the casts later.
750 * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's
751 home-brewed versions, shuts up several warnings.
752 * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and
753 VTY_GET_IPV4_PREFIX moved to lib/vty.h.
754 * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky
755 overloading of the THREAD_ARG pointer should at least use
756 uintptr_t.
757
paul9e67dc22005-04-15 12:10:17 +00007582005-04-15 Zhipeng Gong <zpgong@cdc.3upsystems.com>
759
760 * ospf_abr.c: (ospf_abr_announce_network_to_area) dont forget
761 to approve LSAs for the case where metric has changed, lsa gets
762 flushed otherwise. (backport candidate).
763
ajs634f9ea2005-04-11 15:51:40 +00007642005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
765
766 * ospf_zebra.c (ospf_zebra_add): Call zclient_send_message instead
767 of writen.
768
ajsd2fc8892005-04-02 18:38:43 +00007692005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
770
ajse4319de2005-04-02 23:23:55 +0000771 * ospf_interface.h: (ospf_if_lookup_by_name) Remove declaration of a
772 function that does not exist.
773
7742005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
775
ajs21fefa92005-04-02 23:16:41 +0000776 * ospf_zebra.c: (zebra_interface_if_lookup) Must use
777 if_lookup_by_name_len.
778
7792005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
780
ajsa3491982005-04-02 22:50:38 +0000781 * ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create.
782
7832005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
784
ajsd2fc8892005-04-02 18:38:43 +0000785 * ospf_vty.c: (show_ip_ospf_interface_sub) Show ifindex and interface
786 flags to help with debugging.
787 * ospf_zebra.c: (ospf_interface_delete) After deleting, set ifp->ifindex
788 to IFINDEX_INTERNAL.
789 (zebra_interface_if_lookup) Make function static. Tighten up code.
790
ajsaca72fd2005-03-31 15:18:21 +00007912005-03-31 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
792
793 * ospf_dump.c: (show_debugging_ospf) Show if ospf event debugging
794 is turned on.
795
ajsfd651fa2005-03-29 16:08:16 +00007962005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
797
ajsa608bbf2005-03-29 17:03:49 +0000798 * ospf_zebra.c: (ospf_interface_state_up) If the MTU of an operative
799 interface changes, print a debug message and call ospf_if_reset()
800 to simulate down/up on the interface.
801 * ospf_interface.h: Declare new function ospf_if_reset().
802 * ospf_interface.c: (ospf_if_reset) New function to call ospf_if_down
803 and ospf_if_up for all ospf interfaces attached to an interface.
804
8052005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
806
ajs5dcbdf82005-03-29 16:13:49 +0000807 * ospf_packet.c: (ospf_write_frags) Enhance error message to
808 show MTU. Also make function static.
809 (ospf_write) Enhance error message to show interface name and MTU.
810 Also make function static.
811
8122005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
813
814 * ospf_vty.c: (show_ip_ospf_interface_sub) Display interface MTU and
815 bandwidth; this is useful for debugging problems. Also, the function
816 should be static.
ajsfd651fa2005-03-29 16:08:16 +0000817
hasso1b639042005-03-27 13:32:25 +00008182005-03-27 Hasso Tepper <hasso at quagga.net>
819
820 * ospf_snmp.c: Don't crash in snmp query if ospf instance doesn't
821 exist at all.
822
hasso343f5cc2005-03-25 19:48:40 +00008232005-03-25 Hasso Tepper <hasso at quagga.net>
824
825 * ospfd.h: Include log.h, fixes compile with gcc-4.0.
826
ajs9dbc7972005-03-13 19:27:22 +00008272005-03-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
828
829 * ospf_lsa.c: (ospf_lsa_refresh_walker) If the system clock jumps
830 backward, then current time may be less than
831 ospf->lsa_refresher_started. This was causing invalid values
832 for ospf->lsa_refresh_queue.index resulting in infinite loops.
833 Problem fixed by casting the expression to unsigned before taking
834 the modulus.
835
ajs5c333492005-02-23 15:43:01 +00008362005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
837
838 * ospfd.h: Add new field struct stream *ibuf to struct ospf.
839 * ospfd.c: (ospf_new) Check return code from ospf_sock_init.
840 Allocate ibuf using stream_new(OSPF_MAX_PACKET_SIZE+1).
841 (ospf_finish) Call stream_free(ospf->ibuf.
842 * ospf_packet.c: (ospf_read) Call stream_reset(ospf->ibuf) and then
843 pass it to ospf_recv_packet for use in receiving the packet
844 (instead of allocating a new stream for each packet received).
845 Eliminate all calls to stream_free(ibuf).
846 (ospf_recv_packet) The struct stream *ibuf is now passed in as
847 an argument. No need to use recvfrom to peek at the packet
848 header (to see how big it is), just use ospf->ibuf which is
849 always large enough (this eliminates a system call to recvfrom).
850 Therefore, no need to allocate a stream just for this packet,
851 and no need to free it when done.
852
hasso462f20d2005-02-23 11:29:02 +00008532005-02-23 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it>
854
855 * ospf_lsa.h: New flag to the LSA structure for the SPF calculation.
856 * ospf_lsdb.h: Export ospf_lsdb_clean_stat() function.
857 * ospf_spf.h: Add link to the LSA stat structure into vertex.
858 * ospf_spf.c: New functions cmp() and update_stat() to manage
859 candidates. Remove ospf_spf_has_vertex(), ospf_vertex_lookup(),
860 ospf_install_candidate() and ospf_spf_register() functions not needed
861 any more. Update ospf_vertex_new(), ospf_spf_next() and
862 ospf_spf_calculate() functions to use pqueue instead of linked list.
863
hassoe40dcce2005-02-21 14:58:42 +00008642005-02-21 Hasso Tepper <hasso at quagga.net>
865
866 * ospf_ase.c: Don't show messages related to the ase calculations if
867 we are not debugging.
868
hasso306541b2005-02-19 17:58:40 +00008692005-02-19 Hasso Tepper <hasso at quagga.net>
870
871 * ospf_api.h: char isn't always signed, but it has to be it here.
872
paulfa81b712005-02-19 01:19:20 +00008732005-02-19 Paul Jakma <paul.jakma@sun.com>
874
875 * ospf_packet.c: (ospf_stream_copy) remove
876 (ospf_packet_dup) use stream_copy instead of ospf_stream_copy
877
ajs038163f2005-02-17 19:55:59 +00008782005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
879
880 * ospf_packet.c: (ospf_recv_packet) If there is somehow a runt
881 packet in the queue, it must be discarded. Improve warning messages.
882 Fix scope to static.
883 (ospf_read) Fix bug: should reset the read thread in all cases
884 to make sure we continue to get incoming messages.
885
paul658b03a2005-02-15 10:10:55 +00008862005-02-15 Paul Jakma <paul.jakma@sun.com>
887
888 * ospf_packet.c: (ospf_recv_packet) Fix silly error wrt allocating
889 ibuf. Thanks Andrew.
890
paulbfdc44a2005-02-14 23:48:42 +00008912005-02-14 Paul Jakma <paul.jakma@sun.com>
892
893 * ospf_packet.c: (ospf_recv_packet) use stream_recvmsg.
894
hasso082253f2005-02-11 08:31:54 +00008952005-02-11 Hasso Tepper <hasso at quagga.net>
896
897 * ospf_lsdb.c: Fix sum of checksums calculation.
898
ajs083ee9d2005-02-09 15:35:50 +00008992005-02-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
900
901 * ospf_packet.c: (ospf_write) If sendmsg fails, give more info in the
902 error message.
903
ajsba6454e2005-02-08 15:37:30 +00009042005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
905
ajs8cfde372005-02-08 15:59:16 +0000906 * ospf_interface.h: Reduce structure padding by putting new u_char
907 field multicast_memberships in a better spot (grouped with
908 other u_char fields type and state).
909
9102005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
911
ajsba6454e2005-02-08 15:37:30 +0000912 * ospf_interface.h: Improve passive_interface comment. Add new
913 multicast_memberships bitmask to struct ospf_interface to track
914 active multicast subscriptions. Declare new function
915 ospf_if_set_multicast.
916 * ospf_interface.c: (ospf_if_set_multicast) New function to configure
917 multicast memberships properly based on the current
918 multicast_memberships status and the current values of the
919 ospf_interface state, type, and passive_interface status.
920 (ospf_if_up) Remove call to ospf_if_add_allspfrouters (this is
921 now handled by ism_change_state's call to ospf_if_set_multicast).
922 (ospf_if_down) Remove call to ospf_if_drop_allspfrouters (now
923 handled by ism_change_state).
924 * ospf_ism.c: (ospf_dr_election) Remove logic to join or leave
925 the DRouters multicast group (now handled by ism_change_state's call
926 to ospf_if_set_multicast).
927 (ism_change_state) Add call to ospf_if_set_multicast to change
928 multicast memberships as necessary to reflect the new interface state.
929 * ospf_packet.c: (ospf_hello) When a Hello packet is received on a
930 passive interface: 1. Increase the severity of the error message
931 from LOG_INFO to LOG_WARNING; 2. Add more information to the error
932 message (packet destination address and interface address);
933 and 3. If the packet was sent to ospf-all-routers, then try
934 to fix the multicast group memberships.
935 (ospf_read) When a packet is received on an interface whose state
936 is ISM_Down, enhance the warning message to show the packet
937 destination address, and try to update/fix the multicast group
938 memberships if the packet was sent to a multicast address.
939 When a packet is received for ospf-designated-routers, but the
940 current interface state is not DR or BDR, then increase the
941 severity level of the error message from LOG_INFO to LOG_WARNING,
942 and try to fix the multicast group memberships.
943 * ospf_vty.c: (ospf_passive_interface) Call ospf_if_set_multicast for
944 any ospf interface that may have changed from active to passive.
945 (no_ospf_passive_interface) Call ospf_if_set_multicast for
946 any ospf interface that may have changed from passive to active.
947 (show_ip_ospf_interface_sub) Show multicast group memberships.
948
paul3a9eb092005-02-08 11:29:41 +00009492005-02-08 Paul Jakma <paul@dishone.st>
950
951 * ospf_packet.c: (various) Remove unneeded stream_set_putp abuse.
952
ajs847947f2005-02-02 18:38:48 +00009532005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
954
955 * ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down,
956 not for event ISM_InterfaceDown. And improve the message by
957 adding the interface flags.
958
ajs0b7d97d2005-01-30 17:24:02 +00009592005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
960
961 * ospf_network.c: (ospf_sock_init) Save errno before calling
962 ospfd_privs.change.
963
ajsc3eab872005-01-29 15:52:07 +00009642005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
965
966 * ospf_packet.c: (ospf_packet_add) If oi->obuf is NULL, print
967 an error message and return.
968 (ospf_read) If the interface state is ISM_InterfaceDown, issue
969 a warning message and ignore the packet.
970
gdt86f1fd92005-01-10 14:20:43 +00009712005-01-10 Greg Troxel <gdt@fnord.ir.bbn.com>
972
973 * ospf_packet.h: Remove commented out definition of
974 OSPF_MAX_PACKET; neither it or the uncommented one are used any more.
975
976 * ospf_packet.c (ospf_make_ls_upd): Leave room for authentication
977 when deciding if an update will fit.
978 (ospf_packet_authspace): Factor out calculation of size required
979 for authentication.
980 (ospf_make_db_desc): Use ospf_max_packet, not OSPF_MAX_PACKET.
981 Don't confuse readers that there is a macro.
982
ajs3dc56b52004-12-30 15:11:19 +00009832004-12-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
984
985 * ospf_network.c: Improve all setsockopt error messages to give detailed
986 information on the arguments.
987
ajsb87f7722004-12-29 20:41:26 +00009882004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
989
ajs17eaa722004-12-29 21:04:48 +0000990 * ospf_packet.c: (ospf_db_desc) Reduce severity of "Negotiation done"
991 messages from LOG_WARNING to LOG_INFO, since this seems to be
992 normal.
993
9942004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
995
ajsb87f7722004-12-29 20:41:26 +0000996 * ospf_packet.c: (ospf_read) Always look up the interface if
997 ospf_recv_packet returns NULL ifp, since some platforms such
998 as Solaris 8 appear to support ifindex retrieval but don't.
999
hasso1d806282004-12-22 09:43:20 +000010002004-12-22 Hasso Tepper <hasso at quagga.net>
1001
1002 * ospf_dump.c: Show debug configuration in vtysh.
hassoc6b87812004-12-22 13:09:59 +00001003 * ospf_vty.c: Fix "show ip ospf" output. Router can't be elected in
1004 any case if it's configured as "translate-never".
hassofe71a972004-12-22 16:16:02 +00001005 * ospf_lsdb.[ch]: New function to calculate sum of checksums.
1006 * ospf_vty.c: Bugfix to show really number of AS external LSAs, not
1007 number of all LSAs with AS scope, this includes opaque as LSAs as
1008 well, show this number separately. Show numbers and sums of
1009 checksums for each type of LSAs.
1010 * ospf_lsa.c: Calculate checksum before putting LSA into database.
hasso1d806282004-12-22 09:43:20 +00001011
ajsbc18d612004-12-15 15:07:19 +000010122004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1013
1014 * ospf_interface.h: Declare new function ospf_default_iftype.
1015 * ospf_interface.c: (ospf_default_iftype) New function to centralize
1016 this logic in one place.
1017 * ospf_zebra.c: (ospf_interface_add) Use new function
1018 ospf_default_iftype.
1019 * ospf_vty.c: (no_ip_ospf_network,config_write_interface) Fix logic
1020 by using new function ospf_default_iftype.
1021
ajs3aa8d5f2004-12-11 18:00:06 +000010222004-12-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1023
1024 * ospf_packet.c: (ospf_db_desc) Should be static, not global.
1025 (ospf_hello,ospf_db_desc,ospf_ls_upd,ospf_ls_ack) Improve warning
1026 messages to include identifying information (e.g. router id).
1027 * ospf_nsm.c: (nsm_change_state) Improve info message to include
1028 router id and state names.
1029
gdt91f3e522004-12-09 14:51:03 +000010302004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
1031
gdt3fb9de72004-12-09 16:30:04 +00001032 * ospf_apiserver.c (ospf_apiserver_term): Obtain struct
1033 ospf_apiserver * from listnode. Remove unused variables. Follows
1034 suggestion from Jay Fenlason.
gdt91f3e522004-12-09 14:51:03 +00001035
ajs9b0e25c2004-12-08 19:06:51 +000010362004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1037
1038 * *.c: Change level of debug messages to LOG_DEBUG.
1039
ajs274a4a42004-12-07 15:39:31 +000010402004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1041
1042 * ospf_main.c: (main) The 2nd argument to openzlog has been removed.
1043
ajs887c44a2004-12-03 16:36:46 +000010442004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1045
ajs1210fa62004-12-03 16:43:24 +00001046 * ospf_packet.c: (ospf_db_desc) Reduce priority on a debug message
1047 from LOG_NOTICE to LOG_DEBUG.
1048
10492004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1050
ajs887c44a2004-12-03 16:36:46 +00001051 * ospf_main.c: (sigint) Use zlog_notice for termination message.
1052 (main) Issue a startup announcement using zlog_notice.
1053
ajsbec595a2004-11-30 22:38:43 +000010542004-11-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1055
1056 * ospf_packet.c: (ospf_db_desc_proc) Fix spelling of packet in warning
1057 message and in comment.
1058 (ospf_db_desc) Warning message that a packet is being discarded
1059 should give the router id of the packet source. Fix spelling
1060 of packet in two warning messages.
1061 (ospf_ls_req) Warning message that a link state request is being
1062 discarded should give the router id of the neighbor that sent it.
1063
ajs5b85fac2004-11-26 19:36:42 +000010642004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1065
1066 * ospf_main.c: Remove #include "debug.h" (was not being used, and
1067 lib/debug.h has now been deleted).
1068
hassoc0652302004-11-25 19:33:48 +000010692004-11-25 Hasso Tepper <hasso at quagga.net>
1070
1071 * ospf_main.c: Make group to run as configurable.
1072
gdt69e13252004-11-15 18:51:15 +000010732004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
1074
1075 * ospf_packet.c (ospf_recv_packet): Assume CMSG_SPACE is present
1076 and works (lib/zebra.h provides if OS doesn't).
1077
paul788dab12004-11-15 11:48:37 +000010782004-11-15 Paul Jakma <paul@dishone.st>
1079
1080 * ospf_{apiserver,te}.c: ospf_lsa_free's should be ospf_lsa_unlock.
1081
paul05e85fa2004-11-12 10:52:19 +000010822004-11-12 Paul Jakma <paul@dishone.st>
1083
1084 * ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to
1085 ignore stub area summary default. Even so it seems a strange
1086 check, add a comment to that effect.
1087
paulf3ae74c2004-11-04 20:35:31 +000010882004-11-04 Paul Jakma <paul@dishone.st>
1089
1090 * ospfd.c: (ospf_network_match_iface) revert to previous network
1091 statement match behaviour.
1092
paul62d8e962004-11-02 20:26:45 +000010932004-11-02 Paul Jakma <paul@dishone.st>
1094
1095 * ospf_packet.c: (ospf_write_frags) remove iov arg, msg already points
1096 to it. Add convenience pointer to msg->msg_iov[1], and use this,
1097 fixing the unfortunate borkenness introduced in moving of this code
1098 to a function.
1099 (ospf_write) remove iovp and fix up call to previous.
1100 (ospf_ls_upd_packet_new) cast size to long int - unfortunately
1101 glibc's size_t format modifier is not portable.
1102
paul37ccfa32004-10-31 11:24:51 +000011032004-10-31 Paul Jakma <paul@dishone.st>
1104
1105 * ospf_packet.c: (ospf_write_frags) Add debug output
1106 (ospf_write) set type early, so we can pass it to
1107 ospf_write_frags.
1108 (ospf_ls_upd_packet_new) print size in debug output when too large
1109 packet is encountered.
paul64511f32004-10-31 18:01:13 +00001110 * ospf_zebra.c: (ospf_distribute_list_update_timer) Ugly misuse of
1111 THREAD_ARG to store an integer, but it should at least use same
1112 same type to retrieve the value. Assert value is sane.
paul37ccfa32004-10-31 11:24:51 +00001113
paulac191232004-10-22 12:05:17 +000011142004-10-22 Paul Jakma <paul@dishone.st>
1115
1116 * ospf_network.c: (ospf_sock_init) call neutral setsock_ifindex()
1117 function.
1118 * ospf_packet.c: (ospf_read) manually look up ifindex
paul4ccb2c42004-10-22 22:52:33 +00001119 if system could not have returned one, eg openbsd, thanks to Rivo
1120 Nurges for highlighting problem and fix.
paul06f953f2004-10-22 17:00:38 +00001121 Change setsockopt_pktinfo to setsockopt_ifindex.
paulac191232004-10-22 12:05:17 +00001122
hasso3fb9cd62004-10-19 19:44:43 +000011232004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
1124
1125 * ospf_snmp.c: (ospf_snmp_if_update) Fix logic to handle PtP links
1126 with dedicated subnets properly.
1127 * ospf_lsa.c: (lsa_link_ptop_set) ditto.
1128 * ospfd.c: (ospf_network_match_iface) ditto.
1129 (ospf_network_run) ditto.
1130 * ospf_interface.c: (ospf_if_is_configured) ditto.
1131 (ospf_if_lookup_by_prefix) ditto.
1132 (ospf_if_lookup_recv_if) ditto.
1133 * ospf_vty.c: (show_ip_ospf_interface_sub) Display the peer or
1134 broadcast address if present.
1135
hassod68614d2004-10-13 09:32:48 +000011362004-10-13 Hasso Tepper <hasso at quagga.net>
1137
1138 * ospf_main.c: Unbreak compilation with ospfapi disabled.
hassoc75105a2004-10-13 10:33:26 +00001139 * ospf_snmp.c: Remove defaults used to initialize smux connection to
1140 snmpd. Connection is initialized only if smux peer is configured.
hassod68614d2004-10-13 09:32:48 +00001141
hassof4d58ce2004-10-12 06:13:54 +000011422004-10-12 Hasso Tepper <hasso at quagga.net>
1143
1144 * ospf_main.c, ospf_opaque.c: Unbreak ospfclient compilation - move
1145 static variable from ospf_main.c into ospf_opaque.c.
1146
hassoc3abdb72004-10-11 16:27:03 +000011472004-10-11 Hasso Tepper <hasso at quagga.net>
1148
1149 * ospf_main.c, ospf_opaque.c: Disable ospfapi init by default. New
1150 command line switch to enable it.
1151
paul6b333612004-10-11 10:11:25 +000011522004-10-11 Paul Jakma <paul@dishone.st>
1153
1154 * ospf_dump.c: (ospf_ip_header_dump) Assume header is in host order
1155 remove ntohs that should have dissappeared. Take struct ip
1156 as argument, caller has to know there's an IP header at start of
1157 stream anyway.
1158 * ospf_dump.h: update declaration of ospf_ip_header_dump.
1159 * ospf_packet.c: (ospf_write) correct call to
1160 sockopt_iphdrincl_swab_htosys which was munging the header.
1161 (ospf_recv_packet) ip_len is needed for old OpenBSD fixup.
1162 (ospf_read) sockopt_iphdrincl_swab_systoh ip header as soon as
1163 we have it.
paul6c835672004-10-11 11:00:30 +00001164 * (global) Const char update and signed/unsigned fixes.
1165 * (various headers) size defines should be unsigned.
1166 * ospf_interface.h: remove duplicated defines, include the
1167 authoritative header - though, these defines should probably
1168 be moved to a dedicated header, or ospfd.h.
1169 * ospf_lsa.h: (struct lsa) ls_seqnum should be unsigned.
1170 * ospf_packet.c: (ospf_write) cast result of shift to unsigned.
paul6b333612004-10-11 10:11:25 +00001171
hassoeb1ce602004-10-08 08:17:22 +000011722004-10-08 Hasso Tepper <hasso at quagga.net>
1173
1174 * *.[c|h]: Fix compiler warnings: make some strings const, signed ->
1175 unsigned, remove unused variables etc.
1176
gdt54ade992004-10-07 19:38:20 +000011772004-10-07 Greg Troxel <gdt@claude.ir.bbn.com>
1178
1179 * ospf_apiserver.c (ospf_apiserver_unregister_opaque_type): Don't
1180 use of variable names 'node' and 'nextnode' to avoid possible
1181 conflict with list macros. Move variable declaration inside for
1182 loop after a statement to top of function.
1183
paulaa20c6f2004-10-07 14:19:36 +000011842004-10-07 Paul Jakma <paul@dishone.st>
1185
1186 * ospf_snmp.c: Missed list typedef update
1187 * ospf_dump.c: Include sockopt.h for header swab functions.
1188
paul18b12c32004-10-05 14:38:29 +000011892004-10-05 Paul Jakma <paul@dishone.st>
1190
1191 * ospf_packet.c: replace ospf_swap_iph_to... with
1192 sockopt_iphdrincl_swab_...
1193
hasso18a6dce2004-10-03 18:18:34 +000011942004-10-03 James R. Leu <jleu at mindspring.com>
1195
1196 * ospf_zebra.c: Read router id related messages from zebra daemon.
1197 Schedule router-id update thread if it's changed.
1198 * ospfd.c: Remove own router-id selection function. Use router id from
1199 zebra daemon if it isn't manually overriden in configuration.
1200
paul68defd62004-09-27 07:27:13 +000012012004-09-27 Paul Jakma <paul@dishone.st>
1202
paul6a99f832004-09-27 12:56:30 +00001203 * ospf_dump.c: (ospf_ip_header_dump) Use HAVE_IP_HDRINCL_BSD_ORDER
1204 Apply to offset too. Print ip_cksum, lets not worry about
1205 possible 2.0.37 compile problems.
1206 * ospf_packet.c: (ospf_swap_iph_to{n,h}) Use
1207 HAVE_IP_HDRINCL_BSD_ORDER.
1208 (ospf_recv_packet) ditto.
1209 (ospf_write) Fixup iov argument to ospf_write_frags.
1210 (struct msghdr).msg_name is caddr_t on most platforms.
paul68defd62004-09-27 07:27:13 +00001211 (ospf_recv_packet) ditto. And msg_flags is not always there
1212 memset struct then set fields we care about rather than
1213 initialise all fields individually.
1214
hassoc9e52be2004-09-26 16:09:34 +000012152004-09-26 Hasso Tepper <hasso at quagga.net>
1216
1217 * ospf_abr.c, ospf_dump.c, ospf_lsa.c, ospf_packet.c, ospf_vty.c,
1218 ospf_zebra.c: Fix compiler warnings.
1219
paul87d6f872004-09-24 08:01:38 +000012202004-09-24 Paul Jakma <paul@dishone.st>
1221
1222 * ospf_apiserver.{c,h}: lists typedef removal cleanup.
1223 update some list loops to LIST_LOOP. some miscellaneous indent
1224 fixups.
1225 (ospf_apiserver_unregister_opaque_type) fix listnode_delete of
1226 referenced node in loop.
paul1603c062004-09-24 08:23:24 +00001227 (ospf_apiserver_term) loops calling ospf_apiserver_free, which
1228 deletes referenced nodes from apiserver_list, fixed.
paul87d6f872004-09-24 08:01:38 +00001229 * ospf_interface.h: lists typedef removal cleanup.
1230 * ospf_opaque.{c,h}: lists typedef removal cleanup. update some list
1231 loops to LIST_LOOP. miscellaneous style and indent fixups.
1232 * ospf_te.{c,h}: ditto
1233 * ospf_packet.c: lists typedef removal cleanup.
paula2570682004-09-24 08:09:57 +00001234 (ospf_write) ifdef fragmentation support. move actual
1235 fragmentation out to a new, similarly ifdefed, function.
1236 (ospf_write_frags) fragmented write support, moved from previous.
paul87d6f872004-09-24 08:01:38 +00001237
hasso52dc7ee2004-09-23 19:18:23 +000012382004-09-23 Hasso Tepper <hasso at quagga.net>
1239
1240 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
1241
paul68b73392004-09-12 14:21:37 +000012422004-09-12 Paul Jakma <paul@dishone.st>
1243
1244 * ospf_packet.c: Fix bugzilla #107
1245 (ospf_packet_max) get rid of the magic 88 constant
1246 (ospf_swab_iph_ton) new function. set ip header to network order,
1247 taking BSDisms into account.
1248 (ospf_swab_iph_toh) the inverse.
1249 (ospf_write) Add support for IP fragmentation, will only work on
1250 linux though, other kernels make it impossible. get rid of the
1251 magic 4 constant.
1252 (ospf_make_ls_upd) Bound check to end of stream, not to
1253 interface mtu.
1254 (ospf_ls_upd_packet_new) New function, allocate upd packet
1255 taking oversized LSAs into account.
1256 (ospf_ls_upd_queue_send) use ospf_ls_upd_packet_new to allocate,
1257 rather than statically allocating mtu sized packet buffer, which
1258 actually was wrong - it didnt take ip header into account, which
1259 should not be included in packet buffer.
1260 (ospf_ls_upd_send_queue_event) minor tweaks and remove
1261 TODO comment.
1262
gdt630e4802004-08-31 17:28:41 +000012632004-08-31 David Wiggins <dwiggins@bbn.com>
1264
1265 * ospf_spf.c (ospf_spf_calculate): Many more comments and debug
1266 print statements. New function ospf_vertex_dump used in debugging.
1267
12682004-08-31 David Wiggins <dwiggins@bbn.com>
1269
1270 * ospf_spf.h (struct vertex): Comments for flags and structure members.
1271
12722004-08-31 David Wiggins <dwiggins@bbn.com>
1273
1274 * ospf_route.c: When finding an alternate route, log cost as well.
1275
12762004-08-31 David Wiggins <dwiggins@bbn.com>
1277
1278 * ospf_interface.c (ospf_lookup_if_params): Initialize af in
1279 struct prefix allocated on stack.
1280
12812004-08-31 David Wiggins <dwiggins@bbn.com>
1282
1283 * ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send
1284 acks to AllSPFRouters, rather than All-DR.
1285
hasso7b901432004-08-31 13:37:42 +000012862004-08-27 Hasso Tepper <hasso at quagga.net>
1287
1288 * ospf_vty.c: Don't print ospf network type under interface only
1289 if interface is in broadcast mode and interface type really is
1290 broadcast. Fixes Bugzilla #108.
1291
gdtd7d93992004-08-27 12:03:42 +000012922004-08-27 David Wiggins <dwiggins@bbn.com>
1293
1294 * ospf_spf.c (ospf_nexthop_calculation): Initialize address family
1295 in on-stack struct prefix_ipv4. Fixes point-to-multipoint SPF
1296 calculation.
1297
gdtd0deca62004-08-26 13:14:07 +000012982004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
1299
1300 * ospf_packet.c (ospf_recv_packet): adjust size declaration of
gdtd7d93992004-08-27 12:03:42 +00001301 buffer used to get interface index so that it compiles on other
1302 than Linux and includes the required alignment space. Probably
1303 this was only working on sparc/sparc64 because most of
1304 sockaddr_dl was not being written.
gdtd0deca62004-08-26 13:14:07 +00001305
paul863082d2004-08-19 04:43:43 +000013062004-08-19 Paul Jakma <paul@dishone.st>
1307
1308 * ospf_packet.c: update to match sockopt renames.
1309
paul75ee0b82004-08-05 09:10:31 +000013102004-08-04 Paul Jakma <paul@dishone.st>
1311
1312 * ospf_spf.c: (ospf_spf_consider_nexthop) Add comment about issue.
1313 Compare only against list head - all nexthops must be same cost
1314 anyway, fixes a reference-listnode-after-delete bug noted by
1315 Kir Kostuchenko.
1316 (ospf_nexthop_calculation) Use ospf_spf_consider_nexthop for all
1317 candidates attached to root.
1318
paul36c64ef2004-07-27 11:19:11 +000013192004-07-27 Paul Jakma <paul@dishone.st>
1320
paul48fe13b2004-07-27 17:40:44 +00001321 * ospf_packet.c: (ospf_ls_upd_send_queue_event) fix thinko from
1322 last fix for ospfd wedging due to oversize LSAs: dont list loop on
1323 ospf_ls_upd_queue_send() - guaranteed segfault.
1324
13252004-07-27 Paul Jakma <paul@dishone.st>
1326
paul36c64ef2004-07-27 11:19:11 +00001327 * ospf_opaque.c: (ospf_opaque_lsa_flush_schedule) do not NULL out
1328 the LSA as then free_opaque_info_per_id() can never unlock (and
1329 free) the LSA. Reported by Gunnar Stigen.
1330
paul2dd8bb42004-07-23 15:13:48 +000013312004-07-23 Paul Jakma <paul@dishone.st>
1332
1333 * ospf_network.c: Replace PKTINFO/RECVIF with call to
1334 setsockopt_pktinfo
1335 * ospf_packet.c: Use getsockopt_pktinfo_ifindex and
1336 SOPT_SIZE_CMSG_PKTINFO_IPV4.
1337
paul59ea14c2004-07-14 20:50:36 +000013382004-07-14 Paul Jakma <paul@dishone.st>
1339
1340 * ospf_packet.c: (ospf_ls_upd_send_queue_event) Partial fix for
1341 problem reported by Peter Frost amongst others, where function
1342 will spin indefinitely if update list contains LSAs greater than
1343 MTU-headers or other condition leading to update list never being
1344 cleared. Problem of what to do with these LSAs remains.
1345 (ospf_make_ls_upd) add comment about large LSA problem,
1346 indentation cleanup.
1347
gdtb2c1b282004-07-01 12:35:36 +000013482004-07-01 Greg Troxel <gdt@fnord.ir.bbn.com>
1349
1350 * Makefile.am (lib_LTLIBRARIES): make libospf shared
1351
gdt87efd642004-06-30 17:36:11 +000013522004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1353
1354 * Makefile.am: Add shlib support.
1355
hassobeebba72004-06-20 21:00:27 +000013562004-06-10 Hasso Tepper <hasso@estpak.ee>
1357
1358 * *: Removed ifdefs HAVE_NSSA.
1359
paul553ff112004-06-06 09:41:00 +000013602004-06-06 Paul Jakma <paul@dishone.st>
1361
1362 * ospf_dump.c,ospf_lsa.c: Fix typos of merge of previous.
1363 ospf_flood.c: (ospf_process_self_originated_lsa) fix zlog format
1364
paul0c2be262004-05-31 14:16:54 +000013652004-05-31 Sagun Shakya <sagun.shakya@sun.com>
1366
1367 * ospf_dump.c: (ospf_lsa_header_dump) LOOKUP can return null if
1368 index is out of range.
1369 ospf_flood.c: endianness fix
1370 ospf_lsa.c: Missing ntohl's on (struct lsa *)->data->ls_seqnum
1371 in various places.
1372
hassodd669bb2004-05-10 07:43:59 +000013732004-05-10 Hasso Tepper <hasso@estpak.ee>
1374
1375 * ospf_zebra.c, ospfd.c: Move ospf_prefix_list_update() function
1376 to ospf_zebra.c from ospfd.c and add redistribution updates if
1377 route-map is used in redistribution.
1378 * ospf_main.c: Remove now useless call to ospf_init().
1379
paul0a589352004-05-08 11:48:26 +000013802004-05-08 Paul Jakma <paul@dishone.st>
1381
1382 * ospf_zebra.c: Sync with lib/zclient changes
1383
pauld3f0d622004-05-05 15:27:15 +000013842004-05-05 Paul Jakma <paul@dishone.st>
1385
paul5bd41892004-05-05 17:29:24 +00001386 * ospf_network.c: (ospf_sock_init) Check whether IP_HDRINCL is
1387 defined. Warn at compile and runtime. Use
1388 IPTOS_PREC_INTERNETCONTROL otherwise.
pauld3f0d622004-05-05 15:27:15 +00001389 * ospf_packet.c: (ospf_associate_packet_vl) cleanup, move
1390 some of the checks up to ospf_read, return either a
1391 virtual link oi, or NULL.
1392 (ospf_read) Cleanup, make it responsible for checks. Remove
1393 the nbr lookup - moved to ospf_neighbor. Adjust all nbr
1394 lookups to use new wrappers exported by ospf_neighbor.
1395 * ospf_neighbor.h: Add ospf_neigbour_get and ospf_nbr_lookup.
1396 * ospf_neighbor.c: (ospf_neigbour_get) Index ospf_interface
1397 neighbour table by router-id for virtual-link ospf_interfaces,
1398 not by peer_addr (which breaks for asymmetric vlinks)
1399 (ospf_nbr_lookup) add a wrapper for nbr lookups to deal with
1400 above.
paulcd59da62004-05-05 17:26:55 +00001401 * ospf_interface.c: (ospf_vl_set_params) Catch changes of interface
1402 address for either end of a virtual-link, and hence potential cost
1403 changes.
1404
hassoa0a39762004-04-23 08:51:10 +000014052004-04-22 Hasso Tepper <hasso@estpak.ee>
1406
1407 * ospf_zebra.c: Don't ignore reject/bh routes, it's the only way
1408 to "summarize" routes in ASBR at the moment.
1409
hasso8585d4e2004-04-20 17:25:12 +000014102004-04-20 Hasso Tepper <hasso@estpak.ee>
1411
1412 * ospfd.c: Unset NP flag if area is going to be normal or stub.
1413 Fixes UNH OSPF_NSSA.1.2a comment.
1414 * ospf_abr.c: Originate default into stub/nssa area even if
1415 summaries are disabled.
1416 * ospf_zebra.c: Don't attempt to redistribute 127.0.0.0/8.
1417
hassoc266ac72004-04-19 17:31:00 +000014182004-04-19 Hasso Tepper <hasso@estpak.ee>
1419
1420 * ospf_vty.c: Don't warn that export- and import-list can't be
1421 configured to backbone area if they are applied and are working
1422 fine.
1423
hasso128d31d2004-04-04 12:52:33 +000014242004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1425
1426 * ospf_packet.c: Don't drop packets in Solaris x86.
1427 [quagga-dev 1005].
1428
hasso0d85b992004-03-18 19:18:33 +000014292004-03-18 Amir Guindehi <amir@datacore.ch>
1430
1431 * ospf_opaque.c: Attempt to correct the incorrect behavior of
1432 Quagga's ospfd in the special situation that a node's opaque
1433 capability has changed as "ON -> OFF -> ON". [quagga-dev 843].
1434
paul7f352b82004-02-19 19:37:47 +000014352004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1436
1437 * ospf_abr.c: (ospf_abr_update_aggregate) UNH 3.12b,c, address range
1438 should be configured with the highest cost path within the range,
1439 not lowest.
1440
paul940b01a2004-02-17 20:07:30 +000014412004-02-17 Paul Jakma <paul@dishone.st>
1442
1443 * ospf_zebra.c: (ospf_interface_delete) Do not delete the interface
1444 params, nor the interface structure, if an interface delete
1445 message is received from zebra.
1446 * ospf_interface.c: (ospf_if_delete_hook) Delete the interface
1447 params and interface, ie that which was previously removed in
1448 (ospf_interface_delete) above.
1449
hasso2db3d052004-02-11 21:52:13 +000014502004-02-11 Hasso Tepper <hasso@estpak.ee>
1451 * ospf_interface.c, ospf_zebra.c: Don't attempt to read path->oi->ifp
1452 if oi doesn't exist any more.
1453
hassocb05eb22004-02-11 21:10:19 +000014542004-02-11 Vadim Suraev <vadim.suraev@terayon.com>
1455 * ospf_packet.c (ospf_ls_upd): Router should flush received network
1456 LSA if it was originated with older router-id ([zebra 14710] #6).
1457
14582003-12-08 Mattias Amnefelt <mattiasa@kth.se>
paul239aecc2003-12-08 10:34:54 +00001459
1460 * ospf_packet.c: (ospf_recv_packet) OpenBSD now leaves iph.ip_len
1461 network byte order.
1462
gdt8f40e892003-12-05 14:01:43 +000014632003-12-05 Greg Troxel <gdt@poblano.ir.bbn.com>
1464
1465 * ospfd.c (ospf_network_match_iface): Rewrite code for clarity
1466 while trying not to change semantics. Add ifdefed-out code to
1467 avoid matching ppp interfaces whose destination address does not
1468 also match the prefix under consideration, to help out people with
1469 problems due to as-yet-unfixed bugs with p2p interfaces coming and
1470 going.
1471
paul736d3442003-07-24 23:22:57 +000014722003-07-25 kamatchi soundaram <kamatchi@tdd.sj.nec.com>
1473
1474 * ospf_packet.c (ospf_ls_upd_send_queue_event): get next route
1475 node in body of the loop to avoid chance that route node
1476 is unlocked and deleted before the next iteration tries to
1477 get next route node.
1478
paul0a825c72003-05-24 13:48:16 +000014792003-05-24 Kenji Yabuuchi
1480
1481 * ospf_interface.c(ospf_if_lookup_recv_if): Use the most specific
1482 match for interface lookup.
1483
paul551a8972003-05-18 15:22:55 +000014842003-05-18 Hasso Tepper <hasso@estpak.ee>
paul445f1432003-05-16 19:00:31 +00001485
paul551a8972003-05-18 15:22:55 +00001486 * ospf_vty.c: Show NSSA LSA route info in "show ip ospf database"
1487 output
paul445f1432003-05-16 19:00:31 +00001488
pauld7480322003-05-16 17:31:51 +000014892003-05-16 Hasso Tepper <hasso@estpak.ee>
1490
1491 * ospf_lsa.c: Fix handling of NSSA
1492
paul551a8972003-05-18 15:22:55 +000014932003-04-23 Hasso Tepper <hasso@estpak.ee>
1494
1495 * ospf_vty.c: fix "router xxx" node commands in vtysh
1496
paul445f1432003-05-16 19:00:31 +000014972003-04-19 Hasso Tepper <hasso@estpak.ee>
1498
1499 * {ospf_abr,ospfd}.c: area id's DECIMAL -> ADDRESS
1500 * ospf_routemap.c: sync daemon's route-map commands to have same
1501 syntax.
1502
15032003-04-19 Sergey Vyshnevetskiy <serg@vostok.net>
1504
1505 * ospf_packet.c: Add missing param to zlog
1506 * ospf_flood.c: remove unused vars
1507
15082003-04-17 Denis Ovsienko <zebra@pilot.org.ua>
1509
1510 * ospf_interface.c: fix incorrect memset
1511
paul28a13842003-05-16 20:30:37 +000015122003-04-10 Amir Guindehi <amir@datacore.ch>
paul445f1432003-05-16 19:00:31 +00001513
1514 * ospf_lsa.[ch]: opaque LSA fix, use ospf_lookup.
1515
15162003-04-03 David Watson <dwatson@eecs.umich.edu>
1517
1518 * ospf_lsa.c: byte order fix
1519
paul07661cb2003-03-18 00:03:05 +000015202002-03-17 Amir Guindehi <amir@datacore.ch>
1521
1522 * ospf_apiserver.[ch]: Merge Ralph Keller's OSPFAPI support.
1523 * ospf_api.[ch]: Merge Ralph Keller's OSPFAPI support.
1524 * ospfclient: OSPFAPI demonstration client.
1525
15262003-01-23 Masahiko Endo <endo@suri.co.jp>
1527
1528 * ospf_ism.c: NSM event schedule bug fix.
1529
15302002-10-30 Greg Troxel <gdt@ir.bbn.com>
1531
1532 * ospf_packet.c (ospf_make_md5_digest): MD5 length fix.
1533
paul718e3742002-12-13 20:15:29 +000015342002-10-23 endo@suri.co.jp (Masahiko Endo)
1535
1536 * ospf_opaque.c: Update Opaque LSA patch.
1537
15382002-10-23 Ralph Keller <keller@tik.ee.ethz.ch>
1539
1540 * ospf_vty.c (show_ip_ospf_database): Fix CLI parse.
1541
15422002-10-23 Juris Kalnins <juris@mt.lv>
1543
1544 * ospf_interface.c (ospf_if_stream_unset): When write queue
1545 becomes empty stop write timer.
1546
15472002-10-10 Greg Troxel <gdt@ir.bbn.com>
1548
1549 * ospf_packet.c (ospf_check_md5_digest): Change >= to > to make it
1550 conform to RFC.
1551
15522002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1553
1554 * zebra-0.93 released.
1555
15562002-06-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1557
1558 * ospf_spf.c (ospf_nexthop_calculation): Add NULL set to oi and
1559 check of l2. Reported by: Daniel Drown <dan-zebra@drown.org>
1560 (ospf_lsa_has_link): LSA Length calculation fix. Reported by:
1561 Paul Jakma <paulj@alphyra.ie>.
1562
1563 * ospfd.c (ospf_if_update): Fix nextnode reference bug. Reported
1564 by: juris@mt.lv.
1565
15662002-01-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1567
1568 * ospfd.c: Merge [zebra 11445] Masahiko ENDO's Opaque-LSA support.
1569
15702001-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1571
1572 * ospf_interface.c (ospf_add_to_if): Use /32 address to register
1573 OSPF interface information.
1574 (ospf_delete_from_if): Likewise.
1575
1576 * ospf_zebra.c (ospf_interface_address_delete): Likewise.
1577
15782001-08-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1579
1580 * ospf_zebra.c (ospf_redistribute_unset): When redistribute type
1581 is OSPF, do not unset redistribute flag.
1582
15832001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1584
1585 * zebra-0.92a released.
1586
15872001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1588
1589 * zebra-0.92 released.
1590
15912001-08-12 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1592
1593 * ospfd.c (ospf_config_write): auto-cost reference-bandwidth
1594 configuration display.
1595
15962001-07-24 David Watson <dwatson@eecs.umich.edu>
1597
1598 * ospf_spf.c (ospf_spf_next): Modify ospf_vertex_add_parent to
1599 check for an existing link before connecting the parent and child.
1600 ospf_nexthop_calculation is also modified to check for duplicate
1601 entries when copying from the parent. Finally, ospf_spf_next
1602 removes duplicates when it merges two equal cost candidates.
1603
16042001-07-23 itojun@iijlab.net
1605
1606 * ospfd.c (show_ip_ospf_neighbor): Check ospf_top before use it
1607 [zebra 8549].
1608
16092001-07-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1610
1611 * ospf_packet.c (ospf_write): Remove defined(__OpenBSD__) to make
1612 it work on OpenBSD.
1613
16142001-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1615
1616 * ospf_zebra.c (config_write_ospf_default_metric): Display
1617 default-metric configuration.
1618
16192001-06-18 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1620
1621 * ospf_ia.h (OSPF_EXAMINE_SUMMARIES_ALL): Remove old macros.
1622
16232001-05-28 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1624
1625 * ospf_snmp.c (ospfIfEntry): Fix interface lookup bug to avoid
1626 crush.
1627 (ospfIfMetricEntry): Likewise.
1628
16292001-03-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1630
1631 * ospf_packet.c (ospf_read): Fix typo. Reported by: "Jen B
1632 Lin'Kova" <jen@stack.net>.
1633
16342001-03-15 Gleb Natapov <gleb@nbase.co.il>
1635
1636 * ospf_interface.c (ip_ospf_network): Set interface parameter.
1637 (interface_config_write): Add check for OSPF_IFTYPE_LOOPBACK.
1638
1639 * ospf_zebra.c (ospf_interface_add): Set interface parameter.
1640
16412001-02-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1642
1643 * ospf_packet.c (ospf_recv_packet): Solaris also need to add
1644 (iph.ip_hl << 2) to iph.ip_len.
1645
16462001-02-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1647
1648 * ospfd.h (OSPF_LS_REFRESH_TIME): Fix OSPF_LS_REFRESH_TIME value.
1649 Suggested by: David Watson <dwatson@eecs.umich.edu>.
1650
1651 * ospf_zebra.c (zebra_init): Remove zebra node.
1652
1653 * ospfd.c (ospf_area_range_set): Function name is changed from
1654 ospf_ara_range_cmd.
1655 (ospf_area_range_unset): New function which separated from DEFUN.
1656 New commands are added:
1657 "no area A.B.C.D range A.B.C.D/M advertise"
1658 "no area <0-4294967295> range A.B.C.D/M advertise"
1659 "no area A.B.C.D range A.B.C.D/M not-advertise"
1660 "no area <0-4294967295> range A.B.C.D/M not-advertise"
1661
1662 * ospf_lsa.c (ospf_lsa_more_recent): Fix previous change.
1663
16642001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
1665
1666 * ospf_network.c (ospf_if_add_allspfrouters): Use
1667 setsockopt_multicast_ipv4.
1668 (ospf_if_drop_allspfrouters): Likewise.
1669
1670 * ospf_lsa.c (ospf_router_lsa_install): Add rt_recalc flag.
1671 (ospf_network_lsa_install): Likewise.
1672 (ospf_summary_lsa_install): Likewise.
1673 (ospf_summary_asbr_lsa_install): Likewise.
1674 (ospf_external_lsa_install): Likewise.
1675 (ospf_lsa_install): Call ospf_lsa_different to check this LSA is
1676 new one or not.
1677
16782001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1679
1680 * ospf_zebra.c (ospf_interface_delete): Do not free interface
1681 structure when ospfd receive interface delete message to support
1682 pseudo interface.
1683
16842001-02-01 Dick Glasspool <dick@ipinfusion.com>
1685
1686 * ospfd.c (area_range_notadvertise): Change area range "suppress"
1687 command to "not-advertise".
1688
1689 * ospfd.h (OSPF_LS_REFRESH_TIME): Change OSPF_LS_REFRESH_TIME from
1690 1800 to 60.
1691
1692 * ospf_abr.c (ospf_abr_update_aggregate): When update_aggregate is
1693 updating the area-range, the lowest cost is now saved.
1694
1695 * ospf_lsa.c (ospf_lsa_more_recent): Routing to compare sequence
1696 numbers rather than creating overflow during calculation.
1697
16982001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1699
1700 * zebra-0.91 is released.
1701
17022001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1703
1704 * ospf_packet.c (ospf_db_desc_proc): Do not continue process when
1705 NSM_SeqNumberMismatch is scheduled.
1706 (ospf_ls_req): Free ls_upd when return from this function.
1707 (ospf_ls_upd_timer): When update list is empty do not call
1708 ospf_ls_upd_send(). Suggested by: endo@suri.co.jp (Masahiko
1709 Endo).
1710
17112001-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1712
1713 * ospf_lsa.c (ospf_maxage_flood): Flood LSA when it reaches
1714 MaxAge. RFC2328 Section 14.
1715 (ospf_maxage_lsa_remover): Call above function during removing
1716 MaxAge LSA.
1717
17182001-01-26 Dick Glasspool <dick@ipinfusion.com>
1719
1720 * ospf_flood.c (ospf_flood_through_as): Function is updated for
1721 NSSA Translations now done at ospf_abr.c with no change in P-bit.
1722
1723 * ospf_lsa.c (ospf_get_nssa_ip): Get 1st IP connection for Forward
1724 Addr.
1725 (ospf_install_flood_nssa): Leave Type-7 LSA at Lock Count = 2.
1726
1727 * ospf_ase.c (ospf_ase_calculate_route): Add debug codes.
1728
1729 * ospf_abr.c (ospf_abr_translate_nssa): Recalculate LSA checksum.
1730
1731 * ospf_packet.h (OSPF_SEND_PACKET_LOOP): Added for test packet.
1732
1733 * ospf_dump.c (ospf_lsa_type_msg): Add OSPF_GROUP_MEMBER_LSA and
1734 OSPF_AS_NSSA_LSA.
1735
1736 * ospfd.c (data_injection): Function to inject LSA. This is
1737 debugging command.
1738
17392001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1740
1741 * ospf_route.c (ospf_route_match_same): Remove function.
1742 (ospf_route_match_same_new): Renamed to ospf_route_match_same.
1743
1744 * ospf_zebra.c (ospf_interface_address_delete): Add check for
1745 oi->address. Suggested by Matthew Grant
1746 <grantma@anathoth.gen.nz>.
1747 (ospf_zebra_add): Remove function.
1748 (ospf_zebra_add_multipath): Rename to ospf_zebra_add.
1749
1750 * ospf_interface.c: Remove HAVE_IF_PSEUDO part.
1751
1752 * ospf_zebra.c: Likewise.
1753
17542001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1755
1756 * ospf_ase.c: Remove OLD_RIB part.
1757
1758 * ospf_route.c: Likewise.
1759
1760 * zebra-0.90 is released.
1761
1762 * ospf_packet.c (ospf_recv_packet): Use ip_len adjestment code to
1763 NetBSD.
1764
17652001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1766
1767 * ospf_route.c (ospf_route_delete): Use
1768 ospf_zebra_delete_multipath.
1769
17702001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1771
1772 * ospf_interface.c (ospf_if_cleanup): Function name is renamed
1773 from ospf_if_free(). Rewrite whole procudure to support primary
1774 address deletion.
1775
1776 * ospf_zebra.c (ospf_interface_address_delete): Add primary
1777 address deletion process.
1778
17792001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1780
1781 * ospf_packet.c (ospf_recv_packet): OpenBSD has same ip_len
1782 treatment like FreeBSD.
1783
17842001-01-09 endo@suri.co.jp (Masahiko Endo)
1785
1786 * ospf_packet.c (ospf_recv_packet): FreeBSD kernel network code
1787 strips IP header size from receiving IP Packet. So we adjust
1788 ip_len to whole IP packet size by adding IP header size.
1789
17902001-01-08 endo@suri.co.jp (Masahiko Endo)
1791
1792 * ospf_network.c (ospf_serv_sock): When socket() is failed return
1793 immediately.
1794 (ospf_serv_sock): Close socket when it is not used.
1795
1796 * ospf_packet.c (ospf_write): Set sin_len when HAVE_SIN_LEN is
1797 defined.
1798 (ospf_write): When bind is fined, close sock.
1799
18002001-01-07 Gleb Natapov <gleb@nbase.co.il>
1801
1802 * ospf_zebra.c (ospf_interface_state_up): Fixes coredump that
1803 appears when you try to configure bandwidth on the ppp interface
1804 that is not yet configured in ospfd.
1805
18062001-01-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1807
1808 * ospf_route.c (show_ip_ospf_route_external): "show ip ospf route"
1809 will print nexthops for AS-external routes.
1810
1811 * ospf_ase.c (ospf_ase_route_match_same): New function to compare
1812 ASE route under multipath environment.
1813 (ospf_ase_compare_tables): Likewise.
1814
18152001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1816
1817 * ospfd.h (OSPF_VTYSH_PATH): Change "/tmp/ospfd" to "/tmp/.ospfd".
1818
18192000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1820
1821 * ospf_route.c (ospf_route_install): Install multipath information
1822 to zebra daemon.
1823
1824 * ospf_zebra.c (ospf_zebra_add_multipath): Function for passing
1825 multipath information to zebra daemon.
1826
18272000-12-25 Dick Glasspool <dick@ipinfusion.com>
1828
1829 * ospf_packet.c (ospf_write): Call ospf_packet_delete when sendto
1830 fail.
1831 (DISCARD_LSA): Add argument N for logging point of DISCARD_LSA is
1832 called.
1833
1834 * ospf_lsa.c (ospf_external_lsa_refresh): NSSA install_flood will
1835 leave Type-7 LSA at Lock Count = 2.
1836
1837 * ospf_flood.c (ospf_flood_through): Flood_though_as updated for
1838 NSSA no P-bit off during Area flooding, but P-bit is turned off
1839 for mulitple NSSA AS flooding.
1840
1841 * ospf_ase.c (ospf_ase_calculate_timer): Added calculations for
1842 Type-7 LSDB.
1843
1844 * ospf_abr.c (ospf_abr_translate_nssa): Removed one unlock call.
1845 (ospf_abr_announce_nssa_defaults): Corrected Debug from EVENT to
1846 NSSA.
1847
18482000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1849
1850 * ospf_zebra.c (ospf_zebra_read_ipv4): Checking the age of the
1851 found LSA and if the LSA is MAXAGE we should call refresh instead
1852 of originate.
1853
18542000-12-18 Dick Glasspool <dick@ipinfusion.com>
1855
1856 * ospf_abr.c: Removed redundant "...flood" in
1857 announce_network_to_area(). Repaired nssa Unlock by using
1858 discard.
1859
1860 * ospf_packet.c: Removed old NSSA translate during mk_ls_update.
1861
1862 * ospfd.c: Free up all data bases including NSSA.
1863
1864 * ospf_lsa.c: Now allow removal of XLATE LSA's Check in
1865 discard_callback. Added routine to get ip addr from within the
1866 ifp.
1867
1868 * ospf_flood.c: Now set Forward Address for outgoing Type-7.
1869
1870 * ospf_lsa.h: Added prototype for the below. struct in_addr
1871 ospf_get_ip_from_ifp (struct interface *ifp).
1872
18732000-12-14 Gleb Natapov <gleb@nbase.co.il>
1874
1875 * ospf_packet.c (ospf_recv_packet): New OSPF pakcet read method.
1876 Now maximum packet length may be 65535 bytes (maximum IP packet
1877 length).
1878
1879 * ospf_interface.c (ospf_if_stream_set): Don't make input buffer.
1880
1881 * ospfd.c (config_write_network_area): Remove unnecessary area
1882 lookup code.
1883
18842000-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1885
1886 * ospf_packet.c (ospf_read): Accept packet bigger than MTU value.
1887
18882000-12-13 Gleb Natapov <gleb@nbase.co.il>
1889
1890 * ospfd.c (config_write_network_area): Fix bug in
1891 config_write_network_area function.
1892
18932000-12-12 Gleb Natapov <gleb@nbase.co.il>
1894
1895 * ospf_abr.c (ospf_abr_announce_network_to_area): Make Summary
1896 LSA's origination and refreshment as same as other type of LSA.
1897
1898 * ospf_lsa.c (ospf_summary_lsa_refresh): Return struct ospf_lsa *.
1899
1900 * ospf_lsa.c (ospf_summary_asbr_lsa_refresh): Likewise.
1901
19022000-12-08 Dick Glasspool <dick@ipinfusion.com>
1903
1904 The bulk of NSSA changes are contained herein; This version will
1905 require manual setting of "always" for NSSA Translator, and will
1906 not perform aggregation yet.
1907
1908 * ospf_dump.c: "debug ospf nssa" is added.
1909
1910 * ospf_dump.h: Likewise.
1911
1912 * ospf_packet.c (ospf_hello): Display router ID on Bad NSSA Hello.
1913
1914 * ospfd.c: Discard_LSA to stay away from LOCAL_XLT Process NSSA
1915 'never, candidate, always'. Change "suppress" to "not-advertise".
1916
1917 * ospfd.h: Add TranslatorRole to struct ospf_area. Add anyNSSA to
1918 struct ospf.
1919
1920 * ospf_ase.c (ospf_ase_calculate_route): External to stay away
1921 from LOCAL_XLT
1922
1923 * ospf_nsm.c (ospf_db_summary_add): External to stay away from
1924 LOCAL_XLT
1925
1926 * ospf_abr.c: Major logic added for abr_nssa_task(). If ABR, and
1927 NSSA translator, then do it. Approve the global list, and flush
1928 any unapproved.
1929
1930 * ospf_lsa.h: New LSA flag OSPF_LSA_LOCAL_XLT to indicate that the
1931 Type-5 resulted from a Local Type-7 translation; not used for
1932 flooding, but used for flushing.
1933
1934 * ospf_flood.c: New NSSA flooding.
1935
19362000-12-08 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1937
1938 * ospfd.c (ospf_find_vl_data): New function for looking up virtual
1939 link data.
1940 (ospf_vl_set_security): Virtual link configuration with
1941 authentication.
1942 (ospf_vl_set_timers): Set timers for virtual link.
1943
1944 * New commands are added.
1945 "area A.B.C.D virtual-link A.B.C.D"
1946 "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>"
1947 "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"
1948 "area A.B.C.D virtual-link A.B.C.D authentication-key AUTH_KEY"
1949 "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"
1950 "area A.B.C.D virtual-link A.B.C.D message-digest-key <1-255> md5 KEY"
1951
1952 * ospf_packet.c (ospf_check_md5_digest): Add neighbor's
1953 cryptographic sequence number treatment.
1954 (ospf_check_auth): OSPF input buffer is added to argument.
1955 (ospf_read): Save neighbor's cryptographic sequence number.
1956
1957 * ospf_nsm.c (nsm_change_status): Clear cryptographic sequence
1958 number when neighbor status is changed to NSM down.
1959
1960 * ospf_neighbor.c (ospf_nbr_new): Set zero to crypt_seqnum.
1961
1962 * ospf_neighbor.h (struct ospf_neighbor): Add cryptographic
1963 sequence number to neighbor structure.
1964
19652000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1966
1967 * ospf_snmp.c (ospfIfLookup): OSPF MIB updates.
1968 (ospfExtLsdbEntry): Add OspfExtLsdbTable treatment.
1969
19702000-11-28 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1971
1972 * ospfd.c (ospf_interface_down): Clear a ls_upd_queue queue of the
1973 interface.
1974 (ospf_ls_upd_queue_empty): New function to empty ls update queue
1975 of the OSPF interface.
1976 (no_router_ospf): 'no router ospf' unregister redistribution
1977 requests from zebra.
1978
19792000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1980
1981 * ospf_ism.c (ism_change_status): Increment status change number.
1982
1983 * ospf_interface.h (struct ospf_interface): Add new member for
1984 status change statistics.
1985
1986 * Makefile.am: Update dependencies.
1987
1988 * ospf_zebra.c (ospf_interface_add): OSPF SNMP interface update.
1989 (ospf_interface_delete): OSPF SNMP interface delete.
1990
1991 * ospf_snmp.h: New file is added.
1992
19932000-11-23 Dick Glasspool <dick@ipinfusion.com>
1994
1995 * ospfd.h: Add new ospf_area structure member for
1996 NSSATranslatorRole and NSSATranslator state.
1997
1998 * ospfd.c: Provided for eventual commands to specify NSSA
1999 elections for "translator- ALWAYS/NEVER/CANDIDATE". Provided for
2000 decimal integer version of area-suppress.
2001
2002 * ospf_flood.c: Flood Type-7's only into NSSA (not AS).
2003
2004 * ospf_lsa.c: Undo some previous changes for NSSA. If NSSA
2005 translator, advertise Nt bit.
2006
2007 * ospf_route.c: 1st version of "sh ip os border-routers".
2008
20092000-11-23 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2010
2011 * ospfd.c (area_vlink): Virtual link can not configured in stub
2012 area.
2013
20142000-11-23 Gleb Natapov <gleb@nbase.co.il>
2015
2016 * ospf_packet.c (ospf_db_desc): In states Loading and Full the
2017 slave must resend its last Database Description packet in response
2018 to duplicate Database Description packets received from the
2019 master. For this reason the slave must wait RouterDeadInterval
2020 seconds before freeing the last Database Description packet.
2021 Reception of a Database Description packet from the master after
2022 this interval will generate a SeqNumberMismatch neighbor
2023 event. RFC2328 Section 10.8
2024 (ospf_make_db_desc): DD Master flag treatment.
2025
2026 * ospf_nsm.c (nsm_twoway_received): Move DD related procedure to
2027 nsm_change_status().
2028 (nsm_bad_ls_req): Likewise.
2029 (nsm_adj_ok): Likewise.
2030 (nsm_seq_number_mismatch): Likewise.
2031 (nsm_oneway_received): Likewise.
2032
2033 * ospf_neighbor.h (struct ospf_neighbor): New structure member
2034 last_send_ts for timestemp when last Database Description packet
2035 was sent.
2036
2037 * ospf_nsm.c (ospf_db_desc_timer): Make it sure nbr->last_send is
2038 there. Call ospf_db_desc_resend() in any case.
2039
20402000-11-16 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2041
2042 * ospf_lsa.c (lsa_link_broadcast_set): When there is no DR on
2043 network (suppose you have only one router with interface priority
2044 0). It's router LSA does not contain the link information about
2045 this network.
2046
2047 * ospf_nsm.c (nsm_timer_set): When you change a priority of
2048 interface from/to 0 ISM_NeighborChange event should be scheduled
2049 in order to elect new DR/BDR on the network.
2050
2051 * ospf_interface.c (ip_ospf_priority): Likewise.
2052
2053 * ospf_flood.c (ospf_ls_retransmit_add): When we add some LSA into
2054 retransmit list we need to check whether the present old LSA in
2055 retransmit list is not more recent than the new
2056 one.
2057
20582000-11-09 Dick Glasspool <dick@ipinfusion.com>
2059
2060 * ospf_packet.c: Allows for NSSA Type-7 LSA's throughout the NSSA
2061 area. Any that exit the NSSA area are translated to type-5 LSA's.
2062 The instantiated image is restored after translation.
2063 (ospf_ls_upd_send_list): Renamed to ospf_ls_upd_queu_send().
2064 (ospf_ls_upd_send): Old function which enclosed by #ifdef 0 is
2065 removed.
2066 (ospf_ls_ack_send): Likewise.
2067
2068 * ospf_flood.c: NSSA-LSA's without P-bit will be restricted to
2069 local area. Otherwise they are allowed out the area to be
2070 translated by ospf_packet.c.
2071
2072 * ospf_lsa.c: Undo some previous changes for NSSA.
2073
2074 * ospf_lsdb.h: New access for type 7.
2075
20762000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2077
2078 * ospf_route.c (ospf_path_exist): New function to check nexthop
2079 and interface are in current OSPF path or not.
2080 (ospf_route_copy_nexthops_from_vertex): Add nexthop to OSPF path
2081 when it is not there. Reported by Michael Rozhavsky
2082 <mrozhavsky@opticalaccess.com>
2083
20842000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2085
2086 * ospf_dump.c (config_write_debug): Add seventh string "detail" is
2087 added for flag is OSPF_DEBUG_SEND | OSPF_DEBUG_RECV |
2088 OSPF_DEBUG_DETAIL.
2089
20902000-11-06 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2091
2092 * ospf_lsa.c (router_lsa_flags): ASBR can't exit in stub area.
2093
20942000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2095
2096 * ospf_lsa.c (ospf_router_lsa_originate): Reduce unconditional
2097 logging.
2098
20992000-11-06 Dick Glasspool <dick@ipinfusion.com>
2100
2101 * ospfd.h: Add ait_ntoa function prototype.
2102
2103 * ospfd.c (ait_ntoa): New function for displaying area ID and
2104 Stub/NSSA status.
2105 (show_ip_ospf_interface_sub): Use ait_ntoa.
2106 (show_ip_ospf_nbr_static_detail_sub): Likewise.
2107 (show_ip_ospf_neighbor_detail_sub): Likewise.
2108
2109 * ospf_route.c (ospf_intra_route_add): Set external routing type
2110 to ospf route.
2111 (ospf_intra_add_router): Likewise.
2112 (ospf_intra_add_transit): Likewise.
2113 (ospf_intra_add_stub): Likewise.
2114 (ospf_add_discard_route): Likewise.
2115 (show_ip_ospf_route_network): Use ait_ntoa.
2116 (show_ip_ospf_route_network): Likewise.
2117 (show_ip_ospf_route_router): Likewise.
2118
2119 * ospf_lsa.c (show_lsa_detail): Use ait_ntoa.
2120 (show_lsa_detail_adv_router): Likewise.
2121 (show_ip_ospf_database_summary): Likewise.
2122
2123 * ospf_route.h (struct route_standard): Add new member
2124 external_routing.
2125
2126 * ospf_ia.c (process_summary_lsa): Set external routing tyep to ospf
2127 route.
2128 (ospf_update_network_route): Likewise.
2129 (ospf_update_router_route): Likewise.
2130
21312000-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2132
2133 * ospf_flood.c (ospf_process_self_originated_lsa): Enclose
2134 OSPF_AS_NSSA_LSA treatment with #ifdef HAVE_NSSA.
2135
21362000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2137
2138 * Unconditional logging is enclosed with if (IS_DEBUG_OSPF_EVENT).
2139 Please specify "debug ospf event" for enable logging.
2140
2141 * ospf_ism.c: Do not extern debug flag varible. It is done by
2142 ospf_debug.h
2143 * ospf_asbr.c: Likewise.
2144 * ospf_lsa.c: Likewise.
2145 * ospf_nsm.c: Likewise.
2146 * ospf_zebra.c: Likewise.
2147
2148 * ospf_dump.c (debug_ospf_event): New command "debug ospf event"
2149 is added.
2150
2151 * ospfd.c (router_ospf): Change logging from vty_out() to
2152 zlog_info().
2153 (ospf_area_stub_cmd): Likewise.
2154
2155 * ospf_dump.h: Extern term_debug flags.
2156 (OSPF_DEBUG_EVENT): Add new flag.
2157 (IS_DEBUG_OSPF_EVENT): Add new macro.
2158
21592000-11-03 Dick Glasspool <dick@ipinfusion.com>
2160
2161 * ospf_flood.c (ospf_process_self_originated_lsa):
2162 OSPF_AS_NSSA_LSA is treated as same as OSPF_AS_EXTERNAL_LSA.
2163 (ospf_flood): Type-5's have no change. Type-7's can be received,
2164 and will Flood the AS as Type-5's They will also flood the local
2165 NSSA Area as Type-7's. The LSDB will be updated as Type-5's, and
2166 during re-fresh will be converted back to Type-7's (if within an
2167 NSSA).
2168 (ospf_flood_through): Incoming Type-7's were allowed here if our
2169 neighbor was an NSSA. So Flood our area with the Type-7 and also
2170 if we are an ABR, flood thru AS as Type-5.
2171
2172 * ospf_lsa.c (ospf_external_lsa_refresh): Flood NSSA both NSSA
2173 area and other area.
2174
2175 * ospf_packet.c (ospf_db_desc_proc): When AS External LSA is
2176 exists in DD packet, make it sure that this area is not stub.
2177 (ospf_ls_upd_list_lsa): When LSA type is NSSA then set lsa's area
2178 to NULL.
2179 (ospf_ls_upd): If the LSA is AS External LSA and the area is stub
2180 then discard the lsa. If the LSA is NSSA LSA and the area is not
2181 NSSA then discard the lsa.
2182
21832000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2184
2185 * ospfd.c (ospf_interface_run): Fix bug of Hello packet's option
2186 is not properly set when interface comes up.
2187
21882000-11-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2189
2190 * ospfd.h (OSPF_OPTION_O): Add new hello header option.
2191
21922000-11-01 Dick Glasspool <dick@ipinfusion.com>
2193
2194 * ospf_lsa.h: Define OSPF_MAX_LSA to 8 when HAVE_NSSA is enabled.
2195 (OSPF_GROUP_MEMBER_LSA): Define OSPF_GROUP_MEMBER_LSA.
2196
2197 * ospf_lsa.c (show_database_desc): Add "Group Membership LSA"
2198 string.
2199
22002000-10-31 Dick Glasspool <dick@ipinfusion.com>
2201
2202 * ospf_lsa.h (OSPF_AS_NSSA_LSA): Define OSPF_AS_NSSA_LSA.
2203
2204 * ospf_lsa.c (show_ip_ospf_database): NSSA database display
2205 function is added. ALIASES which have "show ip ospf database
2206 nssa-external" is added.
2207 (show_ip_ospf_border_routers): New command "show ip ospf
2208 border-routers" is added.
2209
22102000-10-30 Dick Glasspool <dick@ipinfusion.com>
2211
2212 * ospfd.c (router_ospf): NSSA Enabled message is added for
2213 testing.
2214 (ospf_area_type_set): Are type set for NSSA area.
2215 (ospf_area_stub_cmd): Special translation of no_summary into NSSA
2216 and summary information. If NSSA is enabled pass the information
2217 to ospf_area_type_set().
2218 (area_nssa): New commands are added:
2219 "area A.B.C.D nssa"
2220 "area <0-4294967295> nssa"
2221 "area A.B.C.D nssa no-summary"
2222 "area <0-4294967295> nssa no-summary"
2223 (ospf_no_area_stub_cmd): Special translation of no_summary into
2224 NSSA and summary information. If external_routing is
2225 OSPF_AREA_NSSA unset area with ospf_area_type_set (area,
2226 OSPF_AREA_DEFAULT).
2227 (show_ip_ospf_area): Display NSSA status.
2228 (config_write_ospf_area): Show NSSA configuration.
2229
2230 * ospf_packet.c (ospf_hello): For NSSA support, ensure that NP is
2231 on and E is off.
2232
22332000-10-26 Gleb Natapov <gleb@nbase.co.il>
2234
2235 * ospf_lsa.c (ospf_network_lsa_body_set): The network-LSA lists
2236 those routers that are fully adjacent to the Designated Router;
2237 each fully adjacent router is identified by its OSPF Router ID.
2238 The Designated Router includes itself in this list. RFC2328,
2239 Section 12.4.2.
2240
22412000-10-23 Jochen Friedrich <jochen@scram.de>
2242
2243 * ospf_snmp.c: ospf_oid and ospfd_oid are used in smux_open after
2244 it is registered. So those variables must be static.
2245
22462000-10-18 K N Sridhar <sridhar@euler.ece.iisc.ernet.in>
2247
2248 * ospfd.c: Add area_default_cost_decimal_cmd and
2249 no_area_default_cost_decimal_cmd alias.
2250
22512000-10-05 Gleb Natapov <gleb@nbase.co.il>
2252
2253 * ospfd.c (ospf_network_new): Fix setting area format.
2254 (no_router_ospf): Check area existance when calling
2255 ospf_interface_down().
2256
2257 * ospf_flood.c (ospf_external_info_check): Fix bug of refreshing
2258 default route.
2259
22602000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2261
2262 * zebra-0.89 is released.
2263
22642000-09-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2265
2266 * ospf_snmp.c (ospfHostEntry): OSPF Host MIB is implemented.
2267
2268 * ospfd.c (ospf_nbr_static_cmp): OSPF neighbor is sorted by it's
2269 address.
2270
22712000-09-28 Michael Rozhavsky <mike@nbase.co.il>
2272
2273 * ospf_interface.c (ospf_if_free): Fix deleting self neighbor twice.
2274
22752000-09-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2276
2277 * ospf_packet.c (ospf_read): Solaris on x86 has ip_len with host
2278 byte order.
2279
22802000-09-25 Toshiaki Takada <takada@zebra.org>
2281
2282 * ospfd.c (ospf_compatible_rfc1583), (no_ospf_compatible_rfc1583):
2283 Add CISCO compatible command.
2284
22852000-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2286
2287 * ospf_abr.c (ospf_area_range_lookup): New function is added for
2288 area range lookup in OSPF-MIB.
2289 (ospf_area_range_lookup_next): Likewise.
2290
22912000-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2292
2293 * ospfd.c (no_router_ospf): Delete virtual link before deleting
2294 area structure.
2295
2296 * ospf_lsa.c (ospf_external_lsa_refresh_type): Check
2297 EXTERNAL_INFO(type).
2298
2299 * ospfd.c (no_router_ospf): Call ospf_vl_delete() instead of
2300 ospf_vl_data_free().
2301
2302 * ospf_interface.c (ospf_vl_shutdown): Execute ISM_InterfaceDown
2303 when ospf_vl_shutdown is called.
2304 (ospf_vl_delete): Call ospf_vl_shutdown() to delete virtual link
2305 interface's thread.
2306
23072000-09-21 Gleb Natapov <gleb@nbase.co.il>
2308
2309 * ospf_lsa.c: New implementation of OSPF refresh.
2310
23112000-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2312
2313 * ospf_snmp.c (ospfLsdbLookup): Add LSDB MIB implementation.
2314
23152000-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2316
2317 * ospf_snmp.c (ospfStubAreaEntry): Add OSPF stub area MIB.
2318
23192000-09-18 Gleb Natapov <gleb@nbase.co.il>
2320
2321 * ospf_route.h (route_standard): Change member from `struct area'
2322 to area_id.
2323
2324 * ospf_abr.c (ospf_abr_announce_network), (ospf_abr_should_announce),
2325 (ospf_abr_process_network_rt), (ospf_abr_announce_rtr),
2326 (ospf_abr_process_router_rt):
2327 * ospf_ase.c (ospf_find_asbr_route),
2328 (ospf_find_asbr_router_through_area),
2329 * ospf_ia.c (ospf_find_abr_route), (ospf_ia_router_route),
2330 (process_summary_lsa), (ospf_update_network_route),
2331 (ospf_update_router_route):
2332 * ospf_route.c (ospf_intra_route_add), (ospf_intra_add_router),
2333 (ospf_intra_add_transit), (ospf_intra_add_stub),
2334 (ospf_route_table_dump), (show_ip_ospf_route_network),
2335 (show_ip_ospf_route_router), (ospf_asbr_route_cmp),
2336 (ospf_prune_unreachable_routers):
2337 * ospf_spf.c (ospf_rtrs_print):
2338 * ospfd.c (ospf_rtrs_free): Fix the struct change above.
2339
23402000-09-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2341
2342 * ospf_network.c (ospf_serv_sock_init): Enclose SO_BINDTODEVICE
2343 with ifdef.
2344
23452000-09-13 Gleb Natapov <gleb@nbase.co.il>
2346
2347 * ospf_ism.c (ospf_elect_dr), (ospf_elect_bdr): Fix DR election.
2348
2349 * ospf_network.c (ospf_serv_sock_init): Add socket option
2350 SO_BINDTODEVICE on read socket.
2351
2352 * ospf_packet.c (ospf_hello): Ignore Hello packet if E-bit does
2353 not match.
2354
2355 * ospfd.c (ospf_area_check_free), (ospf_area_get),
2356 (ospf_area_add_if): New function added.
2357
23582000-09-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2359
2360 * ospf_route.c (ospf_intra_add_router): Update ABR and ASBR router
2361 count.
2362
2363 * ospf_spf.c (ospf_spf_init): Rest ABR and ASBR router count
2364 starting SPF calculation.
2365
2366 * ospfd.h (struct ospf_area): Add ABR and ASBR router count.
2367
23682000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2369
2370 * ospfd.c (ospf_area_id_cmp): New area structure is sorted by area
2371 ID.
2372
2373 * ospf_lsa.c (ospf_router_lsa_originate): For OSPF MIB update
2374 lsa_originate_count.
2375 (ospf_network_lsa_originate): Likewise.
2376 (ospf_summary_lsa_originate): Likewise.
2377 (ospf_summary_asbr_lsa_originate): Likewise.
2378 (ospf_external_lsa_originate): Likewise.
2379
23802000-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2381
2382 * ospf_snmp.c (ospf_variables): ospfRouterID's type RouterID
2383 syntax is IpAddress.
2384 (ospf_admin_stat): New function for OSPF administrative status
2385 check.
2386
23872000-09-10 Jochen Friedrich <jochen@scram.de>
2388
2389 * ospf_snmp.c: Implement OSPF MIB skeleton.
2390
23912000-09-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2392
2393 * ospf_snmp.c: New file is added.
2394
23952000-09-07 David Lipovkov <davidl@nbase.co.il>
2396
2397 * ospf_zebra.c (ospf_interface_delete): Add pseudo interface
2398 treatment.
2399
2400 * ospf_interface.c (interface_config_write): Likewise.
2401
24022000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2403
2404 * zebra-0.88 is released.
2405
24062000-08-17 Michael Rozhavsky <mike@nbase.co.il>
2407
2408 * ospfd.c (ospf_area_free): Remove virtual link configuration only
2409 when Area is removed.
2410
24112000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2412
2413 * ospfd.c (network_area): Revert check for EXTERNAL_INFO
2414 (ZEBRA_ROUTE_CONNECT).
2415 (no_network_area): Likewise.
2416
24172000-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2418
2419 * ospfd.h (struct ospf): Add distance_table and
2420 distance_{all,intra,inter,external}.
2421
2422 * ospf_zebra.c: Add OSPF distance related functions.
2423
24242000-08-15 Gleb Natapov <gleb@nbase.co.il>
2425
2426 * ospf_asbr.c (ospf_external_info_find_lsa): New function added.
2427
2428 * ospf_lsa.c (ospf_default_external_info),
2429 (ospf_default_originate_timer), (ospf_external_lsa_refresh_default):
2430 New function added.
2431
2432 * ospf_zebra.c
2433 (ospf_default_information_originate_metric_type_routemap),
2434 (ospf_default_information_originate_always_metric_type_routemap):
2435 Change name and add route-map function.
2436 (ospf_default_information_originate_metric_routemap),
2437 (ospf_default_information_originate_routemap),
2438 (ospf_default_information_originate_type_metric_routemap):
2439 New DEFUN added.
2440
24412000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2442
2443 * ospf_zebra.c (zebra_interface_if_set_value): Change ifindex
2444 restore size from two octet to four.
2445
24462000-08-14 Michael Rozhavsky <mike@nbase.co.il>
2447
2448 * ospf_ase.c (ospf_ase_incremental_update): Implement incremental
2449 AS-external-LSA in 16.6 of RFC2328.
2450
24512000-08-14 Matthew Grant <grantma@anathoth.gen.nz>
2452
2453 * ospf_interface.c (ospf_if_get_output_cost): Change cost
2454 calculation algorithm.
2455
2456 * ospf_packet (ospf_ls_upd): Fix problem of LSA retransmitting.
2457
24582000-08-11 Michael Rozhavsky <mike@nbase.co.il>
2459
2460 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix maxage remover for
2461 AS-external-LSAs.
2462
24632000-08-10 Toshiaki Takada <takada@zebra.org>
2464
2465 * ospfd.c (auto_cost_reference_bandwidth): New DEFUN added.
2466 `auto-cost reference-bandwidth' OSPF router command added.
2467
24682000-08-08 Gleb Natapov <gleb@nbase.co.il>
2469
2470 * ospf_routemap.c (ospf_route_map_update): New function added.
2471 Add route-map event hook.
2472
24732000-08-08 Toshiaki Takada <takada@zebra.org>
2474
2475 * ospf_zebra.c (ospf_distribute_check_connected): If redistribute
2476 prefix is connected route on OSPF enabled interface, suppress to
2477 announce it.
2478
24792000-08-08 Matthew Grant <grantma@anathoth.gen.nz>
2480
2481 * ospf_interface.c (ospf_if_get_output_cost):
2482 New function added. Handle bandwidth parameter for cost
2483 calculation.
2484
24852000-08-08 Michael Rozhavsky <mike@nbase.co.il>
2486
2487 * ospf_interface.c (interface_config_write): Show interface
2488 configuration regardless interface is down.
2489
2490 * ospf_ase.c (ospf_ase_caocluate_route): Whole rewritten external
2491 route calculate function.
2492
24932000-08-08 Gleb Natapov <gleb@nbase.co.il>
2494
2495 * ospf_routemap.c: New file added.
2496
2497 * ospf_asbr.c (ospf_reset_route_map_set_values),
2498 (ospf_route_map_set_compare): New function added.
2499
2500 * ospf_lsa.c (ospf_external_lsa_body_set): Set routemap metric
2501 with AS-external-LSA.
2502
25032000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2504
2505 * ospf_ase.c (ospf_ase_calculate_route_add): Pass new->cost to
2506 ospf_zebra_add as metric.
2507 (ospf_ase_calculate_route_add): Likewise.
2508
2509 * ospf_route.c (ospf_route_install): Pass or->cost to
2510 ospf_zebra_add as metric.
2511
2512 * ospf_zebra.c (ospf_zebra_add): Add metric arguemnt.
2513 (ospf_zebra_delete): Likewise.
2514
25152000-08-03 Matthew Grant <grantma@anathoth.gen.nz>
2516
2517 * ospf_flood.c (ospf_flood_delayed_lsa_ack): New function added.
2518 Dispatch delayed-ACK with flooding AS-external-LSA across virtual
2519 link.
2520
25212000-07-31 Matthew Grant <grantma@anathoth.gen.nz>
2522
2523 * ospfd.c (show_ip_ospf_area): Fix lack of VTY_NEWLINE when
2524 `show ip ospf'.
2525
2526 * ospf_interface.c (ospf_if_free): Fix bug of crash with
2527 Point-to-Point interface.
2528
25292000-07-27 Michael Rozhavsky <mike@nbase.co.il>
2530
2531 * ospf_flood.c (ospf_process_self_originated_lsa):
2532 Make sure to clear LSA->param (redistributed external information)
2533 before refreshment.
2534
25352000-07-27 Gleb Natapov <gleb@nbase.co.il>
2536
2537 * ospfd.c (refresh_group_limit), (refresh_per_slice),
2538 (refresh_age_diff): New defun added. Refresher related parameter
2539 can be configurable.
2540
25412000-07-27 Akihiro Mizutani <mizutani@dml.com>
2542
2543 * ospf_interface.c (interface_config_write): Print `description'
2544 config directive to work.
2545
25462000-07-24 Akihiro Mizutani <mizutani@dml.com>
2547
2548 * ospf_interface.c (ospf_if_init): Use install_default for
2549 INTERFACE_NODE.
2550
25512000-07-24 Gleb Natapov <gleb@nbase.co.il>
2552
2553 * ospf_packet.c (ospf_ls_upd_send_list), (ospf_ls_upd_send_event),
2554 (ospf_ls_ack_send_list), (ospf_ls_ack_send_event): New function added.
2555 This make sending always as many LS update/Ack combined in one ospf
2556 packet.
2557
25582000-07-24 Gleb Natapov <gleb@nbase.co.il>
2559
2560 * ospf_packet.c (ospf_ls_upd_list_lsa): Set NULL to lsa->area if
2561 LSA is AS-external-LSA.
2562
2563 * ospf_nsm.c (nsm_reset_nbr): Do not cancel Inactivity timer.
2564
25652000-07-21 Toshiaki Takada <takada@zebra.org>
2566
2567 * ospf_zebra.c (ospf_default_originate_timer): Set timer for
2568 `default-information originate'. Fix some default originate
2569 related functions.
2570
25712000-07-12 Toshiaki Takada <takada@zebra.org>
2572
2573 * ospf_lsa.c (stream_put_ospf_metric): New function added.
2574
25752000-07-12 Toshiaki Takada <takada@zebra.org>
2576
2577 * ospf_lsa.c (show_ip_ospf_database_router),
2578 (show_ip_ospf_database_network), (show_ip_ospf_database_summary),
2579 (show_ip_ospf_database_summary_asbr), (show_ip_ospf_database_externel),
2580 (show_router_lsa), (show_any_lsa), (show_router_lsa_self),
2581 (show_any_lsa_self): Functions removed.
2582
2583 (show_lsa_prefix_set), (show_lsa_detail_proc), (show_lsa_detail),
2584 (show_lsa_detail_adv_router_proc), (show_lsa_detail_adv_router):
2585 New functions added. Replace above functions.
2586
2587 (show_ip_ospf_database_all), (show_ip_ospf_database_self_originated):
2588 Functions removed.
2589 (show_ip_ospf_database_summary): New functions added. Replace
2590 above functions.
2591
2592 (show_ip_ospf_database_cmd): DEFUN rearranged.
2593 (show_ip_ospf_database_type_id_cmd),
2594 (show_ip_ospf_database_type_id_adv_router_cmd),
2595 (show_ip_ospf_database_type_is_self_cmd): New ALIASes added.
2596 (show_ip_ospf_database_type_adv_rotuer_cmd): New DEFUN added.
2597 (show_ip_ospf_database_type_self_cmd): New ALIAS added.
2598
25992000-07-11 Toshiaki Takada <takada@zebra.org>
2600
2601 * ospf_asbr.c (ospf_external_info_new),
2602 (ospf_external_info_free): New functions added.
2603
2604 * ospf_lsa.h (ospf_lsa): Add new member `void *param' to set
2605 origination parameter for external-LSA.
2606 Remove member `redistribute'.
2607
2608 * ospf_zebra.c (ospf_redistirbute_set): When `redistribute'
2609 command executed, metric and metric-type values are overridden.
2610 If one of those is changed refresh AS-external-LSAs for appropriate
2611 type.
2612
26132000-07-11 Michael Rozhavsky <mike@nbase.co.il>
2614
2615 * ospf_lsa.c (ospf_summary_lsa_refresh),
2616 (ospf_summary_asbr_lsa_refresh): Make sure to refresh summary-LSAs.
2617
2618 * ospf_abr.c (set_metric): New function added.
2619
26202000-07-07 Toshiaki Takada <takada@zebra.org>
2621
2622 * ospf_zebra.c (ospf_default_information_originate_metric_type),
2623 (ospf_default_information_originate_type_metric): New defun added.
2624 Metic and Metric type can be set to default route.
2625 (ospf_default_information_originate_always_metric_type):
2626 (ospf_default_information_originate_always_type_metric):
2627 New defun added. Metric and Metric type can be set to default
2628 always route.
2629
2630 * ospf_zebra.c (ospf_default_metric), (no_ospf_default_metric):
2631 New defun added.
2632
26332000-07-06 Gleb Natapov <gleb@nbase.co.il>
2634
2635 * ospf_flood.c (ospf_flood_through_area): Fix bug of considering
2636 on the same interface the LSA was received from.
2637
26382000-07-06 Michael Rozhavsky <mike@nbase.co.il>
2639
2640 * ospfd.c (ospf_config_write): Fix bug of printing `area stub'
2641 command with `write mem'.
2642
2643 * ospfd.c (no_router_ospf): Remove installed routes from zebra.
2644
2645 * ospf_zebra.c (ospf_interface_delete): Fix function to handle
2646 zebra interface delete event.
2647
26482000-07-06 Toshiaki Takada <takada@zebra.org>
2649
2650 * ospf_zebra.c (ospf_default_information_originate),
2651 (ospf_default_information_originate_always): New DEFUN added.
2652
26532000-07-05 Michael Rozhavsky <mike@nbase.co.il>
2654
2655 * ospf_route.c (ospf_terminate): Make sure to remove external route
2656 when SIGINT received.
2657
26582000-07-03 Gleb Natapov <gleb@nbase.co.il>
2659
2660 * ospf_flood.c, ospf_ism.c, ospf_lsa,c, ospfd.c: Make sure to free
2661 many structure with `no router ospf'.
2662
26632000-06-30 Gleb Natapov <gleb@nbase.co.il>
2664
2665 * ospf_neighbor.c (ospf_nbr_new),
2666 ospf_nsm.c (nsm_timer_set): Start LS update timer only
2667 when neighbor enters Exchange state.
2668
26692000-06-29 Gleb Natapov <gleb@nbase.co.il>
2670
2671 * ospf_nsm.c (nsm_timer_set), (nsm_exchange_done),
2672 ospf_packet.c (ospf_db_desc_proc):
2673 Do not cancel DD retransmit timer when Master.
2674
26752000-06-29 Gleb Natapov <gleb@nbase.co.il>
2676
2677 * ospf_abr.c (ospf_abr_announce_network_to_area),
2678 (ospf_abr_announce_rtr_to_area)
2679 ospf_ase.c (ospf_ase_rtrs_register_lsa),
2680 ospf_flood.c (ospf_process_self_originated_lsa),
2681 (ospf_flood_through_area), (ospf_ls_request_delete),
2682 ospf_interface.c (ospf_if_free),
2683 ospf_ism.c (ism_change_status),
2684 ospf_lsa.c (ospf_router_lsa_update_timer),
2685 (ospf_router_lsa_install), (ospf_network_lsa_install),
2686 (ospf_lsa_maxage_delete), (ospf_lsa_action),
2687 (ospf_schedule_lsa_flood_area),
2688 ospf_nsm.c (nsm_change_status),
2689 ospf_packet.c (ospf_make_ls_req_func), (ospf_make_ls_ack):
2690 Use ospf_lsa_{lock,unlock} for all looking-up of LSA.
2691
2692 * ospf_flood.c (ospf_ls_request_free): Function deleted.
2693
2694 * ospf_lsa.c (ospf_discard_from_db): New function added.
2695
26962000-06-26 Toshiaki Takada <takada@zebra.org>
2697
2698 * ospfd.h (ospf): struct member `external_lsa' name changed to
2699 `lsdb'.
2700
27012000-06-26 Toshiaki Takada <takada@zebra.org>
2702
2703 * ospf_lsa.c (ospf_lsa_install), (ospf_router_lsa_install),
2704 (ospf_network_lsa_install), (ospf_summary_lsa_install),
2705 (ospf_summary_asbr_lsa_install), (ospf_external_lsa_install):
2706 Functions re-arranged.
2707
2708 * ospf_lsa.c (IS_LSA_MAXAGE), (IS_LSA_SELF): Macro added.
2709
27102000-06-20 Michael Rozhavsky <mike@nbase.co.il>
2711
2712 * ospf_packet.c (ospf_ls_req), (ospf_ls_upd), (ospf_ls_ack): Add
2713 verification of LS type.
2714
27152000-06-20 Gleb Natapov <gleb@nbase.co.il>
2716
2717 * ospf_ase.c (ospf_ase_calculate_timer): Add more sanity check
2718 whether rn->info is NULL.
2719
27202000-06-20 Toshiaki Takada <takada@zebra.org>
2721
2722 * ospfd.c (show_ip_ospf_interface_sub): Show Router-ID of both
2723 DR and Backup correctly with `show ip ospf interface' command.
2724
27252000-06-20 Toshiaki Takada <takada@zebra.org>
2726
2727 * ospf_lsa.c (ospf_lsa_lock), (ospf_lsa_unlock),
2728 (ospf_lsa_discard): These functions are used for avoiding
2729 unexpected reference to freed LSAs.
2730
27312000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2732
2733 * ospf_packet.c (ospf_ls_upd): Initialize lsa by NULL to avoid
2734 warning.
2735
27362000-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2737
2738 * ospf_ase.h (ospf_ase_rtrs_register_lsa): Add prototype.
2739
27402000-06-12 Toshiaki Takada <takada@zebra.org>
2741
2742 * ospf_lsa.c (ospf_external_lsa_install): Make sure to register
2743 LSA to rtrs_external when replacing AS-external-LSAs in LSDB.
2744 Fix core dump.
2745
27462000-06-10 Toshiaki Takada <takada@zebra.org>
2747
2748 * ospf_lsdb.c (id_to_prefix), (ospf_lsdb_hash_key),
2749 (ospf_lsdb_hash_cmp), (ospf_lsdb_new), (ospf_lsdb_iterator),
2750 (lsdb_free), (ospf_lsdb_free), (ospf_lsdb_add), (ospf_lsdb_delete),
2751 (find_lsa), (ospf_lsdb_lookup), (find_by_id),
2752 (ospf_lsdb_lookup_by_id), (ospf_lsdb_lookup_by_header): Functinos
2753 removed for migration to new_lsdb.
2754
2755 * ospf_lsa.c (ospf_summary_lsa_install),
2756 (ospf_summary_asbr_lsa_install), (ospf_maxage_lsa_remover),
2757 (ospf_lsa_maxage_walker), (ospf_lsa_lookup),
2758 (ospf_lsa_lookup_by_id): Use new_lsdb instead of ospf_lsdb.
2759 (count_lsa), (ospf_lsa_count_table), (ospf_lsa_count),
2760 (ospf_get_free_id_for_prefix): Funcitions removed.
2761
27622000-06-09 Gleb Natapov <gleb@nbase.co.il>
2763
2764 * ospf_ism.c (ism_interface_down): Prevent some unneeded DR changes.
2765
2766 * ospf_packet.c (ospf_db_desc_proc): Fix memory leak.
2767 (ospf_hello): Always copy router-ID when hello is received.
2768
27692000-06-08 Gleb Natapov <gleb@nbase.co.il>
2770
2771 * ospf_lsa.h (struct ospf_lsa): Add member of pointer to struct
2772 ospf_area.
2773
27742000-06-08 Michael Rozhavsky <mike@nbase.co.il>
2775
2776 * ospf_ase.c (ospf_asbr_route_same): New function added.
2777 This function makes sure external route calculation more
2778 precisely.
2779
27802000-06-07 Michael Rozhavsky <mike@nbase.co.il>
2781
2782 * ospf_ism.c (ism_change_status): Use ospf_lsa_flush_area for
2783 network-LSA deletion instead of using ospf_lsdb_delete.
2784 Also cancel network-LSA origination timer.
2785
27862000-06-07 Levi Harper <lharper@kennedytech.com>
2787
2788 * ospf_interface.c (ospf_if_down): Close read fd when an interface
2789 goes down.
2790
27912000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2792
2793 * ospf_asbr.c (ospf_external_info_lookup): Add explicit brace for
2794 avoid ambiguous else.
2795
2796 * ospf_flood.c (ospf_external_info_check): Likewise.
2797
27982000-06-05 Toshiaki Takada <takada@zebra.org>
2799
2800 * ospf_nsm.c (nsm_adj_ok): Fix bug of DR election.
2801
28022000-06-04 Toshiaki Takada <takada@zebra.org>
2803
2804 * ospf_zebra.c (ospf_default_information_originate),
2805 (no_ospf_default_information_originate): New DEFUN added.
2806
28072000-06-03 Toshiaki Takada <takada@zebra.org>
2808
2809 * ospf_lsa.h, ospf_asbr.h (external_info): Struct moved from
2810 ospf_lsa.h to ospf_asbr.h.
2811
2812 * ospf_lsa.c, ospf_asbr.c (ospf_external_info_add),
2813 (ospf_external_info_delete): Function moved from ospf_lsa.c
2814 to ospf_asbr.c.
2815
28162000-06-03 Toshiaki Takada <takada@zebra.org>
2817
2818 * ospf_flood.c (ospf_external_info_check): New function added.
2819 (ospf_process_self_orignated_lsa): Make sure to flush
2820 self-originated AS-external-LSA, when router reboot and no longer
2821 originate those AS-external-LSA.
2822
28232000-06-02 Toshiaki Takada <takada@zebra.org>
2824
2825 * ospf_network.c (ospf_serv_sock): Remove SO_DONTROUTE
2826 socket option.
2827
2828 * ospf_packet.c (ospf_write): Set MSG_DONTROUTE flag for
2829 unicast destination packets.
2830
28312000-06-02 Toshiaki Takada <takada@zebra.org>
2832
2833 * ospf_lsdb.c (new_lsdb_delete): Delete entry from LSDB only when
2834 specified LSA matches.
2835
28362000-06-02 Gleb Natapov <gleb@nbase.co.il>
2837
2838 * ospf_network.c (ospf_serv_sock): Set SO_DONTROUTE
2839 socket option.
2840
28412000-06-01 Akihiro Mizutani <mizutani@dml.com>
2842
2843 * ospf_dump.c: Replace string `Debugging functions\n' with DEBUG_STR.
2844 Replace string `OSPF information\n' with OSPF_STR.
2845
28462000-06-01 Toshiaki Takada <takada@zebra.org>
2847
2848 * ospf_lsdb.[ch]: Use new_lsdb struct for network-LSA instead of
2849 ospf_lsdb.
2850
28512000-06-01 Toshiaki Takada <takada@zebra.org>
2852
2853 * ospf_dump.c (config_debug_ospf_packet), (config_debug_ospf_event),
2854 (config_debug_ospf_ism), (config_debug_ospf_nsm),
2855 (config_debug_ospf_lsa), (config_debug_ospf_zebra),
2856 (term_debug_ospf_packet), (term_debug_ospf_event),
2857 (term_debug_ospf_ism), (term_debug_ospf_nsm),
2858 (term_debug_ospf_lsa), (term_debug_ospf_zebra): Repalce debug_ospf_*
2859 variable to use for debug option flags.
2860
2861 (debug_ospf_packet), (debug_ospf_ism), (debug_ospf_nsm),
2862 (debug_ospf_lsa), (debug_ospf_zebra): Set {config,term}_debug_*
2863 flags when vty->node is CONFIG_NODE, otherwise set only term_debug_*
2864 flags.
2865
2866 * ospf_dump.h (CONF_DEBUG_PACKET_ON), (CONF_DEBUG_PACKET_OFF),
2867 (TERM_DEBUG_PACKET_ON), (TERM_DEBUG_PACKET_OFF),
2868 (CONF_DEBUG_ON), (CONF_DEBUG_OFF), (IS_CONF_DEBUG_OSPF_PACKET),
2869 (IS_CONF_DEBUG_OSPF): New Macro added.
2870
28712000-05-31 Toshiaki Takada <takada@zebra.org>
2872
2873 * ospfd.c (clear_ip_ospf_neighbor): New DEFUN added.
2874 Currently this command is used for only debugging.
2875
2876 * ospf_nsm.c (nsm_change_status): Make sure thread cancellation
2877 for network-LSA when DR has no full neighbors.
2878
2879 * ospf_nsm.c (ospf_db_summary_clear): New function added.
2880
28812000-05-30 Toshiaki Takada <takada@zebra.org>
2882
2883 * ospf_lsdb.c (new_lsdb_insert): LSAs are always freed by
2884 maxage_lsa_remover when LSA is replaced.
2885
28862000-05-25 Gleb Natapov <gleb@nbase.co.il>
2887
2888 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all): Add argument
2889 `struct ospf_area' to remove LSA from Link State retransmission list
2890 of neighbor from only one Area.
2891
28922000-05-24 Michael Rozhavsky <mike@nbase.co.il>
2893
2894 * ospf_lsdb.c (ospf_lsdb_add): Preserve flags field when
2895 overriting old LSA with new LSA.
2896
28972000-05-24 Gleb Natapov <gleb@nbase.co.il>
2898
2899 * ospf_lsa.c (ospf_router_lsa_body_set): Fix bug of router-LSA
2900 size calculation.
2901
29022000-05-22 Michael Rozhavsky <mike@nbase.co.il>
2903
2904 * ospf_route.c (ospf_intra_add_stub):
2905 * ospf_spf.h (struct vertex): Use u_int32_t for distance (cost)
2906 value instead of u_int16_t.
2907
29082000-05-22 Axel Gerlach <agerlach@datus.datus.com>
2909
2910 * ospf_ia.c (ospf_ia_network_route): Fix bug of Inter-area route
2911 equal cost path calculation.
2912
29132000-05-21 Toshiaki Takada <takada@zebra.org>
2914
2915 * ospf_ase.c (ospf_ase_calculate_route_delete): New function added.
2916 Make sure, when rotuer route is deleted, related external routes
2917 are also deleted.
2918
29192000-05-20 Toshiaki Takada <takada@zebra.org>
2920
2921 * ospfd.c (ospf_interface_down): Make sure interface flag is disable
2922 and set fd to -1.
2923
29242000-05-16 Toshiaki Takada <takada@zebra.org>
2925
2926 * ospf_asbr.c (ospf_asbr_should_announce), (ospf_asbr_route_remove):
2927 Functions removed.
2928
2929 * ospfd.h (EXTERNAL_INFO): Macro added.
2930 Substitute `ospf_top->external_info[type]' with it.
2931
29322000-05-16 Toshiaki Takada <takada@zebra.org>
2933
2934 * ospf_lsa.c (ospf_rtrs_external_remove): New function added.
2935
29362000-05-14 Gleb Natapov <gleb@nbase.co.il>
2937
2938 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all)
2939 * ospf_lsdb.c (new_lsdb_insert)
2940 * ospf_packet.c (ospf_ls_ack): Fix database synchonization problem.
2941
29422000-05-14 Gleb Natapov <gleb@nbase.co.il>
2943
2944 * ospf_lsa.h (tv_adjust), (tv_ceil), (tv_floor), (int2tv),
2945 (tv_add), (tv_sub), (tv_cmp): Prototype definition added.
2946
2947 * ospf_nsm.h (ospf_db_summary_delete_all): Prototype definition added.
2948
29492000-05-13 Toshiaki Takada <takada@zebra.org>
2950
2951 * ospf_lsa.[ch] (ospf_lsa): struct timestamp type is changed from
2952 time_t to struct timeval.
2953 (tv_adjust), (tv_ceil), (tv_floor), (int2tv), (tv_add),
2954 (tv_sub), (tv_cmp): timeval utillity functions added.
2955
29562000-05-12 Toshiaki Takada <takada@zebra.org>
2957
2958 * ospf_lsa.[ch] (ospf_schedule_update_router_lsas): Delete function.
2959 Change to use macro OSPF_LSA_UPDATE_TIMER instead of using
2960 this function.
2961 router-LSA refresh timer related stuff is re-organized.
2962
29632000-05-10 Gleb Natapov <gleb@nbase.co.il>
2964
2965 * ospf_interface.c (ospf_vl_set_params):
2966 * ospf_packet.c (ospf_check_network_mask):
2967 * ospf_spf.[ch] (ospf_spf_next):
2968 Remove field address from `struct vertex', and search for peer
2969 address of virtual link in function `ospf_vl_set_params' instead.
2970
29712000-05-10 Gleb Natapov <gleb@nbase.co.il>
2972
2973 * ospf_packet.c (ospf_ls_upd): Fix some memory leak related LSA.
2974
29752000-05-08 Thomas Molkenbur <tmo@datus.com>
2976
2977 * ospf_packet.c (ospf_packet_dup): Replace ospf_steram_copy()
2978 with ospf_stream_dup() to fix memory leak.
2979
29802000-05-08 Michael Rozhavsky <mike@nbase.co.il>
2981
2982 * ospf_flood.c (ospf_flood_through_area): Fix the problem of
2983 LSA update without DROther.
2984
29852000-05-04 Gleb Natapov <gleb@nbase.co.il>
2986
2987 * ospf_spf.c (ospf_vertex_free): Fix memory leak of SPF calculation.
2988
29892000-05-03 Toshiaki Takada <takada@zebra.org>
2990
2991 * ospf_neighbor.c (ospf_db_summary_add): Use new_lsdb struct
2992 instead linked-list.
2993 (ospf_db_summary_count), (ospf_db_summary_isempty):
2994 New function added.
2995
2996 * ospf_lsa.c (ospf_rotuer_lsa): Re-arrange and divide functions.
2997
29982000-05-02 Gleb Natapov <gleb@nbase.co.il>
2999
3000 * ospf_lsdb.c (new_lsdb_cleanup): Fix memory leak. When LSDB are
3001 not needed any more, then free them.
3002
30032000-05-02 Toshiaki Takada <takada@zebra.org>
3004
3005 * ospfd.c (timers_spf), (no_timers_spf): New defun added.
3006 SPF calculation timers related stuff is rearranged.
3007
3008 * ospf_spf.c (ospf_spf_calculate_timer_add): Function removed.
3009 SPF timer is scheduled by SPF calculation delay and holdtime
3010 configuration variable.
3011
3012 * ospf_lsa.c (ospf_external_lsa_nexthop_get): Set AS-external-LSA's
3013 forwarding address when nexthop learned by other protocols is
3014 in the OSPF domain.
3015
3016 * ospf_zebra.c (ospf_redistribute_source_metric_type),
3017 (ospf_redistribute_source_type_metric): Re-arrange DEFUNs and
3018 ALIASes.
3019
30202000-05-01 Toshiaki Takada <takada@zebra.org>
3021
3022 * ospf_flood.c (ospf_ls_retransmit_count),
3023 (ospf_ls_retransmit_isempty): New function added.
3024
3025 (ospf_ls_retransmit_add), (ospf_ls_retransmit_delete),
3026 (ospf_ls_retransmit_clear), (ospf_ls_retransmit_lookup),
3027 (ospf_ls_retransmit_delete_all), (ospf_ls_retransmit_delete_nbr_all),
3028 (ospf_ls_retransmit_add_nbr_all): Replace these functions to use
3029 new_lsdb.
3030
30312000-04-29 Toshiaki Takada <takada@zebra.org>
3032
3033 * ospfd.c (no_network_area): Add check Area-ID whether specified
3034 Area-ID with prefix matches config.
3035
30362000-04-27 Toshiaki Takada <takada@zebra.org>
3037
3038 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix problem of
3039 remaining withdrawn routes on zebra.
3040
30412000-04-25 Michael Rozhavsky <mike@nbase.co.il>
3042
3043 * ospf_nsm.c (nsm_kill_nbr), (nsm_ll_down), (nsm_change_status),
3044 (ospf_nsm_event): Fix network-LSA re-origination problem.
3045
30462000-04-24 Toshiaki Takada <takada@zebra.org>
3047
3048 * ospf_nsm.c (ospf_db_desc_timer): Fix bug of segmentation fault
3049 with DD retransmission.
3050
3051 * ospf_nsm.c (nsm_kill_nbr): Fix bug of re-origination when
3052 a neighbor disappears.
3053
30542000-04-23 Michael Rozhavsky <mike@nbase.co.il>
3055
3056 * ospf_abr.c (ospf_abr_announce_network_to_area): Fix bug of
3057 summary-LSAs reorigination. Correctly copy OSPF_LSA_APPROVED
3058 flag to new LSA. when summary-LSA is reoriginatd.
3059
3060 * ospf_flood.c (ospf_flood_through_area): Fix bug of flooding
3061 procedure. Change the condition of interface selection.
3062
30632000-04-21 Toshiaki Takada <takada@zebra.org>
3064
3065 * ospf_lsa.c (ospf_refresher_register_lsa): Fix bug of refresh never
3066 occurs.
3067
3068 * ospfd.c (show_ip_ospf_neighbor_id): New defun added.
3069 `show ip ospf neighbor' related commands are re-arranged.
3070
30712000-04-20 Toshiaki Takada <takada@zebra.org>
3072
3073 * ospf_dump.c (debug_ospf_zebra): New defun added.
3074 Suppress zebra related debug information.
3075
30762000-04-19 Toshiaki Takada <takada@zebra.org>
3077
3078 * ospf_zebra.c (ospf_distribute_list_update_timer),
3079 (ospf_distribute_list_update), (ospf_filter_update):
3080 New function added. Re-organize `distribute-list' router ospf
3081 command.
3082
30832000-04-13 Michael Rozhavsky <mike@nbase.co.il>
3084
3085 * ospf_packet.c (ospf_make_ls_upd): Add check for MAX_AGE.
3086
30872000-04-14 Michael Rozhavsky <mike@nbase.co.il>
3088
3089 * ospf_packet.c (ospf_make_ls_upd): Increment LS age by configured
3090 interface transmit_delay.
3091
30922000-04-14 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3093
3094 * ospf_interface.c (ip_ospf_cost), (no_ip_ospf_cost):
3095 Add to schedule router_lsa origination when the interface cost changes.
3096
30972000-04-12 Toshiaki Takada <takada@zebra.org>
3098
3099 * ospf_lsa.c (ospf_refresher_register_lsa),
3100 (ospf_refresher_unregister_lsa): Fix bug of core dumped.
3101
3102 * ospfd.c (no_router_ospf): Fix bug of core dumped.
3103
31042000-03-29 Toshiaki Takada <takada@zebra.org>
3105
3106 * ospf_nsm.c (nsm_oneway_received): Fix bug of MS flag unset.
3107
31082000-03-29 Michael Rozhavsky <mike@nbase.co.il>
3109
3110 * ospf_lsa.c (ospf_network_lsa):
3111 * ospf_nsm.c (ospf_nsm_event): Fix bug of Network-LSA originated
3112 in stub network.
3113
31142000-03-28 Toshiaki Takada <takada@zebra.org>
3115
3116 * ospf_nsm.c (nsm_bad_ls_req), (nsm_seq_number_mismatch),
3117 (nsm_oneway_received): Fix bug of NSM state flapping between
3118 ExStart and Exchange.
3119
31202000-03-28 Toshiaki Takada <takada@zebra.org>
3121
3122 * ospf_packet.h (strcut ospf_header): Fix the size of ospf_header,
3123 change u_int8_t to u_char.
3124
31252000-03-27 Toshiaki Takada <takada@zebra.org>
3126
3127 * ospf_lsa.c (ospf_lsa_checksum): Take care of BIGENDIAN architecture.
3128
31292000-03-27 Toshiaki Takada <takada@zebra.org>
3130
3131 * ospfd.c (ospf_interface_run): Make sure Address family matches.
3132
31332000-03-26 Love <lha@s3.kth.se>
3134
3135 * ospf_packet.c (ospf_write): Chack result of sendto().
3136
31372000-03-26 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3138
3139 * ospf_nsm.c (nsm_oneway_received): Fix bug of 1-WayReceived in NSM.
3140
31412000-03-23 Libor Pechacek <farco@clnet.cz>
3142
3143 * ospf_lsa.c (ospf_network_lsa)
3144 * ospf_lsdb.c (new_lsdb_insert): Fix bug of accessing to
3145 unallocated memory.
3146
31472000-03-23 Toshiaki Takada <takada@zebra.org>
3148
3149 * ospfd.c (ospf_config_write): Fix bug of duplicate line for
3150 `area A.B.C.D authentication'.
3151
31522000-03-22 Toshiaki Takada <takada@zebra.org>
3153
3154 * ospf_debug.c (debug_ospf_lsa), (no_debug_ospf_lsa): Defun added.
3155 Suppress all zlog related to LSAs with this config option.
3156
31572000-03-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3158
3159 * ospf_nsm.c (ospf_nsm_event): Add check for NSM_InactivityTimer.
3160
31612000-03-21 Toshiaki Takada <takada@zebra.org>
3162
3163 * ospf_packet.c (ospf_ls_upd_timer), (ospf_ls_req):
3164 Fix bug of memory leak about linklist.
3165
3166 * ospf_flood.c (ospf_flood_through_area): Likewise.
3167
31682000-03-18 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3169
3170 * ospf_flood.c (ospf_ls_retransmit_lookup): Add checksum comparison
3171 to identify LSA uniquely. This fix routes lost.
3172
31732000-03-18 Toshiaki Takada <takada@zebra.org>
3174
3175 * ospf_ase.c (ospf_find_asbr_route): Add sanity check with router
3176 routing table.
3177
31782000-03-17 Alex Zinin <zinin@amt.ru>
3179
3180 * ospf_spf.[ch]: Bug fix.
3181 The 2nd stage of Dijkstra could consider one vertex
3182 more than once if there is more than one link
3183 between the routers, thus adding extra CPU overhead
3184 and extra next-hops.
3185 Fixed.
3186
31872000-03-15 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3188
3189 * ospf_nsm.c (nsm_inactivity_timer): Changed to call nsm_kill_nbr().
3190
31912000-03-14 Toshiaki Takada <takada@zebra.org>
3192
3193 * ospf_route.c (ospf_route_copy_nexthops): Fix bug of memory leak of
3194 ospf_path. Actually ignore merging ospf_route with completely same
3195 paths.
3196
31972000-03-12 Toshiaki Takada <takada@zebra.org>
3198
3199 * ospf_lsa.c (show_as_external_lsa_detail): fix bug of
3200 external route tag byte order.
3201
32022000-03-11 Toshiaki Takada <takada@zebra.org>
3203
3204 * ospf_lsdb.c (ospf_lsdb_insert): New function added.
3205
32062000-03-09 Toshiaki Takada <takada@zebra.org>
3207
3208 * ospf_lsa.c (ospf_external_lsa_install),
3209 (ospf_lsa_lookup), (show_ip_ospf_database_all),
3210 (show_ip_ospf_database_self_originate): Use struct new_lsdb for
3211 LSDB of AS-external-LSAs instead of ospf_lsdb.
3212
3213 * ospf_lsa.c (ospf_lsa_unique_id): New function added.
3214 Use for assigning Unique Link State ID instead of
3215 ospf_get_free_id_for_prefix().
3216
32172000-03-09 Toshiaki Takada <takada@zebra.org>
3218
3219 * ospf_ase.c (ospf_ase_calculate_timer): Fix bug of segmentation
3220 fault reported by George Bonser <george@siteROCK.com>.
3221
32222000-03-07 Libor Pechacek <farco@clnet.cz>
3223
3224 * ospfd.c (ospf_interface_down): Fix bug of segmentation fault.
3225
32262000-03-06 Toshiaki Takada <takada@zebra.org>
3227
3228 * ospf_route.c (ospf_route_cmp): Change meaning of return values.
3229
32302000-03-02 Alex Zinin <zinin@amt.ru>
3231 * ospfd.h, ospf_ia.h
3232 New Shortcut ABR code. Now area's flag can be configured
3233 with Default, Enable, and Disable values.
3234 More info will be in the new ver of I-D soon (see IETF web).
3235
32362000-02-25 Toshiaki Takada <takada@zebra.org>
3237
3238 * ospf_lsa.c (ospf_lsa_header_set), (ospf_external_lsa_body_set),
3239 (osfp_external_lsa_originate), (ospf_external_lsa_queue),
3240 (ospf_external_lsa_originate_from_queue): New function added.
3241 (ospf_external_lsa): Function removed.
3242
3243 * ospf_zebra.c (ospf_zebra_read_ipv4): Originate AS-external-LSA
3244 when listen a route from Zebra, instead creating external route.
3245
3246 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
3247 (ospf_asbr_route_add_queue_lsa),
3248 (ospf_asbr_route_install_lsa), (ospf_asbr_route_add):
3249 Functions removed.
3250
3251 * ospf_ase.c (process_ase_lsa): Function will not be used.
3252 (ospf_ase_calculate), (ospf_ase_calculate_route_add),
3253 (ospf_ase_calculate_new_route), (ospf_ase_caluculate_asbr_route):
3254 process_ase_lsa () is separated to these functions.
3255
3256 OSPF AS-external-LSA origination is whole re-organized.
3257
32582000-02-18 Toshiaki Takada <takada@zebra.org>
3259
3260 * ospf_packet.c (ospf_ls_upd): Fix bug of OSPF LSA memory leak.
3261
3262 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
3263 (ospf_asbr_route_add_queue_lsa): Fix bug of OSPF external route
3264 memory leak.
3265
32662000-02-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3267
3268 * ospf_asbr.c (ospf_asbr_route_install_lsa): Re-calculate LSA
3269 checksum after change Advertised Router field.
3270
32712000-02-09 Toshiaki Takada <takada@zebra.org>
3272
3273 * ospf_asbr.c (ospf_external_route_lookup): Add new function.
3274
32752000-02-08 Toshiaki Takada <takada@zebra.org>
3276
3277 * ospfd.c (ospf_router_id_get), (ospf_router_id_update),
3278 (ospf_router_id_update_timer): Router ID decision algorithm is changed.
3279 Router ID is chosen from all of eligible interface addresses even if
3280 it is not enable to OSPF.
3281
32822000-02-08 Toshiaki Takada <takada@zebra.org>
3283
3284 * ospf_asbr.c (ospf_asbr_route_add): Function divided to
3285 ospf_asbr_route_add_flood_lsa, ospf_asbr_route_add_queue_lsa and
3286 ospf_asbr_route_install_lsa. If Router-ID is not set, then LSA is
3287 waited to install to LSDB.
3288 `0.0.0.0 adv_router' AS-external-LSA origination bug was fixed.
3289
32902000-02-01 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3291
3292 * ospf_flood.c (ospf_ls_retransmit_lookup): Compare LS seqnum
3293 in the ACK before deleting.
3294
3295 * ospf_packet.c (ospf_hello): Reset the flags after a shutdown
3296 and no shutdown of the interface.
3297
32982000-01-31 Toshiaki Takada <takada@zebra.org>
3299
3300 * ospf_packet.c (ospf_ls_req): Send multiple Link State Update
3301 packets respond to a Link State Request packet.
3302
3303 * ospfd.c (show_ip_ospf_neighbor_detail_sub): Show thread state.
3304
3305 * ospf_interface.c (ospf_vl_new): Crash when backbone area
3306 is not configured and set virtual-link to no-backbone area,
3307 bug fixed.
3308
33092000-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3310
3311 * ospf_neighbor.h (struct ospf_neighbor): Add pointer to last send
3312 LS Request LSA.
3313
3314 * ospf_packet.c (ospf_ls_upd): Comment out LS request list
3315 treatment. That should be done in OSPF flooding procedure.
3316
3317 * ospf_flood.c (ospf_flood_through_area): Enclose
3318 ospf_check_nbr_loding inside if-else close.
3319
33202000-01-31 Toshiaki Takada <takada@zebra.org>
3321
3322 * ospf_packet.c (ospf_make_ls_upd): Fix bug of #LSAs counting.
3323
33242000-01-29 Toshiaki Takada <takada@zebra.org>
3325
3326 * ospf_packet.c (ospf_make_md5_digest): Fix bug of md5 authentication.
3327
33282000-01-28 Toshiaki Takada <takada@zebra.org>
3329
3330 * ospfd.c (show_ip_ospf): Show Number of ASE-LSAs.
3331
33322000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3333
3334 * ospf_packet.c (ospf_make_db_desc): Don't use rm_list for
3335 removing LSA from nbr->db_summary.
3336
33372000-01-27 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3338
3339 * ospf_packet.c (ospf_ls_upd_send): Set AllSPFRouters to
3340 destination when the link is point-to-point.
3341 (ospf_ls_ack_send_delayed): Likewise.
3342
33432000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3344
3345 * ospf_flood.c (ospf_ls_request_delete_all): Fix bug of next
3346 pointer lookup after the node is freed.
3347
33482000-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3349
3350 * ospf_asbr.c (ospf_asbr_route_add): Instead of scanning all AS
3351 external route, use ospf_top->external_self.
3352
33532000-01-27 Toshiaki Takada <takada@zebra.org>
3354
3355 * ospf_lsa.c (ospf_forward_address_get): New function added.
3356
3357 * ospf_asbr.c (ospf_asbr_check_lsas): Originate AS-external-LSA
3358 only when it should be replaced.
3359
33602000-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3361
3362 * ospf_flood.c (ospf_ls_retransmit_clear): Delete list node.
3363
3364 * ospf_lsa.c (ospf_lsa_free): Reduce logging message using
3365 ospf_zlog value.
3366
3367 * ospf_ism.c (ism_change_status): Fix bug of DR -> non DR status
3368 change. Self originated LSA is freed but not deleted from lsdb.
3369
33702000-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3371
3372 * ospf_ism.c (ism_interface_down): Don't use router_id for
3373 detecting self neighbor structure. Instead of that compare
3374 pointer itself.
3375
3376 * ospf_neighbor.c (ospf_nbr_free): Cancel all timer when neighbor
3377 is deleted.
3378 (ospf_nbr_free): Free last send packet.
3379
3380 * ospf_neighbor.h (struct ospf_neighbor): Remove host strucutre.
3381 Instead of that src is introduced.
3382
3383 * ospf_nsm.h: Enclose macro defenition with do {} while (0).
3384
33852000-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3386
3387 * ospfd.c: Change part of passive interface implementation. For
3388 passive interface just disabling sending/receiving Hello on the
3389 interface.
3390
33912000-01-16 Kai Bankett <kai.bankett@vew-telnet.net>
3392
3393 * ospf_interface.h (OSPF_IF_PASSIVE): Add passive flag.
3394 * ospf_interface.c (ospf_if_lookup_by_name): Add new function.
3395 * ospf_lsa.c (ospf_router_lsa): Skip passive interface.
3396 * ospfd.c (passive_interface): New command passive-interface is
3397 added.
3398 (ospf_config_write): Print passive interface.
3399
34002000-01-15 Toshiaki Takada <takada@zebra.org>
3401
3402 * ospf_interface.h (crypt_key): New struct added to store
3403 multiple cryptographic autheitication keys.
3404 (ospf_interface): struct changed.
3405
3406 * ospf_interface.c: ospf_crypt_key_new, ospf_crypt_key_add,
3407 ospf_crypt_key_lookup, ospf_crypt_key_delete: new functions added.
3408
3409 * ospf_packet.c (ip_ospf_message_digest_key): Changed to store
3410 multiple cryptographic authentication keys.
3411
34122000-01-14 Toshiaki Takada <takada@zebra.org>
3413
3414 * ospf_interface.c: DEFUN (if_ospf_*) commands changed name to
3415 ip_ospf_* ().
3416 Old notation `ospf *' still remains backward compatibility.
3417
34181999-12-29 Alex Zinin <zinin@amt.ru>
3419 * ospf_lsa.c: ospf_lsa_more_recent() bug fix
3420 * ospf_nsm.c, ospf_packet.c: remove nbr data struct when
3421 int goes down, also check DD flags correctly (bug fix)
3422
34231999-12-28 Alex Zinin <zinin@amt.ru>
3424 * "redistribute <source> metric-type (1|2) metric <XXX>" added
3425
34261999-12-23 Alex Zinin <zinin@amt.ru>
3427 * added RFC1583Compatibility flag
3428 * added dynamic interface up/down functionality
3429
34301999-11-19 Toshiaki Takada <takada@zebra.org>
3431
3432 * ospf_neighbor.h (struct ospf_neighbor): Add member state_change
3433 for NSM state change statistics.
3434
34351999-11-19 Toshiaki Takada <takada@zebra.org>
3436
3437 * ospfd.c (show_ip_ospf_neighbor_detail),
3438 (show_ip_ospf_neighbor_int_detail): DEFUN Added.
3439
34401999-11-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3441
3442 * ospf_asbr.c (ospf_asbr_check_lsas): Add check of
3443 lsa->refresh_list.
3444
34451999-11-11 Toshiaki Takada <takada@zebra.org>
3446
3447 * ospf_ia.[ch] (OSPF_EXAMINE_SUMMARIES_ALL): Macro added.
3448 This macro is expanded to ospf_examine_summaries ()
3449 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3450 (OSPF_EXAMINE_TRANSIT_SUMMARIES_ALL): Macro added.
3451 This macro is expanded to ospf_examine_transit_summaries ()
3452 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3453
34541999-11-11 Toshiaki Takada <takada@zebra.org>
3455
3456 * ospf_lsa.[ch] (ospf_find_self_summary_lsa_by_prefix): Changed to
3457 macro OSPF_SUMMARY_LSA_SELF_FIND_BY_PREFIX.
3458 (ospf_find_self_summary_asbr_lsa_by_prefix): Changed to
3459 macro OSPF_SUMMARY_ASBR_LSA_SELF_FIND_BY_PREFIX.
3460 (ospf_find_self_external_lsa_by_prefix): Changed to
3461 macro OSPF_EXTERNAL_LSA_SELF_FIND_BY_PREFIX.
3462
34631999-11-11 Toshiaki Takada <takada@zebra.org>
3464
3465 * ospfd.c (ospf_abr_type): ospf_abr_type_cisco, ospf_abr_type_ibm,
3466 ospf_abr_type_shortcut and ospf_abr_type_standard DEFUNs are
3467 combined.
3468 * ospfd.c (no_ospf_abr_type): no_ospf_abr_type_cisco,
3469 no_ospf_abr_type_ibm and no_ospf_abr_type_shortcut DEFUNS are
3470 combined.
3471
34721999-11-10 Toshiaki Takada <takada@zebra.org>
3473
3474 * ospf_route.c (ospf_lookup_int_by_prefix): Move function to
3475 ospf_interface.c and change name to ospf_if_lookup_by_prefix ().
3476
34771999-11-01 Alex Zinin <zinin@amt.ru>
3478 * ospf_packet.c
3479 some correction to LSU processing
3480
3481 * ospf_lsa.c ospfd.h
3482 randomize initial LSA refreshment interval
3483 and limit the size of LSA-group to 10
3484 to let randomization work more effectively.
3485
34861999-10-31 Alex Zinin <zinin@amt.ru>
3487 * ospf_interface.c
3488 cancel t_network_lsa_self
3489 when freeing int structure
3490
3491 * ospf_abr.c ospf_asbr.c ospf_flood.c ospf_lsa.c
3492 ospf_lsa.h ospf_lsdb.h ospfd.c ospfd.h
3493
3494 Summary and ASE LSA refreshment functions
3495 added---LSA refreshment is paced to 70 LSAs
3496 per sec to avoid link overflow. Refreshment events
3497 are further randomized within a 10 sec interval
3498 to avoid syncing.
3499
3500 Also the sigfault of memcmp() in ospf_lsa_is_different()
3501 is fixed.
3502
35031999-10-30 Alex Zinin <zinin@amt.ru>
3504 * ospf_nsm.c
3505 Fix the bug where MAX_AGE LSAs
3506 are included into the DB summary.
3507
3508 * ospf_interface.c
3509 allocate 2*MTU input buffer instead of just MTU
3510 for the cases when the other router mistakenly
3511 sends larger packets thus causing fragmentation, etc.
3512
3513 * ospf_nsm.c
3514 in nsm_reset_nbr() lists should be freed
3515 not when they are empty.
3516
35171999-10-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3518
3519 * ospf_zebra.c (ospf_acl_hook): Move OSPF_IS_ASBR and OSPF_IS_ABR
3520 check inside of if (ospf_top).
3521
35221999-10-29 Alex Zinin <zinin@amt.ru>
3523 * ospf_lsa.c ospf_lsdb.c :
3524 add assertion in lsa and lsa->data alloc functions,
3525 as well as in lsdb_add for new->data
3526
3527 * ospf_lsdb.c: free hash table correctly
3528
35291999-10-28 John Capo <jc@irbs.com>
3530
3531 * ospf_packet.h (OSPF_PACKET_MAX): Correct MAX packet length
3532 calculation
3533
35341999-10-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3535
3536 * OSPF-TRAP-MIB.txt: New file added. Edited version of RFC1850.
3537
3538 * OSPF-MIB.txt: New file added. Edited version of RFC1850.
3539
35401999-10-27 Alex Zinin <zinin@amt.ru>
3541 * ospfd, ospf_zebra, ospf_abr
3542 "area import-list" command is added.
3543 This command allows to filter the inter-area routes
3544 injected into an area. Access list hook function
3545 extended to invalidate area exp/imp lists.
3546
35471999-10-25 Yoshinobu Inoue <shin@nd.net.fujitsu.co.jp>
3548
3549 * ospfd.c (ospf_interface_run): Enable to detect P2P network
3550 on an OSPF interface.
3551
35521999-10-19 Jordan Mendelson <jordy@wserv.com>
3553
3554 * ospf_lsdb.c (ospf_lsdb_add): Fix bug of crash
3555 in ospf_ls_retransmit_lookup ().
3556
35571999-10-19 Vladimir B. Grebenschikov <vova@express.ru>
3558
3559 * ospf_route.c: Workaround about installation of OSPF routes into
3560 the zebra daemon. Add checking of existance routes. Free
3561 ospf_top->old_table if it exists.
3562
35631999-10-15 Jordan Mendelson <jordy@wserv.com>
3564
3565 * Add support for MD5 authentication.
3566
35671999-10-12 Alex Zinin <zinin@amt.ru>
3568 * ospfd.c, ospfd.h, ospf_abr.c:
3569 a new command "area export-list" was added, it allows
3570 the admin. to control which intra-area routes are
3571 announced to other areas by the ABR
3572
35731999-10-12 Alex Zinin <zinin@amt.ru>
3574 * ospf_asbr.c (ospf_asbr_check_lsas): Fix bug of coredump
3575 when "no redistribute" is used after a distribute list
3576 denying some networks was used
3577
35781999-10-05 Toshiaki Takada <takada@zebra.org>
3579
3580 * ospf_route.c (ospf_path_dup): New function added.
3581
35821999-10-05 Toshiaki Takada <takada@zebra.org>
3583
3584 * ospf_interface.[ch]: Some of VL related funciton name changed.
3585
35861999-09-27 Alex Zinin <zinin@amt.ru>
3587
3588 * ospf_zebra.c: Distribute-list functionality added
3589
35901999-09-27 Toshiaki Takada <takada@zebra.org>
3591
3592 * ospfd.c (show_ip_ospf): Fix bug of segmentation fault when no ospf
3593 instance exists.
3594
35951999-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3596
3597 * ospfd.c (ospf_interface_down): Fix bug of misusing nextnode()
3598 instead of node->next. Reported by Hiroki Ishibashi
3599 <ishibasi@dcd.abk.nec.co.jp>.
3600
3601 * ospf_route.c (show_ip_ospf_route): Add check for ospf is enabled
3602 or not.
3603
36041999-09-23 Alex Zinin <zinin@amt.ru>
3605
3606 * stub area support added
3607
36081999-09-23 Alex Zinin <zinin@amt.ru>
3609
3610 * fwd_addr in ASE-LSAs is now set correctly
3611 * ASE routing changed to check the fwd_addr
3612 and skip the route if the addr points to one
3613 of our interfaces to avoid loops.
3614
36151999-09-22 Alex Zinin <zinin@amt.ru>
3616
3617 * ospf_interface:
3618 ospf_vls_in_area() added, it returns
3619 the number of VLs configured through the area
3620
3621 * ospf_interface.c ospf_lsa.c ospf_lsdb.c ospfd.c
3622 honor correct mem alloc
3623
36241999-09-22 Alex Zinin <zinin@amt.ru>
3625
3626 * memory.[ch]:
3627 Some OSPF mem types added,
3628 plus more info in "show mem"
3629
36301999-09-21 Alex Zinin <zinin@amt.ru>
3631
3632 * ospfd.c:
3633 "area range substitute" added.
3634 It can be used on NAT-enabled (IP-masquarade)
3635 routers to announce private networks
3636 from an area as public ones into the outside
3637 world (not in the RFC, btw :)
3638
36391999-09-21 Alex Zinin <zinin@amt.ru>
3640
3641 * ospfd.c:
3642 "area range suppress" added.
3643 This command allows to instruct the router
3644 to be silent about specific ranges, i.e.,
3645 it is a method of route filtering on area
3646 borders
3647
36481999-09-21 Alex Zinin <zinin@amt.ru>
3649
3650 * ospfd.c VLs removed when "no network area" executed
3651
36521999-09-20 Alex Zinin <zinin@amt.ru>
3653
3654 * ospf_ase.c bug fix for not-zero fwd_addr
3655 and directly connected routes.
3656
36571999-09-20 Yon Uriarte <yon@plannet.de>
3658
3659 * ospf_packet.c (ospf_make_ls_req): Introduce delta value for
3660 checking the length of OSPF packet exceeds MTU or not.
3661
3662 * ospf_lsa.c (ospf_lsa_different): Apply ntohs for checking
3663 l1->data->length.
3664
36651999-09-18 Alex Zinin <zinin@amt.ru>
3666
3667 * ospf_lsa.c bug fix for ospf_network_lsa() to
3668 include itself into the RID list
3669
36701999-09-10 Alex Zinin <zinin@amt.ru>
3671
3672 * Alternative ABR behaviors IBM/Cisco/Shortcut
3673 implemented
3674
36751999-09-10 Alex Zinin <zinin@amt.ru>
3676
3677 * router and network-LSA origination
3678 changed to honor MinLSInterval
3679
36801999-09-08 Alex Zinin <zinin@amt.ru>
3681
3682 * modified ABR behavior to honor VLs and transit
3683 areas
3684
36851999-09-07 Alex Zinin <zinin@amt.ru>
3686
3687 * completed VL functionality
3688
36891999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3690
3691 * ospf_asbr.c: New file.
3692 ospf_asbr.h: New file.
3693
3694 * ospf_zebra.c (ospf_redistribute_connected): Add redistribute
3695 related stuff.
3696
36971999-09-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3698
3699 * ospfd.h (OSPF_FLAG_VIRTUAL_LINK): Change OSPF_FLAG_VEND to
3700 OSPF_FLAG_VIRTUAL_LINK for comprehensiveness.
3701
37021999-09-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3703
3704 * ospf_spf.c (ospf_spf_register): Change name from
3705 ospf_spf_route_add() to ospf_spf_register().
3706 Include "ospfd/ospf_abr.h" for ospf_abr_task() prototype.
3707
37081999-09-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3709
3710 * ospf_lsa.c (ospf_external_lsa_install): Change to update
3711 lsa->data rather than install new one, when same id lsa is already
3712 installed.
3713
37141999-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3715
3716 * ospf_lsa.c (ospf_router_lsa_install): Return lsa value.
3717 (ospf_network_lsa_install): Likewise.
3718 (ospf_summary_lsa_install): Likewise.
3719 (ospf_summary_asbr_lsa_install): Likewise.
3720 (ospf_external_lsa_install): Likewise.
3721
3722 * ospf_spf.c (ospf_spf_calculate): Comment out debug function
3723 ospf_rtrs_print().
3724
37251999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3726
3727 * ospf_spf.c (ospf_rtrs_free): Add ospf_spf_calculate() for
3728 freeing rtrs.
3729
37301999-08-31 Toshiaki Takada <takada@zebra.org>
3731
3732 * ospf_lsa.c (show_ip_ospf_database_summary),
3733 (show_ip_ospf_database_summary_asbr),
3734 (show_ip_ospf_database_external): New function added.
3735 `show ip ospf database summary',
3736 `show ip ospf database asbr-summary'
3737 `show ip ospf database external' command can be used.
3738
3739 * ospf_lsa.c (ospf_lsa_count_table): New function added.
3740 (show_ip_ospf_database_all): show nothing if a type of LSA
3741 does not exist.
3742
37431999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3744
3745 * ospf_lsa.c (ospf_maxage_lsa_remover): Preserve next pointer when
3746 the node is deleted.
3747
37481999-08-31 Toshiaki Takada <takada@zebra.org>
3749
3750 * ospf_flood.c (ospf_ls_retransmit_lookup): change to return
3751 struct ospf_lsa *.
3752 (ospf_ls_request_new), (ospf_ls_request_free),
3753 (ospf_ls_request_add), (ospf_ls_request_delete),
3754 (ospf_ls_request_delete_all), (ospf_ls_request_lookup):
3755 New function added.
3756
3757 * ospf_packet.c (ospf_ls_upd_send_lsa): New function added.
3758
3759 * ospf_lsa.h (LS_AGE): Slightly change macro definition.
3760
3761 * ospf_lsa.c (ospf_lsa_more_recent), (ospf_lsa_diffrent):
3762 Use LS_AGE macro.
3763
37641999-08-30 Alex Zinin <zinin@amt.ru>
3765
3766 * ospfd.c
3767 fix a bug with area range config write
3768 added "show ip ospf" command, it will be enhanced later on
3769
37701999-08-30 Alex Zinin <zinin@amt.ru>
3771
3772 * ospf_lsa.c
3773 updated ospf_router_lsa() to honor flags (B-bit)
3774
37751999-08-30 Alex Zinin <zinin@amt.ru>
3776
3777 * ospf_abr.c
3778 wrote major functions implementing ABR activity
3779
37801999-08-30 Alex Zinin <zinin@amt.ru>
3781
3782 * ospf_ia.c ospf_route.c ospf_route.h
3783 fixed the bug with ospf_route.origin field.
3784 Now it holds pointer to lsa_header
3785
37861999-08-30 Alex Zinin <zinin@amt.ru>
3787
3788 * ospf_flood.c ospf_flood.h:
3789 transformed ospf_flood_if_select into ospf_flood_through_area()
3790 added new ospf_flood_if_select() and ospf_flood_through_as()
3791
37921999-08-30 Toshiaki Takada <takada@zebra.org>
3793
3794 * ospf_flood.[ch]: New file added.
3795
3796 * ospf_packet.c (ospf_lsa_flooding),
3797 (ospf_lsa_flooding_select_if): functions move to ospf_flood.c
3798
3799 * ospf_neighbor.c (ospf_put_lsa_on_retransm_list),
3800 (ospf_remove_lsa_from_retransm_list),
3801 (ospf_nbr_remove_all_lsas_from_retransm_list),
3802 (ospf_lsa_remove_from_ls_retransmit):
3803 (ospf_lsa_retransmit): functions move to
3804 ospf_flood.c, and change function's name:
3805
3806 ospf_put_lsa_on_retransm_list ()
3807 -> ospf_ls_retransmit_add ()
3808 ospf_remove_lsa_from_retransm_list ()
3809 -> ospf_ls_retransmit_delete ()
3810 ospf_nbr_remove_all_lsas_from_retransm_list ()
3811 -> ospf_ls_retransmit_clear ()
3812 ospf_lsa_remove_from_ls_retransmit ()
3813 -> ospf_ls_retransmit_delete_nbr_all ()
3814 ospf_lsa_retransmit ()
3815 -> ospf_ls_retransmit_add_nbr_all ()
3816
3817 * ospf_lsa.c (ospf_lsa_lookup_from_list): function move to
3818 ospf_flood.c, and change name to ospf_ls_retransmit_lookup ().
3819
38201999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3821
3822 * ospf_neighbor.c (ospf_nbr_lookup_by_addr): Use
3823 route_node_lookup() instead of route_node_get().
3824
3825 * ospf_packet.c (ospf_ls_upd): Temporary comment out (6) check.
3826
38271999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3828
3829 * ospf_route.c (ospf_lookup_int_by_prefix): Add check of
3830 oi->address.
3831
38321999-08-29 Alex Zinin <zinin@amt.ru>
3833 * ospf_lsa.c
3834 MaxAge LSA deletion functions added.
3835
38361999-08-29 Alex Zinin <zinin@amt.ru>
3837 * ospf_neighbor.c
3838 ospf_nbr_lookup_by_addr(): added route_unlock_node()
3839 when function returns NULL if (rn->info == NULL)
3840
38411999-08-29 Alex Zinin <zinin@amt.ru>
3842 * ospfd.c
3843 added a hack for area range deletion
3844
38451999-08-29 Alex Zinin <zinin@amt.ru>
3846 * ospf_lsa.h
3847 included lsdb field into struct ospf_lsa, to find
3848 LSDB easier when removing MaxAge LSAs.
3849
38501999-08-29 Alex Zinin <zinin@amt.ru>
3851 * ospf_lsa.c ospf_neighbor.c ospf_nsm.c
3852 ospf_packet.c changed to honor new retransmit list
3853 management functions
3854
38551999-08-29 Alex Zinin <zinin@amt.ru>
3856 * ospf_neighbor.c , .h added new retransmit list functions.
3857
38581999-08-29 Alex Zinin <zinin@amt.ru>
3859 * Makefile.in
3860 added ospf_ase, ospf_abr, ospf_ia
3861
38621999-08-29 Alex Zinin <zinin@amt.ru>
3863 * ospf_spf.c:
3864 - changed ospf_next_hop_calculation() to include interface
3865 and nexthop addr for directly connected routers---more informative
3866 and solves problem with route installation into the kernel
3867 - changed ospf_nexthop_out_if_addr() to support routers, not only
3868 transit networks
3869 - added ospf_process_stubs();
3870
38711999-08-29 Alex Zinin <zinin@amt.ru>
3872 * ospf_lsa.c:
3873 - changed ospf_router_lsa() to provide correct links
3874 for p-t-p interfaces;
3875 - changed ospf_summary_lsa_install() to support table
3876 of self-originated summary-LSAs;
3877 - added ospf_summary_asbr_lsa_install() and ospf_external_lsa_install()
3878 - changed ospf_lsa_install() accordingly
3879 - changed show_ip_ospf_database_router_links() to support p-t-p
3880
38811999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3882
3883 * ospf_packet.c (ospf_make_db_desc): Only master can clear more
3884 flag.
3885
38861999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3887
3888 * ospf_packet.c (ospf_read): Add check of IP src address.
3889
38901999-08-28 Alex Zinin <zinin@amt.ru>
3891 * ospf_neighbor.h
3892 added ospf_nbr_lookup_by_routerid()
3893
38941999-08-28 Alex Zinin <zinin@amt.ru>
3895 * ospfd.h
3896 added ABR/ASBR flag definitions and fields;
3897 added iflist field to area structure;
3898 summary_lsa_self and summary_lsa_asbr_self are changed
3899 to be route tables;
3900 added ranges field---configured area ranges;
3901 A separate Routers RT added;
3902 area range config commands and config write added
3903
3904
39051999-08-28 Alex Zinin <zinin@amt.ru>
3906 * ospf_route.c :
3907 ospf_route_free()--added code to free the list of paths;
3908 The following functions added:
3909 ospf_intra_add_router();
3910 ospf_intra_add_transit();
3911 ospf_intra_add_stub();
3912 the last function uses new ospf_int_lookup_by_prefix();
3913 show_ip_ospf_route_cmd()--changed to support new RT structure;
3914 added ospf_cmp_routes()--general route comparision function;
3915 added ospf_route_copy_nexthops() and ospf_route_copy_nexthops_from_vertex()
3916 they are used in ASE and IA routing;
3917 added ospf_subst_route() and ospf_add_route();
3918
39191999-08-28 Alex Zinin <zinin@amt.ru>
3920 * ospf_route.h :
3921 changed struct ospf_path to include output interface,
3922 changed struct ospf_route to support IA and ASE routing.
3923 added prototypes of the function used in IA and ASE modules.
3924
39251999-08-28 Alex Zinin <zinin@amt.ru>
3926 * ospf_lsa.h ospf_lsa.c :
3927 added ospf_my_lsa(), an interface independent version of
3928 ospf_lsa_is_self_originated(), it will be used in ASE and IA-routing.
3929
39301999-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3931
3932 * ospf_interface.c (interface_config_write): Add check for
3933 oi->nbr_self.
3934
39351999-08-25 Toshiaki Takada <takada@zebra.org>
3936
3937 * ospf_lsa.c (ospf_lsa_dup): New function added.
3938
3939 * ospf_packet.c (ospf_write), (ospf_read): Print send/recv
3940 interface in debug message.
3941
39421999-08-25 Toshiaki Takada <takada@zebra.org>
3943
3944 * ospf_packet.c (ospf_ls_ack_send): The name is changed from
3945 `ospf_ls_ack_send'.
3946 (ospf_ls_ack_send_delayed) (ospf_ls_ack_timer): New function added.
3947 Delayed Link State Acknowledgment is scheduled by timer.
3948
39491999-08-25 Alex Zinin <zinin@amt.ru>
3950
3951 * ospf_lsa.c (ospf_router_lsa): Incorrectly included link to
3952 a stub network instead of link to a transit network into
3953 originated router-LSA, bug fixed.
3954
39551999-08-24 Toshiaki Takada <takada@zebra.org>
3956
3957 * ospfd.c (ospf_update_router_id): New function added.
3958
3959 * ospf_network.c (ospf_write): Create new socket per transmission.
3960 And select outgoing interface whether dst is unicast or multicast.
3961
3962 * ospf_packet.c: LSA flooding will work.
3963
39641999-08-24 VOP <vop@unity.net>
3965
3966 * ospf_route.c: Include "sockunion.h"
3967
39681999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3969
3970 * ospf_network.c (ospf_serv_sock_init): Enclose
3971 IPTOS_PREC_INTERNETCONTROL setting with #ifdef for OS which does
3972 not have the definition.
3973
39741999-08-23 Toshiaki Takada <takada@zebra.org>
3975
3976 * ospf_packet.c: Fix bug of DD processing.
3977
39781999-08-18 Toshiaki Takada <takada@zebra.org>
3979
3980 * ospf_lsa.c (show_ip_ospf_database): Show actual `LS age'.
3981
39821999-08-17 Toshiaki Takada <takada@zebra.org>
3983
3984 * ospf_lsa.h (OSPF_MAX_LSA): The value of OSPF_MAX_LSA is
3985 corrected. The bug of `mes_lookup' is fixed.
3986 This had been reported by Poul-Henning Kamp <phk@freebsd.org>.
3987
3988 * ospf_lsa.c (ospf_router_lsa_install): The name is changed from
3989 `ospf_add_router_lsa'.
3990 (ospf_network_lsa_install): The name is changed from
3991 `ospf_add_network_lsa'.
3992
3993 * ospf_interface.h (ospf_interface): Add member `nbr_self'.
3994
3995 * ospf_interface.c (ospf_if_is_enable): New function added.
3996
39971999-08-16 Toshiaki Takada <takada@zebra.org>
3998
3999 * ospf_lsa.h (struct lsa_header): The name is changed from
4000 `struct ospf_lsa'.
4001 (struct ospf_lsa): New struct added to control each LSA's aging
4002 and timers.
4003
4004 * ospf_lsa.c (ospf_lsa_data_free): The name is change from
4005 `ospf_lsa_free'.
4006 (ospf_lsa_data_new), (ospf_lsa_new), (ospf_lsa_free),
4007 (ospf_lsa_different), (ospf_lsa_install): New function added.
4008
4009 * ospf_packet.c (ospf_ls_upd_list_lsa): New function added.
4010
40111999-08-12 Toshiaki Takada <takada@zebra.org>
4012
4013 * ospf_nsm.c (nsm_reset_nbr): New function added.
4014 KillNbr and LLDown neighbor event call this function.
4015
40161999-08-10 Toshiaki Takada <takada@zebra.org>
4017
4018 * ospf_packet.c (ospf_ls_retransmit)
4019 (ospf_ls_upd_timer): New function added.
4020 Set retransmission timer for Link State Update.
4021
40221999-07-29 Toshiaki Takada <takada@zebra.org>
4023
4024 * ospf_ism.c (ospf_dr_election): Fix bug of DR election.
4025
40261999-07-28 Toshiaki Takada <takada@zebra.org>
4027
4028 * ospf_network.c (ospf_serv_sock_init): Set IP precedence field
4029 with IPTOS_PREC_INTERNET_CONTROL.
4030
4031 * ospf_nsm.c (nsm_change_status): Schedule NeighborChange event
4032 if NSM status change.
4033
4034 * ospf_packet.c (ospf_make_hello): Never include a neighbor in
4035 Hello packet, when the neighbor goes down.
4036
40371999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
4038
4039 * Makefile.am (noinst_HEADERS): Add ospf_route.h.
4040
4041 * ospf_route.c (show_ip_ospf_route): Add `show ip ospf route'
4042 command.
4043
40441999-07-25 Toshiaki Takada <takada@zebra.org>
4045
4046 * ospf_lsa.c (ospf_router_lsa): Fix bug of LS sequence number
4047 assignement.
4048
40491999-07-25 Kunihiro Ishiguro <kunihiro@zebra.org>
4050
4051 * ospf_route.c (ospf_route_table_free): New function added.
4052
4053 * ospf_spf.c (ospf_spf_next): Free vertex w when cw's and w's
4054 distance is same.
4055
4056 * ospfd.h (struct ospf): Add old_table.
4057
4058 * ospf_main.c (sighup): Call of log_rotate () removed.
4059
4060 * ospf_lsa.c (ospf_lsa_is_self_originated): Fix bug of checking
4061 area->lsa as self LSA. This should be area->lsa_self.
4062
40631999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
4064
4065 * ospf_zebra.c (ospf_zebra_add): ospf_zebra_add
4066 (),ospf_zebra_delete () added.
4067
4068 * ospf_spf.c (ospf_spf_calculate): Call ospf_intra_route_add ().
4069
40701999-07-24 Toshiaki Takada <takada@zebra.org>
4071
4072 * ospf_lsa.c: Change LS sequence number treatment.
4073 (ospf_lsa_is_self_originated): New function added.
4074 (show_ip_ospf_database_self_originated): New DEFUN added.
4075
40761999-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4077
4078 * ospf_interface.c (ospf_if_lookup_by_addr): Add loopback check.
4079
40801999-07-22 Toshiaki Takada <takada@zebra.org>
4081
4082 * ospf_spf.c (ospf_nexthop_new), (ospf_nexthop_free),
4083 (ospf_nexthop_dup): function added.
4084 (ospf_nexthop_calculation): function changed.
4085
4086 * ospf_interface.c (ospf_if_lookup_by_addr): function added.
4087
40881999-07-21 Toshiaki Takada <takada@zebra.org>
4089
4090 * ospf_spf.c (ospf_spf_closest_vertex): function removed.
4091
40921999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
4093
4094 * ospf_spf.c (ospf_spf_next): Apply ntohs for fetching metric.
4095
40961999-07-21 Toshiaki Takada <takada@zebra.org>
4097
4098 * ospf_neighbor.c (ospf_nbr_lookup_by_router_id): fundtion removed.
4099
4100 * ospf_lsa.c (show_ip_ospf_database_router): describe each
4101 connected link.
4102
41031999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
4104
4105 * ospf_spf.c (ospf_spf_next): V is router LSA or network LSA so
4106 change behavior according to LSA type.
4107 (ospf_lsa_has_link): Link check function is added.
4108
41091999-07-20 Kunihiro Ishiguro <kunihiro@zebra.org>
4110
4111 * ospf_spf.c (ospf_spf_calculate_schedule): Add new function for
4112 SPF calcultion schedule addtition.
4113 (ospf_spf_calculate_timer_add): Rough 30 sec interval SPF calc
4114 timer is added.
4115 (ospf_spf_next_router): Delete ospf_spf_next_network ().
4116
4117 * ospf_lsa.c (show_ip_ospf_database_all): Network-LSA display
4118 header typo correction. Display of router LSA's #link added.
4119
41201999-07-19 Toshiaki Takada <takada@zebra.org>
4121
4122 * ospf_packet.c (ospf_check_network_mask): Added new function for
4123 receiving Raw IP packet on an appropriate interface.
4124
41251999-07-16 Toshiaki Takada <takada@zebra.org>
4126
4127 * ospfd.c (ospf_router_id): new DEFUN added.
4128
41291999-07-15 Toshiaki Takada <takada@zebra.org>
4130
4131 * ospf_spf.c (ospf_spf_init), (ospf_spf_free),
4132 (ospf_spf_has_vertex), (ospf_vertex_lookup),
4133 (ospf_spf_next_router), (ospf_spf_next_network),
4134 (ospf_spf_closest_vertex), (ospf_spf_calculate):
4135 function added.
4136
41371999-07-13 Toshiaki Takada <takada@zebra.org>
4138
4139 * ospf_ism.c: fix bug of DR Election.
4140
4141 * ospf_nsm.c: fix bug of adjacency forming.
4142
41431999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
4144
4145 * ospfd.c (ospf_init): Change to use install_default.
4146
41471999-07-01 Rick Payne <rickp@rossfell.co.uk>
4148
4149 * ospf_zebra.c (zebra_init): Install standard commands to
4150 ZEBRA_NODE.
4151
41521999-06-30 Toshiaki Takada <takada@zebra.org>
4153
4154 * ospf_dump.c: Whole debug command is improved.
4155 (ISM|NSM) (events|status|timers) debug option added.
4156 (show_debugging_ospf): new DEFUN added.
4157
41581999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4159
4160 * ospf_lsa.c (ospf_lsa_lookup_from_list): Change !IPV4_ADDR_CMP to
4161 IPV4_ADDR_SAME.
4162
41631999-06-29 Toshiaki Takada <takada@zebra.org>
4164
4165 * ospf_dump.c (ospf_summary_lsa_dump): Add summary-LSA dump routine.
4166 (ospf_as_external_lsa_dump): Add AS-external-LSA dump routine.
4167
4168 * ospf_nsm.c (nsm_twoway_received): fix condtion of adjacnet.
4169
4170 * ospf_ism.c (ospf_dr_election): fix DR Election.
4171
4172 * ospf_dump.c (ospf_nbr_state_message): fix `show ip ospf neighbor'
4173 command's state.
4174
41751999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4176
4177 * ospf_dump.c (ospf_router_lsa_dump): Add router-LSA dump routine.
4178
41791999-06-28 Toshiaki Takada <takada@zebra.org>
4180
4181 * ospf_lsa.c (show_ip_ospf_database_network): fix bug of
4182 `show ip ospf database network' command output.
4183
4184 * ospf_nsm.c (nsm_inactivity_timer): Clear list of Link State
4185 Retransmission, Database Summary and Link State Request.
4186
4187 * ospf_packet.c (ospf_ls_req_timer): New function added.
4188 Set Link State Request retransmission timer.
4189
41901999-06-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4191
4192 * ospf_main.c (main): Change default output from ZLOG_SYSLOG to
4193 ZLOG_STDOUT.
4194
4195 * ospfd.c (ospf_init): Register show_ip_ospf_interface_cmd and
4196 show_ip_ospf_neighbor_cmd to VIEW_NODE.
4197
4198 * ospf_lsa.c (ospf_lsa_init): Register show_ip_ospf_database_cmd
4199 and show_ip_ospf_database_type_cmd to VIEW_NODE.
4200
42011999-06-25 Toshiaki Takada <takada@zebra.org>
4202
4203 * ospf_packet.c: fix bug of DD making.
4204 fix bug of LS-Update reading.
4205
42061999-06-23 Toshiaki Takada <takada@zebra.org>
4207
4208 * ospf_packet.c: All type of packets are changed to use
4209 fifo queue structure.
4210 (ospf_fill_header) function added.
4211
42121999-06-22 Toshiaki Takada <takada@zebra.org>
4213
4214 * ospf_packet.c (ospf_packet_new): New function added to handle
4215 sending ospf packet by fifo queue structure.
4216 (ospf_packet_free), (ospf_fifo_new), (ospf_fifo_push),
4217 (ospf_fifo_pop), (ospf_fifo_head), (ospf_fifo_flush),
4218 (ospf_fifo_free): Likewise.
4219
42201999-06-21 Toshiaki Takada <takada@zebra.org>
4221
4222 * ospf_nsm.c (ospf_db_desc_timer): function added.
4223 (nsm_timer_set) function added.
4224 * ospf_dump.c (ospf_option_dump): function added.
4225 * ospf_packet.c (ospf_ls_req) (ospf_make_ls_req): function added.
4226
42271999-06-20 Toshiaki Takada <takada@zebra.org>
4228
4229 * ospf_lsa.c (ospf_lsa_more_recent): function added.
4230 * ospf_neighbor.h (struct ospf_neighbor): Change member ms_flag
4231 to dd_flags.
4232
42331999-06-19 Toshiaki Takada <takada@zebra.org>
4234
4235 * ospf_lsa.c: DEFUN (show_ip_ospf_database) Added.
4236 * ospf_interface.c (if_ospf_cost), (if_ospf_dead_interval),
4237 (if_ospf_hello_interval), (if_ospf_priority),
4238 (if_ospf_retransmit_interval), (if_ospf_transmit_delay)
4239 argument changed from NUMBER to <range>.
4240 DEFUN (if_ospf_network_broadcast),
4241 DEFUN (if_ospf_network_non_broadcast),
4242 DEFUN (if_ospf_network_point_to_multipoint),
4243 DEFUN (if_ospf_network_point_to_point) functions are combined to
4244 DEFUN (if_ospf_network).
4245
42461999-06-18 Toshiaki Takada <takada@zebra.org>
4247
4248 * ospf_lsa.c: ospf_add_router_lsa (), ospf_add_network_lsa (),
4249 ospf_lsa_lookup (), ospf_lsa_count () Added.
4250
42511999-06-15 Toshiaki Takada <takada@zebra.org>
4252
4253 * DEFUN (ospf_debug_ism), DEFUN (ospf_debug_nsm),
4254 DEFUN (no_ospf_debug_ism), DEFUN (no_ospf_debug_nsm) Added.
4255 `debug ospf ism' command shows debug message.
4256 `debuf ospf nsm' command shows debug message.
4257
42581999-06-14 Toshiaki Takada <takada@zebra.org>
4259
4260 * ospf_lsa.c: ospf_network_lsa () Added.
4261 ospf_lsa_checksum () Added.
4262 * DEFUN (ospf_debug_packet), DEFUN (no_ospf_debug_packet) Added.
4263 `debug ospf packet' command shows debug message.
4264
42651999-06-13 Toshiaki Takada <takada@zebra.org>
4266
4267 * ospf_packet.h: Remove struct ospf_ls_req {}, ospf_ls_upd {},
4268 ospf_ls_ack {}.
4269
42701999-06-11 Toshiaki Takada <takada@zebra.org>
4271
4272 * ospf_dump.c: fix IP packet length treatment.
4273
42741999-06-10 Toshiaki Takada <takada@zebra.org>
4275
4276 * ospf_ism.h: Add OSPF_ISM_EVENT_EXECUTE() Macro Added.
4277 * ospf_nsm.h: Add OSPF_NSM_EVENT_EXECUTE() Macro Added.
4278
4279 * ospf_packet.c: ospf_db_desc (), ospf_db_desc_send () Added.
4280 ospf_make_hello (), ospf_make_db_desc () Added.
4281 ospf_db_desc_proc () Added.n
4282
4283 * Database Description packet can be processed.
4284
42851999-06-08 Toshiaki Takada <takada@zebra.org>
4286
4287 * ospf_lsa.c: New file.
4288
42891999-06-07 Toshiaki Takada <takada@zebra.org>
4290
4291 * ospf_neighbor.c: ospf_fully_adjacent_count () Added.
4292
42931999-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
4294
4295 * ospf_spf.[ch]: New file.
4296
42971999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4298
4299 * ospf_zebra.c: Changed to use lib/zclient.c routines.
4300
4301 * ospf_zebra.h (zebra_start): Remove struct zebra.
4302
43031999-05-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4304
4305 * ospfd.c (ospf_config_write): Add cast (unsigned long int) to
4306 ntohl for sprintf warning.
4307
43081999-05-19 Toshiaki Takada <takada@zebra.org>
4309
4310 * ospf_ism.c (ospf_dr_election): Join AllDRouters Multicast group
4311 if interface state changes to DR or BDR.
4312
43131999-05-14 Stephen R. van den Berg <srb@cuci.nl>
4314
4315 * ospf_main.c (signal_init): SIGTERM call sigint.
4316 (sigint): Logging more better message.
4317
43181999-05-12 Toshiaki Takada <takada@zebra.org>
4319
4320 * ospfd.c: Fix bug of `no router ospf' statement, it will work.
4321
43221999-05-11 Toshiaki Takada <takada@zebra.org>
4323
4324 * ospf_neighbor.c: ospf_nbr_free () Added.
4325
43261999-05-10 Toshiaki Takada <takada@zebra.org>
4327
4328 * ospfd.h: struct ospf_area { }, struct ospf_network { } Changed.
4329 * Fix bug of `no network' statement, it will work.
4330
43311999-05-07 Toshiaki Takada <takada@zebra.org>
4332
4333 * ospf_interface.c, ospf_zebra.c: Fix bug of last interface is not
4334 updated by ospf_if_update ().
4335
43361999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4337
4338 * Makefile.am (noinst_HEADERS): Add ospf_lsa.h for distribution.
4339
43401999-04-25 Toshiaki Takada <takada@zebra.org>
4341
4342 * ospf_interface.c: DEFUN (no_if_ospf_cost),
4343 DEFUN (no_if_ospf_dead_interval),
4344 DEFUN (no_if_ospf_hello_interval),
4345 DEFUN (no_if_ospf_priority),
4346 DEFUN (no_if_ospf_retransmit_interval),
4347 DEFUN (no_if_ospf_transmit_delay) Added.
4348
4349 interface_config_write () suppress showing interface
4350 default values.
4351
43521999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
4353
4354 * ospf_dump.c (ospf_timer_dump): If thread is NULL return "inactive".
4355
4356 * ospfd.c (ospf_if_update): Fix bug of using ospf_area { } instead
4357 of ospf_network { }. So `router ospf' statement in ospfd.conf
4358 works again.
4359 (ospf_if_update): Call ospf_get_router_id for updating router ID.
4360
43611999-04-25 Toshiaki Takada <takada@zebra.org>
4362
4363 * ospf_interface.c: DEFUN (if_ospf_network) deleted.
4364 DEFUN (if_ospf_network_broadcast),
4365 DEFUN (if_ospf_network_non_broadcast),
4366 DEFUN (if_ospf_network_point_to_multipoint),
4367 DEFUN (if_ospf_network_point_to_point),
4368 DEFUN (no_if_ospf_network) Added.
4369
43701999-04-23 Toshiaki Takada <takada@zebra.org>
4371
4372 * ospfd.h: struct area { } changed to struct ospf_network { }.
4373 Add struct ospf_area { }.
4374 * ospfd.c: Add ospf_area_lookup_by_area_id (), ospf_network_new (),
4375 and ospf_network_free ().
4376 DEFUN (area_authentication), DEFUN (no_area_authentication) Added.
4377
43781999-04-22 Toshiaki Takada <takada@zebra.org>
4379
4380 * ospf_lsa.h: New file.
4381 * ospf_packet.h: LSA related struct definition are moved to
4382 ospf_lsa.h.
4383 * ospf_packet.c: ospf_verify_header () Added.
4384
43851999-04-21 Toshiaki Takada <takada@zebra.org>
4386
4387 * ospf_ism.c: ospf_elect_dr () and related function is changed.
4388 DR Election bug fixed.
4389 * ospf_dump.c: ospf_nbr_state_message (), ospf_timer_dump () Added.
4390 * ospfd.c: DEFUN (show_ip_ospf_neighbor) Added.
4391
43921999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
4393
4394 * ospf_main.c (main): access_list_init () is added for vty
4395 connection filtering.
4396
43971999-04-16 Toshiaki Takada <takada@zebra.org>
4398
4399 * ospfd.c: DEFUN (show_ip_ospf_interface) Added.
4400 * ospf_neighbor.c: ospf_nbr_count () Added.
4401
44021999-04-15 Toshiaki Takada <takada@zebra.org>
4403
4404 * ospfd.h: struct ospf { } Changed.
4405 * ospfd.c: ospf_lookup_by_process_id () Deleted.
4406 * ospf_ism.c: ospf_wait_timer () Added. WaitTimer will work.
4407
44081999-04-14 Toshiaki Takada <takada@zebra.org>
4409
4410 * ospf_ism.c: ospf_elect_dr () Added.
4411 * ospf_network.c: ospf_if_ipmulticast () Added.
4412
44131999-04-11 Toshiaki Takada <takada@zebra.org>
4414
4415 * ospf_interface.c: interface_config_write (),
4416 DEFUN (if_ip_ospf_cost),
4417 DEFUN (if_ip_ospf_dead_interval),
4418 DEFUN (if_ip_ospf_hello_interval),
4419 DEFUN (if_ip_ospf_priority),
4420 DEFUN (if_ip_ospf_retransmit_interval) and
4421 DEFUN (if_ip_ospf_transmit_delay) Added.
4422
44231999-04-08 Toshiaki Takada <takada@zebra.org>
4424
4425 * ospf_dump.c: ospf_packet_db_desc_dump () Added.
4426 * ospf_neighbor.c: ospf_nbr_bidirectional () Added.
4427 * ospf_nsm.c: nsm_twoway_received () Added.
4428
44291999-04-02 Toshiaki Takada <takada@zebra.org>
4430
4431 * ospf_neighbor.c: New file.
4432 * ospf_neighbor.h: New file.
4433 * ospf_nsm.c: New file.
4434 * ospf_nsm.h: New file.
4435 * ospf_packet.c: Add ospf_make_header (), ospf_hello () and
4436 ospf_hello_send (). Now OSPFd can receive Hello and send Hello.
4437
44381999-03-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4439
4440 * ospf_packet.c: Add ospf_recv_packet (). Now OSPF Hello can receive.
4441
44421999-03-19 Toshiaki Takada <takada@zebra.org>
4443
4444 * ospf_packet.c: New file.
4445 * ospf_packet.h: New file.
4446 * ospf_network.c: New file.
4447 * ospf_network.h: New file.
4448 * ospfd.h: move OSPF message structure has moved to ospf_packet.h.
4449
44501999-03-17 Kunihiro Ishiguro <kunihiro@zebra.org>
4451
4452 * ospf_zebra.c (ospf_zebra_get_interface): Fix for IPv6 interface
4453 address.
4454
4455 * Makefile.am (install-sysconfDATA): Overwrite install-sysconfDATA
4456 for install ospfd.conf.sample as owner read only file.
4457
4458 * ospf_main.c (usage): Change to use ZEBRA_BUG_ADDRESS.
4459
44601999-03-15 Toshiaki Takada <takada@zebra.org>
4461
4462 * ospf_ism.c: New file.
4463 * ospf_ism.h: New file.
4464 * ospf_dump.c: New file.
4465 * ospf_dump.h: New file.
4466
4467 * ospfd.h: Add (struct ospf), (struct config_network),
4468 (struct message) structure.
4469
4470 * ospf_interface.c: Add ospf_if_match_network ().
4471 * ospf_interface.h (struct ospf_interface): Change struct members.
4472
4473 * ospfd.c: ospf_lookup_by_process_id (), ospf_network_new (),
4474 DEFUN (network_area): Added.
4475
4476 * ospfd.conf.sample: Change sample configuration.
4477
44781999-03-05 Toshiaki Takada <takada@zebra.org>
4479
4480 * ospf_interface.c: New file.
4481 * ospf_interface.h: New file.
4482 * ospf_zebra.h: New file.
4483 * ospf_zebra.c: Add interface function for zebra daemon.
4484 * ospfd.c: New file.
4485
44861999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4487
4488 * Move IPv6 codes and files to ospf6d directory.
4489
44901999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
4491
4492 * syslog support added
4493
44941998-12-22 Toshiaki Takada <takada@zebra.org>
4495
4496 * ospfd.h: New file.
4497 * ospf_lsa.h: New file.
4498
44991998-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
4500
4501 * Makefile.am: New file.
4502 * ospf_main.c: New file.
4503