blob: 08a3fcb5bcbf6b3d753e380696473f1569298897 [file] [log] [blame]
paulb29800a2005-11-20 14:50:45 +000012005-11-20 Paul Jakma <paul.jakma@sun.com>
2
3 * ospfd.h: remove the OSPF_ROUTER_ID_UPDATE_DELAY define
4 (struct ospf) remove the router_id timer thread.
5 remove export of ospf_router_id_update_timer.
6 * ospfd.c: (ospf_router_id_update) call ospf_if_update to
7 poke interfaces into action after ID has been configured.
8 (ospf_router_id_update_timer) removed.
9 (ospf_finish_final) t_router_id_update timer is gone.
10 (ospf_network_run) router-id update timer gone.
11 call ospf_router_id_update directly if ID not configured.
12 In the per-iface loop, don't ospf_if_up interfaces if
13 ID is still not configured. The update function will call
14 ospf_if_update anyway.
15 (ospf_if_update) ID update timer is gone. Just return if no
16 ID is set.
17 * ospf_vty.c: (ospf_router_id) call ospf_router_id_update, no
18 timer needed.
19 * ospf_zebra.c: (ospf_router_id_update_zebra) call
20 ospf_router_id_update directly, not via timer.
21
ajs70cd3472005-11-16 19:33:22 +0000222005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
23
ajs649654a2005-11-16 20:17:52 +000024 * ospf_dump.h: Define OSPF_TIME_DUMP_SIZE as appropriate buffer size
25 for use with ospf_timer_dump and ospf_timeval_dump.
26 * ospf_vty.c: Change all buffer sizes used with ospf_timer_dump and
27 ospf_timeval_dump to have size OSPF_TIME_DUMP_SIZE.
28 (show_ip_ospf_interface_sub) Fix possible buffer overflow in
29 call to ospf_timer_dump.
30
312005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
32
ajs70cd3472005-11-16 19:33:22 +000033 * ospf_ism.h: (OSPF_ISM_TIMER_OFF) Improve macro syntax by enclosing
34 in 'do {...} while(0)'.
35
paul31a59762005-11-14 11:11:11 +0000362005-11-14 Paul Jakma <paul.jakma@sun.com>
37
38 * ospfd.c: (ospf_new) stub-shutdown should just default to
39 unconfigured, too strange otherwise.
40 (ospf_finish_final) t_opaque_lsa_self TIMER_OFF should be
41 preprocessor conditional on HAVE_OPAQUE_LSA.
42 * ospfd.h: (struct ospf) remove the SHUTDOWN_DEFAULT define.
43 no longer used, plus it wasn't in range that the command
44 accepted.
45 * ospf_zebra.h: Depends on vty.h, include it.
46
paul58e1bef2005-11-11 12:10:03 +0000472005-11-11 Paul Jakma <paul.jakma@sun.com>
48
49 * ospf_spf.c: (ospf_canonical_nexthops_free) Free only
50 the nexthops pointing to the root vertex. We may visit a
51 vertex twice or the vertex may have some inherited nexthops,
52 if we free other nexthops we could crash.
53
paulc8c15212005-11-04 12:31:39 +0000542005-11-04 Paul Jakma <paul.jakma@sun.com>
55
56 * ospf_{dump,spf,vty}.c: Oops, use the internal tv_sub
57 function rather than unportable timersub.
58
paul484315f2005-11-03 09:08:29 +0000592005-11-03 Paul Jakma <paul.jakma@sun.com>
60
61 * ospf_apiserver.c: (apiserver_sync_callback) stray semi-colon
62 * ospf_packet.c: include checksum.h, remove the in_cksum extern
63 * prototypes.
64 * ospf_te.h: Add braces, quell warning.
paul6d452762005-11-03 11:15:44 +000065 * ospf_packet.c: Change level of some warnings to
66 informational.
paulc8c15212005-11-04 12:31:39 +000067
paul88d6cf32005-10-29 12:50:09 +0000682005-10-29 Paul Jakma <paul.jakma@sun.com>
69
70 * (general) RFC3137 stub-router support
71 * ospfd.h: Add OSPF_OUTPUT_COST_INFINITE define.
72 (struct ospf_master) Add a OSPF_MASTER_SHUTDOWN flag for
73 options, to allow shutdown to distinguish between complete
74 shutdown and shutdown of a subset of ospf instances.
75 (struct ospf)
76 Add stub_router_{startup,shutdown_}time, configuration of startup
77 and shutdown time for stub-router.
78 Add t_graceful_shutdown struct thread, timer for graceful
79 shutdown, if needed.
80 (struct ospf_area) Add stub_router_state - run time state of
81 stub-router for an area. Add flags for ADMIN, IS and WAS
82 states.
83 Add t_stub_router, timer thread to resend router-lsa for an
84 area.
85 * ospf_lsa.c: (ospf_link_cost) new simple function to spit out
86 either the given lnks cost or infinite cost if stub-router is
87 in effect.
88 (lsa_link_{ptop,broadcast,virtuallink,ptomp}_set) use
89 previous function for transit-links.
90 (ospf_stub_router_timer) timer thread for end of startup stub
91 router. Change state as required for the area and setup
92 re-origination of router-lsa.
93 (ospf_stub_router_check) Check/do whether stub-router should be
94 enabled, and whether it requires timer to be setup.
95 (ospf_router_lsa_new) call previous function at top.
96 (ospf_router_lsa_originate) no external callers, made static.
97 * ospf_lsa.h: (ospf_router_lsa_originate) removed.
98 * ospf_main.c: (sigint) make static.
99 remove call to exit, as ospf_terminate now deals with
100 exiting.
101 * ospf_route.c: (ospf_terminate) removed, now in ospfd.c.
102 * ospf_vty.c: (show_ip_ospf_area) print out state of
103 stub-router, if active.
104 (show_ip_ospf) print out configuration of stub-router
105 support, and details of graceful-shutdown if the timer is
106 active.
107 ((no)?ospf_max_metric_router_lsa_{admin,startup,shutdown}) new
108 commands to (de-)?configure stub-router support.
109 (config_write_stub_router) write out config of stub-router.
110 (ospf_config_write) call previous.
111 (ospf_vty_init) install the new stub-router commands.
112 * ospfd.c: various functions made static.
113 (ospf_new) Set defaults for stub-router. Graceful shutdown
114 is made to default on, just to be adventerous.
115 (ospf_graceful_shutdown_finish) new function, final part of
116 shutdown.
117 (ospf_graceful_shutdown_timer) timer thread wrapper for
118 graceful-shutdown.
119 (ospf_graceful_shutdown_check) check whether to setup timer
120 for shutdown or proceed directly to final shutdown.
121 (ospf_terminate) moved here from ospf_route.c, call
122 ospf_finish for each instance.
123 (ospf_finish) renamed to ospf_finish_final and made static.
124 (ospf_finish) new function, exported wrapper around
125 ospf_graceful_shutdown_check.
126 (ospf_finish_final) complete shutdown of an instance.
127 Add missing TIMER_OFF's of two timer threads.
128 (ospf_area_free) opaque self lsa timer should be turned off.
129
paulb8ad39d2005-10-23 15:23:05 +00001302005-10-23 Paul Jakma <paul.jakma@sun.com>
131
paule029d442005-10-23 15:26:24 +0000132 * ospf_apiserver.c: (ospf_apiserver_term) This function should
133 not have side-effects (eg segv) if no apiserver instances are
134 active, ie be robust.
paulb8ad39d2005-10-23 15:23:05 +0000135 * ospf_vty.c: (show_ip_ospf) fix display of SPF timer if it
136 has not yet been run.
137
paulf9ad9372005-10-21 00:45:17 +00001382005-10-21 Paul Jakma <paul.jakma@sun.com>
139
paulea4ffc92005-10-21 20:04:41 +0000140 * ospf_dump.c: (ospf_timeval_dump) fix ms adjustment, thanks to
141 Andrew Schorr.
142 * ospf_vty.c: (ospf_config_write) fix write out of spf timers
143 configuration.
144
1452005-10-21 Paul Jakma <paul.jakma@sun.com>
146
pauld24f6e22005-10-21 09:23:12 +0000147 * (general) SPF millisecond resolution timer with adaptive,
148 linear back-off holdtime. Prettification of ospf_timer_dump.
149 * ospf_dump.c: (ospf_timeval_dump) new function. The guts of
150 ospf_timer_dump, but made to be more dynamic in printing out
151 the relative timeval, sliding the precision printed out
152 according to the value.
153 (ospf_timer_dump) guts moved to ospf_timeval_dump.
154 * ospf_dump.h: export ospf_timeval_dump.
155 * ospf_flood.c: (ospf_flood) remove gettimeofday, use
156 the libzebra exported recent_time instead, as it's not
157 terribly critical to have time exactly right - the dropped
158 LSA will be retransmited to us if we don't ACK it.
159 * ospf_packet.c: (ospf_ls_upd_timer) Ditto, but here we're
160 not transmitting, just putting LSA back on update transmit list.
161 * ospfd.h: delay and holdtimes should be unsigned.
162 Add spf_max_holdtime and spf_hold_multiplier.
163 Update default defines for delay and hold time to be in msec.
164 (struct ospf) change the SPF timestamp to a struct timeval.
165 Remove ospf_timers_spf_(un)?set.
166 * ospfd.c: (ospf_timers_spf_{set,unset}) removed.
167 (ospf_new) initialise spf_max_holdtime and spf_hold_multiplier
168 * ospf_spf.c: (ospf_spf_calculate) SPF timestamp is a timeval
169 now, update with gettimeofday.
170 (ospf_spf_calculate_schedule) Change SPF timers to millisecond
171 resolution.
172 Make the holdtime be adaptive, with a linear increase in
173 holdtime ever consecutive SPF run which occurs within holdtime
174 of previous SPF, bounded by spf_max_holdtime.
175 * ospf_vty.c: Update spf timers commands.
176 (ospf_timers_spf_set) trivial helper.
177 (ospf_timers_throttle_spf_cmd) new command to set SPF delay,
178 initial hold and max hold times with millisecond resolution.
179 (ospf_timers_spf_cmd) Deprecated. Accept the old values,
180 convert to msec, truncate to new limits.
181 (no_ospf_timers_throttle_spf_cmd) set timers to defaults.
182 (no_ospf_timers_spf_cmd) deprecated form, same as previous.
183 (show_ip_ospf_cmd) Display SPF parameters and times.
184 (show_ip_ospf_neighbour_header) Centralise the 'sh ip os ne'
185 header.
186 (show_ip_ospf_neighbor_sub) Fix the field widths. Get rid of
187 the multiple spaces which were making the lines even longer.
188 (show_ip_ospf_neighbor_cmd) Use show_ip_ospf_neighbour_header
189 (show_ip_ospf_neighbor_all_cmd) ditto and fix the field
190 widths for NBMA neighbours.
191 (show_ip_ospf_neighbor_int) Use header function.
192 (show_ip_ospf_nbr_nbma_detail_sub) use sizeof for timebuf,
193 local array - safer.
194 (show_ip_ospf_neighbor_detail_sub) ditto
195 (ospf_vty_init) install the new SPF throttle timer commands.
196
1972005-10-21 Paul Jakma <paul.jakma@sun.com>
198
paulf9ad9372005-10-21 00:45:17 +0000199 * (general) OSPF fast, sub-second hello and 1s dead-interval
200 support.
201 * ospf_dump.c: (ospf_timer_dump) Print out milliseconds too.
202 Callers typically specify a length of 9, so most see
203 millisecs unless they specify the additional length.
204 * ospf_interface.h: (struct ospf_interface) new interface param,
205 fast_hello.
206 * ospf_interface.c: (ospf_if_table_lookup) add brackets,
207 gcc warning fix.
208 (ospf_new_if_params) Initialise fast_hello param.
209 (ospf_free_if_params) Check whether fast_hello is configured.
210 (ospf_if_new_hook) set fast_hello to default.
211 * ospf_ism.h: Wrap OSPF_ISM_TIMER_ON inside do {} while (0) to
212 prevent funny side-effects from its if statement when this
213 macro is used conditionally by other macros.
214 (OSPF_ISM_TIMER_MSEC_ON) new macro, set in milliseconds.
215 (OSPF_HELLO_TIMER_ON) new macro to set hello timer according
216 to whether fast_hello is set.
217 * ospf_ism.c: Update all setting of the hello timer to use
218 either OSPF_ISM_TIMER_MSEC_ON or OSPF_HELLO_TIMER_ON. The
219 former is used when hello is to be sent immediately.
220 * ospf_nsm.c: ditto
221 * ospf_packet.c: (ospf_hello) hello-interval is not checked
222 for mismatch if fast_hello is set.
223 (ospf_read) Annoying nit, fix "no ospf_interface" to be debug
224 rather than a warning, as it can be perfectly normal to
225 receive packets when logical subnets are used.
226 (ospf_make_hello) Set hello-interval to 0 if fast-hellos are
227 configured.
228 * ospf_vty.c: (ospf_auto_cost_reference_bandwidth) annoying
229 nit, don't vty_out if this command is given, it gets tired
230 quick.
231 (show_ip_ospf_interface_sub) Print the hello-interval
232 according to whether fast-hello is set or not.
233 Print the extra 5 millisec characters from (ospf_timer_dump)
234 if fast-hello is configured.
235 (ospf_vty_dead_interval_set) new function, common to all
236 forms of dead-interval command, to set dead-interval and
237 fast-hello correctly. If a dead-interval is given, unset
238 fast-hello, else if a hello-multiplier is set, set
239 dead-interval to 1 and fast-hello to given multiplier.
240 (ip_ospf_dead_interval_addr_cmd) use
241 ospf_vty_dead_interval_set().
242 (ip_ospf_dead_interval_minimal_addr_cmd) ditto.
243 (no_ip_ospf_dead_interval) Unset fast-hello.
244 (no_ip_ospf_hello_interval) Bug-fix, unset of hello-interval
245 should set it to OSPF_HELLO_INTERVAL_DEFAULT, not
246 OSPF_ROUTER_DEAD_INTERVAL_DEFAULT.
247 (config_write_interface) Write out fast-hello.
248 (ospf_config_write) Write a comment about
249 "auto-cost reference-bandwidth" having to be equal on all
250 routers. Hopefully just as noticeable as old practice of
251 writing to vty, but less annoying.
252 (ospf_vty_if_init) install the two new dead-interval
253 commands.
254 * ospfd.h: Add defines for OSPF_ROUTER_DEAD_INTERVAL_MINIMAL
255 and OSPF_FAST_HELLO_DEFAULT.
256
pauleb3da6d2005-10-18 04:20:33 +00002572005-10-18 Paul Jakma <paul.jakma@sun.com>
258
259 * (general) SPF memory management cleanup and fix for rare
260 double-free bug.
261 * ospf_spf.h: (struct vertex_parent) New struct to hold parent
262 specific data, eg the backlink and the parent vertex pointer,
263 and point to the appropriate general struct vertex_nexthop.
264 (struct vertex_nexthop) remove parent vertex pointer, so
265 this struct can be shared across vertices.
266 (struct vertex) rename list child to list children. Remove
267 list of nexthops, replace with list of vertex_parents.
268 * ospf_spf.c: (update_stat) trivial, remove cast from void *.
269 (vertex_nexthop_new) remove init of parent - field is gone
270 from struct vertex_nexthop.
271 (ospf_canonical_nexthops_free) Remove the canonical
272 vertex_nexthop memory objects. These are the vertex_nexthops
273 attached to the first level of router vertices from the root.
274 (vertex_parent_new) new function, create a vertex_parent.
275 (vertex_parent_free) ditto, but free it.
276 (ospf_vertex_new) Update to match changes to struct vertex.
277 (ospf_vertex_free) Recursively free a struct vertex and its
278 children. The parent list is used as a reference count.
279 vertex_nexthops must be free seperately, if required.
280 (ospf_vertex_dump) update to match struct vertex changes.
281 Print out backlink of parents too.
282 (ospf_vertex_add_parent) ditto.
283 (ospf_lsa_has_link) update comment.
284 (ospf_nexthop_add_unique) removed, not needed anymore.
285 (ospf_nexthop_merge) ditto.
286 (ospf_spf_consider_nexthop) renamed to ospf_spf_add_parent.
287 Simplified to just create vertex_parent and add it.
288 (ospf_spf_flush_parents) new function, flush out the parent
289 list.
290 (ospf_nexthop_calculation) Take the relevant route_lsa_link
291 as an argument, which simplifies things and removes the need
292 for the hack in ospf_nexthop_add_unique - ospf_spf_next
293 already knew exactly which link the cost calculated was for.
294 Update to match struct vertex changes too.
295 (ospf_spf_next) Don't create a vertex for W unnecessarily, if
296 it's there's a vertex already created for W, use it, and
297 hence there's no need to free it either.
298 Update some manipulation/comparisons of distance to match.
299 Flush the parent list if a lower cost path is found.
300 (ospf_spf_route_free) unused, removed.
301 (ospf_spf_dump) match the struct vertex changes, and dump the
302 ifname if possible.
303 (ospf_spf_calculate) At end of SPF, free the canonical nexthops
304 and call ospf_vertex_free on the root vertex to free the
305 entire tree.
306 * ospf_interface.c: (ospf_vl_set_params) match struct vertex
307 changes.
308 * ospf_route.c: (ospf_intra_route_add) ditto
309 (ospf_route_copy_nexthops_from_vertex) ditto
310
paul36238142005-10-11 04:12:54 +00003112005-10-11 Paul Jakma <paul.jakma@sun.com>
312
313 * ospf_api.c: sign warnings.
314 * ospf_apiserver.c: sign warning and convert all the struct
315 in_addr initialisations so as not to make assumptions about
316 how this struct is organised, initialise the s_addr member
317 explicitely.
318 * ospf_packet.c: Add const qualifier to auth_key.
319
vincent77df1f72005-10-06 07:46:22 +00003202005-10-06 Alain Ritoux <alain.ritoux@6wind.com>
321
322 * ospf_snmp.c: Avoid mixing interface and ospf_interface objects
323 which now allows snmpwalk to work with ospfIfTable and
324 also with ospfIfMetricTable
325
ajsf52d13c2005-10-01 17:38:06 +00003262005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
327
328 * ospf_dump.c: Remove local hard-coded table ospf_redistributed_proto.
329 (ospf_redist_string) New function implemented using new library
330 function zebra_route_string(). Note that there are a few differences
331 in the output that will result: the new function returns strings
332 that are lower-case, whereas the old table was mixed case. Also,
333 the old table mapped ZEBRA_ROUTE_OSPF6 to "OSPFv3", whereas the
334 new function returns "ospf6".
335 * ospfd.h: Remove extern struct message ospf_redistributed_proto[],
336 and add extern const char *ospf_redist_string(u_int route_type)
337 instead.
338 * ospf_asbr.c: (ospf_external_info_add) In two messages, use
339 ospf_redist_string instead of LOOKUP(ospf_redistributed_proto).
340 * ospf_vty.c: Remove local hard-coded table distribute_str.
341 (config_write_ospf_redistribute,config_write_ospf_distribute): Use
342 new library function zebra_route_string() instead of distribute_str[].
343 * ospf_zebra.c: (ospf_redistribute_set,ospf_redistribute_unset,
344 ospf_redistribute_default_set,ospf_redistribute_check)
345 In debug messages, use ospf_redist_string() instead of
346 LOOKUP(ospf_redistributed_proto).
347
jardin6638c1a2005-10-01 00:08:54 +00003482005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
349
350 * ospf_dump.c, ospf_ia.c, ospf_spf.c, ospf_ase.c:
351 remove unused DEBUG
352
vincentba682532005-09-29 13:52:57 +00003532005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
354
vincent5e4914c2005-09-29 16:34:30 +0000355 * ospf_ism.c: generate SNMP traps on Interface state change
356 * ospf_nsm.c: generate SNMP traps on Neighbour state change
357 * ospf_snmp.[ch]: support for SNMP traps for interface and neighbours.
358
3592005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
360
vincentba682532005-09-29 13:52:57 +0000361 * ospf_vty.c: forece default route LSA to be re_issued whenever
362 cost is changed ( [no] ip ospf area XXX default-cost YYY)
363 Support ignore-mtu option
364 * ospfd.h: define OSPF_MTU_IGNORE_DEFAULT
365 * ospf_packet.c: support ignore-mtu option
366 * ospf_interface.h: field added for skipping MTU check
367 * ospf_interface.c: fix memory leak in ospf_crypt_key_delete()
368 Set mtu_ignore field to default value
369 * ospf_abr.[ch]: export ospf_abr_announce_network_to_area()
370 * ospf_ism.h: add MACRO to convert internal ISM status into SNMP
371 correct values
372 * ospf_snmp.c: add sanity check on LSA type in lsdb_lookup_next()
373 convert OSPFIFSTATE internal status into SNMP values
374
vincentc1a03d42005-09-28 15:47:44 +00003752005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
376
377 * ospf_packet.c: use new md5 API
378
ajs5339cfd2005-09-19 13:28:05 +00003792005-09-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
380
381 * ospf_lsa.h: (ospf_external_lsa_flush) Comment out the 5th argument
382 (nexthop) since it is not used in the function (except inside
383 some commented-out code).
384 * ospf_lsa.c: (ospf_external_lsa_flush,ospf_external_lsa_refresh)
385 Comment out the 5th argument to ospf_external_lsa_flush.
386 * ospf_asbr.c: (ospf_redistribute_withdraw) Comment out 5th arg
387 to ospf_external_lsa_flush.
388 * ospf_vty.c: (no_ospf_default_information_originate) Eliminate 5th
389 uninitialized nexthop arg to ospf_external_lsa_flush.
390 * ospf_zebra.c: (ospf_zebra_read_ipv4) Comment out 5th arg
391 to ospf_external_lsa_flush.
392 * ospfd.c: (ospf_network_set) Comment out 5th arg
393 to ospf_external_lsa_flush.
394
ajse6a0bf92005-09-17 18:53:38 +00003952005-09-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
396
397 * ospf_opaque.c:
398 (ospf_opaque_lsa_refresh_schedule,ospf_opaque_lsa_flush_schedule)
399 No need to call ospf_lookup(), just use lsa0->area->ospf instead.
400
hassobb5b7552005-08-21 20:01:15 +00004012005-08-21 Hasso Tepper <hasso at quagga.net>
402
403 * ospf_vty.c: Make "show ip ospf neighbor xxx" commands work.
404 Interface should be specified by name now.
405
hasso54bedb52005-08-17 13:31:47 +00004062005-08-17 Hasso Tepper <hasso at quagga.net>
407
408 * ospf_vty.c: Check carefully if interface exists before trying to
409 print info about it.
410
hasso01018ce2005-08-05 07:40:15 +00004112005-08-05 Hasso Tepper <hasso at quagga.net>
412
413 * ospf_zebra.c: Don't assert/stop before type == ZEBRA_ROUTE_MAX if
414 dealing with routemaps. There is ospf->route_map[ZEBRA_ROUTE_MAX]
415 for default-information.
416
paulc8987752005-07-26 06:07:22 +00004172005-07-26 Paul Jakma <paul.jakma@sun.com>
418
419 * ospf_abr.c: (ospf_abr_announce_network_to_area) SET_FLAG
420 should be on lsa not old, which may be freed for one thing,
421 obviously.
422
pauld57834f2005-07-12 20:04:22 +00004232005-07-12 Paul Jakma <paul.jakma@sun.com>
424
425 * ospfd.h: add OSPF_ABR_DEFAULT for convenience, make
426 OSPF_ABR_CISCO be the default ABR type.
427 * ospfd.c: (ospf_new) initialise abr_type to OSPF_ABR_DEFAULT
428 * ospf_vty.c: (no_ospf_abr_type_cmd) add standard as a negatable
429 abr_type. default abr_type should be OSPF_ABR_DEFAULT.
430 (ospf_config_write) test whether default abr_type against
431 OSPF_ABR_DEFAULT, rather than any specific ABR_TYPE.
432
hasso8469bd72005-06-20 20:50:10 +00004332005-06-20 Hasso Tepper <hasso at quagga.net>
hassof4833e92005-06-20 20:42:26 +0000434
435 * ospf_nsm.c: Make database exchange for NSSA database work.
436
paul7461d452005-06-13 13:57:16 +00004372005-06-13 Paul Jakma <paul.jakma@sun.com>
438
439 * ospf_spf.c: Try get more information on a SEGV under
440 ospf_spf_vertex_add_parent.
441 (ospf_vertex_free) NULL out the child and nexthop lists
442 (ospf_vertex_add_parent) nexthop and child can not be NULL
443 vertex_nexthop's parent->child list can not be NULL
444 (ospf_spf_next) w and cw are per-loop iteration variables, move
445 declarations into loop body.
446
hasso1ddd7292005-06-07 19:54:04 +00004472005-06-07 Hasso Tepper <hasso at quagga.net>
448
449 * ospf_apiserver.c: Fix obvious error in notifying clients about ISM
450 changes - oi->ifp->status doesn't give to us info about ISM,
451 oi->state does.
452
paul7e440862005-06-01 11:20:51 +00004532005-06-01 Akihiro Mizutani <mizutani@net-chef.net>
454
455 * ospf_ism.c (ospf_elect_bdr/ospf_elect_dr): Fix DR election bug.
456
paul500e4182005-05-26 17:11:13 +00004572005-05-26 Paul Jakma <paul.jakma@sun.com>
458
459 * ospf_abr.c: (ospf_abr_update_aggregate) Fix comment, cost bug itself
460 had been fixed long ago by Sowmini.
461
paula3387a42005-05-18 23:29:57 +00004622005-05-19 Paul Jakma <paul.jakma@sun.com>
463
464 * ospf_interface.c: (ospf_if_table_lookup) Fix a serious bug
465 a less serious one.
466 1: this function is supposed to lookup
467 entries in the oifs ospf_interface route_table and return either
468 an existing oi or NULL to indicate not found, its caller depends
469 on this, yet this function uses route_node_get which /always/
470 returns a route_node - one is created if none exists. Use
471 route_node_lookup instead. This should fix root cause of the
472 reports of the (ospf_add_to_if) assert being hit.
473 2: oi's are inserted into this table with prefixlength set to
474 /32 (indeed, it should be a hash table, not a route_table),
475 however prefixlength to lookup was not changed, if no valid entry
476 can be inserted other than /32, then nothng but /32 should be
477 looked up. This possibly only worked by fluke..
478 Fix confirmed by 2 reporters (one list, one IRC), definitely a
479 backport candidate once it has been incubated in HEAD for a while.
480 Thanks to Patrick Friedel and Ivan Warren for testing.
481
paul69310a62005-05-11 18:09:59 +00004822005-05-11 Paul Jakma <paul.jakma@sun.com>
483
484 * (general) Fix memory leaks in opaque AS-scope LSAs, reported and
485 with much debugging done by by scott collins <scollins@agile.tv>.
486 * ospf_lsa.c: (ospf_discard_from_db) dont call
487 ospf_ase_unregister_external_lsa for opaque-lsa's, opaques are
488 never registered with ase in the first place.
489 * ospf_packet.c: (general) Disabuse opaque related code of its
490 tendency to try gather up things into temporary lists.
491 (ospf_ls_upd) remove the temporary lists opaque uses, call
492 opaque functions inline, just like all other types.
493 (ospf_ls_ack) ditto.
494 (ospf_recv_packet) fixup sign warning.
495 * ospf_opaque.c: (general) fix the unneeded use of lists, and
496 untwist some of the logic.
497 (ospf_opaque_self_originated_lsa_received) take a single LSA
498 as argument, not a list of them. Remove the list loop. Logic
499 otherwise unchanged.
500 (ospf_opaque_ls_ack_received) Mostly ditto. But untwist the logic,
501 move the actions up into the switch block, remove the goto's and
502 sanitise the logic near the end a bit.
503 * ospf_opaque.h: Adjust definitions of aforementioned functions
504 in ospf_opaque.c to match.
505
paul42c98192005-05-07 02:22:51 +00005062005-05-07 Yar Tikhiy <yar@comp.chem.msu.su>
507
508 * ospf_network.c: Log ifindex on multicast membership leave/join
509 events.
510
paul4dadc292005-05-06 21:37:42 +00005112005-05-06 Paul Jakma <paul.jakma@sun.com>
512
513 * (general) extern and static qualifiers added.
514 unspecified arguments in definitions fixed, typically they should
515 be 'void'.
516 function casts added for callbacks.
517 Guards added to headers which lacked them.
518 Proper headers included rather than relying on incomplete
519 definitions.
520 gcc noreturn function attribute where appropriate.
521 * ospf_opaque.c: remove the private definition of ospf_lsa's
522 ospf_lsa_refresh_delay.
523 * ospf_lsa.h: export ospf_lsa_refresh_delay
524 * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const,
525 correct thing to do - removes need for the casts later.
526 * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's
527 home-brewed versions, shuts up several warnings.
528 * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and
529 VTY_GET_IPV4_PREFIX moved to lib/vty.h.
530 * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky
531 overloading of the THREAD_ARG pointer should at least use
532 uintptr_t.
533
paul9e67dc22005-04-15 12:10:17 +00005342005-04-15 Zhipeng Gong <zpgong@cdc.3upsystems.com>
535
536 * ospf_abr.c: (ospf_abr_announce_network_to_area) dont forget
537 to approve LSAs for the case where metric has changed, lsa gets
538 flushed otherwise. (backport candidate).
539
ajs634f9ea2005-04-11 15:51:40 +00005402005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
541
542 * ospf_zebra.c (ospf_zebra_add): Call zclient_send_message instead
543 of writen.
544
ajsd2fc8892005-04-02 18:38:43 +00005452005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
546
ajse4319de2005-04-02 23:23:55 +0000547 * ospf_interface.h: (ospf_if_lookup_by_name) Remove declaration of a
548 function that does not exist.
549
5502005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
551
ajs21fefa92005-04-02 23:16:41 +0000552 * ospf_zebra.c: (zebra_interface_if_lookup) Must use
553 if_lookup_by_name_len.
554
5552005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
556
ajsa3491982005-04-02 22:50:38 +0000557 * ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create.
558
5592005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
560
ajsd2fc8892005-04-02 18:38:43 +0000561 * ospf_vty.c: (show_ip_ospf_interface_sub) Show ifindex and interface
562 flags to help with debugging.
563 * ospf_zebra.c: (ospf_interface_delete) After deleting, set ifp->ifindex
564 to IFINDEX_INTERNAL.
565 (zebra_interface_if_lookup) Make function static. Tighten up code.
566
ajsaca72fd2005-03-31 15:18:21 +00005672005-03-31 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
568
569 * ospf_dump.c: (show_debugging_ospf) Show if ospf event debugging
570 is turned on.
571
ajsfd651fa2005-03-29 16:08:16 +00005722005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
573
ajsa608bbf2005-03-29 17:03:49 +0000574 * ospf_zebra.c: (ospf_interface_state_up) If the MTU of an operative
575 interface changes, print a debug message and call ospf_if_reset()
576 to simulate down/up on the interface.
577 * ospf_interface.h: Declare new function ospf_if_reset().
578 * ospf_interface.c: (ospf_if_reset) New function to call ospf_if_down
579 and ospf_if_up for all ospf interfaces attached to an interface.
580
5812005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
582
ajs5dcbdf82005-03-29 16:13:49 +0000583 * ospf_packet.c: (ospf_write_frags) Enhance error message to
584 show MTU. Also make function static.
585 (ospf_write) Enhance error message to show interface name and MTU.
586 Also make function static.
587
5882005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
589
590 * ospf_vty.c: (show_ip_ospf_interface_sub) Display interface MTU and
591 bandwidth; this is useful for debugging problems. Also, the function
592 should be static.
ajsfd651fa2005-03-29 16:08:16 +0000593
hasso1b639042005-03-27 13:32:25 +00005942005-03-27 Hasso Tepper <hasso at quagga.net>
595
596 * ospf_snmp.c: Don't crash in snmp query if ospf instance doesn't
597 exist at all.
598
hasso343f5cc2005-03-25 19:48:40 +00005992005-03-25 Hasso Tepper <hasso at quagga.net>
600
601 * ospfd.h: Include log.h, fixes compile with gcc-4.0.
602
ajs9dbc7972005-03-13 19:27:22 +00006032005-03-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
604
605 * ospf_lsa.c: (ospf_lsa_refresh_walker) If the system clock jumps
606 backward, then current time may be less than
607 ospf->lsa_refresher_started. This was causing invalid values
608 for ospf->lsa_refresh_queue.index resulting in infinite loops.
609 Problem fixed by casting the expression to unsigned before taking
610 the modulus.
611
ajs5c333492005-02-23 15:43:01 +00006122005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
613
614 * ospfd.h: Add new field struct stream *ibuf to struct ospf.
615 * ospfd.c: (ospf_new) Check return code from ospf_sock_init.
616 Allocate ibuf using stream_new(OSPF_MAX_PACKET_SIZE+1).
617 (ospf_finish) Call stream_free(ospf->ibuf.
618 * ospf_packet.c: (ospf_read) Call stream_reset(ospf->ibuf) and then
619 pass it to ospf_recv_packet for use in receiving the packet
620 (instead of allocating a new stream for each packet received).
621 Eliminate all calls to stream_free(ibuf).
622 (ospf_recv_packet) The struct stream *ibuf is now passed in as
623 an argument. No need to use recvfrom to peek at the packet
624 header (to see how big it is), just use ospf->ibuf which is
625 always large enough (this eliminates a system call to recvfrom).
626 Therefore, no need to allocate a stream just for this packet,
627 and no need to free it when done.
628
hasso462f20d2005-02-23 11:29:02 +00006292005-02-23 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it>
630
631 * ospf_lsa.h: New flag to the LSA structure for the SPF calculation.
632 * ospf_lsdb.h: Export ospf_lsdb_clean_stat() function.
633 * ospf_spf.h: Add link to the LSA stat structure into vertex.
634 * ospf_spf.c: New functions cmp() and update_stat() to manage
635 candidates. Remove ospf_spf_has_vertex(), ospf_vertex_lookup(),
636 ospf_install_candidate() and ospf_spf_register() functions not needed
637 any more. Update ospf_vertex_new(), ospf_spf_next() and
638 ospf_spf_calculate() functions to use pqueue instead of linked list.
639
hassoe40dcce2005-02-21 14:58:42 +00006402005-02-21 Hasso Tepper <hasso at quagga.net>
641
642 * ospf_ase.c: Don't show messages related to the ase calculations if
643 we are not debugging.
644
hasso306541b2005-02-19 17:58:40 +00006452005-02-19 Hasso Tepper <hasso at quagga.net>
646
647 * ospf_api.h: char isn't always signed, but it has to be it here.
648
paulfa81b712005-02-19 01:19:20 +00006492005-02-19 Paul Jakma <paul.jakma@sun.com>
650
651 * ospf_packet.c: (ospf_stream_copy) remove
652 (ospf_packet_dup) use stream_copy instead of ospf_stream_copy
653
ajs038163f2005-02-17 19:55:59 +00006542005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
655
656 * ospf_packet.c: (ospf_recv_packet) If there is somehow a runt
657 packet in the queue, it must be discarded. Improve warning messages.
658 Fix scope to static.
659 (ospf_read) Fix bug: should reset the read thread in all cases
660 to make sure we continue to get incoming messages.
661
paul658b03a2005-02-15 10:10:55 +00006622005-02-15 Paul Jakma <paul.jakma@sun.com>
663
664 * ospf_packet.c: (ospf_recv_packet) Fix silly error wrt allocating
665 ibuf. Thanks Andrew.
666
paulbfdc44a2005-02-14 23:48:42 +00006672005-02-14 Paul Jakma <paul.jakma@sun.com>
668
669 * ospf_packet.c: (ospf_recv_packet) use stream_recvmsg.
670
hasso082253f2005-02-11 08:31:54 +00006712005-02-11 Hasso Tepper <hasso at quagga.net>
672
673 * ospf_lsdb.c: Fix sum of checksums calculation.
674
ajs083ee9d2005-02-09 15:35:50 +00006752005-02-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
676
677 * ospf_packet.c: (ospf_write) If sendmsg fails, give more info in the
678 error message.
679
ajsba6454e2005-02-08 15:37:30 +00006802005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
681
ajs8cfde372005-02-08 15:59:16 +0000682 * ospf_interface.h: Reduce structure padding by putting new u_char
683 field multicast_memberships in a better spot (grouped with
684 other u_char fields type and state).
685
6862005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
687
ajsba6454e2005-02-08 15:37:30 +0000688 * ospf_interface.h: Improve passive_interface comment. Add new
689 multicast_memberships bitmask to struct ospf_interface to track
690 active multicast subscriptions. Declare new function
691 ospf_if_set_multicast.
692 * ospf_interface.c: (ospf_if_set_multicast) New function to configure
693 multicast memberships properly based on the current
694 multicast_memberships status and the current values of the
695 ospf_interface state, type, and passive_interface status.
696 (ospf_if_up) Remove call to ospf_if_add_allspfrouters (this is
697 now handled by ism_change_state's call to ospf_if_set_multicast).
698 (ospf_if_down) Remove call to ospf_if_drop_allspfrouters (now
699 handled by ism_change_state).
700 * ospf_ism.c: (ospf_dr_election) Remove logic to join or leave
701 the DRouters multicast group (now handled by ism_change_state's call
702 to ospf_if_set_multicast).
703 (ism_change_state) Add call to ospf_if_set_multicast to change
704 multicast memberships as necessary to reflect the new interface state.
705 * ospf_packet.c: (ospf_hello) When a Hello packet is received on a
706 passive interface: 1. Increase the severity of the error message
707 from LOG_INFO to LOG_WARNING; 2. Add more information to the error
708 message (packet destination address and interface address);
709 and 3. If the packet was sent to ospf-all-routers, then try
710 to fix the multicast group memberships.
711 (ospf_read) When a packet is received on an interface whose state
712 is ISM_Down, enhance the warning message to show the packet
713 destination address, and try to update/fix the multicast group
714 memberships if the packet was sent to a multicast address.
715 When a packet is received for ospf-designated-routers, but the
716 current interface state is not DR or BDR, then increase the
717 severity level of the error message from LOG_INFO to LOG_WARNING,
718 and try to fix the multicast group memberships.
719 * ospf_vty.c: (ospf_passive_interface) Call ospf_if_set_multicast for
720 any ospf interface that may have changed from active to passive.
721 (no_ospf_passive_interface) Call ospf_if_set_multicast for
722 any ospf interface that may have changed from passive to active.
723 (show_ip_ospf_interface_sub) Show multicast group memberships.
724
paul3a9eb092005-02-08 11:29:41 +00007252005-02-08 Paul Jakma <paul@dishone.st>
726
727 * ospf_packet.c: (various) Remove unneeded stream_set_putp abuse.
728
ajs847947f2005-02-02 18:38:48 +00007292005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
730
731 * ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down,
732 not for event ISM_InterfaceDown. And improve the message by
733 adding the interface flags.
734
ajs0b7d97d2005-01-30 17:24:02 +00007352005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
736
737 * ospf_network.c: (ospf_sock_init) Save errno before calling
738 ospfd_privs.change.
739
ajsc3eab872005-01-29 15:52:07 +00007402005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
741
742 * ospf_packet.c: (ospf_packet_add) If oi->obuf is NULL, print
743 an error message and return.
744 (ospf_read) If the interface state is ISM_InterfaceDown, issue
745 a warning message and ignore the packet.
746
gdt86f1fd92005-01-10 14:20:43 +00007472005-01-10 Greg Troxel <gdt@fnord.ir.bbn.com>
748
749 * ospf_packet.h: Remove commented out definition of
750 OSPF_MAX_PACKET; neither it or the uncommented one are used any more.
751
752 * ospf_packet.c (ospf_make_ls_upd): Leave room for authentication
753 when deciding if an update will fit.
754 (ospf_packet_authspace): Factor out calculation of size required
755 for authentication.
756 (ospf_make_db_desc): Use ospf_max_packet, not OSPF_MAX_PACKET.
757 Don't confuse readers that there is a macro.
758
ajs3dc56b52004-12-30 15:11:19 +00007592004-12-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
760
761 * ospf_network.c: Improve all setsockopt error messages to give detailed
762 information on the arguments.
763
ajsb87f7722004-12-29 20:41:26 +00007642004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
765
ajs17eaa722004-12-29 21:04:48 +0000766 * ospf_packet.c: (ospf_db_desc) Reduce severity of "Negotiation done"
767 messages from LOG_WARNING to LOG_INFO, since this seems to be
768 normal.
769
7702004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
771
ajsb87f7722004-12-29 20:41:26 +0000772 * ospf_packet.c: (ospf_read) Always look up the interface if
773 ospf_recv_packet returns NULL ifp, since some platforms such
774 as Solaris 8 appear to support ifindex retrieval but don't.
775
hasso1d806282004-12-22 09:43:20 +00007762004-12-22 Hasso Tepper <hasso at quagga.net>
777
778 * ospf_dump.c: Show debug configuration in vtysh.
hassoc6b87812004-12-22 13:09:59 +0000779 * ospf_vty.c: Fix "show ip ospf" output. Router can't be elected in
780 any case if it's configured as "translate-never".
hassofe71a972004-12-22 16:16:02 +0000781 * ospf_lsdb.[ch]: New function to calculate sum of checksums.
782 * ospf_vty.c: Bugfix to show really number of AS external LSAs, not
783 number of all LSAs with AS scope, this includes opaque as LSAs as
784 well, show this number separately. Show numbers and sums of
785 checksums for each type of LSAs.
786 * ospf_lsa.c: Calculate checksum before putting LSA into database.
hasso1d806282004-12-22 09:43:20 +0000787
ajsbc18d612004-12-15 15:07:19 +00007882004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
789
790 * ospf_interface.h: Declare new function ospf_default_iftype.
791 * ospf_interface.c: (ospf_default_iftype) New function to centralize
792 this logic in one place.
793 * ospf_zebra.c: (ospf_interface_add) Use new function
794 ospf_default_iftype.
795 * ospf_vty.c: (no_ip_ospf_network,config_write_interface) Fix logic
796 by using new function ospf_default_iftype.
797
ajs3aa8d5f2004-12-11 18:00:06 +00007982004-12-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
799
800 * ospf_packet.c: (ospf_db_desc) Should be static, not global.
801 (ospf_hello,ospf_db_desc,ospf_ls_upd,ospf_ls_ack) Improve warning
802 messages to include identifying information (e.g. router id).
803 * ospf_nsm.c: (nsm_change_state) Improve info message to include
804 router id and state names.
805
gdt91f3e522004-12-09 14:51:03 +00008062004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
807
gdt3fb9de72004-12-09 16:30:04 +0000808 * ospf_apiserver.c (ospf_apiserver_term): Obtain struct
809 ospf_apiserver * from listnode. Remove unused variables. Follows
810 suggestion from Jay Fenlason.
gdt91f3e522004-12-09 14:51:03 +0000811
ajs9b0e25c2004-12-08 19:06:51 +00008122004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
813
814 * *.c: Change level of debug messages to LOG_DEBUG.
815
ajs274a4a42004-12-07 15:39:31 +00008162004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
817
818 * ospf_main.c: (main) The 2nd argument to openzlog has been removed.
819
ajs887c44a2004-12-03 16:36:46 +00008202004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
821
ajs1210fa62004-12-03 16:43:24 +0000822 * ospf_packet.c: (ospf_db_desc) Reduce priority on a debug message
823 from LOG_NOTICE to LOG_DEBUG.
824
8252004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
826
ajs887c44a2004-12-03 16:36:46 +0000827 * ospf_main.c: (sigint) Use zlog_notice for termination message.
828 (main) Issue a startup announcement using zlog_notice.
829
ajsbec595a2004-11-30 22:38:43 +00008302004-11-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
831
832 * ospf_packet.c: (ospf_db_desc_proc) Fix spelling of packet in warning
833 message and in comment.
834 (ospf_db_desc) Warning message that a packet is being discarded
835 should give the router id of the packet source. Fix spelling
836 of packet in two warning messages.
837 (ospf_ls_req) Warning message that a link state request is being
838 discarded should give the router id of the neighbor that sent it.
839
ajs5b85fac2004-11-26 19:36:42 +00008402004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
841
842 * ospf_main.c: Remove #include "debug.h" (was not being used, and
843 lib/debug.h has now been deleted).
844
hassoc0652302004-11-25 19:33:48 +00008452004-11-25 Hasso Tepper <hasso at quagga.net>
846
847 * ospf_main.c: Make group to run as configurable.
848
gdt69e13252004-11-15 18:51:15 +00008492004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
850
851 * ospf_packet.c (ospf_recv_packet): Assume CMSG_SPACE is present
852 and works (lib/zebra.h provides if OS doesn't).
853
paul788dab12004-11-15 11:48:37 +00008542004-11-15 Paul Jakma <paul@dishone.st>
855
856 * ospf_{apiserver,te}.c: ospf_lsa_free's should be ospf_lsa_unlock.
857
paul05e85fa2004-11-12 10:52:19 +00008582004-11-12 Paul Jakma <paul@dishone.st>
859
860 * ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to
861 ignore stub area summary default. Even so it seems a strange
862 check, add a comment to that effect.
863
paulf3ae74c2004-11-04 20:35:31 +00008642004-11-04 Paul Jakma <paul@dishone.st>
865
866 * ospfd.c: (ospf_network_match_iface) revert to previous network
867 statement match behaviour.
868
paul62d8e962004-11-02 20:26:45 +00008692004-11-02 Paul Jakma <paul@dishone.st>
870
871 * ospf_packet.c: (ospf_write_frags) remove iov arg, msg already points
872 to it. Add convenience pointer to msg->msg_iov[1], and use this,
873 fixing the unfortunate borkenness introduced in moving of this code
874 to a function.
875 (ospf_write) remove iovp and fix up call to previous.
876 (ospf_ls_upd_packet_new) cast size to long int - unfortunately
877 glibc's size_t format modifier is not portable.
878
paul37ccfa32004-10-31 11:24:51 +00008792004-10-31 Paul Jakma <paul@dishone.st>
880
881 * ospf_packet.c: (ospf_write_frags) Add debug output
882 (ospf_write) set type early, so we can pass it to
883 ospf_write_frags.
884 (ospf_ls_upd_packet_new) print size in debug output when too large
885 packet is encountered.
paul64511f32004-10-31 18:01:13 +0000886 * ospf_zebra.c: (ospf_distribute_list_update_timer) Ugly misuse of
887 THREAD_ARG to store an integer, but it should at least use same
888 same type to retrieve the value. Assert value is sane.
paul37ccfa32004-10-31 11:24:51 +0000889
paulac191232004-10-22 12:05:17 +00008902004-10-22 Paul Jakma <paul@dishone.st>
891
892 * ospf_network.c: (ospf_sock_init) call neutral setsock_ifindex()
893 function.
894 * ospf_packet.c: (ospf_read) manually look up ifindex
paul4ccb2c42004-10-22 22:52:33 +0000895 if system could not have returned one, eg openbsd, thanks to Rivo
896 Nurges for highlighting problem and fix.
paul06f953f2004-10-22 17:00:38 +0000897 Change setsockopt_pktinfo to setsockopt_ifindex.
paulac191232004-10-22 12:05:17 +0000898
hasso3fb9cd62004-10-19 19:44:43 +00008992004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
900
901 * ospf_snmp.c: (ospf_snmp_if_update) Fix logic to handle PtP links
902 with dedicated subnets properly.
903 * ospf_lsa.c: (lsa_link_ptop_set) ditto.
904 * ospfd.c: (ospf_network_match_iface) ditto.
905 (ospf_network_run) ditto.
906 * ospf_interface.c: (ospf_if_is_configured) ditto.
907 (ospf_if_lookup_by_prefix) ditto.
908 (ospf_if_lookup_recv_if) ditto.
909 * ospf_vty.c: (show_ip_ospf_interface_sub) Display the peer or
910 broadcast address if present.
911
hassod68614d2004-10-13 09:32:48 +00009122004-10-13 Hasso Tepper <hasso at quagga.net>
913
914 * ospf_main.c: Unbreak compilation with ospfapi disabled.
hassoc75105a2004-10-13 10:33:26 +0000915 * ospf_snmp.c: Remove defaults used to initialize smux connection to
916 snmpd. Connection is initialized only if smux peer is configured.
hassod68614d2004-10-13 09:32:48 +0000917
hassof4d58ce2004-10-12 06:13:54 +00009182004-10-12 Hasso Tepper <hasso at quagga.net>
919
920 * ospf_main.c, ospf_opaque.c: Unbreak ospfclient compilation - move
921 static variable from ospf_main.c into ospf_opaque.c.
922
hassoc3abdb72004-10-11 16:27:03 +00009232004-10-11 Hasso Tepper <hasso at quagga.net>
924
925 * ospf_main.c, ospf_opaque.c: Disable ospfapi init by default. New
926 command line switch to enable it.
927
paul6b333612004-10-11 10:11:25 +00009282004-10-11 Paul Jakma <paul@dishone.st>
929
930 * ospf_dump.c: (ospf_ip_header_dump) Assume header is in host order
931 remove ntohs that should have dissappeared. Take struct ip
932 as argument, caller has to know there's an IP header at start of
933 stream anyway.
934 * ospf_dump.h: update declaration of ospf_ip_header_dump.
935 * ospf_packet.c: (ospf_write) correct call to
936 sockopt_iphdrincl_swab_htosys which was munging the header.
937 (ospf_recv_packet) ip_len is needed for old OpenBSD fixup.
938 (ospf_read) sockopt_iphdrincl_swab_systoh ip header as soon as
939 we have it.
paul6c835672004-10-11 11:00:30 +0000940 * (global) Const char update and signed/unsigned fixes.
941 * (various headers) size defines should be unsigned.
942 * ospf_interface.h: remove duplicated defines, include the
943 authoritative header - though, these defines should probably
944 be moved to a dedicated header, or ospfd.h.
945 * ospf_lsa.h: (struct lsa) ls_seqnum should be unsigned.
946 * ospf_packet.c: (ospf_write) cast result of shift to unsigned.
paul6b333612004-10-11 10:11:25 +0000947
hassoeb1ce602004-10-08 08:17:22 +00009482004-10-08 Hasso Tepper <hasso at quagga.net>
949
950 * *.[c|h]: Fix compiler warnings: make some strings const, signed ->
951 unsigned, remove unused variables etc.
952
gdt54ade992004-10-07 19:38:20 +00009532004-10-07 Greg Troxel <gdt@claude.ir.bbn.com>
954
955 * ospf_apiserver.c (ospf_apiserver_unregister_opaque_type): Don't
956 use of variable names 'node' and 'nextnode' to avoid possible
957 conflict with list macros. Move variable declaration inside for
958 loop after a statement to top of function.
959
paulaa20c6f2004-10-07 14:19:36 +00009602004-10-07 Paul Jakma <paul@dishone.st>
961
962 * ospf_snmp.c: Missed list typedef update
963 * ospf_dump.c: Include sockopt.h for header swab functions.
964
paul18b12c32004-10-05 14:38:29 +00009652004-10-05 Paul Jakma <paul@dishone.st>
966
967 * ospf_packet.c: replace ospf_swap_iph_to... with
968 sockopt_iphdrincl_swab_...
969
hasso18a6dce2004-10-03 18:18:34 +00009702004-10-03 James R. Leu <jleu at mindspring.com>
971
972 * ospf_zebra.c: Read router id related messages from zebra daemon.
973 Schedule router-id update thread if it's changed.
974 * ospfd.c: Remove own router-id selection function. Use router id from
975 zebra daemon if it isn't manually overriden in configuration.
976
paul68defd62004-09-27 07:27:13 +00009772004-09-27 Paul Jakma <paul@dishone.st>
978
paul6a99f832004-09-27 12:56:30 +0000979 * ospf_dump.c: (ospf_ip_header_dump) Use HAVE_IP_HDRINCL_BSD_ORDER
980 Apply to offset too. Print ip_cksum, lets not worry about
981 possible 2.0.37 compile problems.
982 * ospf_packet.c: (ospf_swap_iph_to{n,h}) Use
983 HAVE_IP_HDRINCL_BSD_ORDER.
984 (ospf_recv_packet) ditto.
985 (ospf_write) Fixup iov argument to ospf_write_frags.
986 (struct msghdr).msg_name is caddr_t on most platforms.
paul68defd62004-09-27 07:27:13 +0000987 (ospf_recv_packet) ditto. And msg_flags is not always there
988 memset struct then set fields we care about rather than
989 initialise all fields individually.
990
hassoc9e52be2004-09-26 16:09:34 +00009912004-09-26 Hasso Tepper <hasso at quagga.net>
992
993 * ospf_abr.c, ospf_dump.c, ospf_lsa.c, ospf_packet.c, ospf_vty.c,
994 ospf_zebra.c: Fix compiler warnings.
995
paul87d6f872004-09-24 08:01:38 +00009962004-09-24 Paul Jakma <paul@dishone.st>
997
998 * ospf_apiserver.{c,h}: lists typedef removal cleanup.
999 update some list loops to LIST_LOOP. some miscellaneous indent
1000 fixups.
1001 (ospf_apiserver_unregister_opaque_type) fix listnode_delete of
1002 referenced node in loop.
paul1603c062004-09-24 08:23:24 +00001003 (ospf_apiserver_term) loops calling ospf_apiserver_free, which
1004 deletes referenced nodes from apiserver_list, fixed.
paul87d6f872004-09-24 08:01:38 +00001005 * ospf_interface.h: lists typedef removal cleanup.
1006 * ospf_opaque.{c,h}: lists typedef removal cleanup. update some list
1007 loops to LIST_LOOP. miscellaneous style and indent fixups.
1008 * ospf_te.{c,h}: ditto
1009 * ospf_packet.c: lists typedef removal cleanup.
paula2570682004-09-24 08:09:57 +00001010 (ospf_write) ifdef fragmentation support. move actual
1011 fragmentation out to a new, similarly ifdefed, function.
1012 (ospf_write_frags) fragmented write support, moved from previous.
paul87d6f872004-09-24 08:01:38 +00001013
hasso52dc7ee2004-09-23 19:18:23 +000010142004-09-23 Hasso Tepper <hasso at quagga.net>
1015
1016 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
1017
paul68b73392004-09-12 14:21:37 +000010182004-09-12 Paul Jakma <paul@dishone.st>
1019
1020 * ospf_packet.c: Fix bugzilla #107
1021 (ospf_packet_max) get rid of the magic 88 constant
1022 (ospf_swab_iph_ton) new function. set ip header to network order,
1023 taking BSDisms into account.
1024 (ospf_swab_iph_toh) the inverse.
1025 (ospf_write) Add support for IP fragmentation, will only work on
1026 linux though, other kernels make it impossible. get rid of the
1027 magic 4 constant.
1028 (ospf_make_ls_upd) Bound check to end of stream, not to
1029 interface mtu.
1030 (ospf_ls_upd_packet_new) New function, allocate upd packet
1031 taking oversized LSAs into account.
1032 (ospf_ls_upd_queue_send) use ospf_ls_upd_packet_new to allocate,
1033 rather than statically allocating mtu sized packet buffer, which
1034 actually was wrong - it didnt take ip header into account, which
1035 should not be included in packet buffer.
1036 (ospf_ls_upd_send_queue_event) minor tweaks and remove
1037 TODO comment.
1038
gdt630e4802004-08-31 17:28:41 +000010392004-08-31 David Wiggins <dwiggins@bbn.com>
1040
1041 * ospf_spf.c (ospf_spf_calculate): Many more comments and debug
1042 print statements. New function ospf_vertex_dump used in debugging.
1043
10442004-08-31 David Wiggins <dwiggins@bbn.com>
1045
1046 * ospf_spf.h (struct vertex): Comments for flags and structure members.
1047
10482004-08-31 David Wiggins <dwiggins@bbn.com>
1049
1050 * ospf_route.c: When finding an alternate route, log cost as well.
1051
10522004-08-31 David Wiggins <dwiggins@bbn.com>
1053
1054 * ospf_interface.c (ospf_lookup_if_params): Initialize af in
1055 struct prefix allocated on stack.
1056
10572004-08-31 David Wiggins <dwiggins@bbn.com>
1058
1059 * ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send
1060 acks to AllSPFRouters, rather than All-DR.
1061
hasso7b901432004-08-31 13:37:42 +000010622004-08-27 Hasso Tepper <hasso at quagga.net>
1063
1064 * ospf_vty.c: Don't print ospf network type under interface only
1065 if interface is in broadcast mode and interface type really is
1066 broadcast. Fixes Bugzilla #108.
1067
gdtd7d93992004-08-27 12:03:42 +000010682004-08-27 David Wiggins <dwiggins@bbn.com>
1069
1070 * ospf_spf.c (ospf_nexthop_calculation): Initialize address family
1071 in on-stack struct prefix_ipv4. Fixes point-to-multipoint SPF
1072 calculation.
1073
gdtd0deca62004-08-26 13:14:07 +000010742004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
1075
1076 * ospf_packet.c (ospf_recv_packet): adjust size declaration of
gdtd7d93992004-08-27 12:03:42 +00001077 buffer used to get interface index so that it compiles on other
1078 than Linux and includes the required alignment space. Probably
1079 this was only working on sparc/sparc64 because most of
1080 sockaddr_dl was not being written.
gdtd0deca62004-08-26 13:14:07 +00001081
paul863082d2004-08-19 04:43:43 +000010822004-08-19 Paul Jakma <paul@dishone.st>
1083
1084 * ospf_packet.c: update to match sockopt renames.
1085
paul75ee0b82004-08-05 09:10:31 +000010862004-08-04 Paul Jakma <paul@dishone.st>
1087
1088 * ospf_spf.c: (ospf_spf_consider_nexthop) Add comment about issue.
1089 Compare only against list head - all nexthops must be same cost
1090 anyway, fixes a reference-listnode-after-delete bug noted by
1091 Kir Kostuchenko.
1092 (ospf_nexthop_calculation) Use ospf_spf_consider_nexthop for all
1093 candidates attached to root.
1094
paul36c64ef2004-07-27 11:19:11 +000010952004-07-27 Paul Jakma <paul@dishone.st>
1096
paul48fe13b2004-07-27 17:40:44 +00001097 * ospf_packet.c: (ospf_ls_upd_send_queue_event) fix thinko from
1098 last fix for ospfd wedging due to oversize LSAs: dont list loop on
1099 ospf_ls_upd_queue_send() - guaranteed segfault.
1100
11012004-07-27 Paul Jakma <paul@dishone.st>
1102
paul36c64ef2004-07-27 11:19:11 +00001103 * ospf_opaque.c: (ospf_opaque_lsa_flush_schedule) do not NULL out
1104 the LSA as then free_opaque_info_per_id() can never unlock (and
1105 free) the LSA. Reported by Gunnar Stigen.
1106
paul2dd8bb42004-07-23 15:13:48 +000011072004-07-23 Paul Jakma <paul@dishone.st>
1108
1109 * ospf_network.c: Replace PKTINFO/RECVIF with call to
1110 setsockopt_pktinfo
1111 * ospf_packet.c: Use getsockopt_pktinfo_ifindex and
1112 SOPT_SIZE_CMSG_PKTINFO_IPV4.
1113
paul59ea14c2004-07-14 20:50:36 +000011142004-07-14 Paul Jakma <paul@dishone.st>
1115
1116 * ospf_packet.c: (ospf_ls_upd_send_queue_event) Partial fix for
1117 problem reported by Peter Frost amongst others, where function
1118 will spin indefinitely if update list contains LSAs greater than
1119 MTU-headers or other condition leading to update list never being
1120 cleared. Problem of what to do with these LSAs remains.
1121 (ospf_make_ls_upd) add comment about large LSA problem,
1122 indentation cleanup.
1123
gdtb2c1b282004-07-01 12:35:36 +000011242004-07-01 Greg Troxel <gdt@fnord.ir.bbn.com>
1125
1126 * Makefile.am (lib_LTLIBRARIES): make libospf shared
1127
gdt87efd642004-06-30 17:36:11 +000011282004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1129
1130 * Makefile.am: Add shlib support.
1131
hassobeebba72004-06-20 21:00:27 +000011322004-06-10 Hasso Tepper <hasso@estpak.ee>
1133
1134 * *: Removed ifdefs HAVE_NSSA.
1135
paul553ff112004-06-06 09:41:00 +000011362004-06-06 Paul Jakma <paul@dishone.st>
1137
1138 * ospf_dump.c,ospf_lsa.c: Fix typos of merge of previous.
1139 ospf_flood.c: (ospf_process_self_originated_lsa) fix zlog format
1140
paul0c2be262004-05-31 14:16:54 +000011412004-05-31 Sagun Shakya <sagun.shakya@sun.com>
1142
1143 * ospf_dump.c: (ospf_lsa_header_dump) LOOKUP can return null if
1144 index is out of range.
1145 ospf_flood.c: endianness fix
1146 ospf_lsa.c: Missing ntohl's on (struct lsa *)->data->ls_seqnum
1147 in various places.
1148
hassodd669bb2004-05-10 07:43:59 +000011492004-05-10 Hasso Tepper <hasso@estpak.ee>
1150
1151 * ospf_zebra.c, ospfd.c: Move ospf_prefix_list_update() function
1152 to ospf_zebra.c from ospfd.c and add redistribution updates if
1153 route-map is used in redistribution.
1154 * ospf_main.c: Remove now useless call to ospf_init().
1155
paul0a589352004-05-08 11:48:26 +000011562004-05-08 Paul Jakma <paul@dishone.st>
1157
1158 * ospf_zebra.c: Sync with lib/zclient changes
1159
pauld3f0d622004-05-05 15:27:15 +000011602004-05-05 Paul Jakma <paul@dishone.st>
1161
paul5bd41892004-05-05 17:29:24 +00001162 * ospf_network.c: (ospf_sock_init) Check whether IP_HDRINCL is
1163 defined. Warn at compile and runtime. Use
1164 IPTOS_PREC_INTERNETCONTROL otherwise.
pauld3f0d622004-05-05 15:27:15 +00001165 * ospf_packet.c: (ospf_associate_packet_vl) cleanup, move
1166 some of the checks up to ospf_read, return either a
1167 virtual link oi, or NULL.
1168 (ospf_read) Cleanup, make it responsible for checks. Remove
1169 the nbr lookup - moved to ospf_neighbor. Adjust all nbr
1170 lookups to use new wrappers exported by ospf_neighbor.
1171 * ospf_neighbor.h: Add ospf_neigbour_get and ospf_nbr_lookup.
1172 * ospf_neighbor.c: (ospf_neigbour_get) Index ospf_interface
1173 neighbour table by router-id for virtual-link ospf_interfaces,
1174 not by peer_addr (which breaks for asymmetric vlinks)
1175 (ospf_nbr_lookup) add a wrapper for nbr lookups to deal with
1176 above.
paulcd59da62004-05-05 17:26:55 +00001177 * ospf_interface.c: (ospf_vl_set_params) Catch changes of interface
1178 address for either end of a virtual-link, and hence potential cost
1179 changes.
1180
hassoa0a39762004-04-23 08:51:10 +000011812004-04-22 Hasso Tepper <hasso@estpak.ee>
1182
1183 * ospf_zebra.c: Don't ignore reject/bh routes, it's the only way
1184 to "summarize" routes in ASBR at the moment.
1185
hasso8585d4e2004-04-20 17:25:12 +000011862004-04-20 Hasso Tepper <hasso@estpak.ee>
1187
1188 * ospfd.c: Unset NP flag if area is going to be normal or stub.
1189 Fixes UNH OSPF_NSSA.1.2a comment.
1190 * ospf_abr.c: Originate default into stub/nssa area even if
1191 summaries are disabled.
1192 * ospf_zebra.c: Don't attempt to redistribute 127.0.0.0/8.
1193
hassoc266ac72004-04-19 17:31:00 +000011942004-04-19 Hasso Tepper <hasso@estpak.ee>
1195
1196 * ospf_vty.c: Don't warn that export- and import-list can't be
1197 configured to backbone area if they are applied and are working
1198 fine.
1199
hasso128d31d2004-04-04 12:52:33 +000012002004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1201
1202 * ospf_packet.c: Don't drop packets in Solaris x86.
1203 [quagga-dev 1005].
1204
hasso0d85b992004-03-18 19:18:33 +000012052004-03-18 Amir Guindehi <amir@datacore.ch>
1206
1207 * ospf_opaque.c: Attempt to correct the incorrect behavior of
1208 Quagga's ospfd in the special situation that a node's opaque
1209 capability has changed as "ON -> OFF -> ON". [quagga-dev 843].
1210
paul7f352b82004-02-19 19:37:47 +000012112004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1212
1213 * ospf_abr.c: (ospf_abr_update_aggregate) UNH 3.12b,c, address range
1214 should be configured with the highest cost path within the range,
1215 not lowest.
1216
paul940b01a2004-02-17 20:07:30 +000012172004-02-17 Paul Jakma <paul@dishone.st>
1218
1219 * ospf_zebra.c: (ospf_interface_delete) Do not delete the interface
1220 params, nor the interface structure, if an interface delete
1221 message is received from zebra.
1222 * ospf_interface.c: (ospf_if_delete_hook) Delete the interface
1223 params and interface, ie that which was previously removed in
1224 (ospf_interface_delete) above.
1225
hasso2db3d052004-02-11 21:52:13 +000012262004-02-11 Hasso Tepper <hasso@estpak.ee>
1227 * ospf_interface.c, ospf_zebra.c: Don't attempt to read path->oi->ifp
1228 if oi doesn't exist any more.
1229
hassocb05eb22004-02-11 21:10:19 +000012302004-02-11 Vadim Suraev <vadim.suraev@terayon.com>
1231 * ospf_packet.c (ospf_ls_upd): Router should flush received network
1232 LSA if it was originated with older router-id ([zebra 14710] #6).
1233
12342003-12-08 Mattias Amnefelt <mattiasa@kth.se>
paul239aecc2003-12-08 10:34:54 +00001235
1236 * ospf_packet.c: (ospf_recv_packet) OpenBSD now leaves iph.ip_len
1237 network byte order.
1238
gdt8f40e892003-12-05 14:01:43 +000012392003-12-05 Greg Troxel <gdt@poblano.ir.bbn.com>
1240
1241 * ospfd.c (ospf_network_match_iface): Rewrite code for clarity
1242 while trying not to change semantics. Add ifdefed-out code to
1243 avoid matching ppp interfaces whose destination address does not
1244 also match the prefix under consideration, to help out people with
1245 problems due to as-yet-unfixed bugs with p2p interfaces coming and
1246 going.
1247
paul736d3442003-07-24 23:22:57 +000012482003-07-25 kamatchi soundaram <kamatchi@tdd.sj.nec.com>
1249
1250 * ospf_packet.c (ospf_ls_upd_send_queue_event): get next route
1251 node in body of the loop to avoid chance that route node
1252 is unlocked and deleted before the next iteration tries to
1253 get next route node.
1254
paul0a825c72003-05-24 13:48:16 +000012552003-05-24 Kenji Yabuuchi
1256
1257 * ospf_interface.c(ospf_if_lookup_recv_if): Use the most specific
1258 match for interface lookup.
1259
paul551a8972003-05-18 15:22:55 +000012602003-05-18 Hasso Tepper <hasso@estpak.ee>
paul445f1432003-05-16 19:00:31 +00001261
paul551a8972003-05-18 15:22:55 +00001262 * ospf_vty.c: Show NSSA LSA route info in "show ip ospf database"
1263 output
paul445f1432003-05-16 19:00:31 +00001264
pauld7480322003-05-16 17:31:51 +000012652003-05-16 Hasso Tepper <hasso@estpak.ee>
1266
1267 * ospf_lsa.c: Fix handling of NSSA
1268
paul551a8972003-05-18 15:22:55 +000012692003-04-23 Hasso Tepper <hasso@estpak.ee>
1270
1271 * ospf_vty.c: fix "router xxx" node commands in vtysh
1272
paul445f1432003-05-16 19:00:31 +000012732003-04-19 Hasso Tepper <hasso@estpak.ee>
1274
1275 * {ospf_abr,ospfd}.c: area id's DECIMAL -> ADDRESS
1276 * ospf_routemap.c: sync daemon's route-map commands to have same
1277 syntax.
1278
12792003-04-19 Sergey Vyshnevetskiy <serg@vostok.net>
1280
1281 * ospf_packet.c: Add missing param to zlog
1282 * ospf_flood.c: remove unused vars
1283
12842003-04-17 Denis Ovsienko <zebra@pilot.org.ua>
1285
1286 * ospf_interface.c: fix incorrect memset
1287
paul28a13842003-05-16 20:30:37 +000012882003-04-10 Amir Guindehi <amir@datacore.ch>
paul445f1432003-05-16 19:00:31 +00001289
1290 * ospf_lsa.[ch]: opaque LSA fix, use ospf_lookup.
1291
12922003-04-03 David Watson <dwatson@eecs.umich.edu>
1293
1294 * ospf_lsa.c: byte order fix
1295
paul07661cb2003-03-18 00:03:05 +000012962002-03-17 Amir Guindehi <amir@datacore.ch>
1297
1298 * ospf_apiserver.[ch]: Merge Ralph Keller's OSPFAPI support.
1299 * ospf_api.[ch]: Merge Ralph Keller's OSPFAPI support.
1300 * ospfclient: OSPFAPI demonstration client.
1301
13022003-01-23 Masahiko Endo <endo@suri.co.jp>
1303
1304 * ospf_ism.c: NSM event schedule bug fix.
1305
13062002-10-30 Greg Troxel <gdt@ir.bbn.com>
1307
1308 * ospf_packet.c (ospf_make_md5_digest): MD5 length fix.
1309
paul718e3742002-12-13 20:15:29 +000013102002-10-23 endo@suri.co.jp (Masahiko Endo)
1311
1312 * ospf_opaque.c: Update Opaque LSA patch.
1313
13142002-10-23 Ralph Keller <keller@tik.ee.ethz.ch>
1315
1316 * ospf_vty.c (show_ip_ospf_database): Fix CLI parse.
1317
13182002-10-23 Juris Kalnins <juris@mt.lv>
1319
1320 * ospf_interface.c (ospf_if_stream_unset): When write queue
1321 becomes empty stop write timer.
1322
13232002-10-10 Greg Troxel <gdt@ir.bbn.com>
1324
1325 * ospf_packet.c (ospf_check_md5_digest): Change >= to > to make it
1326 conform to RFC.
1327
13282002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1329
1330 * zebra-0.93 released.
1331
13322002-06-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1333
1334 * ospf_spf.c (ospf_nexthop_calculation): Add NULL set to oi and
1335 check of l2. Reported by: Daniel Drown <dan-zebra@drown.org>
1336 (ospf_lsa_has_link): LSA Length calculation fix. Reported by:
1337 Paul Jakma <paulj@alphyra.ie>.
1338
1339 * ospfd.c (ospf_if_update): Fix nextnode reference bug. Reported
1340 by: juris@mt.lv.
1341
13422002-01-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1343
1344 * ospfd.c: Merge [zebra 11445] Masahiko ENDO's Opaque-LSA support.
1345
13462001-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1347
1348 * ospf_interface.c (ospf_add_to_if): Use /32 address to register
1349 OSPF interface information.
1350 (ospf_delete_from_if): Likewise.
1351
1352 * ospf_zebra.c (ospf_interface_address_delete): Likewise.
1353
13542001-08-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1355
1356 * ospf_zebra.c (ospf_redistribute_unset): When redistribute type
1357 is OSPF, do not unset redistribute flag.
1358
13592001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1360
1361 * zebra-0.92a released.
1362
13632001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1364
1365 * zebra-0.92 released.
1366
13672001-08-12 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1368
1369 * ospfd.c (ospf_config_write): auto-cost reference-bandwidth
1370 configuration display.
1371
13722001-07-24 David Watson <dwatson@eecs.umich.edu>
1373
1374 * ospf_spf.c (ospf_spf_next): Modify ospf_vertex_add_parent to
1375 check for an existing link before connecting the parent and child.
1376 ospf_nexthop_calculation is also modified to check for duplicate
1377 entries when copying from the parent. Finally, ospf_spf_next
1378 removes duplicates when it merges two equal cost candidates.
1379
13802001-07-23 itojun@iijlab.net
1381
1382 * ospfd.c (show_ip_ospf_neighbor): Check ospf_top before use it
1383 [zebra 8549].
1384
13852001-07-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1386
1387 * ospf_packet.c (ospf_write): Remove defined(__OpenBSD__) to make
1388 it work on OpenBSD.
1389
13902001-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1391
1392 * ospf_zebra.c (config_write_ospf_default_metric): Display
1393 default-metric configuration.
1394
13952001-06-18 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1396
1397 * ospf_ia.h (OSPF_EXAMINE_SUMMARIES_ALL): Remove old macros.
1398
13992001-05-28 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1400
1401 * ospf_snmp.c (ospfIfEntry): Fix interface lookup bug to avoid
1402 crush.
1403 (ospfIfMetricEntry): Likewise.
1404
14052001-03-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1406
1407 * ospf_packet.c (ospf_read): Fix typo. Reported by: "Jen B
1408 Lin'Kova" <jen@stack.net>.
1409
14102001-03-15 Gleb Natapov <gleb@nbase.co.il>
1411
1412 * ospf_interface.c (ip_ospf_network): Set interface parameter.
1413 (interface_config_write): Add check for OSPF_IFTYPE_LOOPBACK.
1414
1415 * ospf_zebra.c (ospf_interface_add): Set interface parameter.
1416
14172001-02-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1418
1419 * ospf_packet.c (ospf_recv_packet): Solaris also need to add
1420 (iph.ip_hl << 2) to iph.ip_len.
1421
14222001-02-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1423
1424 * ospfd.h (OSPF_LS_REFRESH_TIME): Fix OSPF_LS_REFRESH_TIME value.
1425 Suggested by: David Watson <dwatson@eecs.umich.edu>.
1426
1427 * ospf_zebra.c (zebra_init): Remove zebra node.
1428
1429 * ospfd.c (ospf_area_range_set): Function name is changed from
1430 ospf_ara_range_cmd.
1431 (ospf_area_range_unset): New function which separated from DEFUN.
1432 New commands are added:
1433 "no area A.B.C.D range A.B.C.D/M advertise"
1434 "no area <0-4294967295> range A.B.C.D/M advertise"
1435 "no area A.B.C.D range A.B.C.D/M not-advertise"
1436 "no area <0-4294967295> range A.B.C.D/M not-advertise"
1437
1438 * ospf_lsa.c (ospf_lsa_more_recent): Fix previous change.
1439
14402001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
1441
1442 * ospf_network.c (ospf_if_add_allspfrouters): Use
1443 setsockopt_multicast_ipv4.
1444 (ospf_if_drop_allspfrouters): Likewise.
1445
1446 * ospf_lsa.c (ospf_router_lsa_install): Add rt_recalc flag.
1447 (ospf_network_lsa_install): Likewise.
1448 (ospf_summary_lsa_install): Likewise.
1449 (ospf_summary_asbr_lsa_install): Likewise.
1450 (ospf_external_lsa_install): Likewise.
1451 (ospf_lsa_install): Call ospf_lsa_different to check this LSA is
1452 new one or not.
1453
14542001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1455
1456 * ospf_zebra.c (ospf_interface_delete): Do not free interface
1457 structure when ospfd receive interface delete message to support
1458 pseudo interface.
1459
14602001-02-01 Dick Glasspool <dick@ipinfusion.com>
1461
1462 * ospfd.c (area_range_notadvertise): Change area range "suppress"
1463 command to "not-advertise".
1464
1465 * ospfd.h (OSPF_LS_REFRESH_TIME): Change OSPF_LS_REFRESH_TIME from
1466 1800 to 60.
1467
1468 * ospf_abr.c (ospf_abr_update_aggregate): When update_aggregate is
1469 updating the area-range, the lowest cost is now saved.
1470
1471 * ospf_lsa.c (ospf_lsa_more_recent): Routing to compare sequence
1472 numbers rather than creating overflow during calculation.
1473
14742001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1475
1476 * zebra-0.91 is released.
1477
14782001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1479
1480 * ospf_packet.c (ospf_db_desc_proc): Do not continue process when
1481 NSM_SeqNumberMismatch is scheduled.
1482 (ospf_ls_req): Free ls_upd when return from this function.
1483 (ospf_ls_upd_timer): When update list is empty do not call
1484 ospf_ls_upd_send(). Suggested by: endo@suri.co.jp (Masahiko
1485 Endo).
1486
14872001-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1488
1489 * ospf_lsa.c (ospf_maxage_flood): Flood LSA when it reaches
1490 MaxAge. RFC2328 Section 14.
1491 (ospf_maxage_lsa_remover): Call above function during removing
1492 MaxAge LSA.
1493
14942001-01-26 Dick Glasspool <dick@ipinfusion.com>
1495
1496 * ospf_flood.c (ospf_flood_through_as): Function is updated for
1497 NSSA Translations now done at ospf_abr.c with no change in P-bit.
1498
1499 * ospf_lsa.c (ospf_get_nssa_ip): Get 1st IP connection for Forward
1500 Addr.
1501 (ospf_install_flood_nssa): Leave Type-7 LSA at Lock Count = 2.
1502
1503 * ospf_ase.c (ospf_ase_calculate_route): Add debug codes.
1504
1505 * ospf_abr.c (ospf_abr_translate_nssa): Recalculate LSA checksum.
1506
1507 * ospf_packet.h (OSPF_SEND_PACKET_LOOP): Added for test packet.
1508
1509 * ospf_dump.c (ospf_lsa_type_msg): Add OSPF_GROUP_MEMBER_LSA and
1510 OSPF_AS_NSSA_LSA.
1511
1512 * ospfd.c (data_injection): Function to inject LSA. This is
1513 debugging command.
1514
15152001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1516
1517 * ospf_route.c (ospf_route_match_same): Remove function.
1518 (ospf_route_match_same_new): Renamed to ospf_route_match_same.
1519
1520 * ospf_zebra.c (ospf_interface_address_delete): Add check for
1521 oi->address. Suggested by Matthew Grant
1522 <grantma@anathoth.gen.nz>.
1523 (ospf_zebra_add): Remove function.
1524 (ospf_zebra_add_multipath): Rename to ospf_zebra_add.
1525
1526 * ospf_interface.c: Remove HAVE_IF_PSEUDO part.
1527
1528 * ospf_zebra.c: Likewise.
1529
15302001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1531
1532 * ospf_ase.c: Remove OLD_RIB part.
1533
1534 * ospf_route.c: Likewise.
1535
1536 * zebra-0.90 is released.
1537
1538 * ospf_packet.c (ospf_recv_packet): Use ip_len adjestment code to
1539 NetBSD.
1540
15412001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1542
1543 * ospf_route.c (ospf_route_delete): Use
1544 ospf_zebra_delete_multipath.
1545
15462001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1547
1548 * ospf_interface.c (ospf_if_cleanup): Function name is renamed
1549 from ospf_if_free(). Rewrite whole procudure to support primary
1550 address deletion.
1551
1552 * ospf_zebra.c (ospf_interface_address_delete): Add primary
1553 address deletion process.
1554
15552001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1556
1557 * ospf_packet.c (ospf_recv_packet): OpenBSD has same ip_len
1558 treatment like FreeBSD.
1559
15602001-01-09 endo@suri.co.jp (Masahiko Endo)
1561
1562 * ospf_packet.c (ospf_recv_packet): FreeBSD kernel network code
1563 strips IP header size from receiving IP Packet. So we adjust
1564 ip_len to whole IP packet size by adding IP header size.
1565
15662001-01-08 endo@suri.co.jp (Masahiko Endo)
1567
1568 * ospf_network.c (ospf_serv_sock): When socket() is failed return
1569 immediately.
1570 (ospf_serv_sock): Close socket when it is not used.
1571
1572 * ospf_packet.c (ospf_write): Set sin_len when HAVE_SIN_LEN is
1573 defined.
1574 (ospf_write): When bind is fined, close sock.
1575
15762001-01-07 Gleb Natapov <gleb@nbase.co.il>
1577
1578 * ospf_zebra.c (ospf_interface_state_up): Fixes coredump that
1579 appears when you try to configure bandwidth on the ppp interface
1580 that is not yet configured in ospfd.
1581
15822001-01-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1583
1584 * ospf_route.c (show_ip_ospf_route_external): "show ip ospf route"
1585 will print nexthops for AS-external routes.
1586
1587 * ospf_ase.c (ospf_ase_route_match_same): New function to compare
1588 ASE route under multipath environment.
1589 (ospf_ase_compare_tables): Likewise.
1590
15912001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1592
1593 * ospfd.h (OSPF_VTYSH_PATH): Change "/tmp/ospfd" to "/tmp/.ospfd".
1594
15952000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1596
1597 * ospf_route.c (ospf_route_install): Install multipath information
1598 to zebra daemon.
1599
1600 * ospf_zebra.c (ospf_zebra_add_multipath): Function for passing
1601 multipath information to zebra daemon.
1602
16032000-12-25 Dick Glasspool <dick@ipinfusion.com>
1604
1605 * ospf_packet.c (ospf_write): Call ospf_packet_delete when sendto
1606 fail.
1607 (DISCARD_LSA): Add argument N for logging point of DISCARD_LSA is
1608 called.
1609
1610 * ospf_lsa.c (ospf_external_lsa_refresh): NSSA install_flood will
1611 leave Type-7 LSA at Lock Count = 2.
1612
1613 * ospf_flood.c (ospf_flood_through): Flood_though_as updated for
1614 NSSA no P-bit off during Area flooding, but P-bit is turned off
1615 for mulitple NSSA AS flooding.
1616
1617 * ospf_ase.c (ospf_ase_calculate_timer): Added calculations for
1618 Type-7 LSDB.
1619
1620 * ospf_abr.c (ospf_abr_translate_nssa): Removed one unlock call.
1621 (ospf_abr_announce_nssa_defaults): Corrected Debug from EVENT to
1622 NSSA.
1623
16242000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1625
1626 * ospf_zebra.c (ospf_zebra_read_ipv4): Checking the age of the
1627 found LSA and if the LSA is MAXAGE we should call refresh instead
1628 of originate.
1629
16302000-12-18 Dick Glasspool <dick@ipinfusion.com>
1631
1632 * ospf_abr.c: Removed redundant "...flood" in
1633 announce_network_to_area(). Repaired nssa Unlock by using
1634 discard.
1635
1636 * ospf_packet.c: Removed old NSSA translate during mk_ls_update.
1637
1638 * ospfd.c: Free up all data bases including NSSA.
1639
1640 * ospf_lsa.c: Now allow removal of XLATE LSA's Check in
1641 discard_callback. Added routine to get ip addr from within the
1642 ifp.
1643
1644 * ospf_flood.c: Now set Forward Address for outgoing Type-7.
1645
1646 * ospf_lsa.h: Added prototype for the below. struct in_addr
1647 ospf_get_ip_from_ifp (struct interface *ifp).
1648
16492000-12-14 Gleb Natapov <gleb@nbase.co.il>
1650
1651 * ospf_packet.c (ospf_recv_packet): New OSPF pakcet read method.
1652 Now maximum packet length may be 65535 bytes (maximum IP packet
1653 length).
1654
1655 * ospf_interface.c (ospf_if_stream_set): Don't make input buffer.
1656
1657 * ospfd.c (config_write_network_area): Remove unnecessary area
1658 lookup code.
1659
16602000-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1661
1662 * ospf_packet.c (ospf_read): Accept packet bigger than MTU value.
1663
16642000-12-13 Gleb Natapov <gleb@nbase.co.il>
1665
1666 * ospfd.c (config_write_network_area): Fix bug in
1667 config_write_network_area function.
1668
16692000-12-12 Gleb Natapov <gleb@nbase.co.il>
1670
1671 * ospf_abr.c (ospf_abr_announce_network_to_area): Make Summary
1672 LSA's origination and refreshment as same as other type of LSA.
1673
1674 * ospf_lsa.c (ospf_summary_lsa_refresh): Return struct ospf_lsa *.
1675
1676 * ospf_lsa.c (ospf_summary_asbr_lsa_refresh): Likewise.
1677
16782000-12-08 Dick Glasspool <dick@ipinfusion.com>
1679
1680 The bulk of NSSA changes are contained herein; This version will
1681 require manual setting of "always" for NSSA Translator, and will
1682 not perform aggregation yet.
1683
1684 * ospf_dump.c: "debug ospf nssa" is added.
1685
1686 * ospf_dump.h: Likewise.
1687
1688 * ospf_packet.c (ospf_hello): Display router ID on Bad NSSA Hello.
1689
1690 * ospfd.c: Discard_LSA to stay away from LOCAL_XLT Process NSSA
1691 'never, candidate, always'. Change "suppress" to "not-advertise".
1692
1693 * ospfd.h: Add TranslatorRole to struct ospf_area. Add anyNSSA to
1694 struct ospf.
1695
1696 * ospf_ase.c (ospf_ase_calculate_route): External to stay away
1697 from LOCAL_XLT
1698
1699 * ospf_nsm.c (ospf_db_summary_add): External to stay away from
1700 LOCAL_XLT
1701
1702 * ospf_abr.c: Major logic added for abr_nssa_task(). If ABR, and
1703 NSSA translator, then do it. Approve the global list, and flush
1704 any unapproved.
1705
1706 * ospf_lsa.h: New LSA flag OSPF_LSA_LOCAL_XLT to indicate that the
1707 Type-5 resulted from a Local Type-7 translation; not used for
1708 flooding, but used for flushing.
1709
1710 * ospf_flood.c: New NSSA flooding.
1711
17122000-12-08 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1713
1714 * ospfd.c (ospf_find_vl_data): New function for looking up virtual
1715 link data.
1716 (ospf_vl_set_security): Virtual link configuration with
1717 authentication.
1718 (ospf_vl_set_timers): Set timers for virtual link.
1719
1720 * New commands are added.
1721 "area A.B.C.D virtual-link A.B.C.D"
1722 "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>"
1723 "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"
1724 "area A.B.C.D virtual-link A.B.C.D authentication-key AUTH_KEY"
1725 "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"
1726 "area A.B.C.D virtual-link A.B.C.D message-digest-key <1-255> md5 KEY"
1727
1728 * ospf_packet.c (ospf_check_md5_digest): Add neighbor's
1729 cryptographic sequence number treatment.
1730 (ospf_check_auth): OSPF input buffer is added to argument.
1731 (ospf_read): Save neighbor's cryptographic sequence number.
1732
1733 * ospf_nsm.c (nsm_change_status): Clear cryptographic sequence
1734 number when neighbor status is changed to NSM down.
1735
1736 * ospf_neighbor.c (ospf_nbr_new): Set zero to crypt_seqnum.
1737
1738 * ospf_neighbor.h (struct ospf_neighbor): Add cryptographic
1739 sequence number to neighbor structure.
1740
17412000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1742
1743 * ospf_snmp.c (ospfIfLookup): OSPF MIB updates.
1744 (ospfExtLsdbEntry): Add OspfExtLsdbTable treatment.
1745
17462000-11-28 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1747
1748 * ospfd.c (ospf_interface_down): Clear a ls_upd_queue queue of the
1749 interface.
1750 (ospf_ls_upd_queue_empty): New function to empty ls update queue
1751 of the OSPF interface.
1752 (no_router_ospf): 'no router ospf' unregister redistribution
1753 requests from zebra.
1754
17552000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1756
1757 * ospf_ism.c (ism_change_status): Increment status change number.
1758
1759 * ospf_interface.h (struct ospf_interface): Add new member for
1760 status change statistics.
1761
1762 * Makefile.am: Update dependencies.
1763
1764 * ospf_zebra.c (ospf_interface_add): OSPF SNMP interface update.
1765 (ospf_interface_delete): OSPF SNMP interface delete.
1766
1767 * ospf_snmp.h: New file is added.
1768
17692000-11-23 Dick Glasspool <dick@ipinfusion.com>
1770
1771 * ospfd.h: Add new ospf_area structure member for
1772 NSSATranslatorRole and NSSATranslator state.
1773
1774 * ospfd.c: Provided for eventual commands to specify NSSA
1775 elections for "translator- ALWAYS/NEVER/CANDIDATE". Provided for
1776 decimal integer version of area-suppress.
1777
1778 * ospf_flood.c: Flood Type-7's only into NSSA (not AS).
1779
1780 * ospf_lsa.c: Undo some previous changes for NSSA. If NSSA
1781 translator, advertise Nt bit.
1782
1783 * ospf_route.c: 1st version of "sh ip os border-routers".
1784
17852000-11-23 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1786
1787 * ospfd.c (area_vlink): Virtual link can not configured in stub
1788 area.
1789
17902000-11-23 Gleb Natapov <gleb@nbase.co.il>
1791
1792 * ospf_packet.c (ospf_db_desc): In states Loading and Full the
1793 slave must resend its last Database Description packet in response
1794 to duplicate Database Description packets received from the
1795 master. For this reason the slave must wait RouterDeadInterval
1796 seconds before freeing the last Database Description packet.
1797 Reception of a Database Description packet from the master after
1798 this interval will generate a SeqNumberMismatch neighbor
1799 event. RFC2328 Section 10.8
1800 (ospf_make_db_desc): DD Master flag treatment.
1801
1802 * ospf_nsm.c (nsm_twoway_received): Move DD related procedure to
1803 nsm_change_status().
1804 (nsm_bad_ls_req): Likewise.
1805 (nsm_adj_ok): Likewise.
1806 (nsm_seq_number_mismatch): Likewise.
1807 (nsm_oneway_received): Likewise.
1808
1809 * ospf_neighbor.h (struct ospf_neighbor): New structure member
1810 last_send_ts for timestemp when last Database Description packet
1811 was sent.
1812
1813 * ospf_nsm.c (ospf_db_desc_timer): Make it sure nbr->last_send is
1814 there. Call ospf_db_desc_resend() in any case.
1815
18162000-11-16 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1817
1818 * ospf_lsa.c (lsa_link_broadcast_set): When there is no DR on
1819 network (suppose you have only one router with interface priority
1820 0). It's router LSA does not contain the link information about
1821 this network.
1822
1823 * ospf_nsm.c (nsm_timer_set): When you change a priority of
1824 interface from/to 0 ISM_NeighborChange event should be scheduled
1825 in order to elect new DR/BDR on the network.
1826
1827 * ospf_interface.c (ip_ospf_priority): Likewise.
1828
1829 * ospf_flood.c (ospf_ls_retransmit_add): When we add some LSA into
1830 retransmit list we need to check whether the present old LSA in
1831 retransmit list is not more recent than the new
1832 one.
1833
18342000-11-09 Dick Glasspool <dick@ipinfusion.com>
1835
1836 * ospf_packet.c: Allows for NSSA Type-7 LSA's throughout the NSSA
1837 area. Any that exit the NSSA area are translated to type-5 LSA's.
1838 The instantiated image is restored after translation.
1839 (ospf_ls_upd_send_list): Renamed to ospf_ls_upd_queu_send().
1840 (ospf_ls_upd_send): Old function which enclosed by #ifdef 0 is
1841 removed.
1842 (ospf_ls_ack_send): Likewise.
1843
1844 * ospf_flood.c: NSSA-LSA's without P-bit will be restricted to
1845 local area. Otherwise they are allowed out the area to be
1846 translated by ospf_packet.c.
1847
1848 * ospf_lsa.c: Undo some previous changes for NSSA.
1849
1850 * ospf_lsdb.h: New access for type 7.
1851
18522000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1853
1854 * ospf_route.c (ospf_path_exist): New function to check nexthop
1855 and interface are in current OSPF path or not.
1856 (ospf_route_copy_nexthops_from_vertex): Add nexthop to OSPF path
1857 when it is not there. Reported by Michael Rozhavsky
1858 <mrozhavsky@opticalaccess.com>
1859
18602000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1861
1862 * ospf_dump.c (config_write_debug): Add seventh string "detail" is
1863 added for flag is OSPF_DEBUG_SEND | OSPF_DEBUG_RECV |
1864 OSPF_DEBUG_DETAIL.
1865
18662000-11-06 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1867
1868 * ospf_lsa.c (router_lsa_flags): ASBR can't exit in stub area.
1869
18702000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1871
1872 * ospf_lsa.c (ospf_router_lsa_originate): Reduce unconditional
1873 logging.
1874
18752000-11-06 Dick Glasspool <dick@ipinfusion.com>
1876
1877 * ospfd.h: Add ait_ntoa function prototype.
1878
1879 * ospfd.c (ait_ntoa): New function for displaying area ID and
1880 Stub/NSSA status.
1881 (show_ip_ospf_interface_sub): Use ait_ntoa.
1882 (show_ip_ospf_nbr_static_detail_sub): Likewise.
1883 (show_ip_ospf_neighbor_detail_sub): Likewise.
1884
1885 * ospf_route.c (ospf_intra_route_add): Set external routing type
1886 to ospf route.
1887 (ospf_intra_add_router): Likewise.
1888 (ospf_intra_add_transit): Likewise.
1889 (ospf_intra_add_stub): Likewise.
1890 (ospf_add_discard_route): Likewise.
1891 (show_ip_ospf_route_network): Use ait_ntoa.
1892 (show_ip_ospf_route_network): Likewise.
1893 (show_ip_ospf_route_router): Likewise.
1894
1895 * ospf_lsa.c (show_lsa_detail): Use ait_ntoa.
1896 (show_lsa_detail_adv_router): Likewise.
1897 (show_ip_ospf_database_summary): Likewise.
1898
1899 * ospf_route.h (struct route_standard): Add new member
1900 external_routing.
1901
1902 * ospf_ia.c (process_summary_lsa): Set external routing tyep to ospf
1903 route.
1904 (ospf_update_network_route): Likewise.
1905 (ospf_update_router_route): Likewise.
1906
19072000-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1908
1909 * ospf_flood.c (ospf_process_self_originated_lsa): Enclose
1910 OSPF_AS_NSSA_LSA treatment with #ifdef HAVE_NSSA.
1911
19122000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1913
1914 * Unconditional logging is enclosed with if (IS_DEBUG_OSPF_EVENT).
1915 Please specify "debug ospf event" for enable logging.
1916
1917 * ospf_ism.c: Do not extern debug flag varible. It is done by
1918 ospf_debug.h
1919 * ospf_asbr.c: Likewise.
1920 * ospf_lsa.c: Likewise.
1921 * ospf_nsm.c: Likewise.
1922 * ospf_zebra.c: Likewise.
1923
1924 * ospf_dump.c (debug_ospf_event): New command "debug ospf event"
1925 is added.
1926
1927 * ospfd.c (router_ospf): Change logging from vty_out() to
1928 zlog_info().
1929 (ospf_area_stub_cmd): Likewise.
1930
1931 * ospf_dump.h: Extern term_debug flags.
1932 (OSPF_DEBUG_EVENT): Add new flag.
1933 (IS_DEBUG_OSPF_EVENT): Add new macro.
1934
19352000-11-03 Dick Glasspool <dick@ipinfusion.com>
1936
1937 * ospf_flood.c (ospf_process_self_originated_lsa):
1938 OSPF_AS_NSSA_LSA is treated as same as OSPF_AS_EXTERNAL_LSA.
1939 (ospf_flood): Type-5's have no change. Type-7's can be received,
1940 and will Flood the AS as Type-5's They will also flood the local
1941 NSSA Area as Type-7's. The LSDB will be updated as Type-5's, and
1942 during re-fresh will be converted back to Type-7's (if within an
1943 NSSA).
1944 (ospf_flood_through): Incoming Type-7's were allowed here if our
1945 neighbor was an NSSA. So Flood our area with the Type-7 and also
1946 if we are an ABR, flood thru AS as Type-5.
1947
1948 * ospf_lsa.c (ospf_external_lsa_refresh): Flood NSSA both NSSA
1949 area and other area.
1950
1951 * ospf_packet.c (ospf_db_desc_proc): When AS External LSA is
1952 exists in DD packet, make it sure that this area is not stub.
1953 (ospf_ls_upd_list_lsa): When LSA type is NSSA then set lsa's area
1954 to NULL.
1955 (ospf_ls_upd): If the LSA is AS External LSA and the area is stub
1956 then discard the lsa. If the LSA is NSSA LSA and the area is not
1957 NSSA then discard the lsa.
1958
19592000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1960
1961 * ospfd.c (ospf_interface_run): Fix bug of Hello packet's option
1962 is not properly set when interface comes up.
1963
19642000-11-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1965
1966 * ospfd.h (OSPF_OPTION_O): Add new hello header option.
1967
19682000-11-01 Dick Glasspool <dick@ipinfusion.com>
1969
1970 * ospf_lsa.h: Define OSPF_MAX_LSA to 8 when HAVE_NSSA is enabled.
1971 (OSPF_GROUP_MEMBER_LSA): Define OSPF_GROUP_MEMBER_LSA.
1972
1973 * ospf_lsa.c (show_database_desc): Add "Group Membership LSA"
1974 string.
1975
19762000-10-31 Dick Glasspool <dick@ipinfusion.com>
1977
1978 * ospf_lsa.h (OSPF_AS_NSSA_LSA): Define OSPF_AS_NSSA_LSA.
1979
1980 * ospf_lsa.c (show_ip_ospf_database): NSSA database display
1981 function is added. ALIASES which have "show ip ospf database
1982 nssa-external" is added.
1983 (show_ip_ospf_border_routers): New command "show ip ospf
1984 border-routers" is added.
1985
19862000-10-30 Dick Glasspool <dick@ipinfusion.com>
1987
1988 * ospfd.c (router_ospf): NSSA Enabled message is added for
1989 testing.
1990 (ospf_area_type_set): Are type set for NSSA area.
1991 (ospf_area_stub_cmd): Special translation of no_summary into NSSA
1992 and summary information. If NSSA is enabled pass the information
1993 to ospf_area_type_set().
1994 (area_nssa): New commands are added:
1995 "area A.B.C.D nssa"
1996 "area <0-4294967295> nssa"
1997 "area A.B.C.D nssa no-summary"
1998 "area <0-4294967295> nssa no-summary"
1999 (ospf_no_area_stub_cmd): Special translation of no_summary into
2000 NSSA and summary information. If external_routing is
2001 OSPF_AREA_NSSA unset area with ospf_area_type_set (area,
2002 OSPF_AREA_DEFAULT).
2003 (show_ip_ospf_area): Display NSSA status.
2004 (config_write_ospf_area): Show NSSA configuration.
2005
2006 * ospf_packet.c (ospf_hello): For NSSA support, ensure that NP is
2007 on and E is off.
2008
20092000-10-26 Gleb Natapov <gleb@nbase.co.il>
2010
2011 * ospf_lsa.c (ospf_network_lsa_body_set): The network-LSA lists
2012 those routers that are fully adjacent to the Designated Router;
2013 each fully adjacent router is identified by its OSPF Router ID.
2014 The Designated Router includes itself in this list. RFC2328,
2015 Section 12.4.2.
2016
20172000-10-23 Jochen Friedrich <jochen@scram.de>
2018
2019 * ospf_snmp.c: ospf_oid and ospfd_oid are used in smux_open after
2020 it is registered. So those variables must be static.
2021
20222000-10-18 K N Sridhar <sridhar@euler.ece.iisc.ernet.in>
2023
2024 * ospfd.c: Add area_default_cost_decimal_cmd and
2025 no_area_default_cost_decimal_cmd alias.
2026
20272000-10-05 Gleb Natapov <gleb@nbase.co.il>
2028
2029 * ospfd.c (ospf_network_new): Fix setting area format.
2030 (no_router_ospf): Check area existance when calling
2031 ospf_interface_down().
2032
2033 * ospf_flood.c (ospf_external_info_check): Fix bug of refreshing
2034 default route.
2035
20362000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2037
2038 * zebra-0.89 is released.
2039
20402000-09-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2041
2042 * ospf_snmp.c (ospfHostEntry): OSPF Host MIB is implemented.
2043
2044 * ospfd.c (ospf_nbr_static_cmp): OSPF neighbor is sorted by it's
2045 address.
2046
20472000-09-28 Michael Rozhavsky <mike@nbase.co.il>
2048
2049 * ospf_interface.c (ospf_if_free): Fix deleting self neighbor twice.
2050
20512000-09-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2052
2053 * ospf_packet.c (ospf_read): Solaris on x86 has ip_len with host
2054 byte order.
2055
20562000-09-25 Toshiaki Takada <takada@zebra.org>
2057
2058 * ospfd.c (ospf_compatible_rfc1583), (no_ospf_compatible_rfc1583):
2059 Add CISCO compatible command.
2060
20612000-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2062
2063 * ospf_abr.c (ospf_area_range_lookup): New function is added for
2064 area range lookup in OSPF-MIB.
2065 (ospf_area_range_lookup_next): Likewise.
2066
20672000-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2068
2069 * ospfd.c (no_router_ospf): Delete virtual link before deleting
2070 area structure.
2071
2072 * ospf_lsa.c (ospf_external_lsa_refresh_type): Check
2073 EXTERNAL_INFO(type).
2074
2075 * ospfd.c (no_router_ospf): Call ospf_vl_delete() instead of
2076 ospf_vl_data_free().
2077
2078 * ospf_interface.c (ospf_vl_shutdown): Execute ISM_InterfaceDown
2079 when ospf_vl_shutdown is called.
2080 (ospf_vl_delete): Call ospf_vl_shutdown() to delete virtual link
2081 interface's thread.
2082
20832000-09-21 Gleb Natapov <gleb@nbase.co.il>
2084
2085 * ospf_lsa.c: New implementation of OSPF refresh.
2086
20872000-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2088
2089 * ospf_snmp.c (ospfLsdbLookup): Add LSDB MIB implementation.
2090
20912000-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2092
2093 * ospf_snmp.c (ospfStubAreaEntry): Add OSPF stub area MIB.
2094
20952000-09-18 Gleb Natapov <gleb@nbase.co.il>
2096
2097 * ospf_route.h (route_standard): Change member from `struct area'
2098 to area_id.
2099
2100 * ospf_abr.c (ospf_abr_announce_network), (ospf_abr_should_announce),
2101 (ospf_abr_process_network_rt), (ospf_abr_announce_rtr),
2102 (ospf_abr_process_router_rt):
2103 * ospf_ase.c (ospf_find_asbr_route),
2104 (ospf_find_asbr_router_through_area),
2105 * ospf_ia.c (ospf_find_abr_route), (ospf_ia_router_route),
2106 (process_summary_lsa), (ospf_update_network_route),
2107 (ospf_update_router_route):
2108 * ospf_route.c (ospf_intra_route_add), (ospf_intra_add_router),
2109 (ospf_intra_add_transit), (ospf_intra_add_stub),
2110 (ospf_route_table_dump), (show_ip_ospf_route_network),
2111 (show_ip_ospf_route_router), (ospf_asbr_route_cmp),
2112 (ospf_prune_unreachable_routers):
2113 * ospf_spf.c (ospf_rtrs_print):
2114 * ospfd.c (ospf_rtrs_free): Fix the struct change above.
2115
21162000-09-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2117
2118 * ospf_network.c (ospf_serv_sock_init): Enclose SO_BINDTODEVICE
2119 with ifdef.
2120
21212000-09-13 Gleb Natapov <gleb@nbase.co.il>
2122
2123 * ospf_ism.c (ospf_elect_dr), (ospf_elect_bdr): Fix DR election.
2124
2125 * ospf_network.c (ospf_serv_sock_init): Add socket option
2126 SO_BINDTODEVICE on read socket.
2127
2128 * ospf_packet.c (ospf_hello): Ignore Hello packet if E-bit does
2129 not match.
2130
2131 * ospfd.c (ospf_area_check_free), (ospf_area_get),
2132 (ospf_area_add_if): New function added.
2133
21342000-09-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2135
2136 * ospf_route.c (ospf_intra_add_router): Update ABR and ASBR router
2137 count.
2138
2139 * ospf_spf.c (ospf_spf_init): Rest ABR and ASBR router count
2140 starting SPF calculation.
2141
2142 * ospfd.h (struct ospf_area): Add ABR and ASBR router count.
2143
21442000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2145
2146 * ospfd.c (ospf_area_id_cmp): New area structure is sorted by area
2147 ID.
2148
2149 * ospf_lsa.c (ospf_router_lsa_originate): For OSPF MIB update
2150 lsa_originate_count.
2151 (ospf_network_lsa_originate): Likewise.
2152 (ospf_summary_lsa_originate): Likewise.
2153 (ospf_summary_asbr_lsa_originate): Likewise.
2154 (ospf_external_lsa_originate): Likewise.
2155
21562000-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2157
2158 * ospf_snmp.c (ospf_variables): ospfRouterID's type RouterID
2159 syntax is IpAddress.
2160 (ospf_admin_stat): New function for OSPF administrative status
2161 check.
2162
21632000-09-10 Jochen Friedrich <jochen@scram.de>
2164
2165 * ospf_snmp.c: Implement OSPF MIB skeleton.
2166
21672000-09-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2168
2169 * ospf_snmp.c: New file is added.
2170
21712000-09-07 David Lipovkov <davidl@nbase.co.il>
2172
2173 * ospf_zebra.c (ospf_interface_delete): Add pseudo interface
2174 treatment.
2175
2176 * ospf_interface.c (interface_config_write): Likewise.
2177
21782000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2179
2180 * zebra-0.88 is released.
2181
21822000-08-17 Michael Rozhavsky <mike@nbase.co.il>
2183
2184 * ospfd.c (ospf_area_free): Remove virtual link configuration only
2185 when Area is removed.
2186
21872000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2188
2189 * ospfd.c (network_area): Revert check for EXTERNAL_INFO
2190 (ZEBRA_ROUTE_CONNECT).
2191 (no_network_area): Likewise.
2192
21932000-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2194
2195 * ospfd.h (struct ospf): Add distance_table and
2196 distance_{all,intra,inter,external}.
2197
2198 * ospf_zebra.c: Add OSPF distance related functions.
2199
22002000-08-15 Gleb Natapov <gleb@nbase.co.il>
2201
2202 * ospf_asbr.c (ospf_external_info_find_lsa): New function added.
2203
2204 * ospf_lsa.c (ospf_default_external_info),
2205 (ospf_default_originate_timer), (ospf_external_lsa_refresh_default):
2206 New function added.
2207
2208 * ospf_zebra.c
2209 (ospf_default_information_originate_metric_type_routemap),
2210 (ospf_default_information_originate_always_metric_type_routemap):
2211 Change name and add route-map function.
2212 (ospf_default_information_originate_metric_routemap),
2213 (ospf_default_information_originate_routemap),
2214 (ospf_default_information_originate_type_metric_routemap):
2215 New DEFUN added.
2216
22172000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2218
2219 * ospf_zebra.c (zebra_interface_if_set_value): Change ifindex
2220 restore size from two octet to four.
2221
22222000-08-14 Michael Rozhavsky <mike@nbase.co.il>
2223
2224 * ospf_ase.c (ospf_ase_incremental_update): Implement incremental
2225 AS-external-LSA in 16.6 of RFC2328.
2226
22272000-08-14 Matthew Grant <grantma@anathoth.gen.nz>
2228
2229 * ospf_interface.c (ospf_if_get_output_cost): Change cost
2230 calculation algorithm.
2231
2232 * ospf_packet (ospf_ls_upd): Fix problem of LSA retransmitting.
2233
22342000-08-11 Michael Rozhavsky <mike@nbase.co.il>
2235
2236 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix maxage remover for
2237 AS-external-LSAs.
2238
22392000-08-10 Toshiaki Takada <takada@zebra.org>
2240
2241 * ospfd.c (auto_cost_reference_bandwidth): New DEFUN added.
2242 `auto-cost reference-bandwidth' OSPF router command added.
2243
22442000-08-08 Gleb Natapov <gleb@nbase.co.il>
2245
2246 * ospf_routemap.c (ospf_route_map_update): New function added.
2247 Add route-map event hook.
2248
22492000-08-08 Toshiaki Takada <takada@zebra.org>
2250
2251 * ospf_zebra.c (ospf_distribute_check_connected): If redistribute
2252 prefix is connected route on OSPF enabled interface, suppress to
2253 announce it.
2254
22552000-08-08 Matthew Grant <grantma@anathoth.gen.nz>
2256
2257 * ospf_interface.c (ospf_if_get_output_cost):
2258 New function added. Handle bandwidth parameter for cost
2259 calculation.
2260
22612000-08-08 Michael Rozhavsky <mike@nbase.co.il>
2262
2263 * ospf_interface.c (interface_config_write): Show interface
2264 configuration regardless interface is down.
2265
2266 * ospf_ase.c (ospf_ase_caocluate_route): Whole rewritten external
2267 route calculate function.
2268
22692000-08-08 Gleb Natapov <gleb@nbase.co.il>
2270
2271 * ospf_routemap.c: New file added.
2272
2273 * ospf_asbr.c (ospf_reset_route_map_set_values),
2274 (ospf_route_map_set_compare): New function added.
2275
2276 * ospf_lsa.c (ospf_external_lsa_body_set): Set routemap metric
2277 with AS-external-LSA.
2278
22792000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2280
2281 * ospf_ase.c (ospf_ase_calculate_route_add): Pass new->cost to
2282 ospf_zebra_add as metric.
2283 (ospf_ase_calculate_route_add): Likewise.
2284
2285 * ospf_route.c (ospf_route_install): Pass or->cost to
2286 ospf_zebra_add as metric.
2287
2288 * ospf_zebra.c (ospf_zebra_add): Add metric arguemnt.
2289 (ospf_zebra_delete): Likewise.
2290
22912000-08-03 Matthew Grant <grantma@anathoth.gen.nz>
2292
2293 * ospf_flood.c (ospf_flood_delayed_lsa_ack): New function added.
2294 Dispatch delayed-ACK with flooding AS-external-LSA across virtual
2295 link.
2296
22972000-07-31 Matthew Grant <grantma@anathoth.gen.nz>
2298
2299 * ospfd.c (show_ip_ospf_area): Fix lack of VTY_NEWLINE when
2300 `show ip ospf'.
2301
2302 * ospf_interface.c (ospf_if_free): Fix bug of crash with
2303 Point-to-Point interface.
2304
23052000-07-27 Michael Rozhavsky <mike@nbase.co.il>
2306
2307 * ospf_flood.c (ospf_process_self_originated_lsa):
2308 Make sure to clear LSA->param (redistributed external information)
2309 before refreshment.
2310
23112000-07-27 Gleb Natapov <gleb@nbase.co.il>
2312
2313 * ospfd.c (refresh_group_limit), (refresh_per_slice),
2314 (refresh_age_diff): New defun added. Refresher related parameter
2315 can be configurable.
2316
23172000-07-27 Akihiro Mizutani <mizutani@dml.com>
2318
2319 * ospf_interface.c (interface_config_write): Print `description'
2320 config directive to work.
2321
23222000-07-24 Akihiro Mizutani <mizutani@dml.com>
2323
2324 * ospf_interface.c (ospf_if_init): Use install_default for
2325 INTERFACE_NODE.
2326
23272000-07-24 Gleb Natapov <gleb@nbase.co.il>
2328
2329 * ospf_packet.c (ospf_ls_upd_send_list), (ospf_ls_upd_send_event),
2330 (ospf_ls_ack_send_list), (ospf_ls_ack_send_event): New function added.
2331 This make sending always as many LS update/Ack combined in one ospf
2332 packet.
2333
23342000-07-24 Gleb Natapov <gleb@nbase.co.il>
2335
2336 * ospf_packet.c (ospf_ls_upd_list_lsa): Set NULL to lsa->area if
2337 LSA is AS-external-LSA.
2338
2339 * ospf_nsm.c (nsm_reset_nbr): Do not cancel Inactivity timer.
2340
23412000-07-21 Toshiaki Takada <takada@zebra.org>
2342
2343 * ospf_zebra.c (ospf_default_originate_timer): Set timer for
2344 `default-information originate'. Fix some default originate
2345 related functions.
2346
23472000-07-12 Toshiaki Takada <takada@zebra.org>
2348
2349 * ospf_lsa.c (stream_put_ospf_metric): New function added.
2350
23512000-07-12 Toshiaki Takada <takada@zebra.org>
2352
2353 * ospf_lsa.c (show_ip_ospf_database_router),
2354 (show_ip_ospf_database_network), (show_ip_ospf_database_summary),
2355 (show_ip_ospf_database_summary_asbr), (show_ip_ospf_database_externel),
2356 (show_router_lsa), (show_any_lsa), (show_router_lsa_self),
2357 (show_any_lsa_self): Functions removed.
2358
2359 (show_lsa_prefix_set), (show_lsa_detail_proc), (show_lsa_detail),
2360 (show_lsa_detail_adv_router_proc), (show_lsa_detail_adv_router):
2361 New functions added. Replace above functions.
2362
2363 (show_ip_ospf_database_all), (show_ip_ospf_database_self_originated):
2364 Functions removed.
2365 (show_ip_ospf_database_summary): New functions added. Replace
2366 above functions.
2367
2368 (show_ip_ospf_database_cmd): DEFUN rearranged.
2369 (show_ip_ospf_database_type_id_cmd),
2370 (show_ip_ospf_database_type_id_adv_router_cmd),
2371 (show_ip_ospf_database_type_is_self_cmd): New ALIASes added.
2372 (show_ip_ospf_database_type_adv_rotuer_cmd): New DEFUN added.
2373 (show_ip_ospf_database_type_self_cmd): New ALIAS added.
2374
23752000-07-11 Toshiaki Takada <takada@zebra.org>
2376
2377 * ospf_asbr.c (ospf_external_info_new),
2378 (ospf_external_info_free): New functions added.
2379
2380 * ospf_lsa.h (ospf_lsa): Add new member `void *param' to set
2381 origination parameter for external-LSA.
2382 Remove member `redistribute'.
2383
2384 * ospf_zebra.c (ospf_redistirbute_set): When `redistribute'
2385 command executed, metric and metric-type values are overridden.
2386 If one of those is changed refresh AS-external-LSAs for appropriate
2387 type.
2388
23892000-07-11 Michael Rozhavsky <mike@nbase.co.il>
2390
2391 * ospf_lsa.c (ospf_summary_lsa_refresh),
2392 (ospf_summary_asbr_lsa_refresh): Make sure to refresh summary-LSAs.
2393
2394 * ospf_abr.c (set_metric): New function added.
2395
23962000-07-07 Toshiaki Takada <takada@zebra.org>
2397
2398 * ospf_zebra.c (ospf_default_information_originate_metric_type),
2399 (ospf_default_information_originate_type_metric): New defun added.
2400 Metic and Metric type can be set to default route.
2401 (ospf_default_information_originate_always_metric_type):
2402 (ospf_default_information_originate_always_type_metric):
2403 New defun added. Metric and Metric type can be set to default
2404 always route.
2405
2406 * ospf_zebra.c (ospf_default_metric), (no_ospf_default_metric):
2407 New defun added.
2408
24092000-07-06 Gleb Natapov <gleb@nbase.co.il>
2410
2411 * ospf_flood.c (ospf_flood_through_area): Fix bug of considering
2412 on the same interface the LSA was received from.
2413
24142000-07-06 Michael Rozhavsky <mike@nbase.co.il>
2415
2416 * ospfd.c (ospf_config_write): Fix bug of printing `area stub'
2417 command with `write mem'.
2418
2419 * ospfd.c (no_router_ospf): Remove installed routes from zebra.
2420
2421 * ospf_zebra.c (ospf_interface_delete): Fix function to handle
2422 zebra interface delete event.
2423
24242000-07-06 Toshiaki Takada <takada@zebra.org>
2425
2426 * ospf_zebra.c (ospf_default_information_originate),
2427 (ospf_default_information_originate_always): New DEFUN added.
2428
24292000-07-05 Michael Rozhavsky <mike@nbase.co.il>
2430
2431 * ospf_route.c (ospf_terminate): Make sure to remove external route
2432 when SIGINT received.
2433
24342000-07-03 Gleb Natapov <gleb@nbase.co.il>
2435
2436 * ospf_flood.c, ospf_ism.c, ospf_lsa,c, ospfd.c: Make sure to free
2437 many structure with `no router ospf'.
2438
24392000-06-30 Gleb Natapov <gleb@nbase.co.il>
2440
2441 * ospf_neighbor.c (ospf_nbr_new),
2442 ospf_nsm.c (nsm_timer_set): Start LS update timer only
2443 when neighbor enters Exchange state.
2444
24452000-06-29 Gleb Natapov <gleb@nbase.co.il>
2446
2447 * ospf_nsm.c (nsm_timer_set), (nsm_exchange_done),
2448 ospf_packet.c (ospf_db_desc_proc):
2449 Do not cancel DD retransmit timer when Master.
2450
24512000-06-29 Gleb Natapov <gleb@nbase.co.il>
2452
2453 * ospf_abr.c (ospf_abr_announce_network_to_area),
2454 (ospf_abr_announce_rtr_to_area)
2455 ospf_ase.c (ospf_ase_rtrs_register_lsa),
2456 ospf_flood.c (ospf_process_self_originated_lsa),
2457 (ospf_flood_through_area), (ospf_ls_request_delete),
2458 ospf_interface.c (ospf_if_free),
2459 ospf_ism.c (ism_change_status),
2460 ospf_lsa.c (ospf_router_lsa_update_timer),
2461 (ospf_router_lsa_install), (ospf_network_lsa_install),
2462 (ospf_lsa_maxage_delete), (ospf_lsa_action),
2463 (ospf_schedule_lsa_flood_area),
2464 ospf_nsm.c (nsm_change_status),
2465 ospf_packet.c (ospf_make_ls_req_func), (ospf_make_ls_ack):
2466 Use ospf_lsa_{lock,unlock} for all looking-up of LSA.
2467
2468 * ospf_flood.c (ospf_ls_request_free): Function deleted.
2469
2470 * ospf_lsa.c (ospf_discard_from_db): New function added.
2471
24722000-06-26 Toshiaki Takada <takada@zebra.org>
2473
2474 * ospfd.h (ospf): struct member `external_lsa' name changed to
2475 `lsdb'.
2476
24772000-06-26 Toshiaki Takada <takada@zebra.org>
2478
2479 * ospf_lsa.c (ospf_lsa_install), (ospf_router_lsa_install),
2480 (ospf_network_lsa_install), (ospf_summary_lsa_install),
2481 (ospf_summary_asbr_lsa_install), (ospf_external_lsa_install):
2482 Functions re-arranged.
2483
2484 * ospf_lsa.c (IS_LSA_MAXAGE), (IS_LSA_SELF): Macro added.
2485
24862000-06-20 Michael Rozhavsky <mike@nbase.co.il>
2487
2488 * ospf_packet.c (ospf_ls_req), (ospf_ls_upd), (ospf_ls_ack): Add
2489 verification of LS type.
2490
24912000-06-20 Gleb Natapov <gleb@nbase.co.il>
2492
2493 * ospf_ase.c (ospf_ase_calculate_timer): Add more sanity check
2494 whether rn->info is NULL.
2495
24962000-06-20 Toshiaki Takada <takada@zebra.org>
2497
2498 * ospfd.c (show_ip_ospf_interface_sub): Show Router-ID of both
2499 DR and Backup correctly with `show ip ospf interface' command.
2500
25012000-06-20 Toshiaki Takada <takada@zebra.org>
2502
2503 * ospf_lsa.c (ospf_lsa_lock), (ospf_lsa_unlock),
2504 (ospf_lsa_discard): These functions are used for avoiding
2505 unexpected reference to freed LSAs.
2506
25072000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2508
2509 * ospf_packet.c (ospf_ls_upd): Initialize lsa by NULL to avoid
2510 warning.
2511
25122000-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2513
2514 * ospf_ase.h (ospf_ase_rtrs_register_lsa): Add prototype.
2515
25162000-06-12 Toshiaki Takada <takada@zebra.org>
2517
2518 * ospf_lsa.c (ospf_external_lsa_install): Make sure to register
2519 LSA to rtrs_external when replacing AS-external-LSAs in LSDB.
2520 Fix core dump.
2521
25222000-06-10 Toshiaki Takada <takada@zebra.org>
2523
2524 * ospf_lsdb.c (id_to_prefix), (ospf_lsdb_hash_key),
2525 (ospf_lsdb_hash_cmp), (ospf_lsdb_new), (ospf_lsdb_iterator),
2526 (lsdb_free), (ospf_lsdb_free), (ospf_lsdb_add), (ospf_lsdb_delete),
2527 (find_lsa), (ospf_lsdb_lookup), (find_by_id),
2528 (ospf_lsdb_lookup_by_id), (ospf_lsdb_lookup_by_header): Functinos
2529 removed for migration to new_lsdb.
2530
2531 * ospf_lsa.c (ospf_summary_lsa_install),
2532 (ospf_summary_asbr_lsa_install), (ospf_maxage_lsa_remover),
2533 (ospf_lsa_maxage_walker), (ospf_lsa_lookup),
2534 (ospf_lsa_lookup_by_id): Use new_lsdb instead of ospf_lsdb.
2535 (count_lsa), (ospf_lsa_count_table), (ospf_lsa_count),
2536 (ospf_get_free_id_for_prefix): Funcitions removed.
2537
25382000-06-09 Gleb Natapov <gleb@nbase.co.il>
2539
2540 * ospf_ism.c (ism_interface_down): Prevent some unneeded DR changes.
2541
2542 * ospf_packet.c (ospf_db_desc_proc): Fix memory leak.
2543 (ospf_hello): Always copy router-ID when hello is received.
2544
25452000-06-08 Gleb Natapov <gleb@nbase.co.il>
2546
2547 * ospf_lsa.h (struct ospf_lsa): Add member of pointer to struct
2548 ospf_area.
2549
25502000-06-08 Michael Rozhavsky <mike@nbase.co.il>
2551
2552 * ospf_ase.c (ospf_asbr_route_same): New function added.
2553 This function makes sure external route calculation more
2554 precisely.
2555
25562000-06-07 Michael Rozhavsky <mike@nbase.co.il>
2557
2558 * ospf_ism.c (ism_change_status): Use ospf_lsa_flush_area for
2559 network-LSA deletion instead of using ospf_lsdb_delete.
2560 Also cancel network-LSA origination timer.
2561
25622000-06-07 Levi Harper <lharper@kennedytech.com>
2563
2564 * ospf_interface.c (ospf_if_down): Close read fd when an interface
2565 goes down.
2566
25672000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2568
2569 * ospf_asbr.c (ospf_external_info_lookup): Add explicit brace for
2570 avoid ambiguous else.
2571
2572 * ospf_flood.c (ospf_external_info_check): Likewise.
2573
25742000-06-05 Toshiaki Takada <takada@zebra.org>
2575
2576 * ospf_nsm.c (nsm_adj_ok): Fix bug of DR election.
2577
25782000-06-04 Toshiaki Takada <takada@zebra.org>
2579
2580 * ospf_zebra.c (ospf_default_information_originate),
2581 (no_ospf_default_information_originate): New DEFUN added.
2582
25832000-06-03 Toshiaki Takada <takada@zebra.org>
2584
2585 * ospf_lsa.h, ospf_asbr.h (external_info): Struct moved from
2586 ospf_lsa.h to ospf_asbr.h.
2587
2588 * ospf_lsa.c, ospf_asbr.c (ospf_external_info_add),
2589 (ospf_external_info_delete): Function moved from ospf_lsa.c
2590 to ospf_asbr.c.
2591
25922000-06-03 Toshiaki Takada <takada@zebra.org>
2593
2594 * ospf_flood.c (ospf_external_info_check): New function added.
2595 (ospf_process_self_orignated_lsa): Make sure to flush
2596 self-originated AS-external-LSA, when router reboot and no longer
2597 originate those AS-external-LSA.
2598
25992000-06-02 Toshiaki Takada <takada@zebra.org>
2600
2601 * ospf_network.c (ospf_serv_sock): Remove SO_DONTROUTE
2602 socket option.
2603
2604 * ospf_packet.c (ospf_write): Set MSG_DONTROUTE flag for
2605 unicast destination packets.
2606
26072000-06-02 Toshiaki Takada <takada@zebra.org>
2608
2609 * ospf_lsdb.c (new_lsdb_delete): Delete entry from LSDB only when
2610 specified LSA matches.
2611
26122000-06-02 Gleb Natapov <gleb@nbase.co.il>
2613
2614 * ospf_network.c (ospf_serv_sock): Set SO_DONTROUTE
2615 socket option.
2616
26172000-06-01 Akihiro Mizutani <mizutani@dml.com>
2618
2619 * ospf_dump.c: Replace string `Debugging functions\n' with DEBUG_STR.
2620 Replace string `OSPF information\n' with OSPF_STR.
2621
26222000-06-01 Toshiaki Takada <takada@zebra.org>
2623
2624 * ospf_lsdb.[ch]: Use new_lsdb struct for network-LSA instead of
2625 ospf_lsdb.
2626
26272000-06-01 Toshiaki Takada <takada@zebra.org>
2628
2629 * ospf_dump.c (config_debug_ospf_packet), (config_debug_ospf_event),
2630 (config_debug_ospf_ism), (config_debug_ospf_nsm),
2631 (config_debug_ospf_lsa), (config_debug_ospf_zebra),
2632 (term_debug_ospf_packet), (term_debug_ospf_event),
2633 (term_debug_ospf_ism), (term_debug_ospf_nsm),
2634 (term_debug_ospf_lsa), (term_debug_ospf_zebra): Repalce debug_ospf_*
2635 variable to use for debug option flags.
2636
2637 (debug_ospf_packet), (debug_ospf_ism), (debug_ospf_nsm),
2638 (debug_ospf_lsa), (debug_ospf_zebra): Set {config,term}_debug_*
2639 flags when vty->node is CONFIG_NODE, otherwise set only term_debug_*
2640 flags.
2641
2642 * ospf_dump.h (CONF_DEBUG_PACKET_ON), (CONF_DEBUG_PACKET_OFF),
2643 (TERM_DEBUG_PACKET_ON), (TERM_DEBUG_PACKET_OFF),
2644 (CONF_DEBUG_ON), (CONF_DEBUG_OFF), (IS_CONF_DEBUG_OSPF_PACKET),
2645 (IS_CONF_DEBUG_OSPF): New Macro added.
2646
26472000-05-31 Toshiaki Takada <takada@zebra.org>
2648
2649 * ospfd.c (clear_ip_ospf_neighbor): New DEFUN added.
2650 Currently this command is used for only debugging.
2651
2652 * ospf_nsm.c (nsm_change_status): Make sure thread cancellation
2653 for network-LSA when DR has no full neighbors.
2654
2655 * ospf_nsm.c (ospf_db_summary_clear): New function added.
2656
26572000-05-30 Toshiaki Takada <takada@zebra.org>
2658
2659 * ospf_lsdb.c (new_lsdb_insert): LSAs are always freed by
2660 maxage_lsa_remover when LSA is replaced.
2661
26622000-05-25 Gleb Natapov <gleb@nbase.co.il>
2663
2664 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all): Add argument
2665 `struct ospf_area' to remove LSA from Link State retransmission list
2666 of neighbor from only one Area.
2667
26682000-05-24 Michael Rozhavsky <mike@nbase.co.il>
2669
2670 * ospf_lsdb.c (ospf_lsdb_add): Preserve flags field when
2671 overriting old LSA with new LSA.
2672
26732000-05-24 Gleb Natapov <gleb@nbase.co.il>
2674
2675 * ospf_lsa.c (ospf_router_lsa_body_set): Fix bug of router-LSA
2676 size calculation.
2677
26782000-05-22 Michael Rozhavsky <mike@nbase.co.il>
2679
2680 * ospf_route.c (ospf_intra_add_stub):
2681 * ospf_spf.h (struct vertex): Use u_int32_t for distance (cost)
2682 value instead of u_int16_t.
2683
26842000-05-22 Axel Gerlach <agerlach@datus.datus.com>
2685
2686 * ospf_ia.c (ospf_ia_network_route): Fix bug of Inter-area route
2687 equal cost path calculation.
2688
26892000-05-21 Toshiaki Takada <takada@zebra.org>
2690
2691 * ospf_ase.c (ospf_ase_calculate_route_delete): New function added.
2692 Make sure, when rotuer route is deleted, related external routes
2693 are also deleted.
2694
26952000-05-20 Toshiaki Takada <takada@zebra.org>
2696
2697 * ospfd.c (ospf_interface_down): Make sure interface flag is disable
2698 and set fd to -1.
2699
27002000-05-16 Toshiaki Takada <takada@zebra.org>
2701
2702 * ospf_asbr.c (ospf_asbr_should_announce), (ospf_asbr_route_remove):
2703 Functions removed.
2704
2705 * ospfd.h (EXTERNAL_INFO): Macro added.
2706 Substitute `ospf_top->external_info[type]' with it.
2707
27082000-05-16 Toshiaki Takada <takada@zebra.org>
2709
2710 * ospf_lsa.c (ospf_rtrs_external_remove): New function added.
2711
27122000-05-14 Gleb Natapov <gleb@nbase.co.il>
2713
2714 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all)
2715 * ospf_lsdb.c (new_lsdb_insert)
2716 * ospf_packet.c (ospf_ls_ack): Fix database synchonization problem.
2717
27182000-05-14 Gleb Natapov <gleb@nbase.co.il>
2719
2720 * ospf_lsa.h (tv_adjust), (tv_ceil), (tv_floor), (int2tv),
2721 (tv_add), (tv_sub), (tv_cmp): Prototype definition added.
2722
2723 * ospf_nsm.h (ospf_db_summary_delete_all): Prototype definition added.
2724
27252000-05-13 Toshiaki Takada <takada@zebra.org>
2726
2727 * ospf_lsa.[ch] (ospf_lsa): struct timestamp type is changed from
2728 time_t to struct timeval.
2729 (tv_adjust), (tv_ceil), (tv_floor), (int2tv), (tv_add),
2730 (tv_sub), (tv_cmp): timeval utillity functions added.
2731
27322000-05-12 Toshiaki Takada <takada@zebra.org>
2733
2734 * ospf_lsa.[ch] (ospf_schedule_update_router_lsas): Delete function.
2735 Change to use macro OSPF_LSA_UPDATE_TIMER instead of using
2736 this function.
2737 router-LSA refresh timer related stuff is re-organized.
2738
27392000-05-10 Gleb Natapov <gleb@nbase.co.il>
2740
2741 * ospf_interface.c (ospf_vl_set_params):
2742 * ospf_packet.c (ospf_check_network_mask):
2743 * ospf_spf.[ch] (ospf_spf_next):
2744 Remove field address from `struct vertex', and search for peer
2745 address of virtual link in function `ospf_vl_set_params' instead.
2746
27472000-05-10 Gleb Natapov <gleb@nbase.co.il>
2748
2749 * ospf_packet.c (ospf_ls_upd): Fix some memory leak related LSA.
2750
27512000-05-08 Thomas Molkenbur <tmo@datus.com>
2752
2753 * ospf_packet.c (ospf_packet_dup): Replace ospf_steram_copy()
2754 with ospf_stream_dup() to fix memory leak.
2755
27562000-05-08 Michael Rozhavsky <mike@nbase.co.il>
2757
2758 * ospf_flood.c (ospf_flood_through_area): Fix the problem of
2759 LSA update without DROther.
2760
27612000-05-04 Gleb Natapov <gleb@nbase.co.il>
2762
2763 * ospf_spf.c (ospf_vertex_free): Fix memory leak of SPF calculation.
2764
27652000-05-03 Toshiaki Takada <takada@zebra.org>
2766
2767 * ospf_neighbor.c (ospf_db_summary_add): Use new_lsdb struct
2768 instead linked-list.
2769 (ospf_db_summary_count), (ospf_db_summary_isempty):
2770 New function added.
2771
2772 * ospf_lsa.c (ospf_rotuer_lsa): Re-arrange and divide functions.
2773
27742000-05-02 Gleb Natapov <gleb@nbase.co.il>
2775
2776 * ospf_lsdb.c (new_lsdb_cleanup): Fix memory leak. When LSDB are
2777 not needed any more, then free them.
2778
27792000-05-02 Toshiaki Takada <takada@zebra.org>
2780
2781 * ospfd.c (timers_spf), (no_timers_spf): New defun added.
2782 SPF calculation timers related stuff is rearranged.
2783
2784 * ospf_spf.c (ospf_spf_calculate_timer_add): Function removed.
2785 SPF timer is scheduled by SPF calculation delay and holdtime
2786 configuration variable.
2787
2788 * ospf_lsa.c (ospf_external_lsa_nexthop_get): Set AS-external-LSA's
2789 forwarding address when nexthop learned by other protocols is
2790 in the OSPF domain.
2791
2792 * ospf_zebra.c (ospf_redistribute_source_metric_type),
2793 (ospf_redistribute_source_type_metric): Re-arrange DEFUNs and
2794 ALIASes.
2795
27962000-05-01 Toshiaki Takada <takada@zebra.org>
2797
2798 * ospf_flood.c (ospf_ls_retransmit_count),
2799 (ospf_ls_retransmit_isempty): New function added.
2800
2801 (ospf_ls_retransmit_add), (ospf_ls_retransmit_delete),
2802 (ospf_ls_retransmit_clear), (ospf_ls_retransmit_lookup),
2803 (ospf_ls_retransmit_delete_all), (ospf_ls_retransmit_delete_nbr_all),
2804 (ospf_ls_retransmit_add_nbr_all): Replace these functions to use
2805 new_lsdb.
2806
28072000-04-29 Toshiaki Takada <takada@zebra.org>
2808
2809 * ospfd.c (no_network_area): Add check Area-ID whether specified
2810 Area-ID with prefix matches config.
2811
28122000-04-27 Toshiaki Takada <takada@zebra.org>
2813
2814 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix problem of
2815 remaining withdrawn routes on zebra.
2816
28172000-04-25 Michael Rozhavsky <mike@nbase.co.il>
2818
2819 * ospf_nsm.c (nsm_kill_nbr), (nsm_ll_down), (nsm_change_status),
2820 (ospf_nsm_event): Fix network-LSA re-origination problem.
2821
28222000-04-24 Toshiaki Takada <takada@zebra.org>
2823
2824 * ospf_nsm.c (ospf_db_desc_timer): Fix bug of segmentation fault
2825 with DD retransmission.
2826
2827 * ospf_nsm.c (nsm_kill_nbr): Fix bug of re-origination when
2828 a neighbor disappears.
2829
28302000-04-23 Michael Rozhavsky <mike@nbase.co.il>
2831
2832 * ospf_abr.c (ospf_abr_announce_network_to_area): Fix bug of
2833 summary-LSAs reorigination. Correctly copy OSPF_LSA_APPROVED
2834 flag to new LSA. when summary-LSA is reoriginatd.
2835
2836 * ospf_flood.c (ospf_flood_through_area): Fix bug of flooding
2837 procedure. Change the condition of interface selection.
2838
28392000-04-21 Toshiaki Takada <takada@zebra.org>
2840
2841 * ospf_lsa.c (ospf_refresher_register_lsa): Fix bug of refresh never
2842 occurs.
2843
2844 * ospfd.c (show_ip_ospf_neighbor_id): New defun added.
2845 `show ip ospf neighbor' related commands are re-arranged.
2846
28472000-04-20 Toshiaki Takada <takada@zebra.org>
2848
2849 * ospf_dump.c (debug_ospf_zebra): New defun added.
2850 Suppress zebra related debug information.
2851
28522000-04-19 Toshiaki Takada <takada@zebra.org>
2853
2854 * ospf_zebra.c (ospf_distribute_list_update_timer),
2855 (ospf_distribute_list_update), (ospf_filter_update):
2856 New function added. Re-organize `distribute-list' router ospf
2857 command.
2858
28592000-04-13 Michael Rozhavsky <mike@nbase.co.il>
2860
2861 * ospf_packet.c (ospf_make_ls_upd): Add check for MAX_AGE.
2862
28632000-04-14 Michael Rozhavsky <mike@nbase.co.il>
2864
2865 * ospf_packet.c (ospf_make_ls_upd): Increment LS age by configured
2866 interface transmit_delay.
2867
28682000-04-14 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
2869
2870 * ospf_interface.c (ip_ospf_cost), (no_ip_ospf_cost):
2871 Add to schedule router_lsa origination when the interface cost changes.
2872
28732000-04-12 Toshiaki Takada <takada@zebra.org>
2874
2875 * ospf_lsa.c (ospf_refresher_register_lsa),
2876 (ospf_refresher_unregister_lsa): Fix bug of core dumped.
2877
2878 * ospfd.c (no_router_ospf): Fix bug of core dumped.
2879
28802000-03-29 Toshiaki Takada <takada@zebra.org>
2881
2882 * ospf_nsm.c (nsm_oneway_received): Fix bug of MS flag unset.
2883
28842000-03-29 Michael Rozhavsky <mike@nbase.co.il>
2885
2886 * ospf_lsa.c (ospf_network_lsa):
2887 * ospf_nsm.c (ospf_nsm_event): Fix bug of Network-LSA originated
2888 in stub network.
2889
28902000-03-28 Toshiaki Takada <takada@zebra.org>
2891
2892 * ospf_nsm.c (nsm_bad_ls_req), (nsm_seq_number_mismatch),
2893 (nsm_oneway_received): Fix bug of NSM state flapping between
2894 ExStart and Exchange.
2895
28962000-03-28 Toshiaki Takada <takada@zebra.org>
2897
2898 * ospf_packet.h (strcut ospf_header): Fix the size of ospf_header,
2899 change u_int8_t to u_char.
2900
29012000-03-27 Toshiaki Takada <takada@zebra.org>
2902
2903 * ospf_lsa.c (ospf_lsa_checksum): Take care of BIGENDIAN architecture.
2904
29052000-03-27 Toshiaki Takada <takada@zebra.org>
2906
2907 * ospfd.c (ospf_interface_run): Make sure Address family matches.
2908
29092000-03-26 Love <lha@s3.kth.se>
2910
2911 * ospf_packet.c (ospf_write): Chack result of sendto().
2912
29132000-03-26 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
2914
2915 * ospf_nsm.c (nsm_oneway_received): Fix bug of 1-WayReceived in NSM.
2916
29172000-03-23 Libor Pechacek <farco@clnet.cz>
2918
2919 * ospf_lsa.c (ospf_network_lsa)
2920 * ospf_lsdb.c (new_lsdb_insert): Fix bug of accessing to
2921 unallocated memory.
2922
29232000-03-23 Toshiaki Takada <takada@zebra.org>
2924
2925 * ospfd.c (ospf_config_write): Fix bug of duplicate line for
2926 `area A.B.C.D authentication'.
2927
29282000-03-22 Toshiaki Takada <takada@zebra.org>
2929
2930 * ospf_debug.c (debug_ospf_lsa), (no_debug_ospf_lsa): Defun added.
2931 Suppress all zlog related to LSAs with this config option.
2932
29332000-03-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2934
2935 * ospf_nsm.c (ospf_nsm_event): Add check for NSM_InactivityTimer.
2936
29372000-03-21 Toshiaki Takada <takada@zebra.org>
2938
2939 * ospf_packet.c (ospf_ls_upd_timer), (ospf_ls_req):
2940 Fix bug of memory leak about linklist.
2941
2942 * ospf_flood.c (ospf_flood_through_area): Likewise.
2943
29442000-03-18 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
2945
2946 * ospf_flood.c (ospf_ls_retransmit_lookup): Add checksum comparison
2947 to identify LSA uniquely. This fix routes lost.
2948
29492000-03-18 Toshiaki Takada <takada@zebra.org>
2950
2951 * ospf_ase.c (ospf_find_asbr_route): Add sanity check with router
2952 routing table.
2953
29542000-03-17 Alex Zinin <zinin@amt.ru>
2955
2956 * ospf_spf.[ch]: Bug fix.
2957 The 2nd stage of Dijkstra could consider one vertex
2958 more than once if there is more than one link
2959 between the routers, thus adding extra CPU overhead
2960 and extra next-hops.
2961 Fixed.
2962
29632000-03-15 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
2964
2965 * ospf_nsm.c (nsm_inactivity_timer): Changed to call nsm_kill_nbr().
2966
29672000-03-14 Toshiaki Takada <takada@zebra.org>
2968
2969 * ospf_route.c (ospf_route_copy_nexthops): Fix bug of memory leak of
2970 ospf_path. Actually ignore merging ospf_route with completely same
2971 paths.
2972
29732000-03-12 Toshiaki Takada <takada@zebra.org>
2974
2975 * ospf_lsa.c (show_as_external_lsa_detail): fix bug of
2976 external route tag byte order.
2977
29782000-03-11 Toshiaki Takada <takada@zebra.org>
2979
2980 * ospf_lsdb.c (ospf_lsdb_insert): New function added.
2981
29822000-03-09 Toshiaki Takada <takada@zebra.org>
2983
2984 * ospf_lsa.c (ospf_external_lsa_install),
2985 (ospf_lsa_lookup), (show_ip_ospf_database_all),
2986 (show_ip_ospf_database_self_originate): Use struct new_lsdb for
2987 LSDB of AS-external-LSAs instead of ospf_lsdb.
2988
2989 * ospf_lsa.c (ospf_lsa_unique_id): New function added.
2990 Use for assigning Unique Link State ID instead of
2991 ospf_get_free_id_for_prefix().
2992
29932000-03-09 Toshiaki Takada <takada@zebra.org>
2994
2995 * ospf_ase.c (ospf_ase_calculate_timer): Fix bug of segmentation
2996 fault reported by George Bonser <george@siteROCK.com>.
2997
29982000-03-07 Libor Pechacek <farco@clnet.cz>
2999
3000 * ospfd.c (ospf_interface_down): Fix bug of segmentation fault.
3001
30022000-03-06 Toshiaki Takada <takada@zebra.org>
3003
3004 * ospf_route.c (ospf_route_cmp): Change meaning of return values.
3005
30062000-03-02 Alex Zinin <zinin@amt.ru>
3007 * ospfd.h, ospf_ia.h
3008 New Shortcut ABR code. Now area's flag can be configured
3009 with Default, Enable, and Disable values.
3010 More info will be in the new ver of I-D soon (see IETF web).
3011
30122000-02-25 Toshiaki Takada <takada@zebra.org>
3013
3014 * ospf_lsa.c (ospf_lsa_header_set), (ospf_external_lsa_body_set),
3015 (osfp_external_lsa_originate), (ospf_external_lsa_queue),
3016 (ospf_external_lsa_originate_from_queue): New function added.
3017 (ospf_external_lsa): Function removed.
3018
3019 * ospf_zebra.c (ospf_zebra_read_ipv4): Originate AS-external-LSA
3020 when listen a route from Zebra, instead creating external route.
3021
3022 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
3023 (ospf_asbr_route_add_queue_lsa),
3024 (ospf_asbr_route_install_lsa), (ospf_asbr_route_add):
3025 Functions removed.
3026
3027 * ospf_ase.c (process_ase_lsa): Function will not be used.
3028 (ospf_ase_calculate), (ospf_ase_calculate_route_add),
3029 (ospf_ase_calculate_new_route), (ospf_ase_caluculate_asbr_route):
3030 process_ase_lsa () is separated to these functions.
3031
3032 OSPF AS-external-LSA origination is whole re-organized.
3033
30342000-02-18 Toshiaki Takada <takada@zebra.org>
3035
3036 * ospf_packet.c (ospf_ls_upd): Fix bug of OSPF LSA memory leak.
3037
3038 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
3039 (ospf_asbr_route_add_queue_lsa): Fix bug of OSPF external route
3040 memory leak.
3041
30422000-02-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3043
3044 * ospf_asbr.c (ospf_asbr_route_install_lsa): Re-calculate LSA
3045 checksum after change Advertised Router field.
3046
30472000-02-09 Toshiaki Takada <takada@zebra.org>
3048
3049 * ospf_asbr.c (ospf_external_route_lookup): Add new function.
3050
30512000-02-08 Toshiaki Takada <takada@zebra.org>
3052
3053 * ospfd.c (ospf_router_id_get), (ospf_router_id_update),
3054 (ospf_router_id_update_timer): Router ID decision algorithm is changed.
3055 Router ID is chosen from all of eligible interface addresses even if
3056 it is not enable to OSPF.
3057
30582000-02-08 Toshiaki Takada <takada@zebra.org>
3059
3060 * ospf_asbr.c (ospf_asbr_route_add): Function divided to
3061 ospf_asbr_route_add_flood_lsa, ospf_asbr_route_add_queue_lsa and
3062 ospf_asbr_route_install_lsa. If Router-ID is not set, then LSA is
3063 waited to install to LSDB.
3064 `0.0.0.0 adv_router' AS-external-LSA origination bug was fixed.
3065
30662000-02-01 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3067
3068 * ospf_flood.c (ospf_ls_retransmit_lookup): Compare LS seqnum
3069 in the ACK before deleting.
3070
3071 * ospf_packet.c (ospf_hello): Reset the flags after a shutdown
3072 and no shutdown of the interface.
3073
30742000-01-31 Toshiaki Takada <takada@zebra.org>
3075
3076 * ospf_packet.c (ospf_ls_req): Send multiple Link State Update
3077 packets respond to a Link State Request packet.
3078
3079 * ospfd.c (show_ip_ospf_neighbor_detail_sub): Show thread state.
3080
3081 * ospf_interface.c (ospf_vl_new): Crash when backbone area
3082 is not configured and set virtual-link to no-backbone area,
3083 bug fixed.
3084
30852000-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3086
3087 * ospf_neighbor.h (struct ospf_neighbor): Add pointer to last send
3088 LS Request LSA.
3089
3090 * ospf_packet.c (ospf_ls_upd): Comment out LS request list
3091 treatment. That should be done in OSPF flooding procedure.
3092
3093 * ospf_flood.c (ospf_flood_through_area): Enclose
3094 ospf_check_nbr_loding inside if-else close.
3095
30962000-01-31 Toshiaki Takada <takada@zebra.org>
3097
3098 * ospf_packet.c (ospf_make_ls_upd): Fix bug of #LSAs counting.
3099
31002000-01-29 Toshiaki Takada <takada@zebra.org>
3101
3102 * ospf_packet.c (ospf_make_md5_digest): Fix bug of md5 authentication.
3103
31042000-01-28 Toshiaki Takada <takada@zebra.org>
3105
3106 * ospfd.c (show_ip_ospf): Show Number of ASE-LSAs.
3107
31082000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3109
3110 * ospf_packet.c (ospf_make_db_desc): Don't use rm_list for
3111 removing LSA from nbr->db_summary.
3112
31132000-01-27 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3114
3115 * ospf_packet.c (ospf_ls_upd_send): Set AllSPFRouters to
3116 destination when the link is point-to-point.
3117 (ospf_ls_ack_send_delayed): Likewise.
3118
31192000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3120
3121 * ospf_flood.c (ospf_ls_request_delete_all): Fix bug of next
3122 pointer lookup after the node is freed.
3123
31242000-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3125
3126 * ospf_asbr.c (ospf_asbr_route_add): Instead of scanning all AS
3127 external route, use ospf_top->external_self.
3128
31292000-01-27 Toshiaki Takada <takada@zebra.org>
3130
3131 * ospf_lsa.c (ospf_forward_address_get): New function added.
3132
3133 * ospf_asbr.c (ospf_asbr_check_lsas): Originate AS-external-LSA
3134 only when it should be replaced.
3135
31362000-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3137
3138 * ospf_flood.c (ospf_ls_retransmit_clear): Delete list node.
3139
3140 * ospf_lsa.c (ospf_lsa_free): Reduce logging message using
3141 ospf_zlog value.
3142
3143 * ospf_ism.c (ism_change_status): Fix bug of DR -> non DR status
3144 change. Self originated LSA is freed but not deleted from lsdb.
3145
31462000-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3147
3148 * ospf_ism.c (ism_interface_down): Don't use router_id for
3149 detecting self neighbor structure. Instead of that compare
3150 pointer itself.
3151
3152 * ospf_neighbor.c (ospf_nbr_free): Cancel all timer when neighbor
3153 is deleted.
3154 (ospf_nbr_free): Free last send packet.
3155
3156 * ospf_neighbor.h (struct ospf_neighbor): Remove host strucutre.
3157 Instead of that src is introduced.
3158
3159 * ospf_nsm.h: Enclose macro defenition with do {} while (0).
3160
31612000-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3162
3163 * ospfd.c: Change part of passive interface implementation. For
3164 passive interface just disabling sending/receiving Hello on the
3165 interface.
3166
31672000-01-16 Kai Bankett <kai.bankett@vew-telnet.net>
3168
3169 * ospf_interface.h (OSPF_IF_PASSIVE): Add passive flag.
3170 * ospf_interface.c (ospf_if_lookup_by_name): Add new function.
3171 * ospf_lsa.c (ospf_router_lsa): Skip passive interface.
3172 * ospfd.c (passive_interface): New command passive-interface is
3173 added.
3174 (ospf_config_write): Print passive interface.
3175
31762000-01-15 Toshiaki Takada <takada@zebra.org>
3177
3178 * ospf_interface.h (crypt_key): New struct added to store
3179 multiple cryptographic autheitication keys.
3180 (ospf_interface): struct changed.
3181
3182 * ospf_interface.c: ospf_crypt_key_new, ospf_crypt_key_add,
3183 ospf_crypt_key_lookup, ospf_crypt_key_delete: new functions added.
3184
3185 * ospf_packet.c (ip_ospf_message_digest_key): Changed to store
3186 multiple cryptographic authentication keys.
3187
31882000-01-14 Toshiaki Takada <takada@zebra.org>
3189
3190 * ospf_interface.c: DEFUN (if_ospf_*) commands changed name to
3191 ip_ospf_* ().
3192 Old notation `ospf *' still remains backward compatibility.
3193
31941999-12-29 Alex Zinin <zinin@amt.ru>
3195 * ospf_lsa.c: ospf_lsa_more_recent() bug fix
3196 * ospf_nsm.c, ospf_packet.c: remove nbr data struct when
3197 int goes down, also check DD flags correctly (bug fix)
3198
31991999-12-28 Alex Zinin <zinin@amt.ru>
3200 * "redistribute <source> metric-type (1|2) metric <XXX>" added
3201
32021999-12-23 Alex Zinin <zinin@amt.ru>
3203 * added RFC1583Compatibility flag
3204 * added dynamic interface up/down functionality
3205
32061999-11-19 Toshiaki Takada <takada@zebra.org>
3207
3208 * ospf_neighbor.h (struct ospf_neighbor): Add member state_change
3209 for NSM state change statistics.
3210
32111999-11-19 Toshiaki Takada <takada@zebra.org>
3212
3213 * ospfd.c (show_ip_ospf_neighbor_detail),
3214 (show_ip_ospf_neighbor_int_detail): DEFUN Added.
3215
32161999-11-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3217
3218 * ospf_asbr.c (ospf_asbr_check_lsas): Add check of
3219 lsa->refresh_list.
3220
32211999-11-11 Toshiaki Takada <takada@zebra.org>
3222
3223 * ospf_ia.[ch] (OSPF_EXAMINE_SUMMARIES_ALL): Macro added.
3224 This macro is expanded to ospf_examine_summaries ()
3225 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3226 (OSPF_EXAMINE_TRANSIT_SUMMARIES_ALL): Macro added.
3227 This macro is expanded to ospf_examine_transit_summaries ()
3228 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3229
32301999-11-11 Toshiaki Takada <takada@zebra.org>
3231
3232 * ospf_lsa.[ch] (ospf_find_self_summary_lsa_by_prefix): Changed to
3233 macro OSPF_SUMMARY_LSA_SELF_FIND_BY_PREFIX.
3234 (ospf_find_self_summary_asbr_lsa_by_prefix): Changed to
3235 macro OSPF_SUMMARY_ASBR_LSA_SELF_FIND_BY_PREFIX.
3236 (ospf_find_self_external_lsa_by_prefix): Changed to
3237 macro OSPF_EXTERNAL_LSA_SELF_FIND_BY_PREFIX.
3238
32391999-11-11 Toshiaki Takada <takada@zebra.org>
3240
3241 * ospfd.c (ospf_abr_type): ospf_abr_type_cisco, ospf_abr_type_ibm,
3242 ospf_abr_type_shortcut and ospf_abr_type_standard DEFUNs are
3243 combined.
3244 * ospfd.c (no_ospf_abr_type): no_ospf_abr_type_cisco,
3245 no_ospf_abr_type_ibm and no_ospf_abr_type_shortcut DEFUNS are
3246 combined.
3247
32481999-11-10 Toshiaki Takada <takada@zebra.org>
3249
3250 * ospf_route.c (ospf_lookup_int_by_prefix): Move function to
3251 ospf_interface.c and change name to ospf_if_lookup_by_prefix ().
3252
32531999-11-01 Alex Zinin <zinin@amt.ru>
3254 * ospf_packet.c
3255 some correction to LSU processing
3256
3257 * ospf_lsa.c ospfd.h
3258 randomize initial LSA refreshment interval
3259 and limit the size of LSA-group to 10
3260 to let randomization work more effectively.
3261
32621999-10-31 Alex Zinin <zinin@amt.ru>
3263 * ospf_interface.c
3264 cancel t_network_lsa_self
3265 when freeing int structure
3266
3267 * ospf_abr.c ospf_asbr.c ospf_flood.c ospf_lsa.c
3268 ospf_lsa.h ospf_lsdb.h ospfd.c ospfd.h
3269
3270 Summary and ASE LSA refreshment functions
3271 added---LSA refreshment is paced to 70 LSAs
3272 per sec to avoid link overflow. Refreshment events
3273 are further randomized within a 10 sec interval
3274 to avoid syncing.
3275
3276 Also the sigfault of memcmp() in ospf_lsa_is_different()
3277 is fixed.
3278
32791999-10-30 Alex Zinin <zinin@amt.ru>
3280 * ospf_nsm.c
3281 Fix the bug where MAX_AGE LSAs
3282 are included into the DB summary.
3283
3284 * ospf_interface.c
3285 allocate 2*MTU input buffer instead of just MTU
3286 for the cases when the other router mistakenly
3287 sends larger packets thus causing fragmentation, etc.
3288
3289 * ospf_nsm.c
3290 in nsm_reset_nbr() lists should be freed
3291 not when they are empty.
3292
32931999-10-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3294
3295 * ospf_zebra.c (ospf_acl_hook): Move OSPF_IS_ASBR and OSPF_IS_ABR
3296 check inside of if (ospf_top).
3297
32981999-10-29 Alex Zinin <zinin@amt.ru>
3299 * ospf_lsa.c ospf_lsdb.c :
3300 add assertion in lsa and lsa->data alloc functions,
3301 as well as in lsdb_add for new->data
3302
3303 * ospf_lsdb.c: free hash table correctly
3304
33051999-10-28 John Capo <jc@irbs.com>
3306
3307 * ospf_packet.h (OSPF_PACKET_MAX): Correct MAX packet length
3308 calculation
3309
33101999-10-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3311
3312 * OSPF-TRAP-MIB.txt: New file added. Edited version of RFC1850.
3313
3314 * OSPF-MIB.txt: New file added. Edited version of RFC1850.
3315
33161999-10-27 Alex Zinin <zinin@amt.ru>
3317 * ospfd, ospf_zebra, ospf_abr
3318 "area import-list" command is added.
3319 This command allows to filter the inter-area routes
3320 injected into an area. Access list hook function
3321 extended to invalidate area exp/imp lists.
3322
33231999-10-25 Yoshinobu Inoue <shin@nd.net.fujitsu.co.jp>
3324
3325 * ospfd.c (ospf_interface_run): Enable to detect P2P network
3326 on an OSPF interface.
3327
33281999-10-19 Jordan Mendelson <jordy@wserv.com>
3329
3330 * ospf_lsdb.c (ospf_lsdb_add): Fix bug of crash
3331 in ospf_ls_retransmit_lookup ().
3332
33331999-10-19 Vladimir B. Grebenschikov <vova@express.ru>
3334
3335 * ospf_route.c: Workaround about installation of OSPF routes into
3336 the zebra daemon. Add checking of existance routes. Free
3337 ospf_top->old_table if it exists.
3338
33391999-10-15 Jordan Mendelson <jordy@wserv.com>
3340
3341 * Add support for MD5 authentication.
3342
33431999-10-12 Alex Zinin <zinin@amt.ru>
3344 * ospfd.c, ospfd.h, ospf_abr.c:
3345 a new command "area export-list" was added, it allows
3346 the admin. to control which intra-area routes are
3347 announced to other areas by the ABR
3348
33491999-10-12 Alex Zinin <zinin@amt.ru>
3350 * ospf_asbr.c (ospf_asbr_check_lsas): Fix bug of coredump
3351 when "no redistribute" is used after a distribute list
3352 denying some networks was used
3353
33541999-10-05 Toshiaki Takada <takada@zebra.org>
3355
3356 * ospf_route.c (ospf_path_dup): New function added.
3357
33581999-10-05 Toshiaki Takada <takada@zebra.org>
3359
3360 * ospf_interface.[ch]: Some of VL related funciton name changed.
3361
33621999-09-27 Alex Zinin <zinin@amt.ru>
3363
3364 * ospf_zebra.c: Distribute-list functionality added
3365
33661999-09-27 Toshiaki Takada <takada@zebra.org>
3367
3368 * ospfd.c (show_ip_ospf): Fix bug of segmentation fault when no ospf
3369 instance exists.
3370
33711999-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3372
3373 * ospfd.c (ospf_interface_down): Fix bug of misusing nextnode()
3374 instead of node->next. Reported by Hiroki Ishibashi
3375 <ishibasi@dcd.abk.nec.co.jp>.
3376
3377 * ospf_route.c (show_ip_ospf_route): Add check for ospf is enabled
3378 or not.
3379
33801999-09-23 Alex Zinin <zinin@amt.ru>
3381
3382 * stub area support added
3383
33841999-09-23 Alex Zinin <zinin@amt.ru>
3385
3386 * fwd_addr in ASE-LSAs is now set correctly
3387 * ASE routing changed to check the fwd_addr
3388 and skip the route if the addr points to one
3389 of our interfaces to avoid loops.
3390
33911999-09-22 Alex Zinin <zinin@amt.ru>
3392
3393 * ospf_interface:
3394 ospf_vls_in_area() added, it returns
3395 the number of VLs configured through the area
3396
3397 * ospf_interface.c ospf_lsa.c ospf_lsdb.c ospfd.c
3398 honor correct mem alloc
3399
34001999-09-22 Alex Zinin <zinin@amt.ru>
3401
3402 * memory.[ch]:
3403 Some OSPF mem types added,
3404 plus more info in "show mem"
3405
34061999-09-21 Alex Zinin <zinin@amt.ru>
3407
3408 * ospfd.c:
3409 "area range substitute" added.
3410 It can be used on NAT-enabled (IP-masquarade)
3411 routers to announce private networks
3412 from an area as public ones into the outside
3413 world (not in the RFC, btw :)
3414
34151999-09-21 Alex Zinin <zinin@amt.ru>
3416
3417 * ospfd.c:
3418 "area range suppress" added.
3419 This command allows to instruct the router
3420 to be silent about specific ranges, i.e.,
3421 it is a method of route filtering on area
3422 borders
3423
34241999-09-21 Alex Zinin <zinin@amt.ru>
3425
3426 * ospfd.c VLs removed when "no network area" executed
3427
34281999-09-20 Alex Zinin <zinin@amt.ru>
3429
3430 * ospf_ase.c bug fix for not-zero fwd_addr
3431 and directly connected routes.
3432
34331999-09-20 Yon Uriarte <yon@plannet.de>
3434
3435 * ospf_packet.c (ospf_make_ls_req): Introduce delta value for
3436 checking the length of OSPF packet exceeds MTU or not.
3437
3438 * ospf_lsa.c (ospf_lsa_different): Apply ntohs for checking
3439 l1->data->length.
3440
34411999-09-18 Alex Zinin <zinin@amt.ru>
3442
3443 * ospf_lsa.c bug fix for ospf_network_lsa() to
3444 include itself into the RID list
3445
34461999-09-10 Alex Zinin <zinin@amt.ru>
3447
3448 * Alternative ABR behaviors IBM/Cisco/Shortcut
3449 implemented
3450
34511999-09-10 Alex Zinin <zinin@amt.ru>
3452
3453 * router and network-LSA origination
3454 changed to honor MinLSInterval
3455
34561999-09-08 Alex Zinin <zinin@amt.ru>
3457
3458 * modified ABR behavior to honor VLs and transit
3459 areas
3460
34611999-09-07 Alex Zinin <zinin@amt.ru>
3462
3463 * completed VL functionality
3464
34651999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3466
3467 * ospf_asbr.c: New file.
3468 ospf_asbr.h: New file.
3469
3470 * ospf_zebra.c (ospf_redistribute_connected): Add redistribute
3471 related stuff.
3472
34731999-09-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3474
3475 * ospfd.h (OSPF_FLAG_VIRTUAL_LINK): Change OSPF_FLAG_VEND to
3476 OSPF_FLAG_VIRTUAL_LINK for comprehensiveness.
3477
34781999-09-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3479
3480 * ospf_spf.c (ospf_spf_register): Change name from
3481 ospf_spf_route_add() to ospf_spf_register().
3482 Include "ospfd/ospf_abr.h" for ospf_abr_task() prototype.
3483
34841999-09-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3485
3486 * ospf_lsa.c (ospf_external_lsa_install): Change to update
3487 lsa->data rather than install new one, when same id lsa is already
3488 installed.
3489
34901999-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3491
3492 * ospf_lsa.c (ospf_router_lsa_install): Return lsa value.
3493 (ospf_network_lsa_install): Likewise.
3494 (ospf_summary_lsa_install): Likewise.
3495 (ospf_summary_asbr_lsa_install): Likewise.
3496 (ospf_external_lsa_install): Likewise.
3497
3498 * ospf_spf.c (ospf_spf_calculate): Comment out debug function
3499 ospf_rtrs_print().
3500
35011999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3502
3503 * ospf_spf.c (ospf_rtrs_free): Add ospf_spf_calculate() for
3504 freeing rtrs.
3505
35061999-08-31 Toshiaki Takada <takada@zebra.org>
3507
3508 * ospf_lsa.c (show_ip_ospf_database_summary),
3509 (show_ip_ospf_database_summary_asbr),
3510 (show_ip_ospf_database_external): New function added.
3511 `show ip ospf database summary',
3512 `show ip ospf database asbr-summary'
3513 `show ip ospf database external' command can be used.
3514
3515 * ospf_lsa.c (ospf_lsa_count_table): New function added.
3516 (show_ip_ospf_database_all): show nothing if a type of LSA
3517 does not exist.
3518
35191999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3520
3521 * ospf_lsa.c (ospf_maxage_lsa_remover): Preserve next pointer when
3522 the node is deleted.
3523
35241999-08-31 Toshiaki Takada <takada@zebra.org>
3525
3526 * ospf_flood.c (ospf_ls_retransmit_lookup): change to return
3527 struct ospf_lsa *.
3528 (ospf_ls_request_new), (ospf_ls_request_free),
3529 (ospf_ls_request_add), (ospf_ls_request_delete),
3530 (ospf_ls_request_delete_all), (ospf_ls_request_lookup):
3531 New function added.
3532
3533 * ospf_packet.c (ospf_ls_upd_send_lsa): New function added.
3534
3535 * ospf_lsa.h (LS_AGE): Slightly change macro definition.
3536
3537 * ospf_lsa.c (ospf_lsa_more_recent), (ospf_lsa_diffrent):
3538 Use LS_AGE macro.
3539
35401999-08-30 Alex Zinin <zinin@amt.ru>
3541
3542 * ospfd.c
3543 fix a bug with area range config write
3544 added "show ip ospf" command, it will be enhanced later on
3545
35461999-08-30 Alex Zinin <zinin@amt.ru>
3547
3548 * ospf_lsa.c
3549 updated ospf_router_lsa() to honor flags (B-bit)
3550
35511999-08-30 Alex Zinin <zinin@amt.ru>
3552
3553 * ospf_abr.c
3554 wrote major functions implementing ABR activity
3555
35561999-08-30 Alex Zinin <zinin@amt.ru>
3557
3558 * ospf_ia.c ospf_route.c ospf_route.h
3559 fixed the bug with ospf_route.origin field.
3560 Now it holds pointer to lsa_header
3561
35621999-08-30 Alex Zinin <zinin@amt.ru>
3563
3564 * ospf_flood.c ospf_flood.h:
3565 transformed ospf_flood_if_select into ospf_flood_through_area()
3566 added new ospf_flood_if_select() and ospf_flood_through_as()
3567
35681999-08-30 Toshiaki Takada <takada@zebra.org>
3569
3570 * ospf_flood.[ch]: New file added.
3571
3572 * ospf_packet.c (ospf_lsa_flooding),
3573 (ospf_lsa_flooding_select_if): functions move to ospf_flood.c
3574
3575 * ospf_neighbor.c (ospf_put_lsa_on_retransm_list),
3576 (ospf_remove_lsa_from_retransm_list),
3577 (ospf_nbr_remove_all_lsas_from_retransm_list),
3578 (ospf_lsa_remove_from_ls_retransmit):
3579 (ospf_lsa_retransmit): functions move to
3580 ospf_flood.c, and change function's name:
3581
3582 ospf_put_lsa_on_retransm_list ()
3583 -> ospf_ls_retransmit_add ()
3584 ospf_remove_lsa_from_retransm_list ()
3585 -> ospf_ls_retransmit_delete ()
3586 ospf_nbr_remove_all_lsas_from_retransm_list ()
3587 -> ospf_ls_retransmit_clear ()
3588 ospf_lsa_remove_from_ls_retransmit ()
3589 -> ospf_ls_retransmit_delete_nbr_all ()
3590 ospf_lsa_retransmit ()
3591 -> ospf_ls_retransmit_add_nbr_all ()
3592
3593 * ospf_lsa.c (ospf_lsa_lookup_from_list): function move to
3594 ospf_flood.c, and change name to ospf_ls_retransmit_lookup ().
3595
35961999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3597
3598 * ospf_neighbor.c (ospf_nbr_lookup_by_addr): Use
3599 route_node_lookup() instead of route_node_get().
3600
3601 * ospf_packet.c (ospf_ls_upd): Temporary comment out (6) check.
3602
36031999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3604
3605 * ospf_route.c (ospf_lookup_int_by_prefix): Add check of
3606 oi->address.
3607
36081999-08-29 Alex Zinin <zinin@amt.ru>
3609 * ospf_lsa.c
3610 MaxAge LSA deletion functions added.
3611
36121999-08-29 Alex Zinin <zinin@amt.ru>
3613 * ospf_neighbor.c
3614 ospf_nbr_lookup_by_addr(): added route_unlock_node()
3615 when function returns NULL if (rn->info == NULL)
3616
36171999-08-29 Alex Zinin <zinin@amt.ru>
3618 * ospfd.c
3619 added a hack for area range deletion
3620
36211999-08-29 Alex Zinin <zinin@amt.ru>
3622 * ospf_lsa.h
3623 included lsdb field into struct ospf_lsa, to find
3624 LSDB easier when removing MaxAge LSAs.
3625
36261999-08-29 Alex Zinin <zinin@amt.ru>
3627 * ospf_lsa.c ospf_neighbor.c ospf_nsm.c
3628 ospf_packet.c changed to honor new retransmit list
3629 management functions
3630
36311999-08-29 Alex Zinin <zinin@amt.ru>
3632 * ospf_neighbor.c , .h added new retransmit list functions.
3633
36341999-08-29 Alex Zinin <zinin@amt.ru>
3635 * Makefile.in
3636 added ospf_ase, ospf_abr, ospf_ia
3637
36381999-08-29 Alex Zinin <zinin@amt.ru>
3639 * ospf_spf.c:
3640 - changed ospf_next_hop_calculation() to include interface
3641 and nexthop addr for directly connected routers---more informative
3642 and solves problem with route installation into the kernel
3643 - changed ospf_nexthop_out_if_addr() to support routers, not only
3644 transit networks
3645 - added ospf_process_stubs();
3646
36471999-08-29 Alex Zinin <zinin@amt.ru>
3648 * ospf_lsa.c:
3649 - changed ospf_router_lsa() to provide correct links
3650 for p-t-p interfaces;
3651 - changed ospf_summary_lsa_install() to support table
3652 of self-originated summary-LSAs;
3653 - added ospf_summary_asbr_lsa_install() and ospf_external_lsa_install()
3654 - changed ospf_lsa_install() accordingly
3655 - changed show_ip_ospf_database_router_links() to support p-t-p
3656
36571999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3658
3659 * ospf_packet.c (ospf_make_db_desc): Only master can clear more
3660 flag.
3661
36621999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3663
3664 * ospf_packet.c (ospf_read): Add check of IP src address.
3665
36661999-08-28 Alex Zinin <zinin@amt.ru>
3667 * ospf_neighbor.h
3668 added ospf_nbr_lookup_by_routerid()
3669
36701999-08-28 Alex Zinin <zinin@amt.ru>
3671 * ospfd.h
3672 added ABR/ASBR flag definitions and fields;
3673 added iflist field to area structure;
3674 summary_lsa_self and summary_lsa_asbr_self are changed
3675 to be route tables;
3676 added ranges field---configured area ranges;
3677 A separate Routers RT added;
3678 area range config commands and config write added
3679
3680
36811999-08-28 Alex Zinin <zinin@amt.ru>
3682 * ospf_route.c :
3683 ospf_route_free()--added code to free the list of paths;
3684 The following functions added:
3685 ospf_intra_add_router();
3686 ospf_intra_add_transit();
3687 ospf_intra_add_stub();
3688 the last function uses new ospf_int_lookup_by_prefix();
3689 show_ip_ospf_route_cmd()--changed to support new RT structure;
3690 added ospf_cmp_routes()--general route comparision function;
3691 added ospf_route_copy_nexthops() and ospf_route_copy_nexthops_from_vertex()
3692 they are used in ASE and IA routing;
3693 added ospf_subst_route() and ospf_add_route();
3694
36951999-08-28 Alex Zinin <zinin@amt.ru>
3696 * ospf_route.h :
3697 changed struct ospf_path to include output interface,
3698 changed struct ospf_route to support IA and ASE routing.
3699 added prototypes of the function used in IA and ASE modules.
3700
37011999-08-28 Alex Zinin <zinin@amt.ru>
3702 * ospf_lsa.h ospf_lsa.c :
3703 added ospf_my_lsa(), an interface independent version of
3704 ospf_lsa_is_self_originated(), it will be used in ASE and IA-routing.
3705
37061999-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3707
3708 * ospf_interface.c (interface_config_write): Add check for
3709 oi->nbr_self.
3710
37111999-08-25 Toshiaki Takada <takada@zebra.org>
3712
3713 * ospf_lsa.c (ospf_lsa_dup): New function added.
3714
3715 * ospf_packet.c (ospf_write), (ospf_read): Print send/recv
3716 interface in debug message.
3717
37181999-08-25 Toshiaki Takada <takada@zebra.org>
3719
3720 * ospf_packet.c (ospf_ls_ack_send): The name is changed from
3721 `ospf_ls_ack_send'.
3722 (ospf_ls_ack_send_delayed) (ospf_ls_ack_timer): New function added.
3723 Delayed Link State Acknowledgment is scheduled by timer.
3724
37251999-08-25 Alex Zinin <zinin@amt.ru>
3726
3727 * ospf_lsa.c (ospf_router_lsa): Incorrectly included link to
3728 a stub network instead of link to a transit network into
3729 originated router-LSA, bug fixed.
3730
37311999-08-24 Toshiaki Takada <takada@zebra.org>
3732
3733 * ospfd.c (ospf_update_router_id): New function added.
3734
3735 * ospf_network.c (ospf_write): Create new socket per transmission.
3736 And select outgoing interface whether dst is unicast or multicast.
3737
3738 * ospf_packet.c: LSA flooding will work.
3739
37401999-08-24 VOP <vop@unity.net>
3741
3742 * ospf_route.c: Include "sockunion.h"
3743
37441999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3745
3746 * ospf_network.c (ospf_serv_sock_init): Enclose
3747 IPTOS_PREC_INTERNETCONTROL setting with #ifdef for OS which does
3748 not have the definition.
3749
37501999-08-23 Toshiaki Takada <takada@zebra.org>
3751
3752 * ospf_packet.c: Fix bug of DD processing.
3753
37541999-08-18 Toshiaki Takada <takada@zebra.org>
3755
3756 * ospf_lsa.c (show_ip_ospf_database): Show actual `LS age'.
3757
37581999-08-17 Toshiaki Takada <takada@zebra.org>
3759
3760 * ospf_lsa.h (OSPF_MAX_LSA): The value of OSPF_MAX_LSA is
3761 corrected. The bug of `mes_lookup' is fixed.
3762 This had been reported by Poul-Henning Kamp <phk@freebsd.org>.
3763
3764 * ospf_lsa.c (ospf_router_lsa_install): The name is changed from
3765 `ospf_add_router_lsa'.
3766 (ospf_network_lsa_install): The name is changed from
3767 `ospf_add_network_lsa'.
3768
3769 * ospf_interface.h (ospf_interface): Add member `nbr_self'.
3770
3771 * ospf_interface.c (ospf_if_is_enable): New function added.
3772
37731999-08-16 Toshiaki Takada <takada@zebra.org>
3774
3775 * ospf_lsa.h (struct lsa_header): The name is changed from
3776 `struct ospf_lsa'.
3777 (struct ospf_lsa): New struct added to control each LSA's aging
3778 and timers.
3779
3780 * ospf_lsa.c (ospf_lsa_data_free): The name is change from
3781 `ospf_lsa_free'.
3782 (ospf_lsa_data_new), (ospf_lsa_new), (ospf_lsa_free),
3783 (ospf_lsa_different), (ospf_lsa_install): New function added.
3784
3785 * ospf_packet.c (ospf_ls_upd_list_lsa): New function added.
3786
37871999-08-12 Toshiaki Takada <takada@zebra.org>
3788
3789 * ospf_nsm.c (nsm_reset_nbr): New function added.
3790 KillNbr and LLDown neighbor event call this function.
3791
37921999-08-10 Toshiaki Takada <takada@zebra.org>
3793
3794 * ospf_packet.c (ospf_ls_retransmit)
3795 (ospf_ls_upd_timer): New function added.
3796 Set retransmission timer for Link State Update.
3797
37981999-07-29 Toshiaki Takada <takada@zebra.org>
3799
3800 * ospf_ism.c (ospf_dr_election): Fix bug of DR election.
3801
38021999-07-28 Toshiaki Takada <takada@zebra.org>
3803
3804 * ospf_network.c (ospf_serv_sock_init): Set IP precedence field
3805 with IPTOS_PREC_INTERNET_CONTROL.
3806
3807 * ospf_nsm.c (nsm_change_status): Schedule NeighborChange event
3808 if NSM status change.
3809
3810 * ospf_packet.c (ospf_make_hello): Never include a neighbor in
3811 Hello packet, when the neighbor goes down.
3812
38131999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3814
3815 * Makefile.am (noinst_HEADERS): Add ospf_route.h.
3816
3817 * ospf_route.c (show_ip_ospf_route): Add `show ip ospf route'
3818 command.
3819
38201999-07-25 Toshiaki Takada <takada@zebra.org>
3821
3822 * ospf_lsa.c (ospf_router_lsa): Fix bug of LS sequence number
3823 assignement.
3824
38251999-07-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3826
3827 * ospf_route.c (ospf_route_table_free): New function added.
3828
3829 * ospf_spf.c (ospf_spf_next): Free vertex w when cw's and w's
3830 distance is same.
3831
3832 * ospfd.h (struct ospf): Add old_table.
3833
3834 * ospf_main.c (sighup): Call of log_rotate () removed.
3835
3836 * ospf_lsa.c (ospf_lsa_is_self_originated): Fix bug of checking
3837 area->lsa as self LSA. This should be area->lsa_self.
3838
38391999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3840
3841 * ospf_zebra.c (ospf_zebra_add): ospf_zebra_add
3842 (),ospf_zebra_delete () added.
3843
3844 * ospf_spf.c (ospf_spf_calculate): Call ospf_intra_route_add ().
3845
38461999-07-24 Toshiaki Takada <takada@zebra.org>
3847
3848 * ospf_lsa.c: Change LS sequence number treatment.
3849 (ospf_lsa_is_self_originated): New function added.
3850 (show_ip_ospf_database_self_originated): New DEFUN added.
3851
38521999-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3853
3854 * ospf_interface.c (ospf_if_lookup_by_addr): Add loopback check.
3855
38561999-07-22 Toshiaki Takada <takada@zebra.org>
3857
3858 * ospf_spf.c (ospf_nexthop_new), (ospf_nexthop_free),
3859 (ospf_nexthop_dup): function added.
3860 (ospf_nexthop_calculation): function changed.
3861
3862 * ospf_interface.c (ospf_if_lookup_by_addr): function added.
3863
38641999-07-21 Toshiaki Takada <takada@zebra.org>
3865
3866 * ospf_spf.c (ospf_spf_closest_vertex): function removed.
3867
38681999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3869
3870 * ospf_spf.c (ospf_spf_next): Apply ntohs for fetching metric.
3871
38721999-07-21 Toshiaki Takada <takada@zebra.org>
3873
3874 * ospf_neighbor.c (ospf_nbr_lookup_by_router_id): fundtion removed.
3875
3876 * ospf_lsa.c (show_ip_ospf_database_router): describe each
3877 connected link.
3878
38791999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3880
3881 * ospf_spf.c (ospf_spf_next): V is router LSA or network LSA so
3882 change behavior according to LSA type.
3883 (ospf_lsa_has_link): Link check function is added.
3884
38851999-07-20 Kunihiro Ishiguro <kunihiro@zebra.org>
3886
3887 * ospf_spf.c (ospf_spf_calculate_schedule): Add new function for
3888 SPF calcultion schedule addtition.
3889 (ospf_spf_calculate_timer_add): Rough 30 sec interval SPF calc
3890 timer is added.
3891 (ospf_spf_next_router): Delete ospf_spf_next_network ().
3892
3893 * ospf_lsa.c (show_ip_ospf_database_all): Network-LSA display
3894 header typo correction. Display of router LSA's #link added.
3895
38961999-07-19 Toshiaki Takada <takada@zebra.org>
3897
3898 * ospf_packet.c (ospf_check_network_mask): Added new function for
3899 receiving Raw IP packet on an appropriate interface.
3900
39011999-07-16 Toshiaki Takada <takada@zebra.org>
3902
3903 * ospfd.c (ospf_router_id): new DEFUN added.
3904
39051999-07-15 Toshiaki Takada <takada@zebra.org>
3906
3907 * ospf_spf.c (ospf_spf_init), (ospf_spf_free),
3908 (ospf_spf_has_vertex), (ospf_vertex_lookup),
3909 (ospf_spf_next_router), (ospf_spf_next_network),
3910 (ospf_spf_closest_vertex), (ospf_spf_calculate):
3911 function added.
3912
39131999-07-13 Toshiaki Takada <takada@zebra.org>
3914
3915 * ospf_ism.c: fix bug of DR Election.
3916
3917 * ospf_nsm.c: fix bug of adjacency forming.
3918
39191999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3920
3921 * ospfd.c (ospf_init): Change to use install_default.
3922
39231999-07-01 Rick Payne <rickp@rossfell.co.uk>
3924
3925 * ospf_zebra.c (zebra_init): Install standard commands to
3926 ZEBRA_NODE.
3927
39281999-06-30 Toshiaki Takada <takada@zebra.org>
3929
3930 * ospf_dump.c: Whole debug command is improved.
3931 (ISM|NSM) (events|status|timers) debug option added.
3932 (show_debugging_ospf): new DEFUN added.
3933
39341999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3935
3936 * ospf_lsa.c (ospf_lsa_lookup_from_list): Change !IPV4_ADDR_CMP to
3937 IPV4_ADDR_SAME.
3938
39391999-06-29 Toshiaki Takada <takada@zebra.org>
3940
3941 * ospf_dump.c (ospf_summary_lsa_dump): Add summary-LSA dump routine.
3942 (ospf_as_external_lsa_dump): Add AS-external-LSA dump routine.
3943
3944 * ospf_nsm.c (nsm_twoway_received): fix condtion of adjacnet.
3945
3946 * ospf_ism.c (ospf_dr_election): fix DR Election.
3947
3948 * ospf_dump.c (ospf_nbr_state_message): fix `show ip ospf neighbor'
3949 command's state.
3950
39511999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3952
3953 * ospf_dump.c (ospf_router_lsa_dump): Add router-LSA dump routine.
3954
39551999-06-28 Toshiaki Takada <takada@zebra.org>
3956
3957 * ospf_lsa.c (show_ip_ospf_database_network): fix bug of
3958 `show ip ospf database network' command output.
3959
3960 * ospf_nsm.c (nsm_inactivity_timer): Clear list of Link State
3961 Retransmission, Database Summary and Link State Request.
3962
3963 * ospf_packet.c (ospf_ls_req_timer): New function added.
3964 Set Link State Request retransmission timer.
3965
39661999-06-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3967
3968 * ospf_main.c (main): Change default output from ZLOG_SYSLOG to
3969 ZLOG_STDOUT.
3970
3971 * ospfd.c (ospf_init): Register show_ip_ospf_interface_cmd and
3972 show_ip_ospf_neighbor_cmd to VIEW_NODE.
3973
3974 * ospf_lsa.c (ospf_lsa_init): Register show_ip_ospf_database_cmd
3975 and show_ip_ospf_database_type_cmd to VIEW_NODE.
3976
39771999-06-25 Toshiaki Takada <takada@zebra.org>
3978
3979 * ospf_packet.c: fix bug of DD making.
3980 fix bug of LS-Update reading.
3981
39821999-06-23 Toshiaki Takada <takada@zebra.org>
3983
3984 * ospf_packet.c: All type of packets are changed to use
3985 fifo queue structure.
3986 (ospf_fill_header) function added.
3987
39881999-06-22 Toshiaki Takada <takada@zebra.org>
3989
3990 * ospf_packet.c (ospf_packet_new): New function added to handle
3991 sending ospf packet by fifo queue structure.
3992 (ospf_packet_free), (ospf_fifo_new), (ospf_fifo_push),
3993 (ospf_fifo_pop), (ospf_fifo_head), (ospf_fifo_flush),
3994 (ospf_fifo_free): Likewise.
3995
39961999-06-21 Toshiaki Takada <takada@zebra.org>
3997
3998 * ospf_nsm.c (ospf_db_desc_timer): function added.
3999 (nsm_timer_set) function added.
4000 * ospf_dump.c (ospf_option_dump): function added.
4001 * ospf_packet.c (ospf_ls_req) (ospf_make_ls_req): function added.
4002
40031999-06-20 Toshiaki Takada <takada@zebra.org>
4004
4005 * ospf_lsa.c (ospf_lsa_more_recent): function added.
4006 * ospf_neighbor.h (struct ospf_neighbor): Change member ms_flag
4007 to dd_flags.
4008
40091999-06-19 Toshiaki Takada <takada@zebra.org>
4010
4011 * ospf_lsa.c: DEFUN (show_ip_ospf_database) Added.
4012 * ospf_interface.c (if_ospf_cost), (if_ospf_dead_interval),
4013 (if_ospf_hello_interval), (if_ospf_priority),
4014 (if_ospf_retransmit_interval), (if_ospf_transmit_delay)
4015 argument changed from NUMBER to <range>.
4016 DEFUN (if_ospf_network_broadcast),
4017 DEFUN (if_ospf_network_non_broadcast),
4018 DEFUN (if_ospf_network_point_to_multipoint),
4019 DEFUN (if_ospf_network_point_to_point) functions are combined to
4020 DEFUN (if_ospf_network).
4021
40221999-06-18 Toshiaki Takada <takada@zebra.org>
4023
4024 * ospf_lsa.c: ospf_add_router_lsa (), ospf_add_network_lsa (),
4025 ospf_lsa_lookup (), ospf_lsa_count () Added.
4026
40271999-06-15 Toshiaki Takada <takada@zebra.org>
4028
4029 * DEFUN (ospf_debug_ism), DEFUN (ospf_debug_nsm),
4030 DEFUN (no_ospf_debug_ism), DEFUN (no_ospf_debug_nsm) Added.
4031 `debug ospf ism' command shows debug message.
4032 `debuf ospf nsm' command shows debug message.
4033
40341999-06-14 Toshiaki Takada <takada@zebra.org>
4035
4036 * ospf_lsa.c: ospf_network_lsa () Added.
4037 ospf_lsa_checksum () Added.
4038 * DEFUN (ospf_debug_packet), DEFUN (no_ospf_debug_packet) Added.
4039 `debug ospf packet' command shows debug message.
4040
40411999-06-13 Toshiaki Takada <takada@zebra.org>
4042
4043 * ospf_packet.h: Remove struct ospf_ls_req {}, ospf_ls_upd {},
4044 ospf_ls_ack {}.
4045
40461999-06-11 Toshiaki Takada <takada@zebra.org>
4047
4048 * ospf_dump.c: fix IP packet length treatment.
4049
40501999-06-10 Toshiaki Takada <takada@zebra.org>
4051
4052 * ospf_ism.h: Add OSPF_ISM_EVENT_EXECUTE() Macro Added.
4053 * ospf_nsm.h: Add OSPF_NSM_EVENT_EXECUTE() Macro Added.
4054
4055 * ospf_packet.c: ospf_db_desc (), ospf_db_desc_send () Added.
4056 ospf_make_hello (), ospf_make_db_desc () Added.
4057 ospf_db_desc_proc () Added.n
4058
4059 * Database Description packet can be processed.
4060
40611999-06-08 Toshiaki Takada <takada@zebra.org>
4062
4063 * ospf_lsa.c: New file.
4064
40651999-06-07 Toshiaki Takada <takada@zebra.org>
4066
4067 * ospf_neighbor.c: ospf_fully_adjacent_count () Added.
4068
40691999-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
4070
4071 * ospf_spf.[ch]: New file.
4072
40731999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4074
4075 * ospf_zebra.c: Changed to use lib/zclient.c routines.
4076
4077 * ospf_zebra.h (zebra_start): Remove struct zebra.
4078
40791999-05-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4080
4081 * ospfd.c (ospf_config_write): Add cast (unsigned long int) to
4082 ntohl for sprintf warning.
4083
40841999-05-19 Toshiaki Takada <takada@zebra.org>
4085
4086 * ospf_ism.c (ospf_dr_election): Join AllDRouters Multicast group
4087 if interface state changes to DR or BDR.
4088
40891999-05-14 Stephen R. van den Berg <srb@cuci.nl>
4090
4091 * ospf_main.c (signal_init): SIGTERM call sigint.
4092 (sigint): Logging more better message.
4093
40941999-05-12 Toshiaki Takada <takada@zebra.org>
4095
4096 * ospfd.c: Fix bug of `no router ospf' statement, it will work.
4097
40981999-05-11 Toshiaki Takada <takada@zebra.org>
4099
4100 * ospf_neighbor.c: ospf_nbr_free () Added.
4101
41021999-05-10 Toshiaki Takada <takada@zebra.org>
4103
4104 * ospfd.h: struct ospf_area { }, struct ospf_network { } Changed.
4105 * Fix bug of `no network' statement, it will work.
4106
41071999-05-07 Toshiaki Takada <takada@zebra.org>
4108
4109 * ospf_interface.c, ospf_zebra.c: Fix bug of last interface is not
4110 updated by ospf_if_update ().
4111
41121999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4113
4114 * Makefile.am (noinst_HEADERS): Add ospf_lsa.h for distribution.
4115
41161999-04-25 Toshiaki Takada <takada@zebra.org>
4117
4118 * ospf_interface.c: DEFUN (no_if_ospf_cost),
4119 DEFUN (no_if_ospf_dead_interval),
4120 DEFUN (no_if_ospf_hello_interval),
4121 DEFUN (no_if_ospf_priority),
4122 DEFUN (no_if_ospf_retransmit_interval),
4123 DEFUN (no_if_ospf_transmit_delay) Added.
4124
4125 interface_config_write () suppress showing interface
4126 default values.
4127
41281999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
4129
4130 * ospf_dump.c (ospf_timer_dump): If thread is NULL return "inactive".
4131
4132 * ospfd.c (ospf_if_update): Fix bug of using ospf_area { } instead
4133 of ospf_network { }. So `router ospf' statement in ospfd.conf
4134 works again.
4135 (ospf_if_update): Call ospf_get_router_id for updating router ID.
4136
41371999-04-25 Toshiaki Takada <takada@zebra.org>
4138
4139 * ospf_interface.c: DEFUN (if_ospf_network) deleted.
4140 DEFUN (if_ospf_network_broadcast),
4141 DEFUN (if_ospf_network_non_broadcast),
4142 DEFUN (if_ospf_network_point_to_multipoint),
4143 DEFUN (if_ospf_network_point_to_point),
4144 DEFUN (no_if_ospf_network) Added.
4145
41461999-04-23 Toshiaki Takada <takada@zebra.org>
4147
4148 * ospfd.h: struct area { } changed to struct ospf_network { }.
4149 Add struct ospf_area { }.
4150 * ospfd.c: Add ospf_area_lookup_by_area_id (), ospf_network_new (),
4151 and ospf_network_free ().
4152 DEFUN (area_authentication), DEFUN (no_area_authentication) Added.
4153
41541999-04-22 Toshiaki Takada <takada@zebra.org>
4155
4156 * ospf_lsa.h: New file.
4157 * ospf_packet.h: LSA related struct definition are moved to
4158 ospf_lsa.h.
4159 * ospf_packet.c: ospf_verify_header () Added.
4160
41611999-04-21 Toshiaki Takada <takada@zebra.org>
4162
4163 * ospf_ism.c: ospf_elect_dr () and related function is changed.
4164 DR Election bug fixed.
4165 * ospf_dump.c: ospf_nbr_state_message (), ospf_timer_dump () Added.
4166 * ospfd.c: DEFUN (show_ip_ospf_neighbor) Added.
4167
41681999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
4169
4170 * ospf_main.c (main): access_list_init () is added for vty
4171 connection filtering.
4172
41731999-04-16 Toshiaki Takada <takada@zebra.org>
4174
4175 * ospfd.c: DEFUN (show_ip_ospf_interface) Added.
4176 * ospf_neighbor.c: ospf_nbr_count () Added.
4177
41781999-04-15 Toshiaki Takada <takada@zebra.org>
4179
4180 * ospfd.h: struct ospf { } Changed.
4181 * ospfd.c: ospf_lookup_by_process_id () Deleted.
4182 * ospf_ism.c: ospf_wait_timer () Added. WaitTimer will work.
4183
41841999-04-14 Toshiaki Takada <takada@zebra.org>
4185
4186 * ospf_ism.c: ospf_elect_dr () Added.
4187 * ospf_network.c: ospf_if_ipmulticast () Added.
4188
41891999-04-11 Toshiaki Takada <takada@zebra.org>
4190
4191 * ospf_interface.c: interface_config_write (),
4192 DEFUN (if_ip_ospf_cost),
4193 DEFUN (if_ip_ospf_dead_interval),
4194 DEFUN (if_ip_ospf_hello_interval),
4195 DEFUN (if_ip_ospf_priority),
4196 DEFUN (if_ip_ospf_retransmit_interval) and
4197 DEFUN (if_ip_ospf_transmit_delay) Added.
4198
41991999-04-08 Toshiaki Takada <takada@zebra.org>
4200
4201 * ospf_dump.c: ospf_packet_db_desc_dump () Added.
4202 * ospf_neighbor.c: ospf_nbr_bidirectional () Added.
4203 * ospf_nsm.c: nsm_twoway_received () Added.
4204
42051999-04-02 Toshiaki Takada <takada@zebra.org>
4206
4207 * ospf_neighbor.c: New file.
4208 * ospf_neighbor.h: New file.
4209 * ospf_nsm.c: New file.
4210 * ospf_nsm.h: New file.
4211 * ospf_packet.c: Add ospf_make_header (), ospf_hello () and
4212 ospf_hello_send (). Now OSPFd can receive Hello and send Hello.
4213
42141999-03-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4215
4216 * ospf_packet.c: Add ospf_recv_packet (). Now OSPF Hello can receive.
4217
42181999-03-19 Toshiaki Takada <takada@zebra.org>
4219
4220 * ospf_packet.c: New file.
4221 * ospf_packet.h: New file.
4222 * ospf_network.c: New file.
4223 * ospf_network.h: New file.
4224 * ospfd.h: move OSPF message structure has moved to ospf_packet.h.
4225
42261999-03-17 Kunihiro Ishiguro <kunihiro@zebra.org>
4227
4228 * ospf_zebra.c (ospf_zebra_get_interface): Fix for IPv6 interface
4229 address.
4230
4231 * Makefile.am (install-sysconfDATA): Overwrite install-sysconfDATA
4232 for install ospfd.conf.sample as owner read only file.
4233
4234 * ospf_main.c (usage): Change to use ZEBRA_BUG_ADDRESS.
4235
42361999-03-15 Toshiaki Takada <takada@zebra.org>
4237
4238 * ospf_ism.c: New file.
4239 * ospf_ism.h: New file.
4240 * ospf_dump.c: New file.
4241 * ospf_dump.h: New file.
4242
4243 * ospfd.h: Add (struct ospf), (struct config_network),
4244 (struct message) structure.
4245
4246 * ospf_interface.c: Add ospf_if_match_network ().
4247 * ospf_interface.h (struct ospf_interface): Change struct members.
4248
4249 * ospfd.c: ospf_lookup_by_process_id (), ospf_network_new (),
4250 DEFUN (network_area): Added.
4251
4252 * ospfd.conf.sample: Change sample configuration.
4253
42541999-03-05 Toshiaki Takada <takada@zebra.org>
4255
4256 * ospf_interface.c: New file.
4257 * ospf_interface.h: New file.
4258 * ospf_zebra.h: New file.
4259 * ospf_zebra.c: Add interface function for zebra daemon.
4260 * ospfd.c: New file.
4261
42621999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4263
4264 * Move IPv6 codes and files to ospf6d directory.
4265
42661999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
4267
4268 * syslog support added
4269
42701998-12-22 Toshiaki Takada <takada@zebra.org>
4271
4272 * ospfd.h: New file.
4273 * ospf_lsa.h: New file.
4274
42751998-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
4276
4277 * Makefile.am: New file.
4278 * ospf_main.c: New file.
4279