blob: 1bc3232af9ddf51802e6c6e228afe44a92c76ccf [file] [log] [blame]
Andrew J. Schorr13cd3dc2006-07-11 01:50:30 +000012006-07-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
2
3 * ospf_packet.c: (ospf_hello) Improve NetworkMask mismatch warning
4 message to include interface name and conflicting prefix lengths.
5
Paul Jakma1f2c2742006-07-10 07:45:13 +000062006-07-07 Paul Jakma <paul.jakma@sun.com>
7
8 * ospf_nsm.h: Add a NSM_Deleted neighbour state, to act as dummy
9 state indicating the neighbour is to be deleted.
10 * ospf_nsm.c: (general) Use the NSM_Deleted state to delete
11 neighbours, thus allowing code to be slightly more obvious
12 in its flow.
13 (nsm_timer_set) Add NSM_Deleted. Add another timer the code
14 missed.
15 (nsm_kill_nbr) No need for special case call to nsm_change_state
16 anymore.
17 Make the assert and error-handling for same case more readable
18 (Andrew Schorr)
19 Remove the call to ospf_nbr_delete, nsm_change_state can do
20 this generally now via NSM_Deleted.
21 (struct ... NSM) Add the dummy NSM_Deleted state, the 3 events
22 that can lead to nsm_kill_nbr all now transition the NBR to
23 NSM_Deleted and the general change_state function can be left
24 to do the work.
25 (ospf_nsm_event) Special casing of events and early-return can
26 be removed now.
27 On transition into Deleted, delete the nbr.
28 * ospf_dump.c: (ospf_nsm_state_msg) Add Deleted.
29
Paul Jakmaaa2737a2006-07-06 11:12:39 +0000302006-07-06 Paul Jakma <paul.jakma@sun.com>
31
32 * ospf_nsm.c: (ospf_nsm_event) LLDown event also results in nbr
33 being deleted, requires early-return too. Likely explains
34 some crash reports after interface events.
35
Paul Jakmaf7a76ab2006-07-04 13:57:49 +0000362006-07-04 Paul Jakma <paul.jakma@sun.com>
37
38 * ospf_nsm.c: (general) Various small cleanups from Andrew's
39 review of last set of patches.
40 (nsm_timer_set) Loading, Full and default can share
41 same code too.
42 (nsm_should_adj) Can just be one big OR.
43 (nsm_twoway_received) Collapse into return statement.
44
Paul Jakmad7b0fb62006-07-04 13:35:24 +0000452006-07-02 Paul Jakma <paul.jakma@sun.com>
46
47 * ospf_nsm.c: (nsm_should_adj) New function, just consolidate the
48 10.4 adjacency check from nsm_twoway_received/nsm_adj_ok.
49 (nsm_twoway_received/nsm_adj_ok) Use former.
Paul Jakmad1b1cd82006-07-04 13:50:44 +000050 (nsm_clear_adj) clear adjacency related state for a
51 neighbour, needed for some state changes from > ExStart down
52 to ExStart or less, which need not go through nsm_reset_nbr.
53 (nsm_reset_nbr) move code to former. Should be static.
Paul Jakmaba0beb42006-07-04 13:44:19 +000054 (ospf_nsm_event) Don't allow action functions to change
55 next_state if the NSM tables do not indicate next_state is
56 conditional, log warning if one tries - existing code
57 appears fine though.
Paul Jakmad1b1cd82006-07-04 13:50:44 +000058 Remove long dead code.
59 Use nsm_clear_adj for state changes that take down
60 adjacencies to TwoWay/ExStart.
Paul Jakmae55dd532006-07-04 13:46:14 +000061 (nsm_timer_set) ls_req timer should be OFF in early states.
62 Compact several identical sections.
63 Set inactivity timer to OFF for Down, for documentary
64 purposes.
Paul Jakmad1b1cd82006-07-04 13:50:44 +000065 (nsm_kill_nbr) Oops, action function shouldn't try return
66 1 for error.
Paul Jakma5db95bc2006-07-04 13:52:29 +000067 * ospf_lsa.c: (ospf_translated_nssa_refresh) CID #13.
Paul Jakmad7b0fb62006-07-04 13:35:24 +000068
Andrew J. Schorr1c066bf2006-06-30 16:53:47 +0000692006-06-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
70
71 * ospf_vty.c: (show_ip_ospf_neighbor_id) Should show all instances
72 of that neighbor (since it may appear on multiple interfaces)
73 instead of bailing out after showing the first match.
74
Andrew J. Schorr76947872006-06-30 03:21:05 +0000752006-06-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
76
77 * ospf_nsm.c: (nsm_twoway_received) When deciding whether to
78 change from state Init to ExStart, the test for whether the
79 neighboring router is DR or BDR should be against the
80 local router's notion of DR/BDR, not the neighbor's view.
81
Andrew J. Schorrd7e60dd2006-06-29 20:20:52 +0000822006-06-28 Erik Muller <erikm@internap.com>
83
84 * ospfd.h: Define 2 new struct ospf config flags:
85 OSPF_LOG_ADJACENCY_CHANGES and OSPF_LOG_ADJACENCY_DETAIL
86 * ospf_nsm.c (nsm_change_state): Log adjacency changes if
87 requested.
88 * ospf_vty.c (ospf_log_adjacency_changes): New command function
89 to implement ospf subcommand "log-adjacency-changes [detail]".
90 (no_ospf_log_adjacency_changes) Turn off log-adjacency-changes.
91 (show_ip_ospf) Show whether adjacency changes are logged.
92 (ospf_config_write) Add "log-adjacency-changes [detail]" to config.
93 (ospf_vty_init) Add ospf_log_adjacency_changes and
94 no_ospf_log_adjacency_changes.
95
Paul Jakma9560fa82006-06-26 12:50:06 +0000962006-06-26 Paul Jakma <paul.jakma@sun.com>
97
98 * ospf_abr.c: (general) NSSA translate-candidate ABRs need to
99 be ASBRs, or other routers may rightfully refuse to install
100 translated type-5s LSAs. reported by dendroot@gmail.com.
101 (ospf_abr_nssa_check_status) Detect change in translator
102 state when ABR, and inc/dec redistribute count as when we
103 leave/enter the disabled state - so that translate-enabled
104 ABR properly sets ASBR bit on non-NSSA areas.
105 Run the resulting function through indent to clean it up.
106 * ospf_lsa.c: (router_lsa_flags) For purposes of ASBR bit,
107 NSSA area is same as stub area.
108
Andrew J. Schorr0ffb7092006-06-24 19:40:13 +00001092006-06-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
110
Andrew J. Schorr9aecfae2006-06-24 20:05:02 +0000111 * ospf_snmp.c: (ospfTrapNbrStateChange, ospfTrapIfStateChange) Improve
112 info log message to indicate why the trap is being sent.
113
1142006-06-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
115
Andrew J. Schorr0ffb7092006-06-24 19:40:13 +0000116 * ospf_dump.c: (config_write_debug) Fix typo to show debug ospf nsm
117 status properly (not ism status).
118
Andrew J. Schorr6e72cb62006-06-18 00:45:48 +00001192006-06-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
120
121 * ospf_vty.c: ({no_,}ospf_passive_interface) Replace if_lookup_by_name
122 with a call to if_get_by_name -- if the interface does not exist
123 already, it should be created. And remove the obsolete warning
124 message.
125
Paul Jakma429ac782006-06-15 18:40:49 +00001262006-06-15 Paul Jakma <paul.jakma@sun.com>
127
128 * ospf_interface.h: (struct ospf_if_info) Add reference counts
129 for multicast group memberships. Add various macros to help
130 manipulate/check membership state.
131 * ospf_interface.c: (ospf_if_set_multicast) Maintain the
132 ospf_if_info reference counts, and only actually drop
133 memberships if it hits 0, to avoid losing membership when
134 OSPF is disabled on an interface with multiple active OSPF
135 interfaces.
136 * ospf_packet.c: (ospf_{hello,read}) Use the new macros to
137 check/set
138 multicast membership.
139 * ospf_vty.c: (show_ip_ospf_interface_sub) ditto.
140
Paul Jakmaac904de2006-06-15 12:04:57 +00001412006-05-31 Paul Jakma <paul.jakma@sun.com>
142
143 * ospf_lsdb.c: (ospf_lsdb_delete) robustify against NULL arguments,
144 print warning.
145 * ospf_lsa.c: (ospf_discard_from_db) ditto.
146 (ospf_maxage_lsa_remover) Check lsa->lsdb for validity, possible
147 mitigation (but not solution) for bug #269.
148
Paul Jakma88871b12006-06-15 11:41:19 +00001492006-05-30 Paul Jakma <paul.jakma@sun.com>
150
151 * ospf_packet.c: (ospf_read) Debug message about packets
152 received on unenabled interfaces should be conditional on
153 debug being set.
154
Paul Jakmad1c65c22006-06-27 08:01:43 +00001552006-05-23 Paul Jakma <paul.jakma@sun.com>
156
157 * ospf_vty.c: (general) Replace in-place route redistribution
158 command and help strings with the new auto-generated defines
159 from lib/route_types.h
160
Paul Jakmaae128052006-05-12 23:15:30 +00001612006-05-13 Paul Jakma <paul.jakma@sun.com>
162
163 * ospf_lsa.c: (ospf_translated_nssa_refresh) fix the sanity
164 check to match the assert, small error in CID #13 fix.
165
Paul Jakma70461d72006-05-12 22:57:57 +00001662006-05-12 Paul Jakma <paul.jakma@sun.com>
167
168 * ospf_lsa.c: (ospf_lsa_action) Get rid of the ospf_lookup
169 call, which is not checked for NULL return, by stripping out
170 functionality which is never used, hence fixing Coverity CID
171 #29.
172 (struct lsa_action) remove unused member.
Paul Jakmae54e6e52006-05-12 23:11:14 +0000173 (ospf_translated_nssa_refresh) Add non-assert sanity check,
174 in case DEBUG isn't defined.
175 Debug message when no type7 exists should print the ID from
176 the type5, not the type7, fixes CID #13.
177 * ospf_interface.c: (ospf_if_exists) Fix missing NULL return
Paul Jakmae43be0e2006-05-12 23:00:06 +0000178 check on ospf_lookup, CID #27.
Paul Jakma6db3a6f2006-05-12 23:02:46 +0000179 * ospf_asbr.c: (ospf_redistribute_withdraw) remove ospf_lookup
180 call by taking the struct ospf * as argument, which the
181 caller has, fixing CID #28.
182 * ospf_asbr.h: (ospf_redistribute_withdraw) update declaration
183 * ospf_zebra.c: (ospf_redistribute_unset) update call to
184 ospf_redistribute_withdraw to match.
Paul Jakmabfd7c7d2006-05-12 23:04:45 +0000185 * ospf_ia.c: (ospf_update_router_route) ospf->backbone could be
186 NULL when passed to ospf_find_asbr_route_through_area,
187 check for NULL first, CID #14.
Paul Jakmadeb15612006-05-12 23:07:27 +0000188 * ospf_ism.c: (ism_change_state) NULL check on oi->area is
189 useless, it's always valid. Only possibility where it
190 couldn't be is if there is a race between abr_task and
191 cleaning up oi's, in which case a NULL check here isn't going
192 to do anything. Fixes CID #15.
Paul Jakma70461d72006-05-12 22:57:57 +0000193
Paul Jakmacac3b5c2006-05-11 13:31:11 +00001942006-05-11 Paul Jakma <paul.jakma@sun.com>
195
196 * ospf_vty.c: (general) Audit ospf_lookup calls in commands,
197 ensure check for NULL result, make vty messages consistent.
198 (show_ip_ospf_interface) Missing NULL check on ospf_lookup
199 result, fixes Coverity CID #70.
Paul Jakma1a8ec2b2006-05-11 13:34:08 +0000200 (no_ospf_area_filter_list) Check NULL result from
201 ospf_area_lookup_by_area_id, fixes Coverity CID #69
Paul Jakma894f8b62006-05-12 22:50:40 +0000202 * ospf_route.c: (ospf_route_delete_same_ext) Fix deref before
203 NULL check by moving into check-protected block, fix CID #49.
Paul Jakma214a4452006-05-12 22:51:49 +0000204 * ospf_abr.c: (ospf_area_range_cost_set) Shouldn't create a new
205 range, should just lookup to see if one exists, the new range
206 is just leaked. Fixes CID #46.
Paul Jakma4021b602006-05-12 22:55:41 +0000207 * ospf_lsa.c: (ospf_default_originate_timer) Let the thread
208 take (struct ospf *) as thread argument, rather than (struct
209 ospf *)->default_originate, thus avoiding having to call
210 ospf_lookup.
211 * ospf_zebra.c: (ospf_redistribute_default_set) change setup
212 of ospf_default_originate_timer thread to match.
213 * ospfd.c: (ospf_router_id_update) ditto.
Paul Jakmacac3b5c2006-05-11 13:31:11 +0000214
Paul Jakma9c27ef92006-05-04 07:32:57 +00002152006-04-24 Paul Jakma <paul.jakma@sun.com>
216
217 * (general) More Virtual-link fixes, again with much help in
218 testing / debug from Juergen Kammer. Primarily in SPF.
219 * ospf_spf.h: Add guard. ospf_interface.h will include this
220 header.
221 * ospf_interface.h: Modify ospf_vl_lookup definition to take
222 struct ospf as argument, so as to allow for NULL area
223 argument.
224 (struct ospf_vl_data) Remove out_oi, instead add a struct
225 vertex_nexthop, to use as initial nexthop for backbone paths
226 through a vlink.
227 * ospf_interface.c: (ospf_vl_lookup) Modified to allow
228 NULL area to be passed to indicate "any" (first) area.
229 Add extra debug.
230 (ospf_vl_set_params) vl_oi -> nexthop. Add extra debug.
231 (ospf_vl_up_check) Fix debug, inet_ntoa returns a static
232 buffer..
233 * ospf_route.c: (ospf_intra_add_router) Vlinks dont go through
234 backbone, don't bother checking.
235 * ospf_spf.c: (static struct list vertex_list) Record vertices
236 that will need to be freed.
237 (cmp) Order network before router vertices, as required,
238 wasn't implemented.
239 (vertex_nexthop_free) Mild additional robustness check.
240 (vertex_parent_free) Take void argument, as this function
241 is passed as list deconstructor for vertex parent list.
242 (ospf_vertex_new) More debug. Set deconstructor for parent
243 list. Track allocated vertices on the vertex_list.
244 (ospf_vertex_free) Get rid of the tricky recursive cleanup of
245 vertices. Now frees only the given vertex.
246 (ospf_vertex_add_parent) Fix assert.
247 (ospf_nexthop_calculation) Fix calculation of nexthop for
248 VLink vertices, lookup the vl_data and use its previously
249 recorded nexthop information.
250 (ospf_spf_calculate) Vertices are freed simply by deleting
251 vertex_list nodes and letting ospf_vertex_free as deconstructor
252 work per-node.
253 (ospf_spf_calculate_timer) Trivial optimisation, leave
254 backbone SPF calculation till last to reduce SPF churn on
255 VLink updates.
256 * ospf_vty.c: (ospf_find_vl_data) update call to ospf_vl_lookup
257 (no_ospf_area_vlink_cmd) ditto.
258 (show_ip_ospf_interface_sub) For Vlinks, the peer address is
259 more interesting than the output interface.
260
Paul Jakma478aab92006-04-03 21:25:32 +00002612006-04-03 Paul Jakma <paul.jakma@sun.com>
262
263 * (general) Fix issues with handling of Vlinks and entries
264 in the nbrs route-table which were highlighted by the
265 nsm/nbr_self fixes from bug #234. Many thanks to Juergen
266 Kammer for his help and efforts in testing out debug patches to
267 pinpoint the issue.
268 * ospf_interface.c: (ospf_vl_new) Add nbr_self for Vlink.
269 * ospf_neighbor.c: (ospf_nbr_key) new static function, helper
270 to create key in nbrs table for a given nbr.
271 (ospf_nbr_delete) Use ospf_nbr_key. Add an assert() to
272 document an expected state.
273 (ospf_nbr_add_self) Ditto.
274 (ospf_nbr_lookup_by_addr) Add an assert.
275 * ospf_nsm.c: (nsm_kill_nbr) Can never kill the nbr_self
276 psuedo-neighbour.
277
Paul Jakma075c2012006-03-30 14:34:31 +00002782006-03-27 Paul Jakma <paul.jakma@sun.com>
279
280 * ospf_lsa.c: (ospf_lsa_checksum) Add an explicit cast to avoid
281 the ambiguities of ANSI and C99 C with respect to type
282 conversion. Detailed problem report and test case with
283 example data supplied by Dmitry Ivanov <dimss@telecentrs.lv>.
284
Paul Jakma1a8ee0e2006-03-30 14:20:00 +00002852006-03-25 Paul Jakma <paul.jakma@sun.com>
286
287 * ospf_interface.c: (ospf_if_lookup_recv_if) Ignore loopbacks,
288 we can never ever receive packets on those. Should fix
289 case where CARP is run with address in same subnet as real
290 interface. Problem report and diagnosis thanks to:
291 Landon Fuller <landonf@opendarwin.org>.
292 However, ospf_read() still can't deal deterministically with
293 multiple interfaces in same subnet.
294
Paul Jakmac2b478d2006-03-30 14:16:11 +00002952006-03-23 Steve Lawson <steve.lawson@aheadcomusa.com>
296
297 * ospf_lsa.c: (ospf_lsa_install) Fix incorrect byte-order
298 conversion of OSPF_MAX_SEQUENCE_NUMBER
299
paule8e19462006-01-19 20:16:55 +00003002006-01-19 Paul Jakma <paul.jakma@sun.com>
301
302 * (general) various miscellaneous compiler warning fixes.
303 Remove redundant break statements from switch clauses
304 which return.
305 return from main, not exit, cause it annoys SOS.
306 Remove stray semi-colons which cause empty-statement
307 warnings.
308
paul779adb02006-01-18 15:07:38 +00003092006-01-18 Juergen Kammer <j.kammer@eurodata.de>
310
311 * ospf_lsa.c: (ospf_router_lsa_new) dont take reference to the
312 stream data until it is constructed, data reference is
313 volatile due to the potential resize in link_info_set
314
3152006-01-18 Paul Jakma <paul.jakma@sun.com>
316
317 * ospf_lsa.c: (link_info_set) Resize the stream if required and
318 possible. Return number of links added.
319 (lsa_link_*_set) use return value from previous.
320 * ospf_lsa.h: Add OSPF_ROUTER_LSA_LINK_SIZE define.
321
paulc6371712006-01-17 17:49:53 +00003222006-01-17 Paul Jakma <paul.jakma@sun.com>
323
324 * ospf_packet.c: (ospf_verify_header) print out the types
325 involved if there's a mismatch.
326 * ospf_zebra.c: (ospf_zebra_add) Adjust to new zserv format.
327
paul818e56c2006-01-10 23:27:05 +00003282006-01-10 Len Sorensen <lennartsorensen@ruggedcom.com>
329
330 * (general) Bug #234, see also [quagga-dev 3902].
331 Fix problem with nbr_self not being properly reinitialised
332 when an interface comes up, after having been down.
paul1a643f82006-01-11 01:08:19 +0000333 Some re-arrangement done by Paul Jakma, any bugs introduced
334 on top of Len's suggested changes are his.
paul818e56c2006-01-10 23:27:05 +0000335 * ospf_neighbor.c: (ospf_nbr_add_self) centralise
336 initialisation of nbr_self parameters here.
337 * ospf_interface.c: (ospf_if_new) deleting initialisation of
338 parameters of nbr_self, just rely on call to
339 ospf_nbr_add_self.
340 (ospf_if_cleanup) ditto.
341 * ospfd.c: (ospf_network_run) ditto.
342
paul98429f62006-01-10 22:11:54 +00003432006-01-10 Juris Kalnins <juris@mt.lv>
344
345 * ospf_zebra.c: (ospf_interface_address_delete) fix rare leak of
346 struct connected in an error case.
paul818e56c2006-01-10 23:27:05 +0000347 * ospf_packet.c: (ospf_make_md5_digest) fix odd, if not
348 undefined effect, assignment of an increment expression.
paul98429f62006-01-10 22:11:54 +0000349
paul86752842006-01-10 20:34:46 +00003502006-01-10 Paul Jakma <paul.jakma@sun.com>
351
352 * ospfd.c: (ospf_network_run) checking to see if router-id
353 is set should be on ospf->router_id, not router_id_static.
354 This was causing ospfd to not start if router-id had not
355 been configured statically.
356 (ospf_if_update) ditto.
paulc42c1772006-01-10 20:36:49 +0000357 * ospf_vty.c: (config_write_ospf_distribute) trim down
358 redundant strings.
paul86752842006-01-10 20:34:46 +0000359
paul00c290e2005-11-26 09:21:43 +00003602005-11-26 Paul Jakma <paul.jakma@sun.com>
361
362 * ospf_api.c: (struct opaque_lsa) change from gcc zero-length
363 array to C99 incomplete type array.
paulc9c93d52005-11-26 13:31:11 +0000364 * (general) s/graceful/deferred/ in all files, the former term
365 is confusing wrt OSPF Graceful-Restart.
366 * ospfd.c: (ospf_deferred_shutdown_check) dont return
367 a function which returns void. SOS complains about this.
368 (ospf_finish)
paul00c290e2005-11-26 09:21:43 +0000369
paulb29800a2005-11-20 14:50:45 +00003702005-11-20 Paul Jakma <paul.jakma@sun.com>
371
372 * ospfd.h: remove the OSPF_ROUTER_ID_UPDATE_DELAY define
373 (struct ospf) remove the router_id timer thread.
374 remove export of ospf_router_id_update_timer.
375 * ospfd.c: (ospf_router_id_update) call ospf_if_update to
376 poke interfaces into action after ID has been configured.
377 (ospf_router_id_update_timer) removed.
378 (ospf_finish_final) t_router_id_update timer is gone.
379 (ospf_network_run) router-id update timer gone.
380 call ospf_router_id_update directly if ID not configured.
381 In the per-iface loop, don't ospf_if_up interfaces if
382 ID is still not configured. The update function will call
383 ospf_if_update anyway.
384 (ospf_if_update) ID update timer is gone. Just return if no
385 ID is set.
386 * ospf_vty.c: (ospf_router_id) call ospf_router_id_update, no
387 timer needed.
388 * ospf_zebra.c: (ospf_router_id_update_zebra) call
389 ospf_router_id_update directly, not via timer.
paulc24d6022005-11-20 14:54:12 +0000390 * ospf_abr.c: (ospf_abr_announce_network_to_area) check
391 returned LSA of ospf_summary_lsa_refresh and print warning if
392 it failed.
393 (ospf_abr_announce_network_to_area) similar
394 (ospf_abr_announce_rtr_to_area) similar
395 * ospf_lsa.c: (ospf_router_lsa_new) check LSA returned is valid.
396 (ospf_router_lsa_originate) similar
397 (ospf_router_lsa_refresh, ospf_network_lsa_new) similar
398 (ospf_summary_lsa_new) Check ID is valid.
399 (ospf_summary_lsa_originate) ditto, and check returned LSA from
400 previous function is !NULL.
401 (ospf_summary_lsa_refresh) check ospf_summary_lsa_new return
402 is !NULL.
403 (ospf_summary_asbr_lsa_new) ID valid check.
404 (ospf_summary_asbr_lsa_originate) similar.
paulb29800a2005-11-20 14:50:45 +0000405
ajs70cd3472005-11-16 19:33:22 +00004062005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
407
ajs649654a2005-11-16 20:17:52 +0000408 * ospf_dump.h: Define OSPF_TIME_DUMP_SIZE as appropriate buffer size
409 for use with ospf_timer_dump and ospf_timeval_dump.
410 * ospf_vty.c: Change all buffer sizes used with ospf_timer_dump and
411 ospf_timeval_dump to have size OSPF_TIME_DUMP_SIZE.
412 (show_ip_ospf_interface_sub) Fix possible buffer overflow in
413 call to ospf_timer_dump.
414
4152005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
416
ajs70cd3472005-11-16 19:33:22 +0000417 * ospf_ism.h: (OSPF_ISM_TIMER_OFF) Improve macro syntax by enclosing
418 in 'do {...} while(0)'.
419
paul31a59762005-11-14 11:11:11 +00004202005-11-14 Paul Jakma <paul.jakma@sun.com>
421
422 * ospfd.c: (ospf_new) stub-shutdown should just default to
423 unconfigured, too strange otherwise.
424 (ospf_finish_final) t_opaque_lsa_self TIMER_OFF should be
425 preprocessor conditional on HAVE_OPAQUE_LSA.
426 * ospfd.h: (struct ospf) remove the SHUTDOWN_DEFAULT define.
427 no longer used, plus it wasn't in range that the command
428 accepted.
429 * ospf_zebra.h: Depends on vty.h, include it.
430
paul58e1bef2005-11-11 12:10:03 +00004312005-11-11 Paul Jakma <paul.jakma@sun.com>
432
433 * ospf_spf.c: (ospf_canonical_nexthops_free) Free only
434 the nexthops pointing to the root vertex. We may visit a
435 vertex twice or the vertex may have some inherited nexthops,
436 if we free other nexthops we could crash.
437
paulc8c15212005-11-04 12:31:39 +00004382005-11-04 Paul Jakma <paul.jakma@sun.com>
439
440 * ospf_{dump,spf,vty}.c: Oops, use the internal tv_sub
441 function rather than unportable timersub.
442
paul484315f2005-11-03 09:08:29 +00004432005-11-03 Paul Jakma <paul.jakma@sun.com>
444
445 * ospf_apiserver.c: (apiserver_sync_callback) stray semi-colon
446 * ospf_packet.c: include checksum.h, remove the in_cksum extern
447 * prototypes.
448 * ospf_te.h: Add braces, quell warning.
paul6d452762005-11-03 11:15:44 +0000449 * ospf_packet.c: Change level of some warnings to
450 informational.
paulc8c15212005-11-04 12:31:39 +0000451
paul88d6cf32005-10-29 12:50:09 +00004522005-10-29 Paul Jakma <paul.jakma@sun.com>
453
454 * (general) RFC3137 stub-router support
455 * ospfd.h: Add OSPF_OUTPUT_COST_INFINITE define.
456 (struct ospf_master) Add a OSPF_MASTER_SHUTDOWN flag for
457 options, to allow shutdown to distinguish between complete
458 shutdown and shutdown of a subset of ospf instances.
459 (struct ospf)
460 Add stub_router_{startup,shutdown_}time, configuration of startup
461 and shutdown time for stub-router.
462 Add t_graceful_shutdown struct thread, timer for graceful
463 shutdown, if needed.
464 (struct ospf_area) Add stub_router_state - run time state of
465 stub-router for an area. Add flags for ADMIN, IS and WAS
466 states.
467 Add t_stub_router, timer thread to resend router-lsa for an
468 area.
469 * ospf_lsa.c: (ospf_link_cost) new simple function to spit out
470 either the given lnks cost or infinite cost if stub-router is
471 in effect.
472 (lsa_link_{ptop,broadcast,virtuallink,ptomp}_set) use
473 previous function for transit-links.
474 (ospf_stub_router_timer) timer thread for end of startup stub
475 router. Change state as required for the area and setup
476 re-origination of router-lsa.
477 (ospf_stub_router_check) Check/do whether stub-router should be
478 enabled, and whether it requires timer to be setup.
479 (ospf_router_lsa_new) call previous function at top.
480 (ospf_router_lsa_originate) no external callers, made static.
481 * ospf_lsa.h: (ospf_router_lsa_originate) removed.
482 * ospf_main.c: (sigint) make static.
483 remove call to exit, as ospf_terminate now deals with
484 exiting.
485 * ospf_route.c: (ospf_terminate) removed, now in ospfd.c.
486 * ospf_vty.c: (show_ip_ospf_area) print out state of
487 stub-router, if active.
488 (show_ip_ospf) print out configuration of stub-router
489 support, and details of graceful-shutdown if the timer is
490 active.
491 ((no)?ospf_max_metric_router_lsa_{admin,startup,shutdown}) new
492 commands to (de-)?configure stub-router support.
493 (config_write_stub_router) write out config of stub-router.
494 (ospf_config_write) call previous.
495 (ospf_vty_init) install the new stub-router commands.
496 * ospfd.c: various functions made static.
497 (ospf_new) Set defaults for stub-router. Graceful shutdown
498 is made to default on, just to be adventerous.
499 (ospf_graceful_shutdown_finish) new function, final part of
500 shutdown.
501 (ospf_graceful_shutdown_timer) timer thread wrapper for
502 graceful-shutdown.
503 (ospf_graceful_shutdown_check) check whether to setup timer
504 for shutdown or proceed directly to final shutdown.
505 (ospf_terminate) moved here from ospf_route.c, call
506 ospf_finish for each instance.
507 (ospf_finish) renamed to ospf_finish_final and made static.
508 (ospf_finish) new function, exported wrapper around
509 ospf_graceful_shutdown_check.
510 (ospf_finish_final) complete shutdown of an instance.
511 Add missing TIMER_OFF's of two timer threads.
512 (ospf_area_free) opaque self lsa timer should be turned off.
513
paulb8ad39d2005-10-23 15:23:05 +00005142005-10-23 Paul Jakma <paul.jakma@sun.com>
515
paule029d442005-10-23 15:26:24 +0000516 * ospf_apiserver.c: (ospf_apiserver_term) This function should
517 not have side-effects (eg segv) if no apiserver instances are
518 active, ie be robust.
paulb8ad39d2005-10-23 15:23:05 +0000519 * ospf_vty.c: (show_ip_ospf) fix display of SPF timer if it
520 has not yet been run.
521
paulf9ad9372005-10-21 00:45:17 +00005222005-10-21 Paul Jakma <paul.jakma@sun.com>
523
paulea4ffc92005-10-21 20:04:41 +0000524 * ospf_dump.c: (ospf_timeval_dump) fix ms adjustment, thanks to
525 Andrew Schorr.
526 * ospf_vty.c: (ospf_config_write) fix write out of spf timers
527 configuration.
528
5292005-10-21 Paul Jakma <paul.jakma@sun.com>
530
pauld24f6e22005-10-21 09:23:12 +0000531 * (general) SPF millisecond resolution timer with adaptive,
532 linear back-off holdtime. Prettification of ospf_timer_dump.
533 * ospf_dump.c: (ospf_timeval_dump) new function. The guts of
534 ospf_timer_dump, but made to be more dynamic in printing out
535 the relative timeval, sliding the precision printed out
536 according to the value.
537 (ospf_timer_dump) guts moved to ospf_timeval_dump.
538 * ospf_dump.h: export ospf_timeval_dump.
539 * ospf_flood.c: (ospf_flood) remove gettimeofday, use
540 the libzebra exported recent_time instead, as it's not
541 terribly critical to have time exactly right - the dropped
542 LSA will be retransmited to us if we don't ACK it.
543 * ospf_packet.c: (ospf_ls_upd_timer) Ditto, but here we're
544 not transmitting, just putting LSA back on update transmit list.
545 * ospfd.h: delay and holdtimes should be unsigned.
546 Add spf_max_holdtime and spf_hold_multiplier.
547 Update default defines for delay and hold time to be in msec.
548 (struct ospf) change the SPF timestamp to a struct timeval.
549 Remove ospf_timers_spf_(un)?set.
550 * ospfd.c: (ospf_timers_spf_{set,unset}) removed.
551 (ospf_new) initialise spf_max_holdtime and spf_hold_multiplier
552 * ospf_spf.c: (ospf_spf_calculate) SPF timestamp is a timeval
553 now, update with gettimeofday.
554 (ospf_spf_calculate_schedule) Change SPF timers to millisecond
555 resolution.
556 Make the holdtime be adaptive, with a linear increase in
557 holdtime ever consecutive SPF run which occurs within holdtime
558 of previous SPF, bounded by spf_max_holdtime.
559 * ospf_vty.c: Update spf timers commands.
560 (ospf_timers_spf_set) trivial helper.
561 (ospf_timers_throttle_spf_cmd) new command to set SPF delay,
562 initial hold and max hold times with millisecond resolution.
563 (ospf_timers_spf_cmd) Deprecated. Accept the old values,
564 convert to msec, truncate to new limits.
565 (no_ospf_timers_throttle_spf_cmd) set timers to defaults.
566 (no_ospf_timers_spf_cmd) deprecated form, same as previous.
567 (show_ip_ospf_cmd) Display SPF parameters and times.
568 (show_ip_ospf_neighbour_header) Centralise the 'sh ip os ne'
569 header.
570 (show_ip_ospf_neighbor_sub) Fix the field widths. Get rid of
571 the multiple spaces which were making the lines even longer.
572 (show_ip_ospf_neighbor_cmd) Use show_ip_ospf_neighbour_header
573 (show_ip_ospf_neighbor_all_cmd) ditto and fix the field
574 widths for NBMA neighbours.
575 (show_ip_ospf_neighbor_int) Use header function.
576 (show_ip_ospf_nbr_nbma_detail_sub) use sizeof for timebuf,
577 local array - safer.
578 (show_ip_ospf_neighbor_detail_sub) ditto
579 (ospf_vty_init) install the new SPF throttle timer commands.
580
5812005-10-21 Paul Jakma <paul.jakma@sun.com>
582
paulf9ad9372005-10-21 00:45:17 +0000583 * (general) OSPF fast, sub-second hello and 1s dead-interval
584 support.
585 * ospf_dump.c: (ospf_timer_dump) Print out milliseconds too.
586 Callers typically specify a length of 9, so most see
587 millisecs unless they specify the additional length.
588 * ospf_interface.h: (struct ospf_interface) new interface param,
589 fast_hello.
590 * ospf_interface.c: (ospf_if_table_lookup) add brackets,
591 gcc warning fix.
592 (ospf_new_if_params) Initialise fast_hello param.
593 (ospf_free_if_params) Check whether fast_hello is configured.
594 (ospf_if_new_hook) set fast_hello to default.
595 * ospf_ism.h: Wrap OSPF_ISM_TIMER_ON inside do {} while (0) to
596 prevent funny side-effects from its if statement when this
597 macro is used conditionally by other macros.
598 (OSPF_ISM_TIMER_MSEC_ON) new macro, set in milliseconds.
599 (OSPF_HELLO_TIMER_ON) new macro to set hello timer according
600 to whether fast_hello is set.
601 * ospf_ism.c: Update all setting of the hello timer to use
602 either OSPF_ISM_TIMER_MSEC_ON or OSPF_HELLO_TIMER_ON. The
603 former is used when hello is to be sent immediately.
604 * ospf_nsm.c: ditto
605 * ospf_packet.c: (ospf_hello) hello-interval is not checked
606 for mismatch if fast_hello is set.
607 (ospf_read) Annoying nit, fix "no ospf_interface" to be debug
608 rather than a warning, as it can be perfectly normal to
609 receive packets when logical subnets are used.
610 (ospf_make_hello) Set hello-interval to 0 if fast-hellos are
611 configured.
612 * ospf_vty.c: (ospf_auto_cost_reference_bandwidth) annoying
613 nit, don't vty_out if this command is given, it gets tired
614 quick.
615 (show_ip_ospf_interface_sub) Print the hello-interval
616 according to whether fast-hello is set or not.
617 Print the extra 5 millisec characters from (ospf_timer_dump)
618 if fast-hello is configured.
619 (ospf_vty_dead_interval_set) new function, common to all
620 forms of dead-interval command, to set dead-interval and
621 fast-hello correctly. If a dead-interval is given, unset
622 fast-hello, else if a hello-multiplier is set, set
623 dead-interval to 1 and fast-hello to given multiplier.
624 (ip_ospf_dead_interval_addr_cmd) use
625 ospf_vty_dead_interval_set().
626 (ip_ospf_dead_interval_minimal_addr_cmd) ditto.
627 (no_ip_ospf_dead_interval) Unset fast-hello.
628 (no_ip_ospf_hello_interval) Bug-fix, unset of hello-interval
629 should set it to OSPF_HELLO_INTERVAL_DEFAULT, not
630 OSPF_ROUTER_DEAD_INTERVAL_DEFAULT.
631 (config_write_interface) Write out fast-hello.
632 (ospf_config_write) Write a comment about
633 "auto-cost reference-bandwidth" having to be equal on all
634 routers. Hopefully just as noticeable as old practice of
635 writing to vty, but less annoying.
636 (ospf_vty_if_init) install the two new dead-interval
637 commands.
638 * ospfd.h: Add defines for OSPF_ROUTER_DEAD_INTERVAL_MINIMAL
639 and OSPF_FAST_HELLO_DEFAULT.
640
pauleb3da6d2005-10-18 04:20:33 +00006412005-10-18 Paul Jakma <paul.jakma@sun.com>
642
643 * (general) SPF memory management cleanup and fix for rare
644 double-free bug.
645 * ospf_spf.h: (struct vertex_parent) New struct to hold parent
646 specific data, eg the backlink and the parent vertex pointer,
647 and point to the appropriate general struct vertex_nexthop.
648 (struct vertex_nexthop) remove parent vertex pointer, so
649 this struct can be shared across vertices.
650 (struct vertex) rename list child to list children. Remove
651 list of nexthops, replace with list of vertex_parents.
652 * ospf_spf.c: (update_stat) trivial, remove cast from void *.
653 (vertex_nexthop_new) remove init of parent - field is gone
654 from struct vertex_nexthop.
655 (ospf_canonical_nexthops_free) Remove the canonical
656 vertex_nexthop memory objects. These are the vertex_nexthops
657 attached to the first level of router vertices from the root.
658 (vertex_parent_new) new function, create a vertex_parent.
659 (vertex_parent_free) ditto, but free it.
660 (ospf_vertex_new) Update to match changes to struct vertex.
661 (ospf_vertex_free) Recursively free a struct vertex and its
662 children. The parent list is used as a reference count.
663 vertex_nexthops must be free seperately, if required.
664 (ospf_vertex_dump) update to match struct vertex changes.
665 Print out backlink of parents too.
666 (ospf_vertex_add_parent) ditto.
667 (ospf_lsa_has_link) update comment.
668 (ospf_nexthop_add_unique) removed, not needed anymore.
669 (ospf_nexthop_merge) ditto.
670 (ospf_spf_consider_nexthop) renamed to ospf_spf_add_parent.
671 Simplified to just create vertex_parent and add it.
672 (ospf_spf_flush_parents) new function, flush out the parent
673 list.
674 (ospf_nexthop_calculation) Take the relevant route_lsa_link
675 as an argument, which simplifies things and removes the need
676 for the hack in ospf_nexthop_add_unique - ospf_spf_next
677 already knew exactly which link the cost calculated was for.
678 Update to match struct vertex changes too.
679 (ospf_spf_next) Don't create a vertex for W unnecessarily, if
680 it's there's a vertex already created for W, use it, and
681 hence there's no need to free it either.
682 Update some manipulation/comparisons of distance to match.
683 Flush the parent list if a lower cost path is found.
684 (ospf_spf_route_free) unused, removed.
685 (ospf_spf_dump) match the struct vertex changes, and dump the
686 ifname if possible.
687 (ospf_spf_calculate) At end of SPF, free the canonical nexthops
688 and call ospf_vertex_free on the root vertex to free the
689 entire tree.
690 * ospf_interface.c: (ospf_vl_set_params) match struct vertex
691 changes.
692 * ospf_route.c: (ospf_intra_route_add) ditto
693 (ospf_route_copy_nexthops_from_vertex) ditto
694
paul36238142005-10-11 04:12:54 +00006952005-10-11 Paul Jakma <paul.jakma@sun.com>
696
697 * ospf_api.c: sign warnings.
698 * ospf_apiserver.c: sign warning and convert all the struct
699 in_addr initialisations so as not to make assumptions about
700 how this struct is organised, initialise the s_addr member
701 explicitely.
702 * ospf_packet.c: Add const qualifier to auth_key.
703
vincent77df1f72005-10-06 07:46:22 +00007042005-10-06 Alain Ritoux <alain.ritoux@6wind.com>
705
706 * ospf_snmp.c: Avoid mixing interface and ospf_interface objects
707 which now allows snmpwalk to work with ospfIfTable and
708 also with ospfIfMetricTable
709
ajsf52d13c2005-10-01 17:38:06 +00007102005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
711
712 * ospf_dump.c: Remove local hard-coded table ospf_redistributed_proto.
713 (ospf_redist_string) New function implemented using new library
714 function zebra_route_string(). Note that there are a few differences
715 in the output that will result: the new function returns strings
716 that are lower-case, whereas the old table was mixed case. Also,
717 the old table mapped ZEBRA_ROUTE_OSPF6 to "OSPFv3", whereas the
718 new function returns "ospf6".
719 * ospfd.h: Remove extern struct message ospf_redistributed_proto[],
720 and add extern const char *ospf_redist_string(u_int route_type)
721 instead.
722 * ospf_asbr.c: (ospf_external_info_add) In two messages, use
723 ospf_redist_string instead of LOOKUP(ospf_redistributed_proto).
724 * ospf_vty.c: Remove local hard-coded table distribute_str.
725 (config_write_ospf_redistribute,config_write_ospf_distribute): Use
726 new library function zebra_route_string() instead of distribute_str[].
727 * ospf_zebra.c: (ospf_redistribute_set,ospf_redistribute_unset,
728 ospf_redistribute_default_set,ospf_redistribute_check)
729 In debug messages, use ospf_redist_string() instead of
730 LOOKUP(ospf_redistributed_proto).
731
jardin6638c1a2005-10-01 00:08:54 +00007322005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
733
734 * ospf_dump.c, ospf_ia.c, ospf_spf.c, ospf_ase.c:
735 remove unused DEBUG
736
vincentba682532005-09-29 13:52:57 +00007372005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
738
vincent5e4914c2005-09-29 16:34:30 +0000739 * ospf_ism.c: generate SNMP traps on Interface state change
740 * ospf_nsm.c: generate SNMP traps on Neighbour state change
741 * ospf_snmp.[ch]: support for SNMP traps for interface and neighbours.
742
7432005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
744
vincentba682532005-09-29 13:52:57 +0000745 * ospf_vty.c: forece default route LSA to be re_issued whenever
746 cost is changed ( [no] ip ospf area XXX default-cost YYY)
747 Support ignore-mtu option
748 * ospfd.h: define OSPF_MTU_IGNORE_DEFAULT
749 * ospf_packet.c: support ignore-mtu option
750 * ospf_interface.h: field added for skipping MTU check
751 * ospf_interface.c: fix memory leak in ospf_crypt_key_delete()
752 Set mtu_ignore field to default value
753 * ospf_abr.[ch]: export ospf_abr_announce_network_to_area()
754 * ospf_ism.h: add MACRO to convert internal ISM status into SNMP
755 correct values
756 * ospf_snmp.c: add sanity check on LSA type in lsdb_lookup_next()
757 convert OSPFIFSTATE internal status into SNMP values
758
vincentc1a03d42005-09-28 15:47:44 +00007592005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
760
761 * ospf_packet.c: use new md5 API
762
ajs5339cfd2005-09-19 13:28:05 +00007632005-09-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
764
765 * ospf_lsa.h: (ospf_external_lsa_flush) Comment out the 5th argument
766 (nexthop) since it is not used in the function (except inside
767 some commented-out code).
768 * ospf_lsa.c: (ospf_external_lsa_flush,ospf_external_lsa_refresh)
769 Comment out the 5th argument to ospf_external_lsa_flush.
770 * ospf_asbr.c: (ospf_redistribute_withdraw) Comment out 5th arg
771 to ospf_external_lsa_flush.
772 * ospf_vty.c: (no_ospf_default_information_originate) Eliminate 5th
773 uninitialized nexthop arg to ospf_external_lsa_flush.
774 * ospf_zebra.c: (ospf_zebra_read_ipv4) Comment out 5th arg
775 to ospf_external_lsa_flush.
776 * ospfd.c: (ospf_network_set) Comment out 5th arg
777 to ospf_external_lsa_flush.
778
ajse6a0bf92005-09-17 18:53:38 +00007792005-09-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
780
781 * ospf_opaque.c:
782 (ospf_opaque_lsa_refresh_schedule,ospf_opaque_lsa_flush_schedule)
783 No need to call ospf_lookup(), just use lsa0->area->ospf instead.
784
hassobb5b7552005-08-21 20:01:15 +00007852005-08-21 Hasso Tepper <hasso at quagga.net>
786
787 * ospf_vty.c: Make "show ip ospf neighbor xxx" commands work.
788 Interface should be specified by name now.
789
hasso54bedb52005-08-17 13:31:47 +00007902005-08-17 Hasso Tepper <hasso at quagga.net>
791
792 * ospf_vty.c: Check carefully if interface exists before trying to
793 print info about it.
794
hasso01018ce2005-08-05 07:40:15 +00007952005-08-05 Hasso Tepper <hasso at quagga.net>
796
797 * ospf_zebra.c: Don't assert/stop before type == ZEBRA_ROUTE_MAX if
798 dealing with routemaps. There is ospf->route_map[ZEBRA_ROUTE_MAX]
799 for default-information.
800
paulc8987752005-07-26 06:07:22 +00008012005-07-26 Paul Jakma <paul.jakma@sun.com>
802
803 * ospf_abr.c: (ospf_abr_announce_network_to_area) SET_FLAG
804 should be on lsa not old, which may be freed for one thing,
805 obviously.
806
pauld57834f2005-07-12 20:04:22 +00008072005-07-12 Paul Jakma <paul.jakma@sun.com>
808
809 * ospfd.h: add OSPF_ABR_DEFAULT for convenience, make
810 OSPF_ABR_CISCO be the default ABR type.
811 * ospfd.c: (ospf_new) initialise abr_type to OSPF_ABR_DEFAULT
812 * ospf_vty.c: (no_ospf_abr_type_cmd) add standard as a negatable
813 abr_type. default abr_type should be OSPF_ABR_DEFAULT.
814 (ospf_config_write) test whether default abr_type against
815 OSPF_ABR_DEFAULT, rather than any specific ABR_TYPE.
816
hasso8469bd72005-06-20 20:50:10 +00008172005-06-20 Hasso Tepper <hasso at quagga.net>
hassof4833e92005-06-20 20:42:26 +0000818
819 * ospf_nsm.c: Make database exchange for NSSA database work.
820
paul7461d452005-06-13 13:57:16 +00008212005-06-13 Paul Jakma <paul.jakma@sun.com>
822
823 * ospf_spf.c: Try get more information on a SEGV under
824 ospf_spf_vertex_add_parent.
825 (ospf_vertex_free) NULL out the child and nexthop lists
826 (ospf_vertex_add_parent) nexthop and child can not be NULL
827 vertex_nexthop's parent->child list can not be NULL
828 (ospf_spf_next) w and cw are per-loop iteration variables, move
829 declarations into loop body.
830
hasso1ddd7292005-06-07 19:54:04 +00008312005-06-07 Hasso Tepper <hasso at quagga.net>
832
833 * ospf_apiserver.c: Fix obvious error in notifying clients about ISM
834 changes - oi->ifp->status doesn't give to us info about ISM,
835 oi->state does.
836
paul7e440862005-06-01 11:20:51 +00008372005-06-01 Akihiro Mizutani <mizutani@net-chef.net>
838
839 * ospf_ism.c (ospf_elect_bdr/ospf_elect_dr): Fix DR election bug.
840
paul500e4182005-05-26 17:11:13 +00008412005-05-26 Paul Jakma <paul.jakma@sun.com>
842
843 * ospf_abr.c: (ospf_abr_update_aggregate) Fix comment, cost bug itself
844 had been fixed long ago by Sowmini.
845
paula3387a42005-05-18 23:29:57 +00008462005-05-19 Paul Jakma <paul.jakma@sun.com>
847
848 * ospf_interface.c: (ospf_if_table_lookup) Fix a serious bug
849 a less serious one.
850 1: this function is supposed to lookup
851 entries in the oifs ospf_interface route_table and return either
852 an existing oi or NULL to indicate not found, its caller depends
853 on this, yet this function uses route_node_get which /always/
854 returns a route_node - one is created if none exists. Use
855 route_node_lookup instead. This should fix root cause of the
856 reports of the (ospf_add_to_if) assert being hit.
857 2: oi's are inserted into this table with prefixlength set to
858 /32 (indeed, it should be a hash table, not a route_table),
859 however prefixlength to lookup was not changed, if no valid entry
860 can be inserted other than /32, then nothng but /32 should be
861 looked up. This possibly only worked by fluke..
862 Fix confirmed by 2 reporters (one list, one IRC), definitely a
863 backport candidate once it has been incubated in HEAD for a while.
864 Thanks to Patrick Friedel and Ivan Warren for testing.
865
paul69310a62005-05-11 18:09:59 +00008662005-05-11 Paul Jakma <paul.jakma@sun.com>
867
868 * (general) Fix memory leaks in opaque AS-scope LSAs, reported and
869 with much debugging done by by scott collins <scollins@agile.tv>.
870 * ospf_lsa.c: (ospf_discard_from_db) dont call
871 ospf_ase_unregister_external_lsa for opaque-lsa's, opaques are
872 never registered with ase in the first place.
873 * ospf_packet.c: (general) Disabuse opaque related code of its
874 tendency to try gather up things into temporary lists.
875 (ospf_ls_upd) remove the temporary lists opaque uses, call
876 opaque functions inline, just like all other types.
877 (ospf_ls_ack) ditto.
878 (ospf_recv_packet) fixup sign warning.
879 * ospf_opaque.c: (general) fix the unneeded use of lists, and
880 untwist some of the logic.
881 (ospf_opaque_self_originated_lsa_received) take a single LSA
882 as argument, not a list of them. Remove the list loop. Logic
883 otherwise unchanged.
884 (ospf_opaque_ls_ack_received) Mostly ditto. But untwist the logic,
885 move the actions up into the switch block, remove the goto's and
886 sanitise the logic near the end a bit.
887 * ospf_opaque.h: Adjust definitions of aforementioned functions
888 in ospf_opaque.c to match.
889
paul42c98192005-05-07 02:22:51 +00008902005-05-07 Yar Tikhiy <yar@comp.chem.msu.su>
891
892 * ospf_network.c: Log ifindex on multicast membership leave/join
893 events.
894
paul4dadc292005-05-06 21:37:42 +00008952005-05-06 Paul Jakma <paul.jakma@sun.com>
896
897 * (general) extern and static qualifiers added.
898 unspecified arguments in definitions fixed, typically they should
899 be 'void'.
900 function casts added for callbacks.
901 Guards added to headers which lacked them.
902 Proper headers included rather than relying on incomplete
903 definitions.
904 gcc noreturn function attribute where appropriate.
905 * ospf_opaque.c: remove the private definition of ospf_lsa's
906 ospf_lsa_refresh_delay.
907 * ospf_lsa.h: export ospf_lsa_refresh_delay
908 * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const,
909 correct thing to do - removes need for the casts later.
910 * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's
911 home-brewed versions, shuts up several warnings.
912 * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and
913 VTY_GET_IPV4_PREFIX moved to lib/vty.h.
914 * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky
915 overloading of the THREAD_ARG pointer should at least use
916 uintptr_t.
917
paul9e67dc22005-04-15 12:10:17 +00009182005-04-15 Zhipeng Gong <zpgong@cdc.3upsystems.com>
919
920 * ospf_abr.c: (ospf_abr_announce_network_to_area) dont forget
921 to approve LSAs for the case where metric has changed, lsa gets
922 flushed otherwise. (backport candidate).
923
ajs634f9ea2005-04-11 15:51:40 +00009242005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
925
926 * ospf_zebra.c (ospf_zebra_add): Call zclient_send_message instead
927 of writen.
928
ajsd2fc8892005-04-02 18:38:43 +00009292005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
930
ajse4319de2005-04-02 23:23:55 +0000931 * ospf_interface.h: (ospf_if_lookup_by_name) Remove declaration of a
932 function that does not exist.
933
9342005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
935
ajs21fefa92005-04-02 23:16:41 +0000936 * ospf_zebra.c: (zebra_interface_if_lookup) Must use
937 if_lookup_by_name_len.
938
9392005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
940
ajsa3491982005-04-02 22:50:38 +0000941 * ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create.
942
9432005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
944
ajsd2fc8892005-04-02 18:38:43 +0000945 * ospf_vty.c: (show_ip_ospf_interface_sub) Show ifindex and interface
946 flags to help with debugging.
947 * ospf_zebra.c: (ospf_interface_delete) After deleting, set ifp->ifindex
948 to IFINDEX_INTERNAL.
949 (zebra_interface_if_lookup) Make function static. Tighten up code.
950
ajsaca72fd2005-03-31 15:18:21 +00009512005-03-31 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
952
953 * ospf_dump.c: (show_debugging_ospf) Show if ospf event debugging
954 is turned on.
955
ajsfd651fa2005-03-29 16:08:16 +00009562005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
957
ajsa608bbf2005-03-29 17:03:49 +0000958 * ospf_zebra.c: (ospf_interface_state_up) If the MTU of an operative
959 interface changes, print a debug message and call ospf_if_reset()
960 to simulate down/up on the interface.
961 * ospf_interface.h: Declare new function ospf_if_reset().
962 * ospf_interface.c: (ospf_if_reset) New function to call ospf_if_down
963 and ospf_if_up for all ospf interfaces attached to an interface.
964
9652005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
966
ajs5dcbdf82005-03-29 16:13:49 +0000967 * ospf_packet.c: (ospf_write_frags) Enhance error message to
968 show MTU. Also make function static.
969 (ospf_write) Enhance error message to show interface name and MTU.
970 Also make function static.
971
9722005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
973
974 * ospf_vty.c: (show_ip_ospf_interface_sub) Display interface MTU and
975 bandwidth; this is useful for debugging problems. Also, the function
976 should be static.
ajsfd651fa2005-03-29 16:08:16 +0000977
hasso1b639042005-03-27 13:32:25 +00009782005-03-27 Hasso Tepper <hasso at quagga.net>
979
980 * ospf_snmp.c: Don't crash in snmp query if ospf instance doesn't
981 exist at all.
982
hasso343f5cc2005-03-25 19:48:40 +00009832005-03-25 Hasso Tepper <hasso at quagga.net>
984
985 * ospfd.h: Include log.h, fixes compile with gcc-4.0.
986
ajs9dbc7972005-03-13 19:27:22 +00009872005-03-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
988
989 * ospf_lsa.c: (ospf_lsa_refresh_walker) If the system clock jumps
990 backward, then current time may be less than
991 ospf->lsa_refresher_started. This was causing invalid values
992 for ospf->lsa_refresh_queue.index resulting in infinite loops.
993 Problem fixed by casting the expression to unsigned before taking
994 the modulus.
995
ajs5c333492005-02-23 15:43:01 +00009962005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
997
998 * ospfd.h: Add new field struct stream *ibuf to struct ospf.
999 * ospfd.c: (ospf_new) Check return code from ospf_sock_init.
1000 Allocate ibuf using stream_new(OSPF_MAX_PACKET_SIZE+1).
1001 (ospf_finish) Call stream_free(ospf->ibuf.
1002 * ospf_packet.c: (ospf_read) Call stream_reset(ospf->ibuf) and then
1003 pass it to ospf_recv_packet for use in receiving the packet
1004 (instead of allocating a new stream for each packet received).
1005 Eliminate all calls to stream_free(ibuf).
1006 (ospf_recv_packet) The struct stream *ibuf is now passed in as
1007 an argument. No need to use recvfrom to peek at the packet
1008 header (to see how big it is), just use ospf->ibuf which is
1009 always large enough (this eliminates a system call to recvfrom).
1010 Therefore, no need to allocate a stream just for this packet,
1011 and no need to free it when done.
1012
hasso462f20d2005-02-23 11:29:02 +000010132005-02-23 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it>
1014
1015 * ospf_lsa.h: New flag to the LSA structure for the SPF calculation.
1016 * ospf_lsdb.h: Export ospf_lsdb_clean_stat() function.
1017 * ospf_spf.h: Add link to the LSA stat structure into vertex.
1018 * ospf_spf.c: New functions cmp() and update_stat() to manage
1019 candidates. Remove ospf_spf_has_vertex(), ospf_vertex_lookup(),
1020 ospf_install_candidate() and ospf_spf_register() functions not needed
1021 any more. Update ospf_vertex_new(), ospf_spf_next() and
1022 ospf_spf_calculate() functions to use pqueue instead of linked list.
1023
hassoe40dcce2005-02-21 14:58:42 +000010242005-02-21 Hasso Tepper <hasso at quagga.net>
1025
1026 * ospf_ase.c: Don't show messages related to the ase calculations if
1027 we are not debugging.
1028
hasso306541b2005-02-19 17:58:40 +000010292005-02-19 Hasso Tepper <hasso at quagga.net>
1030
1031 * ospf_api.h: char isn't always signed, but it has to be it here.
1032
paulfa81b712005-02-19 01:19:20 +000010332005-02-19 Paul Jakma <paul.jakma@sun.com>
1034
1035 * ospf_packet.c: (ospf_stream_copy) remove
1036 (ospf_packet_dup) use stream_copy instead of ospf_stream_copy
1037
ajs038163f2005-02-17 19:55:59 +000010382005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1039
1040 * ospf_packet.c: (ospf_recv_packet) If there is somehow a runt
1041 packet in the queue, it must be discarded. Improve warning messages.
1042 Fix scope to static.
1043 (ospf_read) Fix bug: should reset the read thread in all cases
1044 to make sure we continue to get incoming messages.
1045
paul658b03a2005-02-15 10:10:55 +000010462005-02-15 Paul Jakma <paul.jakma@sun.com>
1047
1048 * ospf_packet.c: (ospf_recv_packet) Fix silly error wrt allocating
1049 ibuf. Thanks Andrew.
1050
paulbfdc44a2005-02-14 23:48:42 +000010512005-02-14 Paul Jakma <paul.jakma@sun.com>
1052
1053 * ospf_packet.c: (ospf_recv_packet) use stream_recvmsg.
1054
hasso082253f2005-02-11 08:31:54 +000010552005-02-11 Hasso Tepper <hasso at quagga.net>
1056
1057 * ospf_lsdb.c: Fix sum of checksums calculation.
1058
ajs083ee9d2005-02-09 15:35:50 +000010592005-02-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1060
1061 * ospf_packet.c: (ospf_write) If sendmsg fails, give more info in the
1062 error message.
1063
ajsba6454e2005-02-08 15:37:30 +000010642005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1065
ajs8cfde372005-02-08 15:59:16 +00001066 * ospf_interface.h: Reduce structure padding by putting new u_char
1067 field multicast_memberships in a better spot (grouped with
1068 other u_char fields type and state).
1069
10702005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1071
ajsba6454e2005-02-08 15:37:30 +00001072 * ospf_interface.h: Improve passive_interface comment. Add new
1073 multicast_memberships bitmask to struct ospf_interface to track
1074 active multicast subscriptions. Declare new function
1075 ospf_if_set_multicast.
1076 * ospf_interface.c: (ospf_if_set_multicast) New function to configure
1077 multicast memberships properly based on the current
1078 multicast_memberships status and the current values of the
1079 ospf_interface state, type, and passive_interface status.
1080 (ospf_if_up) Remove call to ospf_if_add_allspfrouters (this is
1081 now handled by ism_change_state's call to ospf_if_set_multicast).
1082 (ospf_if_down) Remove call to ospf_if_drop_allspfrouters (now
1083 handled by ism_change_state).
1084 * ospf_ism.c: (ospf_dr_election) Remove logic to join or leave
1085 the DRouters multicast group (now handled by ism_change_state's call
1086 to ospf_if_set_multicast).
1087 (ism_change_state) Add call to ospf_if_set_multicast to change
1088 multicast memberships as necessary to reflect the new interface state.
1089 * ospf_packet.c: (ospf_hello) When a Hello packet is received on a
1090 passive interface: 1. Increase the severity of the error message
1091 from LOG_INFO to LOG_WARNING; 2. Add more information to the error
1092 message (packet destination address and interface address);
1093 and 3. If the packet was sent to ospf-all-routers, then try
1094 to fix the multicast group memberships.
1095 (ospf_read) When a packet is received on an interface whose state
1096 is ISM_Down, enhance the warning message to show the packet
1097 destination address, and try to update/fix the multicast group
1098 memberships if the packet was sent to a multicast address.
1099 When a packet is received for ospf-designated-routers, but the
1100 current interface state is not DR or BDR, then increase the
1101 severity level of the error message from LOG_INFO to LOG_WARNING,
1102 and try to fix the multicast group memberships.
1103 * ospf_vty.c: (ospf_passive_interface) Call ospf_if_set_multicast for
1104 any ospf interface that may have changed from active to passive.
1105 (no_ospf_passive_interface) Call ospf_if_set_multicast for
1106 any ospf interface that may have changed from passive to active.
1107 (show_ip_ospf_interface_sub) Show multicast group memberships.
1108
paul3a9eb092005-02-08 11:29:41 +000011092005-02-08 Paul Jakma <paul@dishone.st>
1110
1111 * ospf_packet.c: (various) Remove unneeded stream_set_putp abuse.
1112
ajs847947f2005-02-02 18:38:48 +000011132005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1114
1115 * ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down,
1116 not for event ISM_InterfaceDown. And improve the message by
1117 adding the interface flags.
1118
ajs0b7d97d2005-01-30 17:24:02 +000011192005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1120
1121 * ospf_network.c: (ospf_sock_init) Save errno before calling
1122 ospfd_privs.change.
1123
ajsc3eab872005-01-29 15:52:07 +000011242005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1125
1126 * ospf_packet.c: (ospf_packet_add) If oi->obuf is NULL, print
1127 an error message and return.
1128 (ospf_read) If the interface state is ISM_InterfaceDown, issue
1129 a warning message and ignore the packet.
1130
gdt86f1fd92005-01-10 14:20:43 +000011312005-01-10 Greg Troxel <gdt@fnord.ir.bbn.com>
1132
1133 * ospf_packet.h: Remove commented out definition of
1134 OSPF_MAX_PACKET; neither it or the uncommented one are used any more.
1135
1136 * ospf_packet.c (ospf_make_ls_upd): Leave room for authentication
1137 when deciding if an update will fit.
1138 (ospf_packet_authspace): Factor out calculation of size required
1139 for authentication.
1140 (ospf_make_db_desc): Use ospf_max_packet, not OSPF_MAX_PACKET.
1141 Don't confuse readers that there is a macro.
1142
ajs3dc56b52004-12-30 15:11:19 +000011432004-12-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1144
1145 * ospf_network.c: Improve all setsockopt error messages to give detailed
1146 information on the arguments.
1147
ajsb87f7722004-12-29 20:41:26 +000011482004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1149
ajs17eaa722004-12-29 21:04:48 +00001150 * ospf_packet.c: (ospf_db_desc) Reduce severity of "Negotiation done"
1151 messages from LOG_WARNING to LOG_INFO, since this seems to be
1152 normal.
1153
11542004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1155
ajsb87f7722004-12-29 20:41:26 +00001156 * ospf_packet.c: (ospf_read) Always look up the interface if
1157 ospf_recv_packet returns NULL ifp, since some platforms such
1158 as Solaris 8 appear to support ifindex retrieval but don't.
1159
hasso1d806282004-12-22 09:43:20 +000011602004-12-22 Hasso Tepper <hasso at quagga.net>
1161
1162 * ospf_dump.c: Show debug configuration in vtysh.
hassoc6b87812004-12-22 13:09:59 +00001163 * ospf_vty.c: Fix "show ip ospf" output. Router can't be elected in
1164 any case if it's configured as "translate-never".
hassofe71a972004-12-22 16:16:02 +00001165 * ospf_lsdb.[ch]: New function to calculate sum of checksums.
1166 * ospf_vty.c: Bugfix to show really number of AS external LSAs, not
1167 number of all LSAs with AS scope, this includes opaque as LSAs as
1168 well, show this number separately. Show numbers and sums of
1169 checksums for each type of LSAs.
1170 * ospf_lsa.c: Calculate checksum before putting LSA into database.
hasso1d806282004-12-22 09:43:20 +00001171
ajsbc18d612004-12-15 15:07:19 +000011722004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1173
1174 * ospf_interface.h: Declare new function ospf_default_iftype.
1175 * ospf_interface.c: (ospf_default_iftype) New function to centralize
1176 this logic in one place.
1177 * ospf_zebra.c: (ospf_interface_add) Use new function
1178 ospf_default_iftype.
1179 * ospf_vty.c: (no_ip_ospf_network,config_write_interface) Fix logic
1180 by using new function ospf_default_iftype.
1181
ajs3aa8d5f2004-12-11 18:00:06 +000011822004-12-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1183
1184 * ospf_packet.c: (ospf_db_desc) Should be static, not global.
1185 (ospf_hello,ospf_db_desc,ospf_ls_upd,ospf_ls_ack) Improve warning
1186 messages to include identifying information (e.g. router id).
1187 * ospf_nsm.c: (nsm_change_state) Improve info message to include
1188 router id and state names.
1189
gdt91f3e522004-12-09 14:51:03 +000011902004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
1191
gdt3fb9de72004-12-09 16:30:04 +00001192 * ospf_apiserver.c (ospf_apiserver_term): Obtain struct
1193 ospf_apiserver * from listnode. Remove unused variables. Follows
1194 suggestion from Jay Fenlason.
gdt91f3e522004-12-09 14:51:03 +00001195
ajs9b0e25c2004-12-08 19:06:51 +000011962004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1197
1198 * *.c: Change level of debug messages to LOG_DEBUG.
1199
ajs274a4a42004-12-07 15:39:31 +000012002004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1201
1202 * ospf_main.c: (main) The 2nd argument to openzlog has been removed.
1203
ajs887c44a2004-12-03 16:36:46 +000012042004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1205
ajs1210fa62004-12-03 16:43:24 +00001206 * ospf_packet.c: (ospf_db_desc) Reduce priority on a debug message
1207 from LOG_NOTICE to LOG_DEBUG.
1208
12092004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1210
ajs887c44a2004-12-03 16:36:46 +00001211 * ospf_main.c: (sigint) Use zlog_notice for termination message.
1212 (main) Issue a startup announcement using zlog_notice.
1213
ajsbec595a2004-11-30 22:38:43 +000012142004-11-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1215
1216 * ospf_packet.c: (ospf_db_desc_proc) Fix spelling of packet in warning
1217 message and in comment.
1218 (ospf_db_desc) Warning message that a packet is being discarded
1219 should give the router id of the packet source. Fix spelling
1220 of packet in two warning messages.
1221 (ospf_ls_req) Warning message that a link state request is being
1222 discarded should give the router id of the neighbor that sent it.
1223
ajs5b85fac2004-11-26 19:36:42 +000012242004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1225
1226 * ospf_main.c: Remove #include "debug.h" (was not being used, and
1227 lib/debug.h has now been deleted).
1228
hassoc0652302004-11-25 19:33:48 +000012292004-11-25 Hasso Tepper <hasso at quagga.net>
1230
1231 * ospf_main.c: Make group to run as configurable.
1232
gdt69e13252004-11-15 18:51:15 +000012332004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
1234
1235 * ospf_packet.c (ospf_recv_packet): Assume CMSG_SPACE is present
1236 and works (lib/zebra.h provides if OS doesn't).
1237
paul788dab12004-11-15 11:48:37 +000012382004-11-15 Paul Jakma <paul@dishone.st>
1239
1240 * ospf_{apiserver,te}.c: ospf_lsa_free's should be ospf_lsa_unlock.
1241
paul05e85fa2004-11-12 10:52:19 +000012422004-11-12 Paul Jakma <paul@dishone.st>
1243
1244 * ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to
1245 ignore stub area summary default. Even so it seems a strange
1246 check, add a comment to that effect.
1247
paulf3ae74c2004-11-04 20:35:31 +000012482004-11-04 Paul Jakma <paul@dishone.st>
1249
1250 * ospfd.c: (ospf_network_match_iface) revert to previous network
1251 statement match behaviour.
1252
paul62d8e962004-11-02 20:26:45 +000012532004-11-02 Paul Jakma <paul@dishone.st>
1254
1255 * ospf_packet.c: (ospf_write_frags) remove iov arg, msg already points
1256 to it. Add convenience pointer to msg->msg_iov[1], and use this,
1257 fixing the unfortunate borkenness introduced in moving of this code
1258 to a function.
1259 (ospf_write) remove iovp and fix up call to previous.
1260 (ospf_ls_upd_packet_new) cast size to long int - unfortunately
1261 glibc's size_t format modifier is not portable.
1262
paul37ccfa32004-10-31 11:24:51 +000012632004-10-31 Paul Jakma <paul@dishone.st>
1264
1265 * ospf_packet.c: (ospf_write_frags) Add debug output
1266 (ospf_write) set type early, so we can pass it to
1267 ospf_write_frags.
1268 (ospf_ls_upd_packet_new) print size in debug output when too large
1269 packet is encountered.
paul64511f32004-10-31 18:01:13 +00001270 * ospf_zebra.c: (ospf_distribute_list_update_timer) Ugly misuse of
1271 THREAD_ARG to store an integer, but it should at least use same
1272 same type to retrieve the value. Assert value is sane.
paul37ccfa32004-10-31 11:24:51 +00001273
paulac191232004-10-22 12:05:17 +000012742004-10-22 Paul Jakma <paul@dishone.st>
1275
1276 * ospf_network.c: (ospf_sock_init) call neutral setsock_ifindex()
1277 function.
1278 * ospf_packet.c: (ospf_read) manually look up ifindex
paul4ccb2c42004-10-22 22:52:33 +00001279 if system could not have returned one, eg openbsd, thanks to Rivo
1280 Nurges for highlighting problem and fix.
paul06f953f2004-10-22 17:00:38 +00001281 Change setsockopt_pktinfo to setsockopt_ifindex.
paulac191232004-10-22 12:05:17 +00001282
hasso3fb9cd62004-10-19 19:44:43 +000012832004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
1284
1285 * ospf_snmp.c: (ospf_snmp_if_update) Fix logic to handle PtP links
1286 with dedicated subnets properly.
1287 * ospf_lsa.c: (lsa_link_ptop_set) ditto.
1288 * ospfd.c: (ospf_network_match_iface) ditto.
1289 (ospf_network_run) ditto.
1290 * ospf_interface.c: (ospf_if_is_configured) ditto.
1291 (ospf_if_lookup_by_prefix) ditto.
1292 (ospf_if_lookup_recv_if) ditto.
1293 * ospf_vty.c: (show_ip_ospf_interface_sub) Display the peer or
1294 broadcast address if present.
1295
hassod68614d2004-10-13 09:32:48 +000012962004-10-13 Hasso Tepper <hasso at quagga.net>
1297
1298 * ospf_main.c: Unbreak compilation with ospfapi disabled.
hassoc75105a2004-10-13 10:33:26 +00001299 * ospf_snmp.c: Remove defaults used to initialize smux connection to
1300 snmpd. Connection is initialized only if smux peer is configured.
hassod68614d2004-10-13 09:32:48 +00001301
hassof4d58ce2004-10-12 06:13:54 +000013022004-10-12 Hasso Tepper <hasso at quagga.net>
1303
1304 * ospf_main.c, ospf_opaque.c: Unbreak ospfclient compilation - move
1305 static variable from ospf_main.c into ospf_opaque.c.
1306
hassoc3abdb72004-10-11 16:27:03 +000013072004-10-11 Hasso Tepper <hasso at quagga.net>
1308
1309 * ospf_main.c, ospf_opaque.c: Disable ospfapi init by default. New
1310 command line switch to enable it.
1311
paul6b333612004-10-11 10:11:25 +000013122004-10-11 Paul Jakma <paul@dishone.st>
1313
1314 * ospf_dump.c: (ospf_ip_header_dump) Assume header is in host order
1315 remove ntohs that should have dissappeared. Take struct ip
1316 as argument, caller has to know there's an IP header at start of
1317 stream anyway.
1318 * ospf_dump.h: update declaration of ospf_ip_header_dump.
1319 * ospf_packet.c: (ospf_write) correct call to
1320 sockopt_iphdrincl_swab_htosys which was munging the header.
1321 (ospf_recv_packet) ip_len is needed for old OpenBSD fixup.
1322 (ospf_read) sockopt_iphdrincl_swab_systoh ip header as soon as
1323 we have it.
paul6c835672004-10-11 11:00:30 +00001324 * (global) Const char update and signed/unsigned fixes.
1325 * (various headers) size defines should be unsigned.
1326 * ospf_interface.h: remove duplicated defines, include the
1327 authoritative header - though, these defines should probably
1328 be moved to a dedicated header, or ospfd.h.
1329 * ospf_lsa.h: (struct lsa) ls_seqnum should be unsigned.
1330 * ospf_packet.c: (ospf_write) cast result of shift to unsigned.
paul6b333612004-10-11 10:11:25 +00001331
hassoeb1ce602004-10-08 08:17:22 +000013322004-10-08 Hasso Tepper <hasso at quagga.net>
1333
1334 * *.[c|h]: Fix compiler warnings: make some strings const, signed ->
1335 unsigned, remove unused variables etc.
1336
gdt54ade992004-10-07 19:38:20 +000013372004-10-07 Greg Troxel <gdt@claude.ir.bbn.com>
1338
1339 * ospf_apiserver.c (ospf_apiserver_unregister_opaque_type): Don't
1340 use of variable names 'node' and 'nextnode' to avoid possible
1341 conflict with list macros. Move variable declaration inside for
1342 loop after a statement to top of function.
1343
paulaa20c6f2004-10-07 14:19:36 +000013442004-10-07 Paul Jakma <paul@dishone.st>
1345
1346 * ospf_snmp.c: Missed list typedef update
1347 * ospf_dump.c: Include sockopt.h for header swab functions.
1348
paul18b12c32004-10-05 14:38:29 +000013492004-10-05 Paul Jakma <paul@dishone.st>
1350
1351 * ospf_packet.c: replace ospf_swap_iph_to... with
1352 sockopt_iphdrincl_swab_...
1353
hasso18a6dce2004-10-03 18:18:34 +000013542004-10-03 James R. Leu <jleu at mindspring.com>
1355
1356 * ospf_zebra.c: Read router id related messages from zebra daemon.
1357 Schedule router-id update thread if it's changed.
1358 * ospfd.c: Remove own router-id selection function. Use router id from
1359 zebra daemon if it isn't manually overriden in configuration.
1360
paul68defd62004-09-27 07:27:13 +000013612004-09-27 Paul Jakma <paul@dishone.st>
1362
paul6a99f832004-09-27 12:56:30 +00001363 * ospf_dump.c: (ospf_ip_header_dump) Use HAVE_IP_HDRINCL_BSD_ORDER
1364 Apply to offset too. Print ip_cksum, lets not worry about
1365 possible 2.0.37 compile problems.
1366 * ospf_packet.c: (ospf_swap_iph_to{n,h}) Use
1367 HAVE_IP_HDRINCL_BSD_ORDER.
1368 (ospf_recv_packet) ditto.
1369 (ospf_write) Fixup iov argument to ospf_write_frags.
1370 (struct msghdr).msg_name is caddr_t on most platforms.
paul68defd62004-09-27 07:27:13 +00001371 (ospf_recv_packet) ditto. And msg_flags is not always there
1372 memset struct then set fields we care about rather than
1373 initialise all fields individually.
1374
hassoc9e52be2004-09-26 16:09:34 +000013752004-09-26 Hasso Tepper <hasso at quagga.net>
1376
1377 * ospf_abr.c, ospf_dump.c, ospf_lsa.c, ospf_packet.c, ospf_vty.c,
1378 ospf_zebra.c: Fix compiler warnings.
1379
paul87d6f872004-09-24 08:01:38 +000013802004-09-24 Paul Jakma <paul@dishone.st>
1381
1382 * ospf_apiserver.{c,h}: lists typedef removal cleanup.
1383 update some list loops to LIST_LOOP. some miscellaneous indent
1384 fixups.
1385 (ospf_apiserver_unregister_opaque_type) fix listnode_delete of
1386 referenced node in loop.
paul1603c062004-09-24 08:23:24 +00001387 (ospf_apiserver_term) loops calling ospf_apiserver_free, which
1388 deletes referenced nodes from apiserver_list, fixed.
paul87d6f872004-09-24 08:01:38 +00001389 * ospf_interface.h: lists typedef removal cleanup.
1390 * ospf_opaque.{c,h}: lists typedef removal cleanup. update some list
1391 loops to LIST_LOOP. miscellaneous style and indent fixups.
1392 * ospf_te.{c,h}: ditto
1393 * ospf_packet.c: lists typedef removal cleanup.
paula2570682004-09-24 08:09:57 +00001394 (ospf_write) ifdef fragmentation support. move actual
1395 fragmentation out to a new, similarly ifdefed, function.
1396 (ospf_write_frags) fragmented write support, moved from previous.
paul87d6f872004-09-24 08:01:38 +00001397
hasso52dc7ee2004-09-23 19:18:23 +000013982004-09-23 Hasso Tepper <hasso at quagga.net>
1399
1400 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
1401
paul68b73392004-09-12 14:21:37 +000014022004-09-12 Paul Jakma <paul@dishone.st>
1403
1404 * ospf_packet.c: Fix bugzilla #107
1405 (ospf_packet_max) get rid of the magic 88 constant
1406 (ospf_swab_iph_ton) new function. set ip header to network order,
1407 taking BSDisms into account.
1408 (ospf_swab_iph_toh) the inverse.
1409 (ospf_write) Add support for IP fragmentation, will only work on
1410 linux though, other kernels make it impossible. get rid of the
1411 magic 4 constant.
1412 (ospf_make_ls_upd) Bound check to end of stream, not to
1413 interface mtu.
1414 (ospf_ls_upd_packet_new) New function, allocate upd packet
1415 taking oversized LSAs into account.
1416 (ospf_ls_upd_queue_send) use ospf_ls_upd_packet_new to allocate,
1417 rather than statically allocating mtu sized packet buffer, which
1418 actually was wrong - it didnt take ip header into account, which
1419 should not be included in packet buffer.
1420 (ospf_ls_upd_send_queue_event) minor tweaks and remove
1421 TODO comment.
1422
gdt630e4802004-08-31 17:28:41 +000014232004-08-31 David Wiggins <dwiggins@bbn.com>
1424
1425 * ospf_spf.c (ospf_spf_calculate): Many more comments and debug
1426 print statements. New function ospf_vertex_dump used in debugging.
1427
14282004-08-31 David Wiggins <dwiggins@bbn.com>
1429
1430 * ospf_spf.h (struct vertex): Comments for flags and structure members.
1431
14322004-08-31 David Wiggins <dwiggins@bbn.com>
1433
1434 * ospf_route.c: When finding an alternate route, log cost as well.
1435
14362004-08-31 David Wiggins <dwiggins@bbn.com>
1437
1438 * ospf_interface.c (ospf_lookup_if_params): Initialize af in
1439 struct prefix allocated on stack.
1440
14412004-08-31 David Wiggins <dwiggins@bbn.com>
1442
1443 * ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send
1444 acks to AllSPFRouters, rather than All-DR.
1445
hasso7b901432004-08-31 13:37:42 +000014462004-08-27 Hasso Tepper <hasso at quagga.net>
1447
1448 * ospf_vty.c: Don't print ospf network type under interface only
1449 if interface is in broadcast mode and interface type really is
1450 broadcast. Fixes Bugzilla #108.
1451
gdtd7d93992004-08-27 12:03:42 +000014522004-08-27 David Wiggins <dwiggins@bbn.com>
1453
1454 * ospf_spf.c (ospf_nexthop_calculation): Initialize address family
1455 in on-stack struct prefix_ipv4. Fixes point-to-multipoint SPF
1456 calculation.
1457
gdtd0deca62004-08-26 13:14:07 +000014582004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
1459
1460 * ospf_packet.c (ospf_recv_packet): adjust size declaration of
gdtd7d93992004-08-27 12:03:42 +00001461 buffer used to get interface index so that it compiles on other
1462 than Linux and includes the required alignment space. Probably
1463 this was only working on sparc/sparc64 because most of
1464 sockaddr_dl was not being written.
gdtd0deca62004-08-26 13:14:07 +00001465
paul863082d2004-08-19 04:43:43 +000014662004-08-19 Paul Jakma <paul@dishone.st>
1467
1468 * ospf_packet.c: update to match sockopt renames.
1469
paul75ee0b82004-08-05 09:10:31 +000014702004-08-04 Paul Jakma <paul@dishone.st>
1471
1472 * ospf_spf.c: (ospf_spf_consider_nexthop) Add comment about issue.
1473 Compare only against list head - all nexthops must be same cost
1474 anyway, fixes a reference-listnode-after-delete bug noted by
1475 Kir Kostuchenko.
1476 (ospf_nexthop_calculation) Use ospf_spf_consider_nexthop for all
1477 candidates attached to root.
1478
paul36c64ef2004-07-27 11:19:11 +000014792004-07-27 Paul Jakma <paul@dishone.st>
1480
paul48fe13b2004-07-27 17:40:44 +00001481 * ospf_packet.c: (ospf_ls_upd_send_queue_event) fix thinko from
1482 last fix for ospfd wedging due to oversize LSAs: dont list loop on
1483 ospf_ls_upd_queue_send() - guaranteed segfault.
1484
14852004-07-27 Paul Jakma <paul@dishone.st>
1486
paul36c64ef2004-07-27 11:19:11 +00001487 * ospf_opaque.c: (ospf_opaque_lsa_flush_schedule) do not NULL out
1488 the LSA as then free_opaque_info_per_id() can never unlock (and
1489 free) the LSA. Reported by Gunnar Stigen.
1490
paul2dd8bb42004-07-23 15:13:48 +000014912004-07-23 Paul Jakma <paul@dishone.st>
1492
1493 * ospf_network.c: Replace PKTINFO/RECVIF with call to
1494 setsockopt_pktinfo
1495 * ospf_packet.c: Use getsockopt_pktinfo_ifindex and
1496 SOPT_SIZE_CMSG_PKTINFO_IPV4.
1497
paul59ea14c2004-07-14 20:50:36 +000014982004-07-14 Paul Jakma <paul@dishone.st>
1499
1500 * ospf_packet.c: (ospf_ls_upd_send_queue_event) Partial fix for
1501 problem reported by Peter Frost amongst others, where function
1502 will spin indefinitely if update list contains LSAs greater than
1503 MTU-headers or other condition leading to update list never being
1504 cleared. Problem of what to do with these LSAs remains.
1505 (ospf_make_ls_upd) add comment about large LSA problem,
1506 indentation cleanup.
1507
gdtb2c1b282004-07-01 12:35:36 +000015082004-07-01 Greg Troxel <gdt@fnord.ir.bbn.com>
1509
1510 * Makefile.am (lib_LTLIBRARIES): make libospf shared
1511
gdt87efd642004-06-30 17:36:11 +000015122004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1513
1514 * Makefile.am: Add shlib support.
1515
hassobeebba72004-06-20 21:00:27 +000015162004-06-10 Hasso Tepper <hasso@estpak.ee>
1517
1518 * *: Removed ifdefs HAVE_NSSA.
1519
paul553ff112004-06-06 09:41:00 +000015202004-06-06 Paul Jakma <paul@dishone.st>
1521
1522 * ospf_dump.c,ospf_lsa.c: Fix typos of merge of previous.
1523 ospf_flood.c: (ospf_process_self_originated_lsa) fix zlog format
1524
paul0c2be262004-05-31 14:16:54 +000015252004-05-31 Sagun Shakya <sagun.shakya@sun.com>
1526
1527 * ospf_dump.c: (ospf_lsa_header_dump) LOOKUP can return null if
1528 index is out of range.
1529 ospf_flood.c: endianness fix
1530 ospf_lsa.c: Missing ntohl's on (struct lsa *)->data->ls_seqnum
1531 in various places.
1532
hassodd669bb2004-05-10 07:43:59 +000015332004-05-10 Hasso Tepper <hasso@estpak.ee>
1534
1535 * ospf_zebra.c, ospfd.c: Move ospf_prefix_list_update() function
1536 to ospf_zebra.c from ospfd.c and add redistribution updates if
1537 route-map is used in redistribution.
1538 * ospf_main.c: Remove now useless call to ospf_init().
1539
paul0a589352004-05-08 11:48:26 +000015402004-05-08 Paul Jakma <paul@dishone.st>
1541
1542 * ospf_zebra.c: Sync with lib/zclient changes
1543
pauld3f0d622004-05-05 15:27:15 +000015442004-05-05 Paul Jakma <paul@dishone.st>
1545
paul5bd41892004-05-05 17:29:24 +00001546 * ospf_network.c: (ospf_sock_init) Check whether IP_HDRINCL is
1547 defined. Warn at compile and runtime. Use
1548 IPTOS_PREC_INTERNETCONTROL otherwise.
pauld3f0d622004-05-05 15:27:15 +00001549 * ospf_packet.c: (ospf_associate_packet_vl) cleanup, move
1550 some of the checks up to ospf_read, return either a
1551 virtual link oi, or NULL.
1552 (ospf_read) Cleanup, make it responsible for checks. Remove
1553 the nbr lookup - moved to ospf_neighbor. Adjust all nbr
1554 lookups to use new wrappers exported by ospf_neighbor.
1555 * ospf_neighbor.h: Add ospf_neigbour_get and ospf_nbr_lookup.
1556 * ospf_neighbor.c: (ospf_neigbour_get) Index ospf_interface
1557 neighbour table by router-id for virtual-link ospf_interfaces,
1558 not by peer_addr (which breaks for asymmetric vlinks)
1559 (ospf_nbr_lookup) add a wrapper for nbr lookups to deal with
1560 above.
paulcd59da62004-05-05 17:26:55 +00001561 * ospf_interface.c: (ospf_vl_set_params) Catch changes of interface
1562 address for either end of a virtual-link, and hence potential cost
1563 changes.
1564
hassoa0a39762004-04-23 08:51:10 +000015652004-04-22 Hasso Tepper <hasso@estpak.ee>
1566
1567 * ospf_zebra.c: Don't ignore reject/bh routes, it's the only way
1568 to "summarize" routes in ASBR at the moment.
1569
hasso8585d4e2004-04-20 17:25:12 +000015702004-04-20 Hasso Tepper <hasso@estpak.ee>
1571
1572 * ospfd.c: Unset NP flag if area is going to be normal or stub.
1573 Fixes UNH OSPF_NSSA.1.2a comment.
1574 * ospf_abr.c: Originate default into stub/nssa area even if
1575 summaries are disabled.
1576 * ospf_zebra.c: Don't attempt to redistribute 127.0.0.0/8.
1577
hassoc266ac72004-04-19 17:31:00 +000015782004-04-19 Hasso Tepper <hasso@estpak.ee>
1579
1580 * ospf_vty.c: Don't warn that export- and import-list can't be
1581 configured to backbone area if they are applied and are working
1582 fine.
1583
hasso128d31d2004-04-04 12:52:33 +000015842004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1585
1586 * ospf_packet.c: Don't drop packets in Solaris x86.
1587 [quagga-dev 1005].
1588
hasso0d85b992004-03-18 19:18:33 +000015892004-03-18 Amir Guindehi <amir@datacore.ch>
1590
1591 * ospf_opaque.c: Attempt to correct the incorrect behavior of
1592 Quagga's ospfd in the special situation that a node's opaque
1593 capability has changed as "ON -> OFF -> ON". [quagga-dev 843].
1594
paul7f352b82004-02-19 19:37:47 +000015952004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1596
1597 * ospf_abr.c: (ospf_abr_update_aggregate) UNH 3.12b,c, address range
1598 should be configured with the highest cost path within the range,
1599 not lowest.
1600
paul940b01a2004-02-17 20:07:30 +000016012004-02-17 Paul Jakma <paul@dishone.st>
1602
1603 * ospf_zebra.c: (ospf_interface_delete) Do not delete the interface
1604 params, nor the interface structure, if an interface delete
1605 message is received from zebra.
1606 * ospf_interface.c: (ospf_if_delete_hook) Delete the interface
1607 params and interface, ie that which was previously removed in
1608 (ospf_interface_delete) above.
1609
hasso2db3d052004-02-11 21:52:13 +000016102004-02-11 Hasso Tepper <hasso@estpak.ee>
1611 * ospf_interface.c, ospf_zebra.c: Don't attempt to read path->oi->ifp
1612 if oi doesn't exist any more.
1613
hassocb05eb22004-02-11 21:10:19 +000016142004-02-11 Vadim Suraev <vadim.suraev@terayon.com>
1615 * ospf_packet.c (ospf_ls_upd): Router should flush received network
1616 LSA if it was originated with older router-id ([zebra 14710] #6).
1617
16182003-12-08 Mattias Amnefelt <mattiasa@kth.se>
paul239aecc2003-12-08 10:34:54 +00001619
1620 * ospf_packet.c: (ospf_recv_packet) OpenBSD now leaves iph.ip_len
1621 network byte order.
1622
gdt8f40e892003-12-05 14:01:43 +000016232003-12-05 Greg Troxel <gdt@poblano.ir.bbn.com>
1624
1625 * ospfd.c (ospf_network_match_iface): Rewrite code for clarity
1626 while trying not to change semantics. Add ifdefed-out code to
1627 avoid matching ppp interfaces whose destination address does not
1628 also match the prefix under consideration, to help out people with
1629 problems due to as-yet-unfixed bugs with p2p interfaces coming and
1630 going.
1631
paul736d3442003-07-24 23:22:57 +000016322003-07-25 kamatchi soundaram <kamatchi@tdd.sj.nec.com>
1633
1634 * ospf_packet.c (ospf_ls_upd_send_queue_event): get next route
1635 node in body of the loop to avoid chance that route node
1636 is unlocked and deleted before the next iteration tries to
1637 get next route node.
1638
paul0a825c72003-05-24 13:48:16 +000016392003-05-24 Kenji Yabuuchi
1640
1641 * ospf_interface.c(ospf_if_lookup_recv_if): Use the most specific
1642 match for interface lookup.
1643
paul551a8972003-05-18 15:22:55 +000016442003-05-18 Hasso Tepper <hasso@estpak.ee>
paul445f1432003-05-16 19:00:31 +00001645
paul551a8972003-05-18 15:22:55 +00001646 * ospf_vty.c: Show NSSA LSA route info in "show ip ospf database"
1647 output
paul445f1432003-05-16 19:00:31 +00001648
pauld7480322003-05-16 17:31:51 +000016492003-05-16 Hasso Tepper <hasso@estpak.ee>
1650
1651 * ospf_lsa.c: Fix handling of NSSA
1652
paul551a8972003-05-18 15:22:55 +000016532003-04-23 Hasso Tepper <hasso@estpak.ee>
1654
1655 * ospf_vty.c: fix "router xxx" node commands in vtysh
1656
paul445f1432003-05-16 19:00:31 +000016572003-04-19 Hasso Tepper <hasso@estpak.ee>
1658
1659 * {ospf_abr,ospfd}.c: area id's DECIMAL -> ADDRESS
1660 * ospf_routemap.c: sync daemon's route-map commands to have same
1661 syntax.
1662
16632003-04-19 Sergey Vyshnevetskiy <serg@vostok.net>
1664
1665 * ospf_packet.c: Add missing param to zlog
1666 * ospf_flood.c: remove unused vars
1667
16682003-04-17 Denis Ovsienko <zebra@pilot.org.ua>
1669
1670 * ospf_interface.c: fix incorrect memset
1671
paul28a13842003-05-16 20:30:37 +000016722003-04-10 Amir Guindehi <amir@datacore.ch>
paul445f1432003-05-16 19:00:31 +00001673
1674 * ospf_lsa.[ch]: opaque LSA fix, use ospf_lookup.
1675
16762003-04-03 David Watson <dwatson@eecs.umich.edu>
1677
1678 * ospf_lsa.c: byte order fix
1679
paul07661cb2003-03-18 00:03:05 +000016802002-03-17 Amir Guindehi <amir@datacore.ch>
1681
1682 * ospf_apiserver.[ch]: Merge Ralph Keller's OSPFAPI support.
1683 * ospf_api.[ch]: Merge Ralph Keller's OSPFAPI support.
1684 * ospfclient: OSPFAPI demonstration client.
1685
16862003-01-23 Masahiko Endo <endo@suri.co.jp>
1687
1688 * ospf_ism.c: NSM event schedule bug fix.
1689
16902002-10-30 Greg Troxel <gdt@ir.bbn.com>
1691
1692 * ospf_packet.c (ospf_make_md5_digest): MD5 length fix.
1693
paul718e3742002-12-13 20:15:29 +000016942002-10-23 endo@suri.co.jp (Masahiko Endo)
1695
1696 * ospf_opaque.c: Update Opaque LSA patch.
1697
16982002-10-23 Ralph Keller <keller@tik.ee.ethz.ch>
1699
1700 * ospf_vty.c (show_ip_ospf_database): Fix CLI parse.
1701
17022002-10-23 Juris Kalnins <juris@mt.lv>
1703
1704 * ospf_interface.c (ospf_if_stream_unset): When write queue
1705 becomes empty stop write timer.
1706
17072002-10-10 Greg Troxel <gdt@ir.bbn.com>
1708
1709 * ospf_packet.c (ospf_check_md5_digest): Change >= to > to make it
1710 conform to RFC.
1711
17122002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1713
1714 * zebra-0.93 released.
1715
17162002-06-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1717
1718 * ospf_spf.c (ospf_nexthop_calculation): Add NULL set to oi and
1719 check of l2. Reported by: Daniel Drown <dan-zebra@drown.org>
1720 (ospf_lsa_has_link): LSA Length calculation fix. Reported by:
1721 Paul Jakma <paulj@alphyra.ie>.
1722
1723 * ospfd.c (ospf_if_update): Fix nextnode reference bug. Reported
1724 by: juris@mt.lv.
1725
17262002-01-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1727
1728 * ospfd.c: Merge [zebra 11445] Masahiko ENDO's Opaque-LSA support.
1729
17302001-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1731
1732 * ospf_interface.c (ospf_add_to_if): Use /32 address to register
1733 OSPF interface information.
1734 (ospf_delete_from_if): Likewise.
1735
1736 * ospf_zebra.c (ospf_interface_address_delete): Likewise.
1737
17382001-08-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1739
1740 * ospf_zebra.c (ospf_redistribute_unset): When redistribute type
1741 is OSPF, do not unset redistribute flag.
1742
17432001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1744
1745 * zebra-0.92a released.
1746
17472001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1748
1749 * zebra-0.92 released.
1750
17512001-08-12 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1752
1753 * ospfd.c (ospf_config_write): auto-cost reference-bandwidth
1754 configuration display.
1755
17562001-07-24 David Watson <dwatson@eecs.umich.edu>
1757
1758 * ospf_spf.c (ospf_spf_next): Modify ospf_vertex_add_parent to
1759 check for an existing link before connecting the parent and child.
1760 ospf_nexthop_calculation is also modified to check for duplicate
1761 entries when copying from the parent. Finally, ospf_spf_next
1762 removes duplicates when it merges two equal cost candidates.
1763
17642001-07-23 itojun@iijlab.net
1765
1766 * ospfd.c (show_ip_ospf_neighbor): Check ospf_top before use it
1767 [zebra 8549].
1768
17692001-07-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1770
1771 * ospf_packet.c (ospf_write): Remove defined(__OpenBSD__) to make
1772 it work on OpenBSD.
1773
17742001-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1775
1776 * ospf_zebra.c (config_write_ospf_default_metric): Display
1777 default-metric configuration.
1778
17792001-06-18 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1780
1781 * ospf_ia.h (OSPF_EXAMINE_SUMMARIES_ALL): Remove old macros.
1782
17832001-05-28 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1784
1785 * ospf_snmp.c (ospfIfEntry): Fix interface lookup bug to avoid
1786 crush.
1787 (ospfIfMetricEntry): Likewise.
1788
17892001-03-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1790
1791 * ospf_packet.c (ospf_read): Fix typo. Reported by: "Jen B
1792 Lin'Kova" <jen@stack.net>.
1793
17942001-03-15 Gleb Natapov <gleb@nbase.co.il>
1795
1796 * ospf_interface.c (ip_ospf_network): Set interface parameter.
1797 (interface_config_write): Add check for OSPF_IFTYPE_LOOPBACK.
1798
1799 * ospf_zebra.c (ospf_interface_add): Set interface parameter.
1800
18012001-02-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1802
1803 * ospf_packet.c (ospf_recv_packet): Solaris also need to add
1804 (iph.ip_hl << 2) to iph.ip_len.
1805
18062001-02-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1807
1808 * ospfd.h (OSPF_LS_REFRESH_TIME): Fix OSPF_LS_REFRESH_TIME value.
1809 Suggested by: David Watson <dwatson@eecs.umich.edu>.
1810
1811 * ospf_zebra.c (zebra_init): Remove zebra node.
1812
1813 * ospfd.c (ospf_area_range_set): Function name is changed from
1814 ospf_ara_range_cmd.
1815 (ospf_area_range_unset): New function which separated from DEFUN.
1816 New commands are added:
1817 "no area A.B.C.D range A.B.C.D/M advertise"
1818 "no area <0-4294967295> range A.B.C.D/M advertise"
1819 "no area A.B.C.D range A.B.C.D/M not-advertise"
1820 "no area <0-4294967295> range A.B.C.D/M not-advertise"
1821
1822 * ospf_lsa.c (ospf_lsa_more_recent): Fix previous change.
1823
18242001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
1825
1826 * ospf_network.c (ospf_if_add_allspfrouters): Use
1827 setsockopt_multicast_ipv4.
1828 (ospf_if_drop_allspfrouters): Likewise.
1829
1830 * ospf_lsa.c (ospf_router_lsa_install): Add rt_recalc flag.
1831 (ospf_network_lsa_install): Likewise.
1832 (ospf_summary_lsa_install): Likewise.
1833 (ospf_summary_asbr_lsa_install): Likewise.
1834 (ospf_external_lsa_install): Likewise.
1835 (ospf_lsa_install): Call ospf_lsa_different to check this LSA is
1836 new one or not.
1837
18382001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1839
1840 * ospf_zebra.c (ospf_interface_delete): Do not free interface
1841 structure when ospfd receive interface delete message to support
1842 pseudo interface.
1843
18442001-02-01 Dick Glasspool <dick@ipinfusion.com>
1845
1846 * ospfd.c (area_range_notadvertise): Change area range "suppress"
1847 command to "not-advertise".
1848
1849 * ospfd.h (OSPF_LS_REFRESH_TIME): Change OSPF_LS_REFRESH_TIME from
1850 1800 to 60.
1851
1852 * ospf_abr.c (ospf_abr_update_aggregate): When update_aggregate is
1853 updating the area-range, the lowest cost is now saved.
1854
1855 * ospf_lsa.c (ospf_lsa_more_recent): Routing to compare sequence
1856 numbers rather than creating overflow during calculation.
1857
18582001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1859
1860 * zebra-0.91 is released.
1861
18622001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1863
1864 * ospf_packet.c (ospf_db_desc_proc): Do not continue process when
1865 NSM_SeqNumberMismatch is scheduled.
1866 (ospf_ls_req): Free ls_upd when return from this function.
1867 (ospf_ls_upd_timer): When update list is empty do not call
1868 ospf_ls_upd_send(). Suggested by: endo@suri.co.jp (Masahiko
1869 Endo).
1870
18712001-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1872
1873 * ospf_lsa.c (ospf_maxage_flood): Flood LSA when it reaches
1874 MaxAge. RFC2328 Section 14.
1875 (ospf_maxage_lsa_remover): Call above function during removing
1876 MaxAge LSA.
1877
18782001-01-26 Dick Glasspool <dick@ipinfusion.com>
1879
1880 * ospf_flood.c (ospf_flood_through_as): Function is updated for
1881 NSSA Translations now done at ospf_abr.c with no change in P-bit.
1882
1883 * ospf_lsa.c (ospf_get_nssa_ip): Get 1st IP connection for Forward
1884 Addr.
1885 (ospf_install_flood_nssa): Leave Type-7 LSA at Lock Count = 2.
1886
1887 * ospf_ase.c (ospf_ase_calculate_route): Add debug codes.
1888
1889 * ospf_abr.c (ospf_abr_translate_nssa): Recalculate LSA checksum.
1890
1891 * ospf_packet.h (OSPF_SEND_PACKET_LOOP): Added for test packet.
1892
1893 * ospf_dump.c (ospf_lsa_type_msg): Add OSPF_GROUP_MEMBER_LSA and
1894 OSPF_AS_NSSA_LSA.
1895
1896 * ospfd.c (data_injection): Function to inject LSA. This is
1897 debugging command.
1898
18992001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1900
1901 * ospf_route.c (ospf_route_match_same): Remove function.
1902 (ospf_route_match_same_new): Renamed to ospf_route_match_same.
1903
1904 * ospf_zebra.c (ospf_interface_address_delete): Add check for
1905 oi->address. Suggested by Matthew Grant
1906 <grantma@anathoth.gen.nz>.
1907 (ospf_zebra_add): Remove function.
1908 (ospf_zebra_add_multipath): Rename to ospf_zebra_add.
1909
1910 * ospf_interface.c: Remove HAVE_IF_PSEUDO part.
1911
1912 * ospf_zebra.c: Likewise.
1913
19142001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1915
1916 * ospf_ase.c: Remove OLD_RIB part.
1917
1918 * ospf_route.c: Likewise.
1919
1920 * zebra-0.90 is released.
1921
1922 * ospf_packet.c (ospf_recv_packet): Use ip_len adjestment code to
1923 NetBSD.
1924
19252001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1926
1927 * ospf_route.c (ospf_route_delete): Use
1928 ospf_zebra_delete_multipath.
1929
19302001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1931
1932 * ospf_interface.c (ospf_if_cleanup): Function name is renamed
1933 from ospf_if_free(). Rewrite whole procudure to support primary
1934 address deletion.
1935
1936 * ospf_zebra.c (ospf_interface_address_delete): Add primary
1937 address deletion process.
1938
19392001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1940
1941 * ospf_packet.c (ospf_recv_packet): OpenBSD has same ip_len
1942 treatment like FreeBSD.
1943
19442001-01-09 endo@suri.co.jp (Masahiko Endo)
1945
1946 * ospf_packet.c (ospf_recv_packet): FreeBSD kernel network code
1947 strips IP header size from receiving IP Packet. So we adjust
1948 ip_len to whole IP packet size by adding IP header size.
1949
19502001-01-08 endo@suri.co.jp (Masahiko Endo)
1951
1952 * ospf_network.c (ospf_serv_sock): When socket() is failed return
1953 immediately.
1954 (ospf_serv_sock): Close socket when it is not used.
1955
1956 * ospf_packet.c (ospf_write): Set sin_len when HAVE_SIN_LEN is
1957 defined.
1958 (ospf_write): When bind is fined, close sock.
1959
19602001-01-07 Gleb Natapov <gleb@nbase.co.il>
1961
1962 * ospf_zebra.c (ospf_interface_state_up): Fixes coredump that
1963 appears when you try to configure bandwidth on the ppp interface
1964 that is not yet configured in ospfd.
1965
19662001-01-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1967
1968 * ospf_route.c (show_ip_ospf_route_external): "show ip ospf route"
1969 will print nexthops for AS-external routes.
1970
1971 * ospf_ase.c (ospf_ase_route_match_same): New function to compare
1972 ASE route under multipath environment.
1973 (ospf_ase_compare_tables): Likewise.
1974
19752001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1976
1977 * ospfd.h (OSPF_VTYSH_PATH): Change "/tmp/ospfd" to "/tmp/.ospfd".
1978
19792000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1980
1981 * ospf_route.c (ospf_route_install): Install multipath information
1982 to zebra daemon.
1983
1984 * ospf_zebra.c (ospf_zebra_add_multipath): Function for passing
1985 multipath information to zebra daemon.
1986
19872000-12-25 Dick Glasspool <dick@ipinfusion.com>
1988
1989 * ospf_packet.c (ospf_write): Call ospf_packet_delete when sendto
1990 fail.
1991 (DISCARD_LSA): Add argument N for logging point of DISCARD_LSA is
1992 called.
1993
1994 * ospf_lsa.c (ospf_external_lsa_refresh): NSSA install_flood will
1995 leave Type-7 LSA at Lock Count = 2.
1996
1997 * ospf_flood.c (ospf_flood_through): Flood_though_as updated for
1998 NSSA no P-bit off during Area flooding, but P-bit is turned off
1999 for mulitple NSSA AS flooding.
2000
2001 * ospf_ase.c (ospf_ase_calculate_timer): Added calculations for
2002 Type-7 LSDB.
2003
2004 * ospf_abr.c (ospf_abr_translate_nssa): Removed one unlock call.
2005 (ospf_abr_announce_nssa_defaults): Corrected Debug from EVENT to
2006 NSSA.
2007
20082000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2009
2010 * ospf_zebra.c (ospf_zebra_read_ipv4): Checking the age of the
2011 found LSA and if the LSA is MAXAGE we should call refresh instead
2012 of originate.
2013
20142000-12-18 Dick Glasspool <dick@ipinfusion.com>
2015
2016 * ospf_abr.c: Removed redundant "...flood" in
2017 announce_network_to_area(). Repaired nssa Unlock by using
2018 discard.
2019
2020 * ospf_packet.c: Removed old NSSA translate during mk_ls_update.
2021
2022 * ospfd.c: Free up all data bases including NSSA.
2023
2024 * ospf_lsa.c: Now allow removal of XLATE LSA's Check in
2025 discard_callback. Added routine to get ip addr from within the
2026 ifp.
2027
2028 * ospf_flood.c: Now set Forward Address for outgoing Type-7.
2029
2030 * ospf_lsa.h: Added prototype for the below. struct in_addr
2031 ospf_get_ip_from_ifp (struct interface *ifp).
2032
20332000-12-14 Gleb Natapov <gleb@nbase.co.il>
2034
2035 * ospf_packet.c (ospf_recv_packet): New OSPF pakcet read method.
2036 Now maximum packet length may be 65535 bytes (maximum IP packet
2037 length).
2038
2039 * ospf_interface.c (ospf_if_stream_set): Don't make input buffer.
2040
2041 * ospfd.c (config_write_network_area): Remove unnecessary area
2042 lookup code.
2043
20442000-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2045
2046 * ospf_packet.c (ospf_read): Accept packet bigger than MTU value.
2047
20482000-12-13 Gleb Natapov <gleb@nbase.co.il>
2049
2050 * ospfd.c (config_write_network_area): Fix bug in
2051 config_write_network_area function.
2052
20532000-12-12 Gleb Natapov <gleb@nbase.co.il>
2054
2055 * ospf_abr.c (ospf_abr_announce_network_to_area): Make Summary
2056 LSA's origination and refreshment as same as other type of LSA.
2057
2058 * ospf_lsa.c (ospf_summary_lsa_refresh): Return struct ospf_lsa *.
2059
2060 * ospf_lsa.c (ospf_summary_asbr_lsa_refresh): Likewise.
2061
20622000-12-08 Dick Glasspool <dick@ipinfusion.com>
2063
2064 The bulk of NSSA changes are contained herein; This version will
2065 require manual setting of "always" for NSSA Translator, and will
2066 not perform aggregation yet.
2067
2068 * ospf_dump.c: "debug ospf nssa" is added.
2069
2070 * ospf_dump.h: Likewise.
2071
2072 * ospf_packet.c (ospf_hello): Display router ID on Bad NSSA Hello.
2073
2074 * ospfd.c: Discard_LSA to stay away from LOCAL_XLT Process NSSA
2075 'never, candidate, always'. Change "suppress" to "not-advertise".
2076
2077 * ospfd.h: Add TranslatorRole to struct ospf_area. Add anyNSSA to
2078 struct ospf.
2079
2080 * ospf_ase.c (ospf_ase_calculate_route): External to stay away
2081 from LOCAL_XLT
2082
2083 * ospf_nsm.c (ospf_db_summary_add): External to stay away from
2084 LOCAL_XLT
2085
2086 * ospf_abr.c: Major logic added for abr_nssa_task(). If ABR, and
2087 NSSA translator, then do it. Approve the global list, and flush
2088 any unapproved.
2089
2090 * ospf_lsa.h: New LSA flag OSPF_LSA_LOCAL_XLT to indicate that the
2091 Type-5 resulted from a Local Type-7 translation; not used for
2092 flooding, but used for flushing.
2093
2094 * ospf_flood.c: New NSSA flooding.
2095
20962000-12-08 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2097
2098 * ospfd.c (ospf_find_vl_data): New function for looking up virtual
2099 link data.
2100 (ospf_vl_set_security): Virtual link configuration with
2101 authentication.
2102 (ospf_vl_set_timers): Set timers for virtual link.
2103
2104 * New commands are added.
2105 "area A.B.C.D virtual-link A.B.C.D"
2106 "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>"
2107 "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"
2108 "area A.B.C.D virtual-link A.B.C.D authentication-key AUTH_KEY"
2109 "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"
2110 "area A.B.C.D virtual-link A.B.C.D message-digest-key <1-255> md5 KEY"
2111
2112 * ospf_packet.c (ospf_check_md5_digest): Add neighbor's
2113 cryptographic sequence number treatment.
2114 (ospf_check_auth): OSPF input buffer is added to argument.
2115 (ospf_read): Save neighbor's cryptographic sequence number.
2116
2117 * ospf_nsm.c (nsm_change_status): Clear cryptographic sequence
2118 number when neighbor status is changed to NSM down.
2119
2120 * ospf_neighbor.c (ospf_nbr_new): Set zero to crypt_seqnum.
2121
2122 * ospf_neighbor.h (struct ospf_neighbor): Add cryptographic
2123 sequence number to neighbor structure.
2124
21252000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2126
2127 * ospf_snmp.c (ospfIfLookup): OSPF MIB updates.
2128 (ospfExtLsdbEntry): Add OspfExtLsdbTable treatment.
2129
21302000-11-28 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2131
2132 * ospfd.c (ospf_interface_down): Clear a ls_upd_queue queue of the
2133 interface.
2134 (ospf_ls_upd_queue_empty): New function to empty ls update queue
2135 of the OSPF interface.
2136 (no_router_ospf): 'no router ospf' unregister redistribution
2137 requests from zebra.
2138
21392000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2140
2141 * ospf_ism.c (ism_change_status): Increment status change number.
2142
2143 * ospf_interface.h (struct ospf_interface): Add new member for
2144 status change statistics.
2145
2146 * Makefile.am: Update dependencies.
2147
2148 * ospf_zebra.c (ospf_interface_add): OSPF SNMP interface update.
2149 (ospf_interface_delete): OSPF SNMP interface delete.
2150
2151 * ospf_snmp.h: New file is added.
2152
21532000-11-23 Dick Glasspool <dick@ipinfusion.com>
2154
2155 * ospfd.h: Add new ospf_area structure member for
2156 NSSATranslatorRole and NSSATranslator state.
2157
2158 * ospfd.c: Provided for eventual commands to specify NSSA
2159 elections for "translator- ALWAYS/NEVER/CANDIDATE". Provided for
2160 decimal integer version of area-suppress.
2161
2162 * ospf_flood.c: Flood Type-7's only into NSSA (not AS).
2163
2164 * ospf_lsa.c: Undo some previous changes for NSSA. If NSSA
2165 translator, advertise Nt bit.
2166
2167 * ospf_route.c: 1st version of "sh ip os border-routers".
2168
21692000-11-23 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2170
2171 * ospfd.c (area_vlink): Virtual link can not configured in stub
2172 area.
2173
21742000-11-23 Gleb Natapov <gleb@nbase.co.il>
2175
2176 * ospf_packet.c (ospf_db_desc): In states Loading and Full the
2177 slave must resend its last Database Description packet in response
2178 to duplicate Database Description packets received from the
2179 master. For this reason the slave must wait RouterDeadInterval
2180 seconds before freeing the last Database Description packet.
2181 Reception of a Database Description packet from the master after
2182 this interval will generate a SeqNumberMismatch neighbor
2183 event. RFC2328 Section 10.8
2184 (ospf_make_db_desc): DD Master flag treatment.
2185
2186 * ospf_nsm.c (nsm_twoway_received): Move DD related procedure to
2187 nsm_change_status().
2188 (nsm_bad_ls_req): Likewise.
2189 (nsm_adj_ok): Likewise.
2190 (nsm_seq_number_mismatch): Likewise.
2191 (nsm_oneway_received): Likewise.
2192
2193 * ospf_neighbor.h (struct ospf_neighbor): New structure member
2194 last_send_ts for timestemp when last Database Description packet
2195 was sent.
2196
2197 * ospf_nsm.c (ospf_db_desc_timer): Make it sure nbr->last_send is
2198 there. Call ospf_db_desc_resend() in any case.
2199
22002000-11-16 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2201
2202 * ospf_lsa.c (lsa_link_broadcast_set): When there is no DR on
2203 network (suppose you have only one router with interface priority
2204 0). It's router LSA does not contain the link information about
2205 this network.
2206
2207 * ospf_nsm.c (nsm_timer_set): When you change a priority of
2208 interface from/to 0 ISM_NeighborChange event should be scheduled
2209 in order to elect new DR/BDR on the network.
2210
2211 * ospf_interface.c (ip_ospf_priority): Likewise.
2212
2213 * ospf_flood.c (ospf_ls_retransmit_add): When we add some LSA into
2214 retransmit list we need to check whether the present old LSA in
2215 retransmit list is not more recent than the new
2216 one.
2217
22182000-11-09 Dick Glasspool <dick@ipinfusion.com>
2219
2220 * ospf_packet.c: Allows for NSSA Type-7 LSA's throughout the NSSA
2221 area. Any that exit the NSSA area are translated to type-5 LSA's.
2222 The instantiated image is restored after translation.
2223 (ospf_ls_upd_send_list): Renamed to ospf_ls_upd_queu_send().
2224 (ospf_ls_upd_send): Old function which enclosed by #ifdef 0 is
2225 removed.
2226 (ospf_ls_ack_send): Likewise.
2227
2228 * ospf_flood.c: NSSA-LSA's without P-bit will be restricted to
2229 local area. Otherwise they are allowed out the area to be
2230 translated by ospf_packet.c.
2231
2232 * ospf_lsa.c: Undo some previous changes for NSSA.
2233
2234 * ospf_lsdb.h: New access for type 7.
2235
22362000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2237
2238 * ospf_route.c (ospf_path_exist): New function to check nexthop
2239 and interface are in current OSPF path or not.
2240 (ospf_route_copy_nexthops_from_vertex): Add nexthop to OSPF path
2241 when it is not there. Reported by Michael Rozhavsky
2242 <mrozhavsky@opticalaccess.com>
2243
22442000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2245
2246 * ospf_dump.c (config_write_debug): Add seventh string "detail" is
2247 added for flag is OSPF_DEBUG_SEND | OSPF_DEBUG_RECV |
2248 OSPF_DEBUG_DETAIL.
2249
22502000-11-06 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2251
2252 * ospf_lsa.c (router_lsa_flags): ASBR can't exit in stub area.
2253
22542000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2255
2256 * ospf_lsa.c (ospf_router_lsa_originate): Reduce unconditional
2257 logging.
2258
22592000-11-06 Dick Glasspool <dick@ipinfusion.com>
2260
2261 * ospfd.h: Add ait_ntoa function prototype.
2262
2263 * ospfd.c (ait_ntoa): New function for displaying area ID and
2264 Stub/NSSA status.
2265 (show_ip_ospf_interface_sub): Use ait_ntoa.
2266 (show_ip_ospf_nbr_static_detail_sub): Likewise.
2267 (show_ip_ospf_neighbor_detail_sub): Likewise.
2268
2269 * ospf_route.c (ospf_intra_route_add): Set external routing type
2270 to ospf route.
2271 (ospf_intra_add_router): Likewise.
2272 (ospf_intra_add_transit): Likewise.
2273 (ospf_intra_add_stub): Likewise.
2274 (ospf_add_discard_route): Likewise.
2275 (show_ip_ospf_route_network): Use ait_ntoa.
2276 (show_ip_ospf_route_network): Likewise.
2277 (show_ip_ospf_route_router): Likewise.
2278
2279 * ospf_lsa.c (show_lsa_detail): Use ait_ntoa.
2280 (show_lsa_detail_adv_router): Likewise.
2281 (show_ip_ospf_database_summary): Likewise.
2282
2283 * ospf_route.h (struct route_standard): Add new member
2284 external_routing.
2285
2286 * ospf_ia.c (process_summary_lsa): Set external routing tyep to ospf
2287 route.
2288 (ospf_update_network_route): Likewise.
2289 (ospf_update_router_route): Likewise.
2290
22912000-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2292
2293 * ospf_flood.c (ospf_process_self_originated_lsa): Enclose
2294 OSPF_AS_NSSA_LSA treatment with #ifdef HAVE_NSSA.
2295
22962000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2297
2298 * Unconditional logging is enclosed with if (IS_DEBUG_OSPF_EVENT).
2299 Please specify "debug ospf event" for enable logging.
2300
2301 * ospf_ism.c: Do not extern debug flag varible. It is done by
2302 ospf_debug.h
2303 * ospf_asbr.c: Likewise.
2304 * ospf_lsa.c: Likewise.
2305 * ospf_nsm.c: Likewise.
2306 * ospf_zebra.c: Likewise.
2307
2308 * ospf_dump.c (debug_ospf_event): New command "debug ospf event"
2309 is added.
2310
2311 * ospfd.c (router_ospf): Change logging from vty_out() to
2312 zlog_info().
2313 (ospf_area_stub_cmd): Likewise.
2314
2315 * ospf_dump.h: Extern term_debug flags.
2316 (OSPF_DEBUG_EVENT): Add new flag.
2317 (IS_DEBUG_OSPF_EVENT): Add new macro.
2318
23192000-11-03 Dick Glasspool <dick@ipinfusion.com>
2320
2321 * ospf_flood.c (ospf_process_self_originated_lsa):
2322 OSPF_AS_NSSA_LSA is treated as same as OSPF_AS_EXTERNAL_LSA.
2323 (ospf_flood): Type-5's have no change. Type-7's can be received,
2324 and will Flood the AS as Type-5's They will also flood the local
2325 NSSA Area as Type-7's. The LSDB will be updated as Type-5's, and
2326 during re-fresh will be converted back to Type-7's (if within an
2327 NSSA).
2328 (ospf_flood_through): Incoming Type-7's were allowed here if our
2329 neighbor was an NSSA. So Flood our area with the Type-7 and also
2330 if we are an ABR, flood thru AS as Type-5.
2331
2332 * ospf_lsa.c (ospf_external_lsa_refresh): Flood NSSA both NSSA
2333 area and other area.
2334
2335 * ospf_packet.c (ospf_db_desc_proc): When AS External LSA is
2336 exists in DD packet, make it sure that this area is not stub.
2337 (ospf_ls_upd_list_lsa): When LSA type is NSSA then set lsa's area
2338 to NULL.
2339 (ospf_ls_upd): If the LSA is AS External LSA and the area is stub
2340 then discard the lsa. If the LSA is NSSA LSA and the area is not
2341 NSSA then discard the lsa.
2342
23432000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2344
2345 * ospfd.c (ospf_interface_run): Fix bug of Hello packet's option
2346 is not properly set when interface comes up.
2347
23482000-11-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2349
2350 * ospfd.h (OSPF_OPTION_O): Add new hello header option.
2351
23522000-11-01 Dick Glasspool <dick@ipinfusion.com>
2353
2354 * ospf_lsa.h: Define OSPF_MAX_LSA to 8 when HAVE_NSSA is enabled.
2355 (OSPF_GROUP_MEMBER_LSA): Define OSPF_GROUP_MEMBER_LSA.
2356
2357 * ospf_lsa.c (show_database_desc): Add "Group Membership LSA"
2358 string.
2359
23602000-10-31 Dick Glasspool <dick@ipinfusion.com>
2361
2362 * ospf_lsa.h (OSPF_AS_NSSA_LSA): Define OSPF_AS_NSSA_LSA.
2363
2364 * ospf_lsa.c (show_ip_ospf_database): NSSA database display
2365 function is added. ALIASES which have "show ip ospf database
2366 nssa-external" is added.
2367 (show_ip_ospf_border_routers): New command "show ip ospf
2368 border-routers" is added.
2369
23702000-10-30 Dick Glasspool <dick@ipinfusion.com>
2371
2372 * ospfd.c (router_ospf): NSSA Enabled message is added for
2373 testing.
2374 (ospf_area_type_set): Are type set for NSSA area.
2375 (ospf_area_stub_cmd): Special translation of no_summary into NSSA
2376 and summary information. If NSSA is enabled pass the information
2377 to ospf_area_type_set().
2378 (area_nssa): New commands are added:
2379 "area A.B.C.D nssa"
2380 "area <0-4294967295> nssa"
2381 "area A.B.C.D nssa no-summary"
2382 "area <0-4294967295> nssa no-summary"
2383 (ospf_no_area_stub_cmd): Special translation of no_summary into
2384 NSSA and summary information. If external_routing is
2385 OSPF_AREA_NSSA unset area with ospf_area_type_set (area,
2386 OSPF_AREA_DEFAULT).
2387 (show_ip_ospf_area): Display NSSA status.
2388 (config_write_ospf_area): Show NSSA configuration.
2389
2390 * ospf_packet.c (ospf_hello): For NSSA support, ensure that NP is
2391 on and E is off.
2392
23932000-10-26 Gleb Natapov <gleb@nbase.co.il>
2394
2395 * ospf_lsa.c (ospf_network_lsa_body_set): The network-LSA lists
2396 those routers that are fully adjacent to the Designated Router;
2397 each fully adjacent router is identified by its OSPF Router ID.
2398 The Designated Router includes itself in this list. RFC2328,
2399 Section 12.4.2.
2400
24012000-10-23 Jochen Friedrich <jochen@scram.de>
2402
2403 * ospf_snmp.c: ospf_oid and ospfd_oid are used in smux_open after
2404 it is registered. So those variables must be static.
2405
24062000-10-18 K N Sridhar <sridhar@euler.ece.iisc.ernet.in>
2407
2408 * ospfd.c: Add area_default_cost_decimal_cmd and
2409 no_area_default_cost_decimal_cmd alias.
2410
24112000-10-05 Gleb Natapov <gleb@nbase.co.il>
2412
2413 * ospfd.c (ospf_network_new): Fix setting area format.
2414 (no_router_ospf): Check area existance when calling
2415 ospf_interface_down().
2416
2417 * ospf_flood.c (ospf_external_info_check): Fix bug of refreshing
2418 default route.
2419
24202000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2421
2422 * zebra-0.89 is released.
2423
24242000-09-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2425
2426 * ospf_snmp.c (ospfHostEntry): OSPF Host MIB is implemented.
2427
2428 * ospfd.c (ospf_nbr_static_cmp): OSPF neighbor is sorted by it's
2429 address.
2430
24312000-09-28 Michael Rozhavsky <mike@nbase.co.il>
2432
2433 * ospf_interface.c (ospf_if_free): Fix deleting self neighbor twice.
2434
24352000-09-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2436
2437 * ospf_packet.c (ospf_read): Solaris on x86 has ip_len with host
2438 byte order.
2439
24402000-09-25 Toshiaki Takada <takada@zebra.org>
2441
2442 * ospfd.c (ospf_compatible_rfc1583), (no_ospf_compatible_rfc1583):
2443 Add CISCO compatible command.
2444
24452000-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2446
2447 * ospf_abr.c (ospf_area_range_lookup): New function is added for
2448 area range lookup in OSPF-MIB.
2449 (ospf_area_range_lookup_next): Likewise.
2450
24512000-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2452
2453 * ospfd.c (no_router_ospf): Delete virtual link before deleting
2454 area structure.
2455
2456 * ospf_lsa.c (ospf_external_lsa_refresh_type): Check
2457 EXTERNAL_INFO(type).
2458
2459 * ospfd.c (no_router_ospf): Call ospf_vl_delete() instead of
2460 ospf_vl_data_free().
2461
2462 * ospf_interface.c (ospf_vl_shutdown): Execute ISM_InterfaceDown
2463 when ospf_vl_shutdown is called.
2464 (ospf_vl_delete): Call ospf_vl_shutdown() to delete virtual link
2465 interface's thread.
2466
24672000-09-21 Gleb Natapov <gleb@nbase.co.il>
2468
2469 * ospf_lsa.c: New implementation of OSPF refresh.
2470
24712000-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2472
2473 * ospf_snmp.c (ospfLsdbLookup): Add LSDB MIB implementation.
2474
24752000-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2476
2477 * ospf_snmp.c (ospfStubAreaEntry): Add OSPF stub area MIB.
2478
24792000-09-18 Gleb Natapov <gleb@nbase.co.il>
2480
2481 * ospf_route.h (route_standard): Change member from `struct area'
2482 to area_id.
2483
2484 * ospf_abr.c (ospf_abr_announce_network), (ospf_abr_should_announce),
2485 (ospf_abr_process_network_rt), (ospf_abr_announce_rtr),
2486 (ospf_abr_process_router_rt):
2487 * ospf_ase.c (ospf_find_asbr_route),
2488 (ospf_find_asbr_router_through_area),
2489 * ospf_ia.c (ospf_find_abr_route), (ospf_ia_router_route),
2490 (process_summary_lsa), (ospf_update_network_route),
2491 (ospf_update_router_route):
2492 * ospf_route.c (ospf_intra_route_add), (ospf_intra_add_router),
2493 (ospf_intra_add_transit), (ospf_intra_add_stub),
2494 (ospf_route_table_dump), (show_ip_ospf_route_network),
2495 (show_ip_ospf_route_router), (ospf_asbr_route_cmp),
2496 (ospf_prune_unreachable_routers):
2497 * ospf_spf.c (ospf_rtrs_print):
2498 * ospfd.c (ospf_rtrs_free): Fix the struct change above.
2499
25002000-09-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2501
2502 * ospf_network.c (ospf_serv_sock_init): Enclose SO_BINDTODEVICE
2503 with ifdef.
2504
25052000-09-13 Gleb Natapov <gleb@nbase.co.il>
2506
2507 * ospf_ism.c (ospf_elect_dr), (ospf_elect_bdr): Fix DR election.
2508
2509 * ospf_network.c (ospf_serv_sock_init): Add socket option
2510 SO_BINDTODEVICE on read socket.
2511
2512 * ospf_packet.c (ospf_hello): Ignore Hello packet if E-bit does
2513 not match.
2514
2515 * ospfd.c (ospf_area_check_free), (ospf_area_get),
2516 (ospf_area_add_if): New function added.
2517
25182000-09-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2519
2520 * ospf_route.c (ospf_intra_add_router): Update ABR and ASBR router
2521 count.
2522
2523 * ospf_spf.c (ospf_spf_init): Rest ABR and ASBR router count
2524 starting SPF calculation.
2525
2526 * ospfd.h (struct ospf_area): Add ABR and ASBR router count.
2527
25282000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2529
2530 * ospfd.c (ospf_area_id_cmp): New area structure is sorted by area
2531 ID.
2532
2533 * ospf_lsa.c (ospf_router_lsa_originate): For OSPF MIB update
2534 lsa_originate_count.
2535 (ospf_network_lsa_originate): Likewise.
2536 (ospf_summary_lsa_originate): Likewise.
2537 (ospf_summary_asbr_lsa_originate): Likewise.
2538 (ospf_external_lsa_originate): Likewise.
2539
25402000-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2541
2542 * ospf_snmp.c (ospf_variables): ospfRouterID's type RouterID
2543 syntax is IpAddress.
2544 (ospf_admin_stat): New function for OSPF administrative status
2545 check.
2546
25472000-09-10 Jochen Friedrich <jochen@scram.de>
2548
2549 * ospf_snmp.c: Implement OSPF MIB skeleton.
2550
25512000-09-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2552
2553 * ospf_snmp.c: New file is added.
2554
25552000-09-07 David Lipovkov <davidl@nbase.co.il>
2556
2557 * ospf_zebra.c (ospf_interface_delete): Add pseudo interface
2558 treatment.
2559
2560 * ospf_interface.c (interface_config_write): Likewise.
2561
25622000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2563
2564 * zebra-0.88 is released.
2565
25662000-08-17 Michael Rozhavsky <mike@nbase.co.il>
2567
2568 * ospfd.c (ospf_area_free): Remove virtual link configuration only
2569 when Area is removed.
2570
25712000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2572
2573 * ospfd.c (network_area): Revert check for EXTERNAL_INFO
2574 (ZEBRA_ROUTE_CONNECT).
2575 (no_network_area): Likewise.
2576
25772000-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2578
2579 * ospfd.h (struct ospf): Add distance_table and
2580 distance_{all,intra,inter,external}.
2581
2582 * ospf_zebra.c: Add OSPF distance related functions.
2583
25842000-08-15 Gleb Natapov <gleb@nbase.co.il>
2585
2586 * ospf_asbr.c (ospf_external_info_find_lsa): New function added.
2587
2588 * ospf_lsa.c (ospf_default_external_info),
2589 (ospf_default_originate_timer), (ospf_external_lsa_refresh_default):
2590 New function added.
2591
2592 * ospf_zebra.c
2593 (ospf_default_information_originate_metric_type_routemap),
2594 (ospf_default_information_originate_always_metric_type_routemap):
2595 Change name and add route-map function.
2596 (ospf_default_information_originate_metric_routemap),
2597 (ospf_default_information_originate_routemap),
2598 (ospf_default_information_originate_type_metric_routemap):
2599 New DEFUN added.
2600
26012000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2602
2603 * ospf_zebra.c (zebra_interface_if_set_value): Change ifindex
2604 restore size from two octet to four.
2605
26062000-08-14 Michael Rozhavsky <mike@nbase.co.il>
2607
2608 * ospf_ase.c (ospf_ase_incremental_update): Implement incremental
2609 AS-external-LSA in 16.6 of RFC2328.
2610
26112000-08-14 Matthew Grant <grantma@anathoth.gen.nz>
2612
2613 * ospf_interface.c (ospf_if_get_output_cost): Change cost
2614 calculation algorithm.
2615
2616 * ospf_packet (ospf_ls_upd): Fix problem of LSA retransmitting.
2617
26182000-08-11 Michael Rozhavsky <mike@nbase.co.il>
2619
2620 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix maxage remover for
2621 AS-external-LSAs.
2622
26232000-08-10 Toshiaki Takada <takada@zebra.org>
2624
2625 * ospfd.c (auto_cost_reference_bandwidth): New DEFUN added.
2626 `auto-cost reference-bandwidth' OSPF router command added.
2627
26282000-08-08 Gleb Natapov <gleb@nbase.co.il>
2629
2630 * ospf_routemap.c (ospf_route_map_update): New function added.
2631 Add route-map event hook.
2632
26332000-08-08 Toshiaki Takada <takada@zebra.org>
2634
2635 * ospf_zebra.c (ospf_distribute_check_connected): If redistribute
2636 prefix is connected route on OSPF enabled interface, suppress to
2637 announce it.
2638
26392000-08-08 Matthew Grant <grantma@anathoth.gen.nz>
2640
2641 * ospf_interface.c (ospf_if_get_output_cost):
2642 New function added. Handle bandwidth parameter for cost
2643 calculation.
2644
26452000-08-08 Michael Rozhavsky <mike@nbase.co.il>
2646
2647 * ospf_interface.c (interface_config_write): Show interface
2648 configuration regardless interface is down.
2649
2650 * ospf_ase.c (ospf_ase_caocluate_route): Whole rewritten external
2651 route calculate function.
2652
26532000-08-08 Gleb Natapov <gleb@nbase.co.il>
2654
2655 * ospf_routemap.c: New file added.
2656
2657 * ospf_asbr.c (ospf_reset_route_map_set_values),
2658 (ospf_route_map_set_compare): New function added.
2659
2660 * ospf_lsa.c (ospf_external_lsa_body_set): Set routemap metric
2661 with AS-external-LSA.
2662
26632000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2664
2665 * ospf_ase.c (ospf_ase_calculate_route_add): Pass new->cost to
2666 ospf_zebra_add as metric.
2667 (ospf_ase_calculate_route_add): Likewise.
2668
2669 * ospf_route.c (ospf_route_install): Pass or->cost to
2670 ospf_zebra_add as metric.
2671
2672 * ospf_zebra.c (ospf_zebra_add): Add metric arguemnt.
2673 (ospf_zebra_delete): Likewise.
2674
26752000-08-03 Matthew Grant <grantma@anathoth.gen.nz>
2676
2677 * ospf_flood.c (ospf_flood_delayed_lsa_ack): New function added.
2678 Dispatch delayed-ACK with flooding AS-external-LSA across virtual
2679 link.
2680
26812000-07-31 Matthew Grant <grantma@anathoth.gen.nz>
2682
2683 * ospfd.c (show_ip_ospf_area): Fix lack of VTY_NEWLINE when
2684 `show ip ospf'.
2685
2686 * ospf_interface.c (ospf_if_free): Fix bug of crash with
2687 Point-to-Point interface.
2688
26892000-07-27 Michael Rozhavsky <mike@nbase.co.il>
2690
2691 * ospf_flood.c (ospf_process_self_originated_lsa):
2692 Make sure to clear LSA->param (redistributed external information)
2693 before refreshment.
2694
26952000-07-27 Gleb Natapov <gleb@nbase.co.il>
2696
2697 * ospfd.c (refresh_group_limit), (refresh_per_slice),
2698 (refresh_age_diff): New defun added. Refresher related parameter
2699 can be configurable.
2700
27012000-07-27 Akihiro Mizutani <mizutani@dml.com>
2702
2703 * ospf_interface.c (interface_config_write): Print `description'
2704 config directive to work.
2705
27062000-07-24 Akihiro Mizutani <mizutani@dml.com>
2707
2708 * ospf_interface.c (ospf_if_init): Use install_default for
2709 INTERFACE_NODE.
2710
27112000-07-24 Gleb Natapov <gleb@nbase.co.il>
2712
2713 * ospf_packet.c (ospf_ls_upd_send_list), (ospf_ls_upd_send_event),
2714 (ospf_ls_ack_send_list), (ospf_ls_ack_send_event): New function added.
2715 This make sending always as many LS update/Ack combined in one ospf
2716 packet.
2717
27182000-07-24 Gleb Natapov <gleb@nbase.co.il>
2719
2720 * ospf_packet.c (ospf_ls_upd_list_lsa): Set NULL to lsa->area if
2721 LSA is AS-external-LSA.
2722
2723 * ospf_nsm.c (nsm_reset_nbr): Do not cancel Inactivity timer.
2724
27252000-07-21 Toshiaki Takada <takada@zebra.org>
2726
2727 * ospf_zebra.c (ospf_default_originate_timer): Set timer for
2728 `default-information originate'. Fix some default originate
2729 related functions.
2730
27312000-07-12 Toshiaki Takada <takada@zebra.org>
2732
2733 * ospf_lsa.c (stream_put_ospf_metric): New function added.
2734
27352000-07-12 Toshiaki Takada <takada@zebra.org>
2736
2737 * ospf_lsa.c (show_ip_ospf_database_router),
2738 (show_ip_ospf_database_network), (show_ip_ospf_database_summary),
2739 (show_ip_ospf_database_summary_asbr), (show_ip_ospf_database_externel),
2740 (show_router_lsa), (show_any_lsa), (show_router_lsa_self),
2741 (show_any_lsa_self): Functions removed.
2742
2743 (show_lsa_prefix_set), (show_lsa_detail_proc), (show_lsa_detail),
2744 (show_lsa_detail_adv_router_proc), (show_lsa_detail_adv_router):
2745 New functions added. Replace above functions.
2746
2747 (show_ip_ospf_database_all), (show_ip_ospf_database_self_originated):
2748 Functions removed.
2749 (show_ip_ospf_database_summary): New functions added. Replace
2750 above functions.
2751
2752 (show_ip_ospf_database_cmd): DEFUN rearranged.
2753 (show_ip_ospf_database_type_id_cmd),
2754 (show_ip_ospf_database_type_id_adv_router_cmd),
2755 (show_ip_ospf_database_type_is_self_cmd): New ALIASes added.
2756 (show_ip_ospf_database_type_adv_rotuer_cmd): New DEFUN added.
2757 (show_ip_ospf_database_type_self_cmd): New ALIAS added.
2758
27592000-07-11 Toshiaki Takada <takada@zebra.org>
2760
2761 * ospf_asbr.c (ospf_external_info_new),
2762 (ospf_external_info_free): New functions added.
2763
2764 * ospf_lsa.h (ospf_lsa): Add new member `void *param' to set
2765 origination parameter for external-LSA.
2766 Remove member `redistribute'.
2767
2768 * ospf_zebra.c (ospf_redistirbute_set): When `redistribute'
2769 command executed, metric and metric-type values are overridden.
2770 If one of those is changed refresh AS-external-LSAs for appropriate
2771 type.
2772
27732000-07-11 Michael Rozhavsky <mike@nbase.co.il>
2774
2775 * ospf_lsa.c (ospf_summary_lsa_refresh),
2776 (ospf_summary_asbr_lsa_refresh): Make sure to refresh summary-LSAs.
2777
2778 * ospf_abr.c (set_metric): New function added.
2779
27802000-07-07 Toshiaki Takada <takada@zebra.org>
2781
2782 * ospf_zebra.c (ospf_default_information_originate_metric_type),
2783 (ospf_default_information_originate_type_metric): New defun added.
2784 Metic and Metric type can be set to default route.
2785 (ospf_default_information_originate_always_metric_type):
2786 (ospf_default_information_originate_always_type_metric):
2787 New defun added. Metric and Metric type can be set to default
2788 always route.
2789
2790 * ospf_zebra.c (ospf_default_metric), (no_ospf_default_metric):
2791 New defun added.
2792
27932000-07-06 Gleb Natapov <gleb@nbase.co.il>
2794
2795 * ospf_flood.c (ospf_flood_through_area): Fix bug of considering
2796 on the same interface the LSA was received from.
2797
27982000-07-06 Michael Rozhavsky <mike@nbase.co.il>
2799
2800 * ospfd.c (ospf_config_write): Fix bug of printing `area stub'
2801 command with `write mem'.
2802
2803 * ospfd.c (no_router_ospf): Remove installed routes from zebra.
2804
2805 * ospf_zebra.c (ospf_interface_delete): Fix function to handle
2806 zebra interface delete event.
2807
28082000-07-06 Toshiaki Takada <takada@zebra.org>
2809
2810 * ospf_zebra.c (ospf_default_information_originate),
2811 (ospf_default_information_originate_always): New DEFUN added.
2812
28132000-07-05 Michael Rozhavsky <mike@nbase.co.il>
2814
2815 * ospf_route.c (ospf_terminate): Make sure to remove external route
2816 when SIGINT received.
2817
28182000-07-03 Gleb Natapov <gleb@nbase.co.il>
2819
2820 * ospf_flood.c, ospf_ism.c, ospf_lsa,c, ospfd.c: Make sure to free
2821 many structure with `no router ospf'.
2822
28232000-06-30 Gleb Natapov <gleb@nbase.co.il>
2824
2825 * ospf_neighbor.c (ospf_nbr_new),
2826 ospf_nsm.c (nsm_timer_set): Start LS update timer only
2827 when neighbor enters Exchange state.
2828
28292000-06-29 Gleb Natapov <gleb@nbase.co.il>
2830
2831 * ospf_nsm.c (nsm_timer_set), (nsm_exchange_done),
2832 ospf_packet.c (ospf_db_desc_proc):
2833 Do not cancel DD retransmit timer when Master.
2834
28352000-06-29 Gleb Natapov <gleb@nbase.co.il>
2836
2837 * ospf_abr.c (ospf_abr_announce_network_to_area),
2838 (ospf_abr_announce_rtr_to_area)
2839 ospf_ase.c (ospf_ase_rtrs_register_lsa),
2840 ospf_flood.c (ospf_process_self_originated_lsa),
2841 (ospf_flood_through_area), (ospf_ls_request_delete),
2842 ospf_interface.c (ospf_if_free),
2843 ospf_ism.c (ism_change_status),
2844 ospf_lsa.c (ospf_router_lsa_update_timer),
2845 (ospf_router_lsa_install), (ospf_network_lsa_install),
2846 (ospf_lsa_maxage_delete), (ospf_lsa_action),
2847 (ospf_schedule_lsa_flood_area),
2848 ospf_nsm.c (nsm_change_status),
2849 ospf_packet.c (ospf_make_ls_req_func), (ospf_make_ls_ack):
2850 Use ospf_lsa_{lock,unlock} for all looking-up of LSA.
2851
2852 * ospf_flood.c (ospf_ls_request_free): Function deleted.
2853
2854 * ospf_lsa.c (ospf_discard_from_db): New function added.
2855
28562000-06-26 Toshiaki Takada <takada@zebra.org>
2857
2858 * ospfd.h (ospf): struct member `external_lsa' name changed to
2859 `lsdb'.
2860
28612000-06-26 Toshiaki Takada <takada@zebra.org>
2862
2863 * ospf_lsa.c (ospf_lsa_install), (ospf_router_lsa_install),
2864 (ospf_network_lsa_install), (ospf_summary_lsa_install),
2865 (ospf_summary_asbr_lsa_install), (ospf_external_lsa_install):
2866 Functions re-arranged.
2867
2868 * ospf_lsa.c (IS_LSA_MAXAGE), (IS_LSA_SELF): Macro added.
2869
28702000-06-20 Michael Rozhavsky <mike@nbase.co.il>
2871
2872 * ospf_packet.c (ospf_ls_req), (ospf_ls_upd), (ospf_ls_ack): Add
2873 verification of LS type.
2874
28752000-06-20 Gleb Natapov <gleb@nbase.co.il>
2876
2877 * ospf_ase.c (ospf_ase_calculate_timer): Add more sanity check
2878 whether rn->info is NULL.
2879
28802000-06-20 Toshiaki Takada <takada@zebra.org>
2881
2882 * ospfd.c (show_ip_ospf_interface_sub): Show Router-ID of both
2883 DR and Backup correctly with `show ip ospf interface' command.
2884
28852000-06-20 Toshiaki Takada <takada@zebra.org>
2886
2887 * ospf_lsa.c (ospf_lsa_lock), (ospf_lsa_unlock),
2888 (ospf_lsa_discard): These functions are used for avoiding
2889 unexpected reference to freed LSAs.
2890
28912000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2892
2893 * ospf_packet.c (ospf_ls_upd): Initialize lsa by NULL to avoid
2894 warning.
2895
28962000-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2897
2898 * ospf_ase.h (ospf_ase_rtrs_register_lsa): Add prototype.
2899
29002000-06-12 Toshiaki Takada <takada@zebra.org>
2901
2902 * ospf_lsa.c (ospf_external_lsa_install): Make sure to register
2903 LSA to rtrs_external when replacing AS-external-LSAs in LSDB.
2904 Fix core dump.
2905
29062000-06-10 Toshiaki Takada <takada@zebra.org>
2907
2908 * ospf_lsdb.c (id_to_prefix), (ospf_lsdb_hash_key),
2909 (ospf_lsdb_hash_cmp), (ospf_lsdb_new), (ospf_lsdb_iterator),
2910 (lsdb_free), (ospf_lsdb_free), (ospf_lsdb_add), (ospf_lsdb_delete),
2911 (find_lsa), (ospf_lsdb_lookup), (find_by_id),
2912 (ospf_lsdb_lookup_by_id), (ospf_lsdb_lookup_by_header): Functinos
2913 removed for migration to new_lsdb.
2914
2915 * ospf_lsa.c (ospf_summary_lsa_install),
2916 (ospf_summary_asbr_lsa_install), (ospf_maxage_lsa_remover),
2917 (ospf_lsa_maxage_walker), (ospf_lsa_lookup),
2918 (ospf_lsa_lookup_by_id): Use new_lsdb instead of ospf_lsdb.
2919 (count_lsa), (ospf_lsa_count_table), (ospf_lsa_count),
2920 (ospf_get_free_id_for_prefix): Funcitions removed.
2921
29222000-06-09 Gleb Natapov <gleb@nbase.co.il>
2923
2924 * ospf_ism.c (ism_interface_down): Prevent some unneeded DR changes.
2925
2926 * ospf_packet.c (ospf_db_desc_proc): Fix memory leak.
2927 (ospf_hello): Always copy router-ID when hello is received.
2928
29292000-06-08 Gleb Natapov <gleb@nbase.co.il>
2930
2931 * ospf_lsa.h (struct ospf_lsa): Add member of pointer to struct
2932 ospf_area.
2933
29342000-06-08 Michael Rozhavsky <mike@nbase.co.il>
2935
2936 * ospf_ase.c (ospf_asbr_route_same): New function added.
2937 This function makes sure external route calculation more
2938 precisely.
2939
29402000-06-07 Michael Rozhavsky <mike@nbase.co.il>
2941
2942 * ospf_ism.c (ism_change_status): Use ospf_lsa_flush_area for
2943 network-LSA deletion instead of using ospf_lsdb_delete.
2944 Also cancel network-LSA origination timer.
2945
29462000-06-07 Levi Harper <lharper@kennedytech.com>
2947
2948 * ospf_interface.c (ospf_if_down): Close read fd when an interface
2949 goes down.
2950
29512000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2952
2953 * ospf_asbr.c (ospf_external_info_lookup): Add explicit brace for
2954 avoid ambiguous else.
2955
2956 * ospf_flood.c (ospf_external_info_check): Likewise.
2957
29582000-06-05 Toshiaki Takada <takada@zebra.org>
2959
2960 * ospf_nsm.c (nsm_adj_ok): Fix bug of DR election.
2961
29622000-06-04 Toshiaki Takada <takada@zebra.org>
2963
2964 * ospf_zebra.c (ospf_default_information_originate),
2965 (no_ospf_default_information_originate): New DEFUN added.
2966
29672000-06-03 Toshiaki Takada <takada@zebra.org>
2968
2969 * ospf_lsa.h, ospf_asbr.h (external_info): Struct moved from
2970 ospf_lsa.h to ospf_asbr.h.
2971
2972 * ospf_lsa.c, ospf_asbr.c (ospf_external_info_add),
2973 (ospf_external_info_delete): Function moved from ospf_lsa.c
2974 to ospf_asbr.c.
2975
29762000-06-03 Toshiaki Takada <takada@zebra.org>
2977
2978 * ospf_flood.c (ospf_external_info_check): New function added.
2979 (ospf_process_self_orignated_lsa): Make sure to flush
2980 self-originated AS-external-LSA, when router reboot and no longer
2981 originate those AS-external-LSA.
2982
29832000-06-02 Toshiaki Takada <takada@zebra.org>
2984
2985 * ospf_network.c (ospf_serv_sock): Remove SO_DONTROUTE
2986 socket option.
2987
2988 * ospf_packet.c (ospf_write): Set MSG_DONTROUTE flag for
2989 unicast destination packets.
2990
29912000-06-02 Toshiaki Takada <takada@zebra.org>
2992
2993 * ospf_lsdb.c (new_lsdb_delete): Delete entry from LSDB only when
2994 specified LSA matches.
2995
29962000-06-02 Gleb Natapov <gleb@nbase.co.il>
2997
2998 * ospf_network.c (ospf_serv_sock): Set SO_DONTROUTE
2999 socket option.
3000
30012000-06-01 Akihiro Mizutani <mizutani@dml.com>
3002
3003 * ospf_dump.c: Replace string `Debugging functions\n' with DEBUG_STR.
3004 Replace string `OSPF information\n' with OSPF_STR.
3005
30062000-06-01 Toshiaki Takada <takada@zebra.org>
3007
3008 * ospf_lsdb.[ch]: Use new_lsdb struct for network-LSA instead of
3009 ospf_lsdb.
3010
30112000-06-01 Toshiaki Takada <takada@zebra.org>
3012
3013 * ospf_dump.c (config_debug_ospf_packet), (config_debug_ospf_event),
3014 (config_debug_ospf_ism), (config_debug_ospf_nsm),
3015 (config_debug_ospf_lsa), (config_debug_ospf_zebra),
3016 (term_debug_ospf_packet), (term_debug_ospf_event),
3017 (term_debug_ospf_ism), (term_debug_ospf_nsm),
3018 (term_debug_ospf_lsa), (term_debug_ospf_zebra): Repalce debug_ospf_*
3019 variable to use for debug option flags.
3020
3021 (debug_ospf_packet), (debug_ospf_ism), (debug_ospf_nsm),
3022 (debug_ospf_lsa), (debug_ospf_zebra): Set {config,term}_debug_*
3023 flags when vty->node is CONFIG_NODE, otherwise set only term_debug_*
3024 flags.
3025
3026 * ospf_dump.h (CONF_DEBUG_PACKET_ON), (CONF_DEBUG_PACKET_OFF),
3027 (TERM_DEBUG_PACKET_ON), (TERM_DEBUG_PACKET_OFF),
3028 (CONF_DEBUG_ON), (CONF_DEBUG_OFF), (IS_CONF_DEBUG_OSPF_PACKET),
3029 (IS_CONF_DEBUG_OSPF): New Macro added.
3030
30312000-05-31 Toshiaki Takada <takada@zebra.org>
3032
3033 * ospfd.c (clear_ip_ospf_neighbor): New DEFUN added.
3034 Currently this command is used for only debugging.
3035
3036 * ospf_nsm.c (nsm_change_status): Make sure thread cancellation
3037 for network-LSA when DR has no full neighbors.
3038
3039 * ospf_nsm.c (ospf_db_summary_clear): New function added.
3040
30412000-05-30 Toshiaki Takada <takada@zebra.org>
3042
3043 * ospf_lsdb.c (new_lsdb_insert): LSAs are always freed by
3044 maxage_lsa_remover when LSA is replaced.
3045
30462000-05-25 Gleb Natapov <gleb@nbase.co.il>
3047
3048 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all): Add argument
3049 `struct ospf_area' to remove LSA from Link State retransmission list
3050 of neighbor from only one Area.
3051
30522000-05-24 Michael Rozhavsky <mike@nbase.co.il>
3053
3054 * ospf_lsdb.c (ospf_lsdb_add): Preserve flags field when
3055 overriting old LSA with new LSA.
3056
30572000-05-24 Gleb Natapov <gleb@nbase.co.il>
3058
3059 * ospf_lsa.c (ospf_router_lsa_body_set): Fix bug of router-LSA
3060 size calculation.
3061
30622000-05-22 Michael Rozhavsky <mike@nbase.co.il>
3063
3064 * ospf_route.c (ospf_intra_add_stub):
3065 * ospf_spf.h (struct vertex): Use u_int32_t for distance (cost)
3066 value instead of u_int16_t.
3067
30682000-05-22 Axel Gerlach <agerlach@datus.datus.com>
3069
3070 * ospf_ia.c (ospf_ia_network_route): Fix bug of Inter-area route
3071 equal cost path calculation.
3072
30732000-05-21 Toshiaki Takada <takada@zebra.org>
3074
3075 * ospf_ase.c (ospf_ase_calculate_route_delete): New function added.
3076 Make sure, when rotuer route is deleted, related external routes
3077 are also deleted.
3078
30792000-05-20 Toshiaki Takada <takada@zebra.org>
3080
3081 * ospfd.c (ospf_interface_down): Make sure interface flag is disable
3082 and set fd to -1.
3083
30842000-05-16 Toshiaki Takada <takada@zebra.org>
3085
3086 * ospf_asbr.c (ospf_asbr_should_announce), (ospf_asbr_route_remove):
3087 Functions removed.
3088
3089 * ospfd.h (EXTERNAL_INFO): Macro added.
3090 Substitute `ospf_top->external_info[type]' with it.
3091
30922000-05-16 Toshiaki Takada <takada@zebra.org>
3093
3094 * ospf_lsa.c (ospf_rtrs_external_remove): New function added.
3095
30962000-05-14 Gleb Natapov <gleb@nbase.co.il>
3097
3098 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all)
3099 * ospf_lsdb.c (new_lsdb_insert)
3100 * ospf_packet.c (ospf_ls_ack): Fix database synchonization problem.
3101
31022000-05-14 Gleb Natapov <gleb@nbase.co.il>
3103
3104 * ospf_lsa.h (tv_adjust), (tv_ceil), (tv_floor), (int2tv),
3105 (tv_add), (tv_sub), (tv_cmp): Prototype definition added.
3106
3107 * ospf_nsm.h (ospf_db_summary_delete_all): Prototype definition added.
3108
31092000-05-13 Toshiaki Takada <takada@zebra.org>
3110
3111 * ospf_lsa.[ch] (ospf_lsa): struct timestamp type is changed from
3112 time_t to struct timeval.
3113 (tv_adjust), (tv_ceil), (tv_floor), (int2tv), (tv_add),
3114 (tv_sub), (tv_cmp): timeval utillity functions added.
3115
31162000-05-12 Toshiaki Takada <takada@zebra.org>
3117
3118 * ospf_lsa.[ch] (ospf_schedule_update_router_lsas): Delete function.
3119 Change to use macro OSPF_LSA_UPDATE_TIMER instead of using
3120 this function.
3121 router-LSA refresh timer related stuff is re-organized.
3122
31232000-05-10 Gleb Natapov <gleb@nbase.co.il>
3124
3125 * ospf_interface.c (ospf_vl_set_params):
3126 * ospf_packet.c (ospf_check_network_mask):
3127 * ospf_spf.[ch] (ospf_spf_next):
3128 Remove field address from `struct vertex', and search for peer
3129 address of virtual link in function `ospf_vl_set_params' instead.
3130
31312000-05-10 Gleb Natapov <gleb@nbase.co.il>
3132
3133 * ospf_packet.c (ospf_ls_upd): Fix some memory leak related LSA.
3134
31352000-05-08 Thomas Molkenbur <tmo@datus.com>
3136
3137 * ospf_packet.c (ospf_packet_dup): Replace ospf_steram_copy()
3138 with ospf_stream_dup() to fix memory leak.
3139
31402000-05-08 Michael Rozhavsky <mike@nbase.co.il>
3141
3142 * ospf_flood.c (ospf_flood_through_area): Fix the problem of
3143 LSA update without DROther.
3144
31452000-05-04 Gleb Natapov <gleb@nbase.co.il>
3146
3147 * ospf_spf.c (ospf_vertex_free): Fix memory leak of SPF calculation.
3148
31492000-05-03 Toshiaki Takada <takada@zebra.org>
3150
3151 * ospf_neighbor.c (ospf_db_summary_add): Use new_lsdb struct
3152 instead linked-list.
3153 (ospf_db_summary_count), (ospf_db_summary_isempty):
3154 New function added.
3155
3156 * ospf_lsa.c (ospf_rotuer_lsa): Re-arrange and divide functions.
3157
31582000-05-02 Gleb Natapov <gleb@nbase.co.il>
3159
3160 * ospf_lsdb.c (new_lsdb_cleanup): Fix memory leak. When LSDB are
3161 not needed any more, then free them.
3162
31632000-05-02 Toshiaki Takada <takada@zebra.org>
3164
3165 * ospfd.c (timers_spf), (no_timers_spf): New defun added.
3166 SPF calculation timers related stuff is rearranged.
3167
3168 * ospf_spf.c (ospf_spf_calculate_timer_add): Function removed.
3169 SPF timer is scheduled by SPF calculation delay and holdtime
3170 configuration variable.
3171
3172 * ospf_lsa.c (ospf_external_lsa_nexthop_get): Set AS-external-LSA's
3173 forwarding address when nexthop learned by other protocols is
3174 in the OSPF domain.
3175
3176 * ospf_zebra.c (ospf_redistribute_source_metric_type),
3177 (ospf_redistribute_source_type_metric): Re-arrange DEFUNs and
3178 ALIASes.
3179
31802000-05-01 Toshiaki Takada <takada@zebra.org>
3181
3182 * ospf_flood.c (ospf_ls_retransmit_count),
3183 (ospf_ls_retransmit_isempty): New function added.
3184
3185 (ospf_ls_retransmit_add), (ospf_ls_retransmit_delete),
3186 (ospf_ls_retransmit_clear), (ospf_ls_retransmit_lookup),
3187 (ospf_ls_retransmit_delete_all), (ospf_ls_retransmit_delete_nbr_all),
3188 (ospf_ls_retransmit_add_nbr_all): Replace these functions to use
3189 new_lsdb.
3190
31912000-04-29 Toshiaki Takada <takada@zebra.org>
3192
3193 * ospfd.c (no_network_area): Add check Area-ID whether specified
3194 Area-ID with prefix matches config.
3195
31962000-04-27 Toshiaki Takada <takada@zebra.org>
3197
3198 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix problem of
3199 remaining withdrawn routes on zebra.
3200
32012000-04-25 Michael Rozhavsky <mike@nbase.co.il>
3202
3203 * ospf_nsm.c (nsm_kill_nbr), (nsm_ll_down), (nsm_change_status),
3204 (ospf_nsm_event): Fix network-LSA re-origination problem.
3205
32062000-04-24 Toshiaki Takada <takada@zebra.org>
3207
3208 * ospf_nsm.c (ospf_db_desc_timer): Fix bug of segmentation fault
3209 with DD retransmission.
3210
3211 * ospf_nsm.c (nsm_kill_nbr): Fix bug of re-origination when
3212 a neighbor disappears.
3213
32142000-04-23 Michael Rozhavsky <mike@nbase.co.il>
3215
3216 * ospf_abr.c (ospf_abr_announce_network_to_area): Fix bug of
3217 summary-LSAs reorigination. Correctly copy OSPF_LSA_APPROVED
3218 flag to new LSA. when summary-LSA is reoriginatd.
3219
3220 * ospf_flood.c (ospf_flood_through_area): Fix bug of flooding
3221 procedure. Change the condition of interface selection.
3222
32232000-04-21 Toshiaki Takada <takada@zebra.org>
3224
3225 * ospf_lsa.c (ospf_refresher_register_lsa): Fix bug of refresh never
3226 occurs.
3227
3228 * ospfd.c (show_ip_ospf_neighbor_id): New defun added.
3229 `show ip ospf neighbor' related commands are re-arranged.
3230
32312000-04-20 Toshiaki Takada <takada@zebra.org>
3232
3233 * ospf_dump.c (debug_ospf_zebra): New defun added.
3234 Suppress zebra related debug information.
3235
32362000-04-19 Toshiaki Takada <takada@zebra.org>
3237
3238 * ospf_zebra.c (ospf_distribute_list_update_timer),
3239 (ospf_distribute_list_update), (ospf_filter_update):
3240 New function added. Re-organize `distribute-list' router ospf
3241 command.
3242
32432000-04-13 Michael Rozhavsky <mike@nbase.co.il>
3244
3245 * ospf_packet.c (ospf_make_ls_upd): Add check for MAX_AGE.
3246
32472000-04-14 Michael Rozhavsky <mike@nbase.co.il>
3248
3249 * ospf_packet.c (ospf_make_ls_upd): Increment LS age by configured
3250 interface transmit_delay.
3251
32522000-04-14 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3253
3254 * ospf_interface.c (ip_ospf_cost), (no_ip_ospf_cost):
3255 Add to schedule router_lsa origination when the interface cost changes.
3256
32572000-04-12 Toshiaki Takada <takada@zebra.org>
3258
3259 * ospf_lsa.c (ospf_refresher_register_lsa),
3260 (ospf_refresher_unregister_lsa): Fix bug of core dumped.
3261
3262 * ospfd.c (no_router_ospf): Fix bug of core dumped.
3263
32642000-03-29 Toshiaki Takada <takada@zebra.org>
3265
3266 * ospf_nsm.c (nsm_oneway_received): Fix bug of MS flag unset.
3267
32682000-03-29 Michael Rozhavsky <mike@nbase.co.il>
3269
3270 * ospf_lsa.c (ospf_network_lsa):
3271 * ospf_nsm.c (ospf_nsm_event): Fix bug of Network-LSA originated
3272 in stub network.
3273
32742000-03-28 Toshiaki Takada <takada@zebra.org>
3275
3276 * ospf_nsm.c (nsm_bad_ls_req), (nsm_seq_number_mismatch),
3277 (nsm_oneway_received): Fix bug of NSM state flapping between
3278 ExStart and Exchange.
3279
32802000-03-28 Toshiaki Takada <takada@zebra.org>
3281
3282 * ospf_packet.h (strcut ospf_header): Fix the size of ospf_header,
3283 change u_int8_t to u_char.
3284
32852000-03-27 Toshiaki Takada <takada@zebra.org>
3286
3287 * ospf_lsa.c (ospf_lsa_checksum): Take care of BIGENDIAN architecture.
3288
32892000-03-27 Toshiaki Takada <takada@zebra.org>
3290
3291 * ospfd.c (ospf_interface_run): Make sure Address family matches.
3292
32932000-03-26 Love <lha@s3.kth.se>
3294
3295 * ospf_packet.c (ospf_write): Chack result of sendto().
3296
32972000-03-26 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3298
3299 * ospf_nsm.c (nsm_oneway_received): Fix bug of 1-WayReceived in NSM.
3300
33012000-03-23 Libor Pechacek <farco@clnet.cz>
3302
3303 * ospf_lsa.c (ospf_network_lsa)
3304 * ospf_lsdb.c (new_lsdb_insert): Fix bug of accessing to
3305 unallocated memory.
3306
33072000-03-23 Toshiaki Takada <takada@zebra.org>
3308
3309 * ospfd.c (ospf_config_write): Fix bug of duplicate line for
3310 `area A.B.C.D authentication'.
3311
33122000-03-22 Toshiaki Takada <takada@zebra.org>
3313
3314 * ospf_debug.c (debug_ospf_lsa), (no_debug_ospf_lsa): Defun added.
3315 Suppress all zlog related to LSAs with this config option.
3316
33172000-03-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3318
3319 * ospf_nsm.c (ospf_nsm_event): Add check for NSM_InactivityTimer.
3320
33212000-03-21 Toshiaki Takada <takada@zebra.org>
3322
3323 * ospf_packet.c (ospf_ls_upd_timer), (ospf_ls_req):
3324 Fix bug of memory leak about linklist.
3325
3326 * ospf_flood.c (ospf_flood_through_area): Likewise.
3327
33282000-03-18 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3329
3330 * ospf_flood.c (ospf_ls_retransmit_lookup): Add checksum comparison
3331 to identify LSA uniquely. This fix routes lost.
3332
33332000-03-18 Toshiaki Takada <takada@zebra.org>
3334
3335 * ospf_ase.c (ospf_find_asbr_route): Add sanity check with router
3336 routing table.
3337
33382000-03-17 Alex Zinin <zinin@amt.ru>
3339
3340 * ospf_spf.[ch]: Bug fix.
3341 The 2nd stage of Dijkstra could consider one vertex
3342 more than once if there is more than one link
3343 between the routers, thus adding extra CPU overhead
3344 and extra next-hops.
3345 Fixed.
3346
33472000-03-15 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3348
3349 * ospf_nsm.c (nsm_inactivity_timer): Changed to call nsm_kill_nbr().
3350
33512000-03-14 Toshiaki Takada <takada@zebra.org>
3352
3353 * ospf_route.c (ospf_route_copy_nexthops): Fix bug of memory leak of
3354 ospf_path. Actually ignore merging ospf_route with completely same
3355 paths.
3356
33572000-03-12 Toshiaki Takada <takada@zebra.org>
3358
3359 * ospf_lsa.c (show_as_external_lsa_detail): fix bug of
3360 external route tag byte order.
3361
33622000-03-11 Toshiaki Takada <takada@zebra.org>
3363
3364 * ospf_lsdb.c (ospf_lsdb_insert): New function added.
3365
33662000-03-09 Toshiaki Takada <takada@zebra.org>
3367
3368 * ospf_lsa.c (ospf_external_lsa_install),
3369 (ospf_lsa_lookup), (show_ip_ospf_database_all),
3370 (show_ip_ospf_database_self_originate): Use struct new_lsdb for
3371 LSDB of AS-external-LSAs instead of ospf_lsdb.
3372
3373 * ospf_lsa.c (ospf_lsa_unique_id): New function added.
3374 Use for assigning Unique Link State ID instead of
3375 ospf_get_free_id_for_prefix().
3376
33772000-03-09 Toshiaki Takada <takada@zebra.org>
3378
3379 * ospf_ase.c (ospf_ase_calculate_timer): Fix bug of segmentation
3380 fault reported by George Bonser <george@siteROCK.com>.
3381
33822000-03-07 Libor Pechacek <farco@clnet.cz>
3383
3384 * ospfd.c (ospf_interface_down): Fix bug of segmentation fault.
3385
33862000-03-06 Toshiaki Takada <takada@zebra.org>
3387
3388 * ospf_route.c (ospf_route_cmp): Change meaning of return values.
3389
33902000-03-02 Alex Zinin <zinin@amt.ru>
3391 * ospfd.h, ospf_ia.h
3392 New Shortcut ABR code. Now area's flag can be configured
3393 with Default, Enable, and Disable values.
3394 More info will be in the new ver of I-D soon (see IETF web).
3395
33962000-02-25 Toshiaki Takada <takada@zebra.org>
3397
3398 * ospf_lsa.c (ospf_lsa_header_set), (ospf_external_lsa_body_set),
3399 (osfp_external_lsa_originate), (ospf_external_lsa_queue),
3400 (ospf_external_lsa_originate_from_queue): New function added.
3401 (ospf_external_lsa): Function removed.
3402
3403 * ospf_zebra.c (ospf_zebra_read_ipv4): Originate AS-external-LSA
3404 when listen a route from Zebra, instead creating external route.
3405
3406 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
3407 (ospf_asbr_route_add_queue_lsa),
3408 (ospf_asbr_route_install_lsa), (ospf_asbr_route_add):
3409 Functions removed.
3410
3411 * ospf_ase.c (process_ase_lsa): Function will not be used.
3412 (ospf_ase_calculate), (ospf_ase_calculate_route_add),
3413 (ospf_ase_calculate_new_route), (ospf_ase_caluculate_asbr_route):
3414 process_ase_lsa () is separated to these functions.
3415
3416 OSPF AS-external-LSA origination is whole re-organized.
3417
34182000-02-18 Toshiaki Takada <takada@zebra.org>
3419
3420 * ospf_packet.c (ospf_ls_upd): Fix bug of OSPF LSA memory leak.
3421
3422 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
3423 (ospf_asbr_route_add_queue_lsa): Fix bug of OSPF external route
3424 memory leak.
3425
34262000-02-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3427
3428 * ospf_asbr.c (ospf_asbr_route_install_lsa): Re-calculate LSA
3429 checksum after change Advertised Router field.
3430
34312000-02-09 Toshiaki Takada <takada@zebra.org>
3432
3433 * ospf_asbr.c (ospf_external_route_lookup): Add new function.
3434
34352000-02-08 Toshiaki Takada <takada@zebra.org>
3436
3437 * ospfd.c (ospf_router_id_get), (ospf_router_id_update),
3438 (ospf_router_id_update_timer): Router ID decision algorithm is changed.
3439 Router ID is chosen from all of eligible interface addresses even if
3440 it is not enable to OSPF.
3441
34422000-02-08 Toshiaki Takada <takada@zebra.org>
3443
3444 * ospf_asbr.c (ospf_asbr_route_add): Function divided to
3445 ospf_asbr_route_add_flood_lsa, ospf_asbr_route_add_queue_lsa and
3446 ospf_asbr_route_install_lsa. If Router-ID is not set, then LSA is
3447 waited to install to LSDB.
3448 `0.0.0.0 adv_router' AS-external-LSA origination bug was fixed.
3449
34502000-02-01 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3451
3452 * ospf_flood.c (ospf_ls_retransmit_lookup): Compare LS seqnum
3453 in the ACK before deleting.
3454
3455 * ospf_packet.c (ospf_hello): Reset the flags after a shutdown
3456 and no shutdown of the interface.
3457
34582000-01-31 Toshiaki Takada <takada@zebra.org>
3459
3460 * ospf_packet.c (ospf_ls_req): Send multiple Link State Update
3461 packets respond to a Link State Request packet.
3462
3463 * ospfd.c (show_ip_ospf_neighbor_detail_sub): Show thread state.
3464
3465 * ospf_interface.c (ospf_vl_new): Crash when backbone area
3466 is not configured and set virtual-link to no-backbone area,
3467 bug fixed.
3468
34692000-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3470
3471 * ospf_neighbor.h (struct ospf_neighbor): Add pointer to last send
3472 LS Request LSA.
3473
3474 * ospf_packet.c (ospf_ls_upd): Comment out LS request list
3475 treatment. That should be done in OSPF flooding procedure.
3476
3477 * ospf_flood.c (ospf_flood_through_area): Enclose
3478 ospf_check_nbr_loding inside if-else close.
3479
34802000-01-31 Toshiaki Takada <takada@zebra.org>
3481
3482 * ospf_packet.c (ospf_make_ls_upd): Fix bug of #LSAs counting.
3483
34842000-01-29 Toshiaki Takada <takada@zebra.org>
3485
3486 * ospf_packet.c (ospf_make_md5_digest): Fix bug of md5 authentication.
3487
34882000-01-28 Toshiaki Takada <takada@zebra.org>
3489
3490 * ospfd.c (show_ip_ospf): Show Number of ASE-LSAs.
3491
34922000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3493
3494 * ospf_packet.c (ospf_make_db_desc): Don't use rm_list for
3495 removing LSA from nbr->db_summary.
3496
34972000-01-27 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3498
3499 * ospf_packet.c (ospf_ls_upd_send): Set AllSPFRouters to
3500 destination when the link is point-to-point.
3501 (ospf_ls_ack_send_delayed): Likewise.
3502
35032000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3504
3505 * ospf_flood.c (ospf_ls_request_delete_all): Fix bug of next
3506 pointer lookup after the node is freed.
3507
35082000-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3509
3510 * ospf_asbr.c (ospf_asbr_route_add): Instead of scanning all AS
3511 external route, use ospf_top->external_self.
3512
35132000-01-27 Toshiaki Takada <takada@zebra.org>
3514
3515 * ospf_lsa.c (ospf_forward_address_get): New function added.
3516
3517 * ospf_asbr.c (ospf_asbr_check_lsas): Originate AS-external-LSA
3518 only when it should be replaced.
3519
35202000-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3521
3522 * ospf_flood.c (ospf_ls_retransmit_clear): Delete list node.
3523
3524 * ospf_lsa.c (ospf_lsa_free): Reduce logging message using
3525 ospf_zlog value.
3526
3527 * ospf_ism.c (ism_change_status): Fix bug of DR -> non DR status
3528 change. Self originated LSA is freed but not deleted from lsdb.
3529
35302000-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3531
3532 * ospf_ism.c (ism_interface_down): Don't use router_id for
3533 detecting self neighbor structure. Instead of that compare
3534 pointer itself.
3535
3536 * ospf_neighbor.c (ospf_nbr_free): Cancel all timer when neighbor
3537 is deleted.
3538 (ospf_nbr_free): Free last send packet.
3539
3540 * ospf_neighbor.h (struct ospf_neighbor): Remove host strucutre.
3541 Instead of that src is introduced.
3542
3543 * ospf_nsm.h: Enclose macro defenition with do {} while (0).
3544
35452000-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3546
3547 * ospfd.c: Change part of passive interface implementation. For
3548 passive interface just disabling sending/receiving Hello on the
3549 interface.
3550
35512000-01-16 Kai Bankett <kai.bankett@vew-telnet.net>
3552
3553 * ospf_interface.h (OSPF_IF_PASSIVE): Add passive flag.
3554 * ospf_interface.c (ospf_if_lookup_by_name): Add new function.
3555 * ospf_lsa.c (ospf_router_lsa): Skip passive interface.
3556 * ospfd.c (passive_interface): New command passive-interface is
3557 added.
3558 (ospf_config_write): Print passive interface.
3559
35602000-01-15 Toshiaki Takada <takada@zebra.org>
3561
3562 * ospf_interface.h (crypt_key): New struct added to store
3563 multiple cryptographic autheitication keys.
3564 (ospf_interface): struct changed.
3565
3566 * ospf_interface.c: ospf_crypt_key_new, ospf_crypt_key_add,
3567 ospf_crypt_key_lookup, ospf_crypt_key_delete: new functions added.
3568
3569 * ospf_packet.c (ip_ospf_message_digest_key): Changed to store
3570 multiple cryptographic authentication keys.
3571
35722000-01-14 Toshiaki Takada <takada@zebra.org>
3573
3574 * ospf_interface.c: DEFUN (if_ospf_*) commands changed name to
3575 ip_ospf_* ().
3576 Old notation `ospf *' still remains backward compatibility.
3577
35781999-12-29 Alex Zinin <zinin@amt.ru>
3579 * ospf_lsa.c: ospf_lsa_more_recent() bug fix
3580 * ospf_nsm.c, ospf_packet.c: remove nbr data struct when
3581 int goes down, also check DD flags correctly (bug fix)
3582
35831999-12-28 Alex Zinin <zinin@amt.ru>
3584 * "redistribute <source> metric-type (1|2) metric <XXX>" added
3585
35861999-12-23 Alex Zinin <zinin@amt.ru>
3587 * added RFC1583Compatibility flag
3588 * added dynamic interface up/down functionality
3589
35901999-11-19 Toshiaki Takada <takada@zebra.org>
3591
3592 * ospf_neighbor.h (struct ospf_neighbor): Add member state_change
3593 for NSM state change statistics.
3594
35951999-11-19 Toshiaki Takada <takada@zebra.org>
3596
3597 * ospfd.c (show_ip_ospf_neighbor_detail),
3598 (show_ip_ospf_neighbor_int_detail): DEFUN Added.
3599
36001999-11-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3601
3602 * ospf_asbr.c (ospf_asbr_check_lsas): Add check of
3603 lsa->refresh_list.
3604
36051999-11-11 Toshiaki Takada <takada@zebra.org>
3606
3607 * ospf_ia.[ch] (OSPF_EXAMINE_SUMMARIES_ALL): Macro added.
3608 This macro is expanded to ospf_examine_summaries ()
3609 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3610 (OSPF_EXAMINE_TRANSIT_SUMMARIES_ALL): Macro added.
3611 This macro is expanded to ospf_examine_transit_summaries ()
3612 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3613
36141999-11-11 Toshiaki Takada <takada@zebra.org>
3615
3616 * ospf_lsa.[ch] (ospf_find_self_summary_lsa_by_prefix): Changed to
3617 macro OSPF_SUMMARY_LSA_SELF_FIND_BY_PREFIX.
3618 (ospf_find_self_summary_asbr_lsa_by_prefix): Changed to
3619 macro OSPF_SUMMARY_ASBR_LSA_SELF_FIND_BY_PREFIX.
3620 (ospf_find_self_external_lsa_by_prefix): Changed to
3621 macro OSPF_EXTERNAL_LSA_SELF_FIND_BY_PREFIX.
3622
36231999-11-11 Toshiaki Takada <takada@zebra.org>
3624
3625 * ospfd.c (ospf_abr_type): ospf_abr_type_cisco, ospf_abr_type_ibm,
3626 ospf_abr_type_shortcut and ospf_abr_type_standard DEFUNs are
3627 combined.
3628 * ospfd.c (no_ospf_abr_type): no_ospf_abr_type_cisco,
3629 no_ospf_abr_type_ibm and no_ospf_abr_type_shortcut DEFUNS are
3630 combined.
3631
36321999-11-10 Toshiaki Takada <takada@zebra.org>
3633
3634 * ospf_route.c (ospf_lookup_int_by_prefix): Move function to
3635 ospf_interface.c and change name to ospf_if_lookup_by_prefix ().
3636
36371999-11-01 Alex Zinin <zinin@amt.ru>
3638 * ospf_packet.c
3639 some correction to LSU processing
3640
3641 * ospf_lsa.c ospfd.h
3642 randomize initial LSA refreshment interval
3643 and limit the size of LSA-group to 10
3644 to let randomization work more effectively.
3645
36461999-10-31 Alex Zinin <zinin@amt.ru>
3647 * ospf_interface.c
3648 cancel t_network_lsa_self
3649 when freeing int structure
3650
3651 * ospf_abr.c ospf_asbr.c ospf_flood.c ospf_lsa.c
3652 ospf_lsa.h ospf_lsdb.h ospfd.c ospfd.h
3653
3654 Summary and ASE LSA refreshment functions
3655 added---LSA refreshment is paced to 70 LSAs
3656 per sec to avoid link overflow. Refreshment events
3657 are further randomized within a 10 sec interval
3658 to avoid syncing.
3659
3660 Also the sigfault of memcmp() in ospf_lsa_is_different()
3661 is fixed.
3662
36631999-10-30 Alex Zinin <zinin@amt.ru>
3664 * ospf_nsm.c
3665 Fix the bug where MAX_AGE LSAs
3666 are included into the DB summary.
3667
3668 * ospf_interface.c
3669 allocate 2*MTU input buffer instead of just MTU
3670 for the cases when the other router mistakenly
3671 sends larger packets thus causing fragmentation, etc.
3672
3673 * ospf_nsm.c
3674 in nsm_reset_nbr() lists should be freed
3675 not when they are empty.
3676
36771999-10-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3678
3679 * ospf_zebra.c (ospf_acl_hook): Move OSPF_IS_ASBR and OSPF_IS_ABR
3680 check inside of if (ospf_top).
3681
36821999-10-29 Alex Zinin <zinin@amt.ru>
3683 * ospf_lsa.c ospf_lsdb.c :
3684 add assertion in lsa and lsa->data alloc functions,
3685 as well as in lsdb_add for new->data
3686
3687 * ospf_lsdb.c: free hash table correctly
3688
36891999-10-28 John Capo <jc@irbs.com>
3690
3691 * ospf_packet.h (OSPF_PACKET_MAX): Correct MAX packet length
3692 calculation
3693
36941999-10-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3695
3696 * OSPF-TRAP-MIB.txt: New file added. Edited version of RFC1850.
3697
3698 * OSPF-MIB.txt: New file added. Edited version of RFC1850.
3699
37001999-10-27 Alex Zinin <zinin@amt.ru>
3701 * ospfd, ospf_zebra, ospf_abr
3702 "area import-list" command is added.
3703 This command allows to filter the inter-area routes
3704 injected into an area. Access list hook function
3705 extended to invalidate area exp/imp lists.
3706
37071999-10-25 Yoshinobu Inoue <shin@nd.net.fujitsu.co.jp>
3708
3709 * ospfd.c (ospf_interface_run): Enable to detect P2P network
3710 on an OSPF interface.
3711
37121999-10-19 Jordan Mendelson <jordy@wserv.com>
3713
3714 * ospf_lsdb.c (ospf_lsdb_add): Fix bug of crash
3715 in ospf_ls_retransmit_lookup ().
3716
37171999-10-19 Vladimir B. Grebenschikov <vova@express.ru>
3718
3719 * ospf_route.c: Workaround about installation of OSPF routes into
3720 the zebra daemon. Add checking of existance routes. Free
3721 ospf_top->old_table if it exists.
3722
37231999-10-15 Jordan Mendelson <jordy@wserv.com>
3724
3725 * Add support for MD5 authentication.
3726
37271999-10-12 Alex Zinin <zinin@amt.ru>
3728 * ospfd.c, ospfd.h, ospf_abr.c:
3729 a new command "area export-list" was added, it allows
3730 the admin. to control which intra-area routes are
3731 announced to other areas by the ABR
3732
37331999-10-12 Alex Zinin <zinin@amt.ru>
3734 * ospf_asbr.c (ospf_asbr_check_lsas): Fix bug of coredump
3735 when "no redistribute" is used after a distribute list
3736 denying some networks was used
3737
37381999-10-05 Toshiaki Takada <takada@zebra.org>
3739
3740 * ospf_route.c (ospf_path_dup): New function added.
3741
37421999-10-05 Toshiaki Takada <takada@zebra.org>
3743
3744 * ospf_interface.[ch]: Some of VL related funciton name changed.
3745
37461999-09-27 Alex Zinin <zinin@amt.ru>
3747
3748 * ospf_zebra.c: Distribute-list functionality added
3749
37501999-09-27 Toshiaki Takada <takada@zebra.org>
3751
3752 * ospfd.c (show_ip_ospf): Fix bug of segmentation fault when no ospf
3753 instance exists.
3754
37551999-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3756
3757 * ospfd.c (ospf_interface_down): Fix bug of misusing nextnode()
3758 instead of node->next. Reported by Hiroki Ishibashi
3759 <ishibasi@dcd.abk.nec.co.jp>.
3760
3761 * ospf_route.c (show_ip_ospf_route): Add check for ospf is enabled
3762 or not.
3763
37641999-09-23 Alex Zinin <zinin@amt.ru>
3765
3766 * stub area support added
3767
37681999-09-23 Alex Zinin <zinin@amt.ru>
3769
3770 * fwd_addr in ASE-LSAs is now set correctly
3771 * ASE routing changed to check the fwd_addr
3772 and skip the route if the addr points to one
3773 of our interfaces to avoid loops.
3774
37751999-09-22 Alex Zinin <zinin@amt.ru>
3776
3777 * ospf_interface:
3778 ospf_vls_in_area() added, it returns
3779 the number of VLs configured through the area
3780
3781 * ospf_interface.c ospf_lsa.c ospf_lsdb.c ospfd.c
3782 honor correct mem alloc
3783
37841999-09-22 Alex Zinin <zinin@amt.ru>
3785
3786 * memory.[ch]:
3787 Some OSPF mem types added,
3788 plus more info in "show mem"
3789
37901999-09-21 Alex Zinin <zinin@amt.ru>
3791
3792 * ospfd.c:
3793 "area range substitute" added.
3794 It can be used on NAT-enabled (IP-masquarade)
3795 routers to announce private networks
3796 from an area as public ones into the outside
3797 world (not in the RFC, btw :)
3798
37991999-09-21 Alex Zinin <zinin@amt.ru>
3800
3801 * ospfd.c:
3802 "area range suppress" added.
3803 This command allows to instruct the router
3804 to be silent about specific ranges, i.e.,
3805 it is a method of route filtering on area
3806 borders
3807
38081999-09-21 Alex Zinin <zinin@amt.ru>
3809
3810 * ospfd.c VLs removed when "no network area" executed
3811
38121999-09-20 Alex Zinin <zinin@amt.ru>
3813
3814 * ospf_ase.c bug fix for not-zero fwd_addr
3815 and directly connected routes.
3816
38171999-09-20 Yon Uriarte <yon@plannet.de>
3818
3819 * ospf_packet.c (ospf_make_ls_req): Introduce delta value for
3820 checking the length of OSPF packet exceeds MTU or not.
3821
3822 * ospf_lsa.c (ospf_lsa_different): Apply ntohs for checking
3823 l1->data->length.
3824
38251999-09-18 Alex Zinin <zinin@amt.ru>
3826
3827 * ospf_lsa.c bug fix for ospf_network_lsa() to
3828 include itself into the RID list
3829
38301999-09-10 Alex Zinin <zinin@amt.ru>
3831
3832 * Alternative ABR behaviors IBM/Cisco/Shortcut
3833 implemented
3834
38351999-09-10 Alex Zinin <zinin@amt.ru>
3836
3837 * router and network-LSA origination
3838 changed to honor MinLSInterval
3839
38401999-09-08 Alex Zinin <zinin@amt.ru>
3841
3842 * modified ABR behavior to honor VLs and transit
3843 areas
3844
38451999-09-07 Alex Zinin <zinin@amt.ru>
3846
3847 * completed VL functionality
3848
38491999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3850
3851 * ospf_asbr.c: New file.
3852 ospf_asbr.h: New file.
3853
3854 * ospf_zebra.c (ospf_redistribute_connected): Add redistribute
3855 related stuff.
3856
38571999-09-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3858
3859 * ospfd.h (OSPF_FLAG_VIRTUAL_LINK): Change OSPF_FLAG_VEND to
3860 OSPF_FLAG_VIRTUAL_LINK for comprehensiveness.
3861
38621999-09-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3863
3864 * ospf_spf.c (ospf_spf_register): Change name from
3865 ospf_spf_route_add() to ospf_spf_register().
3866 Include "ospfd/ospf_abr.h" for ospf_abr_task() prototype.
3867
38681999-09-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3869
3870 * ospf_lsa.c (ospf_external_lsa_install): Change to update
3871 lsa->data rather than install new one, when same id lsa is already
3872 installed.
3873
38741999-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3875
3876 * ospf_lsa.c (ospf_router_lsa_install): Return lsa value.
3877 (ospf_network_lsa_install): Likewise.
3878 (ospf_summary_lsa_install): Likewise.
3879 (ospf_summary_asbr_lsa_install): Likewise.
3880 (ospf_external_lsa_install): Likewise.
3881
3882 * ospf_spf.c (ospf_spf_calculate): Comment out debug function
3883 ospf_rtrs_print().
3884
38851999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3886
3887 * ospf_spf.c (ospf_rtrs_free): Add ospf_spf_calculate() for
3888 freeing rtrs.
3889
38901999-08-31 Toshiaki Takada <takada@zebra.org>
3891
3892 * ospf_lsa.c (show_ip_ospf_database_summary),
3893 (show_ip_ospf_database_summary_asbr),
3894 (show_ip_ospf_database_external): New function added.
3895 `show ip ospf database summary',
3896 `show ip ospf database asbr-summary'
3897 `show ip ospf database external' command can be used.
3898
3899 * ospf_lsa.c (ospf_lsa_count_table): New function added.
3900 (show_ip_ospf_database_all): show nothing if a type of LSA
3901 does not exist.
3902
39031999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3904
3905 * ospf_lsa.c (ospf_maxage_lsa_remover): Preserve next pointer when
3906 the node is deleted.
3907
39081999-08-31 Toshiaki Takada <takada@zebra.org>
3909
3910 * ospf_flood.c (ospf_ls_retransmit_lookup): change to return
3911 struct ospf_lsa *.
3912 (ospf_ls_request_new), (ospf_ls_request_free),
3913 (ospf_ls_request_add), (ospf_ls_request_delete),
3914 (ospf_ls_request_delete_all), (ospf_ls_request_lookup):
3915 New function added.
3916
3917 * ospf_packet.c (ospf_ls_upd_send_lsa): New function added.
3918
3919 * ospf_lsa.h (LS_AGE): Slightly change macro definition.
3920
3921 * ospf_lsa.c (ospf_lsa_more_recent), (ospf_lsa_diffrent):
3922 Use LS_AGE macro.
3923
39241999-08-30 Alex Zinin <zinin@amt.ru>
3925
3926 * ospfd.c
3927 fix a bug with area range config write
3928 added "show ip ospf" command, it will be enhanced later on
3929
39301999-08-30 Alex Zinin <zinin@amt.ru>
3931
3932 * ospf_lsa.c
3933 updated ospf_router_lsa() to honor flags (B-bit)
3934
39351999-08-30 Alex Zinin <zinin@amt.ru>
3936
3937 * ospf_abr.c
3938 wrote major functions implementing ABR activity
3939
39401999-08-30 Alex Zinin <zinin@amt.ru>
3941
3942 * ospf_ia.c ospf_route.c ospf_route.h
3943 fixed the bug with ospf_route.origin field.
3944 Now it holds pointer to lsa_header
3945
39461999-08-30 Alex Zinin <zinin@amt.ru>
3947
3948 * ospf_flood.c ospf_flood.h:
3949 transformed ospf_flood_if_select into ospf_flood_through_area()
3950 added new ospf_flood_if_select() and ospf_flood_through_as()
3951
39521999-08-30 Toshiaki Takada <takada@zebra.org>
3953
3954 * ospf_flood.[ch]: New file added.
3955
3956 * ospf_packet.c (ospf_lsa_flooding),
3957 (ospf_lsa_flooding_select_if): functions move to ospf_flood.c
3958
3959 * ospf_neighbor.c (ospf_put_lsa_on_retransm_list),
3960 (ospf_remove_lsa_from_retransm_list),
3961 (ospf_nbr_remove_all_lsas_from_retransm_list),
3962 (ospf_lsa_remove_from_ls_retransmit):
3963 (ospf_lsa_retransmit): functions move to
3964 ospf_flood.c, and change function's name:
3965
3966 ospf_put_lsa_on_retransm_list ()
3967 -> ospf_ls_retransmit_add ()
3968 ospf_remove_lsa_from_retransm_list ()
3969 -> ospf_ls_retransmit_delete ()
3970 ospf_nbr_remove_all_lsas_from_retransm_list ()
3971 -> ospf_ls_retransmit_clear ()
3972 ospf_lsa_remove_from_ls_retransmit ()
3973 -> ospf_ls_retransmit_delete_nbr_all ()
3974 ospf_lsa_retransmit ()
3975 -> ospf_ls_retransmit_add_nbr_all ()
3976
3977 * ospf_lsa.c (ospf_lsa_lookup_from_list): function move to
3978 ospf_flood.c, and change name to ospf_ls_retransmit_lookup ().
3979
39801999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3981
3982 * ospf_neighbor.c (ospf_nbr_lookup_by_addr): Use
3983 route_node_lookup() instead of route_node_get().
3984
3985 * ospf_packet.c (ospf_ls_upd): Temporary comment out (6) check.
3986
39871999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3988
3989 * ospf_route.c (ospf_lookup_int_by_prefix): Add check of
3990 oi->address.
3991
39921999-08-29 Alex Zinin <zinin@amt.ru>
3993 * ospf_lsa.c
3994 MaxAge LSA deletion functions added.
3995
39961999-08-29 Alex Zinin <zinin@amt.ru>
3997 * ospf_neighbor.c
3998 ospf_nbr_lookup_by_addr(): added route_unlock_node()
3999 when function returns NULL if (rn->info == NULL)
4000
40011999-08-29 Alex Zinin <zinin@amt.ru>
4002 * ospfd.c
4003 added a hack for area range deletion
4004
40051999-08-29 Alex Zinin <zinin@amt.ru>
4006 * ospf_lsa.h
4007 included lsdb field into struct ospf_lsa, to find
4008 LSDB easier when removing MaxAge LSAs.
4009
40101999-08-29 Alex Zinin <zinin@amt.ru>
4011 * ospf_lsa.c ospf_neighbor.c ospf_nsm.c
4012 ospf_packet.c changed to honor new retransmit list
4013 management functions
4014
40151999-08-29 Alex Zinin <zinin@amt.ru>
4016 * ospf_neighbor.c , .h added new retransmit list functions.
4017
40181999-08-29 Alex Zinin <zinin@amt.ru>
4019 * Makefile.in
4020 added ospf_ase, ospf_abr, ospf_ia
4021
40221999-08-29 Alex Zinin <zinin@amt.ru>
4023 * ospf_spf.c:
4024 - changed ospf_next_hop_calculation() to include interface
4025 and nexthop addr for directly connected routers---more informative
4026 and solves problem with route installation into the kernel
4027 - changed ospf_nexthop_out_if_addr() to support routers, not only
4028 transit networks
4029 - added ospf_process_stubs();
4030
40311999-08-29 Alex Zinin <zinin@amt.ru>
4032 * ospf_lsa.c:
4033 - changed ospf_router_lsa() to provide correct links
4034 for p-t-p interfaces;
4035 - changed ospf_summary_lsa_install() to support table
4036 of self-originated summary-LSAs;
4037 - added ospf_summary_asbr_lsa_install() and ospf_external_lsa_install()
4038 - changed ospf_lsa_install() accordingly
4039 - changed show_ip_ospf_database_router_links() to support p-t-p
4040
40411999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4042
4043 * ospf_packet.c (ospf_make_db_desc): Only master can clear more
4044 flag.
4045
40461999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4047
4048 * ospf_packet.c (ospf_read): Add check of IP src address.
4049
40501999-08-28 Alex Zinin <zinin@amt.ru>
4051 * ospf_neighbor.h
4052 added ospf_nbr_lookup_by_routerid()
4053
40541999-08-28 Alex Zinin <zinin@amt.ru>
4055 * ospfd.h
4056 added ABR/ASBR flag definitions and fields;
4057 added iflist field to area structure;
4058 summary_lsa_self and summary_lsa_asbr_self are changed
4059 to be route tables;
4060 added ranges field---configured area ranges;
4061 A separate Routers RT added;
4062 area range config commands and config write added
4063
4064
40651999-08-28 Alex Zinin <zinin@amt.ru>
4066 * ospf_route.c :
4067 ospf_route_free()--added code to free the list of paths;
4068 The following functions added:
4069 ospf_intra_add_router();
4070 ospf_intra_add_transit();
4071 ospf_intra_add_stub();
4072 the last function uses new ospf_int_lookup_by_prefix();
4073 show_ip_ospf_route_cmd()--changed to support new RT structure;
4074 added ospf_cmp_routes()--general route comparision function;
4075 added ospf_route_copy_nexthops() and ospf_route_copy_nexthops_from_vertex()
4076 they are used in ASE and IA routing;
4077 added ospf_subst_route() and ospf_add_route();
4078
40791999-08-28 Alex Zinin <zinin@amt.ru>
4080 * ospf_route.h :
4081 changed struct ospf_path to include output interface,
4082 changed struct ospf_route to support IA and ASE routing.
4083 added prototypes of the function used in IA and ASE modules.
4084
40851999-08-28 Alex Zinin <zinin@amt.ru>
4086 * ospf_lsa.h ospf_lsa.c :
4087 added ospf_my_lsa(), an interface independent version of
4088 ospf_lsa_is_self_originated(), it will be used in ASE and IA-routing.
4089
40901999-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4091
4092 * ospf_interface.c (interface_config_write): Add check for
4093 oi->nbr_self.
4094
40951999-08-25 Toshiaki Takada <takada@zebra.org>
4096
4097 * ospf_lsa.c (ospf_lsa_dup): New function added.
4098
4099 * ospf_packet.c (ospf_write), (ospf_read): Print send/recv
4100 interface in debug message.
4101
41021999-08-25 Toshiaki Takada <takada@zebra.org>
4103
4104 * ospf_packet.c (ospf_ls_ack_send): The name is changed from
4105 `ospf_ls_ack_send'.
4106 (ospf_ls_ack_send_delayed) (ospf_ls_ack_timer): New function added.
4107 Delayed Link State Acknowledgment is scheduled by timer.
4108
41091999-08-25 Alex Zinin <zinin@amt.ru>
4110
4111 * ospf_lsa.c (ospf_router_lsa): Incorrectly included link to
4112 a stub network instead of link to a transit network into
4113 originated router-LSA, bug fixed.
4114
41151999-08-24 Toshiaki Takada <takada@zebra.org>
4116
4117 * ospfd.c (ospf_update_router_id): New function added.
4118
4119 * ospf_network.c (ospf_write): Create new socket per transmission.
4120 And select outgoing interface whether dst is unicast or multicast.
4121
4122 * ospf_packet.c: LSA flooding will work.
4123
41241999-08-24 VOP <vop@unity.net>
4125
4126 * ospf_route.c: Include "sockunion.h"
4127
41281999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
4129
4130 * ospf_network.c (ospf_serv_sock_init): Enclose
4131 IPTOS_PREC_INTERNETCONTROL setting with #ifdef for OS which does
4132 not have the definition.
4133
41341999-08-23 Toshiaki Takada <takada@zebra.org>
4135
4136 * ospf_packet.c: Fix bug of DD processing.
4137
41381999-08-18 Toshiaki Takada <takada@zebra.org>
4139
4140 * ospf_lsa.c (show_ip_ospf_database): Show actual `LS age'.
4141
41421999-08-17 Toshiaki Takada <takada@zebra.org>
4143
4144 * ospf_lsa.h (OSPF_MAX_LSA): The value of OSPF_MAX_LSA is
4145 corrected. The bug of `mes_lookup' is fixed.
4146 This had been reported by Poul-Henning Kamp <phk@freebsd.org>.
4147
4148 * ospf_lsa.c (ospf_router_lsa_install): The name is changed from
4149 `ospf_add_router_lsa'.
4150 (ospf_network_lsa_install): The name is changed from
4151 `ospf_add_network_lsa'.
4152
4153 * ospf_interface.h (ospf_interface): Add member `nbr_self'.
4154
4155 * ospf_interface.c (ospf_if_is_enable): New function added.
4156
41571999-08-16 Toshiaki Takada <takada@zebra.org>
4158
4159 * ospf_lsa.h (struct lsa_header): The name is changed from
4160 `struct ospf_lsa'.
4161 (struct ospf_lsa): New struct added to control each LSA's aging
4162 and timers.
4163
4164 * ospf_lsa.c (ospf_lsa_data_free): The name is change from
4165 `ospf_lsa_free'.
4166 (ospf_lsa_data_new), (ospf_lsa_new), (ospf_lsa_free),
4167 (ospf_lsa_different), (ospf_lsa_install): New function added.
4168
4169 * ospf_packet.c (ospf_ls_upd_list_lsa): New function added.
4170
41711999-08-12 Toshiaki Takada <takada@zebra.org>
4172
4173 * ospf_nsm.c (nsm_reset_nbr): New function added.
4174 KillNbr and LLDown neighbor event call this function.
4175
41761999-08-10 Toshiaki Takada <takada@zebra.org>
4177
4178 * ospf_packet.c (ospf_ls_retransmit)
4179 (ospf_ls_upd_timer): New function added.
4180 Set retransmission timer for Link State Update.
4181
41821999-07-29 Toshiaki Takada <takada@zebra.org>
4183
4184 * ospf_ism.c (ospf_dr_election): Fix bug of DR election.
4185
41861999-07-28 Toshiaki Takada <takada@zebra.org>
4187
4188 * ospf_network.c (ospf_serv_sock_init): Set IP precedence field
4189 with IPTOS_PREC_INTERNET_CONTROL.
4190
4191 * ospf_nsm.c (nsm_change_status): Schedule NeighborChange event
4192 if NSM status change.
4193
4194 * ospf_packet.c (ospf_make_hello): Never include a neighbor in
4195 Hello packet, when the neighbor goes down.
4196
41971999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
4198
4199 * Makefile.am (noinst_HEADERS): Add ospf_route.h.
4200
4201 * ospf_route.c (show_ip_ospf_route): Add `show ip ospf route'
4202 command.
4203
42041999-07-25 Toshiaki Takada <takada@zebra.org>
4205
4206 * ospf_lsa.c (ospf_router_lsa): Fix bug of LS sequence number
4207 assignement.
4208
42091999-07-25 Kunihiro Ishiguro <kunihiro@zebra.org>
4210
4211 * ospf_route.c (ospf_route_table_free): New function added.
4212
4213 * ospf_spf.c (ospf_spf_next): Free vertex w when cw's and w's
4214 distance is same.
4215
4216 * ospfd.h (struct ospf): Add old_table.
4217
4218 * ospf_main.c (sighup): Call of log_rotate () removed.
4219
4220 * ospf_lsa.c (ospf_lsa_is_self_originated): Fix bug of checking
4221 area->lsa as self LSA. This should be area->lsa_self.
4222
42231999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
4224
4225 * ospf_zebra.c (ospf_zebra_add): ospf_zebra_add
4226 (),ospf_zebra_delete () added.
4227
4228 * ospf_spf.c (ospf_spf_calculate): Call ospf_intra_route_add ().
4229
42301999-07-24 Toshiaki Takada <takada@zebra.org>
4231
4232 * ospf_lsa.c: Change LS sequence number treatment.
4233 (ospf_lsa_is_self_originated): New function added.
4234 (show_ip_ospf_database_self_originated): New DEFUN added.
4235
42361999-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4237
4238 * ospf_interface.c (ospf_if_lookup_by_addr): Add loopback check.
4239
42401999-07-22 Toshiaki Takada <takada@zebra.org>
4241
4242 * ospf_spf.c (ospf_nexthop_new), (ospf_nexthop_free),
4243 (ospf_nexthop_dup): function added.
4244 (ospf_nexthop_calculation): function changed.
4245
4246 * ospf_interface.c (ospf_if_lookup_by_addr): function added.
4247
42481999-07-21 Toshiaki Takada <takada@zebra.org>
4249
4250 * ospf_spf.c (ospf_spf_closest_vertex): function removed.
4251
42521999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
4253
4254 * ospf_spf.c (ospf_spf_next): Apply ntohs for fetching metric.
4255
42561999-07-21 Toshiaki Takada <takada@zebra.org>
4257
4258 * ospf_neighbor.c (ospf_nbr_lookup_by_router_id): fundtion removed.
4259
4260 * ospf_lsa.c (show_ip_ospf_database_router): describe each
4261 connected link.
4262
42631999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
4264
4265 * ospf_spf.c (ospf_spf_next): V is router LSA or network LSA so
4266 change behavior according to LSA type.
4267 (ospf_lsa_has_link): Link check function is added.
4268
42691999-07-20 Kunihiro Ishiguro <kunihiro@zebra.org>
4270
4271 * ospf_spf.c (ospf_spf_calculate_schedule): Add new function for
4272 SPF calcultion schedule addtition.
4273 (ospf_spf_calculate_timer_add): Rough 30 sec interval SPF calc
4274 timer is added.
4275 (ospf_spf_next_router): Delete ospf_spf_next_network ().
4276
4277 * ospf_lsa.c (show_ip_ospf_database_all): Network-LSA display
4278 header typo correction. Display of router LSA's #link added.
4279
42801999-07-19 Toshiaki Takada <takada@zebra.org>
4281
4282 * ospf_packet.c (ospf_check_network_mask): Added new function for
4283 receiving Raw IP packet on an appropriate interface.
4284
42851999-07-16 Toshiaki Takada <takada@zebra.org>
4286
4287 * ospfd.c (ospf_router_id): new DEFUN added.
4288
42891999-07-15 Toshiaki Takada <takada@zebra.org>
4290
4291 * ospf_spf.c (ospf_spf_init), (ospf_spf_free),
4292 (ospf_spf_has_vertex), (ospf_vertex_lookup),
4293 (ospf_spf_next_router), (ospf_spf_next_network),
4294 (ospf_spf_closest_vertex), (ospf_spf_calculate):
4295 function added.
4296
42971999-07-13 Toshiaki Takada <takada@zebra.org>
4298
4299 * ospf_ism.c: fix bug of DR Election.
4300
4301 * ospf_nsm.c: fix bug of adjacency forming.
4302
43031999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
4304
4305 * ospfd.c (ospf_init): Change to use install_default.
4306
43071999-07-01 Rick Payne <rickp@rossfell.co.uk>
4308
4309 * ospf_zebra.c (zebra_init): Install standard commands to
4310 ZEBRA_NODE.
4311
43121999-06-30 Toshiaki Takada <takada@zebra.org>
4313
4314 * ospf_dump.c: Whole debug command is improved.
4315 (ISM|NSM) (events|status|timers) debug option added.
4316 (show_debugging_ospf): new DEFUN added.
4317
43181999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4319
4320 * ospf_lsa.c (ospf_lsa_lookup_from_list): Change !IPV4_ADDR_CMP to
4321 IPV4_ADDR_SAME.
4322
43231999-06-29 Toshiaki Takada <takada@zebra.org>
4324
4325 * ospf_dump.c (ospf_summary_lsa_dump): Add summary-LSA dump routine.
4326 (ospf_as_external_lsa_dump): Add AS-external-LSA dump routine.
4327
4328 * ospf_nsm.c (nsm_twoway_received): fix condtion of adjacnet.
4329
4330 * ospf_ism.c (ospf_dr_election): fix DR Election.
4331
4332 * ospf_dump.c (ospf_nbr_state_message): fix `show ip ospf neighbor'
4333 command's state.
4334
43351999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4336
4337 * ospf_dump.c (ospf_router_lsa_dump): Add router-LSA dump routine.
4338
43391999-06-28 Toshiaki Takada <takada@zebra.org>
4340
4341 * ospf_lsa.c (show_ip_ospf_database_network): fix bug of
4342 `show ip ospf database network' command output.
4343
4344 * ospf_nsm.c (nsm_inactivity_timer): Clear list of Link State
4345 Retransmission, Database Summary and Link State Request.
4346
4347 * ospf_packet.c (ospf_ls_req_timer): New function added.
4348 Set Link State Request retransmission timer.
4349
43501999-06-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4351
4352 * ospf_main.c (main): Change default output from ZLOG_SYSLOG to
4353 ZLOG_STDOUT.
4354
4355 * ospfd.c (ospf_init): Register show_ip_ospf_interface_cmd and
4356 show_ip_ospf_neighbor_cmd to VIEW_NODE.
4357
4358 * ospf_lsa.c (ospf_lsa_init): Register show_ip_ospf_database_cmd
4359 and show_ip_ospf_database_type_cmd to VIEW_NODE.
4360
43611999-06-25 Toshiaki Takada <takada@zebra.org>
4362
4363 * ospf_packet.c: fix bug of DD making.
4364 fix bug of LS-Update reading.
4365
43661999-06-23 Toshiaki Takada <takada@zebra.org>
4367
4368 * ospf_packet.c: All type of packets are changed to use
4369 fifo queue structure.
4370 (ospf_fill_header) function added.
4371
43721999-06-22 Toshiaki Takada <takada@zebra.org>
4373
4374 * ospf_packet.c (ospf_packet_new): New function added to handle
4375 sending ospf packet by fifo queue structure.
4376 (ospf_packet_free), (ospf_fifo_new), (ospf_fifo_push),
4377 (ospf_fifo_pop), (ospf_fifo_head), (ospf_fifo_flush),
4378 (ospf_fifo_free): Likewise.
4379
43801999-06-21 Toshiaki Takada <takada@zebra.org>
4381
4382 * ospf_nsm.c (ospf_db_desc_timer): function added.
4383 (nsm_timer_set) function added.
4384 * ospf_dump.c (ospf_option_dump): function added.
4385 * ospf_packet.c (ospf_ls_req) (ospf_make_ls_req): function added.
4386
43871999-06-20 Toshiaki Takada <takada@zebra.org>
4388
4389 * ospf_lsa.c (ospf_lsa_more_recent): function added.
4390 * ospf_neighbor.h (struct ospf_neighbor): Change member ms_flag
4391 to dd_flags.
4392
43931999-06-19 Toshiaki Takada <takada@zebra.org>
4394
4395 * ospf_lsa.c: DEFUN (show_ip_ospf_database) Added.
4396 * ospf_interface.c (if_ospf_cost), (if_ospf_dead_interval),
4397 (if_ospf_hello_interval), (if_ospf_priority),
4398 (if_ospf_retransmit_interval), (if_ospf_transmit_delay)
4399 argument changed from NUMBER to <range>.
4400 DEFUN (if_ospf_network_broadcast),
4401 DEFUN (if_ospf_network_non_broadcast),
4402 DEFUN (if_ospf_network_point_to_multipoint),
4403 DEFUN (if_ospf_network_point_to_point) functions are combined to
4404 DEFUN (if_ospf_network).
4405
44061999-06-18 Toshiaki Takada <takada@zebra.org>
4407
4408 * ospf_lsa.c: ospf_add_router_lsa (), ospf_add_network_lsa (),
4409 ospf_lsa_lookup (), ospf_lsa_count () Added.
4410
44111999-06-15 Toshiaki Takada <takada@zebra.org>
4412
4413 * DEFUN (ospf_debug_ism), DEFUN (ospf_debug_nsm),
4414 DEFUN (no_ospf_debug_ism), DEFUN (no_ospf_debug_nsm) Added.
4415 `debug ospf ism' command shows debug message.
4416 `debuf ospf nsm' command shows debug message.
4417
44181999-06-14 Toshiaki Takada <takada@zebra.org>
4419
4420 * ospf_lsa.c: ospf_network_lsa () Added.
4421 ospf_lsa_checksum () Added.
4422 * DEFUN (ospf_debug_packet), DEFUN (no_ospf_debug_packet) Added.
4423 `debug ospf packet' command shows debug message.
4424
44251999-06-13 Toshiaki Takada <takada@zebra.org>
4426
4427 * ospf_packet.h: Remove struct ospf_ls_req {}, ospf_ls_upd {},
4428 ospf_ls_ack {}.
4429
44301999-06-11 Toshiaki Takada <takada@zebra.org>
4431
4432 * ospf_dump.c: fix IP packet length treatment.
4433
44341999-06-10 Toshiaki Takada <takada@zebra.org>
4435
4436 * ospf_ism.h: Add OSPF_ISM_EVENT_EXECUTE() Macro Added.
4437 * ospf_nsm.h: Add OSPF_NSM_EVENT_EXECUTE() Macro Added.
4438
4439 * ospf_packet.c: ospf_db_desc (), ospf_db_desc_send () Added.
4440 ospf_make_hello (), ospf_make_db_desc () Added.
4441 ospf_db_desc_proc () Added.n
4442
4443 * Database Description packet can be processed.
4444
44451999-06-08 Toshiaki Takada <takada@zebra.org>
4446
4447 * ospf_lsa.c: New file.
4448
44491999-06-07 Toshiaki Takada <takada@zebra.org>
4450
4451 * ospf_neighbor.c: ospf_fully_adjacent_count () Added.
4452
44531999-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
4454
4455 * ospf_spf.[ch]: New file.
4456
44571999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4458
4459 * ospf_zebra.c: Changed to use lib/zclient.c routines.
4460
4461 * ospf_zebra.h (zebra_start): Remove struct zebra.
4462
44631999-05-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4464
4465 * ospfd.c (ospf_config_write): Add cast (unsigned long int) to
4466 ntohl for sprintf warning.
4467
44681999-05-19 Toshiaki Takada <takada@zebra.org>
4469
4470 * ospf_ism.c (ospf_dr_election): Join AllDRouters Multicast group
4471 if interface state changes to DR or BDR.
4472
44731999-05-14 Stephen R. van den Berg <srb@cuci.nl>
4474
4475 * ospf_main.c (signal_init): SIGTERM call sigint.
4476 (sigint): Logging more better message.
4477
44781999-05-12 Toshiaki Takada <takada@zebra.org>
4479
4480 * ospfd.c: Fix bug of `no router ospf' statement, it will work.
4481
44821999-05-11 Toshiaki Takada <takada@zebra.org>
4483
4484 * ospf_neighbor.c: ospf_nbr_free () Added.
4485
44861999-05-10 Toshiaki Takada <takada@zebra.org>
4487
4488 * ospfd.h: struct ospf_area { }, struct ospf_network { } Changed.
4489 * Fix bug of `no network' statement, it will work.
4490
44911999-05-07 Toshiaki Takada <takada@zebra.org>
4492
4493 * ospf_interface.c, ospf_zebra.c: Fix bug of last interface is not
4494 updated by ospf_if_update ().
4495
44961999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4497
4498 * Makefile.am (noinst_HEADERS): Add ospf_lsa.h for distribution.
4499
45001999-04-25 Toshiaki Takada <takada@zebra.org>
4501
4502 * ospf_interface.c: DEFUN (no_if_ospf_cost),
4503 DEFUN (no_if_ospf_dead_interval),
4504 DEFUN (no_if_ospf_hello_interval),
4505 DEFUN (no_if_ospf_priority),
4506 DEFUN (no_if_ospf_retransmit_interval),
4507 DEFUN (no_if_ospf_transmit_delay) Added.
4508
4509 interface_config_write () suppress showing interface
4510 default values.
4511
45121999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
4513
4514 * ospf_dump.c (ospf_timer_dump): If thread is NULL return "inactive".
4515
4516 * ospfd.c (ospf_if_update): Fix bug of using ospf_area { } instead
4517 of ospf_network { }. So `router ospf' statement in ospfd.conf
4518 works again.
4519 (ospf_if_update): Call ospf_get_router_id for updating router ID.
4520
45211999-04-25 Toshiaki Takada <takada@zebra.org>
4522
4523 * ospf_interface.c: DEFUN (if_ospf_network) deleted.
4524 DEFUN (if_ospf_network_broadcast),
4525 DEFUN (if_ospf_network_non_broadcast),
4526 DEFUN (if_ospf_network_point_to_multipoint),
4527 DEFUN (if_ospf_network_point_to_point),
4528 DEFUN (no_if_ospf_network) Added.
4529
45301999-04-23 Toshiaki Takada <takada@zebra.org>
4531
4532 * ospfd.h: struct area { } changed to struct ospf_network { }.
4533 Add struct ospf_area { }.
4534 * ospfd.c: Add ospf_area_lookup_by_area_id (), ospf_network_new (),
4535 and ospf_network_free ().
4536 DEFUN (area_authentication), DEFUN (no_area_authentication) Added.
4537
45381999-04-22 Toshiaki Takada <takada@zebra.org>
4539
4540 * ospf_lsa.h: New file.
4541 * ospf_packet.h: LSA related struct definition are moved to
4542 ospf_lsa.h.
4543 * ospf_packet.c: ospf_verify_header () Added.
4544
45451999-04-21 Toshiaki Takada <takada@zebra.org>
4546
4547 * ospf_ism.c: ospf_elect_dr () and related function is changed.
4548 DR Election bug fixed.
4549 * ospf_dump.c: ospf_nbr_state_message (), ospf_timer_dump () Added.
4550 * ospfd.c: DEFUN (show_ip_ospf_neighbor) Added.
4551
45521999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
4553
4554 * ospf_main.c (main): access_list_init () is added for vty
4555 connection filtering.
4556
45571999-04-16 Toshiaki Takada <takada@zebra.org>
4558
4559 * ospfd.c: DEFUN (show_ip_ospf_interface) Added.
4560 * ospf_neighbor.c: ospf_nbr_count () Added.
4561
45621999-04-15 Toshiaki Takada <takada@zebra.org>
4563
4564 * ospfd.h: struct ospf { } Changed.
4565 * ospfd.c: ospf_lookup_by_process_id () Deleted.
4566 * ospf_ism.c: ospf_wait_timer () Added. WaitTimer will work.
4567
45681999-04-14 Toshiaki Takada <takada@zebra.org>
4569
4570 * ospf_ism.c: ospf_elect_dr () Added.
4571 * ospf_network.c: ospf_if_ipmulticast () Added.
4572
45731999-04-11 Toshiaki Takada <takada@zebra.org>
4574
4575 * ospf_interface.c: interface_config_write (),
4576 DEFUN (if_ip_ospf_cost),
4577 DEFUN (if_ip_ospf_dead_interval),
4578 DEFUN (if_ip_ospf_hello_interval),
4579 DEFUN (if_ip_ospf_priority),
4580 DEFUN (if_ip_ospf_retransmit_interval) and
4581 DEFUN (if_ip_ospf_transmit_delay) Added.
4582
45831999-04-08 Toshiaki Takada <takada@zebra.org>
4584
4585 * ospf_dump.c: ospf_packet_db_desc_dump () Added.
4586 * ospf_neighbor.c: ospf_nbr_bidirectional () Added.
4587 * ospf_nsm.c: nsm_twoway_received () Added.
4588
45891999-04-02 Toshiaki Takada <takada@zebra.org>
4590
4591 * ospf_neighbor.c: New file.
4592 * ospf_neighbor.h: New file.
4593 * ospf_nsm.c: New file.
4594 * ospf_nsm.h: New file.
4595 * ospf_packet.c: Add ospf_make_header (), ospf_hello () and
4596 ospf_hello_send (). Now OSPFd can receive Hello and send Hello.
4597
45981999-03-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4599
4600 * ospf_packet.c: Add ospf_recv_packet (). Now OSPF Hello can receive.
4601
46021999-03-19 Toshiaki Takada <takada@zebra.org>
4603
4604 * ospf_packet.c: New file.
4605 * ospf_packet.h: New file.
4606 * ospf_network.c: New file.
4607 * ospf_network.h: New file.
4608 * ospfd.h: move OSPF message structure has moved to ospf_packet.h.
4609
46101999-03-17 Kunihiro Ishiguro <kunihiro@zebra.org>
4611
4612 * ospf_zebra.c (ospf_zebra_get_interface): Fix for IPv6 interface
4613 address.
4614
4615 * Makefile.am (install-sysconfDATA): Overwrite install-sysconfDATA
4616 for install ospfd.conf.sample as owner read only file.
4617
4618 * ospf_main.c (usage): Change to use ZEBRA_BUG_ADDRESS.
4619
46201999-03-15 Toshiaki Takada <takada@zebra.org>
4621
4622 * ospf_ism.c: New file.
4623 * ospf_ism.h: New file.
4624 * ospf_dump.c: New file.
4625 * ospf_dump.h: New file.
4626
4627 * ospfd.h: Add (struct ospf), (struct config_network),
4628 (struct message) structure.
4629
4630 * ospf_interface.c: Add ospf_if_match_network ().
4631 * ospf_interface.h (struct ospf_interface): Change struct members.
4632
4633 * ospfd.c: ospf_lookup_by_process_id (), ospf_network_new (),
4634 DEFUN (network_area): Added.
4635
4636 * ospfd.conf.sample: Change sample configuration.
4637
46381999-03-05 Toshiaki Takada <takada@zebra.org>
4639
4640 * ospf_interface.c: New file.
4641 * ospf_interface.h: New file.
4642 * ospf_zebra.h: New file.
4643 * ospf_zebra.c: Add interface function for zebra daemon.
4644 * ospfd.c: New file.
4645
46461999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4647
4648 * Move IPv6 codes and files to ospf6d directory.
4649
46501999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
4651
4652 * syslog support added
4653
46541998-12-22 Toshiaki Takada <takada@zebra.org>
4655
4656 * ospfd.h: New file.
4657 * ospf_lsa.h: New file.
4658
46591998-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
4660
4661 * Makefile.am: New file.
4662 * ospf_main.c: New file.
4663