blob: 7486b0733eae816ab5bc1955b9e23d13e339a538 [file] [log] [blame]
Paul Jakmad7b0fb62006-07-04 13:35:24 +000012006-07-02 Paul Jakma <paul.jakma@sun.com>
2
3 * ospf_nsm.c: (nsm_should_adj) New function, just consolidate the
4 10.4 adjacency check from nsm_twoway_received/nsm_adj_ok.
5 (nsm_twoway_received/nsm_adj_ok) Use former.
6
Andrew J. Schorr1c066bf2006-06-30 16:53:47 +000072006-06-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
8
9 * ospf_vty.c: (show_ip_ospf_neighbor_id) Should show all instances
10 of that neighbor (since it may appear on multiple interfaces)
11 instead of bailing out after showing the first match.
12
Andrew J. Schorr76947872006-06-30 03:21:05 +0000132006-06-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
14
15 * ospf_nsm.c: (nsm_twoway_received) When deciding whether to
16 change from state Init to ExStart, the test for whether the
17 neighboring router is DR or BDR should be against the
18 local router's notion of DR/BDR, not the neighbor's view.
19
Andrew J. Schorrd7e60dd2006-06-29 20:20:52 +0000202006-06-28 Erik Muller <erikm@internap.com>
21
22 * ospfd.h: Define 2 new struct ospf config flags:
23 OSPF_LOG_ADJACENCY_CHANGES and OSPF_LOG_ADJACENCY_DETAIL
24 * ospf_nsm.c (nsm_change_state): Log adjacency changes if
25 requested.
26 * ospf_vty.c (ospf_log_adjacency_changes): New command function
27 to implement ospf subcommand "log-adjacency-changes [detail]".
28 (no_ospf_log_adjacency_changes) Turn off log-adjacency-changes.
29 (show_ip_ospf) Show whether adjacency changes are logged.
30 (ospf_config_write) Add "log-adjacency-changes [detail]" to config.
31 (ospf_vty_init) Add ospf_log_adjacency_changes and
32 no_ospf_log_adjacency_changes.
33
Paul Jakma9560fa82006-06-26 12:50:06 +0000342006-06-26 Paul Jakma <paul.jakma@sun.com>
35
36 * ospf_abr.c: (general) NSSA translate-candidate ABRs need to
37 be ASBRs, or other routers may rightfully refuse to install
38 translated type-5s LSAs. reported by dendroot@gmail.com.
39 (ospf_abr_nssa_check_status) Detect change in translator
40 state when ABR, and inc/dec redistribute count as when we
41 leave/enter the disabled state - so that translate-enabled
42 ABR properly sets ASBR bit on non-NSSA areas.
43 Run the resulting function through indent to clean it up.
44 * ospf_lsa.c: (router_lsa_flags) For purposes of ASBR bit,
45 NSSA area is same as stub area.
46
Andrew J. Schorr0ffb7092006-06-24 19:40:13 +0000472006-06-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
48
Andrew J. Schorr9aecfae2006-06-24 20:05:02 +000049 * ospf_snmp.c: (ospfTrapNbrStateChange, ospfTrapIfStateChange) Improve
50 info log message to indicate why the trap is being sent.
51
522006-06-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
53
Andrew J. Schorr0ffb7092006-06-24 19:40:13 +000054 * ospf_dump.c: (config_write_debug) Fix typo to show debug ospf nsm
55 status properly (not ism status).
56
Andrew J. Schorr6e72cb62006-06-18 00:45:48 +0000572006-06-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
58
59 * ospf_vty.c: ({no_,}ospf_passive_interface) Replace if_lookup_by_name
60 with a call to if_get_by_name -- if the interface does not exist
61 already, it should be created. And remove the obsolete warning
62 message.
63
Paul Jakma429ac782006-06-15 18:40:49 +0000642006-06-15 Paul Jakma <paul.jakma@sun.com>
65
66 * ospf_interface.h: (struct ospf_if_info) Add reference counts
67 for multicast group memberships. Add various macros to help
68 manipulate/check membership state.
69 * ospf_interface.c: (ospf_if_set_multicast) Maintain the
70 ospf_if_info reference counts, and only actually drop
71 memberships if it hits 0, to avoid losing membership when
72 OSPF is disabled on an interface with multiple active OSPF
73 interfaces.
74 * ospf_packet.c: (ospf_{hello,read}) Use the new macros to
75 check/set
76 multicast membership.
77 * ospf_vty.c: (show_ip_ospf_interface_sub) ditto.
78
Paul Jakmaac904de2006-06-15 12:04:57 +0000792006-05-31 Paul Jakma <paul.jakma@sun.com>
80
81 * ospf_lsdb.c: (ospf_lsdb_delete) robustify against NULL arguments,
82 print warning.
83 * ospf_lsa.c: (ospf_discard_from_db) ditto.
84 (ospf_maxage_lsa_remover) Check lsa->lsdb for validity, possible
85 mitigation (but not solution) for bug #269.
86
Paul Jakma88871b12006-06-15 11:41:19 +0000872006-05-30 Paul Jakma <paul.jakma@sun.com>
88
89 * ospf_packet.c: (ospf_read) Debug message about packets
90 received on unenabled interfaces should be conditional on
91 debug being set.
92
Paul Jakmad1c65c22006-06-27 08:01:43 +0000932006-05-23 Paul Jakma <paul.jakma@sun.com>
94
95 * ospf_vty.c: (general) Replace in-place route redistribution
96 command and help strings with the new auto-generated defines
97 from lib/route_types.h
98
Paul Jakmaae128052006-05-12 23:15:30 +0000992006-05-13 Paul Jakma <paul.jakma@sun.com>
100
101 * ospf_lsa.c: (ospf_translated_nssa_refresh) fix the sanity
102 check to match the assert, small error in CID #13 fix.
103
Paul Jakma70461d72006-05-12 22:57:57 +00001042006-05-12 Paul Jakma <paul.jakma@sun.com>
105
106 * ospf_lsa.c: (ospf_lsa_action) Get rid of the ospf_lookup
107 call, which is not checked for NULL return, by stripping out
108 functionality which is never used, hence fixing Coverity CID
109 #29.
110 (struct lsa_action) remove unused member.
Paul Jakmae54e6e52006-05-12 23:11:14 +0000111 (ospf_translated_nssa_refresh) Add non-assert sanity check,
112 in case DEBUG isn't defined.
113 Debug message when no type7 exists should print the ID from
114 the type5, not the type7, fixes CID #13.
115 * ospf_interface.c: (ospf_if_exists) Fix missing NULL return
Paul Jakmae43be0e2006-05-12 23:00:06 +0000116 check on ospf_lookup, CID #27.
Paul Jakma6db3a6f2006-05-12 23:02:46 +0000117 * ospf_asbr.c: (ospf_redistribute_withdraw) remove ospf_lookup
118 call by taking the struct ospf * as argument, which the
119 caller has, fixing CID #28.
120 * ospf_asbr.h: (ospf_redistribute_withdraw) update declaration
121 * ospf_zebra.c: (ospf_redistribute_unset) update call to
122 ospf_redistribute_withdraw to match.
Paul Jakmabfd7c7d2006-05-12 23:04:45 +0000123 * ospf_ia.c: (ospf_update_router_route) ospf->backbone could be
124 NULL when passed to ospf_find_asbr_route_through_area,
125 check for NULL first, CID #14.
Paul Jakmadeb15612006-05-12 23:07:27 +0000126 * ospf_ism.c: (ism_change_state) NULL check on oi->area is
127 useless, it's always valid. Only possibility where it
128 couldn't be is if there is a race between abr_task and
129 cleaning up oi's, in which case a NULL check here isn't going
130 to do anything. Fixes CID #15.
Paul Jakma70461d72006-05-12 22:57:57 +0000131
Paul Jakmacac3b5c2006-05-11 13:31:11 +00001322006-05-11 Paul Jakma <paul.jakma@sun.com>
133
134 * ospf_vty.c: (general) Audit ospf_lookup calls in commands,
135 ensure check for NULL result, make vty messages consistent.
136 (show_ip_ospf_interface) Missing NULL check on ospf_lookup
137 result, fixes Coverity CID #70.
Paul Jakma1a8ec2b2006-05-11 13:34:08 +0000138 (no_ospf_area_filter_list) Check NULL result from
139 ospf_area_lookup_by_area_id, fixes Coverity CID #69
Paul Jakma894f8b62006-05-12 22:50:40 +0000140 * ospf_route.c: (ospf_route_delete_same_ext) Fix deref before
141 NULL check by moving into check-protected block, fix CID #49.
Paul Jakma214a4452006-05-12 22:51:49 +0000142 * ospf_abr.c: (ospf_area_range_cost_set) Shouldn't create a new
143 range, should just lookup to see if one exists, the new range
144 is just leaked. Fixes CID #46.
Paul Jakma4021b602006-05-12 22:55:41 +0000145 * ospf_lsa.c: (ospf_default_originate_timer) Let the thread
146 take (struct ospf *) as thread argument, rather than (struct
147 ospf *)->default_originate, thus avoiding having to call
148 ospf_lookup.
149 * ospf_zebra.c: (ospf_redistribute_default_set) change setup
150 of ospf_default_originate_timer thread to match.
151 * ospfd.c: (ospf_router_id_update) ditto.
Paul Jakmacac3b5c2006-05-11 13:31:11 +0000152
Paul Jakma9c27ef92006-05-04 07:32:57 +00001532006-04-24 Paul Jakma <paul.jakma@sun.com>
154
155 * (general) More Virtual-link fixes, again with much help in
156 testing / debug from Juergen Kammer. Primarily in SPF.
157 * ospf_spf.h: Add guard. ospf_interface.h will include this
158 header.
159 * ospf_interface.h: Modify ospf_vl_lookup definition to take
160 struct ospf as argument, so as to allow for NULL area
161 argument.
162 (struct ospf_vl_data) Remove out_oi, instead add a struct
163 vertex_nexthop, to use as initial nexthop for backbone paths
164 through a vlink.
165 * ospf_interface.c: (ospf_vl_lookup) Modified to allow
166 NULL area to be passed to indicate "any" (first) area.
167 Add extra debug.
168 (ospf_vl_set_params) vl_oi -> nexthop. Add extra debug.
169 (ospf_vl_up_check) Fix debug, inet_ntoa returns a static
170 buffer..
171 * ospf_route.c: (ospf_intra_add_router) Vlinks dont go through
172 backbone, don't bother checking.
173 * ospf_spf.c: (static struct list vertex_list) Record vertices
174 that will need to be freed.
175 (cmp) Order network before router vertices, as required,
176 wasn't implemented.
177 (vertex_nexthop_free) Mild additional robustness check.
178 (vertex_parent_free) Take void argument, as this function
179 is passed as list deconstructor for vertex parent list.
180 (ospf_vertex_new) More debug. Set deconstructor for parent
181 list. Track allocated vertices on the vertex_list.
182 (ospf_vertex_free) Get rid of the tricky recursive cleanup of
183 vertices. Now frees only the given vertex.
184 (ospf_vertex_add_parent) Fix assert.
185 (ospf_nexthop_calculation) Fix calculation of nexthop for
186 VLink vertices, lookup the vl_data and use its previously
187 recorded nexthop information.
188 (ospf_spf_calculate) Vertices are freed simply by deleting
189 vertex_list nodes and letting ospf_vertex_free as deconstructor
190 work per-node.
191 (ospf_spf_calculate_timer) Trivial optimisation, leave
192 backbone SPF calculation till last to reduce SPF churn on
193 VLink updates.
194 * ospf_vty.c: (ospf_find_vl_data) update call to ospf_vl_lookup
195 (no_ospf_area_vlink_cmd) ditto.
196 (show_ip_ospf_interface_sub) For Vlinks, the peer address is
197 more interesting than the output interface.
198
Paul Jakma478aab92006-04-03 21:25:32 +00001992006-04-03 Paul Jakma <paul.jakma@sun.com>
200
201 * (general) Fix issues with handling of Vlinks and entries
202 in the nbrs route-table which were highlighted by the
203 nsm/nbr_self fixes from bug #234. Many thanks to Juergen
204 Kammer for his help and efforts in testing out debug patches to
205 pinpoint the issue.
206 * ospf_interface.c: (ospf_vl_new) Add nbr_self for Vlink.
207 * ospf_neighbor.c: (ospf_nbr_key) new static function, helper
208 to create key in nbrs table for a given nbr.
209 (ospf_nbr_delete) Use ospf_nbr_key. Add an assert() to
210 document an expected state.
211 (ospf_nbr_add_self) Ditto.
212 (ospf_nbr_lookup_by_addr) Add an assert.
213 * ospf_nsm.c: (nsm_kill_nbr) Can never kill the nbr_self
214 psuedo-neighbour.
215
Paul Jakma075c2012006-03-30 14:34:31 +00002162006-03-27 Paul Jakma <paul.jakma@sun.com>
217
218 * ospf_lsa.c: (ospf_lsa_checksum) Add an explicit cast to avoid
219 the ambiguities of ANSI and C99 C with respect to type
220 conversion. Detailed problem report and test case with
221 example data supplied by Dmitry Ivanov <dimss@telecentrs.lv>.
222
Paul Jakma1a8ee0e2006-03-30 14:20:00 +00002232006-03-25 Paul Jakma <paul.jakma@sun.com>
224
225 * ospf_interface.c: (ospf_if_lookup_recv_if) Ignore loopbacks,
226 we can never ever receive packets on those. Should fix
227 case where CARP is run with address in same subnet as real
228 interface. Problem report and diagnosis thanks to:
229 Landon Fuller <landonf@opendarwin.org>.
230 However, ospf_read() still can't deal deterministically with
231 multiple interfaces in same subnet.
232
Paul Jakmac2b478d2006-03-30 14:16:11 +00002332006-03-23 Steve Lawson <steve.lawson@aheadcomusa.com>
234
235 * ospf_lsa.c: (ospf_lsa_install) Fix incorrect byte-order
236 conversion of OSPF_MAX_SEQUENCE_NUMBER
237
paule8e19462006-01-19 20:16:55 +00002382006-01-19 Paul Jakma <paul.jakma@sun.com>
239
240 * (general) various miscellaneous compiler warning fixes.
241 Remove redundant break statements from switch clauses
242 which return.
243 return from main, not exit, cause it annoys SOS.
244 Remove stray semi-colons which cause empty-statement
245 warnings.
246
paul779adb02006-01-18 15:07:38 +00002472006-01-18 Juergen Kammer <j.kammer@eurodata.de>
248
249 * ospf_lsa.c: (ospf_router_lsa_new) dont take reference to the
250 stream data until it is constructed, data reference is
251 volatile due to the potential resize in link_info_set
252
2532006-01-18 Paul Jakma <paul.jakma@sun.com>
254
255 * ospf_lsa.c: (link_info_set) Resize the stream if required and
256 possible. Return number of links added.
257 (lsa_link_*_set) use return value from previous.
258 * ospf_lsa.h: Add OSPF_ROUTER_LSA_LINK_SIZE define.
259
paulc6371712006-01-17 17:49:53 +00002602006-01-17 Paul Jakma <paul.jakma@sun.com>
261
262 * ospf_packet.c: (ospf_verify_header) print out the types
263 involved if there's a mismatch.
264 * ospf_zebra.c: (ospf_zebra_add) Adjust to new zserv format.
265
paul818e56c2006-01-10 23:27:05 +00002662006-01-10 Len Sorensen <lennartsorensen@ruggedcom.com>
267
268 * (general) Bug #234, see also [quagga-dev 3902].
269 Fix problem with nbr_self not being properly reinitialised
270 when an interface comes up, after having been down.
paul1a643f82006-01-11 01:08:19 +0000271 Some re-arrangement done by Paul Jakma, any bugs introduced
272 on top of Len's suggested changes are his.
paul818e56c2006-01-10 23:27:05 +0000273 * ospf_neighbor.c: (ospf_nbr_add_self) centralise
274 initialisation of nbr_self parameters here.
275 * ospf_interface.c: (ospf_if_new) deleting initialisation of
276 parameters of nbr_self, just rely on call to
277 ospf_nbr_add_self.
278 (ospf_if_cleanup) ditto.
279 * ospfd.c: (ospf_network_run) ditto.
280
paul98429f62006-01-10 22:11:54 +00002812006-01-10 Juris Kalnins <juris@mt.lv>
282
283 * ospf_zebra.c: (ospf_interface_address_delete) fix rare leak of
284 struct connected in an error case.
paul818e56c2006-01-10 23:27:05 +0000285 * ospf_packet.c: (ospf_make_md5_digest) fix odd, if not
286 undefined effect, assignment of an increment expression.
paul98429f62006-01-10 22:11:54 +0000287
paul86752842006-01-10 20:34:46 +00002882006-01-10 Paul Jakma <paul.jakma@sun.com>
289
290 * ospfd.c: (ospf_network_run) checking to see if router-id
291 is set should be on ospf->router_id, not router_id_static.
292 This was causing ospfd to not start if router-id had not
293 been configured statically.
294 (ospf_if_update) ditto.
paulc42c1772006-01-10 20:36:49 +0000295 * ospf_vty.c: (config_write_ospf_distribute) trim down
296 redundant strings.
paul86752842006-01-10 20:34:46 +0000297
paul00c290e2005-11-26 09:21:43 +00002982005-11-26 Paul Jakma <paul.jakma@sun.com>
299
300 * ospf_api.c: (struct opaque_lsa) change from gcc zero-length
301 array to C99 incomplete type array.
paulc9c93d52005-11-26 13:31:11 +0000302 * (general) s/graceful/deferred/ in all files, the former term
303 is confusing wrt OSPF Graceful-Restart.
304 * ospfd.c: (ospf_deferred_shutdown_check) dont return
305 a function which returns void. SOS complains about this.
306 (ospf_finish)
paul00c290e2005-11-26 09:21:43 +0000307
paulb29800a2005-11-20 14:50:45 +00003082005-11-20 Paul Jakma <paul.jakma@sun.com>
309
310 * ospfd.h: remove the OSPF_ROUTER_ID_UPDATE_DELAY define
311 (struct ospf) remove the router_id timer thread.
312 remove export of ospf_router_id_update_timer.
313 * ospfd.c: (ospf_router_id_update) call ospf_if_update to
314 poke interfaces into action after ID has been configured.
315 (ospf_router_id_update_timer) removed.
316 (ospf_finish_final) t_router_id_update timer is gone.
317 (ospf_network_run) router-id update timer gone.
318 call ospf_router_id_update directly if ID not configured.
319 In the per-iface loop, don't ospf_if_up interfaces if
320 ID is still not configured. The update function will call
321 ospf_if_update anyway.
322 (ospf_if_update) ID update timer is gone. Just return if no
323 ID is set.
324 * ospf_vty.c: (ospf_router_id) call ospf_router_id_update, no
325 timer needed.
326 * ospf_zebra.c: (ospf_router_id_update_zebra) call
327 ospf_router_id_update directly, not via timer.
paulc24d6022005-11-20 14:54:12 +0000328 * ospf_abr.c: (ospf_abr_announce_network_to_area) check
329 returned LSA of ospf_summary_lsa_refresh and print warning if
330 it failed.
331 (ospf_abr_announce_network_to_area) similar
332 (ospf_abr_announce_rtr_to_area) similar
333 * ospf_lsa.c: (ospf_router_lsa_new) check LSA returned is valid.
334 (ospf_router_lsa_originate) similar
335 (ospf_router_lsa_refresh, ospf_network_lsa_new) similar
336 (ospf_summary_lsa_new) Check ID is valid.
337 (ospf_summary_lsa_originate) ditto, and check returned LSA from
338 previous function is !NULL.
339 (ospf_summary_lsa_refresh) check ospf_summary_lsa_new return
340 is !NULL.
341 (ospf_summary_asbr_lsa_new) ID valid check.
342 (ospf_summary_asbr_lsa_originate) similar.
paulb29800a2005-11-20 14:50:45 +0000343
ajs70cd3472005-11-16 19:33:22 +00003442005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
345
ajs649654a2005-11-16 20:17:52 +0000346 * ospf_dump.h: Define OSPF_TIME_DUMP_SIZE as appropriate buffer size
347 for use with ospf_timer_dump and ospf_timeval_dump.
348 * ospf_vty.c: Change all buffer sizes used with ospf_timer_dump and
349 ospf_timeval_dump to have size OSPF_TIME_DUMP_SIZE.
350 (show_ip_ospf_interface_sub) Fix possible buffer overflow in
351 call to ospf_timer_dump.
352
3532005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
354
ajs70cd3472005-11-16 19:33:22 +0000355 * ospf_ism.h: (OSPF_ISM_TIMER_OFF) Improve macro syntax by enclosing
356 in 'do {...} while(0)'.
357
paul31a59762005-11-14 11:11:11 +00003582005-11-14 Paul Jakma <paul.jakma@sun.com>
359
360 * ospfd.c: (ospf_new) stub-shutdown should just default to
361 unconfigured, too strange otherwise.
362 (ospf_finish_final) t_opaque_lsa_self TIMER_OFF should be
363 preprocessor conditional on HAVE_OPAQUE_LSA.
364 * ospfd.h: (struct ospf) remove the SHUTDOWN_DEFAULT define.
365 no longer used, plus it wasn't in range that the command
366 accepted.
367 * ospf_zebra.h: Depends on vty.h, include it.
368
paul58e1bef2005-11-11 12:10:03 +00003692005-11-11 Paul Jakma <paul.jakma@sun.com>
370
371 * ospf_spf.c: (ospf_canonical_nexthops_free) Free only
372 the nexthops pointing to the root vertex. We may visit a
373 vertex twice or the vertex may have some inherited nexthops,
374 if we free other nexthops we could crash.
375
paulc8c15212005-11-04 12:31:39 +00003762005-11-04 Paul Jakma <paul.jakma@sun.com>
377
378 * ospf_{dump,spf,vty}.c: Oops, use the internal tv_sub
379 function rather than unportable timersub.
380
paul484315f2005-11-03 09:08:29 +00003812005-11-03 Paul Jakma <paul.jakma@sun.com>
382
383 * ospf_apiserver.c: (apiserver_sync_callback) stray semi-colon
384 * ospf_packet.c: include checksum.h, remove the in_cksum extern
385 * prototypes.
386 * ospf_te.h: Add braces, quell warning.
paul6d452762005-11-03 11:15:44 +0000387 * ospf_packet.c: Change level of some warnings to
388 informational.
paulc8c15212005-11-04 12:31:39 +0000389
paul88d6cf32005-10-29 12:50:09 +00003902005-10-29 Paul Jakma <paul.jakma@sun.com>
391
392 * (general) RFC3137 stub-router support
393 * ospfd.h: Add OSPF_OUTPUT_COST_INFINITE define.
394 (struct ospf_master) Add a OSPF_MASTER_SHUTDOWN flag for
395 options, to allow shutdown to distinguish between complete
396 shutdown and shutdown of a subset of ospf instances.
397 (struct ospf)
398 Add stub_router_{startup,shutdown_}time, configuration of startup
399 and shutdown time for stub-router.
400 Add t_graceful_shutdown struct thread, timer for graceful
401 shutdown, if needed.
402 (struct ospf_area) Add stub_router_state - run time state of
403 stub-router for an area. Add flags for ADMIN, IS and WAS
404 states.
405 Add t_stub_router, timer thread to resend router-lsa for an
406 area.
407 * ospf_lsa.c: (ospf_link_cost) new simple function to spit out
408 either the given lnks cost or infinite cost if stub-router is
409 in effect.
410 (lsa_link_{ptop,broadcast,virtuallink,ptomp}_set) use
411 previous function for transit-links.
412 (ospf_stub_router_timer) timer thread for end of startup stub
413 router. Change state as required for the area and setup
414 re-origination of router-lsa.
415 (ospf_stub_router_check) Check/do whether stub-router should be
416 enabled, and whether it requires timer to be setup.
417 (ospf_router_lsa_new) call previous function at top.
418 (ospf_router_lsa_originate) no external callers, made static.
419 * ospf_lsa.h: (ospf_router_lsa_originate) removed.
420 * ospf_main.c: (sigint) make static.
421 remove call to exit, as ospf_terminate now deals with
422 exiting.
423 * ospf_route.c: (ospf_terminate) removed, now in ospfd.c.
424 * ospf_vty.c: (show_ip_ospf_area) print out state of
425 stub-router, if active.
426 (show_ip_ospf) print out configuration of stub-router
427 support, and details of graceful-shutdown if the timer is
428 active.
429 ((no)?ospf_max_metric_router_lsa_{admin,startup,shutdown}) new
430 commands to (de-)?configure stub-router support.
431 (config_write_stub_router) write out config of stub-router.
432 (ospf_config_write) call previous.
433 (ospf_vty_init) install the new stub-router commands.
434 * ospfd.c: various functions made static.
435 (ospf_new) Set defaults for stub-router. Graceful shutdown
436 is made to default on, just to be adventerous.
437 (ospf_graceful_shutdown_finish) new function, final part of
438 shutdown.
439 (ospf_graceful_shutdown_timer) timer thread wrapper for
440 graceful-shutdown.
441 (ospf_graceful_shutdown_check) check whether to setup timer
442 for shutdown or proceed directly to final shutdown.
443 (ospf_terminate) moved here from ospf_route.c, call
444 ospf_finish for each instance.
445 (ospf_finish) renamed to ospf_finish_final and made static.
446 (ospf_finish) new function, exported wrapper around
447 ospf_graceful_shutdown_check.
448 (ospf_finish_final) complete shutdown of an instance.
449 Add missing TIMER_OFF's of two timer threads.
450 (ospf_area_free) opaque self lsa timer should be turned off.
451
paulb8ad39d2005-10-23 15:23:05 +00004522005-10-23 Paul Jakma <paul.jakma@sun.com>
453
paule029d442005-10-23 15:26:24 +0000454 * ospf_apiserver.c: (ospf_apiserver_term) This function should
455 not have side-effects (eg segv) if no apiserver instances are
456 active, ie be robust.
paulb8ad39d2005-10-23 15:23:05 +0000457 * ospf_vty.c: (show_ip_ospf) fix display of SPF timer if it
458 has not yet been run.
459
paulf9ad9372005-10-21 00:45:17 +00004602005-10-21 Paul Jakma <paul.jakma@sun.com>
461
paulea4ffc92005-10-21 20:04:41 +0000462 * ospf_dump.c: (ospf_timeval_dump) fix ms adjustment, thanks to
463 Andrew Schorr.
464 * ospf_vty.c: (ospf_config_write) fix write out of spf timers
465 configuration.
466
4672005-10-21 Paul Jakma <paul.jakma@sun.com>
468
pauld24f6e22005-10-21 09:23:12 +0000469 * (general) SPF millisecond resolution timer with adaptive,
470 linear back-off holdtime. Prettification of ospf_timer_dump.
471 * ospf_dump.c: (ospf_timeval_dump) new function. The guts of
472 ospf_timer_dump, but made to be more dynamic in printing out
473 the relative timeval, sliding the precision printed out
474 according to the value.
475 (ospf_timer_dump) guts moved to ospf_timeval_dump.
476 * ospf_dump.h: export ospf_timeval_dump.
477 * ospf_flood.c: (ospf_flood) remove gettimeofday, use
478 the libzebra exported recent_time instead, as it's not
479 terribly critical to have time exactly right - the dropped
480 LSA will be retransmited to us if we don't ACK it.
481 * ospf_packet.c: (ospf_ls_upd_timer) Ditto, but here we're
482 not transmitting, just putting LSA back on update transmit list.
483 * ospfd.h: delay and holdtimes should be unsigned.
484 Add spf_max_holdtime and spf_hold_multiplier.
485 Update default defines for delay and hold time to be in msec.
486 (struct ospf) change the SPF timestamp to a struct timeval.
487 Remove ospf_timers_spf_(un)?set.
488 * ospfd.c: (ospf_timers_spf_{set,unset}) removed.
489 (ospf_new) initialise spf_max_holdtime and spf_hold_multiplier
490 * ospf_spf.c: (ospf_spf_calculate) SPF timestamp is a timeval
491 now, update with gettimeofday.
492 (ospf_spf_calculate_schedule) Change SPF timers to millisecond
493 resolution.
494 Make the holdtime be adaptive, with a linear increase in
495 holdtime ever consecutive SPF run which occurs within holdtime
496 of previous SPF, bounded by spf_max_holdtime.
497 * ospf_vty.c: Update spf timers commands.
498 (ospf_timers_spf_set) trivial helper.
499 (ospf_timers_throttle_spf_cmd) new command to set SPF delay,
500 initial hold and max hold times with millisecond resolution.
501 (ospf_timers_spf_cmd) Deprecated. Accept the old values,
502 convert to msec, truncate to new limits.
503 (no_ospf_timers_throttle_spf_cmd) set timers to defaults.
504 (no_ospf_timers_spf_cmd) deprecated form, same as previous.
505 (show_ip_ospf_cmd) Display SPF parameters and times.
506 (show_ip_ospf_neighbour_header) Centralise the 'sh ip os ne'
507 header.
508 (show_ip_ospf_neighbor_sub) Fix the field widths. Get rid of
509 the multiple spaces which were making the lines even longer.
510 (show_ip_ospf_neighbor_cmd) Use show_ip_ospf_neighbour_header
511 (show_ip_ospf_neighbor_all_cmd) ditto and fix the field
512 widths for NBMA neighbours.
513 (show_ip_ospf_neighbor_int) Use header function.
514 (show_ip_ospf_nbr_nbma_detail_sub) use sizeof for timebuf,
515 local array - safer.
516 (show_ip_ospf_neighbor_detail_sub) ditto
517 (ospf_vty_init) install the new SPF throttle timer commands.
518
5192005-10-21 Paul Jakma <paul.jakma@sun.com>
520
paulf9ad9372005-10-21 00:45:17 +0000521 * (general) OSPF fast, sub-second hello and 1s dead-interval
522 support.
523 * ospf_dump.c: (ospf_timer_dump) Print out milliseconds too.
524 Callers typically specify a length of 9, so most see
525 millisecs unless they specify the additional length.
526 * ospf_interface.h: (struct ospf_interface) new interface param,
527 fast_hello.
528 * ospf_interface.c: (ospf_if_table_lookup) add brackets,
529 gcc warning fix.
530 (ospf_new_if_params) Initialise fast_hello param.
531 (ospf_free_if_params) Check whether fast_hello is configured.
532 (ospf_if_new_hook) set fast_hello to default.
533 * ospf_ism.h: Wrap OSPF_ISM_TIMER_ON inside do {} while (0) to
534 prevent funny side-effects from its if statement when this
535 macro is used conditionally by other macros.
536 (OSPF_ISM_TIMER_MSEC_ON) new macro, set in milliseconds.
537 (OSPF_HELLO_TIMER_ON) new macro to set hello timer according
538 to whether fast_hello is set.
539 * ospf_ism.c: Update all setting of the hello timer to use
540 either OSPF_ISM_TIMER_MSEC_ON or OSPF_HELLO_TIMER_ON. The
541 former is used when hello is to be sent immediately.
542 * ospf_nsm.c: ditto
543 * ospf_packet.c: (ospf_hello) hello-interval is not checked
544 for mismatch if fast_hello is set.
545 (ospf_read) Annoying nit, fix "no ospf_interface" to be debug
546 rather than a warning, as it can be perfectly normal to
547 receive packets when logical subnets are used.
548 (ospf_make_hello) Set hello-interval to 0 if fast-hellos are
549 configured.
550 * ospf_vty.c: (ospf_auto_cost_reference_bandwidth) annoying
551 nit, don't vty_out if this command is given, it gets tired
552 quick.
553 (show_ip_ospf_interface_sub) Print the hello-interval
554 according to whether fast-hello is set or not.
555 Print the extra 5 millisec characters from (ospf_timer_dump)
556 if fast-hello is configured.
557 (ospf_vty_dead_interval_set) new function, common to all
558 forms of dead-interval command, to set dead-interval and
559 fast-hello correctly. If a dead-interval is given, unset
560 fast-hello, else if a hello-multiplier is set, set
561 dead-interval to 1 and fast-hello to given multiplier.
562 (ip_ospf_dead_interval_addr_cmd) use
563 ospf_vty_dead_interval_set().
564 (ip_ospf_dead_interval_minimal_addr_cmd) ditto.
565 (no_ip_ospf_dead_interval) Unset fast-hello.
566 (no_ip_ospf_hello_interval) Bug-fix, unset of hello-interval
567 should set it to OSPF_HELLO_INTERVAL_DEFAULT, not
568 OSPF_ROUTER_DEAD_INTERVAL_DEFAULT.
569 (config_write_interface) Write out fast-hello.
570 (ospf_config_write) Write a comment about
571 "auto-cost reference-bandwidth" having to be equal on all
572 routers. Hopefully just as noticeable as old practice of
573 writing to vty, but less annoying.
574 (ospf_vty_if_init) install the two new dead-interval
575 commands.
576 * ospfd.h: Add defines for OSPF_ROUTER_DEAD_INTERVAL_MINIMAL
577 and OSPF_FAST_HELLO_DEFAULT.
578
pauleb3da6d2005-10-18 04:20:33 +00005792005-10-18 Paul Jakma <paul.jakma@sun.com>
580
581 * (general) SPF memory management cleanup and fix for rare
582 double-free bug.
583 * ospf_spf.h: (struct vertex_parent) New struct to hold parent
584 specific data, eg the backlink and the parent vertex pointer,
585 and point to the appropriate general struct vertex_nexthop.
586 (struct vertex_nexthop) remove parent vertex pointer, so
587 this struct can be shared across vertices.
588 (struct vertex) rename list child to list children. Remove
589 list of nexthops, replace with list of vertex_parents.
590 * ospf_spf.c: (update_stat) trivial, remove cast from void *.
591 (vertex_nexthop_new) remove init of parent - field is gone
592 from struct vertex_nexthop.
593 (ospf_canonical_nexthops_free) Remove the canonical
594 vertex_nexthop memory objects. These are the vertex_nexthops
595 attached to the first level of router vertices from the root.
596 (vertex_parent_new) new function, create a vertex_parent.
597 (vertex_parent_free) ditto, but free it.
598 (ospf_vertex_new) Update to match changes to struct vertex.
599 (ospf_vertex_free) Recursively free a struct vertex and its
600 children. The parent list is used as a reference count.
601 vertex_nexthops must be free seperately, if required.
602 (ospf_vertex_dump) update to match struct vertex changes.
603 Print out backlink of parents too.
604 (ospf_vertex_add_parent) ditto.
605 (ospf_lsa_has_link) update comment.
606 (ospf_nexthop_add_unique) removed, not needed anymore.
607 (ospf_nexthop_merge) ditto.
608 (ospf_spf_consider_nexthop) renamed to ospf_spf_add_parent.
609 Simplified to just create vertex_parent and add it.
610 (ospf_spf_flush_parents) new function, flush out the parent
611 list.
612 (ospf_nexthop_calculation) Take the relevant route_lsa_link
613 as an argument, which simplifies things and removes the need
614 for the hack in ospf_nexthop_add_unique - ospf_spf_next
615 already knew exactly which link the cost calculated was for.
616 Update to match struct vertex changes too.
617 (ospf_spf_next) Don't create a vertex for W unnecessarily, if
618 it's there's a vertex already created for W, use it, and
619 hence there's no need to free it either.
620 Update some manipulation/comparisons of distance to match.
621 Flush the parent list if a lower cost path is found.
622 (ospf_spf_route_free) unused, removed.
623 (ospf_spf_dump) match the struct vertex changes, and dump the
624 ifname if possible.
625 (ospf_spf_calculate) At end of SPF, free the canonical nexthops
626 and call ospf_vertex_free on the root vertex to free the
627 entire tree.
628 * ospf_interface.c: (ospf_vl_set_params) match struct vertex
629 changes.
630 * ospf_route.c: (ospf_intra_route_add) ditto
631 (ospf_route_copy_nexthops_from_vertex) ditto
632
paul36238142005-10-11 04:12:54 +00006332005-10-11 Paul Jakma <paul.jakma@sun.com>
634
635 * ospf_api.c: sign warnings.
636 * ospf_apiserver.c: sign warning and convert all the struct
637 in_addr initialisations so as not to make assumptions about
638 how this struct is organised, initialise the s_addr member
639 explicitely.
640 * ospf_packet.c: Add const qualifier to auth_key.
641
vincent77df1f72005-10-06 07:46:22 +00006422005-10-06 Alain Ritoux <alain.ritoux@6wind.com>
643
644 * ospf_snmp.c: Avoid mixing interface and ospf_interface objects
645 which now allows snmpwalk to work with ospfIfTable and
646 also with ospfIfMetricTable
647
ajsf52d13c2005-10-01 17:38:06 +00006482005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
649
650 * ospf_dump.c: Remove local hard-coded table ospf_redistributed_proto.
651 (ospf_redist_string) New function implemented using new library
652 function zebra_route_string(). Note that there are a few differences
653 in the output that will result: the new function returns strings
654 that are lower-case, whereas the old table was mixed case. Also,
655 the old table mapped ZEBRA_ROUTE_OSPF6 to "OSPFv3", whereas the
656 new function returns "ospf6".
657 * ospfd.h: Remove extern struct message ospf_redistributed_proto[],
658 and add extern const char *ospf_redist_string(u_int route_type)
659 instead.
660 * ospf_asbr.c: (ospf_external_info_add) In two messages, use
661 ospf_redist_string instead of LOOKUP(ospf_redistributed_proto).
662 * ospf_vty.c: Remove local hard-coded table distribute_str.
663 (config_write_ospf_redistribute,config_write_ospf_distribute): Use
664 new library function zebra_route_string() instead of distribute_str[].
665 * ospf_zebra.c: (ospf_redistribute_set,ospf_redistribute_unset,
666 ospf_redistribute_default_set,ospf_redistribute_check)
667 In debug messages, use ospf_redist_string() instead of
668 LOOKUP(ospf_redistributed_proto).
669
jardin6638c1a2005-10-01 00:08:54 +00006702005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
671
672 * ospf_dump.c, ospf_ia.c, ospf_spf.c, ospf_ase.c:
673 remove unused DEBUG
674
vincentba682532005-09-29 13:52:57 +00006752005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
676
vincent5e4914c2005-09-29 16:34:30 +0000677 * ospf_ism.c: generate SNMP traps on Interface state change
678 * ospf_nsm.c: generate SNMP traps on Neighbour state change
679 * ospf_snmp.[ch]: support for SNMP traps for interface and neighbours.
680
6812005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
682
vincentba682532005-09-29 13:52:57 +0000683 * ospf_vty.c: forece default route LSA to be re_issued whenever
684 cost is changed ( [no] ip ospf area XXX default-cost YYY)
685 Support ignore-mtu option
686 * ospfd.h: define OSPF_MTU_IGNORE_DEFAULT
687 * ospf_packet.c: support ignore-mtu option
688 * ospf_interface.h: field added for skipping MTU check
689 * ospf_interface.c: fix memory leak in ospf_crypt_key_delete()
690 Set mtu_ignore field to default value
691 * ospf_abr.[ch]: export ospf_abr_announce_network_to_area()
692 * ospf_ism.h: add MACRO to convert internal ISM status into SNMP
693 correct values
694 * ospf_snmp.c: add sanity check on LSA type in lsdb_lookup_next()
695 convert OSPFIFSTATE internal status into SNMP values
696
vincentc1a03d42005-09-28 15:47:44 +00006972005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
698
699 * ospf_packet.c: use new md5 API
700
ajs5339cfd2005-09-19 13:28:05 +00007012005-09-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
702
703 * ospf_lsa.h: (ospf_external_lsa_flush) Comment out the 5th argument
704 (nexthop) since it is not used in the function (except inside
705 some commented-out code).
706 * ospf_lsa.c: (ospf_external_lsa_flush,ospf_external_lsa_refresh)
707 Comment out the 5th argument to ospf_external_lsa_flush.
708 * ospf_asbr.c: (ospf_redistribute_withdraw) Comment out 5th arg
709 to ospf_external_lsa_flush.
710 * ospf_vty.c: (no_ospf_default_information_originate) Eliminate 5th
711 uninitialized nexthop arg to ospf_external_lsa_flush.
712 * ospf_zebra.c: (ospf_zebra_read_ipv4) Comment out 5th arg
713 to ospf_external_lsa_flush.
714 * ospfd.c: (ospf_network_set) Comment out 5th arg
715 to ospf_external_lsa_flush.
716
ajse6a0bf92005-09-17 18:53:38 +00007172005-09-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
718
719 * ospf_opaque.c:
720 (ospf_opaque_lsa_refresh_schedule,ospf_opaque_lsa_flush_schedule)
721 No need to call ospf_lookup(), just use lsa0->area->ospf instead.
722
hassobb5b7552005-08-21 20:01:15 +00007232005-08-21 Hasso Tepper <hasso at quagga.net>
724
725 * ospf_vty.c: Make "show ip ospf neighbor xxx" commands work.
726 Interface should be specified by name now.
727
hasso54bedb52005-08-17 13:31:47 +00007282005-08-17 Hasso Tepper <hasso at quagga.net>
729
730 * ospf_vty.c: Check carefully if interface exists before trying to
731 print info about it.
732
hasso01018ce2005-08-05 07:40:15 +00007332005-08-05 Hasso Tepper <hasso at quagga.net>
734
735 * ospf_zebra.c: Don't assert/stop before type == ZEBRA_ROUTE_MAX if
736 dealing with routemaps. There is ospf->route_map[ZEBRA_ROUTE_MAX]
737 for default-information.
738
paulc8987752005-07-26 06:07:22 +00007392005-07-26 Paul Jakma <paul.jakma@sun.com>
740
741 * ospf_abr.c: (ospf_abr_announce_network_to_area) SET_FLAG
742 should be on lsa not old, which may be freed for one thing,
743 obviously.
744
pauld57834f2005-07-12 20:04:22 +00007452005-07-12 Paul Jakma <paul.jakma@sun.com>
746
747 * ospfd.h: add OSPF_ABR_DEFAULT for convenience, make
748 OSPF_ABR_CISCO be the default ABR type.
749 * ospfd.c: (ospf_new) initialise abr_type to OSPF_ABR_DEFAULT
750 * ospf_vty.c: (no_ospf_abr_type_cmd) add standard as a negatable
751 abr_type. default abr_type should be OSPF_ABR_DEFAULT.
752 (ospf_config_write) test whether default abr_type against
753 OSPF_ABR_DEFAULT, rather than any specific ABR_TYPE.
754
hasso8469bd72005-06-20 20:50:10 +00007552005-06-20 Hasso Tepper <hasso at quagga.net>
hassof4833e92005-06-20 20:42:26 +0000756
757 * ospf_nsm.c: Make database exchange for NSSA database work.
758
paul7461d452005-06-13 13:57:16 +00007592005-06-13 Paul Jakma <paul.jakma@sun.com>
760
761 * ospf_spf.c: Try get more information on a SEGV under
762 ospf_spf_vertex_add_parent.
763 (ospf_vertex_free) NULL out the child and nexthop lists
764 (ospf_vertex_add_parent) nexthop and child can not be NULL
765 vertex_nexthop's parent->child list can not be NULL
766 (ospf_spf_next) w and cw are per-loop iteration variables, move
767 declarations into loop body.
768
hasso1ddd7292005-06-07 19:54:04 +00007692005-06-07 Hasso Tepper <hasso at quagga.net>
770
771 * ospf_apiserver.c: Fix obvious error in notifying clients about ISM
772 changes - oi->ifp->status doesn't give to us info about ISM,
773 oi->state does.
774
paul7e440862005-06-01 11:20:51 +00007752005-06-01 Akihiro Mizutani <mizutani@net-chef.net>
776
777 * ospf_ism.c (ospf_elect_bdr/ospf_elect_dr): Fix DR election bug.
778
paul500e4182005-05-26 17:11:13 +00007792005-05-26 Paul Jakma <paul.jakma@sun.com>
780
781 * ospf_abr.c: (ospf_abr_update_aggregate) Fix comment, cost bug itself
782 had been fixed long ago by Sowmini.
783
paula3387a42005-05-18 23:29:57 +00007842005-05-19 Paul Jakma <paul.jakma@sun.com>
785
786 * ospf_interface.c: (ospf_if_table_lookup) Fix a serious bug
787 a less serious one.
788 1: this function is supposed to lookup
789 entries in the oifs ospf_interface route_table and return either
790 an existing oi or NULL to indicate not found, its caller depends
791 on this, yet this function uses route_node_get which /always/
792 returns a route_node - one is created if none exists. Use
793 route_node_lookup instead. This should fix root cause of the
794 reports of the (ospf_add_to_if) assert being hit.
795 2: oi's are inserted into this table with prefixlength set to
796 /32 (indeed, it should be a hash table, not a route_table),
797 however prefixlength to lookup was not changed, if no valid entry
798 can be inserted other than /32, then nothng but /32 should be
799 looked up. This possibly only worked by fluke..
800 Fix confirmed by 2 reporters (one list, one IRC), definitely a
801 backport candidate once it has been incubated in HEAD for a while.
802 Thanks to Patrick Friedel and Ivan Warren for testing.
803
paul69310a62005-05-11 18:09:59 +00008042005-05-11 Paul Jakma <paul.jakma@sun.com>
805
806 * (general) Fix memory leaks in opaque AS-scope LSAs, reported and
807 with much debugging done by by scott collins <scollins@agile.tv>.
808 * ospf_lsa.c: (ospf_discard_from_db) dont call
809 ospf_ase_unregister_external_lsa for opaque-lsa's, opaques are
810 never registered with ase in the first place.
811 * ospf_packet.c: (general) Disabuse opaque related code of its
812 tendency to try gather up things into temporary lists.
813 (ospf_ls_upd) remove the temporary lists opaque uses, call
814 opaque functions inline, just like all other types.
815 (ospf_ls_ack) ditto.
816 (ospf_recv_packet) fixup sign warning.
817 * ospf_opaque.c: (general) fix the unneeded use of lists, and
818 untwist some of the logic.
819 (ospf_opaque_self_originated_lsa_received) take a single LSA
820 as argument, not a list of them. Remove the list loop. Logic
821 otherwise unchanged.
822 (ospf_opaque_ls_ack_received) Mostly ditto. But untwist the logic,
823 move the actions up into the switch block, remove the goto's and
824 sanitise the logic near the end a bit.
825 * ospf_opaque.h: Adjust definitions of aforementioned functions
826 in ospf_opaque.c to match.
827
paul42c98192005-05-07 02:22:51 +00008282005-05-07 Yar Tikhiy <yar@comp.chem.msu.su>
829
830 * ospf_network.c: Log ifindex on multicast membership leave/join
831 events.
832
paul4dadc292005-05-06 21:37:42 +00008332005-05-06 Paul Jakma <paul.jakma@sun.com>
834
835 * (general) extern and static qualifiers added.
836 unspecified arguments in definitions fixed, typically they should
837 be 'void'.
838 function casts added for callbacks.
839 Guards added to headers which lacked them.
840 Proper headers included rather than relying on incomplete
841 definitions.
842 gcc noreturn function attribute where appropriate.
843 * ospf_opaque.c: remove the private definition of ospf_lsa's
844 ospf_lsa_refresh_delay.
845 * ospf_lsa.h: export ospf_lsa_refresh_delay
846 * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const,
847 correct thing to do - removes need for the casts later.
848 * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's
849 home-brewed versions, shuts up several warnings.
850 * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and
851 VTY_GET_IPV4_PREFIX moved to lib/vty.h.
852 * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky
853 overloading of the THREAD_ARG pointer should at least use
854 uintptr_t.
855
paul9e67dc22005-04-15 12:10:17 +00008562005-04-15 Zhipeng Gong <zpgong@cdc.3upsystems.com>
857
858 * ospf_abr.c: (ospf_abr_announce_network_to_area) dont forget
859 to approve LSAs for the case where metric has changed, lsa gets
860 flushed otherwise. (backport candidate).
861
ajs634f9ea2005-04-11 15:51:40 +00008622005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
863
864 * ospf_zebra.c (ospf_zebra_add): Call zclient_send_message instead
865 of writen.
866
ajsd2fc8892005-04-02 18:38:43 +00008672005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
868
ajse4319de2005-04-02 23:23:55 +0000869 * ospf_interface.h: (ospf_if_lookup_by_name) Remove declaration of a
870 function that does not exist.
871
8722005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
873
ajs21fefa92005-04-02 23:16:41 +0000874 * ospf_zebra.c: (zebra_interface_if_lookup) Must use
875 if_lookup_by_name_len.
876
8772005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
878
ajsa3491982005-04-02 22:50:38 +0000879 * ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create.
880
8812005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
882
ajsd2fc8892005-04-02 18:38:43 +0000883 * ospf_vty.c: (show_ip_ospf_interface_sub) Show ifindex and interface
884 flags to help with debugging.
885 * ospf_zebra.c: (ospf_interface_delete) After deleting, set ifp->ifindex
886 to IFINDEX_INTERNAL.
887 (zebra_interface_if_lookup) Make function static. Tighten up code.
888
ajsaca72fd2005-03-31 15:18:21 +00008892005-03-31 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
890
891 * ospf_dump.c: (show_debugging_ospf) Show if ospf event debugging
892 is turned on.
893
ajsfd651fa2005-03-29 16:08:16 +00008942005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
895
ajsa608bbf2005-03-29 17:03:49 +0000896 * ospf_zebra.c: (ospf_interface_state_up) If the MTU of an operative
897 interface changes, print a debug message and call ospf_if_reset()
898 to simulate down/up on the interface.
899 * ospf_interface.h: Declare new function ospf_if_reset().
900 * ospf_interface.c: (ospf_if_reset) New function to call ospf_if_down
901 and ospf_if_up for all ospf interfaces attached to an interface.
902
9032005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
904
ajs5dcbdf82005-03-29 16:13:49 +0000905 * ospf_packet.c: (ospf_write_frags) Enhance error message to
906 show MTU. Also make function static.
907 (ospf_write) Enhance error message to show interface name and MTU.
908 Also make function static.
909
9102005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
911
912 * ospf_vty.c: (show_ip_ospf_interface_sub) Display interface MTU and
913 bandwidth; this is useful for debugging problems. Also, the function
914 should be static.
ajsfd651fa2005-03-29 16:08:16 +0000915
hasso1b639042005-03-27 13:32:25 +00009162005-03-27 Hasso Tepper <hasso at quagga.net>
917
918 * ospf_snmp.c: Don't crash in snmp query if ospf instance doesn't
919 exist at all.
920
hasso343f5cc2005-03-25 19:48:40 +00009212005-03-25 Hasso Tepper <hasso at quagga.net>
922
923 * ospfd.h: Include log.h, fixes compile with gcc-4.0.
924
ajs9dbc7972005-03-13 19:27:22 +00009252005-03-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
926
927 * ospf_lsa.c: (ospf_lsa_refresh_walker) If the system clock jumps
928 backward, then current time may be less than
929 ospf->lsa_refresher_started. This was causing invalid values
930 for ospf->lsa_refresh_queue.index resulting in infinite loops.
931 Problem fixed by casting the expression to unsigned before taking
932 the modulus.
933
ajs5c333492005-02-23 15:43:01 +00009342005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
935
936 * ospfd.h: Add new field struct stream *ibuf to struct ospf.
937 * ospfd.c: (ospf_new) Check return code from ospf_sock_init.
938 Allocate ibuf using stream_new(OSPF_MAX_PACKET_SIZE+1).
939 (ospf_finish) Call stream_free(ospf->ibuf.
940 * ospf_packet.c: (ospf_read) Call stream_reset(ospf->ibuf) and then
941 pass it to ospf_recv_packet for use in receiving the packet
942 (instead of allocating a new stream for each packet received).
943 Eliminate all calls to stream_free(ibuf).
944 (ospf_recv_packet) The struct stream *ibuf is now passed in as
945 an argument. No need to use recvfrom to peek at the packet
946 header (to see how big it is), just use ospf->ibuf which is
947 always large enough (this eliminates a system call to recvfrom).
948 Therefore, no need to allocate a stream just for this packet,
949 and no need to free it when done.
950
hasso462f20d2005-02-23 11:29:02 +00009512005-02-23 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it>
952
953 * ospf_lsa.h: New flag to the LSA structure for the SPF calculation.
954 * ospf_lsdb.h: Export ospf_lsdb_clean_stat() function.
955 * ospf_spf.h: Add link to the LSA stat structure into vertex.
956 * ospf_spf.c: New functions cmp() and update_stat() to manage
957 candidates. Remove ospf_spf_has_vertex(), ospf_vertex_lookup(),
958 ospf_install_candidate() and ospf_spf_register() functions not needed
959 any more. Update ospf_vertex_new(), ospf_spf_next() and
960 ospf_spf_calculate() functions to use pqueue instead of linked list.
961
hassoe40dcce2005-02-21 14:58:42 +00009622005-02-21 Hasso Tepper <hasso at quagga.net>
963
964 * ospf_ase.c: Don't show messages related to the ase calculations if
965 we are not debugging.
966
hasso306541b2005-02-19 17:58:40 +00009672005-02-19 Hasso Tepper <hasso at quagga.net>
968
969 * ospf_api.h: char isn't always signed, but it has to be it here.
970
paulfa81b712005-02-19 01:19:20 +00009712005-02-19 Paul Jakma <paul.jakma@sun.com>
972
973 * ospf_packet.c: (ospf_stream_copy) remove
974 (ospf_packet_dup) use stream_copy instead of ospf_stream_copy
975
ajs038163f2005-02-17 19:55:59 +00009762005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
977
978 * ospf_packet.c: (ospf_recv_packet) If there is somehow a runt
979 packet in the queue, it must be discarded. Improve warning messages.
980 Fix scope to static.
981 (ospf_read) Fix bug: should reset the read thread in all cases
982 to make sure we continue to get incoming messages.
983
paul658b03a2005-02-15 10:10:55 +00009842005-02-15 Paul Jakma <paul.jakma@sun.com>
985
986 * ospf_packet.c: (ospf_recv_packet) Fix silly error wrt allocating
987 ibuf. Thanks Andrew.
988
paulbfdc44a2005-02-14 23:48:42 +00009892005-02-14 Paul Jakma <paul.jakma@sun.com>
990
991 * ospf_packet.c: (ospf_recv_packet) use stream_recvmsg.
992
hasso082253f2005-02-11 08:31:54 +00009932005-02-11 Hasso Tepper <hasso at quagga.net>
994
995 * ospf_lsdb.c: Fix sum of checksums calculation.
996
ajs083ee9d2005-02-09 15:35:50 +00009972005-02-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
998
999 * ospf_packet.c: (ospf_write) If sendmsg fails, give more info in the
1000 error message.
1001
ajsba6454e2005-02-08 15:37:30 +000010022005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1003
ajs8cfde372005-02-08 15:59:16 +00001004 * ospf_interface.h: Reduce structure padding by putting new u_char
1005 field multicast_memberships in a better spot (grouped with
1006 other u_char fields type and state).
1007
10082005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1009
ajsba6454e2005-02-08 15:37:30 +00001010 * ospf_interface.h: Improve passive_interface comment. Add new
1011 multicast_memberships bitmask to struct ospf_interface to track
1012 active multicast subscriptions. Declare new function
1013 ospf_if_set_multicast.
1014 * ospf_interface.c: (ospf_if_set_multicast) New function to configure
1015 multicast memberships properly based on the current
1016 multicast_memberships status and the current values of the
1017 ospf_interface state, type, and passive_interface status.
1018 (ospf_if_up) Remove call to ospf_if_add_allspfrouters (this is
1019 now handled by ism_change_state's call to ospf_if_set_multicast).
1020 (ospf_if_down) Remove call to ospf_if_drop_allspfrouters (now
1021 handled by ism_change_state).
1022 * ospf_ism.c: (ospf_dr_election) Remove logic to join or leave
1023 the DRouters multicast group (now handled by ism_change_state's call
1024 to ospf_if_set_multicast).
1025 (ism_change_state) Add call to ospf_if_set_multicast to change
1026 multicast memberships as necessary to reflect the new interface state.
1027 * ospf_packet.c: (ospf_hello) When a Hello packet is received on a
1028 passive interface: 1. Increase the severity of the error message
1029 from LOG_INFO to LOG_WARNING; 2. Add more information to the error
1030 message (packet destination address and interface address);
1031 and 3. If the packet was sent to ospf-all-routers, then try
1032 to fix the multicast group memberships.
1033 (ospf_read) When a packet is received on an interface whose state
1034 is ISM_Down, enhance the warning message to show the packet
1035 destination address, and try to update/fix the multicast group
1036 memberships if the packet was sent to a multicast address.
1037 When a packet is received for ospf-designated-routers, but the
1038 current interface state is not DR or BDR, then increase the
1039 severity level of the error message from LOG_INFO to LOG_WARNING,
1040 and try to fix the multicast group memberships.
1041 * ospf_vty.c: (ospf_passive_interface) Call ospf_if_set_multicast for
1042 any ospf interface that may have changed from active to passive.
1043 (no_ospf_passive_interface) Call ospf_if_set_multicast for
1044 any ospf interface that may have changed from passive to active.
1045 (show_ip_ospf_interface_sub) Show multicast group memberships.
1046
paul3a9eb092005-02-08 11:29:41 +000010472005-02-08 Paul Jakma <paul@dishone.st>
1048
1049 * ospf_packet.c: (various) Remove unneeded stream_set_putp abuse.
1050
ajs847947f2005-02-02 18:38:48 +000010512005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1052
1053 * ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down,
1054 not for event ISM_InterfaceDown. And improve the message by
1055 adding the interface flags.
1056
ajs0b7d97d2005-01-30 17:24:02 +000010572005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1058
1059 * ospf_network.c: (ospf_sock_init) Save errno before calling
1060 ospfd_privs.change.
1061
ajsc3eab872005-01-29 15:52:07 +000010622005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1063
1064 * ospf_packet.c: (ospf_packet_add) If oi->obuf is NULL, print
1065 an error message and return.
1066 (ospf_read) If the interface state is ISM_InterfaceDown, issue
1067 a warning message and ignore the packet.
1068
gdt86f1fd92005-01-10 14:20:43 +000010692005-01-10 Greg Troxel <gdt@fnord.ir.bbn.com>
1070
1071 * ospf_packet.h: Remove commented out definition of
1072 OSPF_MAX_PACKET; neither it or the uncommented one are used any more.
1073
1074 * ospf_packet.c (ospf_make_ls_upd): Leave room for authentication
1075 when deciding if an update will fit.
1076 (ospf_packet_authspace): Factor out calculation of size required
1077 for authentication.
1078 (ospf_make_db_desc): Use ospf_max_packet, not OSPF_MAX_PACKET.
1079 Don't confuse readers that there is a macro.
1080
ajs3dc56b52004-12-30 15:11:19 +000010812004-12-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1082
1083 * ospf_network.c: Improve all setsockopt error messages to give detailed
1084 information on the arguments.
1085
ajsb87f7722004-12-29 20:41:26 +000010862004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1087
ajs17eaa722004-12-29 21:04:48 +00001088 * ospf_packet.c: (ospf_db_desc) Reduce severity of "Negotiation done"
1089 messages from LOG_WARNING to LOG_INFO, since this seems to be
1090 normal.
1091
10922004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1093
ajsb87f7722004-12-29 20:41:26 +00001094 * ospf_packet.c: (ospf_read) Always look up the interface if
1095 ospf_recv_packet returns NULL ifp, since some platforms such
1096 as Solaris 8 appear to support ifindex retrieval but don't.
1097
hasso1d806282004-12-22 09:43:20 +000010982004-12-22 Hasso Tepper <hasso at quagga.net>
1099
1100 * ospf_dump.c: Show debug configuration in vtysh.
hassoc6b87812004-12-22 13:09:59 +00001101 * ospf_vty.c: Fix "show ip ospf" output. Router can't be elected in
1102 any case if it's configured as "translate-never".
hassofe71a972004-12-22 16:16:02 +00001103 * ospf_lsdb.[ch]: New function to calculate sum of checksums.
1104 * ospf_vty.c: Bugfix to show really number of AS external LSAs, not
1105 number of all LSAs with AS scope, this includes opaque as LSAs as
1106 well, show this number separately. Show numbers and sums of
1107 checksums for each type of LSAs.
1108 * ospf_lsa.c: Calculate checksum before putting LSA into database.
hasso1d806282004-12-22 09:43:20 +00001109
ajsbc18d612004-12-15 15:07:19 +000011102004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1111
1112 * ospf_interface.h: Declare new function ospf_default_iftype.
1113 * ospf_interface.c: (ospf_default_iftype) New function to centralize
1114 this logic in one place.
1115 * ospf_zebra.c: (ospf_interface_add) Use new function
1116 ospf_default_iftype.
1117 * ospf_vty.c: (no_ip_ospf_network,config_write_interface) Fix logic
1118 by using new function ospf_default_iftype.
1119
ajs3aa8d5f2004-12-11 18:00:06 +000011202004-12-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1121
1122 * ospf_packet.c: (ospf_db_desc) Should be static, not global.
1123 (ospf_hello,ospf_db_desc,ospf_ls_upd,ospf_ls_ack) Improve warning
1124 messages to include identifying information (e.g. router id).
1125 * ospf_nsm.c: (nsm_change_state) Improve info message to include
1126 router id and state names.
1127
gdt91f3e522004-12-09 14:51:03 +000011282004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
1129
gdt3fb9de72004-12-09 16:30:04 +00001130 * ospf_apiserver.c (ospf_apiserver_term): Obtain struct
1131 ospf_apiserver * from listnode. Remove unused variables. Follows
1132 suggestion from Jay Fenlason.
gdt91f3e522004-12-09 14:51:03 +00001133
ajs9b0e25c2004-12-08 19:06:51 +000011342004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1135
1136 * *.c: Change level of debug messages to LOG_DEBUG.
1137
ajs274a4a42004-12-07 15:39:31 +000011382004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1139
1140 * ospf_main.c: (main) The 2nd argument to openzlog has been removed.
1141
ajs887c44a2004-12-03 16:36:46 +000011422004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1143
ajs1210fa62004-12-03 16:43:24 +00001144 * ospf_packet.c: (ospf_db_desc) Reduce priority on a debug message
1145 from LOG_NOTICE to LOG_DEBUG.
1146
11472004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1148
ajs887c44a2004-12-03 16:36:46 +00001149 * ospf_main.c: (sigint) Use zlog_notice for termination message.
1150 (main) Issue a startup announcement using zlog_notice.
1151
ajsbec595a2004-11-30 22:38:43 +000011522004-11-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1153
1154 * ospf_packet.c: (ospf_db_desc_proc) Fix spelling of packet in warning
1155 message and in comment.
1156 (ospf_db_desc) Warning message that a packet is being discarded
1157 should give the router id of the packet source. Fix spelling
1158 of packet in two warning messages.
1159 (ospf_ls_req) Warning message that a link state request is being
1160 discarded should give the router id of the neighbor that sent it.
1161
ajs5b85fac2004-11-26 19:36:42 +000011622004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1163
1164 * ospf_main.c: Remove #include "debug.h" (was not being used, and
1165 lib/debug.h has now been deleted).
1166
hassoc0652302004-11-25 19:33:48 +000011672004-11-25 Hasso Tepper <hasso at quagga.net>
1168
1169 * ospf_main.c: Make group to run as configurable.
1170
gdt69e13252004-11-15 18:51:15 +000011712004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
1172
1173 * ospf_packet.c (ospf_recv_packet): Assume CMSG_SPACE is present
1174 and works (lib/zebra.h provides if OS doesn't).
1175
paul788dab12004-11-15 11:48:37 +000011762004-11-15 Paul Jakma <paul@dishone.st>
1177
1178 * ospf_{apiserver,te}.c: ospf_lsa_free's should be ospf_lsa_unlock.
1179
paul05e85fa2004-11-12 10:52:19 +000011802004-11-12 Paul Jakma <paul@dishone.st>
1181
1182 * ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to
1183 ignore stub area summary default. Even so it seems a strange
1184 check, add a comment to that effect.
1185
paulf3ae74c2004-11-04 20:35:31 +000011862004-11-04 Paul Jakma <paul@dishone.st>
1187
1188 * ospfd.c: (ospf_network_match_iface) revert to previous network
1189 statement match behaviour.
1190
paul62d8e962004-11-02 20:26:45 +000011912004-11-02 Paul Jakma <paul@dishone.st>
1192
1193 * ospf_packet.c: (ospf_write_frags) remove iov arg, msg already points
1194 to it. Add convenience pointer to msg->msg_iov[1], and use this,
1195 fixing the unfortunate borkenness introduced in moving of this code
1196 to a function.
1197 (ospf_write) remove iovp and fix up call to previous.
1198 (ospf_ls_upd_packet_new) cast size to long int - unfortunately
1199 glibc's size_t format modifier is not portable.
1200
paul37ccfa32004-10-31 11:24:51 +000012012004-10-31 Paul Jakma <paul@dishone.st>
1202
1203 * ospf_packet.c: (ospf_write_frags) Add debug output
1204 (ospf_write) set type early, so we can pass it to
1205 ospf_write_frags.
1206 (ospf_ls_upd_packet_new) print size in debug output when too large
1207 packet is encountered.
paul64511f32004-10-31 18:01:13 +00001208 * ospf_zebra.c: (ospf_distribute_list_update_timer) Ugly misuse of
1209 THREAD_ARG to store an integer, but it should at least use same
1210 same type to retrieve the value. Assert value is sane.
paul37ccfa32004-10-31 11:24:51 +00001211
paulac191232004-10-22 12:05:17 +000012122004-10-22 Paul Jakma <paul@dishone.st>
1213
1214 * ospf_network.c: (ospf_sock_init) call neutral setsock_ifindex()
1215 function.
1216 * ospf_packet.c: (ospf_read) manually look up ifindex
paul4ccb2c42004-10-22 22:52:33 +00001217 if system could not have returned one, eg openbsd, thanks to Rivo
1218 Nurges for highlighting problem and fix.
paul06f953f2004-10-22 17:00:38 +00001219 Change setsockopt_pktinfo to setsockopt_ifindex.
paulac191232004-10-22 12:05:17 +00001220
hasso3fb9cd62004-10-19 19:44:43 +000012212004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
1222
1223 * ospf_snmp.c: (ospf_snmp_if_update) Fix logic to handle PtP links
1224 with dedicated subnets properly.
1225 * ospf_lsa.c: (lsa_link_ptop_set) ditto.
1226 * ospfd.c: (ospf_network_match_iface) ditto.
1227 (ospf_network_run) ditto.
1228 * ospf_interface.c: (ospf_if_is_configured) ditto.
1229 (ospf_if_lookup_by_prefix) ditto.
1230 (ospf_if_lookup_recv_if) ditto.
1231 * ospf_vty.c: (show_ip_ospf_interface_sub) Display the peer or
1232 broadcast address if present.
1233
hassod68614d2004-10-13 09:32:48 +000012342004-10-13 Hasso Tepper <hasso at quagga.net>
1235
1236 * ospf_main.c: Unbreak compilation with ospfapi disabled.
hassoc75105a2004-10-13 10:33:26 +00001237 * ospf_snmp.c: Remove defaults used to initialize smux connection to
1238 snmpd. Connection is initialized only if smux peer is configured.
hassod68614d2004-10-13 09:32:48 +00001239
hassof4d58ce2004-10-12 06:13:54 +000012402004-10-12 Hasso Tepper <hasso at quagga.net>
1241
1242 * ospf_main.c, ospf_opaque.c: Unbreak ospfclient compilation - move
1243 static variable from ospf_main.c into ospf_opaque.c.
1244
hassoc3abdb72004-10-11 16:27:03 +000012452004-10-11 Hasso Tepper <hasso at quagga.net>
1246
1247 * ospf_main.c, ospf_opaque.c: Disable ospfapi init by default. New
1248 command line switch to enable it.
1249
paul6b333612004-10-11 10:11:25 +000012502004-10-11 Paul Jakma <paul@dishone.st>
1251
1252 * ospf_dump.c: (ospf_ip_header_dump) Assume header is in host order
1253 remove ntohs that should have dissappeared. Take struct ip
1254 as argument, caller has to know there's an IP header at start of
1255 stream anyway.
1256 * ospf_dump.h: update declaration of ospf_ip_header_dump.
1257 * ospf_packet.c: (ospf_write) correct call to
1258 sockopt_iphdrincl_swab_htosys which was munging the header.
1259 (ospf_recv_packet) ip_len is needed for old OpenBSD fixup.
1260 (ospf_read) sockopt_iphdrincl_swab_systoh ip header as soon as
1261 we have it.
paul6c835672004-10-11 11:00:30 +00001262 * (global) Const char update and signed/unsigned fixes.
1263 * (various headers) size defines should be unsigned.
1264 * ospf_interface.h: remove duplicated defines, include the
1265 authoritative header - though, these defines should probably
1266 be moved to a dedicated header, or ospfd.h.
1267 * ospf_lsa.h: (struct lsa) ls_seqnum should be unsigned.
1268 * ospf_packet.c: (ospf_write) cast result of shift to unsigned.
paul6b333612004-10-11 10:11:25 +00001269
hassoeb1ce602004-10-08 08:17:22 +000012702004-10-08 Hasso Tepper <hasso at quagga.net>
1271
1272 * *.[c|h]: Fix compiler warnings: make some strings const, signed ->
1273 unsigned, remove unused variables etc.
1274
gdt54ade992004-10-07 19:38:20 +000012752004-10-07 Greg Troxel <gdt@claude.ir.bbn.com>
1276
1277 * ospf_apiserver.c (ospf_apiserver_unregister_opaque_type): Don't
1278 use of variable names 'node' and 'nextnode' to avoid possible
1279 conflict with list macros. Move variable declaration inside for
1280 loop after a statement to top of function.
1281
paulaa20c6f2004-10-07 14:19:36 +000012822004-10-07 Paul Jakma <paul@dishone.st>
1283
1284 * ospf_snmp.c: Missed list typedef update
1285 * ospf_dump.c: Include sockopt.h for header swab functions.
1286
paul18b12c32004-10-05 14:38:29 +000012872004-10-05 Paul Jakma <paul@dishone.st>
1288
1289 * ospf_packet.c: replace ospf_swap_iph_to... with
1290 sockopt_iphdrincl_swab_...
1291
hasso18a6dce2004-10-03 18:18:34 +000012922004-10-03 James R. Leu <jleu at mindspring.com>
1293
1294 * ospf_zebra.c: Read router id related messages from zebra daemon.
1295 Schedule router-id update thread if it's changed.
1296 * ospfd.c: Remove own router-id selection function. Use router id from
1297 zebra daemon if it isn't manually overriden in configuration.
1298
paul68defd62004-09-27 07:27:13 +000012992004-09-27 Paul Jakma <paul@dishone.st>
1300
paul6a99f832004-09-27 12:56:30 +00001301 * ospf_dump.c: (ospf_ip_header_dump) Use HAVE_IP_HDRINCL_BSD_ORDER
1302 Apply to offset too. Print ip_cksum, lets not worry about
1303 possible 2.0.37 compile problems.
1304 * ospf_packet.c: (ospf_swap_iph_to{n,h}) Use
1305 HAVE_IP_HDRINCL_BSD_ORDER.
1306 (ospf_recv_packet) ditto.
1307 (ospf_write) Fixup iov argument to ospf_write_frags.
1308 (struct msghdr).msg_name is caddr_t on most platforms.
paul68defd62004-09-27 07:27:13 +00001309 (ospf_recv_packet) ditto. And msg_flags is not always there
1310 memset struct then set fields we care about rather than
1311 initialise all fields individually.
1312
hassoc9e52be2004-09-26 16:09:34 +000013132004-09-26 Hasso Tepper <hasso at quagga.net>
1314
1315 * ospf_abr.c, ospf_dump.c, ospf_lsa.c, ospf_packet.c, ospf_vty.c,
1316 ospf_zebra.c: Fix compiler warnings.
1317
paul87d6f872004-09-24 08:01:38 +000013182004-09-24 Paul Jakma <paul@dishone.st>
1319
1320 * ospf_apiserver.{c,h}: lists typedef removal cleanup.
1321 update some list loops to LIST_LOOP. some miscellaneous indent
1322 fixups.
1323 (ospf_apiserver_unregister_opaque_type) fix listnode_delete of
1324 referenced node in loop.
paul1603c062004-09-24 08:23:24 +00001325 (ospf_apiserver_term) loops calling ospf_apiserver_free, which
1326 deletes referenced nodes from apiserver_list, fixed.
paul87d6f872004-09-24 08:01:38 +00001327 * ospf_interface.h: lists typedef removal cleanup.
1328 * ospf_opaque.{c,h}: lists typedef removal cleanup. update some list
1329 loops to LIST_LOOP. miscellaneous style and indent fixups.
1330 * ospf_te.{c,h}: ditto
1331 * ospf_packet.c: lists typedef removal cleanup.
paula2570682004-09-24 08:09:57 +00001332 (ospf_write) ifdef fragmentation support. move actual
1333 fragmentation out to a new, similarly ifdefed, function.
1334 (ospf_write_frags) fragmented write support, moved from previous.
paul87d6f872004-09-24 08:01:38 +00001335
hasso52dc7ee2004-09-23 19:18:23 +000013362004-09-23 Hasso Tepper <hasso at quagga.net>
1337
1338 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
1339
paul68b73392004-09-12 14:21:37 +000013402004-09-12 Paul Jakma <paul@dishone.st>
1341
1342 * ospf_packet.c: Fix bugzilla #107
1343 (ospf_packet_max) get rid of the magic 88 constant
1344 (ospf_swab_iph_ton) new function. set ip header to network order,
1345 taking BSDisms into account.
1346 (ospf_swab_iph_toh) the inverse.
1347 (ospf_write) Add support for IP fragmentation, will only work on
1348 linux though, other kernels make it impossible. get rid of the
1349 magic 4 constant.
1350 (ospf_make_ls_upd) Bound check to end of stream, not to
1351 interface mtu.
1352 (ospf_ls_upd_packet_new) New function, allocate upd packet
1353 taking oversized LSAs into account.
1354 (ospf_ls_upd_queue_send) use ospf_ls_upd_packet_new to allocate,
1355 rather than statically allocating mtu sized packet buffer, which
1356 actually was wrong - it didnt take ip header into account, which
1357 should not be included in packet buffer.
1358 (ospf_ls_upd_send_queue_event) minor tweaks and remove
1359 TODO comment.
1360
gdt630e4802004-08-31 17:28:41 +000013612004-08-31 David Wiggins <dwiggins@bbn.com>
1362
1363 * ospf_spf.c (ospf_spf_calculate): Many more comments and debug
1364 print statements. New function ospf_vertex_dump used in debugging.
1365
13662004-08-31 David Wiggins <dwiggins@bbn.com>
1367
1368 * ospf_spf.h (struct vertex): Comments for flags and structure members.
1369
13702004-08-31 David Wiggins <dwiggins@bbn.com>
1371
1372 * ospf_route.c: When finding an alternate route, log cost as well.
1373
13742004-08-31 David Wiggins <dwiggins@bbn.com>
1375
1376 * ospf_interface.c (ospf_lookup_if_params): Initialize af in
1377 struct prefix allocated on stack.
1378
13792004-08-31 David Wiggins <dwiggins@bbn.com>
1380
1381 * ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send
1382 acks to AllSPFRouters, rather than All-DR.
1383
hasso7b901432004-08-31 13:37:42 +000013842004-08-27 Hasso Tepper <hasso at quagga.net>
1385
1386 * ospf_vty.c: Don't print ospf network type under interface only
1387 if interface is in broadcast mode and interface type really is
1388 broadcast. Fixes Bugzilla #108.
1389
gdtd7d93992004-08-27 12:03:42 +000013902004-08-27 David Wiggins <dwiggins@bbn.com>
1391
1392 * ospf_spf.c (ospf_nexthop_calculation): Initialize address family
1393 in on-stack struct prefix_ipv4. Fixes point-to-multipoint SPF
1394 calculation.
1395
gdtd0deca62004-08-26 13:14:07 +000013962004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
1397
1398 * ospf_packet.c (ospf_recv_packet): adjust size declaration of
gdtd7d93992004-08-27 12:03:42 +00001399 buffer used to get interface index so that it compiles on other
1400 than Linux and includes the required alignment space. Probably
1401 this was only working on sparc/sparc64 because most of
1402 sockaddr_dl was not being written.
gdtd0deca62004-08-26 13:14:07 +00001403
paul863082d2004-08-19 04:43:43 +000014042004-08-19 Paul Jakma <paul@dishone.st>
1405
1406 * ospf_packet.c: update to match sockopt renames.
1407
paul75ee0b82004-08-05 09:10:31 +000014082004-08-04 Paul Jakma <paul@dishone.st>
1409
1410 * ospf_spf.c: (ospf_spf_consider_nexthop) Add comment about issue.
1411 Compare only against list head - all nexthops must be same cost
1412 anyway, fixes a reference-listnode-after-delete bug noted by
1413 Kir Kostuchenko.
1414 (ospf_nexthop_calculation) Use ospf_spf_consider_nexthop for all
1415 candidates attached to root.
1416
paul36c64ef2004-07-27 11:19:11 +000014172004-07-27 Paul Jakma <paul@dishone.st>
1418
paul48fe13b2004-07-27 17:40:44 +00001419 * ospf_packet.c: (ospf_ls_upd_send_queue_event) fix thinko from
1420 last fix for ospfd wedging due to oversize LSAs: dont list loop on
1421 ospf_ls_upd_queue_send() - guaranteed segfault.
1422
14232004-07-27 Paul Jakma <paul@dishone.st>
1424
paul36c64ef2004-07-27 11:19:11 +00001425 * ospf_opaque.c: (ospf_opaque_lsa_flush_schedule) do not NULL out
1426 the LSA as then free_opaque_info_per_id() can never unlock (and
1427 free) the LSA. Reported by Gunnar Stigen.
1428
paul2dd8bb42004-07-23 15:13:48 +000014292004-07-23 Paul Jakma <paul@dishone.st>
1430
1431 * ospf_network.c: Replace PKTINFO/RECVIF with call to
1432 setsockopt_pktinfo
1433 * ospf_packet.c: Use getsockopt_pktinfo_ifindex and
1434 SOPT_SIZE_CMSG_PKTINFO_IPV4.
1435
paul59ea14c2004-07-14 20:50:36 +000014362004-07-14 Paul Jakma <paul@dishone.st>
1437
1438 * ospf_packet.c: (ospf_ls_upd_send_queue_event) Partial fix for
1439 problem reported by Peter Frost amongst others, where function
1440 will spin indefinitely if update list contains LSAs greater than
1441 MTU-headers or other condition leading to update list never being
1442 cleared. Problem of what to do with these LSAs remains.
1443 (ospf_make_ls_upd) add comment about large LSA problem,
1444 indentation cleanup.
1445
gdtb2c1b282004-07-01 12:35:36 +000014462004-07-01 Greg Troxel <gdt@fnord.ir.bbn.com>
1447
1448 * Makefile.am (lib_LTLIBRARIES): make libospf shared
1449
gdt87efd642004-06-30 17:36:11 +000014502004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1451
1452 * Makefile.am: Add shlib support.
1453
hassobeebba72004-06-20 21:00:27 +000014542004-06-10 Hasso Tepper <hasso@estpak.ee>
1455
1456 * *: Removed ifdefs HAVE_NSSA.
1457
paul553ff112004-06-06 09:41:00 +000014582004-06-06 Paul Jakma <paul@dishone.st>
1459
1460 * ospf_dump.c,ospf_lsa.c: Fix typos of merge of previous.
1461 ospf_flood.c: (ospf_process_self_originated_lsa) fix zlog format
1462
paul0c2be262004-05-31 14:16:54 +000014632004-05-31 Sagun Shakya <sagun.shakya@sun.com>
1464
1465 * ospf_dump.c: (ospf_lsa_header_dump) LOOKUP can return null if
1466 index is out of range.
1467 ospf_flood.c: endianness fix
1468 ospf_lsa.c: Missing ntohl's on (struct lsa *)->data->ls_seqnum
1469 in various places.
1470
hassodd669bb2004-05-10 07:43:59 +000014712004-05-10 Hasso Tepper <hasso@estpak.ee>
1472
1473 * ospf_zebra.c, ospfd.c: Move ospf_prefix_list_update() function
1474 to ospf_zebra.c from ospfd.c and add redistribution updates if
1475 route-map is used in redistribution.
1476 * ospf_main.c: Remove now useless call to ospf_init().
1477
paul0a589352004-05-08 11:48:26 +000014782004-05-08 Paul Jakma <paul@dishone.st>
1479
1480 * ospf_zebra.c: Sync with lib/zclient changes
1481
pauld3f0d622004-05-05 15:27:15 +000014822004-05-05 Paul Jakma <paul@dishone.st>
1483
paul5bd41892004-05-05 17:29:24 +00001484 * ospf_network.c: (ospf_sock_init) Check whether IP_HDRINCL is
1485 defined. Warn at compile and runtime. Use
1486 IPTOS_PREC_INTERNETCONTROL otherwise.
pauld3f0d622004-05-05 15:27:15 +00001487 * ospf_packet.c: (ospf_associate_packet_vl) cleanup, move
1488 some of the checks up to ospf_read, return either a
1489 virtual link oi, or NULL.
1490 (ospf_read) Cleanup, make it responsible for checks. Remove
1491 the nbr lookup - moved to ospf_neighbor. Adjust all nbr
1492 lookups to use new wrappers exported by ospf_neighbor.
1493 * ospf_neighbor.h: Add ospf_neigbour_get and ospf_nbr_lookup.
1494 * ospf_neighbor.c: (ospf_neigbour_get) Index ospf_interface
1495 neighbour table by router-id for virtual-link ospf_interfaces,
1496 not by peer_addr (which breaks for asymmetric vlinks)
1497 (ospf_nbr_lookup) add a wrapper for nbr lookups to deal with
1498 above.
paulcd59da62004-05-05 17:26:55 +00001499 * ospf_interface.c: (ospf_vl_set_params) Catch changes of interface
1500 address for either end of a virtual-link, and hence potential cost
1501 changes.
1502
hassoa0a39762004-04-23 08:51:10 +000015032004-04-22 Hasso Tepper <hasso@estpak.ee>
1504
1505 * ospf_zebra.c: Don't ignore reject/bh routes, it's the only way
1506 to "summarize" routes in ASBR at the moment.
1507
hasso8585d4e2004-04-20 17:25:12 +000015082004-04-20 Hasso Tepper <hasso@estpak.ee>
1509
1510 * ospfd.c: Unset NP flag if area is going to be normal or stub.
1511 Fixes UNH OSPF_NSSA.1.2a comment.
1512 * ospf_abr.c: Originate default into stub/nssa area even if
1513 summaries are disabled.
1514 * ospf_zebra.c: Don't attempt to redistribute 127.0.0.0/8.
1515
hassoc266ac72004-04-19 17:31:00 +000015162004-04-19 Hasso Tepper <hasso@estpak.ee>
1517
1518 * ospf_vty.c: Don't warn that export- and import-list can't be
1519 configured to backbone area if they are applied and are working
1520 fine.
1521
hasso128d31d2004-04-04 12:52:33 +000015222004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1523
1524 * ospf_packet.c: Don't drop packets in Solaris x86.
1525 [quagga-dev 1005].
1526
hasso0d85b992004-03-18 19:18:33 +000015272004-03-18 Amir Guindehi <amir@datacore.ch>
1528
1529 * ospf_opaque.c: Attempt to correct the incorrect behavior of
1530 Quagga's ospfd in the special situation that a node's opaque
1531 capability has changed as "ON -> OFF -> ON". [quagga-dev 843].
1532
paul7f352b82004-02-19 19:37:47 +000015332004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1534
1535 * ospf_abr.c: (ospf_abr_update_aggregate) UNH 3.12b,c, address range
1536 should be configured with the highest cost path within the range,
1537 not lowest.
1538
paul940b01a2004-02-17 20:07:30 +000015392004-02-17 Paul Jakma <paul@dishone.st>
1540
1541 * ospf_zebra.c: (ospf_interface_delete) Do not delete the interface
1542 params, nor the interface structure, if an interface delete
1543 message is received from zebra.
1544 * ospf_interface.c: (ospf_if_delete_hook) Delete the interface
1545 params and interface, ie that which was previously removed in
1546 (ospf_interface_delete) above.
1547
hasso2db3d052004-02-11 21:52:13 +000015482004-02-11 Hasso Tepper <hasso@estpak.ee>
1549 * ospf_interface.c, ospf_zebra.c: Don't attempt to read path->oi->ifp
1550 if oi doesn't exist any more.
1551
hassocb05eb22004-02-11 21:10:19 +000015522004-02-11 Vadim Suraev <vadim.suraev@terayon.com>
1553 * ospf_packet.c (ospf_ls_upd): Router should flush received network
1554 LSA if it was originated with older router-id ([zebra 14710] #6).
1555
15562003-12-08 Mattias Amnefelt <mattiasa@kth.se>
paul239aecc2003-12-08 10:34:54 +00001557
1558 * ospf_packet.c: (ospf_recv_packet) OpenBSD now leaves iph.ip_len
1559 network byte order.
1560
gdt8f40e892003-12-05 14:01:43 +000015612003-12-05 Greg Troxel <gdt@poblano.ir.bbn.com>
1562
1563 * ospfd.c (ospf_network_match_iface): Rewrite code for clarity
1564 while trying not to change semantics. Add ifdefed-out code to
1565 avoid matching ppp interfaces whose destination address does not
1566 also match the prefix under consideration, to help out people with
1567 problems due to as-yet-unfixed bugs with p2p interfaces coming and
1568 going.
1569
paul736d3442003-07-24 23:22:57 +000015702003-07-25 kamatchi soundaram <kamatchi@tdd.sj.nec.com>
1571
1572 * ospf_packet.c (ospf_ls_upd_send_queue_event): get next route
1573 node in body of the loop to avoid chance that route node
1574 is unlocked and deleted before the next iteration tries to
1575 get next route node.
1576
paul0a825c72003-05-24 13:48:16 +000015772003-05-24 Kenji Yabuuchi
1578
1579 * ospf_interface.c(ospf_if_lookup_recv_if): Use the most specific
1580 match for interface lookup.
1581
paul551a8972003-05-18 15:22:55 +000015822003-05-18 Hasso Tepper <hasso@estpak.ee>
paul445f1432003-05-16 19:00:31 +00001583
paul551a8972003-05-18 15:22:55 +00001584 * ospf_vty.c: Show NSSA LSA route info in "show ip ospf database"
1585 output
paul445f1432003-05-16 19:00:31 +00001586
pauld7480322003-05-16 17:31:51 +000015872003-05-16 Hasso Tepper <hasso@estpak.ee>
1588
1589 * ospf_lsa.c: Fix handling of NSSA
1590
paul551a8972003-05-18 15:22:55 +000015912003-04-23 Hasso Tepper <hasso@estpak.ee>
1592
1593 * ospf_vty.c: fix "router xxx" node commands in vtysh
1594
paul445f1432003-05-16 19:00:31 +000015952003-04-19 Hasso Tepper <hasso@estpak.ee>
1596
1597 * {ospf_abr,ospfd}.c: area id's DECIMAL -> ADDRESS
1598 * ospf_routemap.c: sync daemon's route-map commands to have same
1599 syntax.
1600
16012003-04-19 Sergey Vyshnevetskiy <serg@vostok.net>
1602
1603 * ospf_packet.c: Add missing param to zlog
1604 * ospf_flood.c: remove unused vars
1605
16062003-04-17 Denis Ovsienko <zebra@pilot.org.ua>
1607
1608 * ospf_interface.c: fix incorrect memset
1609
paul28a13842003-05-16 20:30:37 +000016102003-04-10 Amir Guindehi <amir@datacore.ch>
paul445f1432003-05-16 19:00:31 +00001611
1612 * ospf_lsa.[ch]: opaque LSA fix, use ospf_lookup.
1613
16142003-04-03 David Watson <dwatson@eecs.umich.edu>
1615
1616 * ospf_lsa.c: byte order fix
1617
paul07661cb2003-03-18 00:03:05 +000016182002-03-17 Amir Guindehi <amir@datacore.ch>
1619
1620 * ospf_apiserver.[ch]: Merge Ralph Keller's OSPFAPI support.
1621 * ospf_api.[ch]: Merge Ralph Keller's OSPFAPI support.
1622 * ospfclient: OSPFAPI demonstration client.
1623
16242003-01-23 Masahiko Endo <endo@suri.co.jp>
1625
1626 * ospf_ism.c: NSM event schedule bug fix.
1627
16282002-10-30 Greg Troxel <gdt@ir.bbn.com>
1629
1630 * ospf_packet.c (ospf_make_md5_digest): MD5 length fix.
1631
paul718e3742002-12-13 20:15:29 +000016322002-10-23 endo@suri.co.jp (Masahiko Endo)
1633
1634 * ospf_opaque.c: Update Opaque LSA patch.
1635
16362002-10-23 Ralph Keller <keller@tik.ee.ethz.ch>
1637
1638 * ospf_vty.c (show_ip_ospf_database): Fix CLI parse.
1639
16402002-10-23 Juris Kalnins <juris@mt.lv>
1641
1642 * ospf_interface.c (ospf_if_stream_unset): When write queue
1643 becomes empty stop write timer.
1644
16452002-10-10 Greg Troxel <gdt@ir.bbn.com>
1646
1647 * ospf_packet.c (ospf_check_md5_digest): Change >= to > to make it
1648 conform to RFC.
1649
16502002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1651
1652 * zebra-0.93 released.
1653
16542002-06-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1655
1656 * ospf_spf.c (ospf_nexthop_calculation): Add NULL set to oi and
1657 check of l2. Reported by: Daniel Drown <dan-zebra@drown.org>
1658 (ospf_lsa_has_link): LSA Length calculation fix. Reported by:
1659 Paul Jakma <paulj@alphyra.ie>.
1660
1661 * ospfd.c (ospf_if_update): Fix nextnode reference bug. Reported
1662 by: juris@mt.lv.
1663
16642002-01-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1665
1666 * ospfd.c: Merge [zebra 11445] Masahiko ENDO's Opaque-LSA support.
1667
16682001-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1669
1670 * ospf_interface.c (ospf_add_to_if): Use /32 address to register
1671 OSPF interface information.
1672 (ospf_delete_from_if): Likewise.
1673
1674 * ospf_zebra.c (ospf_interface_address_delete): Likewise.
1675
16762001-08-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1677
1678 * ospf_zebra.c (ospf_redistribute_unset): When redistribute type
1679 is OSPF, do not unset redistribute flag.
1680
16812001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1682
1683 * zebra-0.92a released.
1684
16852001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1686
1687 * zebra-0.92 released.
1688
16892001-08-12 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1690
1691 * ospfd.c (ospf_config_write): auto-cost reference-bandwidth
1692 configuration display.
1693
16942001-07-24 David Watson <dwatson@eecs.umich.edu>
1695
1696 * ospf_spf.c (ospf_spf_next): Modify ospf_vertex_add_parent to
1697 check for an existing link before connecting the parent and child.
1698 ospf_nexthop_calculation is also modified to check for duplicate
1699 entries when copying from the parent. Finally, ospf_spf_next
1700 removes duplicates when it merges two equal cost candidates.
1701
17022001-07-23 itojun@iijlab.net
1703
1704 * ospfd.c (show_ip_ospf_neighbor): Check ospf_top before use it
1705 [zebra 8549].
1706
17072001-07-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1708
1709 * ospf_packet.c (ospf_write): Remove defined(__OpenBSD__) to make
1710 it work on OpenBSD.
1711
17122001-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1713
1714 * ospf_zebra.c (config_write_ospf_default_metric): Display
1715 default-metric configuration.
1716
17172001-06-18 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1718
1719 * ospf_ia.h (OSPF_EXAMINE_SUMMARIES_ALL): Remove old macros.
1720
17212001-05-28 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1722
1723 * ospf_snmp.c (ospfIfEntry): Fix interface lookup bug to avoid
1724 crush.
1725 (ospfIfMetricEntry): Likewise.
1726
17272001-03-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1728
1729 * ospf_packet.c (ospf_read): Fix typo. Reported by: "Jen B
1730 Lin'Kova" <jen@stack.net>.
1731
17322001-03-15 Gleb Natapov <gleb@nbase.co.il>
1733
1734 * ospf_interface.c (ip_ospf_network): Set interface parameter.
1735 (interface_config_write): Add check for OSPF_IFTYPE_LOOPBACK.
1736
1737 * ospf_zebra.c (ospf_interface_add): Set interface parameter.
1738
17392001-02-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1740
1741 * ospf_packet.c (ospf_recv_packet): Solaris also need to add
1742 (iph.ip_hl << 2) to iph.ip_len.
1743
17442001-02-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1745
1746 * ospfd.h (OSPF_LS_REFRESH_TIME): Fix OSPF_LS_REFRESH_TIME value.
1747 Suggested by: David Watson <dwatson@eecs.umich.edu>.
1748
1749 * ospf_zebra.c (zebra_init): Remove zebra node.
1750
1751 * ospfd.c (ospf_area_range_set): Function name is changed from
1752 ospf_ara_range_cmd.
1753 (ospf_area_range_unset): New function which separated from DEFUN.
1754 New commands are added:
1755 "no area A.B.C.D range A.B.C.D/M advertise"
1756 "no area <0-4294967295> range A.B.C.D/M advertise"
1757 "no area A.B.C.D range A.B.C.D/M not-advertise"
1758 "no area <0-4294967295> range A.B.C.D/M not-advertise"
1759
1760 * ospf_lsa.c (ospf_lsa_more_recent): Fix previous change.
1761
17622001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
1763
1764 * ospf_network.c (ospf_if_add_allspfrouters): Use
1765 setsockopt_multicast_ipv4.
1766 (ospf_if_drop_allspfrouters): Likewise.
1767
1768 * ospf_lsa.c (ospf_router_lsa_install): Add rt_recalc flag.
1769 (ospf_network_lsa_install): Likewise.
1770 (ospf_summary_lsa_install): Likewise.
1771 (ospf_summary_asbr_lsa_install): Likewise.
1772 (ospf_external_lsa_install): Likewise.
1773 (ospf_lsa_install): Call ospf_lsa_different to check this LSA is
1774 new one or not.
1775
17762001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1777
1778 * ospf_zebra.c (ospf_interface_delete): Do not free interface
1779 structure when ospfd receive interface delete message to support
1780 pseudo interface.
1781
17822001-02-01 Dick Glasspool <dick@ipinfusion.com>
1783
1784 * ospfd.c (area_range_notadvertise): Change area range "suppress"
1785 command to "not-advertise".
1786
1787 * ospfd.h (OSPF_LS_REFRESH_TIME): Change OSPF_LS_REFRESH_TIME from
1788 1800 to 60.
1789
1790 * ospf_abr.c (ospf_abr_update_aggregate): When update_aggregate is
1791 updating the area-range, the lowest cost is now saved.
1792
1793 * ospf_lsa.c (ospf_lsa_more_recent): Routing to compare sequence
1794 numbers rather than creating overflow during calculation.
1795
17962001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1797
1798 * zebra-0.91 is released.
1799
18002001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1801
1802 * ospf_packet.c (ospf_db_desc_proc): Do not continue process when
1803 NSM_SeqNumberMismatch is scheduled.
1804 (ospf_ls_req): Free ls_upd when return from this function.
1805 (ospf_ls_upd_timer): When update list is empty do not call
1806 ospf_ls_upd_send(). Suggested by: endo@suri.co.jp (Masahiko
1807 Endo).
1808
18092001-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1810
1811 * ospf_lsa.c (ospf_maxage_flood): Flood LSA when it reaches
1812 MaxAge. RFC2328 Section 14.
1813 (ospf_maxage_lsa_remover): Call above function during removing
1814 MaxAge LSA.
1815
18162001-01-26 Dick Glasspool <dick@ipinfusion.com>
1817
1818 * ospf_flood.c (ospf_flood_through_as): Function is updated for
1819 NSSA Translations now done at ospf_abr.c with no change in P-bit.
1820
1821 * ospf_lsa.c (ospf_get_nssa_ip): Get 1st IP connection for Forward
1822 Addr.
1823 (ospf_install_flood_nssa): Leave Type-7 LSA at Lock Count = 2.
1824
1825 * ospf_ase.c (ospf_ase_calculate_route): Add debug codes.
1826
1827 * ospf_abr.c (ospf_abr_translate_nssa): Recalculate LSA checksum.
1828
1829 * ospf_packet.h (OSPF_SEND_PACKET_LOOP): Added for test packet.
1830
1831 * ospf_dump.c (ospf_lsa_type_msg): Add OSPF_GROUP_MEMBER_LSA and
1832 OSPF_AS_NSSA_LSA.
1833
1834 * ospfd.c (data_injection): Function to inject LSA. This is
1835 debugging command.
1836
18372001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1838
1839 * ospf_route.c (ospf_route_match_same): Remove function.
1840 (ospf_route_match_same_new): Renamed to ospf_route_match_same.
1841
1842 * ospf_zebra.c (ospf_interface_address_delete): Add check for
1843 oi->address. Suggested by Matthew Grant
1844 <grantma@anathoth.gen.nz>.
1845 (ospf_zebra_add): Remove function.
1846 (ospf_zebra_add_multipath): Rename to ospf_zebra_add.
1847
1848 * ospf_interface.c: Remove HAVE_IF_PSEUDO part.
1849
1850 * ospf_zebra.c: Likewise.
1851
18522001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1853
1854 * ospf_ase.c: Remove OLD_RIB part.
1855
1856 * ospf_route.c: Likewise.
1857
1858 * zebra-0.90 is released.
1859
1860 * ospf_packet.c (ospf_recv_packet): Use ip_len adjestment code to
1861 NetBSD.
1862
18632001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1864
1865 * ospf_route.c (ospf_route_delete): Use
1866 ospf_zebra_delete_multipath.
1867
18682001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1869
1870 * ospf_interface.c (ospf_if_cleanup): Function name is renamed
1871 from ospf_if_free(). Rewrite whole procudure to support primary
1872 address deletion.
1873
1874 * ospf_zebra.c (ospf_interface_address_delete): Add primary
1875 address deletion process.
1876
18772001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1878
1879 * ospf_packet.c (ospf_recv_packet): OpenBSD has same ip_len
1880 treatment like FreeBSD.
1881
18822001-01-09 endo@suri.co.jp (Masahiko Endo)
1883
1884 * ospf_packet.c (ospf_recv_packet): FreeBSD kernel network code
1885 strips IP header size from receiving IP Packet. So we adjust
1886 ip_len to whole IP packet size by adding IP header size.
1887
18882001-01-08 endo@suri.co.jp (Masahiko Endo)
1889
1890 * ospf_network.c (ospf_serv_sock): When socket() is failed return
1891 immediately.
1892 (ospf_serv_sock): Close socket when it is not used.
1893
1894 * ospf_packet.c (ospf_write): Set sin_len when HAVE_SIN_LEN is
1895 defined.
1896 (ospf_write): When bind is fined, close sock.
1897
18982001-01-07 Gleb Natapov <gleb@nbase.co.il>
1899
1900 * ospf_zebra.c (ospf_interface_state_up): Fixes coredump that
1901 appears when you try to configure bandwidth on the ppp interface
1902 that is not yet configured in ospfd.
1903
19042001-01-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1905
1906 * ospf_route.c (show_ip_ospf_route_external): "show ip ospf route"
1907 will print nexthops for AS-external routes.
1908
1909 * ospf_ase.c (ospf_ase_route_match_same): New function to compare
1910 ASE route under multipath environment.
1911 (ospf_ase_compare_tables): Likewise.
1912
19132001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1914
1915 * ospfd.h (OSPF_VTYSH_PATH): Change "/tmp/ospfd" to "/tmp/.ospfd".
1916
19172000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1918
1919 * ospf_route.c (ospf_route_install): Install multipath information
1920 to zebra daemon.
1921
1922 * ospf_zebra.c (ospf_zebra_add_multipath): Function for passing
1923 multipath information to zebra daemon.
1924
19252000-12-25 Dick Glasspool <dick@ipinfusion.com>
1926
1927 * ospf_packet.c (ospf_write): Call ospf_packet_delete when sendto
1928 fail.
1929 (DISCARD_LSA): Add argument N for logging point of DISCARD_LSA is
1930 called.
1931
1932 * ospf_lsa.c (ospf_external_lsa_refresh): NSSA install_flood will
1933 leave Type-7 LSA at Lock Count = 2.
1934
1935 * ospf_flood.c (ospf_flood_through): Flood_though_as updated for
1936 NSSA no P-bit off during Area flooding, but P-bit is turned off
1937 for mulitple NSSA AS flooding.
1938
1939 * ospf_ase.c (ospf_ase_calculate_timer): Added calculations for
1940 Type-7 LSDB.
1941
1942 * ospf_abr.c (ospf_abr_translate_nssa): Removed one unlock call.
1943 (ospf_abr_announce_nssa_defaults): Corrected Debug from EVENT to
1944 NSSA.
1945
19462000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1947
1948 * ospf_zebra.c (ospf_zebra_read_ipv4): Checking the age of the
1949 found LSA and if the LSA is MAXAGE we should call refresh instead
1950 of originate.
1951
19522000-12-18 Dick Glasspool <dick@ipinfusion.com>
1953
1954 * ospf_abr.c: Removed redundant "...flood" in
1955 announce_network_to_area(). Repaired nssa Unlock by using
1956 discard.
1957
1958 * ospf_packet.c: Removed old NSSA translate during mk_ls_update.
1959
1960 * ospfd.c: Free up all data bases including NSSA.
1961
1962 * ospf_lsa.c: Now allow removal of XLATE LSA's Check in
1963 discard_callback. Added routine to get ip addr from within the
1964 ifp.
1965
1966 * ospf_flood.c: Now set Forward Address for outgoing Type-7.
1967
1968 * ospf_lsa.h: Added prototype for the below. struct in_addr
1969 ospf_get_ip_from_ifp (struct interface *ifp).
1970
19712000-12-14 Gleb Natapov <gleb@nbase.co.il>
1972
1973 * ospf_packet.c (ospf_recv_packet): New OSPF pakcet read method.
1974 Now maximum packet length may be 65535 bytes (maximum IP packet
1975 length).
1976
1977 * ospf_interface.c (ospf_if_stream_set): Don't make input buffer.
1978
1979 * ospfd.c (config_write_network_area): Remove unnecessary area
1980 lookup code.
1981
19822000-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1983
1984 * ospf_packet.c (ospf_read): Accept packet bigger than MTU value.
1985
19862000-12-13 Gleb Natapov <gleb@nbase.co.il>
1987
1988 * ospfd.c (config_write_network_area): Fix bug in
1989 config_write_network_area function.
1990
19912000-12-12 Gleb Natapov <gleb@nbase.co.il>
1992
1993 * ospf_abr.c (ospf_abr_announce_network_to_area): Make Summary
1994 LSA's origination and refreshment as same as other type of LSA.
1995
1996 * ospf_lsa.c (ospf_summary_lsa_refresh): Return struct ospf_lsa *.
1997
1998 * ospf_lsa.c (ospf_summary_asbr_lsa_refresh): Likewise.
1999
20002000-12-08 Dick Glasspool <dick@ipinfusion.com>
2001
2002 The bulk of NSSA changes are contained herein; This version will
2003 require manual setting of "always" for NSSA Translator, and will
2004 not perform aggregation yet.
2005
2006 * ospf_dump.c: "debug ospf nssa" is added.
2007
2008 * ospf_dump.h: Likewise.
2009
2010 * ospf_packet.c (ospf_hello): Display router ID on Bad NSSA Hello.
2011
2012 * ospfd.c: Discard_LSA to stay away from LOCAL_XLT Process NSSA
2013 'never, candidate, always'. Change "suppress" to "not-advertise".
2014
2015 * ospfd.h: Add TranslatorRole to struct ospf_area. Add anyNSSA to
2016 struct ospf.
2017
2018 * ospf_ase.c (ospf_ase_calculate_route): External to stay away
2019 from LOCAL_XLT
2020
2021 * ospf_nsm.c (ospf_db_summary_add): External to stay away from
2022 LOCAL_XLT
2023
2024 * ospf_abr.c: Major logic added for abr_nssa_task(). If ABR, and
2025 NSSA translator, then do it. Approve the global list, and flush
2026 any unapproved.
2027
2028 * ospf_lsa.h: New LSA flag OSPF_LSA_LOCAL_XLT to indicate that the
2029 Type-5 resulted from a Local Type-7 translation; not used for
2030 flooding, but used for flushing.
2031
2032 * ospf_flood.c: New NSSA flooding.
2033
20342000-12-08 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2035
2036 * ospfd.c (ospf_find_vl_data): New function for looking up virtual
2037 link data.
2038 (ospf_vl_set_security): Virtual link configuration with
2039 authentication.
2040 (ospf_vl_set_timers): Set timers for virtual link.
2041
2042 * New commands are added.
2043 "area A.B.C.D virtual-link A.B.C.D"
2044 "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>"
2045 "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"
2046 "area A.B.C.D virtual-link A.B.C.D authentication-key AUTH_KEY"
2047 "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"
2048 "area A.B.C.D virtual-link A.B.C.D message-digest-key <1-255> md5 KEY"
2049
2050 * ospf_packet.c (ospf_check_md5_digest): Add neighbor's
2051 cryptographic sequence number treatment.
2052 (ospf_check_auth): OSPF input buffer is added to argument.
2053 (ospf_read): Save neighbor's cryptographic sequence number.
2054
2055 * ospf_nsm.c (nsm_change_status): Clear cryptographic sequence
2056 number when neighbor status is changed to NSM down.
2057
2058 * ospf_neighbor.c (ospf_nbr_new): Set zero to crypt_seqnum.
2059
2060 * ospf_neighbor.h (struct ospf_neighbor): Add cryptographic
2061 sequence number to neighbor structure.
2062
20632000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2064
2065 * ospf_snmp.c (ospfIfLookup): OSPF MIB updates.
2066 (ospfExtLsdbEntry): Add OspfExtLsdbTable treatment.
2067
20682000-11-28 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2069
2070 * ospfd.c (ospf_interface_down): Clear a ls_upd_queue queue of the
2071 interface.
2072 (ospf_ls_upd_queue_empty): New function to empty ls update queue
2073 of the OSPF interface.
2074 (no_router_ospf): 'no router ospf' unregister redistribution
2075 requests from zebra.
2076
20772000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2078
2079 * ospf_ism.c (ism_change_status): Increment status change number.
2080
2081 * ospf_interface.h (struct ospf_interface): Add new member for
2082 status change statistics.
2083
2084 * Makefile.am: Update dependencies.
2085
2086 * ospf_zebra.c (ospf_interface_add): OSPF SNMP interface update.
2087 (ospf_interface_delete): OSPF SNMP interface delete.
2088
2089 * ospf_snmp.h: New file is added.
2090
20912000-11-23 Dick Glasspool <dick@ipinfusion.com>
2092
2093 * ospfd.h: Add new ospf_area structure member for
2094 NSSATranslatorRole and NSSATranslator state.
2095
2096 * ospfd.c: Provided for eventual commands to specify NSSA
2097 elections for "translator- ALWAYS/NEVER/CANDIDATE". Provided for
2098 decimal integer version of area-suppress.
2099
2100 * ospf_flood.c: Flood Type-7's only into NSSA (not AS).
2101
2102 * ospf_lsa.c: Undo some previous changes for NSSA. If NSSA
2103 translator, advertise Nt bit.
2104
2105 * ospf_route.c: 1st version of "sh ip os border-routers".
2106
21072000-11-23 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2108
2109 * ospfd.c (area_vlink): Virtual link can not configured in stub
2110 area.
2111
21122000-11-23 Gleb Natapov <gleb@nbase.co.il>
2113
2114 * ospf_packet.c (ospf_db_desc): In states Loading and Full the
2115 slave must resend its last Database Description packet in response
2116 to duplicate Database Description packets received from the
2117 master. For this reason the slave must wait RouterDeadInterval
2118 seconds before freeing the last Database Description packet.
2119 Reception of a Database Description packet from the master after
2120 this interval will generate a SeqNumberMismatch neighbor
2121 event. RFC2328 Section 10.8
2122 (ospf_make_db_desc): DD Master flag treatment.
2123
2124 * ospf_nsm.c (nsm_twoway_received): Move DD related procedure to
2125 nsm_change_status().
2126 (nsm_bad_ls_req): Likewise.
2127 (nsm_adj_ok): Likewise.
2128 (nsm_seq_number_mismatch): Likewise.
2129 (nsm_oneway_received): Likewise.
2130
2131 * ospf_neighbor.h (struct ospf_neighbor): New structure member
2132 last_send_ts for timestemp when last Database Description packet
2133 was sent.
2134
2135 * ospf_nsm.c (ospf_db_desc_timer): Make it sure nbr->last_send is
2136 there. Call ospf_db_desc_resend() in any case.
2137
21382000-11-16 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2139
2140 * ospf_lsa.c (lsa_link_broadcast_set): When there is no DR on
2141 network (suppose you have only one router with interface priority
2142 0). It's router LSA does not contain the link information about
2143 this network.
2144
2145 * ospf_nsm.c (nsm_timer_set): When you change a priority of
2146 interface from/to 0 ISM_NeighborChange event should be scheduled
2147 in order to elect new DR/BDR on the network.
2148
2149 * ospf_interface.c (ip_ospf_priority): Likewise.
2150
2151 * ospf_flood.c (ospf_ls_retransmit_add): When we add some LSA into
2152 retransmit list we need to check whether the present old LSA in
2153 retransmit list is not more recent than the new
2154 one.
2155
21562000-11-09 Dick Glasspool <dick@ipinfusion.com>
2157
2158 * ospf_packet.c: Allows for NSSA Type-7 LSA's throughout the NSSA
2159 area. Any that exit the NSSA area are translated to type-5 LSA's.
2160 The instantiated image is restored after translation.
2161 (ospf_ls_upd_send_list): Renamed to ospf_ls_upd_queu_send().
2162 (ospf_ls_upd_send): Old function which enclosed by #ifdef 0 is
2163 removed.
2164 (ospf_ls_ack_send): Likewise.
2165
2166 * ospf_flood.c: NSSA-LSA's without P-bit will be restricted to
2167 local area. Otherwise they are allowed out the area to be
2168 translated by ospf_packet.c.
2169
2170 * ospf_lsa.c: Undo some previous changes for NSSA.
2171
2172 * ospf_lsdb.h: New access for type 7.
2173
21742000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2175
2176 * ospf_route.c (ospf_path_exist): New function to check nexthop
2177 and interface are in current OSPF path or not.
2178 (ospf_route_copy_nexthops_from_vertex): Add nexthop to OSPF path
2179 when it is not there. Reported by Michael Rozhavsky
2180 <mrozhavsky@opticalaccess.com>
2181
21822000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2183
2184 * ospf_dump.c (config_write_debug): Add seventh string "detail" is
2185 added for flag is OSPF_DEBUG_SEND | OSPF_DEBUG_RECV |
2186 OSPF_DEBUG_DETAIL.
2187
21882000-11-06 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2189
2190 * ospf_lsa.c (router_lsa_flags): ASBR can't exit in stub area.
2191
21922000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2193
2194 * ospf_lsa.c (ospf_router_lsa_originate): Reduce unconditional
2195 logging.
2196
21972000-11-06 Dick Glasspool <dick@ipinfusion.com>
2198
2199 * ospfd.h: Add ait_ntoa function prototype.
2200
2201 * ospfd.c (ait_ntoa): New function for displaying area ID and
2202 Stub/NSSA status.
2203 (show_ip_ospf_interface_sub): Use ait_ntoa.
2204 (show_ip_ospf_nbr_static_detail_sub): Likewise.
2205 (show_ip_ospf_neighbor_detail_sub): Likewise.
2206
2207 * ospf_route.c (ospf_intra_route_add): Set external routing type
2208 to ospf route.
2209 (ospf_intra_add_router): Likewise.
2210 (ospf_intra_add_transit): Likewise.
2211 (ospf_intra_add_stub): Likewise.
2212 (ospf_add_discard_route): Likewise.
2213 (show_ip_ospf_route_network): Use ait_ntoa.
2214 (show_ip_ospf_route_network): Likewise.
2215 (show_ip_ospf_route_router): Likewise.
2216
2217 * ospf_lsa.c (show_lsa_detail): Use ait_ntoa.
2218 (show_lsa_detail_adv_router): Likewise.
2219 (show_ip_ospf_database_summary): Likewise.
2220
2221 * ospf_route.h (struct route_standard): Add new member
2222 external_routing.
2223
2224 * ospf_ia.c (process_summary_lsa): Set external routing tyep to ospf
2225 route.
2226 (ospf_update_network_route): Likewise.
2227 (ospf_update_router_route): Likewise.
2228
22292000-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2230
2231 * ospf_flood.c (ospf_process_self_originated_lsa): Enclose
2232 OSPF_AS_NSSA_LSA treatment with #ifdef HAVE_NSSA.
2233
22342000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2235
2236 * Unconditional logging is enclosed with if (IS_DEBUG_OSPF_EVENT).
2237 Please specify "debug ospf event" for enable logging.
2238
2239 * ospf_ism.c: Do not extern debug flag varible. It is done by
2240 ospf_debug.h
2241 * ospf_asbr.c: Likewise.
2242 * ospf_lsa.c: Likewise.
2243 * ospf_nsm.c: Likewise.
2244 * ospf_zebra.c: Likewise.
2245
2246 * ospf_dump.c (debug_ospf_event): New command "debug ospf event"
2247 is added.
2248
2249 * ospfd.c (router_ospf): Change logging from vty_out() to
2250 zlog_info().
2251 (ospf_area_stub_cmd): Likewise.
2252
2253 * ospf_dump.h: Extern term_debug flags.
2254 (OSPF_DEBUG_EVENT): Add new flag.
2255 (IS_DEBUG_OSPF_EVENT): Add new macro.
2256
22572000-11-03 Dick Glasspool <dick@ipinfusion.com>
2258
2259 * ospf_flood.c (ospf_process_self_originated_lsa):
2260 OSPF_AS_NSSA_LSA is treated as same as OSPF_AS_EXTERNAL_LSA.
2261 (ospf_flood): Type-5's have no change. Type-7's can be received,
2262 and will Flood the AS as Type-5's They will also flood the local
2263 NSSA Area as Type-7's. The LSDB will be updated as Type-5's, and
2264 during re-fresh will be converted back to Type-7's (if within an
2265 NSSA).
2266 (ospf_flood_through): Incoming Type-7's were allowed here if our
2267 neighbor was an NSSA. So Flood our area with the Type-7 and also
2268 if we are an ABR, flood thru AS as Type-5.
2269
2270 * ospf_lsa.c (ospf_external_lsa_refresh): Flood NSSA both NSSA
2271 area and other area.
2272
2273 * ospf_packet.c (ospf_db_desc_proc): When AS External LSA is
2274 exists in DD packet, make it sure that this area is not stub.
2275 (ospf_ls_upd_list_lsa): When LSA type is NSSA then set lsa's area
2276 to NULL.
2277 (ospf_ls_upd): If the LSA is AS External LSA and the area is stub
2278 then discard the lsa. If the LSA is NSSA LSA and the area is not
2279 NSSA then discard the lsa.
2280
22812000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2282
2283 * ospfd.c (ospf_interface_run): Fix bug of Hello packet's option
2284 is not properly set when interface comes up.
2285
22862000-11-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2287
2288 * ospfd.h (OSPF_OPTION_O): Add new hello header option.
2289
22902000-11-01 Dick Glasspool <dick@ipinfusion.com>
2291
2292 * ospf_lsa.h: Define OSPF_MAX_LSA to 8 when HAVE_NSSA is enabled.
2293 (OSPF_GROUP_MEMBER_LSA): Define OSPF_GROUP_MEMBER_LSA.
2294
2295 * ospf_lsa.c (show_database_desc): Add "Group Membership LSA"
2296 string.
2297
22982000-10-31 Dick Glasspool <dick@ipinfusion.com>
2299
2300 * ospf_lsa.h (OSPF_AS_NSSA_LSA): Define OSPF_AS_NSSA_LSA.
2301
2302 * ospf_lsa.c (show_ip_ospf_database): NSSA database display
2303 function is added. ALIASES which have "show ip ospf database
2304 nssa-external" is added.
2305 (show_ip_ospf_border_routers): New command "show ip ospf
2306 border-routers" is added.
2307
23082000-10-30 Dick Glasspool <dick@ipinfusion.com>
2309
2310 * ospfd.c (router_ospf): NSSA Enabled message is added for
2311 testing.
2312 (ospf_area_type_set): Are type set for NSSA area.
2313 (ospf_area_stub_cmd): Special translation of no_summary into NSSA
2314 and summary information. If NSSA is enabled pass the information
2315 to ospf_area_type_set().
2316 (area_nssa): New commands are added:
2317 "area A.B.C.D nssa"
2318 "area <0-4294967295> nssa"
2319 "area A.B.C.D nssa no-summary"
2320 "area <0-4294967295> nssa no-summary"
2321 (ospf_no_area_stub_cmd): Special translation of no_summary into
2322 NSSA and summary information. If external_routing is
2323 OSPF_AREA_NSSA unset area with ospf_area_type_set (area,
2324 OSPF_AREA_DEFAULT).
2325 (show_ip_ospf_area): Display NSSA status.
2326 (config_write_ospf_area): Show NSSA configuration.
2327
2328 * ospf_packet.c (ospf_hello): For NSSA support, ensure that NP is
2329 on and E is off.
2330
23312000-10-26 Gleb Natapov <gleb@nbase.co.il>
2332
2333 * ospf_lsa.c (ospf_network_lsa_body_set): The network-LSA lists
2334 those routers that are fully adjacent to the Designated Router;
2335 each fully adjacent router is identified by its OSPF Router ID.
2336 The Designated Router includes itself in this list. RFC2328,
2337 Section 12.4.2.
2338
23392000-10-23 Jochen Friedrich <jochen@scram.de>
2340
2341 * ospf_snmp.c: ospf_oid and ospfd_oid are used in smux_open after
2342 it is registered. So those variables must be static.
2343
23442000-10-18 K N Sridhar <sridhar@euler.ece.iisc.ernet.in>
2345
2346 * ospfd.c: Add area_default_cost_decimal_cmd and
2347 no_area_default_cost_decimal_cmd alias.
2348
23492000-10-05 Gleb Natapov <gleb@nbase.co.il>
2350
2351 * ospfd.c (ospf_network_new): Fix setting area format.
2352 (no_router_ospf): Check area existance when calling
2353 ospf_interface_down().
2354
2355 * ospf_flood.c (ospf_external_info_check): Fix bug of refreshing
2356 default route.
2357
23582000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2359
2360 * zebra-0.89 is released.
2361
23622000-09-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2363
2364 * ospf_snmp.c (ospfHostEntry): OSPF Host MIB is implemented.
2365
2366 * ospfd.c (ospf_nbr_static_cmp): OSPF neighbor is sorted by it's
2367 address.
2368
23692000-09-28 Michael Rozhavsky <mike@nbase.co.il>
2370
2371 * ospf_interface.c (ospf_if_free): Fix deleting self neighbor twice.
2372
23732000-09-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2374
2375 * ospf_packet.c (ospf_read): Solaris on x86 has ip_len with host
2376 byte order.
2377
23782000-09-25 Toshiaki Takada <takada@zebra.org>
2379
2380 * ospfd.c (ospf_compatible_rfc1583), (no_ospf_compatible_rfc1583):
2381 Add CISCO compatible command.
2382
23832000-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2384
2385 * ospf_abr.c (ospf_area_range_lookup): New function is added for
2386 area range lookup in OSPF-MIB.
2387 (ospf_area_range_lookup_next): Likewise.
2388
23892000-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2390
2391 * ospfd.c (no_router_ospf): Delete virtual link before deleting
2392 area structure.
2393
2394 * ospf_lsa.c (ospf_external_lsa_refresh_type): Check
2395 EXTERNAL_INFO(type).
2396
2397 * ospfd.c (no_router_ospf): Call ospf_vl_delete() instead of
2398 ospf_vl_data_free().
2399
2400 * ospf_interface.c (ospf_vl_shutdown): Execute ISM_InterfaceDown
2401 when ospf_vl_shutdown is called.
2402 (ospf_vl_delete): Call ospf_vl_shutdown() to delete virtual link
2403 interface's thread.
2404
24052000-09-21 Gleb Natapov <gleb@nbase.co.il>
2406
2407 * ospf_lsa.c: New implementation of OSPF refresh.
2408
24092000-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2410
2411 * ospf_snmp.c (ospfLsdbLookup): Add LSDB MIB implementation.
2412
24132000-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2414
2415 * ospf_snmp.c (ospfStubAreaEntry): Add OSPF stub area MIB.
2416
24172000-09-18 Gleb Natapov <gleb@nbase.co.il>
2418
2419 * ospf_route.h (route_standard): Change member from `struct area'
2420 to area_id.
2421
2422 * ospf_abr.c (ospf_abr_announce_network), (ospf_abr_should_announce),
2423 (ospf_abr_process_network_rt), (ospf_abr_announce_rtr),
2424 (ospf_abr_process_router_rt):
2425 * ospf_ase.c (ospf_find_asbr_route),
2426 (ospf_find_asbr_router_through_area),
2427 * ospf_ia.c (ospf_find_abr_route), (ospf_ia_router_route),
2428 (process_summary_lsa), (ospf_update_network_route),
2429 (ospf_update_router_route):
2430 * ospf_route.c (ospf_intra_route_add), (ospf_intra_add_router),
2431 (ospf_intra_add_transit), (ospf_intra_add_stub),
2432 (ospf_route_table_dump), (show_ip_ospf_route_network),
2433 (show_ip_ospf_route_router), (ospf_asbr_route_cmp),
2434 (ospf_prune_unreachable_routers):
2435 * ospf_spf.c (ospf_rtrs_print):
2436 * ospfd.c (ospf_rtrs_free): Fix the struct change above.
2437
24382000-09-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2439
2440 * ospf_network.c (ospf_serv_sock_init): Enclose SO_BINDTODEVICE
2441 with ifdef.
2442
24432000-09-13 Gleb Natapov <gleb@nbase.co.il>
2444
2445 * ospf_ism.c (ospf_elect_dr), (ospf_elect_bdr): Fix DR election.
2446
2447 * ospf_network.c (ospf_serv_sock_init): Add socket option
2448 SO_BINDTODEVICE on read socket.
2449
2450 * ospf_packet.c (ospf_hello): Ignore Hello packet if E-bit does
2451 not match.
2452
2453 * ospfd.c (ospf_area_check_free), (ospf_area_get),
2454 (ospf_area_add_if): New function added.
2455
24562000-09-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2457
2458 * ospf_route.c (ospf_intra_add_router): Update ABR and ASBR router
2459 count.
2460
2461 * ospf_spf.c (ospf_spf_init): Rest ABR and ASBR router count
2462 starting SPF calculation.
2463
2464 * ospfd.h (struct ospf_area): Add ABR and ASBR router count.
2465
24662000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2467
2468 * ospfd.c (ospf_area_id_cmp): New area structure is sorted by area
2469 ID.
2470
2471 * ospf_lsa.c (ospf_router_lsa_originate): For OSPF MIB update
2472 lsa_originate_count.
2473 (ospf_network_lsa_originate): Likewise.
2474 (ospf_summary_lsa_originate): Likewise.
2475 (ospf_summary_asbr_lsa_originate): Likewise.
2476 (ospf_external_lsa_originate): Likewise.
2477
24782000-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2479
2480 * ospf_snmp.c (ospf_variables): ospfRouterID's type RouterID
2481 syntax is IpAddress.
2482 (ospf_admin_stat): New function for OSPF administrative status
2483 check.
2484
24852000-09-10 Jochen Friedrich <jochen@scram.de>
2486
2487 * ospf_snmp.c: Implement OSPF MIB skeleton.
2488
24892000-09-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2490
2491 * ospf_snmp.c: New file is added.
2492
24932000-09-07 David Lipovkov <davidl@nbase.co.il>
2494
2495 * ospf_zebra.c (ospf_interface_delete): Add pseudo interface
2496 treatment.
2497
2498 * ospf_interface.c (interface_config_write): Likewise.
2499
25002000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2501
2502 * zebra-0.88 is released.
2503
25042000-08-17 Michael Rozhavsky <mike@nbase.co.il>
2505
2506 * ospfd.c (ospf_area_free): Remove virtual link configuration only
2507 when Area is removed.
2508
25092000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2510
2511 * ospfd.c (network_area): Revert check for EXTERNAL_INFO
2512 (ZEBRA_ROUTE_CONNECT).
2513 (no_network_area): Likewise.
2514
25152000-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2516
2517 * ospfd.h (struct ospf): Add distance_table and
2518 distance_{all,intra,inter,external}.
2519
2520 * ospf_zebra.c: Add OSPF distance related functions.
2521
25222000-08-15 Gleb Natapov <gleb@nbase.co.il>
2523
2524 * ospf_asbr.c (ospf_external_info_find_lsa): New function added.
2525
2526 * ospf_lsa.c (ospf_default_external_info),
2527 (ospf_default_originate_timer), (ospf_external_lsa_refresh_default):
2528 New function added.
2529
2530 * ospf_zebra.c
2531 (ospf_default_information_originate_metric_type_routemap),
2532 (ospf_default_information_originate_always_metric_type_routemap):
2533 Change name and add route-map function.
2534 (ospf_default_information_originate_metric_routemap),
2535 (ospf_default_information_originate_routemap),
2536 (ospf_default_information_originate_type_metric_routemap):
2537 New DEFUN added.
2538
25392000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2540
2541 * ospf_zebra.c (zebra_interface_if_set_value): Change ifindex
2542 restore size from two octet to four.
2543
25442000-08-14 Michael Rozhavsky <mike@nbase.co.il>
2545
2546 * ospf_ase.c (ospf_ase_incremental_update): Implement incremental
2547 AS-external-LSA in 16.6 of RFC2328.
2548
25492000-08-14 Matthew Grant <grantma@anathoth.gen.nz>
2550
2551 * ospf_interface.c (ospf_if_get_output_cost): Change cost
2552 calculation algorithm.
2553
2554 * ospf_packet (ospf_ls_upd): Fix problem of LSA retransmitting.
2555
25562000-08-11 Michael Rozhavsky <mike@nbase.co.il>
2557
2558 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix maxage remover for
2559 AS-external-LSAs.
2560
25612000-08-10 Toshiaki Takada <takada@zebra.org>
2562
2563 * ospfd.c (auto_cost_reference_bandwidth): New DEFUN added.
2564 `auto-cost reference-bandwidth' OSPF router command added.
2565
25662000-08-08 Gleb Natapov <gleb@nbase.co.il>
2567
2568 * ospf_routemap.c (ospf_route_map_update): New function added.
2569 Add route-map event hook.
2570
25712000-08-08 Toshiaki Takada <takada@zebra.org>
2572
2573 * ospf_zebra.c (ospf_distribute_check_connected): If redistribute
2574 prefix is connected route on OSPF enabled interface, suppress to
2575 announce it.
2576
25772000-08-08 Matthew Grant <grantma@anathoth.gen.nz>
2578
2579 * ospf_interface.c (ospf_if_get_output_cost):
2580 New function added. Handle bandwidth parameter for cost
2581 calculation.
2582
25832000-08-08 Michael Rozhavsky <mike@nbase.co.il>
2584
2585 * ospf_interface.c (interface_config_write): Show interface
2586 configuration regardless interface is down.
2587
2588 * ospf_ase.c (ospf_ase_caocluate_route): Whole rewritten external
2589 route calculate function.
2590
25912000-08-08 Gleb Natapov <gleb@nbase.co.il>
2592
2593 * ospf_routemap.c: New file added.
2594
2595 * ospf_asbr.c (ospf_reset_route_map_set_values),
2596 (ospf_route_map_set_compare): New function added.
2597
2598 * ospf_lsa.c (ospf_external_lsa_body_set): Set routemap metric
2599 with AS-external-LSA.
2600
26012000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2602
2603 * ospf_ase.c (ospf_ase_calculate_route_add): Pass new->cost to
2604 ospf_zebra_add as metric.
2605 (ospf_ase_calculate_route_add): Likewise.
2606
2607 * ospf_route.c (ospf_route_install): Pass or->cost to
2608 ospf_zebra_add as metric.
2609
2610 * ospf_zebra.c (ospf_zebra_add): Add metric arguemnt.
2611 (ospf_zebra_delete): Likewise.
2612
26132000-08-03 Matthew Grant <grantma@anathoth.gen.nz>
2614
2615 * ospf_flood.c (ospf_flood_delayed_lsa_ack): New function added.
2616 Dispatch delayed-ACK with flooding AS-external-LSA across virtual
2617 link.
2618
26192000-07-31 Matthew Grant <grantma@anathoth.gen.nz>
2620
2621 * ospfd.c (show_ip_ospf_area): Fix lack of VTY_NEWLINE when
2622 `show ip ospf'.
2623
2624 * ospf_interface.c (ospf_if_free): Fix bug of crash with
2625 Point-to-Point interface.
2626
26272000-07-27 Michael Rozhavsky <mike@nbase.co.il>
2628
2629 * ospf_flood.c (ospf_process_self_originated_lsa):
2630 Make sure to clear LSA->param (redistributed external information)
2631 before refreshment.
2632
26332000-07-27 Gleb Natapov <gleb@nbase.co.il>
2634
2635 * ospfd.c (refresh_group_limit), (refresh_per_slice),
2636 (refresh_age_diff): New defun added. Refresher related parameter
2637 can be configurable.
2638
26392000-07-27 Akihiro Mizutani <mizutani@dml.com>
2640
2641 * ospf_interface.c (interface_config_write): Print `description'
2642 config directive to work.
2643
26442000-07-24 Akihiro Mizutani <mizutani@dml.com>
2645
2646 * ospf_interface.c (ospf_if_init): Use install_default for
2647 INTERFACE_NODE.
2648
26492000-07-24 Gleb Natapov <gleb@nbase.co.il>
2650
2651 * ospf_packet.c (ospf_ls_upd_send_list), (ospf_ls_upd_send_event),
2652 (ospf_ls_ack_send_list), (ospf_ls_ack_send_event): New function added.
2653 This make sending always as many LS update/Ack combined in one ospf
2654 packet.
2655
26562000-07-24 Gleb Natapov <gleb@nbase.co.il>
2657
2658 * ospf_packet.c (ospf_ls_upd_list_lsa): Set NULL to lsa->area if
2659 LSA is AS-external-LSA.
2660
2661 * ospf_nsm.c (nsm_reset_nbr): Do not cancel Inactivity timer.
2662
26632000-07-21 Toshiaki Takada <takada@zebra.org>
2664
2665 * ospf_zebra.c (ospf_default_originate_timer): Set timer for
2666 `default-information originate'. Fix some default originate
2667 related functions.
2668
26692000-07-12 Toshiaki Takada <takada@zebra.org>
2670
2671 * ospf_lsa.c (stream_put_ospf_metric): New function added.
2672
26732000-07-12 Toshiaki Takada <takada@zebra.org>
2674
2675 * ospf_lsa.c (show_ip_ospf_database_router),
2676 (show_ip_ospf_database_network), (show_ip_ospf_database_summary),
2677 (show_ip_ospf_database_summary_asbr), (show_ip_ospf_database_externel),
2678 (show_router_lsa), (show_any_lsa), (show_router_lsa_self),
2679 (show_any_lsa_self): Functions removed.
2680
2681 (show_lsa_prefix_set), (show_lsa_detail_proc), (show_lsa_detail),
2682 (show_lsa_detail_adv_router_proc), (show_lsa_detail_adv_router):
2683 New functions added. Replace above functions.
2684
2685 (show_ip_ospf_database_all), (show_ip_ospf_database_self_originated):
2686 Functions removed.
2687 (show_ip_ospf_database_summary): New functions added. Replace
2688 above functions.
2689
2690 (show_ip_ospf_database_cmd): DEFUN rearranged.
2691 (show_ip_ospf_database_type_id_cmd),
2692 (show_ip_ospf_database_type_id_adv_router_cmd),
2693 (show_ip_ospf_database_type_is_self_cmd): New ALIASes added.
2694 (show_ip_ospf_database_type_adv_rotuer_cmd): New DEFUN added.
2695 (show_ip_ospf_database_type_self_cmd): New ALIAS added.
2696
26972000-07-11 Toshiaki Takada <takada@zebra.org>
2698
2699 * ospf_asbr.c (ospf_external_info_new),
2700 (ospf_external_info_free): New functions added.
2701
2702 * ospf_lsa.h (ospf_lsa): Add new member `void *param' to set
2703 origination parameter for external-LSA.
2704 Remove member `redistribute'.
2705
2706 * ospf_zebra.c (ospf_redistirbute_set): When `redistribute'
2707 command executed, metric and metric-type values are overridden.
2708 If one of those is changed refresh AS-external-LSAs for appropriate
2709 type.
2710
27112000-07-11 Michael Rozhavsky <mike@nbase.co.il>
2712
2713 * ospf_lsa.c (ospf_summary_lsa_refresh),
2714 (ospf_summary_asbr_lsa_refresh): Make sure to refresh summary-LSAs.
2715
2716 * ospf_abr.c (set_metric): New function added.
2717
27182000-07-07 Toshiaki Takada <takada@zebra.org>
2719
2720 * ospf_zebra.c (ospf_default_information_originate_metric_type),
2721 (ospf_default_information_originate_type_metric): New defun added.
2722 Metic and Metric type can be set to default route.
2723 (ospf_default_information_originate_always_metric_type):
2724 (ospf_default_information_originate_always_type_metric):
2725 New defun added. Metric and Metric type can be set to default
2726 always route.
2727
2728 * ospf_zebra.c (ospf_default_metric), (no_ospf_default_metric):
2729 New defun added.
2730
27312000-07-06 Gleb Natapov <gleb@nbase.co.il>
2732
2733 * ospf_flood.c (ospf_flood_through_area): Fix bug of considering
2734 on the same interface the LSA was received from.
2735
27362000-07-06 Michael Rozhavsky <mike@nbase.co.il>
2737
2738 * ospfd.c (ospf_config_write): Fix bug of printing `area stub'
2739 command with `write mem'.
2740
2741 * ospfd.c (no_router_ospf): Remove installed routes from zebra.
2742
2743 * ospf_zebra.c (ospf_interface_delete): Fix function to handle
2744 zebra interface delete event.
2745
27462000-07-06 Toshiaki Takada <takada@zebra.org>
2747
2748 * ospf_zebra.c (ospf_default_information_originate),
2749 (ospf_default_information_originate_always): New DEFUN added.
2750
27512000-07-05 Michael Rozhavsky <mike@nbase.co.il>
2752
2753 * ospf_route.c (ospf_terminate): Make sure to remove external route
2754 when SIGINT received.
2755
27562000-07-03 Gleb Natapov <gleb@nbase.co.il>
2757
2758 * ospf_flood.c, ospf_ism.c, ospf_lsa,c, ospfd.c: Make sure to free
2759 many structure with `no router ospf'.
2760
27612000-06-30 Gleb Natapov <gleb@nbase.co.il>
2762
2763 * ospf_neighbor.c (ospf_nbr_new),
2764 ospf_nsm.c (nsm_timer_set): Start LS update timer only
2765 when neighbor enters Exchange state.
2766
27672000-06-29 Gleb Natapov <gleb@nbase.co.il>
2768
2769 * ospf_nsm.c (nsm_timer_set), (nsm_exchange_done),
2770 ospf_packet.c (ospf_db_desc_proc):
2771 Do not cancel DD retransmit timer when Master.
2772
27732000-06-29 Gleb Natapov <gleb@nbase.co.il>
2774
2775 * ospf_abr.c (ospf_abr_announce_network_to_area),
2776 (ospf_abr_announce_rtr_to_area)
2777 ospf_ase.c (ospf_ase_rtrs_register_lsa),
2778 ospf_flood.c (ospf_process_self_originated_lsa),
2779 (ospf_flood_through_area), (ospf_ls_request_delete),
2780 ospf_interface.c (ospf_if_free),
2781 ospf_ism.c (ism_change_status),
2782 ospf_lsa.c (ospf_router_lsa_update_timer),
2783 (ospf_router_lsa_install), (ospf_network_lsa_install),
2784 (ospf_lsa_maxage_delete), (ospf_lsa_action),
2785 (ospf_schedule_lsa_flood_area),
2786 ospf_nsm.c (nsm_change_status),
2787 ospf_packet.c (ospf_make_ls_req_func), (ospf_make_ls_ack):
2788 Use ospf_lsa_{lock,unlock} for all looking-up of LSA.
2789
2790 * ospf_flood.c (ospf_ls_request_free): Function deleted.
2791
2792 * ospf_lsa.c (ospf_discard_from_db): New function added.
2793
27942000-06-26 Toshiaki Takada <takada@zebra.org>
2795
2796 * ospfd.h (ospf): struct member `external_lsa' name changed to
2797 `lsdb'.
2798
27992000-06-26 Toshiaki Takada <takada@zebra.org>
2800
2801 * ospf_lsa.c (ospf_lsa_install), (ospf_router_lsa_install),
2802 (ospf_network_lsa_install), (ospf_summary_lsa_install),
2803 (ospf_summary_asbr_lsa_install), (ospf_external_lsa_install):
2804 Functions re-arranged.
2805
2806 * ospf_lsa.c (IS_LSA_MAXAGE), (IS_LSA_SELF): Macro added.
2807
28082000-06-20 Michael Rozhavsky <mike@nbase.co.il>
2809
2810 * ospf_packet.c (ospf_ls_req), (ospf_ls_upd), (ospf_ls_ack): Add
2811 verification of LS type.
2812
28132000-06-20 Gleb Natapov <gleb@nbase.co.il>
2814
2815 * ospf_ase.c (ospf_ase_calculate_timer): Add more sanity check
2816 whether rn->info is NULL.
2817
28182000-06-20 Toshiaki Takada <takada@zebra.org>
2819
2820 * ospfd.c (show_ip_ospf_interface_sub): Show Router-ID of both
2821 DR and Backup correctly with `show ip ospf interface' command.
2822
28232000-06-20 Toshiaki Takada <takada@zebra.org>
2824
2825 * ospf_lsa.c (ospf_lsa_lock), (ospf_lsa_unlock),
2826 (ospf_lsa_discard): These functions are used for avoiding
2827 unexpected reference to freed LSAs.
2828
28292000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2830
2831 * ospf_packet.c (ospf_ls_upd): Initialize lsa by NULL to avoid
2832 warning.
2833
28342000-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2835
2836 * ospf_ase.h (ospf_ase_rtrs_register_lsa): Add prototype.
2837
28382000-06-12 Toshiaki Takada <takada@zebra.org>
2839
2840 * ospf_lsa.c (ospf_external_lsa_install): Make sure to register
2841 LSA to rtrs_external when replacing AS-external-LSAs in LSDB.
2842 Fix core dump.
2843
28442000-06-10 Toshiaki Takada <takada@zebra.org>
2845
2846 * ospf_lsdb.c (id_to_prefix), (ospf_lsdb_hash_key),
2847 (ospf_lsdb_hash_cmp), (ospf_lsdb_new), (ospf_lsdb_iterator),
2848 (lsdb_free), (ospf_lsdb_free), (ospf_lsdb_add), (ospf_lsdb_delete),
2849 (find_lsa), (ospf_lsdb_lookup), (find_by_id),
2850 (ospf_lsdb_lookup_by_id), (ospf_lsdb_lookup_by_header): Functinos
2851 removed for migration to new_lsdb.
2852
2853 * ospf_lsa.c (ospf_summary_lsa_install),
2854 (ospf_summary_asbr_lsa_install), (ospf_maxage_lsa_remover),
2855 (ospf_lsa_maxage_walker), (ospf_lsa_lookup),
2856 (ospf_lsa_lookup_by_id): Use new_lsdb instead of ospf_lsdb.
2857 (count_lsa), (ospf_lsa_count_table), (ospf_lsa_count),
2858 (ospf_get_free_id_for_prefix): Funcitions removed.
2859
28602000-06-09 Gleb Natapov <gleb@nbase.co.il>
2861
2862 * ospf_ism.c (ism_interface_down): Prevent some unneeded DR changes.
2863
2864 * ospf_packet.c (ospf_db_desc_proc): Fix memory leak.
2865 (ospf_hello): Always copy router-ID when hello is received.
2866
28672000-06-08 Gleb Natapov <gleb@nbase.co.il>
2868
2869 * ospf_lsa.h (struct ospf_lsa): Add member of pointer to struct
2870 ospf_area.
2871
28722000-06-08 Michael Rozhavsky <mike@nbase.co.il>
2873
2874 * ospf_ase.c (ospf_asbr_route_same): New function added.
2875 This function makes sure external route calculation more
2876 precisely.
2877
28782000-06-07 Michael Rozhavsky <mike@nbase.co.il>
2879
2880 * ospf_ism.c (ism_change_status): Use ospf_lsa_flush_area for
2881 network-LSA deletion instead of using ospf_lsdb_delete.
2882 Also cancel network-LSA origination timer.
2883
28842000-06-07 Levi Harper <lharper@kennedytech.com>
2885
2886 * ospf_interface.c (ospf_if_down): Close read fd when an interface
2887 goes down.
2888
28892000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2890
2891 * ospf_asbr.c (ospf_external_info_lookup): Add explicit brace for
2892 avoid ambiguous else.
2893
2894 * ospf_flood.c (ospf_external_info_check): Likewise.
2895
28962000-06-05 Toshiaki Takada <takada@zebra.org>
2897
2898 * ospf_nsm.c (nsm_adj_ok): Fix bug of DR election.
2899
29002000-06-04 Toshiaki Takada <takada@zebra.org>
2901
2902 * ospf_zebra.c (ospf_default_information_originate),
2903 (no_ospf_default_information_originate): New DEFUN added.
2904
29052000-06-03 Toshiaki Takada <takada@zebra.org>
2906
2907 * ospf_lsa.h, ospf_asbr.h (external_info): Struct moved from
2908 ospf_lsa.h to ospf_asbr.h.
2909
2910 * ospf_lsa.c, ospf_asbr.c (ospf_external_info_add),
2911 (ospf_external_info_delete): Function moved from ospf_lsa.c
2912 to ospf_asbr.c.
2913
29142000-06-03 Toshiaki Takada <takada@zebra.org>
2915
2916 * ospf_flood.c (ospf_external_info_check): New function added.
2917 (ospf_process_self_orignated_lsa): Make sure to flush
2918 self-originated AS-external-LSA, when router reboot and no longer
2919 originate those AS-external-LSA.
2920
29212000-06-02 Toshiaki Takada <takada@zebra.org>
2922
2923 * ospf_network.c (ospf_serv_sock): Remove SO_DONTROUTE
2924 socket option.
2925
2926 * ospf_packet.c (ospf_write): Set MSG_DONTROUTE flag for
2927 unicast destination packets.
2928
29292000-06-02 Toshiaki Takada <takada@zebra.org>
2930
2931 * ospf_lsdb.c (new_lsdb_delete): Delete entry from LSDB only when
2932 specified LSA matches.
2933
29342000-06-02 Gleb Natapov <gleb@nbase.co.il>
2935
2936 * ospf_network.c (ospf_serv_sock): Set SO_DONTROUTE
2937 socket option.
2938
29392000-06-01 Akihiro Mizutani <mizutani@dml.com>
2940
2941 * ospf_dump.c: Replace string `Debugging functions\n' with DEBUG_STR.
2942 Replace string `OSPF information\n' with OSPF_STR.
2943
29442000-06-01 Toshiaki Takada <takada@zebra.org>
2945
2946 * ospf_lsdb.[ch]: Use new_lsdb struct for network-LSA instead of
2947 ospf_lsdb.
2948
29492000-06-01 Toshiaki Takada <takada@zebra.org>
2950
2951 * ospf_dump.c (config_debug_ospf_packet), (config_debug_ospf_event),
2952 (config_debug_ospf_ism), (config_debug_ospf_nsm),
2953 (config_debug_ospf_lsa), (config_debug_ospf_zebra),
2954 (term_debug_ospf_packet), (term_debug_ospf_event),
2955 (term_debug_ospf_ism), (term_debug_ospf_nsm),
2956 (term_debug_ospf_lsa), (term_debug_ospf_zebra): Repalce debug_ospf_*
2957 variable to use for debug option flags.
2958
2959 (debug_ospf_packet), (debug_ospf_ism), (debug_ospf_nsm),
2960 (debug_ospf_lsa), (debug_ospf_zebra): Set {config,term}_debug_*
2961 flags when vty->node is CONFIG_NODE, otherwise set only term_debug_*
2962 flags.
2963
2964 * ospf_dump.h (CONF_DEBUG_PACKET_ON), (CONF_DEBUG_PACKET_OFF),
2965 (TERM_DEBUG_PACKET_ON), (TERM_DEBUG_PACKET_OFF),
2966 (CONF_DEBUG_ON), (CONF_DEBUG_OFF), (IS_CONF_DEBUG_OSPF_PACKET),
2967 (IS_CONF_DEBUG_OSPF): New Macro added.
2968
29692000-05-31 Toshiaki Takada <takada@zebra.org>
2970
2971 * ospfd.c (clear_ip_ospf_neighbor): New DEFUN added.
2972 Currently this command is used for only debugging.
2973
2974 * ospf_nsm.c (nsm_change_status): Make sure thread cancellation
2975 for network-LSA when DR has no full neighbors.
2976
2977 * ospf_nsm.c (ospf_db_summary_clear): New function added.
2978
29792000-05-30 Toshiaki Takada <takada@zebra.org>
2980
2981 * ospf_lsdb.c (new_lsdb_insert): LSAs are always freed by
2982 maxage_lsa_remover when LSA is replaced.
2983
29842000-05-25 Gleb Natapov <gleb@nbase.co.il>
2985
2986 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all): Add argument
2987 `struct ospf_area' to remove LSA from Link State retransmission list
2988 of neighbor from only one Area.
2989
29902000-05-24 Michael Rozhavsky <mike@nbase.co.il>
2991
2992 * ospf_lsdb.c (ospf_lsdb_add): Preserve flags field when
2993 overriting old LSA with new LSA.
2994
29952000-05-24 Gleb Natapov <gleb@nbase.co.il>
2996
2997 * ospf_lsa.c (ospf_router_lsa_body_set): Fix bug of router-LSA
2998 size calculation.
2999
30002000-05-22 Michael Rozhavsky <mike@nbase.co.il>
3001
3002 * ospf_route.c (ospf_intra_add_stub):
3003 * ospf_spf.h (struct vertex): Use u_int32_t for distance (cost)
3004 value instead of u_int16_t.
3005
30062000-05-22 Axel Gerlach <agerlach@datus.datus.com>
3007
3008 * ospf_ia.c (ospf_ia_network_route): Fix bug of Inter-area route
3009 equal cost path calculation.
3010
30112000-05-21 Toshiaki Takada <takada@zebra.org>
3012
3013 * ospf_ase.c (ospf_ase_calculate_route_delete): New function added.
3014 Make sure, when rotuer route is deleted, related external routes
3015 are also deleted.
3016
30172000-05-20 Toshiaki Takada <takada@zebra.org>
3018
3019 * ospfd.c (ospf_interface_down): Make sure interface flag is disable
3020 and set fd to -1.
3021
30222000-05-16 Toshiaki Takada <takada@zebra.org>
3023
3024 * ospf_asbr.c (ospf_asbr_should_announce), (ospf_asbr_route_remove):
3025 Functions removed.
3026
3027 * ospfd.h (EXTERNAL_INFO): Macro added.
3028 Substitute `ospf_top->external_info[type]' with it.
3029
30302000-05-16 Toshiaki Takada <takada@zebra.org>
3031
3032 * ospf_lsa.c (ospf_rtrs_external_remove): New function added.
3033
30342000-05-14 Gleb Natapov <gleb@nbase.co.il>
3035
3036 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all)
3037 * ospf_lsdb.c (new_lsdb_insert)
3038 * ospf_packet.c (ospf_ls_ack): Fix database synchonization problem.
3039
30402000-05-14 Gleb Natapov <gleb@nbase.co.il>
3041
3042 * ospf_lsa.h (tv_adjust), (tv_ceil), (tv_floor), (int2tv),
3043 (tv_add), (tv_sub), (tv_cmp): Prototype definition added.
3044
3045 * ospf_nsm.h (ospf_db_summary_delete_all): Prototype definition added.
3046
30472000-05-13 Toshiaki Takada <takada@zebra.org>
3048
3049 * ospf_lsa.[ch] (ospf_lsa): struct timestamp type is changed from
3050 time_t to struct timeval.
3051 (tv_adjust), (tv_ceil), (tv_floor), (int2tv), (tv_add),
3052 (tv_sub), (tv_cmp): timeval utillity functions added.
3053
30542000-05-12 Toshiaki Takada <takada@zebra.org>
3055
3056 * ospf_lsa.[ch] (ospf_schedule_update_router_lsas): Delete function.
3057 Change to use macro OSPF_LSA_UPDATE_TIMER instead of using
3058 this function.
3059 router-LSA refresh timer related stuff is re-organized.
3060
30612000-05-10 Gleb Natapov <gleb@nbase.co.il>
3062
3063 * ospf_interface.c (ospf_vl_set_params):
3064 * ospf_packet.c (ospf_check_network_mask):
3065 * ospf_spf.[ch] (ospf_spf_next):
3066 Remove field address from `struct vertex', and search for peer
3067 address of virtual link in function `ospf_vl_set_params' instead.
3068
30692000-05-10 Gleb Natapov <gleb@nbase.co.il>
3070
3071 * ospf_packet.c (ospf_ls_upd): Fix some memory leak related LSA.
3072
30732000-05-08 Thomas Molkenbur <tmo@datus.com>
3074
3075 * ospf_packet.c (ospf_packet_dup): Replace ospf_steram_copy()
3076 with ospf_stream_dup() to fix memory leak.
3077
30782000-05-08 Michael Rozhavsky <mike@nbase.co.il>
3079
3080 * ospf_flood.c (ospf_flood_through_area): Fix the problem of
3081 LSA update without DROther.
3082
30832000-05-04 Gleb Natapov <gleb@nbase.co.il>
3084
3085 * ospf_spf.c (ospf_vertex_free): Fix memory leak of SPF calculation.
3086
30872000-05-03 Toshiaki Takada <takada@zebra.org>
3088
3089 * ospf_neighbor.c (ospf_db_summary_add): Use new_lsdb struct
3090 instead linked-list.
3091 (ospf_db_summary_count), (ospf_db_summary_isempty):
3092 New function added.
3093
3094 * ospf_lsa.c (ospf_rotuer_lsa): Re-arrange and divide functions.
3095
30962000-05-02 Gleb Natapov <gleb@nbase.co.il>
3097
3098 * ospf_lsdb.c (new_lsdb_cleanup): Fix memory leak. When LSDB are
3099 not needed any more, then free them.
3100
31012000-05-02 Toshiaki Takada <takada@zebra.org>
3102
3103 * ospfd.c (timers_spf), (no_timers_spf): New defun added.
3104 SPF calculation timers related stuff is rearranged.
3105
3106 * ospf_spf.c (ospf_spf_calculate_timer_add): Function removed.
3107 SPF timer is scheduled by SPF calculation delay and holdtime
3108 configuration variable.
3109
3110 * ospf_lsa.c (ospf_external_lsa_nexthop_get): Set AS-external-LSA's
3111 forwarding address when nexthop learned by other protocols is
3112 in the OSPF domain.
3113
3114 * ospf_zebra.c (ospf_redistribute_source_metric_type),
3115 (ospf_redistribute_source_type_metric): Re-arrange DEFUNs and
3116 ALIASes.
3117
31182000-05-01 Toshiaki Takada <takada@zebra.org>
3119
3120 * ospf_flood.c (ospf_ls_retransmit_count),
3121 (ospf_ls_retransmit_isempty): New function added.
3122
3123 (ospf_ls_retransmit_add), (ospf_ls_retransmit_delete),
3124 (ospf_ls_retransmit_clear), (ospf_ls_retransmit_lookup),
3125 (ospf_ls_retransmit_delete_all), (ospf_ls_retransmit_delete_nbr_all),
3126 (ospf_ls_retransmit_add_nbr_all): Replace these functions to use
3127 new_lsdb.
3128
31292000-04-29 Toshiaki Takada <takada@zebra.org>
3130
3131 * ospfd.c (no_network_area): Add check Area-ID whether specified
3132 Area-ID with prefix matches config.
3133
31342000-04-27 Toshiaki Takada <takada@zebra.org>
3135
3136 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix problem of
3137 remaining withdrawn routes on zebra.
3138
31392000-04-25 Michael Rozhavsky <mike@nbase.co.il>
3140
3141 * ospf_nsm.c (nsm_kill_nbr), (nsm_ll_down), (nsm_change_status),
3142 (ospf_nsm_event): Fix network-LSA re-origination problem.
3143
31442000-04-24 Toshiaki Takada <takada@zebra.org>
3145
3146 * ospf_nsm.c (ospf_db_desc_timer): Fix bug of segmentation fault
3147 with DD retransmission.
3148
3149 * ospf_nsm.c (nsm_kill_nbr): Fix bug of re-origination when
3150 a neighbor disappears.
3151
31522000-04-23 Michael Rozhavsky <mike@nbase.co.il>
3153
3154 * ospf_abr.c (ospf_abr_announce_network_to_area): Fix bug of
3155 summary-LSAs reorigination. Correctly copy OSPF_LSA_APPROVED
3156 flag to new LSA. when summary-LSA is reoriginatd.
3157
3158 * ospf_flood.c (ospf_flood_through_area): Fix bug of flooding
3159 procedure. Change the condition of interface selection.
3160
31612000-04-21 Toshiaki Takada <takada@zebra.org>
3162
3163 * ospf_lsa.c (ospf_refresher_register_lsa): Fix bug of refresh never
3164 occurs.
3165
3166 * ospfd.c (show_ip_ospf_neighbor_id): New defun added.
3167 `show ip ospf neighbor' related commands are re-arranged.
3168
31692000-04-20 Toshiaki Takada <takada@zebra.org>
3170
3171 * ospf_dump.c (debug_ospf_zebra): New defun added.
3172 Suppress zebra related debug information.
3173
31742000-04-19 Toshiaki Takada <takada@zebra.org>
3175
3176 * ospf_zebra.c (ospf_distribute_list_update_timer),
3177 (ospf_distribute_list_update), (ospf_filter_update):
3178 New function added. Re-organize `distribute-list' router ospf
3179 command.
3180
31812000-04-13 Michael Rozhavsky <mike@nbase.co.il>
3182
3183 * ospf_packet.c (ospf_make_ls_upd): Add check for MAX_AGE.
3184
31852000-04-14 Michael Rozhavsky <mike@nbase.co.il>
3186
3187 * ospf_packet.c (ospf_make_ls_upd): Increment LS age by configured
3188 interface transmit_delay.
3189
31902000-04-14 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3191
3192 * ospf_interface.c (ip_ospf_cost), (no_ip_ospf_cost):
3193 Add to schedule router_lsa origination when the interface cost changes.
3194
31952000-04-12 Toshiaki Takada <takada@zebra.org>
3196
3197 * ospf_lsa.c (ospf_refresher_register_lsa),
3198 (ospf_refresher_unregister_lsa): Fix bug of core dumped.
3199
3200 * ospfd.c (no_router_ospf): Fix bug of core dumped.
3201
32022000-03-29 Toshiaki Takada <takada@zebra.org>
3203
3204 * ospf_nsm.c (nsm_oneway_received): Fix bug of MS flag unset.
3205
32062000-03-29 Michael Rozhavsky <mike@nbase.co.il>
3207
3208 * ospf_lsa.c (ospf_network_lsa):
3209 * ospf_nsm.c (ospf_nsm_event): Fix bug of Network-LSA originated
3210 in stub network.
3211
32122000-03-28 Toshiaki Takada <takada@zebra.org>
3213
3214 * ospf_nsm.c (nsm_bad_ls_req), (nsm_seq_number_mismatch),
3215 (nsm_oneway_received): Fix bug of NSM state flapping between
3216 ExStart and Exchange.
3217
32182000-03-28 Toshiaki Takada <takada@zebra.org>
3219
3220 * ospf_packet.h (strcut ospf_header): Fix the size of ospf_header,
3221 change u_int8_t to u_char.
3222
32232000-03-27 Toshiaki Takada <takada@zebra.org>
3224
3225 * ospf_lsa.c (ospf_lsa_checksum): Take care of BIGENDIAN architecture.
3226
32272000-03-27 Toshiaki Takada <takada@zebra.org>
3228
3229 * ospfd.c (ospf_interface_run): Make sure Address family matches.
3230
32312000-03-26 Love <lha@s3.kth.se>
3232
3233 * ospf_packet.c (ospf_write): Chack result of sendto().
3234
32352000-03-26 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3236
3237 * ospf_nsm.c (nsm_oneway_received): Fix bug of 1-WayReceived in NSM.
3238
32392000-03-23 Libor Pechacek <farco@clnet.cz>
3240
3241 * ospf_lsa.c (ospf_network_lsa)
3242 * ospf_lsdb.c (new_lsdb_insert): Fix bug of accessing to
3243 unallocated memory.
3244
32452000-03-23 Toshiaki Takada <takada@zebra.org>
3246
3247 * ospfd.c (ospf_config_write): Fix bug of duplicate line for
3248 `area A.B.C.D authentication'.
3249
32502000-03-22 Toshiaki Takada <takada@zebra.org>
3251
3252 * ospf_debug.c (debug_ospf_lsa), (no_debug_ospf_lsa): Defun added.
3253 Suppress all zlog related to LSAs with this config option.
3254
32552000-03-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3256
3257 * ospf_nsm.c (ospf_nsm_event): Add check for NSM_InactivityTimer.
3258
32592000-03-21 Toshiaki Takada <takada@zebra.org>
3260
3261 * ospf_packet.c (ospf_ls_upd_timer), (ospf_ls_req):
3262 Fix bug of memory leak about linklist.
3263
3264 * ospf_flood.c (ospf_flood_through_area): Likewise.
3265
32662000-03-18 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3267
3268 * ospf_flood.c (ospf_ls_retransmit_lookup): Add checksum comparison
3269 to identify LSA uniquely. This fix routes lost.
3270
32712000-03-18 Toshiaki Takada <takada@zebra.org>
3272
3273 * ospf_ase.c (ospf_find_asbr_route): Add sanity check with router
3274 routing table.
3275
32762000-03-17 Alex Zinin <zinin@amt.ru>
3277
3278 * ospf_spf.[ch]: Bug fix.
3279 The 2nd stage of Dijkstra could consider one vertex
3280 more than once if there is more than one link
3281 between the routers, thus adding extra CPU overhead
3282 and extra next-hops.
3283 Fixed.
3284
32852000-03-15 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3286
3287 * ospf_nsm.c (nsm_inactivity_timer): Changed to call nsm_kill_nbr().
3288
32892000-03-14 Toshiaki Takada <takada@zebra.org>
3290
3291 * ospf_route.c (ospf_route_copy_nexthops): Fix bug of memory leak of
3292 ospf_path. Actually ignore merging ospf_route with completely same
3293 paths.
3294
32952000-03-12 Toshiaki Takada <takada@zebra.org>
3296
3297 * ospf_lsa.c (show_as_external_lsa_detail): fix bug of
3298 external route tag byte order.
3299
33002000-03-11 Toshiaki Takada <takada@zebra.org>
3301
3302 * ospf_lsdb.c (ospf_lsdb_insert): New function added.
3303
33042000-03-09 Toshiaki Takada <takada@zebra.org>
3305
3306 * ospf_lsa.c (ospf_external_lsa_install),
3307 (ospf_lsa_lookup), (show_ip_ospf_database_all),
3308 (show_ip_ospf_database_self_originate): Use struct new_lsdb for
3309 LSDB of AS-external-LSAs instead of ospf_lsdb.
3310
3311 * ospf_lsa.c (ospf_lsa_unique_id): New function added.
3312 Use for assigning Unique Link State ID instead of
3313 ospf_get_free_id_for_prefix().
3314
33152000-03-09 Toshiaki Takada <takada@zebra.org>
3316
3317 * ospf_ase.c (ospf_ase_calculate_timer): Fix bug of segmentation
3318 fault reported by George Bonser <george@siteROCK.com>.
3319
33202000-03-07 Libor Pechacek <farco@clnet.cz>
3321
3322 * ospfd.c (ospf_interface_down): Fix bug of segmentation fault.
3323
33242000-03-06 Toshiaki Takada <takada@zebra.org>
3325
3326 * ospf_route.c (ospf_route_cmp): Change meaning of return values.
3327
33282000-03-02 Alex Zinin <zinin@amt.ru>
3329 * ospfd.h, ospf_ia.h
3330 New Shortcut ABR code. Now area's flag can be configured
3331 with Default, Enable, and Disable values.
3332 More info will be in the new ver of I-D soon (see IETF web).
3333
33342000-02-25 Toshiaki Takada <takada@zebra.org>
3335
3336 * ospf_lsa.c (ospf_lsa_header_set), (ospf_external_lsa_body_set),
3337 (osfp_external_lsa_originate), (ospf_external_lsa_queue),
3338 (ospf_external_lsa_originate_from_queue): New function added.
3339 (ospf_external_lsa): Function removed.
3340
3341 * ospf_zebra.c (ospf_zebra_read_ipv4): Originate AS-external-LSA
3342 when listen a route from Zebra, instead creating external route.
3343
3344 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
3345 (ospf_asbr_route_add_queue_lsa),
3346 (ospf_asbr_route_install_lsa), (ospf_asbr_route_add):
3347 Functions removed.
3348
3349 * ospf_ase.c (process_ase_lsa): Function will not be used.
3350 (ospf_ase_calculate), (ospf_ase_calculate_route_add),
3351 (ospf_ase_calculate_new_route), (ospf_ase_caluculate_asbr_route):
3352 process_ase_lsa () is separated to these functions.
3353
3354 OSPF AS-external-LSA origination is whole re-organized.
3355
33562000-02-18 Toshiaki Takada <takada@zebra.org>
3357
3358 * ospf_packet.c (ospf_ls_upd): Fix bug of OSPF LSA memory leak.
3359
3360 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
3361 (ospf_asbr_route_add_queue_lsa): Fix bug of OSPF external route
3362 memory leak.
3363
33642000-02-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3365
3366 * ospf_asbr.c (ospf_asbr_route_install_lsa): Re-calculate LSA
3367 checksum after change Advertised Router field.
3368
33692000-02-09 Toshiaki Takada <takada@zebra.org>
3370
3371 * ospf_asbr.c (ospf_external_route_lookup): Add new function.
3372
33732000-02-08 Toshiaki Takada <takada@zebra.org>
3374
3375 * ospfd.c (ospf_router_id_get), (ospf_router_id_update),
3376 (ospf_router_id_update_timer): Router ID decision algorithm is changed.
3377 Router ID is chosen from all of eligible interface addresses even if
3378 it is not enable to OSPF.
3379
33802000-02-08 Toshiaki Takada <takada@zebra.org>
3381
3382 * ospf_asbr.c (ospf_asbr_route_add): Function divided to
3383 ospf_asbr_route_add_flood_lsa, ospf_asbr_route_add_queue_lsa and
3384 ospf_asbr_route_install_lsa. If Router-ID is not set, then LSA is
3385 waited to install to LSDB.
3386 `0.0.0.0 adv_router' AS-external-LSA origination bug was fixed.
3387
33882000-02-01 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3389
3390 * ospf_flood.c (ospf_ls_retransmit_lookup): Compare LS seqnum
3391 in the ACK before deleting.
3392
3393 * ospf_packet.c (ospf_hello): Reset the flags after a shutdown
3394 and no shutdown of the interface.
3395
33962000-01-31 Toshiaki Takada <takada@zebra.org>
3397
3398 * ospf_packet.c (ospf_ls_req): Send multiple Link State Update
3399 packets respond to a Link State Request packet.
3400
3401 * ospfd.c (show_ip_ospf_neighbor_detail_sub): Show thread state.
3402
3403 * ospf_interface.c (ospf_vl_new): Crash when backbone area
3404 is not configured and set virtual-link to no-backbone area,
3405 bug fixed.
3406
34072000-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3408
3409 * ospf_neighbor.h (struct ospf_neighbor): Add pointer to last send
3410 LS Request LSA.
3411
3412 * ospf_packet.c (ospf_ls_upd): Comment out LS request list
3413 treatment. That should be done in OSPF flooding procedure.
3414
3415 * ospf_flood.c (ospf_flood_through_area): Enclose
3416 ospf_check_nbr_loding inside if-else close.
3417
34182000-01-31 Toshiaki Takada <takada@zebra.org>
3419
3420 * ospf_packet.c (ospf_make_ls_upd): Fix bug of #LSAs counting.
3421
34222000-01-29 Toshiaki Takada <takada@zebra.org>
3423
3424 * ospf_packet.c (ospf_make_md5_digest): Fix bug of md5 authentication.
3425
34262000-01-28 Toshiaki Takada <takada@zebra.org>
3427
3428 * ospfd.c (show_ip_ospf): Show Number of ASE-LSAs.
3429
34302000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3431
3432 * ospf_packet.c (ospf_make_db_desc): Don't use rm_list for
3433 removing LSA from nbr->db_summary.
3434
34352000-01-27 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3436
3437 * ospf_packet.c (ospf_ls_upd_send): Set AllSPFRouters to
3438 destination when the link is point-to-point.
3439 (ospf_ls_ack_send_delayed): Likewise.
3440
34412000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3442
3443 * ospf_flood.c (ospf_ls_request_delete_all): Fix bug of next
3444 pointer lookup after the node is freed.
3445
34462000-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3447
3448 * ospf_asbr.c (ospf_asbr_route_add): Instead of scanning all AS
3449 external route, use ospf_top->external_self.
3450
34512000-01-27 Toshiaki Takada <takada@zebra.org>
3452
3453 * ospf_lsa.c (ospf_forward_address_get): New function added.
3454
3455 * ospf_asbr.c (ospf_asbr_check_lsas): Originate AS-external-LSA
3456 only when it should be replaced.
3457
34582000-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3459
3460 * ospf_flood.c (ospf_ls_retransmit_clear): Delete list node.
3461
3462 * ospf_lsa.c (ospf_lsa_free): Reduce logging message using
3463 ospf_zlog value.
3464
3465 * ospf_ism.c (ism_change_status): Fix bug of DR -> non DR status
3466 change. Self originated LSA is freed but not deleted from lsdb.
3467
34682000-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3469
3470 * ospf_ism.c (ism_interface_down): Don't use router_id for
3471 detecting self neighbor structure. Instead of that compare
3472 pointer itself.
3473
3474 * ospf_neighbor.c (ospf_nbr_free): Cancel all timer when neighbor
3475 is deleted.
3476 (ospf_nbr_free): Free last send packet.
3477
3478 * ospf_neighbor.h (struct ospf_neighbor): Remove host strucutre.
3479 Instead of that src is introduced.
3480
3481 * ospf_nsm.h: Enclose macro defenition with do {} while (0).
3482
34832000-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3484
3485 * ospfd.c: Change part of passive interface implementation. For
3486 passive interface just disabling sending/receiving Hello on the
3487 interface.
3488
34892000-01-16 Kai Bankett <kai.bankett@vew-telnet.net>
3490
3491 * ospf_interface.h (OSPF_IF_PASSIVE): Add passive flag.
3492 * ospf_interface.c (ospf_if_lookup_by_name): Add new function.
3493 * ospf_lsa.c (ospf_router_lsa): Skip passive interface.
3494 * ospfd.c (passive_interface): New command passive-interface is
3495 added.
3496 (ospf_config_write): Print passive interface.
3497
34982000-01-15 Toshiaki Takada <takada@zebra.org>
3499
3500 * ospf_interface.h (crypt_key): New struct added to store
3501 multiple cryptographic autheitication keys.
3502 (ospf_interface): struct changed.
3503
3504 * ospf_interface.c: ospf_crypt_key_new, ospf_crypt_key_add,
3505 ospf_crypt_key_lookup, ospf_crypt_key_delete: new functions added.
3506
3507 * ospf_packet.c (ip_ospf_message_digest_key): Changed to store
3508 multiple cryptographic authentication keys.
3509
35102000-01-14 Toshiaki Takada <takada@zebra.org>
3511
3512 * ospf_interface.c: DEFUN (if_ospf_*) commands changed name to
3513 ip_ospf_* ().
3514 Old notation `ospf *' still remains backward compatibility.
3515
35161999-12-29 Alex Zinin <zinin@amt.ru>
3517 * ospf_lsa.c: ospf_lsa_more_recent() bug fix
3518 * ospf_nsm.c, ospf_packet.c: remove nbr data struct when
3519 int goes down, also check DD flags correctly (bug fix)
3520
35211999-12-28 Alex Zinin <zinin@amt.ru>
3522 * "redistribute <source> metric-type (1|2) metric <XXX>" added
3523
35241999-12-23 Alex Zinin <zinin@amt.ru>
3525 * added RFC1583Compatibility flag
3526 * added dynamic interface up/down functionality
3527
35281999-11-19 Toshiaki Takada <takada@zebra.org>
3529
3530 * ospf_neighbor.h (struct ospf_neighbor): Add member state_change
3531 for NSM state change statistics.
3532
35331999-11-19 Toshiaki Takada <takada@zebra.org>
3534
3535 * ospfd.c (show_ip_ospf_neighbor_detail),
3536 (show_ip_ospf_neighbor_int_detail): DEFUN Added.
3537
35381999-11-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3539
3540 * ospf_asbr.c (ospf_asbr_check_lsas): Add check of
3541 lsa->refresh_list.
3542
35431999-11-11 Toshiaki Takada <takada@zebra.org>
3544
3545 * ospf_ia.[ch] (OSPF_EXAMINE_SUMMARIES_ALL): Macro added.
3546 This macro is expanded to ospf_examine_summaries ()
3547 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3548 (OSPF_EXAMINE_TRANSIT_SUMMARIES_ALL): Macro added.
3549 This macro is expanded to ospf_examine_transit_summaries ()
3550 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3551
35521999-11-11 Toshiaki Takada <takada@zebra.org>
3553
3554 * ospf_lsa.[ch] (ospf_find_self_summary_lsa_by_prefix): Changed to
3555 macro OSPF_SUMMARY_LSA_SELF_FIND_BY_PREFIX.
3556 (ospf_find_self_summary_asbr_lsa_by_prefix): Changed to
3557 macro OSPF_SUMMARY_ASBR_LSA_SELF_FIND_BY_PREFIX.
3558 (ospf_find_self_external_lsa_by_prefix): Changed to
3559 macro OSPF_EXTERNAL_LSA_SELF_FIND_BY_PREFIX.
3560
35611999-11-11 Toshiaki Takada <takada@zebra.org>
3562
3563 * ospfd.c (ospf_abr_type): ospf_abr_type_cisco, ospf_abr_type_ibm,
3564 ospf_abr_type_shortcut and ospf_abr_type_standard DEFUNs are
3565 combined.
3566 * ospfd.c (no_ospf_abr_type): no_ospf_abr_type_cisco,
3567 no_ospf_abr_type_ibm and no_ospf_abr_type_shortcut DEFUNS are
3568 combined.
3569
35701999-11-10 Toshiaki Takada <takada@zebra.org>
3571
3572 * ospf_route.c (ospf_lookup_int_by_prefix): Move function to
3573 ospf_interface.c and change name to ospf_if_lookup_by_prefix ().
3574
35751999-11-01 Alex Zinin <zinin@amt.ru>
3576 * ospf_packet.c
3577 some correction to LSU processing
3578
3579 * ospf_lsa.c ospfd.h
3580 randomize initial LSA refreshment interval
3581 and limit the size of LSA-group to 10
3582 to let randomization work more effectively.
3583
35841999-10-31 Alex Zinin <zinin@amt.ru>
3585 * ospf_interface.c
3586 cancel t_network_lsa_self
3587 when freeing int structure
3588
3589 * ospf_abr.c ospf_asbr.c ospf_flood.c ospf_lsa.c
3590 ospf_lsa.h ospf_lsdb.h ospfd.c ospfd.h
3591
3592 Summary and ASE LSA refreshment functions
3593 added---LSA refreshment is paced to 70 LSAs
3594 per sec to avoid link overflow. Refreshment events
3595 are further randomized within a 10 sec interval
3596 to avoid syncing.
3597
3598 Also the sigfault of memcmp() in ospf_lsa_is_different()
3599 is fixed.
3600
36011999-10-30 Alex Zinin <zinin@amt.ru>
3602 * ospf_nsm.c
3603 Fix the bug where MAX_AGE LSAs
3604 are included into the DB summary.
3605
3606 * ospf_interface.c
3607 allocate 2*MTU input buffer instead of just MTU
3608 for the cases when the other router mistakenly
3609 sends larger packets thus causing fragmentation, etc.
3610
3611 * ospf_nsm.c
3612 in nsm_reset_nbr() lists should be freed
3613 not when they are empty.
3614
36151999-10-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3616
3617 * ospf_zebra.c (ospf_acl_hook): Move OSPF_IS_ASBR and OSPF_IS_ABR
3618 check inside of if (ospf_top).
3619
36201999-10-29 Alex Zinin <zinin@amt.ru>
3621 * ospf_lsa.c ospf_lsdb.c :
3622 add assertion in lsa and lsa->data alloc functions,
3623 as well as in lsdb_add for new->data
3624
3625 * ospf_lsdb.c: free hash table correctly
3626
36271999-10-28 John Capo <jc@irbs.com>
3628
3629 * ospf_packet.h (OSPF_PACKET_MAX): Correct MAX packet length
3630 calculation
3631
36321999-10-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3633
3634 * OSPF-TRAP-MIB.txt: New file added. Edited version of RFC1850.
3635
3636 * OSPF-MIB.txt: New file added. Edited version of RFC1850.
3637
36381999-10-27 Alex Zinin <zinin@amt.ru>
3639 * ospfd, ospf_zebra, ospf_abr
3640 "area import-list" command is added.
3641 This command allows to filter the inter-area routes
3642 injected into an area. Access list hook function
3643 extended to invalidate area exp/imp lists.
3644
36451999-10-25 Yoshinobu Inoue <shin@nd.net.fujitsu.co.jp>
3646
3647 * ospfd.c (ospf_interface_run): Enable to detect P2P network
3648 on an OSPF interface.
3649
36501999-10-19 Jordan Mendelson <jordy@wserv.com>
3651
3652 * ospf_lsdb.c (ospf_lsdb_add): Fix bug of crash
3653 in ospf_ls_retransmit_lookup ().
3654
36551999-10-19 Vladimir B. Grebenschikov <vova@express.ru>
3656
3657 * ospf_route.c: Workaround about installation of OSPF routes into
3658 the zebra daemon. Add checking of existance routes. Free
3659 ospf_top->old_table if it exists.
3660
36611999-10-15 Jordan Mendelson <jordy@wserv.com>
3662
3663 * Add support for MD5 authentication.
3664
36651999-10-12 Alex Zinin <zinin@amt.ru>
3666 * ospfd.c, ospfd.h, ospf_abr.c:
3667 a new command "area export-list" was added, it allows
3668 the admin. to control which intra-area routes are
3669 announced to other areas by the ABR
3670
36711999-10-12 Alex Zinin <zinin@amt.ru>
3672 * ospf_asbr.c (ospf_asbr_check_lsas): Fix bug of coredump
3673 when "no redistribute" is used after a distribute list
3674 denying some networks was used
3675
36761999-10-05 Toshiaki Takada <takada@zebra.org>
3677
3678 * ospf_route.c (ospf_path_dup): New function added.
3679
36801999-10-05 Toshiaki Takada <takada@zebra.org>
3681
3682 * ospf_interface.[ch]: Some of VL related funciton name changed.
3683
36841999-09-27 Alex Zinin <zinin@amt.ru>
3685
3686 * ospf_zebra.c: Distribute-list functionality added
3687
36881999-09-27 Toshiaki Takada <takada@zebra.org>
3689
3690 * ospfd.c (show_ip_ospf): Fix bug of segmentation fault when no ospf
3691 instance exists.
3692
36931999-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3694
3695 * ospfd.c (ospf_interface_down): Fix bug of misusing nextnode()
3696 instead of node->next. Reported by Hiroki Ishibashi
3697 <ishibasi@dcd.abk.nec.co.jp>.
3698
3699 * ospf_route.c (show_ip_ospf_route): Add check for ospf is enabled
3700 or not.
3701
37021999-09-23 Alex Zinin <zinin@amt.ru>
3703
3704 * stub area support added
3705
37061999-09-23 Alex Zinin <zinin@amt.ru>
3707
3708 * fwd_addr in ASE-LSAs is now set correctly
3709 * ASE routing changed to check the fwd_addr
3710 and skip the route if the addr points to one
3711 of our interfaces to avoid loops.
3712
37131999-09-22 Alex Zinin <zinin@amt.ru>
3714
3715 * ospf_interface:
3716 ospf_vls_in_area() added, it returns
3717 the number of VLs configured through the area
3718
3719 * ospf_interface.c ospf_lsa.c ospf_lsdb.c ospfd.c
3720 honor correct mem alloc
3721
37221999-09-22 Alex Zinin <zinin@amt.ru>
3723
3724 * memory.[ch]:
3725 Some OSPF mem types added,
3726 plus more info in "show mem"
3727
37281999-09-21 Alex Zinin <zinin@amt.ru>
3729
3730 * ospfd.c:
3731 "area range substitute" added.
3732 It can be used on NAT-enabled (IP-masquarade)
3733 routers to announce private networks
3734 from an area as public ones into the outside
3735 world (not in the RFC, btw :)
3736
37371999-09-21 Alex Zinin <zinin@amt.ru>
3738
3739 * ospfd.c:
3740 "area range suppress" added.
3741 This command allows to instruct the router
3742 to be silent about specific ranges, i.e.,
3743 it is a method of route filtering on area
3744 borders
3745
37461999-09-21 Alex Zinin <zinin@amt.ru>
3747
3748 * ospfd.c VLs removed when "no network area" executed
3749
37501999-09-20 Alex Zinin <zinin@amt.ru>
3751
3752 * ospf_ase.c bug fix for not-zero fwd_addr
3753 and directly connected routes.
3754
37551999-09-20 Yon Uriarte <yon@plannet.de>
3756
3757 * ospf_packet.c (ospf_make_ls_req): Introduce delta value for
3758 checking the length of OSPF packet exceeds MTU or not.
3759
3760 * ospf_lsa.c (ospf_lsa_different): Apply ntohs for checking
3761 l1->data->length.
3762
37631999-09-18 Alex Zinin <zinin@amt.ru>
3764
3765 * ospf_lsa.c bug fix for ospf_network_lsa() to
3766 include itself into the RID list
3767
37681999-09-10 Alex Zinin <zinin@amt.ru>
3769
3770 * Alternative ABR behaviors IBM/Cisco/Shortcut
3771 implemented
3772
37731999-09-10 Alex Zinin <zinin@amt.ru>
3774
3775 * router and network-LSA origination
3776 changed to honor MinLSInterval
3777
37781999-09-08 Alex Zinin <zinin@amt.ru>
3779
3780 * modified ABR behavior to honor VLs and transit
3781 areas
3782
37831999-09-07 Alex Zinin <zinin@amt.ru>
3784
3785 * completed VL functionality
3786
37871999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3788
3789 * ospf_asbr.c: New file.
3790 ospf_asbr.h: New file.
3791
3792 * ospf_zebra.c (ospf_redistribute_connected): Add redistribute
3793 related stuff.
3794
37951999-09-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3796
3797 * ospfd.h (OSPF_FLAG_VIRTUAL_LINK): Change OSPF_FLAG_VEND to
3798 OSPF_FLAG_VIRTUAL_LINK for comprehensiveness.
3799
38001999-09-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3801
3802 * ospf_spf.c (ospf_spf_register): Change name from
3803 ospf_spf_route_add() to ospf_spf_register().
3804 Include "ospfd/ospf_abr.h" for ospf_abr_task() prototype.
3805
38061999-09-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3807
3808 * ospf_lsa.c (ospf_external_lsa_install): Change to update
3809 lsa->data rather than install new one, when same id lsa is already
3810 installed.
3811
38121999-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3813
3814 * ospf_lsa.c (ospf_router_lsa_install): Return lsa value.
3815 (ospf_network_lsa_install): Likewise.
3816 (ospf_summary_lsa_install): Likewise.
3817 (ospf_summary_asbr_lsa_install): Likewise.
3818 (ospf_external_lsa_install): Likewise.
3819
3820 * ospf_spf.c (ospf_spf_calculate): Comment out debug function
3821 ospf_rtrs_print().
3822
38231999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3824
3825 * ospf_spf.c (ospf_rtrs_free): Add ospf_spf_calculate() for
3826 freeing rtrs.
3827
38281999-08-31 Toshiaki Takada <takada@zebra.org>
3829
3830 * ospf_lsa.c (show_ip_ospf_database_summary),
3831 (show_ip_ospf_database_summary_asbr),
3832 (show_ip_ospf_database_external): New function added.
3833 `show ip ospf database summary',
3834 `show ip ospf database asbr-summary'
3835 `show ip ospf database external' command can be used.
3836
3837 * ospf_lsa.c (ospf_lsa_count_table): New function added.
3838 (show_ip_ospf_database_all): show nothing if a type of LSA
3839 does not exist.
3840
38411999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3842
3843 * ospf_lsa.c (ospf_maxage_lsa_remover): Preserve next pointer when
3844 the node is deleted.
3845
38461999-08-31 Toshiaki Takada <takada@zebra.org>
3847
3848 * ospf_flood.c (ospf_ls_retransmit_lookup): change to return
3849 struct ospf_lsa *.
3850 (ospf_ls_request_new), (ospf_ls_request_free),
3851 (ospf_ls_request_add), (ospf_ls_request_delete),
3852 (ospf_ls_request_delete_all), (ospf_ls_request_lookup):
3853 New function added.
3854
3855 * ospf_packet.c (ospf_ls_upd_send_lsa): New function added.
3856
3857 * ospf_lsa.h (LS_AGE): Slightly change macro definition.
3858
3859 * ospf_lsa.c (ospf_lsa_more_recent), (ospf_lsa_diffrent):
3860 Use LS_AGE macro.
3861
38621999-08-30 Alex Zinin <zinin@amt.ru>
3863
3864 * ospfd.c
3865 fix a bug with area range config write
3866 added "show ip ospf" command, it will be enhanced later on
3867
38681999-08-30 Alex Zinin <zinin@amt.ru>
3869
3870 * ospf_lsa.c
3871 updated ospf_router_lsa() to honor flags (B-bit)
3872
38731999-08-30 Alex Zinin <zinin@amt.ru>
3874
3875 * ospf_abr.c
3876 wrote major functions implementing ABR activity
3877
38781999-08-30 Alex Zinin <zinin@amt.ru>
3879
3880 * ospf_ia.c ospf_route.c ospf_route.h
3881 fixed the bug with ospf_route.origin field.
3882 Now it holds pointer to lsa_header
3883
38841999-08-30 Alex Zinin <zinin@amt.ru>
3885
3886 * ospf_flood.c ospf_flood.h:
3887 transformed ospf_flood_if_select into ospf_flood_through_area()
3888 added new ospf_flood_if_select() and ospf_flood_through_as()
3889
38901999-08-30 Toshiaki Takada <takada@zebra.org>
3891
3892 * ospf_flood.[ch]: New file added.
3893
3894 * ospf_packet.c (ospf_lsa_flooding),
3895 (ospf_lsa_flooding_select_if): functions move to ospf_flood.c
3896
3897 * ospf_neighbor.c (ospf_put_lsa_on_retransm_list),
3898 (ospf_remove_lsa_from_retransm_list),
3899 (ospf_nbr_remove_all_lsas_from_retransm_list),
3900 (ospf_lsa_remove_from_ls_retransmit):
3901 (ospf_lsa_retransmit): functions move to
3902 ospf_flood.c, and change function's name:
3903
3904 ospf_put_lsa_on_retransm_list ()
3905 -> ospf_ls_retransmit_add ()
3906 ospf_remove_lsa_from_retransm_list ()
3907 -> ospf_ls_retransmit_delete ()
3908 ospf_nbr_remove_all_lsas_from_retransm_list ()
3909 -> ospf_ls_retransmit_clear ()
3910 ospf_lsa_remove_from_ls_retransmit ()
3911 -> ospf_ls_retransmit_delete_nbr_all ()
3912 ospf_lsa_retransmit ()
3913 -> ospf_ls_retransmit_add_nbr_all ()
3914
3915 * ospf_lsa.c (ospf_lsa_lookup_from_list): function move to
3916 ospf_flood.c, and change name to ospf_ls_retransmit_lookup ().
3917
39181999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3919
3920 * ospf_neighbor.c (ospf_nbr_lookup_by_addr): Use
3921 route_node_lookup() instead of route_node_get().
3922
3923 * ospf_packet.c (ospf_ls_upd): Temporary comment out (6) check.
3924
39251999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3926
3927 * ospf_route.c (ospf_lookup_int_by_prefix): Add check of
3928 oi->address.
3929
39301999-08-29 Alex Zinin <zinin@amt.ru>
3931 * ospf_lsa.c
3932 MaxAge LSA deletion functions added.
3933
39341999-08-29 Alex Zinin <zinin@amt.ru>
3935 * ospf_neighbor.c
3936 ospf_nbr_lookup_by_addr(): added route_unlock_node()
3937 when function returns NULL if (rn->info == NULL)
3938
39391999-08-29 Alex Zinin <zinin@amt.ru>
3940 * ospfd.c
3941 added a hack for area range deletion
3942
39431999-08-29 Alex Zinin <zinin@amt.ru>
3944 * ospf_lsa.h
3945 included lsdb field into struct ospf_lsa, to find
3946 LSDB easier when removing MaxAge LSAs.
3947
39481999-08-29 Alex Zinin <zinin@amt.ru>
3949 * ospf_lsa.c ospf_neighbor.c ospf_nsm.c
3950 ospf_packet.c changed to honor new retransmit list
3951 management functions
3952
39531999-08-29 Alex Zinin <zinin@amt.ru>
3954 * ospf_neighbor.c , .h added new retransmit list functions.
3955
39561999-08-29 Alex Zinin <zinin@amt.ru>
3957 * Makefile.in
3958 added ospf_ase, ospf_abr, ospf_ia
3959
39601999-08-29 Alex Zinin <zinin@amt.ru>
3961 * ospf_spf.c:
3962 - changed ospf_next_hop_calculation() to include interface
3963 and nexthop addr for directly connected routers---more informative
3964 and solves problem with route installation into the kernel
3965 - changed ospf_nexthop_out_if_addr() to support routers, not only
3966 transit networks
3967 - added ospf_process_stubs();
3968
39691999-08-29 Alex Zinin <zinin@amt.ru>
3970 * ospf_lsa.c:
3971 - changed ospf_router_lsa() to provide correct links
3972 for p-t-p interfaces;
3973 - changed ospf_summary_lsa_install() to support table
3974 of self-originated summary-LSAs;
3975 - added ospf_summary_asbr_lsa_install() and ospf_external_lsa_install()
3976 - changed ospf_lsa_install() accordingly
3977 - changed show_ip_ospf_database_router_links() to support p-t-p
3978
39791999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3980
3981 * ospf_packet.c (ospf_make_db_desc): Only master can clear more
3982 flag.
3983
39841999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3985
3986 * ospf_packet.c (ospf_read): Add check of IP src address.
3987
39881999-08-28 Alex Zinin <zinin@amt.ru>
3989 * ospf_neighbor.h
3990 added ospf_nbr_lookup_by_routerid()
3991
39921999-08-28 Alex Zinin <zinin@amt.ru>
3993 * ospfd.h
3994 added ABR/ASBR flag definitions and fields;
3995 added iflist field to area structure;
3996 summary_lsa_self and summary_lsa_asbr_self are changed
3997 to be route tables;
3998 added ranges field---configured area ranges;
3999 A separate Routers RT added;
4000 area range config commands and config write added
4001
4002
40031999-08-28 Alex Zinin <zinin@amt.ru>
4004 * ospf_route.c :
4005 ospf_route_free()--added code to free the list of paths;
4006 The following functions added:
4007 ospf_intra_add_router();
4008 ospf_intra_add_transit();
4009 ospf_intra_add_stub();
4010 the last function uses new ospf_int_lookup_by_prefix();
4011 show_ip_ospf_route_cmd()--changed to support new RT structure;
4012 added ospf_cmp_routes()--general route comparision function;
4013 added ospf_route_copy_nexthops() and ospf_route_copy_nexthops_from_vertex()
4014 they are used in ASE and IA routing;
4015 added ospf_subst_route() and ospf_add_route();
4016
40171999-08-28 Alex Zinin <zinin@amt.ru>
4018 * ospf_route.h :
4019 changed struct ospf_path to include output interface,
4020 changed struct ospf_route to support IA and ASE routing.
4021 added prototypes of the function used in IA and ASE modules.
4022
40231999-08-28 Alex Zinin <zinin@amt.ru>
4024 * ospf_lsa.h ospf_lsa.c :
4025 added ospf_my_lsa(), an interface independent version of
4026 ospf_lsa_is_self_originated(), it will be used in ASE and IA-routing.
4027
40281999-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4029
4030 * ospf_interface.c (interface_config_write): Add check for
4031 oi->nbr_self.
4032
40331999-08-25 Toshiaki Takada <takada@zebra.org>
4034
4035 * ospf_lsa.c (ospf_lsa_dup): New function added.
4036
4037 * ospf_packet.c (ospf_write), (ospf_read): Print send/recv
4038 interface in debug message.
4039
40401999-08-25 Toshiaki Takada <takada@zebra.org>
4041
4042 * ospf_packet.c (ospf_ls_ack_send): The name is changed from
4043 `ospf_ls_ack_send'.
4044 (ospf_ls_ack_send_delayed) (ospf_ls_ack_timer): New function added.
4045 Delayed Link State Acknowledgment is scheduled by timer.
4046
40471999-08-25 Alex Zinin <zinin@amt.ru>
4048
4049 * ospf_lsa.c (ospf_router_lsa): Incorrectly included link to
4050 a stub network instead of link to a transit network into
4051 originated router-LSA, bug fixed.
4052
40531999-08-24 Toshiaki Takada <takada@zebra.org>
4054
4055 * ospfd.c (ospf_update_router_id): New function added.
4056
4057 * ospf_network.c (ospf_write): Create new socket per transmission.
4058 And select outgoing interface whether dst is unicast or multicast.
4059
4060 * ospf_packet.c: LSA flooding will work.
4061
40621999-08-24 VOP <vop@unity.net>
4063
4064 * ospf_route.c: Include "sockunion.h"
4065
40661999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
4067
4068 * ospf_network.c (ospf_serv_sock_init): Enclose
4069 IPTOS_PREC_INTERNETCONTROL setting with #ifdef for OS which does
4070 not have the definition.
4071
40721999-08-23 Toshiaki Takada <takada@zebra.org>
4073
4074 * ospf_packet.c: Fix bug of DD processing.
4075
40761999-08-18 Toshiaki Takada <takada@zebra.org>
4077
4078 * ospf_lsa.c (show_ip_ospf_database): Show actual `LS age'.
4079
40801999-08-17 Toshiaki Takada <takada@zebra.org>
4081
4082 * ospf_lsa.h (OSPF_MAX_LSA): The value of OSPF_MAX_LSA is
4083 corrected. The bug of `mes_lookup' is fixed.
4084 This had been reported by Poul-Henning Kamp <phk@freebsd.org>.
4085
4086 * ospf_lsa.c (ospf_router_lsa_install): The name is changed from
4087 `ospf_add_router_lsa'.
4088 (ospf_network_lsa_install): The name is changed from
4089 `ospf_add_network_lsa'.
4090
4091 * ospf_interface.h (ospf_interface): Add member `nbr_self'.
4092
4093 * ospf_interface.c (ospf_if_is_enable): New function added.
4094
40951999-08-16 Toshiaki Takada <takada@zebra.org>
4096
4097 * ospf_lsa.h (struct lsa_header): The name is changed from
4098 `struct ospf_lsa'.
4099 (struct ospf_lsa): New struct added to control each LSA's aging
4100 and timers.
4101
4102 * ospf_lsa.c (ospf_lsa_data_free): The name is change from
4103 `ospf_lsa_free'.
4104 (ospf_lsa_data_new), (ospf_lsa_new), (ospf_lsa_free),
4105 (ospf_lsa_different), (ospf_lsa_install): New function added.
4106
4107 * ospf_packet.c (ospf_ls_upd_list_lsa): New function added.
4108
41091999-08-12 Toshiaki Takada <takada@zebra.org>
4110
4111 * ospf_nsm.c (nsm_reset_nbr): New function added.
4112 KillNbr and LLDown neighbor event call this function.
4113
41141999-08-10 Toshiaki Takada <takada@zebra.org>
4115
4116 * ospf_packet.c (ospf_ls_retransmit)
4117 (ospf_ls_upd_timer): New function added.
4118 Set retransmission timer for Link State Update.
4119
41201999-07-29 Toshiaki Takada <takada@zebra.org>
4121
4122 * ospf_ism.c (ospf_dr_election): Fix bug of DR election.
4123
41241999-07-28 Toshiaki Takada <takada@zebra.org>
4125
4126 * ospf_network.c (ospf_serv_sock_init): Set IP precedence field
4127 with IPTOS_PREC_INTERNET_CONTROL.
4128
4129 * ospf_nsm.c (nsm_change_status): Schedule NeighborChange event
4130 if NSM status change.
4131
4132 * ospf_packet.c (ospf_make_hello): Never include a neighbor in
4133 Hello packet, when the neighbor goes down.
4134
41351999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
4136
4137 * Makefile.am (noinst_HEADERS): Add ospf_route.h.
4138
4139 * ospf_route.c (show_ip_ospf_route): Add `show ip ospf route'
4140 command.
4141
41421999-07-25 Toshiaki Takada <takada@zebra.org>
4143
4144 * ospf_lsa.c (ospf_router_lsa): Fix bug of LS sequence number
4145 assignement.
4146
41471999-07-25 Kunihiro Ishiguro <kunihiro@zebra.org>
4148
4149 * ospf_route.c (ospf_route_table_free): New function added.
4150
4151 * ospf_spf.c (ospf_spf_next): Free vertex w when cw's and w's
4152 distance is same.
4153
4154 * ospfd.h (struct ospf): Add old_table.
4155
4156 * ospf_main.c (sighup): Call of log_rotate () removed.
4157
4158 * ospf_lsa.c (ospf_lsa_is_self_originated): Fix bug of checking
4159 area->lsa as self LSA. This should be area->lsa_self.
4160
41611999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
4162
4163 * ospf_zebra.c (ospf_zebra_add): ospf_zebra_add
4164 (),ospf_zebra_delete () added.
4165
4166 * ospf_spf.c (ospf_spf_calculate): Call ospf_intra_route_add ().
4167
41681999-07-24 Toshiaki Takada <takada@zebra.org>
4169
4170 * ospf_lsa.c: Change LS sequence number treatment.
4171 (ospf_lsa_is_self_originated): New function added.
4172 (show_ip_ospf_database_self_originated): New DEFUN added.
4173
41741999-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4175
4176 * ospf_interface.c (ospf_if_lookup_by_addr): Add loopback check.
4177
41781999-07-22 Toshiaki Takada <takada@zebra.org>
4179
4180 * ospf_spf.c (ospf_nexthop_new), (ospf_nexthop_free),
4181 (ospf_nexthop_dup): function added.
4182 (ospf_nexthop_calculation): function changed.
4183
4184 * ospf_interface.c (ospf_if_lookup_by_addr): function added.
4185
41861999-07-21 Toshiaki Takada <takada@zebra.org>
4187
4188 * ospf_spf.c (ospf_spf_closest_vertex): function removed.
4189
41901999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
4191
4192 * ospf_spf.c (ospf_spf_next): Apply ntohs for fetching metric.
4193
41941999-07-21 Toshiaki Takada <takada@zebra.org>
4195
4196 * ospf_neighbor.c (ospf_nbr_lookup_by_router_id): fundtion removed.
4197
4198 * ospf_lsa.c (show_ip_ospf_database_router): describe each
4199 connected link.
4200
42011999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
4202
4203 * ospf_spf.c (ospf_spf_next): V is router LSA or network LSA so
4204 change behavior according to LSA type.
4205 (ospf_lsa_has_link): Link check function is added.
4206
42071999-07-20 Kunihiro Ishiguro <kunihiro@zebra.org>
4208
4209 * ospf_spf.c (ospf_spf_calculate_schedule): Add new function for
4210 SPF calcultion schedule addtition.
4211 (ospf_spf_calculate_timer_add): Rough 30 sec interval SPF calc
4212 timer is added.
4213 (ospf_spf_next_router): Delete ospf_spf_next_network ().
4214
4215 * ospf_lsa.c (show_ip_ospf_database_all): Network-LSA display
4216 header typo correction. Display of router LSA's #link added.
4217
42181999-07-19 Toshiaki Takada <takada@zebra.org>
4219
4220 * ospf_packet.c (ospf_check_network_mask): Added new function for
4221 receiving Raw IP packet on an appropriate interface.
4222
42231999-07-16 Toshiaki Takada <takada@zebra.org>
4224
4225 * ospfd.c (ospf_router_id): new DEFUN added.
4226
42271999-07-15 Toshiaki Takada <takada@zebra.org>
4228
4229 * ospf_spf.c (ospf_spf_init), (ospf_spf_free),
4230 (ospf_spf_has_vertex), (ospf_vertex_lookup),
4231 (ospf_spf_next_router), (ospf_spf_next_network),
4232 (ospf_spf_closest_vertex), (ospf_spf_calculate):
4233 function added.
4234
42351999-07-13 Toshiaki Takada <takada@zebra.org>
4236
4237 * ospf_ism.c: fix bug of DR Election.
4238
4239 * ospf_nsm.c: fix bug of adjacency forming.
4240
42411999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
4242
4243 * ospfd.c (ospf_init): Change to use install_default.
4244
42451999-07-01 Rick Payne <rickp@rossfell.co.uk>
4246
4247 * ospf_zebra.c (zebra_init): Install standard commands to
4248 ZEBRA_NODE.
4249
42501999-06-30 Toshiaki Takada <takada@zebra.org>
4251
4252 * ospf_dump.c: Whole debug command is improved.
4253 (ISM|NSM) (events|status|timers) debug option added.
4254 (show_debugging_ospf): new DEFUN added.
4255
42561999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4257
4258 * ospf_lsa.c (ospf_lsa_lookup_from_list): Change !IPV4_ADDR_CMP to
4259 IPV4_ADDR_SAME.
4260
42611999-06-29 Toshiaki Takada <takada@zebra.org>
4262
4263 * ospf_dump.c (ospf_summary_lsa_dump): Add summary-LSA dump routine.
4264 (ospf_as_external_lsa_dump): Add AS-external-LSA dump routine.
4265
4266 * ospf_nsm.c (nsm_twoway_received): fix condtion of adjacnet.
4267
4268 * ospf_ism.c (ospf_dr_election): fix DR Election.
4269
4270 * ospf_dump.c (ospf_nbr_state_message): fix `show ip ospf neighbor'
4271 command's state.
4272
42731999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4274
4275 * ospf_dump.c (ospf_router_lsa_dump): Add router-LSA dump routine.
4276
42771999-06-28 Toshiaki Takada <takada@zebra.org>
4278
4279 * ospf_lsa.c (show_ip_ospf_database_network): fix bug of
4280 `show ip ospf database network' command output.
4281
4282 * ospf_nsm.c (nsm_inactivity_timer): Clear list of Link State
4283 Retransmission, Database Summary and Link State Request.
4284
4285 * ospf_packet.c (ospf_ls_req_timer): New function added.
4286 Set Link State Request retransmission timer.
4287
42881999-06-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4289
4290 * ospf_main.c (main): Change default output from ZLOG_SYSLOG to
4291 ZLOG_STDOUT.
4292
4293 * ospfd.c (ospf_init): Register show_ip_ospf_interface_cmd and
4294 show_ip_ospf_neighbor_cmd to VIEW_NODE.
4295
4296 * ospf_lsa.c (ospf_lsa_init): Register show_ip_ospf_database_cmd
4297 and show_ip_ospf_database_type_cmd to VIEW_NODE.
4298
42991999-06-25 Toshiaki Takada <takada@zebra.org>
4300
4301 * ospf_packet.c: fix bug of DD making.
4302 fix bug of LS-Update reading.
4303
43041999-06-23 Toshiaki Takada <takada@zebra.org>
4305
4306 * ospf_packet.c: All type of packets are changed to use
4307 fifo queue structure.
4308 (ospf_fill_header) function added.
4309
43101999-06-22 Toshiaki Takada <takada@zebra.org>
4311
4312 * ospf_packet.c (ospf_packet_new): New function added to handle
4313 sending ospf packet by fifo queue structure.
4314 (ospf_packet_free), (ospf_fifo_new), (ospf_fifo_push),
4315 (ospf_fifo_pop), (ospf_fifo_head), (ospf_fifo_flush),
4316 (ospf_fifo_free): Likewise.
4317
43181999-06-21 Toshiaki Takada <takada@zebra.org>
4319
4320 * ospf_nsm.c (ospf_db_desc_timer): function added.
4321 (nsm_timer_set) function added.
4322 * ospf_dump.c (ospf_option_dump): function added.
4323 * ospf_packet.c (ospf_ls_req) (ospf_make_ls_req): function added.
4324
43251999-06-20 Toshiaki Takada <takada@zebra.org>
4326
4327 * ospf_lsa.c (ospf_lsa_more_recent): function added.
4328 * ospf_neighbor.h (struct ospf_neighbor): Change member ms_flag
4329 to dd_flags.
4330
43311999-06-19 Toshiaki Takada <takada@zebra.org>
4332
4333 * ospf_lsa.c: DEFUN (show_ip_ospf_database) Added.
4334 * ospf_interface.c (if_ospf_cost), (if_ospf_dead_interval),
4335 (if_ospf_hello_interval), (if_ospf_priority),
4336 (if_ospf_retransmit_interval), (if_ospf_transmit_delay)
4337 argument changed from NUMBER to <range>.
4338 DEFUN (if_ospf_network_broadcast),
4339 DEFUN (if_ospf_network_non_broadcast),
4340 DEFUN (if_ospf_network_point_to_multipoint),
4341 DEFUN (if_ospf_network_point_to_point) functions are combined to
4342 DEFUN (if_ospf_network).
4343
43441999-06-18 Toshiaki Takada <takada@zebra.org>
4345
4346 * ospf_lsa.c: ospf_add_router_lsa (), ospf_add_network_lsa (),
4347 ospf_lsa_lookup (), ospf_lsa_count () Added.
4348
43491999-06-15 Toshiaki Takada <takada@zebra.org>
4350
4351 * DEFUN (ospf_debug_ism), DEFUN (ospf_debug_nsm),
4352 DEFUN (no_ospf_debug_ism), DEFUN (no_ospf_debug_nsm) Added.
4353 `debug ospf ism' command shows debug message.
4354 `debuf ospf nsm' command shows debug message.
4355
43561999-06-14 Toshiaki Takada <takada@zebra.org>
4357
4358 * ospf_lsa.c: ospf_network_lsa () Added.
4359 ospf_lsa_checksum () Added.
4360 * DEFUN (ospf_debug_packet), DEFUN (no_ospf_debug_packet) Added.
4361 `debug ospf packet' command shows debug message.
4362
43631999-06-13 Toshiaki Takada <takada@zebra.org>
4364
4365 * ospf_packet.h: Remove struct ospf_ls_req {}, ospf_ls_upd {},
4366 ospf_ls_ack {}.
4367
43681999-06-11 Toshiaki Takada <takada@zebra.org>
4369
4370 * ospf_dump.c: fix IP packet length treatment.
4371
43721999-06-10 Toshiaki Takada <takada@zebra.org>
4373
4374 * ospf_ism.h: Add OSPF_ISM_EVENT_EXECUTE() Macro Added.
4375 * ospf_nsm.h: Add OSPF_NSM_EVENT_EXECUTE() Macro Added.
4376
4377 * ospf_packet.c: ospf_db_desc (), ospf_db_desc_send () Added.
4378 ospf_make_hello (), ospf_make_db_desc () Added.
4379 ospf_db_desc_proc () Added.n
4380
4381 * Database Description packet can be processed.
4382
43831999-06-08 Toshiaki Takada <takada@zebra.org>
4384
4385 * ospf_lsa.c: New file.
4386
43871999-06-07 Toshiaki Takada <takada@zebra.org>
4388
4389 * ospf_neighbor.c: ospf_fully_adjacent_count () Added.
4390
43911999-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
4392
4393 * ospf_spf.[ch]: New file.
4394
43951999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4396
4397 * ospf_zebra.c: Changed to use lib/zclient.c routines.
4398
4399 * ospf_zebra.h (zebra_start): Remove struct zebra.
4400
44011999-05-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4402
4403 * ospfd.c (ospf_config_write): Add cast (unsigned long int) to
4404 ntohl for sprintf warning.
4405
44061999-05-19 Toshiaki Takada <takada@zebra.org>
4407
4408 * ospf_ism.c (ospf_dr_election): Join AllDRouters Multicast group
4409 if interface state changes to DR or BDR.
4410
44111999-05-14 Stephen R. van den Berg <srb@cuci.nl>
4412
4413 * ospf_main.c (signal_init): SIGTERM call sigint.
4414 (sigint): Logging more better message.
4415
44161999-05-12 Toshiaki Takada <takada@zebra.org>
4417
4418 * ospfd.c: Fix bug of `no router ospf' statement, it will work.
4419
44201999-05-11 Toshiaki Takada <takada@zebra.org>
4421
4422 * ospf_neighbor.c: ospf_nbr_free () Added.
4423
44241999-05-10 Toshiaki Takada <takada@zebra.org>
4425
4426 * ospfd.h: struct ospf_area { }, struct ospf_network { } Changed.
4427 * Fix bug of `no network' statement, it will work.
4428
44291999-05-07 Toshiaki Takada <takada@zebra.org>
4430
4431 * ospf_interface.c, ospf_zebra.c: Fix bug of last interface is not
4432 updated by ospf_if_update ().
4433
44341999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4435
4436 * Makefile.am (noinst_HEADERS): Add ospf_lsa.h for distribution.
4437
44381999-04-25 Toshiaki Takada <takada@zebra.org>
4439
4440 * ospf_interface.c: DEFUN (no_if_ospf_cost),
4441 DEFUN (no_if_ospf_dead_interval),
4442 DEFUN (no_if_ospf_hello_interval),
4443 DEFUN (no_if_ospf_priority),
4444 DEFUN (no_if_ospf_retransmit_interval),
4445 DEFUN (no_if_ospf_transmit_delay) Added.
4446
4447 interface_config_write () suppress showing interface
4448 default values.
4449
44501999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
4451
4452 * ospf_dump.c (ospf_timer_dump): If thread is NULL return "inactive".
4453
4454 * ospfd.c (ospf_if_update): Fix bug of using ospf_area { } instead
4455 of ospf_network { }. So `router ospf' statement in ospfd.conf
4456 works again.
4457 (ospf_if_update): Call ospf_get_router_id for updating router ID.
4458
44591999-04-25 Toshiaki Takada <takada@zebra.org>
4460
4461 * ospf_interface.c: DEFUN (if_ospf_network) deleted.
4462 DEFUN (if_ospf_network_broadcast),
4463 DEFUN (if_ospf_network_non_broadcast),
4464 DEFUN (if_ospf_network_point_to_multipoint),
4465 DEFUN (if_ospf_network_point_to_point),
4466 DEFUN (no_if_ospf_network) Added.
4467
44681999-04-23 Toshiaki Takada <takada@zebra.org>
4469
4470 * ospfd.h: struct area { } changed to struct ospf_network { }.
4471 Add struct ospf_area { }.
4472 * ospfd.c: Add ospf_area_lookup_by_area_id (), ospf_network_new (),
4473 and ospf_network_free ().
4474 DEFUN (area_authentication), DEFUN (no_area_authentication) Added.
4475
44761999-04-22 Toshiaki Takada <takada@zebra.org>
4477
4478 * ospf_lsa.h: New file.
4479 * ospf_packet.h: LSA related struct definition are moved to
4480 ospf_lsa.h.
4481 * ospf_packet.c: ospf_verify_header () Added.
4482
44831999-04-21 Toshiaki Takada <takada@zebra.org>
4484
4485 * ospf_ism.c: ospf_elect_dr () and related function is changed.
4486 DR Election bug fixed.
4487 * ospf_dump.c: ospf_nbr_state_message (), ospf_timer_dump () Added.
4488 * ospfd.c: DEFUN (show_ip_ospf_neighbor) Added.
4489
44901999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
4491
4492 * ospf_main.c (main): access_list_init () is added for vty
4493 connection filtering.
4494
44951999-04-16 Toshiaki Takada <takada@zebra.org>
4496
4497 * ospfd.c: DEFUN (show_ip_ospf_interface) Added.
4498 * ospf_neighbor.c: ospf_nbr_count () Added.
4499
45001999-04-15 Toshiaki Takada <takada@zebra.org>
4501
4502 * ospfd.h: struct ospf { } Changed.
4503 * ospfd.c: ospf_lookup_by_process_id () Deleted.
4504 * ospf_ism.c: ospf_wait_timer () Added. WaitTimer will work.
4505
45061999-04-14 Toshiaki Takada <takada@zebra.org>
4507
4508 * ospf_ism.c: ospf_elect_dr () Added.
4509 * ospf_network.c: ospf_if_ipmulticast () Added.
4510
45111999-04-11 Toshiaki Takada <takada@zebra.org>
4512
4513 * ospf_interface.c: interface_config_write (),
4514 DEFUN (if_ip_ospf_cost),
4515 DEFUN (if_ip_ospf_dead_interval),
4516 DEFUN (if_ip_ospf_hello_interval),
4517 DEFUN (if_ip_ospf_priority),
4518 DEFUN (if_ip_ospf_retransmit_interval) and
4519 DEFUN (if_ip_ospf_transmit_delay) Added.
4520
45211999-04-08 Toshiaki Takada <takada@zebra.org>
4522
4523 * ospf_dump.c: ospf_packet_db_desc_dump () Added.
4524 * ospf_neighbor.c: ospf_nbr_bidirectional () Added.
4525 * ospf_nsm.c: nsm_twoway_received () Added.
4526
45271999-04-02 Toshiaki Takada <takada@zebra.org>
4528
4529 * ospf_neighbor.c: New file.
4530 * ospf_neighbor.h: New file.
4531 * ospf_nsm.c: New file.
4532 * ospf_nsm.h: New file.
4533 * ospf_packet.c: Add ospf_make_header (), ospf_hello () and
4534 ospf_hello_send (). Now OSPFd can receive Hello and send Hello.
4535
45361999-03-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4537
4538 * ospf_packet.c: Add ospf_recv_packet (). Now OSPF Hello can receive.
4539
45401999-03-19 Toshiaki Takada <takada@zebra.org>
4541
4542 * ospf_packet.c: New file.
4543 * ospf_packet.h: New file.
4544 * ospf_network.c: New file.
4545 * ospf_network.h: New file.
4546 * ospfd.h: move OSPF message structure has moved to ospf_packet.h.
4547
45481999-03-17 Kunihiro Ishiguro <kunihiro@zebra.org>
4549
4550 * ospf_zebra.c (ospf_zebra_get_interface): Fix for IPv6 interface
4551 address.
4552
4553 * Makefile.am (install-sysconfDATA): Overwrite install-sysconfDATA
4554 for install ospfd.conf.sample as owner read only file.
4555
4556 * ospf_main.c (usage): Change to use ZEBRA_BUG_ADDRESS.
4557
45581999-03-15 Toshiaki Takada <takada@zebra.org>
4559
4560 * ospf_ism.c: New file.
4561 * ospf_ism.h: New file.
4562 * ospf_dump.c: New file.
4563 * ospf_dump.h: New file.
4564
4565 * ospfd.h: Add (struct ospf), (struct config_network),
4566 (struct message) structure.
4567
4568 * ospf_interface.c: Add ospf_if_match_network ().
4569 * ospf_interface.h (struct ospf_interface): Change struct members.
4570
4571 * ospfd.c: ospf_lookup_by_process_id (), ospf_network_new (),
4572 DEFUN (network_area): Added.
4573
4574 * ospfd.conf.sample: Change sample configuration.
4575
45761999-03-05 Toshiaki Takada <takada@zebra.org>
4577
4578 * ospf_interface.c: New file.
4579 * ospf_interface.h: New file.
4580 * ospf_zebra.h: New file.
4581 * ospf_zebra.c: Add interface function for zebra daemon.
4582 * ospfd.c: New file.
4583
45841999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4585
4586 * Move IPv6 codes and files to ospf6d directory.
4587
45881999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
4589
4590 * syslog support added
4591
45921998-12-22 Toshiaki Takada <takada@zebra.org>
4593
4594 * ospfd.h: New file.
4595 * ospf_lsa.h: New file.
4596
45971998-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
4598
4599 * Makefile.am: New file.
4600 * ospf_main.c: New file.
4601