blob: fc0d599390298b5db1c6fcd56249b67c2c529112 [file] [log] [blame]
paul88d6cf32005-10-29 12:50:09 +000012005-10-29 Paul Jakma <paul.jakma@sun.com>
2
3 * (general) RFC3137 stub-router support
4 * ospfd.h: Add OSPF_OUTPUT_COST_INFINITE define.
5 (struct ospf_master) Add a OSPF_MASTER_SHUTDOWN flag for
6 options, to allow shutdown to distinguish between complete
7 shutdown and shutdown of a subset of ospf instances.
8 (struct ospf)
9 Add stub_router_{startup,shutdown_}time, configuration of startup
10 and shutdown time for stub-router.
11 Add t_graceful_shutdown struct thread, timer for graceful
12 shutdown, if needed.
13 (struct ospf_area) Add stub_router_state - run time state of
14 stub-router for an area. Add flags for ADMIN, IS and WAS
15 states.
16 Add t_stub_router, timer thread to resend router-lsa for an
17 area.
18 * ospf_lsa.c: (ospf_link_cost) new simple function to spit out
19 either the given lnks cost or infinite cost if stub-router is
20 in effect.
21 (lsa_link_{ptop,broadcast,virtuallink,ptomp}_set) use
22 previous function for transit-links.
23 (ospf_stub_router_timer) timer thread for end of startup stub
24 router. Change state as required for the area and setup
25 re-origination of router-lsa.
26 (ospf_stub_router_check) Check/do whether stub-router should be
27 enabled, and whether it requires timer to be setup.
28 (ospf_router_lsa_new) call previous function at top.
29 (ospf_router_lsa_originate) no external callers, made static.
30 * ospf_lsa.h: (ospf_router_lsa_originate) removed.
31 * ospf_main.c: (sigint) make static.
32 remove call to exit, as ospf_terminate now deals with
33 exiting.
34 * ospf_route.c: (ospf_terminate) removed, now in ospfd.c.
35 * ospf_vty.c: (show_ip_ospf_area) print out state of
36 stub-router, if active.
37 (show_ip_ospf) print out configuration of stub-router
38 support, and details of graceful-shutdown if the timer is
39 active.
40 ((no)?ospf_max_metric_router_lsa_{admin,startup,shutdown}) new
41 commands to (de-)?configure stub-router support.
42 (config_write_stub_router) write out config of stub-router.
43 (ospf_config_write) call previous.
44 (ospf_vty_init) install the new stub-router commands.
45 * ospfd.c: various functions made static.
46 (ospf_new) Set defaults for stub-router. Graceful shutdown
47 is made to default on, just to be adventerous.
48 (ospf_graceful_shutdown_finish) new function, final part of
49 shutdown.
50 (ospf_graceful_shutdown_timer) timer thread wrapper for
51 graceful-shutdown.
52 (ospf_graceful_shutdown_check) check whether to setup timer
53 for shutdown or proceed directly to final shutdown.
54 (ospf_terminate) moved here from ospf_route.c, call
55 ospf_finish for each instance.
56 (ospf_finish) renamed to ospf_finish_final and made static.
57 (ospf_finish) new function, exported wrapper around
58 ospf_graceful_shutdown_check.
59 (ospf_finish_final) complete shutdown of an instance.
60 Add missing TIMER_OFF's of two timer threads.
61 (ospf_area_free) opaque self lsa timer should be turned off.
62
paulb8ad39d2005-10-23 15:23:05 +0000632005-10-23 Paul Jakma <paul.jakma@sun.com>
64
paule029d442005-10-23 15:26:24 +000065 * ospf_apiserver.c: (ospf_apiserver_term) This function should
66 not have side-effects (eg segv) if no apiserver instances are
67 active, ie be robust.
paulb8ad39d2005-10-23 15:23:05 +000068 * ospf_vty.c: (show_ip_ospf) fix display of SPF timer if it
69 has not yet been run.
70
paulf9ad9372005-10-21 00:45:17 +0000712005-10-21 Paul Jakma <paul.jakma@sun.com>
72
paulea4ffc92005-10-21 20:04:41 +000073 * ospf_dump.c: (ospf_timeval_dump) fix ms adjustment, thanks to
74 Andrew Schorr.
75 * ospf_vty.c: (ospf_config_write) fix write out of spf timers
76 configuration.
77
782005-10-21 Paul Jakma <paul.jakma@sun.com>
79
pauld24f6e22005-10-21 09:23:12 +000080 * (general) SPF millisecond resolution timer with adaptive,
81 linear back-off holdtime. Prettification of ospf_timer_dump.
82 * ospf_dump.c: (ospf_timeval_dump) new function. The guts of
83 ospf_timer_dump, but made to be more dynamic in printing out
84 the relative timeval, sliding the precision printed out
85 according to the value.
86 (ospf_timer_dump) guts moved to ospf_timeval_dump.
87 * ospf_dump.h: export ospf_timeval_dump.
88 * ospf_flood.c: (ospf_flood) remove gettimeofday, use
89 the libzebra exported recent_time instead, as it's not
90 terribly critical to have time exactly right - the dropped
91 LSA will be retransmited to us if we don't ACK it.
92 * ospf_packet.c: (ospf_ls_upd_timer) Ditto, but here we're
93 not transmitting, just putting LSA back on update transmit list.
94 * ospfd.h: delay and holdtimes should be unsigned.
95 Add spf_max_holdtime and spf_hold_multiplier.
96 Update default defines for delay and hold time to be in msec.
97 (struct ospf) change the SPF timestamp to a struct timeval.
98 Remove ospf_timers_spf_(un)?set.
99 * ospfd.c: (ospf_timers_spf_{set,unset}) removed.
100 (ospf_new) initialise spf_max_holdtime and spf_hold_multiplier
101 * ospf_spf.c: (ospf_spf_calculate) SPF timestamp is a timeval
102 now, update with gettimeofday.
103 (ospf_spf_calculate_schedule) Change SPF timers to millisecond
104 resolution.
105 Make the holdtime be adaptive, with a linear increase in
106 holdtime ever consecutive SPF run which occurs within holdtime
107 of previous SPF, bounded by spf_max_holdtime.
108 * ospf_vty.c: Update spf timers commands.
109 (ospf_timers_spf_set) trivial helper.
110 (ospf_timers_throttle_spf_cmd) new command to set SPF delay,
111 initial hold and max hold times with millisecond resolution.
112 (ospf_timers_spf_cmd) Deprecated. Accept the old values,
113 convert to msec, truncate to new limits.
114 (no_ospf_timers_throttle_spf_cmd) set timers to defaults.
115 (no_ospf_timers_spf_cmd) deprecated form, same as previous.
116 (show_ip_ospf_cmd) Display SPF parameters and times.
117 (show_ip_ospf_neighbour_header) Centralise the 'sh ip os ne'
118 header.
119 (show_ip_ospf_neighbor_sub) Fix the field widths. Get rid of
120 the multiple spaces which were making the lines even longer.
121 (show_ip_ospf_neighbor_cmd) Use show_ip_ospf_neighbour_header
122 (show_ip_ospf_neighbor_all_cmd) ditto and fix the field
123 widths for NBMA neighbours.
124 (show_ip_ospf_neighbor_int) Use header function.
125 (show_ip_ospf_nbr_nbma_detail_sub) use sizeof for timebuf,
126 local array - safer.
127 (show_ip_ospf_neighbor_detail_sub) ditto
128 (ospf_vty_init) install the new SPF throttle timer commands.
129
1302005-10-21 Paul Jakma <paul.jakma@sun.com>
131
paulf9ad9372005-10-21 00:45:17 +0000132 * (general) OSPF fast, sub-second hello and 1s dead-interval
133 support.
134 * ospf_dump.c: (ospf_timer_dump) Print out milliseconds too.
135 Callers typically specify a length of 9, so most see
136 millisecs unless they specify the additional length.
137 * ospf_interface.h: (struct ospf_interface) new interface param,
138 fast_hello.
139 * ospf_interface.c: (ospf_if_table_lookup) add brackets,
140 gcc warning fix.
141 (ospf_new_if_params) Initialise fast_hello param.
142 (ospf_free_if_params) Check whether fast_hello is configured.
143 (ospf_if_new_hook) set fast_hello to default.
144 * ospf_ism.h: Wrap OSPF_ISM_TIMER_ON inside do {} while (0) to
145 prevent funny side-effects from its if statement when this
146 macro is used conditionally by other macros.
147 (OSPF_ISM_TIMER_MSEC_ON) new macro, set in milliseconds.
148 (OSPF_HELLO_TIMER_ON) new macro to set hello timer according
149 to whether fast_hello is set.
150 * ospf_ism.c: Update all setting of the hello timer to use
151 either OSPF_ISM_TIMER_MSEC_ON or OSPF_HELLO_TIMER_ON. The
152 former is used when hello is to be sent immediately.
153 * ospf_nsm.c: ditto
154 * ospf_packet.c: (ospf_hello) hello-interval is not checked
155 for mismatch if fast_hello is set.
156 (ospf_read) Annoying nit, fix "no ospf_interface" to be debug
157 rather than a warning, as it can be perfectly normal to
158 receive packets when logical subnets are used.
159 (ospf_make_hello) Set hello-interval to 0 if fast-hellos are
160 configured.
161 * ospf_vty.c: (ospf_auto_cost_reference_bandwidth) annoying
162 nit, don't vty_out if this command is given, it gets tired
163 quick.
164 (show_ip_ospf_interface_sub) Print the hello-interval
165 according to whether fast-hello is set or not.
166 Print the extra 5 millisec characters from (ospf_timer_dump)
167 if fast-hello is configured.
168 (ospf_vty_dead_interval_set) new function, common to all
169 forms of dead-interval command, to set dead-interval and
170 fast-hello correctly. If a dead-interval is given, unset
171 fast-hello, else if a hello-multiplier is set, set
172 dead-interval to 1 and fast-hello to given multiplier.
173 (ip_ospf_dead_interval_addr_cmd) use
174 ospf_vty_dead_interval_set().
175 (ip_ospf_dead_interval_minimal_addr_cmd) ditto.
176 (no_ip_ospf_dead_interval) Unset fast-hello.
177 (no_ip_ospf_hello_interval) Bug-fix, unset of hello-interval
178 should set it to OSPF_HELLO_INTERVAL_DEFAULT, not
179 OSPF_ROUTER_DEAD_INTERVAL_DEFAULT.
180 (config_write_interface) Write out fast-hello.
181 (ospf_config_write) Write a comment about
182 "auto-cost reference-bandwidth" having to be equal on all
183 routers. Hopefully just as noticeable as old practice of
184 writing to vty, but less annoying.
185 (ospf_vty_if_init) install the two new dead-interval
186 commands.
187 * ospfd.h: Add defines for OSPF_ROUTER_DEAD_INTERVAL_MINIMAL
188 and OSPF_FAST_HELLO_DEFAULT.
189
pauleb3da6d2005-10-18 04:20:33 +00001902005-10-18 Paul Jakma <paul.jakma@sun.com>
191
192 * (general) SPF memory management cleanup and fix for rare
193 double-free bug.
194 * ospf_spf.h: (struct vertex_parent) New struct to hold parent
195 specific data, eg the backlink and the parent vertex pointer,
196 and point to the appropriate general struct vertex_nexthop.
197 (struct vertex_nexthop) remove parent vertex pointer, so
198 this struct can be shared across vertices.
199 (struct vertex) rename list child to list children. Remove
200 list of nexthops, replace with list of vertex_parents.
201 * ospf_spf.c: (update_stat) trivial, remove cast from void *.
202 (vertex_nexthop_new) remove init of parent - field is gone
203 from struct vertex_nexthop.
204 (ospf_canonical_nexthops_free) Remove the canonical
205 vertex_nexthop memory objects. These are the vertex_nexthops
206 attached to the first level of router vertices from the root.
207 (vertex_parent_new) new function, create a vertex_parent.
208 (vertex_parent_free) ditto, but free it.
209 (ospf_vertex_new) Update to match changes to struct vertex.
210 (ospf_vertex_free) Recursively free a struct vertex and its
211 children. The parent list is used as a reference count.
212 vertex_nexthops must be free seperately, if required.
213 (ospf_vertex_dump) update to match struct vertex changes.
214 Print out backlink of parents too.
215 (ospf_vertex_add_parent) ditto.
216 (ospf_lsa_has_link) update comment.
217 (ospf_nexthop_add_unique) removed, not needed anymore.
218 (ospf_nexthop_merge) ditto.
219 (ospf_spf_consider_nexthop) renamed to ospf_spf_add_parent.
220 Simplified to just create vertex_parent and add it.
221 (ospf_spf_flush_parents) new function, flush out the parent
222 list.
223 (ospf_nexthop_calculation) Take the relevant route_lsa_link
224 as an argument, which simplifies things and removes the need
225 for the hack in ospf_nexthop_add_unique - ospf_spf_next
226 already knew exactly which link the cost calculated was for.
227 Update to match struct vertex changes too.
228 (ospf_spf_next) Don't create a vertex for W unnecessarily, if
229 it's there's a vertex already created for W, use it, and
230 hence there's no need to free it either.
231 Update some manipulation/comparisons of distance to match.
232 Flush the parent list if a lower cost path is found.
233 (ospf_spf_route_free) unused, removed.
234 (ospf_spf_dump) match the struct vertex changes, and dump the
235 ifname if possible.
236 (ospf_spf_calculate) At end of SPF, free the canonical nexthops
237 and call ospf_vertex_free on the root vertex to free the
238 entire tree.
239 * ospf_interface.c: (ospf_vl_set_params) match struct vertex
240 changes.
241 * ospf_route.c: (ospf_intra_route_add) ditto
242 (ospf_route_copy_nexthops_from_vertex) ditto
243
paul36238142005-10-11 04:12:54 +00002442005-10-11 Paul Jakma <paul.jakma@sun.com>
245
246 * ospf_api.c: sign warnings.
247 * ospf_apiserver.c: sign warning and convert all the struct
248 in_addr initialisations so as not to make assumptions about
249 how this struct is organised, initialise the s_addr member
250 explicitely.
251 * ospf_packet.c: Add const qualifier to auth_key.
252
vincent77df1f72005-10-06 07:46:22 +00002532005-10-06 Alain Ritoux <alain.ritoux@6wind.com>
254
255 * ospf_snmp.c: Avoid mixing interface and ospf_interface objects
256 which now allows snmpwalk to work with ospfIfTable and
257 also with ospfIfMetricTable
258
ajsf52d13c2005-10-01 17:38:06 +00002592005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
260
261 * ospf_dump.c: Remove local hard-coded table ospf_redistributed_proto.
262 (ospf_redist_string) New function implemented using new library
263 function zebra_route_string(). Note that there are a few differences
264 in the output that will result: the new function returns strings
265 that are lower-case, whereas the old table was mixed case. Also,
266 the old table mapped ZEBRA_ROUTE_OSPF6 to "OSPFv3", whereas the
267 new function returns "ospf6".
268 * ospfd.h: Remove extern struct message ospf_redistributed_proto[],
269 and add extern const char *ospf_redist_string(u_int route_type)
270 instead.
271 * ospf_asbr.c: (ospf_external_info_add) In two messages, use
272 ospf_redist_string instead of LOOKUP(ospf_redistributed_proto).
273 * ospf_vty.c: Remove local hard-coded table distribute_str.
274 (config_write_ospf_redistribute,config_write_ospf_distribute): Use
275 new library function zebra_route_string() instead of distribute_str[].
276 * ospf_zebra.c: (ospf_redistribute_set,ospf_redistribute_unset,
277 ospf_redistribute_default_set,ospf_redistribute_check)
278 In debug messages, use ospf_redist_string() instead of
279 LOOKUP(ospf_redistributed_proto).
280
jardin6638c1a2005-10-01 00:08:54 +00002812005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
282
283 * ospf_dump.c, ospf_ia.c, ospf_spf.c, ospf_ase.c:
284 remove unused DEBUG
285
vincentba682532005-09-29 13:52:57 +00002862005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
287
vincent5e4914c2005-09-29 16:34:30 +0000288 * ospf_ism.c: generate SNMP traps on Interface state change
289 * ospf_nsm.c: generate SNMP traps on Neighbour state change
290 * ospf_snmp.[ch]: support for SNMP traps for interface and neighbours.
291
2922005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
293
vincentba682532005-09-29 13:52:57 +0000294 * ospf_vty.c: forece default route LSA to be re_issued whenever
295 cost is changed ( [no] ip ospf area XXX default-cost YYY)
296 Support ignore-mtu option
297 * ospfd.h: define OSPF_MTU_IGNORE_DEFAULT
298 * ospf_packet.c: support ignore-mtu option
299 * ospf_interface.h: field added for skipping MTU check
300 * ospf_interface.c: fix memory leak in ospf_crypt_key_delete()
301 Set mtu_ignore field to default value
302 * ospf_abr.[ch]: export ospf_abr_announce_network_to_area()
303 * ospf_ism.h: add MACRO to convert internal ISM status into SNMP
304 correct values
305 * ospf_snmp.c: add sanity check on LSA type in lsdb_lookup_next()
306 convert OSPFIFSTATE internal status into SNMP values
307
vincentc1a03d42005-09-28 15:47:44 +00003082005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
309
310 * ospf_packet.c: use new md5 API
311
ajs5339cfd2005-09-19 13:28:05 +00003122005-09-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
313
314 * ospf_lsa.h: (ospf_external_lsa_flush) Comment out the 5th argument
315 (nexthop) since it is not used in the function (except inside
316 some commented-out code).
317 * ospf_lsa.c: (ospf_external_lsa_flush,ospf_external_lsa_refresh)
318 Comment out the 5th argument to ospf_external_lsa_flush.
319 * ospf_asbr.c: (ospf_redistribute_withdraw) Comment out 5th arg
320 to ospf_external_lsa_flush.
321 * ospf_vty.c: (no_ospf_default_information_originate) Eliminate 5th
322 uninitialized nexthop arg to ospf_external_lsa_flush.
323 * ospf_zebra.c: (ospf_zebra_read_ipv4) Comment out 5th arg
324 to ospf_external_lsa_flush.
325 * ospfd.c: (ospf_network_set) Comment out 5th arg
326 to ospf_external_lsa_flush.
327
ajse6a0bf92005-09-17 18:53:38 +00003282005-09-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
329
330 * ospf_opaque.c:
331 (ospf_opaque_lsa_refresh_schedule,ospf_opaque_lsa_flush_schedule)
332 No need to call ospf_lookup(), just use lsa0->area->ospf instead.
333
hassobb5b7552005-08-21 20:01:15 +00003342005-08-21 Hasso Tepper <hasso at quagga.net>
335
336 * ospf_vty.c: Make "show ip ospf neighbor xxx" commands work.
337 Interface should be specified by name now.
338
hasso54bedb52005-08-17 13:31:47 +00003392005-08-17 Hasso Tepper <hasso at quagga.net>
340
341 * ospf_vty.c: Check carefully if interface exists before trying to
342 print info about it.
343
hasso01018ce2005-08-05 07:40:15 +00003442005-08-05 Hasso Tepper <hasso at quagga.net>
345
346 * ospf_zebra.c: Don't assert/stop before type == ZEBRA_ROUTE_MAX if
347 dealing with routemaps. There is ospf->route_map[ZEBRA_ROUTE_MAX]
348 for default-information.
349
paulc8987752005-07-26 06:07:22 +00003502005-07-26 Paul Jakma <paul.jakma@sun.com>
351
352 * ospf_abr.c: (ospf_abr_announce_network_to_area) SET_FLAG
353 should be on lsa not old, which may be freed for one thing,
354 obviously.
355
pauld57834f2005-07-12 20:04:22 +00003562005-07-12 Paul Jakma <paul.jakma@sun.com>
357
358 * ospfd.h: add OSPF_ABR_DEFAULT for convenience, make
359 OSPF_ABR_CISCO be the default ABR type.
360 * ospfd.c: (ospf_new) initialise abr_type to OSPF_ABR_DEFAULT
361 * ospf_vty.c: (no_ospf_abr_type_cmd) add standard as a negatable
362 abr_type. default abr_type should be OSPF_ABR_DEFAULT.
363 (ospf_config_write) test whether default abr_type against
364 OSPF_ABR_DEFAULT, rather than any specific ABR_TYPE.
365
hasso8469bd72005-06-20 20:50:10 +00003662005-06-20 Hasso Tepper <hasso at quagga.net>
hassof4833e92005-06-20 20:42:26 +0000367
368 * ospf_nsm.c: Make database exchange for NSSA database work.
369
paul7461d452005-06-13 13:57:16 +00003702005-06-13 Paul Jakma <paul.jakma@sun.com>
371
372 * ospf_spf.c: Try get more information on a SEGV under
373 ospf_spf_vertex_add_parent.
374 (ospf_vertex_free) NULL out the child and nexthop lists
375 (ospf_vertex_add_parent) nexthop and child can not be NULL
376 vertex_nexthop's parent->child list can not be NULL
377 (ospf_spf_next) w and cw are per-loop iteration variables, move
378 declarations into loop body.
379
hasso1ddd7292005-06-07 19:54:04 +00003802005-06-07 Hasso Tepper <hasso at quagga.net>
381
382 * ospf_apiserver.c: Fix obvious error in notifying clients about ISM
383 changes - oi->ifp->status doesn't give to us info about ISM,
384 oi->state does.
385
paul7e440862005-06-01 11:20:51 +00003862005-06-01 Akihiro Mizutani <mizutani@net-chef.net>
387
388 * ospf_ism.c (ospf_elect_bdr/ospf_elect_dr): Fix DR election bug.
389
paul500e4182005-05-26 17:11:13 +00003902005-05-26 Paul Jakma <paul.jakma@sun.com>
391
392 * ospf_abr.c: (ospf_abr_update_aggregate) Fix comment, cost bug itself
393 had been fixed long ago by Sowmini.
394
paula3387a42005-05-18 23:29:57 +00003952005-05-19 Paul Jakma <paul.jakma@sun.com>
396
397 * ospf_interface.c: (ospf_if_table_lookup) Fix a serious bug
398 a less serious one.
399 1: this function is supposed to lookup
400 entries in the oifs ospf_interface route_table and return either
401 an existing oi or NULL to indicate not found, its caller depends
402 on this, yet this function uses route_node_get which /always/
403 returns a route_node - one is created if none exists. Use
404 route_node_lookup instead. This should fix root cause of the
405 reports of the (ospf_add_to_if) assert being hit.
406 2: oi's are inserted into this table with prefixlength set to
407 /32 (indeed, it should be a hash table, not a route_table),
408 however prefixlength to lookup was not changed, if no valid entry
409 can be inserted other than /32, then nothng but /32 should be
410 looked up. This possibly only worked by fluke..
411 Fix confirmed by 2 reporters (one list, one IRC), definitely a
412 backport candidate once it has been incubated in HEAD for a while.
413 Thanks to Patrick Friedel and Ivan Warren for testing.
414
paul69310a62005-05-11 18:09:59 +00004152005-05-11 Paul Jakma <paul.jakma@sun.com>
416
417 * (general) Fix memory leaks in opaque AS-scope LSAs, reported and
418 with much debugging done by by scott collins <scollins@agile.tv>.
419 * ospf_lsa.c: (ospf_discard_from_db) dont call
420 ospf_ase_unregister_external_lsa for opaque-lsa's, opaques are
421 never registered with ase in the first place.
422 * ospf_packet.c: (general) Disabuse opaque related code of its
423 tendency to try gather up things into temporary lists.
424 (ospf_ls_upd) remove the temporary lists opaque uses, call
425 opaque functions inline, just like all other types.
426 (ospf_ls_ack) ditto.
427 (ospf_recv_packet) fixup sign warning.
428 * ospf_opaque.c: (general) fix the unneeded use of lists, and
429 untwist some of the logic.
430 (ospf_opaque_self_originated_lsa_received) take a single LSA
431 as argument, not a list of them. Remove the list loop. Logic
432 otherwise unchanged.
433 (ospf_opaque_ls_ack_received) Mostly ditto. But untwist the logic,
434 move the actions up into the switch block, remove the goto's and
435 sanitise the logic near the end a bit.
436 * ospf_opaque.h: Adjust definitions of aforementioned functions
437 in ospf_opaque.c to match.
438
paul42c98192005-05-07 02:22:51 +00004392005-05-07 Yar Tikhiy <yar@comp.chem.msu.su>
440
441 * ospf_network.c: Log ifindex on multicast membership leave/join
442 events.
443
paul4dadc292005-05-06 21:37:42 +00004442005-05-06 Paul Jakma <paul.jakma@sun.com>
445
446 * (general) extern and static qualifiers added.
447 unspecified arguments in definitions fixed, typically they should
448 be 'void'.
449 function casts added for callbacks.
450 Guards added to headers which lacked them.
451 Proper headers included rather than relying on incomplete
452 definitions.
453 gcc noreturn function attribute where appropriate.
454 * ospf_opaque.c: remove the private definition of ospf_lsa's
455 ospf_lsa_refresh_delay.
456 * ospf_lsa.h: export ospf_lsa_refresh_delay
457 * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const,
458 correct thing to do - removes need for the casts later.
459 * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's
460 home-brewed versions, shuts up several warnings.
461 * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and
462 VTY_GET_IPV4_PREFIX moved to lib/vty.h.
463 * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky
464 overloading of the THREAD_ARG pointer should at least use
465 uintptr_t.
466
paul9e67dc22005-04-15 12:10:17 +00004672005-04-15 Zhipeng Gong <zpgong@cdc.3upsystems.com>
468
469 * ospf_abr.c: (ospf_abr_announce_network_to_area) dont forget
470 to approve LSAs for the case where metric has changed, lsa gets
471 flushed otherwise. (backport candidate).
472
ajs634f9ea2005-04-11 15:51:40 +00004732005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
474
475 * ospf_zebra.c (ospf_zebra_add): Call zclient_send_message instead
476 of writen.
477
ajsd2fc8892005-04-02 18:38:43 +00004782005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
479
ajse4319de2005-04-02 23:23:55 +0000480 * ospf_interface.h: (ospf_if_lookup_by_name) Remove declaration of a
481 function that does not exist.
482
4832005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
484
ajs21fefa92005-04-02 23:16:41 +0000485 * ospf_zebra.c: (zebra_interface_if_lookup) Must use
486 if_lookup_by_name_len.
487
4882005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
489
ajsa3491982005-04-02 22:50:38 +0000490 * ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create.
491
4922005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
493
ajsd2fc8892005-04-02 18:38:43 +0000494 * ospf_vty.c: (show_ip_ospf_interface_sub) Show ifindex and interface
495 flags to help with debugging.
496 * ospf_zebra.c: (ospf_interface_delete) After deleting, set ifp->ifindex
497 to IFINDEX_INTERNAL.
498 (zebra_interface_if_lookup) Make function static. Tighten up code.
499
ajsaca72fd2005-03-31 15:18:21 +00005002005-03-31 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
501
502 * ospf_dump.c: (show_debugging_ospf) Show if ospf event debugging
503 is turned on.
504
ajsfd651fa2005-03-29 16:08:16 +00005052005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
506
ajsa608bbf2005-03-29 17:03:49 +0000507 * ospf_zebra.c: (ospf_interface_state_up) If the MTU of an operative
508 interface changes, print a debug message and call ospf_if_reset()
509 to simulate down/up on the interface.
510 * ospf_interface.h: Declare new function ospf_if_reset().
511 * ospf_interface.c: (ospf_if_reset) New function to call ospf_if_down
512 and ospf_if_up for all ospf interfaces attached to an interface.
513
5142005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
515
ajs5dcbdf82005-03-29 16:13:49 +0000516 * ospf_packet.c: (ospf_write_frags) Enhance error message to
517 show MTU. Also make function static.
518 (ospf_write) Enhance error message to show interface name and MTU.
519 Also make function static.
520
5212005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
522
523 * ospf_vty.c: (show_ip_ospf_interface_sub) Display interface MTU and
524 bandwidth; this is useful for debugging problems. Also, the function
525 should be static.
ajsfd651fa2005-03-29 16:08:16 +0000526
hasso1b639042005-03-27 13:32:25 +00005272005-03-27 Hasso Tepper <hasso at quagga.net>
528
529 * ospf_snmp.c: Don't crash in snmp query if ospf instance doesn't
530 exist at all.
531
hasso343f5cc2005-03-25 19:48:40 +00005322005-03-25 Hasso Tepper <hasso at quagga.net>
533
534 * ospfd.h: Include log.h, fixes compile with gcc-4.0.
535
ajs9dbc7972005-03-13 19:27:22 +00005362005-03-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
537
538 * ospf_lsa.c: (ospf_lsa_refresh_walker) If the system clock jumps
539 backward, then current time may be less than
540 ospf->lsa_refresher_started. This was causing invalid values
541 for ospf->lsa_refresh_queue.index resulting in infinite loops.
542 Problem fixed by casting the expression to unsigned before taking
543 the modulus.
544
ajs5c333492005-02-23 15:43:01 +00005452005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
546
547 * ospfd.h: Add new field struct stream *ibuf to struct ospf.
548 * ospfd.c: (ospf_new) Check return code from ospf_sock_init.
549 Allocate ibuf using stream_new(OSPF_MAX_PACKET_SIZE+1).
550 (ospf_finish) Call stream_free(ospf->ibuf.
551 * ospf_packet.c: (ospf_read) Call stream_reset(ospf->ibuf) and then
552 pass it to ospf_recv_packet for use in receiving the packet
553 (instead of allocating a new stream for each packet received).
554 Eliminate all calls to stream_free(ibuf).
555 (ospf_recv_packet) The struct stream *ibuf is now passed in as
556 an argument. No need to use recvfrom to peek at the packet
557 header (to see how big it is), just use ospf->ibuf which is
558 always large enough (this eliminates a system call to recvfrom).
559 Therefore, no need to allocate a stream just for this packet,
560 and no need to free it when done.
561
hasso462f20d2005-02-23 11:29:02 +00005622005-02-23 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it>
563
564 * ospf_lsa.h: New flag to the LSA structure for the SPF calculation.
565 * ospf_lsdb.h: Export ospf_lsdb_clean_stat() function.
566 * ospf_spf.h: Add link to the LSA stat structure into vertex.
567 * ospf_spf.c: New functions cmp() and update_stat() to manage
568 candidates. Remove ospf_spf_has_vertex(), ospf_vertex_lookup(),
569 ospf_install_candidate() and ospf_spf_register() functions not needed
570 any more. Update ospf_vertex_new(), ospf_spf_next() and
571 ospf_spf_calculate() functions to use pqueue instead of linked list.
572
hassoe40dcce2005-02-21 14:58:42 +00005732005-02-21 Hasso Tepper <hasso at quagga.net>
574
575 * ospf_ase.c: Don't show messages related to the ase calculations if
576 we are not debugging.
577
hasso306541b2005-02-19 17:58:40 +00005782005-02-19 Hasso Tepper <hasso at quagga.net>
579
580 * ospf_api.h: char isn't always signed, but it has to be it here.
581
paulfa81b712005-02-19 01:19:20 +00005822005-02-19 Paul Jakma <paul.jakma@sun.com>
583
584 * ospf_packet.c: (ospf_stream_copy) remove
585 (ospf_packet_dup) use stream_copy instead of ospf_stream_copy
586
ajs038163f2005-02-17 19:55:59 +00005872005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
588
589 * ospf_packet.c: (ospf_recv_packet) If there is somehow a runt
590 packet in the queue, it must be discarded. Improve warning messages.
591 Fix scope to static.
592 (ospf_read) Fix bug: should reset the read thread in all cases
593 to make sure we continue to get incoming messages.
594
paul658b03a2005-02-15 10:10:55 +00005952005-02-15 Paul Jakma <paul.jakma@sun.com>
596
597 * ospf_packet.c: (ospf_recv_packet) Fix silly error wrt allocating
598 ibuf. Thanks Andrew.
599
paulbfdc44a2005-02-14 23:48:42 +00006002005-02-14 Paul Jakma <paul.jakma@sun.com>
601
602 * ospf_packet.c: (ospf_recv_packet) use stream_recvmsg.
603
hasso082253f2005-02-11 08:31:54 +00006042005-02-11 Hasso Tepper <hasso at quagga.net>
605
606 * ospf_lsdb.c: Fix sum of checksums calculation.
607
ajs083ee9d2005-02-09 15:35:50 +00006082005-02-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
609
610 * ospf_packet.c: (ospf_write) If sendmsg fails, give more info in the
611 error message.
612
ajsba6454e2005-02-08 15:37:30 +00006132005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
614
ajs8cfde372005-02-08 15:59:16 +0000615 * ospf_interface.h: Reduce structure padding by putting new u_char
616 field multicast_memberships in a better spot (grouped with
617 other u_char fields type and state).
618
6192005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
620
ajsba6454e2005-02-08 15:37:30 +0000621 * ospf_interface.h: Improve passive_interface comment. Add new
622 multicast_memberships bitmask to struct ospf_interface to track
623 active multicast subscriptions. Declare new function
624 ospf_if_set_multicast.
625 * ospf_interface.c: (ospf_if_set_multicast) New function to configure
626 multicast memberships properly based on the current
627 multicast_memberships status and the current values of the
628 ospf_interface state, type, and passive_interface status.
629 (ospf_if_up) Remove call to ospf_if_add_allspfrouters (this is
630 now handled by ism_change_state's call to ospf_if_set_multicast).
631 (ospf_if_down) Remove call to ospf_if_drop_allspfrouters (now
632 handled by ism_change_state).
633 * ospf_ism.c: (ospf_dr_election) Remove logic to join or leave
634 the DRouters multicast group (now handled by ism_change_state's call
635 to ospf_if_set_multicast).
636 (ism_change_state) Add call to ospf_if_set_multicast to change
637 multicast memberships as necessary to reflect the new interface state.
638 * ospf_packet.c: (ospf_hello) When a Hello packet is received on a
639 passive interface: 1. Increase the severity of the error message
640 from LOG_INFO to LOG_WARNING; 2. Add more information to the error
641 message (packet destination address and interface address);
642 and 3. If the packet was sent to ospf-all-routers, then try
643 to fix the multicast group memberships.
644 (ospf_read) When a packet is received on an interface whose state
645 is ISM_Down, enhance the warning message to show the packet
646 destination address, and try to update/fix the multicast group
647 memberships if the packet was sent to a multicast address.
648 When a packet is received for ospf-designated-routers, but the
649 current interface state is not DR or BDR, then increase the
650 severity level of the error message from LOG_INFO to LOG_WARNING,
651 and try to fix the multicast group memberships.
652 * ospf_vty.c: (ospf_passive_interface) Call ospf_if_set_multicast for
653 any ospf interface that may have changed from active to passive.
654 (no_ospf_passive_interface) Call ospf_if_set_multicast for
655 any ospf interface that may have changed from passive to active.
656 (show_ip_ospf_interface_sub) Show multicast group memberships.
657
paul3a9eb092005-02-08 11:29:41 +00006582005-02-08 Paul Jakma <paul@dishone.st>
659
660 * ospf_packet.c: (various) Remove unneeded stream_set_putp abuse.
661
ajs847947f2005-02-02 18:38:48 +00006622005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
663
664 * ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down,
665 not for event ISM_InterfaceDown. And improve the message by
666 adding the interface flags.
667
ajs0b7d97d2005-01-30 17:24:02 +00006682005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
669
670 * ospf_network.c: (ospf_sock_init) Save errno before calling
671 ospfd_privs.change.
672
ajsc3eab872005-01-29 15:52:07 +00006732005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
674
675 * ospf_packet.c: (ospf_packet_add) If oi->obuf is NULL, print
676 an error message and return.
677 (ospf_read) If the interface state is ISM_InterfaceDown, issue
678 a warning message and ignore the packet.
679
gdt86f1fd92005-01-10 14:20:43 +00006802005-01-10 Greg Troxel <gdt@fnord.ir.bbn.com>
681
682 * ospf_packet.h: Remove commented out definition of
683 OSPF_MAX_PACKET; neither it or the uncommented one are used any more.
684
685 * ospf_packet.c (ospf_make_ls_upd): Leave room for authentication
686 when deciding if an update will fit.
687 (ospf_packet_authspace): Factor out calculation of size required
688 for authentication.
689 (ospf_make_db_desc): Use ospf_max_packet, not OSPF_MAX_PACKET.
690 Don't confuse readers that there is a macro.
691
ajs3dc56b52004-12-30 15:11:19 +00006922004-12-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
693
694 * ospf_network.c: Improve all setsockopt error messages to give detailed
695 information on the arguments.
696
ajsb87f7722004-12-29 20:41:26 +00006972004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
698
ajs17eaa722004-12-29 21:04:48 +0000699 * ospf_packet.c: (ospf_db_desc) Reduce severity of "Negotiation done"
700 messages from LOG_WARNING to LOG_INFO, since this seems to be
701 normal.
702
7032004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
704
ajsb87f7722004-12-29 20:41:26 +0000705 * ospf_packet.c: (ospf_read) Always look up the interface if
706 ospf_recv_packet returns NULL ifp, since some platforms such
707 as Solaris 8 appear to support ifindex retrieval but don't.
708
hasso1d806282004-12-22 09:43:20 +00007092004-12-22 Hasso Tepper <hasso at quagga.net>
710
711 * ospf_dump.c: Show debug configuration in vtysh.
hassoc6b87812004-12-22 13:09:59 +0000712 * ospf_vty.c: Fix "show ip ospf" output. Router can't be elected in
713 any case if it's configured as "translate-never".
hassofe71a972004-12-22 16:16:02 +0000714 * ospf_lsdb.[ch]: New function to calculate sum of checksums.
715 * ospf_vty.c: Bugfix to show really number of AS external LSAs, not
716 number of all LSAs with AS scope, this includes opaque as LSAs as
717 well, show this number separately. Show numbers and sums of
718 checksums for each type of LSAs.
719 * ospf_lsa.c: Calculate checksum before putting LSA into database.
hasso1d806282004-12-22 09:43:20 +0000720
ajsbc18d612004-12-15 15:07:19 +00007212004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
722
723 * ospf_interface.h: Declare new function ospf_default_iftype.
724 * ospf_interface.c: (ospf_default_iftype) New function to centralize
725 this logic in one place.
726 * ospf_zebra.c: (ospf_interface_add) Use new function
727 ospf_default_iftype.
728 * ospf_vty.c: (no_ip_ospf_network,config_write_interface) Fix logic
729 by using new function ospf_default_iftype.
730
ajs3aa8d5f2004-12-11 18:00:06 +00007312004-12-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
732
733 * ospf_packet.c: (ospf_db_desc) Should be static, not global.
734 (ospf_hello,ospf_db_desc,ospf_ls_upd,ospf_ls_ack) Improve warning
735 messages to include identifying information (e.g. router id).
736 * ospf_nsm.c: (nsm_change_state) Improve info message to include
737 router id and state names.
738
gdt91f3e522004-12-09 14:51:03 +00007392004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
740
gdt3fb9de72004-12-09 16:30:04 +0000741 * ospf_apiserver.c (ospf_apiserver_term): Obtain struct
742 ospf_apiserver * from listnode. Remove unused variables. Follows
743 suggestion from Jay Fenlason.
gdt91f3e522004-12-09 14:51:03 +0000744
ajs9b0e25c2004-12-08 19:06:51 +00007452004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
746
747 * *.c: Change level of debug messages to LOG_DEBUG.
748
ajs274a4a42004-12-07 15:39:31 +00007492004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
750
751 * ospf_main.c: (main) The 2nd argument to openzlog has been removed.
752
ajs887c44a2004-12-03 16:36:46 +00007532004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
754
ajs1210fa62004-12-03 16:43:24 +0000755 * ospf_packet.c: (ospf_db_desc) Reduce priority on a debug message
756 from LOG_NOTICE to LOG_DEBUG.
757
7582004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
759
ajs887c44a2004-12-03 16:36:46 +0000760 * ospf_main.c: (sigint) Use zlog_notice for termination message.
761 (main) Issue a startup announcement using zlog_notice.
762
ajsbec595a2004-11-30 22:38:43 +00007632004-11-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
764
765 * ospf_packet.c: (ospf_db_desc_proc) Fix spelling of packet in warning
766 message and in comment.
767 (ospf_db_desc) Warning message that a packet is being discarded
768 should give the router id of the packet source. Fix spelling
769 of packet in two warning messages.
770 (ospf_ls_req) Warning message that a link state request is being
771 discarded should give the router id of the neighbor that sent it.
772
ajs5b85fac2004-11-26 19:36:42 +00007732004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
774
775 * ospf_main.c: Remove #include "debug.h" (was not being used, and
776 lib/debug.h has now been deleted).
777
hassoc0652302004-11-25 19:33:48 +00007782004-11-25 Hasso Tepper <hasso at quagga.net>
779
780 * ospf_main.c: Make group to run as configurable.
781
gdt69e13252004-11-15 18:51:15 +00007822004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
783
784 * ospf_packet.c (ospf_recv_packet): Assume CMSG_SPACE is present
785 and works (lib/zebra.h provides if OS doesn't).
786
paul788dab12004-11-15 11:48:37 +00007872004-11-15 Paul Jakma <paul@dishone.st>
788
789 * ospf_{apiserver,te}.c: ospf_lsa_free's should be ospf_lsa_unlock.
790
paul05e85fa2004-11-12 10:52:19 +00007912004-11-12 Paul Jakma <paul@dishone.st>
792
793 * ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to
794 ignore stub area summary default. Even so it seems a strange
795 check, add a comment to that effect.
796
paulf3ae74c2004-11-04 20:35:31 +00007972004-11-04 Paul Jakma <paul@dishone.st>
798
799 * ospfd.c: (ospf_network_match_iface) revert to previous network
800 statement match behaviour.
801
paul62d8e962004-11-02 20:26:45 +00008022004-11-02 Paul Jakma <paul@dishone.st>
803
804 * ospf_packet.c: (ospf_write_frags) remove iov arg, msg already points
805 to it. Add convenience pointer to msg->msg_iov[1], and use this,
806 fixing the unfortunate borkenness introduced in moving of this code
807 to a function.
808 (ospf_write) remove iovp and fix up call to previous.
809 (ospf_ls_upd_packet_new) cast size to long int - unfortunately
810 glibc's size_t format modifier is not portable.
811
paul37ccfa32004-10-31 11:24:51 +00008122004-10-31 Paul Jakma <paul@dishone.st>
813
814 * ospf_packet.c: (ospf_write_frags) Add debug output
815 (ospf_write) set type early, so we can pass it to
816 ospf_write_frags.
817 (ospf_ls_upd_packet_new) print size in debug output when too large
818 packet is encountered.
paul64511f32004-10-31 18:01:13 +0000819 * ospf_zebra.c: (ospf_distribute_list_update_timer) Ugly misuse of
820 THREAD_ARG to store an integer, but it should at least use same
821 same type to retrieve the value. Assert value is sane.
paul37ccfa32004-10-31 11:24:51 +0000822
paulac191232004-10-22 12:05:17 +00008232004-10-22 Paul Jakma <paul@dishone.st>
824
825 * ospf_network.c: (ospf_sock_init) call neutral setsock_ifindex()
826 function.
827 * ospf_packet.c: (ospf_read) manually look up ifindex
paul4ccb2c42004-10-22 22:52:33 +0000828 if system could not have returned one, eg openbsd, thanks to Rivo
829 Nurges for highlighting problem and fix.
paul06f953f2004-10-22 17:00:38 +0000830 Change setsockopt_pktinfo to setsockopt_ifindex.
paulac191232004-10-22 12:05:17 +0000831
hasso3fb9cd62004-10-19 19:44:43 +00008322004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
833
834 * ospf_snmp.c: (ospf_snmp_if_update) Fix logic to handle PtP links
835 with dedicated subnets properly.
836 * ospf_lsa.c: (lsa_link_ptop_set) ditto.
837 * ospfd.c: (ospf_network_match_iface) ditto.
838 (ospf_network_run) ditto.
839 * ospf_interface.c: (ospf_if_is_configured) ditto.
840 (ospf_if_lookup_by_prefix) ditto.
841 (ospf_if_lookup_recv_if) ditto.
842 * ospf_vty.c: (show_ip_ospf_interface_sub) Display the peer or
843 broadcast address if present.
844
hassod68614d2004-10-13 09:32:48 +00008452004-10-13 Hasso Tepper <hasso at quagga.net>
846
847 * ospf_main.c: Unbreak compilation with ospfapi disabled.
hassoc75105a2004-10-13 10:33:26 +0000848 * ospf_snmp.c: Remove defaults used to initialize smux connection to
849 snmpd. Connection is initialized only if smux peer is configured.
hassod68614d2004-10-13 09:32:48 +0000850
hassof4d58ce2004-10-12 06:13:54 +00008512004-10-12 Hasso Tepper <hasso at quagga.net>
852
853 * ospf_main.c, ospf_opaque.c: Unbreak ospfclient compilation - move
854 static variable from ospf_main.c into ospf_opaque.c.
855
hassoc3abdb72004-10-11 16:27:03 +00008562004-10-11 Hasso Tepper <hasso at quagga.net>
857
858 * ospf_main.c, ospf_opaque.c: Disable ospfapi init by default. New
859 command line switch to enable it.
860
paul6b333612004-10-11 10:11:25 +00008612004-10-11 Paul Jakma <paul@dishone.st>
862
863 * ospf_dump.c: (ospf_ip_header_dump) Assume header is in host order
864 remove ntohs that should have dissappeared. Take struct ip
865 as argument, caller has to know there's an IP header at start of
866 stream anyway.
867 * ospf_dump.h: update declaration of ospf_ip_header_dump.
868 * ospf_packet.c: (ospf_write) correct call to
869 sockopt_iphdrincl_swab_htosys which was munging the header.
870 (ospf_recv_packet) ip_len is needed for old OpenBSD fixup.
871 (ospf_read) sockopt_iphdrincl_swab_systoh ip header as soon as
872 we have it.
paul6c835672004-10-11 11:00:30 +0000873 * (global) Const char update and signed/unsigned fixes.
874 * (various headers) size defines should be unsigned.
875 * ospf_interface.h: remove duplicated defines, include the
876 authoritative header - though, these defines should probably
877 be moved to a dedicated header, or ospfd.h.
878 * ospf_lsa.h: (struct lsa) ls_seqnum should be unsigned.
879 * ospf_packet.c: (ospf_write) cast result of shift to unsigned.
paul6b333612004-10-11 10:11:25 +0000880
hassoeb1ce602004-10-08 08:17:22 +00008812004-10-08 Hasso Tepper <hasso at quagga.net>
882
883 * *.[c|h]: Fix compiler warnings: make some strings const, signed ->
884 unsigned, remove unused variables etc.
885
gdt54ade992004-10-07 19:38:20 +00008862004-10-07 Greg Troxel <gdt@claude.ir.bbn.com>
887
888 * ospf_apiserver.c (ospf_apiserver_unregister_opaque_type): Don't
889 use of variable names 'node' and 'nextnode' to avoid possible
890 conflict with list macros. Move variable declaration inside for
891 loop after a statement to top of function.
892
paulaa20c6f2004-10-07 14:19:36 +00008932004-10-07 Paul Jakma <paul@dishone.st>
894
895 * ospf_snmp.c: Missed list typedef update
896 * ospf_dump.c: Include sockopt.h for header swab functions.
897
paul18b12c32004-10-05 14:38:29 +00008982004-10-05 Paul Jakma <paul@dishone.st>
899
900 * ospf_packet.c: replace ospf_swap_iph_to... with
901 sockopt_iphdrincl_swab_...
902
hasso18a6dce2004-10-03 18:18:34 +00009032004-10-03 James R. Leu <jleu at mindspring.com>
904
905 * ospf_zebra.c: Read router id related messages from zebra daemon.
906 Schedule router-id update thread if it's changed.
907 * ospfd.c: Remove own router-id selection function. Use router id from
908 zebra daemon if it isn't manually overriden in configuration.
909
paul68defd62004-09-27 07:27:13 +00009102004-09-27 Paul Jakma <paul@dishone.st>
911
paul6a99f832004-09-27 12:56:30 +0000912 * ospf_dump.c: (ospf_ip_header_dump) Use HAVE_IP_HDRINCL_BSD_ORDER
913 Apply to offset too. Print ip_cksum, lets not worry about
914 possible 2.0.37 compile problems.
915 * ospf_packet.c: (ospf_swap_iph_to{n,h}) Use
916 HAVE_IP_HDRINCL_BSD_ORDER.
917 (ospf_recv_packet) ditto.
918 (ospf_write) Fixup iov argument to ospf_write_frags.
919 (struct msghdr).msg_name is caddr_t on most platforms.
paul68defd62004-09-27 07:27:13 +0000920 (ospf_recv_packet) ditto. And msg_flags is not always there
921 memset struct then set fields we care about rather than
922 initialise all fields individually.
923
hassoc9e52be2004-09-26 16:09:34 +00009242004-09-26 Hasso Tepper <hasso at quagga.net>
925
926 * ospf_abr.c, ospf_dump.c, ospf_lsa.c, ospf_packet.c, ospf_vty.c,
927 ospf_zebra.c: Fix compiler warnings.
928
paul87d6f872004-09-24 08:01:38 +00009292004-09-24 Paul Jakma <paul@dishone.st>
930
931 * ospf_apiserver.{c,h}: lists typedef removal cleanup.
932 update some list loops to LIST_LOOP. some miscellaneous indent
933 fixups.
934 (ospf_apiserver_unregister_opaque_type) fix listnode_delete of
935 referenced node in loop.
paul1603c062004-09-24 08:23:24 +0000936 (ospf_apiserver_term) loops calling ospf_apiserver_free, which
937 deletes referenced nodes from apiserver_list, fixed.
paul87d6f872004-09-24 08:01:38 +0000938 * ospf_interface.h: lists typedef removal cleanup.
939 * ospf_opaque.{c,h}: lists typedef removal cleanup. update some list
940 loops to LIST_LOOP. miscellaneous style and indent fixups.
941 * ospf_te.{c,h}: ditto
942 * ospf_packet.c: lists typedef removal cleanup.
paula2570682004-09-24 08:09:57 +0000943 (ospf_write) ifdef fragmentation support. move actual
944 fragmentation out to a new, similarly ifdefed, function.
945 (ospf_write_frags) fragmented write support, moved from previous.
paul87d6f872004-09-24 08:01:38 +0000946
hasso52dc7ee2004-09-23 19:18:23 +00009472004-09-23 Hasso Tepper <hasso at quagga.net>
948
949 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
950
paul68b73392004-09-12 14:21:37 +00009512004-09-12 Paul Jakma <paul@dishone.st>
952
953 * ospf_packet.c: Fix bugzilla #107
954 (ospf_packet_max) get rid of the magic 88 constant
955 (ospf_swab_iph_ton) new function. set ip header to network order,
956 taking BSDisms into account.
957 (ospf_swab_iph_toh) the inverse.
958 (ospf_write) Add support for IP fragmentation, will only work on
959 linux though, other kernels make it impossible. get rid of the
960 magic 4 constant.
961 (ospf_make_ls_upd) Bound check to end of stream, not to
962 interface mtu.
963 (ospf_ls_upd_packet_new) New function, allocate upd packet
964 taking oversized LSAs into account.
965 (ospf_ls_upd_queue_send) use ospf_ls_upd_packet_new to allocate,
966 rather than statically allocating mtu sized packet buffer, which
967 actually was wrong - it didnt take ip header into account, which
968 should not be included in packet buffer.
969 (ospf_ls_upd_send_queue_event) minor tweaks and remove
970 TODO comment.
971
gdt630e4802004-08-31 17:28:41 +00009722004-08-31 David Wiggins <dwiggins@bbn.com>
973
974 * ospf_spf.c (ospf_spf_calculate): Many more comments and debug
975 print statements. New function ospf_vertex_dump used in debugging.
976
9772004-08-31 David Wiggins <dwiggins@bbn.com>
978
979 * ospf_spf.h (struct vertex): Comments for flags and structure members.
980
9812004-08-31 David Wiggins <dwiggins@bbn.com>
982
983 * ospf_route.c: When finding an alternate route, log cost as well.
984
9852004-08-31 David Wiggins <dwiggins@bbn.com>
986
987 * ospf_interface.c (ospf_lookup_if_params): Initialize af in
988 struct prefix allocated on stack.
989
9902004-08-31 David Wiggins <dwiggins@bbn.com>
991
992 * ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send
993 acks to AllSPFRouters, rather than All-DR.
994
hasso7b901432004-08-31 13:37:42 +00009952004-08-27 Hasso Tepper <hasso at quagga.net>
996
997 * ospf_vty.c: Don't print ospf network type under interface only
998 if interface is in broadcast mode and interface type really is
999 broadcast. Fixes Bugzilla #108.
1000
gdtd7d93992004-08-27 12:03:42 +000010012004-08-27 David Wiggins <dwiggins@bbn.com>
1002
1003 * ospf_spf.c (ospf_nexthop_calculation): Initialize address family
1004 in on-stack struct prefix_ipv4. Fixes point-to-multipoint SPF
1005 calculation.
1006
gdtd0deca62004-08-26 13:14:07 +000010072004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
1008
1009 * ospf_packet.c (ospf_recv_packet): adjust size declaration of
gdtd7d93992004-08-27 12:03:42 +00001010 buffer used to get interface index so that it compiles on other
1011 than Linux and includes the required alignment space. Probably
1012 this was only working on sparc/sparc64 because most of
1013 sockaddr_dl was not being written.
gdtd0deca62004-08-26 13:14:07 +00001014
paul863082d2004-08-19 04:43:43 +000010152004-08-19 Paul Jakma <paul@dishone.st>
1016
1017 * ospf_packet.c: update to match sockopt renames.
1018
paul75ee0b82004-08-05 09:10:31 +000010192004-08-04 Paul Jakma <paul@dishone.st>
1020
1021 * ospf_spf.c: (ospf_spf_consider_nexthop) Add comment about issue.
1022 Compare only against list head - all nexthops must be same cost
1023 anyway, fixes a reference-listnode-after-delete bug noted by
1024 Kir Kostuchenko.
1025 (ospf_nexthop_calculation) Use ospf_spf_consider_nexthop for all
1026 candidates attached to root.
1027
paul36c64ef2004-07-27 11:19:11 +000010282004-07-27 Paul Jakma <paul@dishone.st>
1029
paul48fe13b2004-07-27 17:40:44 +00001030 * ospf_packet.c: (ospf_ls_upd_send_queue_event) fix thinko from
1031 last fix for ospfd wedging due to oversize LSAs: dont list loop on
1032 ospf_ls_upd_queue_send() - guaranteed segfault.
1033
10342004-07-27 Paul Jakma <paul@dishone.st>
1035
paul36c64ef2004-07-27 11:19:11 +00001036 * ospf_opaque.c: (ospf_opaque_lsa_flush_schedule) do not NULL out
1037 the LSA as then free_opaque_info_per_id() can never unlock (and
1038 free) the LSA. Reported by Gunnar Stigen.
1039
paul2dd8bb42004-07-23 15:13:48 +000010402004-07-23 Paul Jakma <paul@dishone.st>
1041
1042 * ospf_network.c: Replace PKTINFO/RECVIF with call to
1043 setsockopt_pktinfo
1044 * ospf_packet.c: Use getsockopt_pktinfo_ifindex and
1045 SOPT_SIZE_CMSG_PKTINFO_IPV4.
1046
paul59ea14c2004-07-14 20:50:36 +000010472004-07-14 Paul Jakma <paul@dishone.st>
1048
1049 * ospf_packet.c: (ospf_ls_upd_send_queue_event) Partial fix for
1050 problem reported by Peter Frost amongst others, where function
1051 will spin indefinitely if update list contains LSAs greater than
1052 MTU-headers or other condition leading to update list never being
1053 cleared. Problem of what to do with these LSAs remains.
1054 (ospf_make_ls_upd) add comment about large LSA problem,
1055 indentation cleanup.
1056
gdtb2c1b282004-07-01 12:35:36 +000010572004-07-01 Greg Troxel <gdt@fnord.ir.bbn.com>
1058
1059 * Makefile.am (lib_LTLIBRARIES): make libospf shared
1060
gdt87efd642004-06-30 17:36:11 +000010612004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1062
1063 * Makefile.am: Add shlib support.
1064
hassobeebba72004-06-20 21:00:27 +000010652004-06-10 Hasso Tepper <hasso@estpak.ee>
1066
1067 * *: Removed ifdefs HAVE_NSSA.
1068
paul553ff112004-06-06 09:41:00 +000010692004-06-06 Paul Jakma <paul@dishone.st>
1070
1071 * ospf_dump.c,ospf_lsa.c: Fix typos of merge of previous.
1072 ospf_flood.c: (ospf_process_self_originated_lsa) fix zlog format
1073
paul0c2be262004-05-31 14:16:54 +000010742004-05-31 Sagun Shakya <sagun.shakya@sun.com>
1075
1076 * ospf_dump.c: (ospf_lsa_header_dump) LOOKUP can return null if
1077 index is out of range.
1078 ospf_flood.c: endianness fix
1079 ospf_lsa.c: Missing ntohl's on (struct lsa *)->data->ls_seqnum
1080 in various places.
1081
hassodd669bb2004-05-10 07:43:59 +000010822004-05-10 Hasso Tepper <hasso@estpak.ee>
1083
1084 * ospf_zebra.c, ospfd.c: Move ospf_prefix_list_update() function
1085 to ospf_zebra.c from ospfd.c and add redistribution updates if
1086 route-map is used in redistribution.
1087 * ospf_main.c: Remove now useless call to ospf_init().
1088
paul0a589352004-05-08 11:48:26 +000010892004-05-08 Paul Jakma <paul@dishone.st>
1090
1091 * ospf_zebra.c: Sync with lib/zclient changes
1092
pauld3f0d622004-05-05 15:27:15 +000010932004-05-05 Paul Jakma <paul@dishone.st>
1094
paul5bd41892004-05-05 17:29:24 +00001095 * ospf_network.c: (ospf_sock_init) Check whether IP_HDRINCL is
1096 defined. Warn at compile and runtime. Use
1097 IPTOS_PREC_INTERNETCONTROL otherwise.
pauld3f0d622004-05-05 15:27:15 +00001098 * ospf_packet.c: (ospf_associate_packet_vl) cleanup, move
1099 some of the checks up to ospf_read, return either a
1100 virtual link oi, or NULL.
1101 (ospf_read) Cleanup, make it responsible for checks. Remove
1102 the nbr lookup - moved to ospf_neighbor. Adjust all nbr
1103 lookups to use new wrappers exported by ospf_neighbor.
1104 * ospf_neighbor.h: Add ospf_neigbour_get and ospf_nbr_lookup.
1105 * ospf_neighbor.c: (ospf_neigbour_get) Index ospf_interface
1106 neighbour table by router-id for virtual-link ospf_interfaces,
1107 not by peer_addr (which breaks for asymmetric vlinks)
1108 (ospf_nbr_lookup) add a wrapper for nbr lookups to deal with
1109 above.
paulcd59da62004-05-05 17:26:55 +00001110 * ospf_interface.c: (ospf_vl_set_params) Catch changes of interface
1111 address for either end of a virtual-link, and hence potential cost
1112 changes.
1113
hassoa0a39762004-04-23 08:51:10 +000011142004-04-22 Hasso Tepper <hasso@estpak.ee>
1115
1116 * ospf_zebra.c: Don't ignore reject/bh routes, it's the only way
1117 to "summarize" routes in ASBR at the moment.
1118
hasso8585d4e2004-04-20 17:25:12 +000011192004-04-20 Hasso Tepper <hasso@estpak.ee>
1120
1121 * ospfd.c: Unset NP flag if area is going to be normal or stub.
1122 Fixes UNH OSPF_NSSA.1.2a comment.
1123 * ospf_abr.c: Originate default into stub/nssa area even if
1124 summaries are disabled.
1125 * ospf_zebra.c: Don't attempt to redistribute 127.0.0.0/8.
1126
hassoc266ac72004-04-19 17:31:00 +000011272004-04-19 Hasso Tepper <hasso@estpak.ee>
1128
1129 * ospf_vty.c: Don't warn that export- and import-list can't be
1130 configured to backbone area if they are applied and are working
1131 fine.
1132
hasso128d31d2004-04-04 12:52:33 +000011332004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1134
1135 * ospf_packet.c: Don't drop packets in Solaris x86.
1136 [quagga-dev 1005].
1137
hasso0d85b992004-03-18 19:18:33 +000011382004-03-18 Amir Guindehi <amir@datacore.ch>
1139
1140 * ospf_opaque.c: Attempt to correct the incorrect behavior of
1141 Quagga's ospfd in the special situation that a node's opaque
1142 capability has changed as "ON -> OFF -> ON". [quagga-dev 843].
1143
paul7f352b82004-02-19 19:37:47 +000011442004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1145
1146 * ospf_abr.c: (ospf_abr_update_aggregate) UNH 3.12b,c, address range
1147 should be configured with the highest cost path within the range,
1148 not lowest.
1149
paul940b01a2004-02-17 20:07:30 +000011502004-02-17 Paul Jakma <paul@dishone.st>
1151
1152 * ospf_zebra.c: (ospf_interface_delete) Do not delete the interface
1153 params, nor the interface structure, if an interface delete
1154 message is received from zebra.
1155 * ospf_interface.c: (ospf_if_delete_hook) Delete the interface
1156 params and interface, ie that which was previously removed in
1157 (ospf_interface_delete) above.
1158
hasso2db3d052004-02-11 21:52:13 +000011592004-02-11 Hasso Tepper <hasso@estpak.ee>
1160 * ospf_interface.c, ospf_zebra.c: Don't attempt to read path->oi->ifp
1161 if oi doesn't exist any more.
1162
hassocb05eb22004-02-11 21:10:19 +000011632004-02-11 Vadim Suraev <vadim.suraev@terayon.com>
1164 * ospf_packet.c (ospf_ls_upd): Router should flush received network
1165 LSA if it was originated with older router-id ([zebra 14710] #6).
1166
11672003-12-08 Mattias Amnefelt <mattiasa@kth.se>
paul239aecc2003-12-08 10:34:54 +00001168
1169 * ospf_packet.c: (ospf_recv_packet) OpenBSD now leaves iph.ip_len
1170 network byte order.
1171
gdt8f40e892003-12-05 14:01:43 +000011722003-12-05 Greg Troxel <gdt@poblano.ir.bbn.com>
1173
1174 * ospfd.c (ospf_network_match_iface): Rewrite code for clarity
1175 while trying not to change semantics. Add ifdefed-out code to
1176 avoid matching ppp interfaces whose destination address does not
1177 also match the prefix under consideration, to help out people with
1178 problems due to as-yet-unfixed bugs with p2p interfaces coming and
1179 going.
1180
paul736d3442003-07-24 23:22:57 +000011812003-07-25 kamatchi soundaram <kamatchi@tdd.sj.nec.com>
1182
1183 * ospf_packet.c (ospf_ls_upd_send_queue_event): get next route
1184 node in body of the loop to avoid chance that route node
1185 is unlocked and deleted before the next iteration tries to
1186 get next route node.
1187
paul0a825c72003-05-24 13:48:16 +000011882003-05-24 Kenji Yabuuchi
1189
1190 * ospf_interface.c(ospf_if_lookup_recv_if): Use the most specific
1191 match for interface lookup.
1192
paul551a8972003-05-18 15:22:55 +000011932003-05-18 Hasso Tepper <hasso@estpak.ee>
paul445f1432003-05-16 19:00:31 +00001194
paul551a8972003-05-18 15:22:55 +00001195 * ospf_vty.c: Show NSSA LSA route info in "show ip ospf database"
1196 output
paul445f1432003-05-16 19:00:31 +00001197
pauld7480322003-05-16 17:31:51 +000011982003-05-16 Hasso Tepper <hasso@estpak.ee>
1199
1200 * ospf_lsa.c: Fix handling of NSSA
1201
paul551a8972003-05-18 15:22:55 +000012022003-04-23 Hasso Tepper <hasso@estpak.ee>
1203
1204 * ospf_vty.c: fix "router xxx" node commands in vtysh
1205
paul445f1432003-05-16 19:00:31 +000012062003-04-19 Hasso Tepper <hasso@estpak.ee>
1207
1208 * {ospf_abr,ospfd}.c: area id's DECIMAL -> ADDRESS
1209 * ospf_routemap.c: sync daemon's route-map commands to have same
1210 syntax.
1211
12122003-04-19 Sergey Vyshnevetskiy <serg@vostok.net>
1213
1214 * ospf_packet.c: Add missing param to zlog
1215 * ospf_flood.c: remove unused vars
1216
12172003-04-17 Denis Ovsienko <zebra@pilot.org.ua>
1218
1219 * ospf_interface.c: fix incorrect memset
1220
paul28a13842003-05-16 20:30:37 +000012212003-04-10 Amir Guindehi <amir@datacore.ch>
paul445f1432003-05-16 19:00:31 +00001222
1223 * ospf_lsa.[ch]: opaque LSA fix, use ospf_lookup.
1224
12252003-04-03 David Watson <dwatson@eecs.umich.edu>
1226
1227 * ospf_lsa.c: byte order fix
1228
paul07661cb2003-03-18 00:03:05 +000012292002-03-17 Amir Guindehi <amir@datacore.ch>
1230
1231 * ospf_apiserver.[ch]: Merge Ralph Keller's OSPFAPI support.
1232 * ospf_api.[ch]: Merge Ralph Keller's OSPFAPI support.
1233 * ospfclient: OSPFAPI demonstration client.
1234
12352003-01-23 Masahiko Endo <endo@suri.co.jp>
1236
1237 * ospf_ism.c: NSM event schedule bug fix.
1238
12392002-10-30 Greg Troxel <gdt@ir.bbn.com>
1240
1241 * ospf_packet.c (ospf_make_md5_digest): MD5 length fix.
1242
paul718e3742002-12-13 20:15:29 +000012432002-10-23 endo@suri.co.jp (Masahiko Endo)
1244
1245 * ospf_opaque.c: Update Opaque LSA patch.
1246
12472002-10-23 Ralph Keller <keller@tik.ee.ethz.ch>
1248
1249 * ospf_vty.c (show_ip_ospf_database): Fix CLI parse.
1250
12512002-10-23 Juris Kalnins <juris@mt.lv>
1252
1253 * ospf_interface.c (ospf_if_stream_unset): When write queue
1254 becomes empty stop write timer.
1255
12562002-10-10 Greg Troxel <gdt@ir.bbn.com>
1257
1258 * ospf_packet.c (ospf_check_md5_digest): Change >= to > to make it
1259 conform to RFC.
1260
12612002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1262
1263 * zebra-0.93 released.
1264
12652002-06-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1266
1267 * ospf_spf.c (ospf_nexthop_calculation): Add NULL set to oi and
1268 check of l2. Reported by: Daniel Drown <dan-zebra@drown.org>
1269 (ospf_lsa_has_link): LSA Length calculation fix. Reported by:
1270 Paul Jakma <paulj@alphyra.ie>.
1271
1272 * ospfd.c (ospf_if_update): Fix nextnode reference bug. Reported
1273 by: juris@mt.lv.
1274
12752002-01-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1276
1277 * ospfd.c: Merge [zebra 11445] Masahiko ENDO's Opaque-LSA support.
1278
12792001-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1280
1281 * ospf_interface.c (ospf_add_to_if): Use /32 address to register
1282 OSPF interface information.
1283 (ospf_delete_from_if): Likewise.
1284
1285 * ospf_zebra.c (ospf_interface_address_delete): Likewise.
1286
12872001-08-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1288
1289 * ospf_zebra.c (ospf_redistribute_unset): When redistribute type
1290 is OSPF, do not unset redistribute flag.
1291
12922001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1293
1294 * zebra-0.92a released.
1295
12962001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1297
1298 * zebra-0.92 released.
1299
13002001-08-12 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1301
1302 * ospfd.c (ospf_config_write): auto-cost reference-bandwidth
1303 configuration display.
1304
13052001-07-24 David Watson <dwatson@eecs.umich.edu>
1306
1307 * ospf_spf.c (ospf_spf_next): Modify ospf_vertex_add_parent to
1308 check for an existing link before connecting the parent and child.
1309 ospf_nexthop_calculation is also modified to check for duplicate
1310 entries when copying from the parent. Finally, ospf_spf_next
1311 removes duplicates when it merges two equal cost candidates.
1312
13132001-07-23 itojun@iijlab.net
1314
1315 * ospfd.c (show_ip_ospf_neighbor): Check ospf_top before use it
1316 [zebra 8549].
1317
13182001-07-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1319
1320 * ospf_packet.c (ospf_write): Remove defined(__OpenBSD__) to make
1321 it work on OpenBSD.
1322
13232001-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1324
1325 * ospf_zebra.c (config_write_ospf_default_metric): Display
1326 default-metric configuration.
1327
13282001-06-18 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1329
1330 * ospf_ia.h (OSPF_EXAMINE_SUMMARIES_ALL): Remove old macros.
1331
13322001-05-28 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1333
1334 * ospf_snmp.c (ospfIfEntry): Fix interface lookup bug to avoid
1335 crush.
1336 (ospfIfMetricEntry): Likewise.
1337
13382001-03-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1339
1340 * ospf_packet.c (ospf_read): Fix typo. Reported by: "Jen B
1341 Lin'Kova" <jen@stack.net>.
1342
13432001-03-15 Gleb Natapov <gleb@nbase.co.il>
1344
1345 * ospf_interface.c (ip_ospf_network): Set interface parameter.
1346 (interface_config_write): Add check for OSPF_IFTYPE_LOOPBACK.
1347
1348 * ospf_zebra.c (ospf_interface_add): Set interface parameter.
1349
13502001-02-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1351
1352 * ospf_packet.c (ospf_recv_packet): Solaris also need to add
1353 (iph.ip_hl << 2) to iph.ip_len.
1354
13552001-02-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1356
1357 * ospfd.h (OSPF_LS_REFRESH_TIME): Fix OSPF_LS_REFRESH_TIME value.
1358 Suggested by: David Watson <dwatson@eecs.umich.edu>.
1359
1360 * ospf_zebra.c (zebra_init): Remove zebra node.
1361
1362 * ospfd.c (ospf_area_range_set): Function name is changed from
1363 ospf_ara_range_cmd.
1364 (ospf_area_range_unset): New function which separated from DEFUN.
1365 New commands are added:
1366 "no area A.B.C.D range A.B.C.D/M advertise"
1367 "no area <0-4294967295> range A.B.C.D/M advertise"
1368 "no area A.B.C.D range A.B.C.D/M not-advertise"
1369 "no area <0-4294967295> range A.B.C.D/M not-advertise"
1370
1371 * ospf_lsa.c (ospf_lsa_more_recent): Fix previous change.
1372
13732001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
1374
1375 * ospf_network.c (ospf_if_add_allspfrouters): Use
1376 setsockopt_multicast_ipv4.
1377 (ospf_if_drop_allspfrouters): Likewise.
1378
1379 * ospf_lsa.c (ospf_router_lsa_install): Add rt_recalc flag.
1380 (ospf_network_lsa_install): Likewise.
1381 (ospf_summary_lsa_install): Likewise.
1382 (ospf_summary_asbr_lsa_install): Likewise.
1383 (ospf_external_lsa_install): Likewise.
1384 (ospf_lsa_install): Call ospf_lsa_different to check this LSA is
1385 new one or not.
1386
13872001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1388
1389 * ospf_zebra.c (ospf_interface_delete): Do not free interface
1390 structure when ospfd receive interface delete message to support
1391 pseudo interface.
1392
13932001-02-01 Dick Glasspool <dick@ipinfusion.com>
1394
1395 * ospfd.c (area_range_notadvertise): Change area range "suppress"
1396 command to "not-advertise".
1397
1398 * ospfd.h (OSPF_LS_REFRESH_TIME): Change OSPF_LS_REFRESH_TIME from
1399 1800 to 60.
1400
1401 * ospf_abr.c (ospf_abr_update_aggregate): When update_aggregate is
1402 updating the area-range, the lowest cost is now saved.
1403
1404 * ospf_lsa.c (ospf_lsa_more_recent): Routing to compare sequence
1405 numbers rather than creating overflow during calculation.
1406
14072001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1408
1409 * zebra-0.91 is released.
1410
14112001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1412
1413 * ospf_packet.c (ospf_db_desc_proc): Do not continue process when
1414 NSM_SeqNumberMismatch is scheduled.
1415 (ospf_ls_req): Free ls_upd when return from this function.
1416 (ospf_ls_upd_timer): When update list is empty do not call
1417 ospf_ls_upd_send(). Suggested by: endo@suri.co.jp (Masahiko
1418 Endo).
1419
14202001-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1421
1422 * ospf_lsa.c (ospf_maxage_flood): Flood LSA when it reaches
1423 MaxAge. RFC2328 Section 14.
1424 (ospf_maxage_lsa_remover): Call above function during removing
1425 MaxAge LSA.
1426
14272001-01-26 Dick Glasspool <dick@ipinfusion.com>
1428
1429 * ospf_flood.c (ospf_flood_through_as): Function is updated for
1430 NSSA Translations now done at ospf_abr.c with no change in P-bit.
1431
1432 * ospf_lsa.c (ospf_get_nssa_ip): Get 1st IP connection for Forward
1433 Addr.
1434 (ospf_install_flood_nssa): Leave Type-7 LSA at Lock Count = 2.
1435
1436 * ospf_ase.c (ospf_ase_calculate_route): Add debug codes.
1437
1438 * ospf_abr.c (ospf_abr_translate_nssa): Recalculate LSA checksum.
1439
1440 * ospf_packet.h (OSPF_SEND_PACKET_LOOP): Added for test packet.
1441
1442 * ospf_dump.c (ospf_lsa_type_msg): Add OSPF_GROUP_MEMBER_LSA and
1443 OSPF_AS_NSSA_LSA.
1444
1445 * ospfd.c (data_injection): Function to inject LSA. This is
1446 debugging command.
1447
14482001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1449
1450 * ospf_route.c (ospf_route_match_same): Remove function.
1451 (ospf_route_match_same_new): Renamed to ospf_route_match_same.
1452
1453 * ospf_zebra.c (ospf_interface_address_delete): Add check for
1454 oi->address. Suggested by Matthew Grant
1455 <grantma@anathoth.gen.nz>.
1456 (ospf_zebra_add): Remove function.
1457 (ospf_zebra_add_multipath): Rename to ospf_zebra_add.
1458
1459 * ospf_interface.c: Remove HAVE_IF_PSEUDO part.
1460
1461 * ospf_zebra.c: Likewise.
1462
14632001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1464
1465 * ospf_ase.c: Remove OLD_RIB part.
1466
1467 * ospf_route.c: Likewise.
1468
1469 * zebra-0.90 is released.
1470
1471 * ospf_packet.c (ospf_recv_packet): Use ip_len adjestment code to
1472 NetBSD.
1473
14742001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1475
1476 * ospf_route.c (ospf_route_delete): Use
1477 ospf_zebra_delete_multipath.
1478
14792001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1480
1481 * ospf_interface.c (ospf_if_cleanup): Function name is renamed
1482 from ospf_if_free(). Rewrite whole procudure to support primary
1483 address deletion.
1484
1485 * ospf_zebra.c (ospf_interface_address_delete): Add primary
1486 address deletion process.
1487
14882001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1489
1490 * ospf_packet.c (ospf_recv_packet): OpenBSD has same ip_len
1491 treatment like FreeBSD.
1492
14932001-01-09 endo@suri.co.jp (Masahiko Endo)
1494
1495 * ospf_packet.c (ospf_recv_packet): FreeBSD kernel network code
1496 strips IP header size from receiving IP Packet. So we adjust
1497 ip_len to whole IP packet size by adding IP header size.
1498
14992001-01-08 endo@suri.co.jp (Masahiko Endo)
1500
1501 * ospf_network.c (ospf_serv_sock): When socket() is failed return
1502 immediately.
1503 (ospf_serv_sock): Close socket when it is not used.
1504
1505 * ospf_packet.c (ospf_write): Set sin_len when HAVE_SIN_LEN is
1506 defined.
1507 (ospf_write): When bind is fined, close sock.
1508
15092001-01-07 Gleb Natapov <gleb@nbase.co.il>
1510
1511 * ospf_zebra.c (ospf_interface_state_up): Fixes coredump that
1512 appears when you try to configure bandwidth on the ppp interface
1513 that is not yet configured in ospfd.
1514
15152001-01-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1516
1517 * ospf_route.c (show_ip_ospf_route_external): "show ip ospf route"
1518 will print nexthops for AS-external routes.
1519
1520 * ospf_ase.c (ospf_ase_route_match_same): New function to compare
1521 ASE route under multipath environment.
1522 (ospf_ase_compare_tables): Likewise.
1523
15242001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1525
1526 * ospfd.h (OSPF_VTYSH_PATH): Change "/tmp/ospfd" to "/tmp/.ospfd".
1527
15282000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1529
1530 * ospf_route.c (ospf_route_install): Install multipath information
1531 to zebra daemon.
1532
1533 * ospf_zebra.c (ospf_zebra_add_multipath): Function for passing
1534 multipath information to zebra daemon.
1535
15362000-12-25 Dick Glasspool <dick@ipinfusion.com>
1537
1538 * ospf_packet.c (ospf_write): Call ospf_packet_delete when sendto
1539 fail.
1540 (DISCARD_LSA): Add argument N for logging point of DISCARD_LSA is
1541 called.
1542
1543 * ospf_lsa.c (ospf_external_lsa_refresh): NSSA install_flood will
1544 leave Type-7 LSA at Lock Count = 2.
1545
1546 * ospf_flood.c (ospf_flood_through): Flood_though_as updated for
1547 NSSA no P-bit off during Area flooding, but P-bit is turned off
1548 for mulitple NSSA AS flooding.
1549
1550 * ospf_ase.c (ospf_ase_calculate_timer): Added calculations for
1551 Type-7 LSDB.
1552
1553 * ospf_abr.c (ospf_abr_translate_nssa): Removed one unlock call.
1554 (ospf_abr_announce_nssa_defaults): Corrected Debug from EVENT to
1555 NSSA.
1556
15572000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1558
1559 * ospf_zebra.c (ospf_zebra_read_ipv4): Checking the age of the
1560 found LSA and if the LSA is MAXAGE we should call refresh instead
1561 of originate.
1562
15632000-12-18 Dick Glasspool <dick@ipinfusion.com>
1564
1565 * ospf_abr.c: Removed redundant "...flood" in
1566 announce_network_to_area(). Repaired nssa Unlock by using
1567 discard.
1568
1569 * ospf_packet.c: Removed old NSSA translate during mk_ls_update.
1570
1571 * ospfd.c: Free up all data bases including NSSA.
1572
1573 * ospf_lsa.c: Now allow removal of XLATE LSA's Check in
1574 discard_callback. Added routine to get ip addr from within the
1575 ifp.
1576
1577 * ospf_flood.c: Now set Forward Address for outgoing Type-7.
1578
1579 * ospf_lsa.h: Added prototype for the below. struct in_addr
1580 ospf_get_ip_from_ifp (struct interface *ifp).
1581
15822000-12-14 Gleb Natapov <gleb@nbase.co.il>
1583
1584 * ospf_packet.c (ospf_recv_packet): New OSPF pakcet read method.
1585 Now maximum packet length may be 65535 bytes (maximum IP packet
1586 length).
1587
1588 * ospf_interface.c (ospf_if_stream_set): Don't make input buffer.
1589
1590 * ospfd.c (config_write_network_area): Remove unnecessary area
1591 lookup code.
1592
15932000-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1594
1595 * ospf_packet.c (ospf_read): Accept packet bigger than MTU value.
1596
15972000-12-13 Gleb Natapov <gleb@nbase.co.il>
1598
1599 * ospfd.c (config_write_network_area): Fix bug in
1600 config_write_network_area function.
1601
16022000-12-12 Gleb Natapov <gleb@nbase.co.il>
1603
1604 * ospf_abr.c (ospf_abr_announce_network_to_area): Make Summary
1605 LSA's origination and refreshment as same as other type of LSA.
1606
1607 * ospf_lsa.c (ospf_summary_lsa_refresh): Return struct ospf_lsa *.
1608
1609 * ospf_lsa.c (ospf_summary_asbr_lsa_refresh): Likewise.
1610
16112000-12-08 Dick Glasspool <dick@ipinfusion.com>
1612
1613 The bulk of NSSA changes are contained herein; This version will
1614 require manual setting of "always" for NSSA Translator, and will
1615 not perform aggregation yet.
1616
1617 * ospf_dump.c: "debug ospf nssa" is added.
1618
1619 * ospf_dump.h: Likewise.
1620
1621 * ospf_packet.c (ospf_hello): Display router ID on Bad NSSA Hello.
1622
1623 * ospfd.c: Discard_LSA to stay away from LOCAL_XLT Process NSSA
1624 'never, candidate, always'. Change "suppress" to "not-advertise".
1625
1626 * ospfd.h: Add TranslatorRole to struct ospf_area. Add anyNSSA to
1627 struct ospf.
1628
1629 * ospf_ase.c (ospf_ase_calculate_route): External to stay away
1630 from LOCAL_XLT
1631
1632 * ospf_nsm.c (ospf_db_summary_add): External to stay away from
1633 LOCAL_XLT
1634
1635 * ospf_abr.c: Major logic added for abr_nssa_task(). If ABR, and
1636 NSSA translator, then do it. Approve the global list, and flush
1637 any unapproved.
1638
1639 * ospf_lsa.h: New LSA flag OSPF_LSA_LOCAL_XLT to indicate that the
1640 Type-5 resulted from a Local Type-7 translation; not used for
1641 flooding, but used for flushing.
1642
1643 * ospf_flood.c: New NSSA flooding.
1644
16452000-12-08 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1646
1647 * ospfd.c (ospf_find_vl_data): New function for looking up virtual
1648 link data.
1649 (ospf_vl_set_security): Virtual link configuration with
1650 authentication.
1651 (ospf_vl_set_timers): Set timers for virtual link.
1652
1653 * New commands are added.
1654 "area A.B.C.D virtual-link A.B.C.D"
1655 "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>"
1656 "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"
1657 "area A.B.C.D virtual-link A.B.C.D authentication-key AUTH_KEY"
1658 "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"
1659 "area A.B.C.D virtual-link A.B.C.D message-digest-key <1-255> md5 KEY"
1660
1661 * ospf_packet.c (ospf_check_md5_digest): Add neighbor's
1662 cryptographic sequence number treatment.
1663 (ospf_check_auth): OSPF input buffer is added to argument.
1664 (ospf_read): Save neighbor's cryptographic sequence number.
1665
1666 * ospf_nsm.c (nsm_change_status): Clear cryptographic sequence
1667 number when neighbor status is changed to NSM down.
1668
1669 * ospf_neighbor.c (ospf_nbr_new): Set zero to crypt_seqnum.
1670
1671 * ospf_neighbor.h (struct ospf_neighbor): Add cryptographic
1672 sequence number to neighbor structure.
1673
16742000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1675
1676 * ospf_snmp.c (ospfIfLookup): OSPF MIB updates.
1677 (ospfExtLsdbEntry): Add OspfExtLsdbTable treatment.
1678
16792000-11-28 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1680
1681 * ospfd.c (ospf_interface_down): Clear a ls_upd_queue queue of the
1682 interface.
1683 (ospf_ls_upd_queue_empty): New function to empty ls update queue
1684 of the OSPF interface.
1685 (no_router_ospf): 'no router ospf' unregister redistribution
1686 requests from zebra.
1687
16882000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1689
1690 * ospf_ism.c (ism_change_status): Increment status change number.
1691
1692 * ospf_interface.h (struct ospf_interface): Add new member for
1693 status change statistics.
1694
1695 * Makefile.am: Update dependencies.
1696
1697 * ospf_zebra.c (ospf_interface_add): OSPF SNMP interface update.
1698 (ospf_interface_delete): OSPF SNMP interface delete.
1699
1700 * ospf_snmp.h: New file is added.
1701
17022000-11-23 Dick Glasspool <dick@ipinfusion.com>
1703
1704 * ospfd.h: Add new ospf_area structure member for
1705 NSSATranslatorRole and NSSATranslator state.
1706
1707 * ospfd.c: Provided for eventual commands to specify NSSA
1708 elections for "translator- ALWAYS/NEVER/CANDIDATE". Provided for
1709 decimal integer version of area-suppress.
1710
1711 * ospf_flood.c: Flood Type-7's only into NSSA (not AS).
1712
1713 * ospf_lsa.c: Undo some previous changes for NSSA. If NSSA
1714 translator, advertise Nt bit.
1715
1716 * ospf_route.c: 1st version of "sh ip os border-routers".
1717
17182000-11-23 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1719
1720 * ospfd.c (area_vlink): Virtual link can not configured in stub
1721 area.
1722
17232000-11-23 Gleb Natapov <gleb@nbase.co.il>
1724
1725 * ospf_packet.c (ospf_db_desc): In states Loading and Full the
1726 slave must resend its last Database Description packet in response
1727 to duplicate Database Description packets received from the
1728 master. For this reason the slave must wait RouterDeadInterval
1729 seconds before freeing the last Database Description packet.
1730 Reception of a Database Description packet from the master after
1731 this interval will generate a SeqNumberMismatch neighbor
1732 event. RFC2328 Section 10.8
1733 (ospf_make_db_desc): DD Master flag treatment.
1734
1735 * ospf_nsm.c (nsm_twoway_received): Move DD related procedure to
1736 nsm_change_status().
1737 (nsm_bad_ls_req): Likewise.
1738 (nsm_adj_ok): Likewise.
1739 (nsm_seq_number_mismatch): Likewise.
1740 (nsm_oneway_received): Likewise.
1741
1742 * ospf_neighbor.h (struct ospf_neighbor): New structure member
1743 last_send_ts for timestemp when last Database Description packet
1744 was sent.
1745
1746 * ospf_nsm.c (ospf_db_desc_timer): Make it sure nbr->last_send is
1747 there. Call ospf_db_desc_resend() in any case.
1748
17492000-11-16 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1750
1751 * ospf_lsa.c (lsa_link_broadcast_set): When there is no DR on
1752 network (suppose you have only one router with interface priority
1753 0). It's router LSA does not contain the link information about
1754 this network.
1755
1756 * ospf_nsm.c (nsm_timer_set): When you change a priority of
1757 interface from/to 0 ISM_NeighborChange event should be scheduled
1758 in order to elect new DR/BDR on the network.
1759
1760 * ospf_interface.c (ip_ospf_priority): Likewise.
1761
1762 * ospf_flood.c (ospf_ls_retransmit_add): When we add some LSA into
1763 retransmit list we need to check whether the present old LSA in
1764 retransmit list is not more recent than the new
1765 one.
1766
17672000-11-09 Dick Glasspool <dick@ipinfusion.com>
1768
1769 * ospf_packet.c: Allows for NSSA Type-7 LSA's throughout the NSSA
1770 area. Any that exit the NSSA area are translated to type-5 LSA's.
1771 The instantiated image is restored after translation.
1772 (ospf_ls_upd_send_list): Renamed to ospf_ls_upd_queu_send().
1773 (ospf_ls_upd_send): Old function which enclosed by #ifdef 0 is
1774 removed.
1775 (ospf_ls_ack_send): Likewise.
1776
1777 * ospf_flood.c: NSSA-LSA's without P-bit will be restricted to
1778 local area. Otherwise they are allowed out the area to be
1779 translated by ospf_packet.c.
1780
1781 * ospf_lsa.c: Undo some previous changes for NSSA.
1782
1783 * ospf_lsdb.h: New access for type 7.
1784
17852000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1786
1787 * ospf_route.c (ospf_path_exist): New function to check nexthop
1788 and interface are in current OSPF path or not.
1789 (ospf_route_copy_nexthops_from_vertex): Add nexthop to OSPF path
1790 when it is not there. Reported by Michael Rozhavsky
1791 <mrozhavsky@opticalaccess.com>
1792
17932000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1794
1795 * ospf_dump.c (config_write_debug): Add seventh string "detail" is
1796 added for flag is OSPF_DEBUG_SEND | OSPF_DEBUG_RECV |
1797 OSPF_DEBUG_DETAIL.
1798
17992000-11-06 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1800
1801 * ospf_lsa.c (router_lsa_flags): ASBR can't exit in stub area.
1802
18032000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1804
1805 * ospf_lsa.c (ospf_router_lsa_originate): Reduce unconditional
1806 logging.
1807
18082000-11-06 Dick Glasspool <dick@ipinfusion.com>
1809
1810 * ospfd.h: Add ait_ntoa function prototype.
1811
1812 * ospfd.c (ait_ntoa): New function for displaying area ID and
1813 Stub/NSSA status.
1814 (show_ip_ospf_interface_sub): Use ait_ntoa.
1815 (show_ip_ospf_nbr_static_detail_sub): Likewise.
1816 (show_ip_ospf_neighbor_detail_sub): Likewise.
1817
1818 * ospf_route.c (ospf_intra_route_add): Set external routing type
1819 to ospf route.
1820 (ospf_intra_add_router): Likewise.
1821 (ospf_intra_add_transit): Likewise.
1822 (ospf_intra_add_stub): Likewise.
1823 (ospf_add_discard_route): Likewise.
1824 (show_ip_ospf_route_network): Use ait_ntoa.
1825 (show_ip_ospf_route_network): Likewise.
1826 (show_ip_ospf_route_router): Likewise.
1827
1828 * ospf_lsa.c (show_lsa_detail): Use ait_ntoa.
1829 (show_lsa_detail_adv_router): Likewise.
1830 (show_ip_ospf_database_summary): Likewise.
1831
1832 * ospf_route.h (struct route_standard): Add new member
1833 external_routing.
1834
1835 * ospf_ia.c (process_summary_lsa): Set external routing tyep to ospf
1836 route.
1837 (ospf_update_network_route): Likewise.
1838 (ospf_update_router_route): Likewise.
1839
18402000-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1841
1842 * ospf_flood.c (ospf_process_self_originated_lsa): Enclose
1843 OSPF_AS_NSSA_LSA treatment with #ifdef HAVE_NSSA.
1844
18452000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1846
1847 * Unconditional logging is enclosed with if (IS_DEBUG_OSPF_EVENT).
1848 Please specify "debug ospf event" for enable logging.
1849
1850 * ospf_ism.c: Do not extern debug flag varible. It is done by
1851 ospf_debug.h
1852 * ospf_asbr.c: Likewise.
1853 * ospf_lsa.c: Likewise.
1854 * ospf_nsm.c: Likewise.
1855 * ospf_zebra.c: Likewise.
1856
1857 * ospf_dump.c (debug_ospf_event): New command "debug ospf event"
1858 is added.
1859
1860 * ospfd.c (router_ospf): Change logging from vty_out() to
1861 zlog_info().
1862 (ospf_area_stub_cmd): Likewise.
1863
1864 * ospf_dump.h: Extern term_debug flags.
1865 (OSPF_DEBUG_EVENT): Add new flag.
1866 (IS_DEBUG_OSPF_EVENT): Add new macro.
1867
18682000-11-03 Dick Glasspool <dick@ipinfusion.com>
1869
1870 * ospf_flood.c (ospf_process_self_originated_lsa):
1871 OSPF_AS_NSSA_LSA is treated as same as OSPF_AS_EXTERNAL_LSA.
1872 (ospf_flood): Type-5's have no change. Type-7's can be received,
1873 and will Flood the AS as Type-5's They will also flood the local
1874 NSSA Area as Type-7's. The LSDB will be updated as Type-5's, and
1875 during re-fresh will be converted back to Type-7's (if within an
1876 NSSA).
1877 (ospf_flood_through): Incoming Type-7's were allowed here if our
1878 neighbor was an NSSA. So Flood our area with the Type-7 and also
1879 if we are an ABR, flood thru AS as Type-5.
1880
1881 * ospf_lsa.c (ospf_external_lsa_refresh): Flood NSSA both NSSA
1882 area and other area.
1883
1884 * ospf_packet.c (ospf_db_desc_proc): When AS External LSA is
1885 exists in DD packet, make it sure that this area is not stub.
1886 (ospf_ls_upd_list_lsa): When LSA type is NSSA then set lsa's area
1887 to NULL.
1888 (ospf_ls_upd): If the LSA is AS External LSA and the area is stub
1889 then discard the lsa. If the LSA is NSSA LSA and the area is not
1890 NSSA then discard the lsa.
1891
18922000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1893
1894 * ospfd.c (ospf_interface_run): Fix bug of Hello packet's option
1895 is not properly set when interface comes up.
1896
18972000-11-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1898
1899 * ospfd.h (OSPF_OPTION_O): Add new hello header option.
1900
19012000-11-01 Dick Glasspool <dick@ipinfusion.com>
1902
1903 * ospf_lsa.h: Define OSPF_MAX_LSA to 8 when HAVE_NSSA is enabled.
1904 (OSPF_GROUP_MEMBER_LSA): Define OSPF_GROUP_MEMBER_LSA.
1905
1906 * ospf_lsa.c (show_database_desc): Add "Group Membership LSA"
1907 string.
1908
19092000-10-31 Dick Glasspool <dick@ipinfusion.com>
1910
1911 * ospf_lsa.h (OSPF_AS_NSSA_LSA): Define OSPF_AS_NSSA_LSA.
1912
1913 * ospf_lsa.c (show_ip_ospf_database): NSSA database display
1914 function is added. ALIASES which have "show ip ospf database
1915 nssa-external" is added.
1916 (show_ip_ospf_border_routers): New command "show ip ospf
1917 border-routers" is added.
1918
19192000-10-30 Dick Glasspool <dick@ipinfusion.com>
1920
1921 * ospfd.c (router_ospf): NSSA Enabled message is added for
1922 testing.
1923 (ospf_area_type_set): Are type set for NSSA area.
1924 (ospf_area_stub_cmd): Special translation of no_summary into NSSA
1925 and summary information. If NSSA is enabled pass the information
1926 to ospf_area_type_set().
1927 (area_nssa): New commands are added:
1928 "area A.B.C.D nssa"
1929 "area <0-4294967295> nssa"
1930 "area A.B.C.D nssa no-summary"
1931 "area <0-4294967295> nssa no-summary"
1932 (ospf_no_area_stub_cmd): Special translation of no_summary into
1933 NSSA and summary information. If external_routing is
1934 OSPF_AREA_NSSA unset area with ospf_area_type_set (area,
1935 OSPF_AREA_DEFAULT).
1936 (show_ip_ospf_area): Display NSSA status.
1937 (config_write_ospf_area): Show NSSA configuration.
1938
1939 * ospf_packet.c (ospf_hello): For NSSA support, ensure that NP is
1940 on and E is off.
1941
19422000-10-26 Gleb Natapov <gleb@nbase.co.il>
1943
1944 * ospf_lsa.c (ospf_network_lsa_body_set): The network-LSA lists
1945 those routers that are fully adjacent to the Designated Router;
1946 each fully adjacent router is identified by its OSPF Router ID.
1947 The Designated Router includes itself in this list. RFC2328,
1948 Section 12.4.2.
1949
19502000-10-23 Jochen Friedrich <jochen@scram.de>
1951
1952 * ospf_snmp.c: ospf_oid and ospfd_oid are used in smux_open after
1953 it is registered. So those variables must be static.
1954
19552000-10-18 K N Sridhar <sridhar@euler.ece.iisc.ernet.in>
1956
1957 * ospfd.c: Add area_default_cost_decimal_cmd and
1958 no_area_default_cost_decimal_cmd alias.
1959
19602000-10-05 Gleb Natapov <gleb@nbase.co.il>
1961
1962 * ospfd.c (ospf_network_new): Fix setting area format.
1963 (no_router_ospf): Check area existance when calling
1964 ospf_interface_down().
1965
1966 * ospf_flood.c (ospf_external_info_check): Fix bug of refreshing
1967 default route.
1968
19692000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1970
1971 * zebra-0.89 is released.
1972
19732000-09-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1974
1975 * ospf_snmp.c (ospfHostEntry): OSPF Host MIB is implemented.
1976
1977 * ospfd.c (ospf_nbr_static_cmp): OSPF neighbor is sorted by it's
1978 address.
1979
19802000-09-28 Michael Rozhavsky <mike@nbase.co.il>
1981
1982 * ospf_interface.c (ospf_if_free): Fix deleting self neighbor twice.
1983
19842000-09-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1985
1986 * ospf_packet.c (ospf_read): Solaris on x86 has ip_len with host
1987 byte order.
1988
19892000-09-25 Toshiaki Takada <takada@zebra.org>
1990
1991 * ospfd.c (ospf_compatible_rfc1583), (no_ospf_compatible_rfc1583):
1992 Add CISCO compatible command.
1993
19942000-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1995
1996 * ospf_abr.c (ospf_area_range_lookup): New function is added for
1997 area range lookup in OSPF-MIB.
1998 (ospf_area_range_lookup_next): Likewise.
1999
20002000-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2001
2002 * ospfd.c (no_router_ospf): Delete virtual link before deleting
2003 area structure.
2004
2005 * ospf_lsa.c (ospf_external_lsa_refresh_type): Check
2006 EXTERNAL_INFO(type).
2007
2008 * ospfd.c (no_router_ospf): Call ospf_vl_delete() instead of
2009 ospf_vl_data_free().
2010
2011 * ospf_interface.c (ospf_vl_shutdown): Execute ISM_InterfaceDown
2012 when ospf_vl_shutdown is called.
2013 (ospf_vl_delete): Call ospf_vl_shutdown() to delete virtual link
2014 interface's thread.
2015
20162000-09-21 Gleb Natapov <gleb@nbase.co.il>
2017
2018 * ospf_lsa.c: New implementation of OSPF refresh.
2019
20202000-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2021
2022 * ospf_snmp.c (ospfLsdbLookup): Add LSDB MIB implementation.
2023
20242000-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2025
2026 * ospf_snmp.c (ospfStubAreaEntry): Add OSPF stub area MIB.
2027
20282000-09-18 Gleb Natapov <gleb@nbase.co.il>
2029
2030 * ospf_route.h (route_standard): Change member from `struct area'
2031 to area_id.
2032
2033 * ospf_abr.c (ospf_abr_announce_network), (ospf_abr_should_announce),
2034 (ospf_abr_process_network_rt), (ospf_abr_announce_rtr),
2035 (ospf_abr_process_router_rt):
2036 * ospf_ase.c (ospf_find_asbr_route),
2037 (ospf_find_asbr_router_through_area),
2038 * ospf_ia.c (ospf_find_abr_route), (ospf_ia_router_route),
2039 (process_summary_lsa), (ospf_update_network_route),
2040 (ospf_update_router_route):
2041 * ospf_route.c (ospf_intra_route_add), (ospf_intra_add_router),
2042 (ospf_intra_add_transit), (ospf_intra_add_stub),
2043 (ospf_route_table_dump), (show_ip_ospf_route_network),
2044 (show_ip_ospf_route_router), (ospf_asbr_route_cmp),
2045 (ospf_prune_unreachable_routers):
2046 * ospf_spf.c (ospf_rtrs_print):
2047 * ospfd.c (ospf_rtrs_free): Fix the struct change above.
2048
20492000-09-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2050
2051 * ospf_network.c (ospf_serv_sock_init): Enclose SO_BINDTODEVICE
2052 with ifdef.
2053
20542000-09-13 Gleb Natapov <gleb@nbase.co.il>
2055
2056 * ospf_ism.c (ospf_elect_dr), (ospf_elect_bdr): Fix DR election.
2057
2058 * ospf_network.c (ospf_serv_sock_init): Add socket option
2059 SO_BINDTODEVICE on read socket.
2060
2061 * ospf_packet.c (ospf_hello): Ignore Hello packet if E-bit does
2062 not match.
2063
2064 * ospfd.c (ospf_area_check_free), (ospf_area_get),
2065 (ospf_area_add_if): New function added.
2066
20672000-09-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2068
2069 * ospf_route.c (ospf_intra_add_router): Update ABR and ASBR router
2070 count.
2071
2072 * ospf_spf.c (ospf_spf_init): Rest ABR and ASBR router count
2073 starting SPF calculation.
2074
2075 * ospfd.h (struct ospf_area): Add ABR and ASBR router count.
2076
20772000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2078
2079 * ospfd.c (ospf_area_id_cmp): New area structure is sorted by area
2080 ID.
2081
2082 * ospf_lsa.c (ospf_router_lsa_originate): For OSPF MIB update
2083 lsa_originate_count.
2084 (ospf_network_lsa_originate): Likewise.
2085 (ospf_summary_lsa_originate): Likewise.
2086 (ospf_summary_asbr_lsa_originate): Likewise.
2087 (ospf_external_lsa_originate): Likewise.
2088
20892000-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2090
2091 * ospf_snmp.c (ospf_variables): ospfRouterID's type RouterID
2092 syntax is IpAddress.
2093 (ospf_admin_stat): New function for OSPF administrative status
2094 check.
2095
20962000-09-10 Jochen Friedrich <jochen@scram.de>
2097
2098 * ospf_snmp.c: Implement OSPF MIB skeleton.
2099
21002000-09-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2101
2102 * ospf_snmp.c: New file is added.
2103
21042000-09-07 David Lipovkov <davidl@nbase.co.il>
2105
2106 * ospf_zebra.c (ospf_interface_delete): Add pseudo interface
2107 treatment.
2108
2109 * ospf_interface.c (interface_config_write): Likewise.
2110
21112000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2112
2113 * zebra-0.88 is released.
2114
21152000-08-17 Michael Rozhavsky <mike@nbase.co.il>
2116
2117 * ospfd.c (ospf_area_free): Remove virtual link configuration only
2118 when Area is removed.
2119
21202000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2121
2122 * ospfd.c (network_area): Revert check for EXTERNAL_INFO
2123 (ZEBRA_ROUTE_CONNECT).
2124 (no_network_area): Likewise.
2125
21262000-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2127
2128 * ospfd.h (struct ospf): Add distance_table and
2129 distance_{all,intra,inter,external}.
2130
2131 * ospf_zebra.c: Add OSPF distance related functions.
2132
21332000-08-15 Gleb Natapov <gleb@nbase.co.il>
2134
2135 * ospf_asbr.c (ospf_external_info_find_lsa): New function added.
2136
2137 * ospf_lsa.c (ospf_default_external_info),
2138 (ospf_default_originate_timer), (ospf_external_lsa_refresh_default):
2139 New function added.
2140
2141 * ospf_zebra.c
2142 (ospf_default_information_originate_metric_type_routemap),
2143 (ospf_default_information_originate_always_metric_type_routemap):
2144 Change name and add route-map function.
2145 (ospf_default_information_originate_metric_routemap),
2146 (ospf_default_information_originate_routemap),
2147 (ospf_default_information_originate_type_metric_routemap):
2148 New DEFUN added.
2149
21502000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2151
2152 * ospf_zebra.c (zebra_interface_if_set_value): Change ifindex
2153 restore size from two octet to four.
2154
21552000-08-14 Michael Rozhavsky <mike@nbase.co.il>
2156
2157 * ospf_ase.c (ospf_ase_incremental_update): Implement incremental
2158 AS-external-LSA in 16.6 of RFC2328.
2159
21602000-08-14 Matthew Grant <grantma@anathoth.gen.nz>
2161
2162 * ospf_interface.c (ospf_if_get_output_cost): Change cost
2163 calculation algorithm.
2164
2165 * ospf_packet (ospf_ls_upd): Fix problem of LSA retransmitting.
2166
21672000-08-11 Michael Rozhavsky <mike@nbase.co.il>
2168
2169 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix maxage remover for
2170 AS-external-LSAs.
2171
21722000-08-10 Toshiaki Takada <takada@zebra.org>
2173
2174 * ospfd.c (auto_cost_reference_bandwidth): New DEFUN added.
2175 `auto-cost reference-bandwidth' OSPF router command added.
2176
21772000-08-08 Gleb Natapov <gleb@nbase.co.il>
2178
2179 * ospf_routemap.c (ospf_route_map_update): New function added.
2180 Add route-map event hook.
2181
21822000-08-08 Toshiaki Takada <takada@zebra.org>
2183
2184 * ospf_zebra.c (ospf_distribute_check_connected): If redistribute
2185 prefix is connected route on OSPF enabled interface, suppress to
2186 announce it.
2187
21882000-08-08 Matthew Grant <grantma@anathoth.gen.nz>
2189
2190 * ospf_interface.c (ospf_if_get_output_cost):
2191 New function added. Handle bandwidth parameter for cost
2192 calculation.
2193
21942000-08-08 Michael Rozhavsky <mike@nbase.co.il>
2195
2196 * ospf_interface.c (interface_config_write): Show interface
2197 configuration regardless interface is down.
2198
2199 * ospf_ase.c (ospf_ase_caocluate_route): Whole rewritten external
2200 route calculate function.
2201
22022000-08-08 Gleb Natapov <gleb@nbase.co.il>
2203
2204 * ospf_routemap.c: New file added.
2205
2206 * ospf_asbr.c (ospf_reset_route_map_set_values),
2207 (ospf_route_map_set_compare): New function added.
2208
2209 * ospf_lsa.c (ospf_external_lsa_body_set): Set routemap metric
2210 with AS-external-LSA.
2211
22122000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2213
2214 * ospf_ase.c (ospf_ase_calculate_route_add): Pass new->cost to
2215 ospf_zebra_add as metric.
2216 (ospf_ase_calculate_route_add): Likewise.
2217
2218 * ospf_route.c (ospf_route_install): Pass or->cost to
2219 ospf_zebra_add as metric.
2220
2221 * ospf_zebra.c (ospf_zebra_add): Add metric arguemnt.
2222 (ospf_zebra_delete): Likewise.
2223
22242000-08-03 Matthew Grant <grantma@anathoth.gen.nz>
2225
2226 * ospf_flood.c (ospf_flood_delayed_lsa_ack): New function added.
2227 Dispatch delayed-ACK with flooding AS-external-LSA across virtual
2228 link.
2229
22302000-07-31 Matthew Grant <grantma@anathoth.gen.nz>
2231
2232 * ospfd.c (show_ip_ospf_area): Fix lack of VTY_NEWLINE when
2233 `show ip ospf'.
2234
2235 * ospf_interface.c (ospf_if_free): Fix bug of crash with
2236 Point-to-Point interface.
2237
22382000-07-27 Michael Rozhavsky <mike@nbase.co.il>
2239
2240 * ospf_flood.c (ospf_process_self_originated_lsa):
2241 Make sure to clear LSA->param (redistributed external information)
2242 before refreshment.
2243
22442000-07-27 Gleb Natapov <gleb@nbase.co.il>
2245
2246 * ospfd.c (refresh_group_limit), (refresh_per_slice),
2247 (refresh_age_diff): New defun added. Refresher related parameter
2248 can be configurable.
2249
22502000-07-27 Akihiro Mizutani <mizutani@dml.com>
2251
2252 * ospf_interface.c (interface_config_write): Print `description'
2253 config directive to work.
2254
22552000-07-24 Akihiro Mizutani <mizutani@dml.com>
2256
2257 * ospf_interface.c (ospf_if_init): Use install_default for
2258 INTERFACE_NODE.
2259
22602000-07-24 Gleb Natapov <gleb@nbase.co.il>
2261
2262 * ospf_packet.c (ospf_ls_upd_send_list), (ospf_ls_upd_send_event),
2263 (ospf_ls_ack_send_list), (ospf_ls_ack_send_event): New function added.
2264 This make sending always as many LS update/Ack combined in one ospf
2265 packet.
2266
22672000-07-24 Gleb Natapov <gleb@nbase.co.il>
2268
2269 * ospf_packet.c (ospf_ls_upd_list_lsa): Set NULL to lsa->area if
2270 LSA is AS-external-LSA.
2271
2272 * ospf_nsm.c (nsm_reset_nbr): Do not cancel Inactivity timer.
2273
22742000-07-21 Toshiaki Takada <takada@zebra.org>
2275
2276 * ospf_zebra.c (ospf_default_originate_timer): Set timer for
2277 `default-information originate'. Fix some default originate
2278 related functions.
2279
22802000-07-12 Toshiaki Takada <takada@zebra.org>
2281
2282 * ospf_lsa.c (stream_put_ospf_metric): New function added.
2283
22842000-07-12 Toshiaki Takada <takada@zebra.org>
2285
2286 * ospf_lsa.c (show_ip_ospf_database_router),
2287 (show_ip_ospf_database_network), (show_ip_ospf_database_summary),
2288 (show_ip_ospf_database_summary_asbr), (show_ip_ospf_database_externel),
2289 (show_router_lsa), (show_any_lsa), (show_router_lsa_self),
2290 (show_any_lsa_self): Functions removed.
2291
2292 (show_lsa_prefix_set), (show_lsa_detail_proc), (show_lsa_detail),
2293 (show_lsa_detail_adv_router_proc), (show_lsa_detail_adv_router):
2294 New functions added. Replace above functions.
2295
2296 (show_ip_ospf_database_all), (show_ip_ospf_database_self_originated):
2297 Functions removed.
2298 (show_ip_ospf_database_summary): New functions added. Replace
2299 above functions.
2300
2301 (show_ip_ospf_database_cmd): DEFUN rearranged.
2302 (show_ip_ospf_database_type_id_cmd),
2303 (show_ip_ospf_database_type_id_adv_router_cmd),
2304 (show_ip_ospf_database_type_is_self_cmd): New ALIASes added.
2305 (show_ip_ospf_database_type_adv_rotuer_cmd): New DEFUN added.
2306 (show_ip_ospf_database_type_self_cmd): New ALIAS added.
2307
23082000-07-11 Toshiaki Takada <takada@zebra.org>
2309
2310 * ospf_asbr.c (ospf_external_info_new),
2311 (ospf_external_info_free): New functions added.
2312
2313 * ospf_lsa.h (ospf_lsa): Add new member `void *param' to set
2314 origination parameter for external-LSA.
2315 Remove member `redistribute'.
2316
2317 * ospf_zebra.c (ospf_redistirbute_set): When `redistribute'
2318 command executed, metric and metric-type values are overridden.
2319 If one of those is changed refresh AS-external-LSAs for appropriate
2320 type.
2321
23222000-07-11 Michael Rozhavsky <mike@nbase.co.il>
2323
2324 * ospf_lsa.c (ospf_summary_lsa_refresh),
2325 (ospf_summary_asbr_lsa_refresh): Make sure to refresh summary-LSAs.
2326
2327 * ospf_abr.c (set_metric): New function added.
2328
23292000-07-07 Toshiaki Takada <takada@zebra.org>
2330
2331 * ospf_zebra.c (ospf_default_information_originate_metric_type),
2332 (ospf_default_information_originate_type_metric): New defun added.
2333 Metic and Metric type can be set to default route.
2334 (ospf_default_information_originate_always_metric_type):
2335 (ospf_default_information_originate_always_type_metric):
2336 New defun added. Metric and Metric type can be set to default
2337 always route.
2338
2339 * ospf_zebra.c (ospf_default_metric), (no_ospf_default_metric):
2340 New defun added.
2341
23422000-07-06 Gleb Natapov <gleb@nbase.co.il>
2343
2344 * ospf_flood.c (ospf_flood_through_area): Fix bug of considering
2345 on the same interface the LSA was received from.
2346
23472000-07-06 Michael Rozhavsky <mike@nbase.co.il>
2348
2349 * ospfd.c (ospf_config_write): Fix bug of printing `area stub'
2350 command with `write mem'.
2351
2352 * ospfd.c (no_router_ospf): Remove installed routes from zebra.
2353
2354 * ospf_zebra.c (ospf_interface_delete): Fix function to handle
2355 zebra interface delete event.
2356
23572000-07-06 Toshiaki Takada <takada@zebra.org>
2358
2359 * ospf_zebra.c (ospf_default_information_originate),
2360 (ospf_default_information_originate_always): New DEFUN added.
2361
23622000-07-05 Michael Rozhavsky <mike@nbase.co.il>
2363
2364 * ospf_route.c (ospf_terminate): Make sure to remove external route
2365 when SIGINT received.
2366
23672000-07-03 Gleb Natapov <gleb@nbase.co.il>
2368
2369 * ospf_flood.c, ospf_ism.c, ospf_lsa,c, ospfd.c: Make sure to free
2370 many structure with `no router ospf'.
2371
23722000-06-30 Gleb Natapov <gleb@nbase.co.il>
2373
2374 * ospf_neighbor.c (ospf_nbr_new),
2375 ospf_nsm.c (nsm_timer_set): Start LS update timer only
2376 when neighbor enters Exchange state.
2377
23782000-06-29 Gleb Natapov <gleb@nbase.co.il>
2379
2380 * ospf_nsm.c (nsm_timer_set), (nsm_exchange_done),
2381 ospf_packet.c (ospf_db_desc_proc):
2382 Do not cancel DD retransmit timer when Master.
2383
23842000-06-29 Gleb Natapov <gleb@nbase.co.il>
2385
2386 * ospf_abr.c (ospf_abr_announce_network_to_area),
2387 (ospf_abr_announce_rtr_to_area)
2388 ospf_ase.c (ospf_ase_rtrs_register_lsa),
2389 ospf_flood.c (ospf_process_self_originated_lsa),
2390 (ospf_flood_through_area), (ospf_ls_request_delete),
2391 ospf_interface.c (ospf_if_free),
2392 ospf_ism.c (ism_change_status),
2393 ospf_lsa.c (ospf_router_lsa_update_timer),
2394 (ospf_router_lsa_install), (ospf_network_lsa_install),
2395 (ospf_lsa_maxage_delete), (ospf_lsa_action),
2396 (ospf_schedule_lsa_flood_area),
2397 ospf_nsm.c (nsm_change_status),
2398 ospf_packet.c (ospf_make_ls_req_func), (ospf_make_ls_ack):
2399 Use ospf_lsa_{lock,unlock} for all looking-up of LSA.
2400
2401 * ospf_flood.c (ospf_ls_request_free): Function deleted.
2402
2403 * ospf_lsa.c (ospf_discard_from_db): New function added.
2404
24052000-06-26 Toshiaki Takada <takada@zebra.org>
2406
2407 * ospfd.h (ospf): struct member `external_lsa' name changed to
2408 `lsdb'.
2409
24102000-06-26 Toshiaki Takada <takada@zebra.org>
2411
2412 * ospf_lsa.c (ospf_lsa_install), (ospf_router_lsa_install),
2413 (ospf_network_lsa_install), (ospf_summary_lsa_install),
2414 (ospf_summary_asbr_lsa_install), (ospf_external_lsa_install):
2415 Functions re-arranged.
2416
2417 * ospf_lsa.c (IS_LSA_MAXAGE), (IS_LSA_SELF): Macro added.
2418
24192000-06-20 Michael Rozhavsky <mike@nbase.co.il>
2420
2421 * ospf_packet.c (ospf_ls_req), (ospf_ls_upd), (ospf_ls_ack): Add
2422 verification of LS type.
2423
24242000-06-20 Gleb Natapov <gleb@nbase.co.il>
2425
2426 * ospf_ase.c (ospf_ase_calculate_timer): Add more sanity check
2427 whether rn->info is NULL.
2428
24292000-06-20 Toshiaki Takada <takada@zebra.org>
2430
2431 * ospfd.c (show_ip_ospf_interface_sub): Show Router-ID of both
2432 DR and Backup correctly with `show ip ospf interface' command.
2433
24342000-06-20 Toshiaki Takada <takada@zebra.org>
2435
2436 * ospf_lsa.c (ospf_lsa_lock), (ospf_lsa_unlock),
2437 (ospf_lsa_discard): These functions are used for avoiding
2438 unexpected reference to freed LSAs.
2439
24402000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2441
2442 * ospf_packet.c (ospf_ls_upd): Initialize lsa by NULL to avoid
2443 warning.
2444
24452000-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2446
2447 * ospf_ase.h (ospf_ase_rtrs_register_lsa): Add prototype.
2448
24492000-06-12 Toshiaki Takada <takada@zebra.org>
2450
2451 * ospf_lsa.c (ospf_external_lsa_install): Make sure to register
2452 LSA to rtrs_external when replacing AS-external-LSAs in LSDB.
2453 Fix core dump.
2454
24552000-06-10 Toshiaki Takada <takada@zebra.org>
2456
2457 * ospf_lsdb.c (id_to_prefix), (ospf_lsdb_hash_key),
2458 (ospf_lsdb_hash_cmp), (ospf_lsdb_new), (ospf_lsdb_iterator),
2459 (lsdb_free), (ospf_lsdb_free), (ospf_lsdb_add), (ospf_lsdb_delete),
2460 (find_lsa), (ospf_lsdb_lookup), (find_by_id),
2461 (ospf_lsdb_lookup_by_id), (ospf_lsdb_lookup_by_header): Functinos
2462 removed for migration to new_lsdb.
2463
2464 * ospf_lsa.c (ospf_summary_lsa_install),
2465 (ospf_summary_asbr_lsa_install), (ospf_maxage_lsa_remover),
2466 (ospf_lsa_maxage_walker), (ospf_lsa_lookup),
2467 (ospf_lsa_lookup_by_id): Use new_lsdb instead of ospf_lsdb.
2468 (count_lsa), (ospf_lsa_count_table), (ospf_lsa_count),
2469 (ospf_get_free_id_for_prefix): Funcitions removed.
2470
24712000-06-09 Gleb Natapov <gleb@nbase.co.il>
2472
2473 * ospf_ism.c (ism_interface_down): Prevent some unneeded DR changes.
2474
2475 * ospf_packet.c (ospf_db_desc_proc): Fix memory leak.
2476 (ospf_hello): Always copy router-ID when hello is received.
2477
24782000-06-08 Gleb Natapov <gleb@nbase.co.il>
2479
2480 * ospf_lsa.h (struct ospf_lsa): Add member of pointer to struct
2481 ospf_area.
2482
24832000-06-08 Michael Rozhavsky <mike@nbase.co.il>
2484
2485 * ospf_ase.c (ospf_asbr_route_same): New function added.
2486 This function makes sure external route calculation more
2487 precisely.
2488
24892000-06-07 Michael Rozhavsky <mike@nbase.co.il>
2490
2491 * ospf_ism.c (ism_change_status): Use ospf_lsa_flush_area for
2492 network-LSA deletion instead of using ospf_lsdb_delete.
2493 Also cancel network-LSA origination timer.
2494
24952000-06-07 Levi Harper <lharper@kennedytech.com>
2496
2497 * ospf_interface.c (ospf_if_down): Close read fd when an interface
2498 goes down.
2499
25002000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2501
2502 * ospf_asbr.c (ospf_external_info_lookup): Add explicit brace for
2503 avoid ambiguous else.
2504
2505 * ospf_flood.c (ospf_external_info_check): Likewise.
2506
25072000-06-05 Toshiaki Takada <takada@zebra.org>
2508
2509 * ospf_nsm.c (nsm_adj_ok): Fix bug of DR election.
2510
25112000-06-04 Toshiaki Takada <takada@zebra.org>
2512
2513 * ospf_zebra.c (ospf_default_information_originate),
2514 (no_ospf_default_information_originate): New DEFUN added.
2515
25162000-06-03 Toshiaki Takada <takada@zebra.org>
2517
2518 * ospf_lsa.h, ospf_asbr.h (external_info): Struct moved from
2519 ospf_lsa.h to ospf_asbr.h.
2520
2521 * ospf_lsa.c, ospf_asbr.c (ospf_external_info_add),
2522 (ospf_external_info_delete): Function moved from ospf_lsa.c
2523 to ospf_asbr.c.
2524
25252000-06-03 Toshiaki Takada <takada@zebra.org>
2526
2527 * ospf_flood.c (ospf_external_info_check): New function added.
2528 (ospf_process_self_orignated_lsa): Make sure to flush
2529 self-originated AS-external-LSA, when router reboot and no longer
2530 originate those AS-external-LSA.
2531
25322000-06-02 Toshiaki Takada <takada@zebra.org>
2533
2534 * ospf_network.c (ospf_serv_sock): Remove SO_DONTROUTE
2535 socket option.
2536
2537 * ospf_packet.c (ospf_write): Set MSG_DONTROUTE flag for
2538 unicast destination packets.
2539
25402000-06-02 Toshiaki Takada <takada@zebra.org>
2541
2542 * ospf_lsdb.c (new_lsdb_delete): Delete entry from LSDB only when
2543 specified LSA matches.
2544
25452000-06-02 Gleb Natapov <gleb@nbase.co.il>
2546
2547 * ospf_network.c (ospf_serv_sock): Set SO_DONTROUTE
2548 socket option.
2549
25502000-06-01 Akihiro Mizutani <mizutani@dml.com>
2551
2552 * ospf_dump.c: Replace string `Debugging functions\n' with DEBUG_STR.
2553 Replace string `OSPF information\n' with OSPF_STR.
2554
25552000-06-01 Toshiaki Takada <takada@zebra.org>
2556
2557 * ospf_lsdb.[ch]: Use new_lsdb struct for network-LSA instead of
2558 ospf_lsdb.
2559
25602000-06-01 Toshiaki Takada <takada@zebra.org>
2561
2562 * ospf_dump.c (config_debug_ospf_packet), (config_debug_ospf_event),
2563 (config_debug_ospf_ism), (config_debug_ospf_nsm),
2564 (config_debug_ospf_lsa), (config_debug_ospf_zebra),
2565 (term_debug_ospf_packet), (term_debug_ospf_event),
2566 (term_debug_ospf_ism), (term_debug_ospf_nsm),
2567 (term_debug_ospf_lsa), (term_debug_ospf_zebra): Repalce debug_ospf_*
2568 variable to use for debug option flags.
2569
2570 (debug_ospf_packet), (debug_ospf_ism), (debug_ospf_nsm),
2571 (debug_ospf_lsa), (debug_ospf_zebra): Set {config,term}_debug_*
2572 flags when vty->node is CONFIG_NODE, otherwise set only term_debug_*
2573 flags.
2574
2575 * ospf_dump.h (CONF_DEBUG_PACKET_ON), (CONF_DEBUG_PACKET_OFF),
2576 (TERM_DEBUG_PACKET_ON), (TERM_DEBUG_PACKET_OFF),
2577 (CONF_DEBUG_ON), (CONF_DEBUG_OFF), (IS_CONF_DEBUG_OSPF_PACKET),
2578 (IS_CONF_DEBUG_OSPF): New Macro added.
2579
25802000-05-31 Toshiaki Takada <takada@zebra.org>
2581
2582 * ospfd.c (clear_ip_ospf_neighbor): New DEFUN added.
2583 Currently this command is used for only debugging.
2584
2585 * ospf_nsm.c (nsm_change_status): Make sure thread cancellation
2586 for network-LSA when DR has no full neighbors.
2587
2588 * ospf_nsm.c (ospf_db_summary_clear): New function added.
2589
25902000-05-30 Toshiaki Takada <takada@zebra.org>
2591
2592 * ospf_lsdb.c (new_lsdb_insert): LSAs are always freed by
2593 maxage_lsa_remover when LSA is replaced.
2594
25952000-05-25 Gleb Natapov <gleb@nbase.co.il>
2596
2597 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all): Add argument
2598 `struct ospf_area' to remove LSA from Link State retransmission list
2599 of neighbor from only one Area.
2600
26012000-05-24 Michael Rozhavsky <mike@nbase.co.il>
2602
2603 * ospf_lsdb.c (ospf_lsdb_add): Preserve flags field when
2604 overriting old LSA with new LSA.
2605
26062000-05-24 Gleb Natapov <gleb@nbase.co.il>
2607
2608 * ospf_lsa.c (ospf_router_lsa_body_set): Fix bug of router-LSA
2609 size calculation.
2610
26112000-05-22 Michael Rozhavsky <mike@nbase.co.il>
2612
2613 * ospf_route.c (ospf_intra_add_stub):
2614 * ospf_spf.h (struct vertex): Use u_int32_t for distance (cost)
2615 value instead of u_int16_t.
2616
26172000-05-22 Axel Gerlach <agerlach@datus.datus.com>
2618
2619 * ospf_ia.c (ospf_ia_network_route): Fix bug of Inter-area route
2620 equal cost path calculation.
2621
26222000-05-21 Toshiaki Takada <takada@zebra.org>
2623
2624 * ospf_ase.c (ospf_ase_calculate_route_delete): New function added.
2625 Make sure, when rotuer route is deleted, related external routes
2626 are also deleted.
2627
26282000-05-20 Toshiaki Takada <takada@zebra.org>
2629
2630 * ospfd.c (ospf_interface_down): Make sure interface flag is disable
2631 and set fd to -1.
2632
26332000-05-16 Toshiaki Takada <takada@zebra.org>
2634
2635 * ospf_asbr.c (ospf_asbr_should_announce), (ospf_asbr_route_remove):
2636 Functions removed.
2637
2638 * ospfd.h (EXTERNAL_INFO): Macro added.
2639 Substitute `ospf_top->external_info[type]' with it.
2640
26412000-05-16 Toshiaki Takada <takada@zebra.org>
2642
2643 * ospf_lsa.c (ospf_rtrs_external_remove): New function added.
2644
26452000-05-14 Gleb Natapov <gleb@nbase.co.il>
2646
2647 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all)
2648 * ospf_lsdb.c (new_lsdb_insert)
2649 * ospf_packet.c (ospf_ls_ack): Fix database synchonization problem.
2650
26512000-05-14 Gleb Natapov <gleb@nbase.co.il>
2652
2653 * ospf_lsa.h (tv_adjust), (tv_ceil), (tv_floor), (int2tv),
2654 (tv_add), (tv_sub), (tv_cmp): Prototype definition added.
2655
2656 * ospf_nsm.h (ospf_db_summary_delete_all): Prototype definition added.
2657
26582000-05-13 Toshiaki Takada <takada@zebra.org>
2659
2660 * ospf_lsa.[ch] (ospf_lsa): struct timestamp type is changed from
2661 time_t to struct timeval.
2662 (tv_adjust), (tv_ceil), (tv_floor), (int2tv), (tv_add),
2663 (tv_sub), (tv_cmp): timeval utillity functions added.
2664
26652000-05-12 Toshiaki Takada <takada@zebra.org>
2666
2667 * ospf_lsa.[ch] (ospf_schedule_update_router_lsas): Delete function.
2668 Change to use macro OSPF_LSA_UPDATE_TIMER instead of using
2669 this function.
2670 router-LSA refresh timer related stuff is re-organized.
2671
26722000-05-10 Gleb Natapov <gleb@nbase.co.il>
2673
2674 * ospf_interface.c (ospf_vl_set_params):
2675 * ospf_packet.c (ospf_check_network_mask):
2676 * ospf_spf.[ch] (ospf_spf_next):
2677 Remove field address from `struct vertex', and search for peer
2678 address of virtual link in function `ospf_vl_set_params' instead.
2679
26802000-05-10 Gleb Natapov <gleb@nbase.co.il>
2681
2682 * ospf_packet.c (ospf_ls_upd): Fix some memory leak related LSA.
2683
26842000-05-08 Thomas Molkenbur <tmo@datus.com>
2685
2686 * ospf_packet.c (ospf_packet_dup): Replace ospf_steram_copy()
2687 with ospf_stream_dup() to fix memory leak.
2688
26892000-05-08 Michael Rozhavsky <mike@nbase.co.il>
2690
2691 * ospf_flood.c (ospf_flood_through_area): Fix the problem of
2692 LSA update without DROther.
2693
26942000-05-04 Gleb Natapov <gleb@nbase.co.il>
2695
2696 * ospf_spf.c (ospf_vertex_free): Fix memory leak of SPF calculation.
2697
26982000-05-03 Toshiaki Takada <takada@zebra.org>
2699
2700 * ospf_neighbor.c (ospf_db_summary_add): Use new_lsdb struct
2701 instead linked-list.
2702 (ospf_db_summary_count), (ospf_db_summary_isempty):
2703 New function added.
2704
2705 * ospf_lsa.c (ospf_rotuer_lsa): Re-arrange and divide functions.
2706
27072000-05-02 Gleb Natapov <gleb@nbase.co.il>
2708
2709 * ospf_lsdb.c (new_lsdb_cleanup): Fix memory leak. When LSDB are
2710 not needed any more, then free them.
2711
27122000-05-02 Toshiaki Takada <takada@zebra.org>
2713
2714 * ospfd.c (timers_spf), (no_timers_spf): New defun added.
2715 SPF calculation timers related stuff is rearranged.
2716
2717 * ospf_spf.c (ospf_spf_calculate_timer_add): Function removed.
2718 SPF timer is scheduled by SPF calculation delay and holdtime
2719 configuration variable.
2720
2721 * ospf_lsa.c (ospf_external_lsa_nexthop_get): Set AS-external-LSA's
2722 forwarding address when nexthop learned by other protocols is
2723 in the OSPF domain.
2724
2725 * ospf_zebra.c (ospf_redistribute_source_metric_type),
2726 (ospf_redistribute_source_type_metric): Re-arrange DEFUNs and
2727 ALIASes.
2728
27292000-05-01 Toshiaki Takada <takada@zebra.org>
2730
2731 * ospf_flood.c (ospf_ls_retransmit_count),
2732 (ospf_ls_retransmit_isempty): New function added.
2733
2734 (ospf_ls_retransmit_add), (ospf_ls_retransmit_delete),
2735 (ospf_ls_retransmit_clear), (ospf_ls_retransmit_lookup),
2736 (ospf_ls_retransmit_delete_all), (ospf_ls_retransmit_delete_nbr_all),
2737 (ospf_ls_retransmit_add_nbr_all): Replace these functions to use
2738 new_lsdb.
2739
27402000-04-29 Toshiaki Takada <takada@zebra.org>
2741
2742 * ospfd.c (no_network_area): Add check Area-ID whether specified
2743 Area-ID with prefix matches config.
2744
27452000-04-27 Toshiaki Takada <takada@zebra.org>
2746
2747 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix problem of
2748 remaining withdrawn routes on zebra.
2749
27502000-04-25 Michael Rozhavsky <mike@nbase.co.il>
2751
2752 * ospf_nsm.c (nsm_kill_nbr), (nsm_ll_down), (nsm_change_status),
2753 (ospf_nsm_event): Fix network-LSA re-origination problem.
2754
27552000-04-24 Toshiaki Takada <takada@zebra.org>
2756
2757 * ospf_nsm.c (ospf_db_desc_timer): Fix bug of segmentation fault
2758 with DD retransmission.
2759
2760 * ospf_nsm.c (nsm_kill_nbr): Fix bug of re-origination when
2761 a neighbor disappears.
2762
27632000-04-23 Michael Rozhavsky <mike@nbase.co.il>
2764
2765 * ospf_abr.c (ospf_abr_announce_network_to_area): Fix bug of
2766 summary-LSAs reorigination. Correctly copy OSPF_LSA_APPROVED
2767 flag to new LSA. when summary-LSA is reoriginatd.
2768
2769 * ospf_flood.c (ospf_flood_through_area): Fix bug of flooding
2770 procedure. Change the condition of interface selection.
2771
27722000-04-21 Toshiaki Takada <takada@zebra.org>
2773
2774 * ospf_lsa.c (ospf_refresher_register_lsa): Fix bug of refresh never
2775 occurs.
2776
2777 * ospfd.c (show_ip_ospf_neighbor_id): New defun added.
2778 `show ip ospf neighbor' related commands are re-arranged.
2779
27802000-04-20 Toshiaki Takada <takada@zebra.org>
2781
2782 * ospf_dump.c (debug_ospf_zebra): New defun added.
2783 Suppress zebra related debug information.
2784
27852000-04-19 Toshiaki Takada <takada@zebra.org>
2786
2787 * ospf_zebra.c (ospf_distribute_list_update_timer),
2788 (ospf_distribute_list_update), (ospf_filter_update):
2789 New function added. Re-organize `distribute-list' router ospf
2790 command.
2791
27922000-04-13 Michael Rozhavsky <mike@nbase.co.il>
2793
2794 * ospf_packet.c (ospf_make_ls_upd): Add check for MAX_AGE.
2795
27962000-04-14 Michael Rozhavsky <mike@nbase.co.il>
2797
2798 * ospf_packet.c (ospf_make_ls_upd): Increment LS age by configured
2799 interface transmit_delay.
2800
28012000-04-14 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
2802
2803 * ospf_interface.c (ip_ospf_cost), (no_ip_ospf_cost):
2804 Add to schedule router_lsa origination when the interface cost changes.
2805
28062000-04-12 Toshiaki Takada <takada@zebra.org>
2807
2808 * ospf_lsa.c (ospf_refresher_register_lsa),
2809 (ospf_refresher_unregister_lsa): Fix bug of core dumped.
2810
2811 * ospfd.c (no_router_ospf): Fix bug of core dumped.
2812
28132000-03-29 Toshiaki Takada <takada@zebra.org>
2814
2815 * ospf_nsm.c (nsm_oneway_received): Fix bug of MS flag unset.
2816
28172000-03-29 Michael Rozhavsky <mike@nbase.co.il>
2818
2819 * ospf_lsa.c (ospf_network_lsa):
2820 * ospf_nsm.c (ospf_nsm_event): Fix bug of Network-LSA originated
2821 in stub network.
2822
28232000-03-28 Toshiaki Takada <takada@zebra.org>
2824
2825 * ospf_nsm.c (nsm_bad_ls_req), (nsm_seq_number_mismatch),
2826 (nsm_oneway_received): Fix bug of NSM state flapping between
2827 ExStart and Exchange.
2828
28292000-03-28 Toshiaki Takada <takada@zebra.org>
2830
2831 * ospf_packet.h (strcut ospf_header): Fix the size of ospf_header,
2832 change u_int8_t to u_char.
2833
28342000-03-27 Toshiaki Takada <takada@zebra.org>
2835
2836 * ospf_lsa.c (ospf_lsa_checksum): Take care of BIGENDIAN architecture.
2837
28382000-03-27 Toshiaki Takada <takada@zebra.org>
2839
2840 * ospfd.c (ospf_interface_run): Make sure Address family matches.
2841
28422000-03-26 Love <lha@s3.kth.se>
2843
2844 * ospf_packet.c (ospf_write): Chack result of sendto().
2845
28462000-03-26 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
2847
2848 * ospf_nsm.c (nsm_oneway_received): Fix bug of 1-WayReceived in NSM.
2849
28502000-03-23 Libor Pechacek <farco@clnet.cz>
2851
2852 * ospf_lsa.c (ospf_network_lsa)
2853 * ospf_lsdb.c (new_lsdb_insert): Fix bug of accessing to
2854 unallocated memory.
2855
28562000-03-23 Toshiaki Takada <takada@zebra.org>
2857
2858 * ospfd.c (ospf_config_write): Fix bug of duplicate line for
2859 `area A.B.C.D authentication'.
2860
28612000-03-22 Toshiaki Takada <takada@zebra.org>
2862
2863 * ospf_debug.c (debug_ospf_lsa), (no_debug_ospf_lsa): Defun added.
2864 Suppress all zlog related to LSAs with this config option.
2865
28662000-03-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2867
2868 * ospf_nsm.c (ospf_nsm_event): Add check for NSM_InactivityTimer.
2869
28702000-03-21 Toshiaki Takada <takada@zebra.org>
2871
2872 * ospf_packet.c (ospf_ls_upd_timer), (ospf_ls_req):
2873 Fix bug of memory leak about linklist.
2874
2875 * ospf_flood.c (ospf_flood_through_area): Likewise.
2876
28772000-03-18 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
2878
2879 * ospf_flood.c (ospf_ls_retransmit_lookup): Add checksum comparison
2880 to identify LSA uniquely. This fix routes lost.
2881
28822000-03-18 Toshiaki Takada <takada@zebra.org>
2883
2884 * ospf_ase.c (ospf_find_asbr_route): Add sanity check with router
2885 routing table.
2886
28872000-03-17 Alex Zinin <zinin@amt.ru>
2888
2889 * ospf_spf.[ch]: Bug fix.
2890 The 2nd stage of Dijkstra could consider one vertex
2891 more than once if there is more than one link
2892 between the routers, thus adding extra CPU overhead
2893 and extra next-hops.
2894 Fixed.
2895
28962000-03-15 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
2897
2898 * ospf_nsm.c (nsm_inactivity_timer): Changed to call nsm_kill_nbr().
2899
29002000-03-14 Toshiaki Takada <takada@zebra.org>
2901
2902 * ospf_route.c (ospf_route_copy_nexthops): Fix bug of memory leak of
2903 ospf_path. Actually ignore merging ospf_route with completely same
2904 paths.
2905
29062000-03-12 Toshiaki Takada <takada@zebra.org>
2907
2908 * ospf_lsa.c (show_as_external_lsa_detail): fix bug of
2909 external route tag byte order.
2910
29112000-03-11 Toshiaki Takada <takada@zebra.org>
2912
2913 * ospf_lsdb.c (ospf_lsdb_insert): New function added.
2914
29152000-03-09 Toshiaki Takada <takada@zebra.org>
2916
2917 * ospf_lsa.c (ospf_external_lsa_install),
2918 (ospf_lsa_lookup), (show_ip_ospf_database_all),
2919 (show_ip_ospf_database_self_originate): Use struct new_lsdb for
2920 LSDB of AS-external-LSAs instead of ospf_lsdb.
2921
2922 * ospf_lsa.c (ospf_lsa_unique_id): New function added.
2923 Use for assigning Unique Link State ID instead of
2924 ospf_get_free_id_for_prefix().
2925
29262000-03-09 Toshiaki Takada <takada@zebra.org>
2927
2928 * ospf_ase.c (ospf_ase_calculate_timer): Fix bug of segmentation
2929 fault reported by George Bonser <george@siteROCK.com>.
2930
29312000-03-07 Libor Pechacek <farco@clnet.cz>
2932
2933 * ospfd.c (ospf_interface_down): Fix bug of segmentation fault.
2934
29352000-03-06 Toshiaki Takada <takada@zebra.org>
2936
2937 * ospf_route.c (ospf_route_cmp): Change meaning of return values.
2938
29392000-03-02 Alex Zinin <zinin@amt.ru>
2940 * ospfd.h, ospf_ia.h
2941 New Shortcut ABR code. Now area's flag can be configured
2942 with Default, Enable, and Disable values.
2943 More info will be in the new ver of I-D soon (see IETF web).
2944
29452000-02-25 Toshiaki Takada <takada@zebra.org>
2946
2947 * ospf_lsa.c (ospf_lsa_header_set), (ospf_external_lsa_body_set),
2948 (osfp_external_lsa_originate), (ospf_external_lsa_queue),
2949 (ospf_external_lsa_originate_from_queue): New function added.
2950 (ospf_external_lsa): Function removed.
2951
2952 * ospf_zebra.c (ospf_zebra_read_ipv4): Originate AS-external-LSA
2953 when listen a route from Zebra, instead creating external route.
2954
2955 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
2956 (ospf_asbr_route_add_queue_lsa),
2957 (ospf_asbr_route_install_lsa), (ospf_asbr_route_add):
2958 Functions removed.
2959
2960 * ospf_ase.c (process_ase_lsa): Function will not be used.
2961 (ospf_ase_calculate), (ospf_ase_calculate_route_add),
2962 (ospf_ase_calculate_new_route), (ospf_ase_caluculate_asbr_route):
2963 process_ase_lsa () is separated to these functions.
2964
2965 OSPF AS-external-LSA origination is whole re-organized.
2966
29672000-02-18 Toshiaki Takada <takada@zebra.org>
2968
2969 * ospf_packet.c (ospf_ls_upd): Fix bug of OSPF LSA memory leak.
2970
2971 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
2972 (ospf_asbr_route_add_queue_lsa): Fix bug of OSPF external route
2973 memory leak.
2974
29752000-02-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2976
2977 * ospf_asbr.c (ospf_asbr_route_install_lsa): Re-calculate LSA
2978 checksum after change Advertised Router field.
2979
29802000-02-09 Toshiaki Takada <takada@zebra.org>
2981
2982 * ospf_asbr.c (ospf_external_route_lookup): Add new function.
2983
29842000-02-08 Toshiaki Takada <takada@zebra.org>
2985
2986 * ospfd.c (ospf_router_id_get), (ospf_router_id_update),
2987 (ospf_router_id_update_timer): Router ID decision algorithm is changed.
2988 Router ID is chosen from all of eligible interface addresses even if
2989 it is not enable to OSPF.
2990
29912000-02-08 Toshiaki Takada <takada@zebra.org>
2992
2993 * ospf_asbr.c (ospf_asbr_route_add): Function divided to
2994 ospf_asbr_route_add_flood_lsa, ospf_asbr_route_add_queue_lsa and
2995 ospf_asbr_route_install_lsa. If Router-ID is not set, then LSA is
2996 waited to install to LSDB.
2997 `0.0.0.0 adv_router' AS-external-LSA origination bug was fixed.
2998
29992000-02-01 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3000
3001 * ospf_flood.c (ospf_ls_retransmit_lookup): Compare LS seqnum
3002 in the ACK before deleting.
3003
3004 * ospf_packet.c (ospf_hello): Reset the flags after a shutdown
3005 and no shutdown of the interface.
3006
30072000-01-31 Toshiaki Takada <takada@zebra.org>
3008
3009 * ospf_packet.c (ospf_ls_req): Send multiple Link State Update
3010 packets respond to a Link State Request packet.
3011
3012 * ospfd.c (show_ip_ospf_neighbor_detail_sub): Show thread state.
3013
3014 * ospf_interface.c (ospf_vl_new): Crash when backbone area
3015 is not configured and set virtual-link to no-backbone area,
3016 bug fixed.
3017
30182000-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3019
3020 * ospf_neighbor.h (struct ospf_neighbor): Add pointer to last send
3021 LS Request LSA.
3022
3023 * ospf_packet.c (ospf_ls_upd): Comment out LS request list
3024 treatment. That should be done in OSPF flooding procedure.
3025
3026 * ospf_flood.c (ospf_flood_through_area): Enclose
3027 ospf_check_nbr_loding inside if-else close.
3028
30292000-01-31 Toshiaki Takada <takada@zebra.org>
3030
3031 * ospf_packet.c (ospf_make_ls_upd): Fix bug of #LSAs counting.
3032
30332000-01-29 Toshiaki Takada <takada@zebra.org>
3034
3035 * ospf_packet.c (ospf_make_md5_digest): Fix bug of md5 authentication.
3036
30372000-01-28 Toshiaki Takada <takada@zebra.org>
3038
3039 * ospfd.c (show_ip_ospf): Show Number of ASE-LSAs.
3040
30412000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3042
3043 * ospf_packet.c (ospf_make_db_desc): Don't use rm_list for
3044 removing LSA from nbr->db_summary.
3045
30462000-01-27 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3047
3048 * ospf_packet.c (ospf_ls_upd_send): Set AllSPFRouters to
3049 destination when the link is point-to-point.
3050 (ospf_ls_ack_send_delayed): Likewise.
3051
30522000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3053
3054 * ospf_flood.c (ospf_ls_request_delete_all): Fix bug of next
3055 pointer lookup after the node is freed.
3056
30572000-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3058
3059 * ospf_asbr.c (ospf_asbr_route_add): Instead of scanning all AS
3060 external route, use ospf_top->external_self.
3061
30622000-01-27 Toshiaki Takada <takada@zebra.org>
3063
3064 * ospf_lsa.c (ospf_forward_address_get): New function added.
3065
3066 * ospf_asbr.c (ospf_asbr_check_lsas): Originate AS-external-LSA
3067 only when it should be replaced.
3068
30692000-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3070
3071 * ospf_flood.c (ospf_ls_retransmit_clear): Delete list node.
3072
3073 * ospf_lsa.c (ospf_lsa_free): Reduce logging message using
3074 ospf_zlog value.
3075
3076 * ospf_ism.c (ism_change_status): Fix bug of DR -> non DR status
3077 change. Self originated LSA is freed but not deleted from lsdb.
3078
30792000-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3080
3081 * ospf_ism.c (ism_interface_down): Don't use router_id for
3082 detecting self neighbor structure. Instead of that compare
3083 pointer itself.
3084
3085 * ospf_neighbor.c (ospf_nbr_free): Cancel all timer when neighbor
3086 is deleted.
3087 (ospf_nbr_free): Free last send packet.
3088
3089 * ospf_neighbor.h (struct ospf_neighbor): Remove host strucutre.
3090 Instead of that src is introduced.
3091
3092 * ospf_nsm.h: Enclose macro defenition with do {} while (0).
3093
30942000-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3095
3096 * ospfd.c: Change part of passive interface implementation. For
3097 passive interface just disabling sending/receiving Hello on the
3098 interface.
3099
31002000-01-16 Kai Bankett <kai.bankett@vew-telnet.net>
3101
3102 * ospf_interface.h (OSPF_IF_PASSIVE): Add passive flag.
3103 * ospf_interface.c (ospf_if_lookup_by_name): Add new function.
3104 * ospf_lsa.c (ospf_router_lsa): Skip passive interface.
3105 * ospfd.c (passive_interface): New command passive-interface is
3106 added.
3107 (ospf_config_write): Print passive interface.
3108
31092000-01-15 Toshiaki Takada <takada@zebra.org>
3110
3111 * ospf_interface.h (crypt_key): New struct added to store
3112 multiple cryptographic autheitication keys.
3113 (ospf_interface): struct changed.
3114
3115 * ospf_interface.c: ospf_crypt_key_new, ospf_crypt_key_add,
3116 ospf_crypt_key_lookup, ospf_crypt_key_delete: new functions added.
3117
3118 * ospf_packet.c (ip_ospf_message_digest_key): Changed to store
3119 multiple cryptographic authentication keys.
3120
31212000-01-14 Toshiaki Takada <takada@zebra.org>
3122
3123 * ospf_interface.c: DEFUN (if_ospf_*) commands changed name to
3124 ip_ospf_* ().
3125 Old notation `ospf *' still remains backward compatibility.
3126
31271999-12-29 Alex Zinin <zinin@amt.ru>
3128 * ospf_lsa.c: ospf_lsa_more_recent() bug fix
3129 * ospf_nsm.c, ospf_packet.c: remove nbr data struct when
3130 int goes down, also check DD flags correctly (bug fix)
3131
31321999-12-28 Alex Zinin <zinin@amt.ru>
3133 * "redistribute <source> metric-type (1|2) metric <XXX>" added
3134
31351999-12-23 Alex Zinin <zinin@amt.ru>
3136 * added RFC1583Compatibility flag
3137 * added dynamic interface up/down functionality
3138
31391999-11-19 Toshiaki Takada <takada@zebra.org>
3140
3141 * ospf_neighbor.h (struct ospf_neighbor): Add member state_change
3142 for NSM state change statistics.
3143
31441999-11-19 Toshiaki Takada <takada@zebra.org>
3145
3146 * ospfd.c (show_ip_ospf_neighbor_detail),
3147 (show_ip_ospf_neighbor_int_detail): DEFUN Added.
3148
31491999-11-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3150
3151 * ospf_asbr.c (ospf_asbr_check_lsas): Add check of
3152 lsa->refresh_list.
3153
31541999-11-11 Toshiaki Takada <takada@zebra.org>
3155
3156 * ospf_ia.[ch] (OSPF_EXAMINE_SUMMARIES_ALL): Macro added.
3157 This macro is expanded to ospf_examine_summaries ()
3158 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3159 (OSPF_EXAMINE_TRANSIT_SUMMARIES_ALL): Macro added.
3160 This macro is expanded to ospf_examine_transit_summaries ()
3161 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3162
31631999-11-11 Toshiaki Takada <takada@zebra.org>
3164
3165 * ospf_lsa.[ch] (ospf_find_self_summary_lsa_by_prefix): Changed to
3166 macro OSPF_SUMMARY_LSA_SELF_FIND_BY_PREFIX.
3167 (ospf_find_self_summary_asbr_lsa_by_prefix): Changed to
3168 macro OSPF_SUMMARY_ASBR_LSA_SELF_FIND_BY_PREFIX.
3169 (ospf_find_self_external_lsa_by_prefix): Changed to
3170 macro OSPF_EXTERNAL_LSA_SELF_FIND_BY_PREFIX.
3171
31721999-11-11 Toshiaki Takada <takada@zebra.org>
3173
3174 * ospfd.c (ospf_abr_type): ospf_abr_type_cisco, ospf_abr_type_ibm,
3175 ospf_abr_type_shortcut and ospf_abr_type_standard DEFUNs are
3176 combined.
3177 * ospfd.c (no_ospf_abr_type): no_ospf_abr_type_cisco,
3178 no_ospf_abr_type_ibm and no_ospf_abr_type_shortcut DEFUNS are
3179 combined.
3180
31811999-11-10 Toshiaki Takada <takada@zebra.org>
3182
3183 * ospf_route.c (ospf_lookup_int_by_prefix): Move function to
3184 ospf_interface.c and change name to ospf_if_lookup_by_prefix ().
3185
31861999-11-01 Alex Zinin <zinin@amt.ru>
3187 * ospf_packet.c
3188 some correction to LSU processing
3189
3190 * ospf_lsa.c ospfd.h
3191 randomize initial LSA refreshment interval
3192 and limit the size of LSA-group to 10
3193 to let randomization work more effectively.
3194
31951999-10-31 Alex Zinin <zinin@amt.ru>
3196 * ospf_interface.c
3197 cancel t_network_lsa_self
3198 when freeing int structure
3199
3200 * ospf_abr.c ospf_asbr.c ospf_flood.c ospf_lsa.c
3201 ospf_lsa.h ospf_lsdb.h ospfd.c ospfd.h
3202
3203 Summary and ASE LSA refreshment functions
3204 added---LSA refreshment is paced to 70 LSAs
3205 per sec to avoid link overflow. Refreshment events
3206 are further randomized within a 10 sec interval
3207 to avoid syncing.
3208
3209 Also the sigfault of memcmp() in ospf_lsa_is_different()
3210 is fixed.
3211
32121999-10-30 Alex Zinin <zinin@amt.ru>
3213 * ospf_nsm.c
3214 Fix the bug where MAX_AGE LSAs
3215 are included into the DB summary.
3216
3217 * ospf_interface.c
3218 allocate 2*MTU input buffer instead of just MTU
3219 for the cases when the other router mistakenly
3220 sends larger packets thus causing fragmentation, etc.
3221
3222 * ospf_nsm.c
3223 in nsm_reset_nbr() lists should be freed
3224 not when they are empty.
3225
32261999-10-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3227
3228 * ospf_zebra.c (ospf_acl_hook): Move OSPF_IS_ASBR and OSPF_IS_ABR
3229 check inside of if (ospf_top).
3230
32311999-10-29 Alex Zinin <zinin@amt.ru>
3232 * ospf_lsa.c ospf_lsdb.c :
3233 add assertion in lsa and lsa->data alloc functions,
3234 as well as in lsdb_add for new->data
3235
3236 * ospf_lsdb.c: free hash table correctly
3237
32381999-10-28 John Capo <jc@irbs.com>
3239
3240 * ospf_packet.h (OSPF_PACKET_MAX): Correct MAX packet length
3241 calculation
3242
32431999-10-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3244
3245 * OSPF-TRAP-MIB.txt: New file added. Edited version of RFC1850.
3246
3247 * OSPF-MIB.txt: New file added. Edited version of RFC1850.
3248
32491999-10-27 Alex Zinin <zinin@amt.ru>
3250 * ospfd, ospf_zebra, ospf_abr
3251 "area import-list" command is added.
3252 This command allows to filter the inter-area routes
3253 injected into an area. Access list hook function
3254 extended to invalidate area exp/imp lists.
3255
32561999-10-25 Yoshinobu Inoue <shin@nd.net.fujitsu.co.jp>
3257
3258 * ospfd.c (ospf_interface_run): Enable to detect P2P network
3259 on an OSPF interface.
3260
32611999-10-19 Jordan Mendelson <jordy@wserv.com>
3262
3263 * ospf_lsdb.c (ospf_lsdb_add): Fix bug of crash
3264 in ospf_ls_retransmit_lookup ().
3265
32661999-10-19 Vladimir B. Grebenschikov <vova@express.ru>
3267
3268 * ospf_route.c: Workaround about installation of OSPF routes into
3269 the zebra daemon. Add checking of existance routes. Free
3270 ospf_top->old_table if it exists.
3271
32721999-10-15 Jordan Mendelson <jordy@wserv.com>
3273
3274 * Add support for MD5 authentication.
3275
32761999-10-12 Alex Zinin <zinin@amt.ru>
3277 * ospfd.c, ospfd.h, ospf_abr.c:
3278 a new command "area export-list" was added, it allows
3279 the admin. to control which intra-area routes are
3280 announced to other areas by the ABR
3281
32821999-10-12 Alex Zinin <zinin@amt.ru>
3283 * ospf_asbr.c (ospf_asbr_check_lsas): Fix bug of coredump
3284 when "no redistribute" is used after a distribute list
3285 denying some networks was used
3286
32871999-10-05 Toshiaki Takada <takada@zebra.org>
3288
3289 * ospf_route.c (ospf_path_dup): New function added.
3290
32911999-10-05 Toshiaki Takada <takada@zebra.org>
3292
3293 * ospf_interface.[ch]: Some of VL related funciton name changed.
3294
32951999-09-27 Alex Zinin <zinin@amt.ru>
3296
3297 * ospf_zebra.c: Distribute-list functionality added
3298
32991999-09-27 Toshiaki Takada <takada@zebra.org>
3300
3301 * ospfd.c (show_ip_ospf): Fix bug of segmentation fault when no ospf
3302 instance exists.
3303
33041999-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3305
3306 * ospfd.c (ospf_interface_down): Fix bug of misusing nextnode()
3307 instead of node->next. Reported by Hiroki Ishibashi
3308 <ishibasi@dcd.abk.nec.co.jp>.
3309
3310 * ospf_route.c (show_ip_ospf_route): Add check for ospf is enabled
3311 or not.
3312
33131999-09-23 Alex Zinin <zinin@amt.ru>
3314
3315 * stub area support added
3316
33171999-09-23 Alex Zinin <zinin@amt.ru>
3318
3319 * fwd_addr in ASE-LSAs is now set correctly
3320 * ASE routing changed to check the fwd_addr
3321 and skip the route if the addr points to one
3322 of our interfaces to avoid loops.
3323
33241999-09-22 Alex Zinin <zinin@amt.ru>
3325
3326 * ospf_interface:
3327 ospf_vls_in_area() added, it returns
3328 the number of VLs configured through the area
3329
3330 * ospf_interface.c ospf_lsa.c ospf_lsdb.c ospfd.c
3331 honor correct mem alloc
3332
33331999-09-22 Alex Zinin <zinin@amt.ru>
3334
3335 * memory.[ch]:
3336 Some OSPF mem types added,
3337 plus more info in "show mem"
3338
33391999-09-21 Alex Zinin <zinin@amt.ru>
3340
3341 * ospfd.c:
3342 "area range substitute" added.
3343 It can be used on NAT-enabled (IP-masquarade)
3344 routers to announce private networks
3345 from an area as public ones into the outside
3346 world (not in the RFC, btw :)
3347
33481999-09-21 Alex Zinin <zinin@amt.ru>
3349
3350 * ospfd.c:
3351 "area range suppress" added.
3352 This command allows to instruct the router
3353 to be silent about specific ranges, i.e.,
3354 it is a method of route filtering on area
3355 borders
3356
33571999-09-21 Alex Zinin <zinin@amt.ru>
3358
3359 * ospfd.c VLs removed when "no network area" executed
3360
33611999-09-20 Alex Zinin <zinin@amt.ru>
3362
3363 * ospf_ase.c bug fix for not-zero fwd_addr
3364 and directly connected routes.
3365
33661999-09-20 Yon Uriarte <yon@plannet.de>
3367
3368 * ospf_packet.c (ospf_make_ls_req): Introduce delta value for
3369 checking the length of OSPF packet exceeds MTU or not.
3370
3371 * ospf_lsa.c (ospf_lsa_different): Apply ntohs for checking
3372 l1->data->length.
3373
33741999-09-18 Alex Zinin <zinin@amt.ru>
3375
3376 * ospf_lsa.c bug fix for ospf_network_lsa() to
3377 include itself into the RID list
3378
33791999-09-10 Alex Zinin <zinin@amt.ru>
3380
3381 * Alternative ABR behaviors IBM/Cisco/Shortcut
3382 implemented
3383
33841999-09-10 Alex Zinin <zinin@amt.ru>
3385
3386 * router and network-LSA origination
3387 changed to honor MinLSInterval
3388
33891999-09-08 Alex Zinin <zinin@amt.ru>
3390
3391 * modified ABR behavior to honor VLs and transit
3392 areas
3393
33941999-09-07 Alex Zinin <zinin@amt.ru>
3395
3396 * completed VL functionality
3397
33981999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3399
3400 * ospf_asbr.c: New file.
3401 ospf_asbr.h: New file.
3402
3403 * ospf_zebra.c (ospf_redistribute_connected): Add redistribute
3404 related stuff.
3405
34061999-09-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3407
3408 * ospfd.h (OSPF_FLAG_VIRTUAL_LINK): Change OSPF_FLAG_VEND to
3409 OSPF_FLAG_VIRTUAL_LINK for comprehensiveness.
3410
34111999-09-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3412
3413 * ospf_spf.c (ospf_spf_register): Change name from
3414 ospf_spf_route_add() to ospf_spf_register().
3415 Include "ospfd/ospf_abr.h" for ospf_abr_task() prototype.
3416
34171999-09-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3418
3419 * ospf_lsa.c (ospf_external_lsa_install): Change to update
3420 lsa->data rather than install new one, when same id lsa is already
3421 installed.
3422
34231999-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3424
3425 * ospf_lsa.c (ospf_router_lsa_install): Return lsa value.
3426 (ospf_network_lsa_install): Likewise.
3427 (ospf_summary_lsa_install): Likewise.
3428 (ospf_summary_asbr_lsa_install): Likewise.
3429 (ospf_external_lsa_install): Likewise.
3430
3431 * ospf_spf.c (ospf_spf_calculate): Comment out debug function
3432 ospf_rtrs_print().
3433
34341999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3435
3436 * ospf_spf.c (ospf_rtrs_free): Add ospf_spf_calculate() for
3437 freeing rtrs.
3438
34391999-08-31 Toshiaki Takada <takada@zebra.org>
3440
3441 * ospf_lsa.c (show_ip_ospf_database_summary),
3442 (show_ip_ospf_database_summary_asbr),
3443 (show_ip_ospf_database_external): New function added.
3444 `show ip ospf database summary',
3445 `show ip ospf database asbr-summary'
3446 `show ip ospf database external' command can be used.
3447
3448 * ospf_lsa.c (ospf_lsa_count_table): New function added.
3449 (show_ip_ospf_database_all): show nothing if a type of LSA
3450 does not exist.
3451
34521999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3453
3454 * ospf_lsa.c (ospf_maxage_lsa_remover): Preserve next pointer when
3455 the node is deleted.
3456
34571999-08-31 Toshiaki Takada <takada@zebra.org>
3458
3459 * ospf_flood.c (ospf_ls_retransmit_lookup): change to return
3460 struct ospf_lsa *.
3461 (ospf_ls_request_new), (ospf_ls_request_free),
3462 (ospf_ls_request_add), (ospf_ls_request_delete),
3463 (ospf_ls_request_delete_all), (ospf_ls_request_lookup):
3464 New function added.
3465
3466 * ospf_packet.c (ospf_ls_upd_send_lsa): New function added.
3467
3468 * ospf_lsa.h (LS_AGE): Slightly change macro definition.
3469
3470 * ospf_lsa.c (ospf_lsa_more_recent), (ospf_lsa_diffrent):
3471 Use LS_AGE macro.
3472
34731999-08-30 Alex Zinin <zinin@amt.ru>
3474
3475 * ospfd.c
3476 fix a bug with area range config write
3477 added "show ip ospf" command, it will be enhanced later on
3478
34791999-08-30 Alex Zinin <zinin@amt.ru>
3480
3481 * ospf_lsa.c
3482 updated ospf_router_lsa() to honor flags (B-bit)
3483
34841999-08-30 Alex Zinin <zinin@amt.ru>
3485
3486 * ospf_abr.c
3487 wrote major functions implementing ABR activity
3488
34891999-08-30 Alex Zinin <zinin@amt.ru>
3490
3491 * ospf_ia.c ospf_route.c ospf_route.h
3492 fixed the bug with ospf_route.origin field.
3493 Now it holds pointer to lsa_header
3494
34951999-08-30 Alex Zinin <zinin@amt.ru>
3496
3497 * ospf_flood.c ospf_flood.h:
3498 transformed ospf_flood_if_select into ospf_flood_through_area()
3499 added new ospf_flood_if_select() and ospf_flood_through_as()
3500
35011999-08-30 Toshiaki Takada <takada@zebra.org>
3502
3503 * ospf_flood.[ch]: New file added.
3504
3505 * ospf_packet.c (ospf_lsa_flooding),
3506 (ospf_lsa_flooding_select_if): functions move to ospf_flood.c
3507
3508 * ospf_neighbor.c (ospf_put_lsa_on_retransm_list),
3509 (ospf_remove_lsa_from_retransm_list),
3510 (ospf_nbr_remove_all_lsas_from_retransm_list),
3511 (ospf_lsa_remove_from_ls_retransmit):
3512 (ospf_lsa_retransmit): functions move to
3513 ospf_flood.c, and change function's name:
3514
3515 ospf_put_lsa_on_retransm_list ()
3516 -> ospf_ls_retransmit_add ()
3517 ospf_remove_lsa_from_retransm_list ()
3518 -> ospf_ls_retransmit_delete ()
3519 ospf_nbr_remove_all_lsas_from_retransm_list ()
3520 -> ospf_ls_retransmit_clear ()
3521 ospf_lsa_remove_from_ls_retransmit ()
3522 -> ospf_ls_retransmit_delete_nbr_all ()
3523 ospf_lsa_retransmit ()
3524 -> ospf_ls_retransmit_add_nbr_all ()
3525
3526 * ospf_lsa.c (ospf_lsa_lookup_from_list): function move to
3527 ospf_flood.c, and change name to ospf_ls_retransmit_lookup ().
3528
35291999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3530
3531 * ospf_neighbor.c (ospf_nbr_lookup_by_addr): Use
3532 route_node_lookup() instead of route_node_get().
3533
3534 * ospf_packet.c (ospf_ls_upd): Temporary comment out (6) check.
3535
35361999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3537
3538 * ospf_route.c (ospf_lookup_int_by_prefix): Add check of
3539 oi->address.
3540
35411999-08-29 Alex Zinin <zinin@amt.ru>
3542 * ospf_lsa.c
3543 MaxAge LSA deletion functions added.
3544
35451999-08-29 Alex Zinin <zinin@amt.ru>
3546 * ospf_neighbor.c
3547 ospf_nbr_lookup_by_addr(): added route_unlock_node()
3548 when function returns NULL if (rn->info == NULL)
3549
35501999-08-29 Alex Zinin <zinin@amt.ru>
3551 * ospfd.c
3552 added a hack for area range deletion
3553
35541999-08-29 Alex Zinin <zinin@amt.ru>
3555 * ospf_lsa.h
3556 included lsdb field into struct ospf_lsa, to find
3557 LSDB easier when removing MaxAge LSAs.
3558
35591999-08-29 Alex Zinin <zinin@amt.ru>
3560 * ospf_lsa.c ospf_neighbor.c ospf_nsm.c
3561 ospf_packet.c changed to honor new retransmit list
3562 management functions
3563
35641999-08-29 Alex Zinin <zinin@amt.ru>
3565 * ospf_neighbor.c , .h added new retransmit list functions.
3566
35671999-08-29 Alex Zinin <zinin@amt.ru>
3568 * Makefile.in
3569 added ospf_ase, ospf_abr, ospf_ia
3570
35711999-08-29 Alex Zinin <zinin@amt.ru>
3572 * ospf_spf.c:
3573 - changed ospf_next_hop_calculation() to include interface
3574 and nexthop addr for directly connected routers---more informative
3575 and solves problem with route installation into the kernel
3576 - changed ospf_nexthop_out_if_addr() to support routers, not only
3577 transit networks
3578 - added ospf_process_stubs();
3579
35801999-08-29 Alex Zinin <zinin@amt.ru>
3581 * ospf_lsa.c:
3582 - changed ospf_router_lsa() to provide correct links
3583 for p-t-p interfaces;
3584 - changed ospf_summary_lsa_install() to support table
3585 of self-originated summary-LSAs;
3586 - added ospf_summary_asbr_lsa_install() and ospf_external_lsa_install()
3587 - changed ospf_lsa_install() accordingly
3588 - changed show_ip_ospf_database_router_links() to support p-t-p
3589
35901999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3591
3592 * ospf_packet.c (ospf_make_db_desc): Only master can clear more
3593 flag.
3594
35951999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3596
3597 * ospf_packet.c (ospf_read): Add check of IP src address.
3598
35991999-08-28 Alex Zinin <zinin@amt.ru>
3600 * ospf_neighbor.h
3601 added ospf_nbr_lookup_by_routerid()
3602
36031999-08-28 Alex Zinin <zinin@amt.ru>
3604 * ospfd.h
3605 added ABR/ASBR flag definitions and fields;
3606 added iflist field to area structure;
3607 summary_lsa_self and summary_lsa_asbr_self are changed
3608 to be route tables;
3609 added ranges field---configured area ranges;
3610 A separate Routers RT added;
3611 area range config commands and config write added
3612
3613
36141999-08-28 Alex Zinin <zinin@amt.ru>
3615 * ospf_route.c :
3616 ospf_route_free()--added code to free the list of paths;
3617 The following functions added:
3618 ospf_intra_add_router();
3619 ospf_intra_add_transit();
3620 ospf_intra_add_stub();
3621 the last function uses new ospf_int_lookup_by_prefix();
3622 show_ip_ospf_route_cmd()--changed to support new RT structure;
3623 added ospf_cmp_routes()--general route comparision function;
3624 added ospf_route_copy_nexthops() and ospf_route_copy_nexthops_from_vertex()
3625 they are used in ASE and IA routing;
3626 added ospf_subst_route() and ospf_add_route();
3627
36281999-08-28 Alex Zinin <zinin@amt.ru>
3629 * ospf_route.h :
3630 changed struct ospf_path to include output interface,
3631 changed struct ospf_route to support IA and ASE routing.
3632 added prototypes of the function used in IA and ASE modules.
3633
36341999-08-28 Alex Zinin <zinin@amt.ru>
3635 * ospf_lsa.h ospf_lsa.c :
3636 added ospf_my_lsa(), an interface independent version of
3637 ospf_lsa_is_self_originated(), it will be used in ASE and IA-routing.
3638
36391999-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3640
3641 * ospf_interface.c (interface_config_write): Add check for
3642 oi->nbr_self.
3643
36441999-08-25 Toshiaki Takada <takada@zebra.org>
3645
3646 * ospf_lsa.c (ospf_lsa_dup): New function added.
3647
3648 * ospf_packet.c (ospf_write), (ospf_read): Print send/recv
3649 interface in debug message.
3650
36511999-08-25 Toshiaki Takada <takada@zebra.org>
3652
3653 * ospf_packet.c (ospf_ls_ack_send): The name is changed from
3654 `ospf_ls_ack_send'.
3655 (ospf_ls_ack_send_delayed) (ospf_ls_ack_timer): New function added.
3656 Delayed Link State Acknowledgment is scheduled by timer.
3657
36581999-08-25 Alex Zinin <zinin@amt.ru>
3659
3660 * ospf_lsa.c (ospf_router_lsa): Incorrectly included link to
3661 a stub network instead of link to a transit network into
3662 originated router-LSA, bug fixed.
3663
36641999-08-24 Toshiaki Takada <takada@zebra.org>
3665
3666 * ospfd.c (ospf_update_router_id): New function added.
3667
3668 * ospf_network.c (ospf_write): Create new socket per transmission.
3669 And select outgoing interface whether dst is unicast or multicast.
3670
3671 * ospf_packet.c: LSA flooding will work.
3672
36731999-08-24 VOP <vop@unity.net>
3674
3675 * ospf_route.c: Include "sockunion.h"
3676
36771999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3678
3679 * ospf_network.c (ospf_serv_sock_init): Enclose
3680 IPTOS_PREC_INTERNETCONTROL setting with #ifdef for OS which does
3681 not have the definition.
3682
36831999-08-23 Toshiaki Takada <takada@zebra.org>
3684
3685 * ospf_packet.c: Fix bug of DD processing.
3686
36871999-08-18 Toshiaki Takada <takada@zebra.org>
3688
3689 * ospf_lsa.c (show_ip_ospf_database): Show actual `LS age'.
3690
36911999-08-17 Toshiaki Takada <takada@zebra.org>
3692
3693 * ospf_lsa.h (OSPF_MAX_LSA): The value of OSPF_MAX_LSA is
3694 corrected. The bug of `mes_lookup' is fixed.
3695 This had been reported by Poul-Henning Kamp <phk@freebsd.org>.
3696
3697 * ospf_lsa.c (ospf_router_lsa_install): The name is changed from
3698 `ospf_add_router_lsa'.
3699 (ospf_network_lsa_install): The name is changed from
3700 `ospf_add_network_lsa'.
3701
3702 * ospf_interface.h (ospf_interface): Add member `nbr_self'.
3703
3704 * ospf_interface.c (ospf_if_is_enable): New function added.
3705
37061999-08-16 Toshiaki Takada <takada@zebra.org>
3707
3708 * ospf_lsa.h (struct lsa_header): The name is changed from
3709 `struct ospf_lsa'.
3710 (struct ospf_lsa): New struct added to control each LSA's aging
3711 and timers.
3712
3713 * ospf_lsa.c (ospf_lsa_data_free): The name is change from
3714 `ospf_lsa_free'.
3715 (ospf_lsa_data_new), (ospf_lsa_new), (ospf_lsa_free),
3716 (ospf_lsa_different), (ospf_lsa_install): New function added.
3717
3718 * ospf_packet.c (ospf_ls_upd_list_lsa): New function added.
3719
37201999-08-12 Toshiaki Takada <takada@zebra.org>
3721
3722 * ospf_nsm.c (nsm_reset_nbr): New function added.
3723 KillNbr and LLDown neighbor event call this function.
3724
37251999-08-10 Toshiaki Takada <takada@zebra.org>
3726
3727 * ospf_packet.c (ospf_ls_retransmit)
3728 (ospf_ls_upd_timer): New function added.
3729 Set retransmission timer for Link State Update.
3730
37311999-07-29 Toshiaki Takada <takada@zebra.org>
3732
3733 * ospf_ism.c (ospf_dr_election): Fix bug of DR election.
3734
37351999-07-28 Toshiaki Takada <takada@zebra.org>
3736
3737 * ospf_network.c (ospf_serv_sock_init): Set IP precedence field
3738 with IPTOS_PREC_INTERNET_CONTROL.
3739
3740 * ospf_nsm.c (nsm_change_status): Schedule NeighborChange event
3741 if NSM status change.
3742
3743 * ospf_packet.c (ospf_make_hello): Never include a neighbor in
3744 Hello packet, when the neighbor goes down.
3745
37461999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3747
3748 * Makefile.am (noinst_HEADERS): Add ospf_route.h.
3749
3750 * ospf_route.c (show_ip_ospf_route): Add `show ip ospf route'
3751 command.
3752
37531999-07-25 Toshiaki Takada <takada@zebra.org>
3754
3755 * ospf_lsa.c (ospf_router_lsa): Fix bug of LS sequence number
3756 assignement.
3757
37581999-07-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3759
3760 * ospf_route.c (ospf_route_table_free): New function added.
3761
3762 * ospf_spf.c (ospf_spf_next): Free vertex w when cw's and w's
3763 distance is same.
3764
3765 * ospfd.h (struct ospf): Add old_table.
3766
3767 * ospf_main.c (sighup): Call of log_rotate () removed.
3768
3769 * ospf_lsa.c (ospf_lsa_is_self_originated): Fix bug of checking
3770 area->lsa as self LSA. This should be area->lsa_self.
3771
37721999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3773
3774 * ospf_zebra.c (ospf_zebra_add): ospf_zebra_add
3775 (),ospf_zebra_delete () added.
3776
3777 * ospf_spf.c (ospf_spf_calculate): Call ospf_intra_route_add ().
3778
37791999-07-24 Toshiaki Takada <takada@zebra.org>
3780
3781 * ospf_lsa.c: Change LS sequence number treatment.
3782 (ospf_lsa_is_self_originated): New function added.
3783 (show_ip_ospf_database_self_originated): New DEFUN added.
3784
37851999-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3786
3787 * ospf_interface.c (ospf_if_lookup_by_addr): Add loopback check.
3788
37891999-07-22 Toshiaki Takada <takada@zebra.org>
3790
3791 * ospf_spf.c (ospf_nexthop_new), (ospf_nexthop_free),
3792 (ospf_nexthop_dup): function added.
3793 (ospf_nexthop_calculation): function changed.
3794
3795 * ospf_interface.c (ospf_if_lookup_by_addr): function added.
3796
37971999-07-21 Toshiaki Takada <takada@zebra.org>
3798
3799 * ospf_spf.c (ospf_spf_closest_vertex): function removed.
3800
38011999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3802
3803 * ospf_spf.c (ospf_spf_next): Apply ntohs for fetching metric.
3804
38051999-07-21 Toshiaki Takada <takada@zebra.org>
3806
3807 * ospf_neighbor.c (ospf_nbr_lookup_by_router_id): fundtion removed.
3808
3809 * ospf_lsa.c (show_ip_ospf_database_router): describe each
3810 connected link.
3811
38121999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3813
3814 * ospf_spf.c (ospf_spf_next): V is router LSA or network LSA so
3815 change behavior according to LSA type.
3816 (ospf_lsa_has_link): Link check function is added.
3817
38181999-07-20 Kunihiro Ishiguro <kunihiro@zebra.org>
3819
3820 * ospf_spf.c (ospf_spf_calculate_schedule): Add new function for
3821 SPF calcultion schedule addtition.
3822 (ospf_spf_calculate_timer_add): Rough 30 sec interval SPF calc
3823 timer is added.
3824 (ospf_spf_next_router): Delete ospf_spf_next_network ().
3825
3826 * ospf_lsa.c (show_ip_ospf_database_all): Network-LSA display
3827 header typo correction. Display of router LSA's #link added.
3828
38291999-07-19 Toshiaki Takada <takada@zebra.org>
3830
3831 * ospf_packet.c (ospf_check_network_mask): Added new function for
3832 receiving Raw IP packet on an appropriate interface.
3833
38341999-07-16 Toshiaki Takada <takada@zebra.org>
3835
3836 * ospfd.c (ospf_router_id): new DEFUN added.
3837
38381999-07-15 Toshiaki Takada <takada@zebra.org>
3839
3840 * ospf_spf.c (ospf_spf_init), (ospf_spf_free),
3841 (ospf_spf_has_vertex), (ospf_vertex_lookup),
3842 (ospf_spf_next_router), (ospf_spf_next_network),
3843 (ospf_spf_closest_vertex), (ospf_spf_calculate):
3844 function added.
3845
38461999-07-13 Toshiaki Takada <takada@zebra.org>
3847
3848 * ospf_ism.c: fix bug of DR Election.
3849
3850 * ospf_nsm.c: fix bug of adjacency forming.
3851
38521999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3853
3854 * ospfd.c (ospf_init): Change to use install_default.
3855
38561999-07-01 Rick Payne <rickp@rossfell.co.uk>
3857
3858 * ospf_zebra.c (zebra_init): Install standard commands to
3859 ZEBRA_NODE.
3860
38611999-06-30 Toshiaki Takada <takada@zebra.org>
3862
3863 * ospf_dump.c: Whole debug command is improved.
3864 (ISM|NSM) (events|status|timers) debug option added.
3865 (show_debugging_ospf): new DEFUN added.
3866
38671999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3868
3869 * ospf_lsa.c (ospf_lsa_lookup_from_list): Change !IPV4_ADDR_CMP to
3870 IPV4_ADDR_SAME.
3871
38721999-06-29 Toshiaki Takada <takada@zebra.org>
3873
3874 * ospf_dump.c (ospf_summary_lsa_dump): Add summary-LSA dump routine.
3875 (ospf_as_external_lsa_dump): Add AS-external-LSA dump routine.
3876
3877 * ospf_nsm.c (nsm_twoway_received): fix condtion of adjacnet.
3878
3879 * ospf_ism.c (ospf_dr_election): fix DR Election.
3880
3881 * ospf_dump.c (ospf_nbr_state_message): fix `show ip ospf neighbor'
3882 command's state.
3883
38841999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3885
3886 * ospf_dump.c (ospf_router_lsa_dump): Add router-LSA dump routine.
3887
38881999-06-28 Toshiaki Takada <takada@zebra.org>
3889
3890 * ospf_lsa.c (show_ip_ospf_database_network): fix bug of
3891 `show ip ospf database network' command output.
3892
3893 * ospf_nsm.c (nsm_inactivity_timer): Clear list of Link State
3894 Retransmission, Database Summary and Link State Request.
3895
3896 * ospf_packet.c (ospf_ls_req_timer): New function added.
3897 Set Link State Request retransmission timer.
3898
38991999-06-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3900
3901 * ospf_main.c (main): Change default output from ZLOG_SYSLOG to
3902 ZLOG_STDOUT.
3903
3904 * ospfd.c (ospf_init): Register show_ip_ospf_interface_cmd and
3905 show_ip_ospf_neighbor_cmd to VIEW_NODE.
3906
3907 * ospf_lsa.c (ospf_lsa_init): Register show_ip_ospf_database_cmd
3908 and show_ip_ospf_database_type_cmd to VIEW_NODE.
3909
39101999-06-25 Toshiaki Takada <takada@zebra.org>
3911
3912 * ospf_packet.c: fix bug of DD making.
3913 fix bug of LS-Update reading.
3914
39151999-06-23 Toshiaki Takada <takada@zebra.org>
3916
3917 * ospf_packet.c: All type of packets are changed to use
3918 fifo queue structure.
3919 (ospf_fill_header) function added.
3920
39211999-06-22 Toshiaki Takada <takada@zebra.org>
3922
3923 * ospf_packet.c (ospf_packet_new): New function added to handle
3924 sending ospf packet by fifo queue structure.
3925 (ospf_packet_free), (ospf_fifo_new), (ospf_fifo_push),
3926 (ospf_fifo_pop), (ospf_fifo_head), (ospf_fifo_flush),
3927 (ospf_fifo_free): Likewise.
3928
39291999-06-21 Toshiaki Takada <takada@zebra.org>
3930
3931 * ospf_nsm.c (ospf_db_desc_timer): function added.
3932 (nsm_timer_set) function added.
3933 * ospf_dump.c (ospf_option_dump): function added.
3934 * ospf_packet.c (ospf_ls_req) (ospf_make_ls_req): function added.
3935
39361999-06-20 Toshiaki Takada <takada@zebra.org>
3937
3938 * ospf_lsa.c (ospf_lsa_more_recent): function added.
3939 * ospf_neighbor.h (struct ospf_neighbor): Change member ms_flag
3940 to dd_flags.
3941
39421999-06-19 Toshiaki Takada <takada@zebra.org>
3943
3944 * ospf_lsa.c: DEFUN (show_ip_ospf_database) Added.
3945 * ospf_interface.c (if_ospf_cost), (if_ospf_dead_interval),
3946 (if_ospf_hello_interval), (if_ospf_priority),
3947 (if_ospf_retransmit_interval), (if_ospf_transmit_delay)
3948 argument changed from NUMBER to <range>.
3949 DEFUN (if_ospf_network_broadcast),
3950 DEFUN (if_ospf_network_non_broadcast),
3951 DEFUN (if_ospf_network_point_to_multipoint),
3952 DEFUN (if_ospf_network_point_to_point) functions are combined to
3953 DEFUN (if_ospf_network).
3954
39551999-06-18 Toshiaki Takada <takada@zebra.org>
3956
3957 * ospf_lsa.c: ospf_add_router_lsa (), ospf_add_network_lsa (),
3958 ospf_lsa_lookup (), ospf_lsa_count () Added.
3959
39601999-06-15 Toshiaki Takada <takada@zebra.org>
3961
3962 * DEFUN (ospf_debug_ism), DEFUN (ospf_debug_nsm),
3963 DEFUN (no_ospf_debug_ism), DEFUN (no_ospf_debug_nsm) Added.
3964 `debug ospf ism' command shows debug message.
3965 `debuf ospf nsm' command shows debug message.
3966
39671999-06-14 Toshiaki Takada <takada@zebra.org>
3968
3969 * ospf_lsa.c: ospf_network_lsa () Added.
3970 ospf_lsa_checksum () Added.
3971 * DEFUN (ospf_debug_packet), DEFUN (no_ospf_debug_packet) Added.
3972 `debug ospf packet' command shows debug message.
3973
39741999-06-13 Toshiaki Takada <takada@zebra.org>
3975
3976 * ospf_packet.h: Remove struct ospf_ls_req {}, ospf_ls_upd {},
3977 ospf_ls_ack {}.
3978
39791999-06-11 Toshiaki Takada <takada@zebra.org>
3980
3981 * ospf_dump.c: fix IP packet length treatment.
3982
39831999-06-10 Toshiaki Takada <takada@zebra.org>
3984
3985 * ospf_ism.h: Add OSPF_ISM_EVENT_EXECUTE() Macro Added.
3986 * ospf_nsm.h: Add OSPF_NSM_EVENT_EXECUTE() Macro Added.
3987
3988 * ospf_packet.c: ospf_db_desc (), ospf_db_desc_send () Added.
3989 ospf_make_hello (), ospf_make_db_desc () Added.
3990 ospf_db_desc_proc () Added.n
3991
3992 * Database Description packet can be processed.
3993
39941999-06-08 Toshiaki Takada <takada@zebra.org>
3995
3996 * ospf_lsa.c: New file.
3997
39981999-06-07 Toshiaki Takada <takada@zebra.org>
3999
4000 * ospf_neighbor.c: ospf_fully_adjacent_count () Added.
4001
40021999-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
4003
4004 * ospf_spf.[ch]: New file.
4005
40061999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4007
4008 * ospf_zebra.c: Changed to use lib/zclient.c routines.
4009
4010 * ospf_zebra.h (zebra_start): Remove struct zebra.
4011
40121999-05-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4013
4014 * ospfd.c (ospf_config_write): Add cast (unsigned long int) to
4015 ntohl for sprintf warning.
4016
40171999-05-19 Toshiaki Takada <takada@zebra.org>
4018
4019 * ospf_ism.c (ospf_dr_election): Join AllDRouters Multicast group
4020 if interface state changes to DR or BDR.
4021
40221999-05-14 Stephen R. van den Berg <srb@cuci.nl>
4023
4024 * ospf_main.c (signal_init): SIGTERM call sigint.
4025 (sigint): Logging more better message.
4026
40271999-05-12 Toshiaki Takada <takada@zebra.org>
4028
4029 * ospfd.c: Fix bug of `no router ospf' statement, it will work.
4030
40311999-05-11 Toshiaki Takada <takada@zebra.org>
4032
4033 * ospf_neighbor.c: ospf_nbr_free () Added.
4034
40351999-05-10 Toshiaki Takada <takada@zebra.org>
4036
4037 * ospfd.h: struct ospf_area { }, struct ospf_network { } Changed.
4038 * Fix bug of `no network' statement, it will work.
4039
40401999-05-07 Toshiaki Takada <takada@zebra.org>
4041
4042 * ospf_interface.c, ospf_zebra.c: Fix bug of last interface is not
4043 updated by ospf_if_update ().
4044
40451999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4046
4047 * Makefile.am (noinst_HEADERS): Add ospf_lsa.h for distribution.
4048
40491999-04-25 Toshiaki Takada <takada@zebra.org>
4050
4051 * ospf_interface.c: DEFUN (no_if_ospf_cost),
4052 DEFUN (no_if_ospf_dead_interval),
4053 DEFUN (no_if_ospf_hello_interval),
4054 DEFUN (no_if_ospf_priority),
4055 DEFUN (no_if_ospf_retransmit_interval),
4056 DEFUN (no_if_ospf_transmit_delay) Added.
4057
4058 interface_config_write () suppress showing interface
4059 default values.
4060
40611999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
4062
4063 * ospf_dump.c (ospf_timer_dump): If thread is NULL return "inactive".
4064
4065 * ospfd.c (ospf_if_update): Fix bug of using ospf_area { } instead
4066 of ospf_network { }. So `router ospf' statement in ospfd.conf
4067 works again.
4068 (ospf_if_update): Call ospf_get_router_id for updating router ID.
4069
40701999-04-25 Toshiaki Takada <takada@zebra.org>
4071
4072 * ospf_interface.c: DEFUN (if_ospf_network) deleted.
4073 DEFUN (if_ospf_network_broadcast),
4074 DEFUN (if_ospf_network_non_broadcast),
4075 DEFUN (if_ospf_network_point_to_multipoint),
4076 DEFUN (if_ospf_network_point_to_point),
4077 DEFUN (no_if_ospf_network) Added.
4078
40791999-04-23 Toshiaki Takada <takada@zebra.org>
4080
4081 * ospfd.h: struct area { } changed to struct ospf_network { }.
4082 Add struct ospf_area { }.
4083 * ospfd.c: Add ospf_area_lookup_by_area_id (), ospf_network_new (),
4084 and ospf_network_free ().
4085 DEFUN (area_authentication), DEFUN (no_area_authentication) Added.
4086
40871999-04-22 Toshiaki Takada <takada@zebra.org>
4088
4089 * ospf_lsa.h: New file.
4090 * ospf_packet.h: LSA related struct definition are moved to
4091 ospf_lsa.h.
4092 * ospf_packet.c: ospf_verify_header () Added.
4093
40941999-04-21 Toshiaki Takada <takada@zebra.org>
4095
4096 * ospf_ism.c: ospf_elect_dr () and related function is changed.
4097 DR Election bug fixed.
4098 * ospf_dump.c: ospf_nbr_state_message (), ospf_timer_dump () Added.
4099 * ospfd.c: DEFUN (show_ip_ospf_neighbor) Added.
4100
41011999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
4102
4103 * ospf_main.c (main): access_list_init () is added for vty
4104 connection filtering.
4105
41061999-04-16 Toshiaki Takada <takada@zebra.org>
4107
4108 * ospfd.c: DEFUN (show_ip_ospf_interface) Added.
4109 * ospf_neighbor.c: ospf_nbr_count () Added.
4110
41111999-04-15 Toshiaki Takada <takada@zebra.org>
4112
4113 * ospfd.h: struct ospf { } Changed.
4114 * ospfd.c: ospf_lookup_by_process_id () Deleted.
4115 * ospf_ism.c: ospf_wait_timer () Added. WaitTimer will work.
4116
41171999-04-14 Toshiaki Takada <takada@zebra.org>
4118
4119 * ospf_ism.c: ospf_elect_dr () Added.
4120 * ospf_network.c: ospf_if_ipmulticast () Added.
4121
41221999-04-11 Toshiaki Takada <takada@zebra.org>
4123
4124 * ospf_interface.c: interface_config_write (),
4125 DEFUN (if_ip_ospf_cost),
4126 DEFUN (if_ip_ospf_dead_interval),
4127 DEFUN (if_ip_ospf_hello_interval),
4128 DEFUN (if_ip_ospf_priority),
4129 DEFUN (if_ip_ospf_retransmit_interval) and
4130 DEFUN (if_ip_ospf_transmit_delay) Added.
4131
41321999-04-08 Toshiaki Takada <takada@zebra.org>
4133
4134 * ospf_dump.c: ospf_packet_db_desc_dump () Added.
4135 * ospf_neighbor.c: ospf_nbr_bidirectional () Added.
4136 * ospf_nsm.c: nsm_twoway_received () Added.
4137
41381999-04-02 Toshiaki Takada <takada@zebra.org>
4139
4140 * ospf_neighbor.c: New file.
4141 * ospf_neighbor.h: New file.
4142 * ospf_nsm.c: New file.
4143 * ospf_nsm.h: New file.
4144 * ospf_packet.c: Add ospf_make_header (), ospf_hello () and
4145 ospf_hello_send (). Now OSPFd can receive Hello and send Hello.
4146
41471999-03-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4148
4149 * ospf_packet.c: Add ospf_recv_packet (). Now OSPF Hello can receive.
4150
41511999-03-19 Toshiaki Takada <takada@zebra.org>
4152
4153 * ospf_packet.c: New file.
4154 * ospf_packet.h: New file.
4155 * ospf_network.c: New file.
4156 * ospf_network.h: New file.
4157 * ospfd.h: move OSPF message structure has moved to ospf_packet.h.
4158
41591999-03-17 Kunihiro Ishiguro <kunihiro@zebra.org>
4160
4161 * ospf_zebra.c (ospf_zebra_get_interface): Fix for IPv6 interface
4162 address.
4163
4164 * Makefile.am (install-sysconfDATA): Overwrite install-sysconfDATA
4165 for install ospfd.conf.sample as owner read only file.
4166
4167 * ospf_main.c (usage): Change to use ZEBRA_BUG_ADDRESS.
4168
41691999-03-15 Toshiaki Takada <takada@zebra.org>
4170
4171 * ospf_ism.c: New file.
4172 * ospf_ism.h: New file.
4173 * ospf_dump.c: New file.
4174 * ospf_dump.h: New file.
4175
4176 * ospfd.h: Add (struct ospf), (struct config_network),
4177 (struct message) structure.
4178
4179 * ospf_interface.c: Add ospf_if_match_network ().
4180 * ospf_interface.h (struct ospf_interface): Change struct members.
4181
4182 * ospfd.c: ospf_lookup_by_process_id (), ospf_network_new (),
4183 DEFUN (network_area): Added.
4184
4185 * ospfd.conf.sample: Change sample configuration.
4186
41871999-03-05 Toshiaki Takada <takada@zebra.org>
4188
4189 * ospf_interface.c: New file.
4190 * ospf_interface.h: New file.
4191 * ospf_zebra.h: New file.
4192 * ospf_zebra.c: Add interface function for zebra daemon.
4193 * ospfd.c: New file.
4194
41951999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4196
4197 * Move IPv6 codes and files to ospf6d directory.
4198
41991999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
4200
4201 * syslog support added
4202
42031998-12-22 Toshiaki Takada <takada@zebra.org>
4204
4205 * ospfd.h: New file.
4206 * ospf_lsa.h: New file.
4207
42081998-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
4209
4210 * Makefile.am: New file.
4211 * ospf_main.c: New file.
4212