blob: 4da013a8c6c00d29bbd3169ca3dc909a4d9e5df3 [file] [log] [blame]
Paul Jakmab5aeb442006-08-30 18:47:37 +000012006-08-28 Andy Gay <andy@andynet.net>
2
3 * ospf_packet.c: (ospf_make_db_desc) Assert added with More-bit
4 fixes does not hold up with addition of Ogier DB-Exchange
5 optimisation, which can empty the db-summary list in between
6 sent DD packets. Remove assert, update More-bit always when
7 in Exchange.
8
Paul Jakma29b5a042006-08-27 08:01:20 +000092006-08-27 J.J. Krabbendam <jkrabbendam@aimsys.nl>
10
11 * ospfd.c: (ospf_finish_final) default redistribute should be
12 unset too, fixes bug where reconfiguring ospfd completely
13 can no longer enable default redistribution.
14
Paul Jakma2518efd2006-08-27 06:49:29 +0000152006-08-25 Paul Jakma <paul.jakma@sun.com>
16
17 * (general) Bug #134. Be more robust to backward time changes,
18 use the newly added libzebra time functions.
19 In most cases: recent_time -> recent_relative_time()
20 gettimeofday -> quagga_gettime (QUAGGA_CLK_MONOTONIC, ..)
21 time -> quagga_time.
22 (ospf_make_md5_digest) time() call deliberately not changed.
23 (ospf_external_lsa_refresh) remove useless gettimeofday, LSA
24 tv_orig time was already set in ospf_lsa_new, called via
25 ospf_external_lsa_new.
26
Paul Jakmaba122e72006-08-27 06:24:34 +0000272006-08-04 Paul Jakma <paul.jakma@sun.com>
28
29 * ospf_lsdb.c: (ospf_lsdb_delete_entry) new function, consolidate
30 exact same functionality replicated in other functions.
31 (ospf_lsdb_add) Strip out code by using ospf_lsdb_delete_entry.
32 (ospf_lsdb_delete) ditto.
33 (ospf_lsdb_delete_all) ditto.
34
Paul Jakma8dd24ee2006-08-27 06:29:30 +0000352006-08-03 Paul Jakma <paul.jakma@sun.com>
36
37 * ospf_packet.c: (ospf_make_db_desc) Unset the DD More bit
38 after constructing the packet, if appropriate.
39 (ospf_db_desc_proc) Speed up Exchange, slave should raise
40 ExchangeDone earlier, as RFC mandates, by forming its reply
41 before deciding whether both sides are done, avoids a
42 needless round of empty DD packet exchanges at the end of
43 Exchange, hence speeding up ExchangeDone.
Paul Jakmaf0894cf2006-08-27 06:40:04 +000044 Implement draft-ogier-ospf-dbex-opt DB-exchange optimisation.
Paul Jakma8dd24ee2006-08-27 06:29:30 +000045 (ospf_db_desc) use UNSET_FLAG macro.
46
Andrew J. Schorr16700082006-07-27 22:29:06 +0000472006-07-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
48
49 * ospfd.c: (ospf_router_id_update) Fix and document the algorithm for
50 selecting the router ID: if there is not a statically configured ID,
51 then stick to the most recent value to avoid disruptive changes.
52 This should fix bug #288.
53
Paul Jakma1fe6ed32006-07-26 09:37:26 +0000542006-07-26 Paul Jakma <paul.jakma@sun.com>
55
56 * ospf_lsa.{c,h}: (ospf_lsa_unlock) Change to take a double pointer
57 to the LSA to be 'unlocked', so that, if the LSA is freed, the
58 callers pointer to the LSA can be NULLed out, allowing any further
59 use of that pointer to provoke a crash sooner rather than later.
60 * ospf_*.c: (general) Adjust callers of ospf_lsa_unlock to match
61 previous. Try annotate 'locking' somewhat to show which 'locks'
62 are protecting what LSA reference, if not obvious.
63 * ospf_opaque.c: (ospf_opaque_lsa_install) Trivial: remove useless
64 goto, replace with return.
65 * ospf_packet.c: (ospf_make_ls_ack) Trivial: merge two list loops,
66 the dual-loop predated the delete-safe list-loop macro.
67
Paul Jakma3fed4162006-07-25 20:44:12 +0000682006-07-25 Paul Jakma <paul.jakma@sun.com>
69
70 * ospf_neigbor.h: (struct ospf_neighbor) Add some additional
71 neighbour state statistics fields, timestamps for progressive
72 and regressive state changes, and pointer to event string
73 for the latter state change.
74 * ospf_nsm.c: (nsm_notice_state_change) Update new state changs
75 history as required.
76 * ospf_vty.c: (show_ip_ospf_neighbor_detail_sub) Print out above
77 new per-neighbour state change stats.
78
Paul Jakma539e1522006-07-11 17:49:22 +0000792006-07-10 Paul Jakma <paul.jakma@sun.com>
80
81 * ospf_nsm.c: (nsm_change_state) call nsm_clear_adj for all
82 adjacency losses, hence removing need for nsm_reset_nbr.
83 (nsm_reset_nbr) kill it, clear_adj in previous does fine.
84 (nsm_kill_nbr,nsm_start) remove nsm_reset_nbr call.
85 (ospf_nsm_event) Allow NSM function to be NULL, this along with
86 removal of nsm_reset_nbr, allows a bunch of now useless functiosn
87 to be removed.
88 Remove some useless variables.
89 (nsm_ignore) now useless, remove.
90 (nsm_bad_ls_req) ditto
91 (nsm_seq_number_mismatch) "
92 (nsm_oneway_received) "
93 (nsm_inactivity_timer) "
94 (nsm_ll_down) "
95 (NSM) replace removed action functions with NULL.
Paul Jakma3d63f382006-07-11 17:52:53 +000096 (nsm_notice_state_changes) Move state change logging code to new
97 func to declutter nsm_change_state and ospf_nsm_event.
98 Log event with AdjChange, it's useful to know.
99 (nsm_change_state) move adjchange and snmp logging to previous.
100 (ospf_nsm_event) call nsm_notice_state_changes from here.
101 Move the debug message to entry of function, so it gets out
102 even if something goes wrong.
Paul Jakma90c33172006-07-11 17:57:25 +0000103 Record state change timestamp and event in nbr struct.
104 * ospf_neighbor.h: (struct ospf_neighbor) Add fields to record
105 timestamp of last NSM change and event.
106 * ospf_vty.c: (show_ip_ospf_neighbor_detail_sub) Print
107 last state change timestamp and event, if available.
Paul Jakma539e1522006-07-11 17:49:22 +0000108
Andrew J. Schorr13cd3dc2006-07-11 01:50:30 +00001092006-07-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
110
111 * ospf_packet.c: (ospf_hello) Improve NetworkMask mismatch warning
112 message to include interface name and conflicting prefix lengths.
113
Paul Jakma1f2c2742006-07-10 07:45:13 +00001142006-07-07 Paul Jakma <paul.jakma@sun.com>
115
116 * ospf_nsm.h: Add a NSM_Deleted neighbour state, to act as dummy
117 state indicating the neighbour is to be deleted.
118 * ospf_nsm.c: (general) Use the NSM_Deleted state to delete
119 neighbours, thus allowing code to be slightly more obvious
120 in its flow.
121 (nsm_timer_set) Add NSM_Deleted. Add another timer the code
122 missed.
123 (nsm_kill_nbr) No need for special case call to nsm_change_state
124 anymore.
125 Make the assert and error-handling for same case more readable
126 (Andrew Schorr)
127 Remove the call to ospf_nbr_delete, nsm_change_state can do
128 this generally now via NSM_Deleted.
129 (struct ... NSM) Add the dummy NSM_Deleted state, the 3 events
130 that can lead to nsm_kill_nbr all now transition the NBR to
131 NSM_Deleted and the general change_state function can be left
132 to do the work.
133 (ospf_nsm_event) Special casing of events and early-return can
134 be removed now.
135 On transition into Deleted, delete the nbr.
136 * ospf_dump.c: (ospf_nsm_state_msg) Add Deleted.
137
Paul Jakmaaa2737a2006-07-06 11:12:39 +00001382006-07-06 Paul Jakma <paul.jakma@sun.com>
139
140 * ospf_nsm.c: (ospf_nsm_event) LLDown event also results in nbr
141 being deleted, requires early-return too. Likely explains
142 some crash reports after interface events.
143
Paul Jakmaf7a76ab2006-07-04 13:57:49 +00001442006-07-04 Paul Jakma <paul.jakma@sun.com>
145
146 * ospf_nsm.c: (general) Various small cleanups from Andrew's
147 review of last set of patches.
148 (nsm_timer_set) Loading, Full and default can share
149 same code too.
150 (nsm_should_adj) Can just be one big OR.
151 (nsm_twoway_received) Collapse into return statement.
152
Paul Jakmad7b0fb62006-07-04 13:35:24 +00001532006-07-02 Paul Jakma <paul.jakma@sun.com>
154
155 * ospf_nsm.c: (nsm_should_adj) New function, just consolidate the
156 10.4 adjacency check from nsm_twoway_received/nsm_adj_ok.
157 (nsm_twoway_received/nsm_adj_ok) Use former.
Paul Jakmad1b1cd82006-07-04 13:50:44 +0000158 (nsm_clear_adj) clear adjacency related state for a
159 neighbour, needed for some state changes from > ExStart down
160 to ExStart or less, which need not go through nsm_reset_nbr.
161 (nsm_reset_nbr) move code to former. Should be static.
Paul Jakmaba0beb42006-07-04 13:44:19 +0000162 (ospf_nsm_event) Don't allow action functions to change
163 next_state if the NSM tables do not indicate next_state is
164 conditional, log warning if one tries - existing code
165 appears fine though.
Paul Jakmad1b1cd82006-07-04 13:50:44 +0000166 Remove long dead code.
167 Use nsm_clear_adj for state changes that take down
168 adjacencies to TwoWay/ExStart.
Paul Jakmae55dd532006-07-04 13:46:14 +0000169 (nsm_timer_set) ls_req timer should be OFF in early states.
170 Compact several identical sections.
171 Set inactivity timer to OFF for Down, for documentary
172 purposes.
Paul Jakmad1b1cd82006-07-04 13:50:44 +0000173 (nsm_kill_nbr) Oops, action function shouldn't try return
174 1 for error.
Paul Jakma5db95bc2006-07-04 13:52:29 +0000175 * ospf_lsa.c: (ospf_translated_nssa_refresh) CID #13.
Paul Jakmad7b0fb62006-07-04 13:35:24 +0000176
Andrew J. Schorr1c066bf2006-06-30 16:53:47 +00001772006-06-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
178
179 * ospf_vty.c: (show_ip_ospf_neighbor_id) Should show all instances
180 of that neighbor (since it may appear on multiple interfaces)
181 instead of bailing out after showing the first match.
182
Andrew J. Schorr76947872006-06-30 03:21:05 +00001832006-06-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
184
185 * ospf_nsm.c: (nsm_twoway_received) When deciding whether to
186 change from state Init to ExStart, the test for whether the
187 neighboring router is DR or BDR should be against the
188 local router's notion of DR/BDR, not the neighbor's view.
189
Andrew J. Schorrd7e60dd2006-06-29 20:20:52 +00001902006-06-28 Erik Muller <erikm@internap.com>
191
192 * ospfd.h: Define 2 new struct ospf config flags:
193 OSPF_LOG_ADJACENCY_CHANGES and OSPF_LOG_ADJACENCY_DETAIL
194 * ospf_nsm.c (nsm_change_state): Log adjacency changes if
195 requested.
196 * ospf_vty.c (ospf_log_adjacency_changes): New command function
197 to implement ospf subcommand "log-adjacency-changes [detail]".
198 (no_ospf_log_adjacency_changes) Turn off log-adjacency-changes.
199 (show_ip_ospf) Show whether adjacency changes are logged.
200 (ospf_config_write) Add "log-adjacency-changes [detail]" to config.
201 (ospf_vty_init) Add ospf_log_adjacency_changes and
202 no_ospf_log_adjacency_changes.
203
Paul Jakma9560fa82006-06-26 12:50:06 +00002042006-06-26 Paul Jakma <paul.jakma@sun.com>
205
206 * ospf_abr.c: (general) NSSA translate-candidate ABRs need to
207 be ASBRs, or other routers may rightfully refuse to install
208 translated type-5s LSAs. reported by dendroot@gmail.com.
209 (ospf_abr_nssa_check_status) Detect change in translator
210 state when ABR, and inc/dec redistribute count as when we
211 leave/enter the disabled state - so that translate-enabled
212 ABR properly sets ASBR bit on non-NSSA areas.
213 Run the resulting function through indent to clean it up.
214 * ospf_lsa.c: (router_lsa_flags) For purposes of ASBR bit,
215 NSSA area is same as stub area.
216
Andrew J. Schorr0ffb7092006-06-24 19:40:13 +00002172006-06-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
218
Andrew J. Schorr9aecfae2006-06-24 20:05:02 +0000219 * ospf_snmp.c: (ospfTrapNbrStateChange, ospfTrapIfStateChange) Improve
220 info log message to indicate why the trap is being sent.
221
2222006-06-24 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
223
Andrew J. Schorr0ffb7092006-06-24 19:40:13 +0000224 * ospf_dump.c: (config_write_debug) Fix typo to show debug ospf nsm
225 status properly (not ism status).
226
Andrew J. Schorr6e72cb62006-06-18 00:45:48 +00002272006-06-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
228
229 * ospf_vty.c: ({no_,}ospf_passive_interface) Replace if_lookup_by_name
230 with a call to if_get_by_name -- if the interface does not exist
231 already, it should be created. And remove the obsolete warning
232 message.
233
Paul Jakma429ac782006-06-15 18:40:49 +00002342006-06-15 Paul Jakma <paul.jakma@sun.com>
235
236 * ospf_interface.h: (struct ospf_if_info) Add reference counts
237 for multicast group memberships. Add various macros to help
238 manipulate/check membership state.
239 * ospf_interface.c: (ospf_if_set_multicast) Maintain the
240 ospf_if_info reference counts, and only actually drop
241 memberships if it hits 0, to avoid losing membership when
242 OSPF is disabled on an interface with multiple active OSPF
243 interfaces.
244 * ospf_packet.c: (ospf_{hello,read}) Use the new macros to
245 check/set
246 multicast membership.
247 * ospf_vty.c: (show_ip_ospf_interface_sub) ditto.
248
Paul Jakmaac904de2006-06-15 12:04:57 +00002492006-05-31 Paul Jakma <paul.jakma@sun.com>
250
251 * ospf_lsdb.c: (ospf_lsdb_delete) robustify against NULL arguments,
252 print warning.
253 * ospf_lsa.c: (ospf_discard_from_db) ditto.
254 (ospf_maxage_lsa_remover) Check lsa->lsdb for validity, possible
255 mitigation (but not solution) for bug #269.
256
Paul Jakma88871b12006-06-15 11:41:19 +00002572006-05-30 Paul Jakma <paul.jakma@sun.com>
258
259 * ospf_packet.c: (ospf_read) Debug message about packets
260 received on unenabled interfaces should be conditional on
261 debug being set.
262
Paul Jakmad1c65c22006-06-27 08:01:43 +00002632006-05-23 Paul Jakma <paul.jakma@sun.com>
264
265 * ospf_vty.c: (general) Replace in-place route redistribution
266 command and help strings with the new auto-generated defines
267 from lib/route_types.h
268
Paul Jakmaae128052006-05-12 23:15:30 +00002692006-05-13 Paul Jakma <paul.jakma@sun.com>
270
271 * ospf_lsa.c: (ospf_translated_nssa_refresh) fix the sanity
272 check to match the assert, small error in CID #13 fix.
273
Paul Jakma70461d72006-05-12 22:57:57 +00002742006-05-12 Paul Jakma <paul.jakma@sun.com>
275
276 * ospf_lsa.c: (ospf_lsa_action) Get rid of the ospf_lookup
277 call, which is not checked for NULL return, by stripping out
278 functionality which is never used, hence fixing Coverity CID
279 #29.
280 (struct lsa_action) remove unused member.
Paul Jakmae54e6e52006-05-12 23:11:14 +0000281 (ospf_translated_nssa_refresh) Add non-assert sanity check,
282 in case DEBUG isn't defined.
283 Debug message when no type7 exists should print the ID from
284 the type5, not the type7, fixes CID #13.
285 * ospf_interface.c: (ospf_if_exists) Fix missing NULL return
Paul Jakmae43be0e2006-05-12 23:00:06 +0000286 check on ospf_lookup, CID #27.
Paul Jakma6db3a6f2006-05-12 23:02:46 +0000287 * ospf_asbr.c: (ospf_redistribute_withdraw) remove ospf_lookup
288 call by taking the struct ospf * as argument, which the
289 caller has, fixing CID #28.
290 * ospf_asbr.h: (ospf_redistribute_withdraw) update declaration
291 * ospf_zebra.c: (ospf_redistribute_unset) update call to
292 ospf_redistribute_withdraw to match.
Paul Jakmabfd7c7d2006-05-12 23:04:45 +0000293 * ospf_ia.c: (ospf_update_router_route) ospf->backbone could be
294 NULL when passed to ospf_find_asbr_route_through_area,
295 check for NULL first, CID #14.
Paul Jakmadeb15612006-05-12 23:07:27 +0000296 * ospf_ism.c: (ism_change_state) NULL check on oi->area is
297 useless, it's always valid. Only possibility where it
298 couldn't be is if there is a race between abr_task and
299 cleaning up oi's, in which case a NULL check here isn't going
300 to do anything. Fixes CID #15.
Paul Jakma70461d72006-05-12 22:57:57 +0000301
Paul Jakmacac3b5c2006-05-11 13:31:11 +00003022006-05-11 Paul Jakma <paul.jakma@sun.com>
303
304 * ospf_vty.c: (general) Audit ospf_lookup calls in commands,
305 ensure check for NULL result, make vty messages consistent.
306 (show_ip_ospf_interface) Missing NULL check on ospf_lookup
307 result, fixes Coverity CID #70.
Paul Jakma1a8ec2b2006-05-11 13:34:08 +0000308 (no_ospf_area_filter_list) Check NULL result from
309 ospf_area_lookup_by_area_id, fixes Coverity CID #69
Paul Jakma894f8b62006-05-12 22:50:40 +0000310 * ospf_route.c: (ospf_route_delete_same_ext) Fix deref before
311 NULL check by moving into check-protected block, fix CID #49.
Paul Jakma214a4452006-05-12 22:51:49 +0000312 * ospf_abr.c: (ospf_area_range_cost_set) Shouldn't create a new
313 range, should just lookup to see if one exists, the new range
314 is just leaked. Fixes CID #46.
Paul Jakma4021b602006-05-12 22:55:41 +0000315 * ospf_lsa.c: (ospf_default_originate_timer) Let the thread
316 take (struct ospf *) as thread argument, rather than (struct
317 ospf *)->default_originate, thus avoiding having to call
318 ospf_lookup.
319 * ospf_zebra.c: (ospf_redistribute_default_set) change setup
320 of ospf_default_originate_timer thread to match.
321 * ospfd.c: (ospf_router_id_update) ditto.
Paul Jakmacac3b5c2006-05-11 13:31:11 +0000322
Paul Jakma9c27ef92006-05-04 07:32:57 +00003232006-04-24 Paul Jakma <paul.jakma@sun.com>
324
325 * (general) More Virtual-link fixes, again with much help in
326 testing / debug from Juergen Kammer. Primarily in SPF.
327 * ospf_spf.h: Add guard. ospf_interface.h will include this
328 header.
329 * ospf_interface.h: Modify ospf_vl_lookup definition to take
330 struct ospf as argument, so as to allow for NULL area
331 argument.
332 (struct ospf_vl_data) Remove out_oi, instead add a struct
333 vertex_nexthop, to use as initial nexthop for backbone paths
334 through a vlink.
335 * ospf_interface.c: (ospf_vl_lookup) Modified to allow
336 NULL area to be passed to indicate "any" (first) area.
337 Add extra debug.
338 (ospf_vl_set_params) vl_oi -> nexthop. Add extra debug.
339 (ospf_vl_up_check) Fix debug, inet_ntoa returns a static
340 buffer..
341 * ospf_route.c: (ospf_intra_add_router) Vlinks dont go through
342 backbone, don't bother checking.
343 * ospf_spf.c: (static struct list vertex_list) Record vertices
344 that will need to be freed.
345 (cmp) Order network before router vertices, as required,
346 wasn't implemented.
347 (vertex_nexthop_free) Mild additional robustness check.
348 (vertex_parent_free) Take void argument, as this function
349 is passed as list deconstructor for vertex parent list.
350 (ospf_vertex_new) More debug. Set deconstructor for parent
351 list. Track allocated vertices on the vertex_list.
352 (ospf_vertex_free) Get rid of the tricky recursive cleanup of
353 vertices. Now frees only the given vertex.
354 (ospf_vertex_add_parent) Fix assert.
355 (ospf_nexthop_calculation) Fix calculation of nexthop for
356 VLink vertices, lookup the vl_data and use its previously
357 recorded nexthop information.
358 (ospf_spf_calculate) Vertices are freed simply by deleting
359 vertex_list nodes and letting ospf_vertex_free as deconstructor
360 work per-node.
361 (ospf_spf_calculate_timer) Trivial optimisation, leave
362 backbone SPF calculation till last to reduce SPF churn on
363 VLink updates.
364 * ospf_vty.c: (ospf_find_vl_data) update call to ospf_vl_lookup
365 (no_ospf_area_vlink_cmd) ditto.
366 (show_ip_ospf_interface_sub) For Vlinks, the peer address is
367 more interesting than the output interface.
368
Paul Jakma478aab92006-04-03 21:25:32 +00003692006-04-03 Paul Jakma <paul.jakma@sun.com>
370
371 * (general) Fix issues with handling of Vlinks and entries
372 in the nbrs route-table which were highlighted by the
373 nsm/nbr_self fixes from bug #234. Many thanks to Juergen
374 Kammer for his help and efforts in testing out debug patches to
375 pinpoint the issue.
376 * ospf_interface.c: (ospf_vl_new) Add nbr_self for Vlink.
377 * ospf_neighbor.c: (ospf_nbr_key) new static function, helper
378 to create key in nbrs table for a given nbr.
379 (ospf_nbr_delete) Use ospf_nbr_key. Add an assert() to
380 document an expected state.
381 (ospf_nbr_add_self) Ditto.
382 (ospf_nbr_lookup_by_addr) Add an assert.
383 * ospf_nsm.c: (nsm_kill_nbr) Can never kill the nbr_self
384 psuedo-neighbour.
385
Paul Jakma075c2012006-03-30 14:34:31 +00003862006-03-27 Paul Jakma <paul.jakma@sun.com>
387
388 * ospf_lsa.c: (ospf_lsa_checksum) Add an explicit cast to avoid
389 the ambiguities of ANSI and C99 C with respect to type
390 conversion. Detailed problem report and test case with
391 example data supplied by Dmitry Ivanov <dimss@telecentrs.lv>.
392
Paul Jakma1a8ee0e2006-03-30 14:20:00 +00003932006-03-25 Paul Jakma <paul.jakma@sun.com>
394
395 * ospf_interface.c: (ospf_if_lookup_recv_if) Ignore loopbacks,
396 we can never ever receive packets on those. Should fix
397 case where CARP is run with address in same subnet as real
398 interface. Problem report and diagnosis thanks to:
399 Landon Fuller <landonf@opendarwin.org>.
400 However, ospf_read() still can't deal deterministically with
401 multiple interfaces in same subnet.
402
Paul Jakmac2b478d2006-03-30 14:16:11 +00004032006-03-23 Steve Lawson <steve.lawson@aheadcomusa.com>
404
405 * ospf_lsa.c: (ospf_lsa_install) Fix incorrect byte-order
406 conversion of OSPF_MAX_SEQUENCE_NUMBER
407
paule8e19462006-01-19 20:16:55 +00004082006-01-19 Paul Jakma <paul.jakma@sun.com>
409
410 * (general) various miscellaneous compiler warning fixes.
411 Remove redundant break statements from switch clauses
412 which return.
413 return from main, not exit, cause it annoys SOS.
414 Remove stray semi-colons which cause empty-statement
415 warnings.
416
paul779adb02006-01-18 15:07:38 +00004172006-01-18 Juergen Kammer <j.kammer@eurodata.de>
418
419 * ospf_lsa.c: (ospf_router_lsa_new) dont take reference to the
420 stream data until it is constructed, data reference is
421 volatile due to the potential resize in link_info_set
422
4232006-01-18 Paul Jakma <paul.jakma@sun.com>
424
425 * ospf_lsa.c: (link_info_set) Resize the stream if required and
426 possible. Return number of links added.
427 (lsa_link_*_set) use return value from previous.
428 * ospf_lsa.h: Add OSPF_ROUTER_LSA_LINK_SIZE define.
429
paulc6371712006-01-17 17:49:53 +00004302006-01-17 Paul Jakma <paul.jakma@sun.com>
431
432 * ospf_packet.c: (ospf_verify_header) print out the types
433 involved if there's a mismatch.
434 * ospf_zebra.c: (ospf_zebra_add) Adjust to new zserv format.
435
paul818e56c2006-01-10 23:27:05 +00004362006-01-10 Len Sorensen <lennartsorensen@ruggedcom.com>
437
438 * (general) Bug #234, see also [quagga-dev 3902].
439 Fix problem with nbr_self not being properly reinitialised
440 when an interface comes up, after having been down.
paul1a643f82006-01-11 01:08:19 +0000441 Some re-arrangement done by Paul Jakma, any bugs introduced
442 on top of Len's suggested changes are his.
paul818e56c2006-01-10 23:27:05 +0000443 * ospf_neighbor.c: (ospf_nbr_add_self) centralise
444 initialisation of nbr_self parameters here.
445 * ospf_interface.c: (ospf_if_new) deleting initialisation of
446 parameters of nbr_self, just rely on call to
447 ospf_nbr_add_self.
448 (ospf_if_cleanup) ditto.
449 * ospfd.c: (ospf_network_run) ditto.
450
paul98429f62006-01-10 22:11:54 +00004512006-01-10 Juris Kalnins <juris@mt.lv>
452
453 * ospf_zebra.c: (ospf_interface_address_delete) fix rare leak of
454 struct connected in an error case.
paul818e56c2006-01-10 23:27:05 +0000455 * ospf_packet.c: (ospf_make_md5_digest) fix odd, if not
456 undefined effect, assignment of an increment expression.
paul98429f62006-01-10 22:11:54 +0000457
paul86752842006-01-10 20:34:46 +00004582006-01-10 Paul Jakma <paul.jakma@sun.com>
459
460 * ospfd.c: (ospf_network_run) checking to see if router-id
461 is set should be on ospf->router_id, not router_id_static.
462 This was causing ospfd to not start if router-id had not
463 been configured statically.
464 (ospf_if_update) ditto.
paulc42c1772006-01-10 20:36:49 +0000465 * ospf_vty.c: (config_write_ospf_distribute) trim down
466 redundant strings.
paul86752842006-01-10 20:34:46 +0000467
paul00c290e2005-11-26 09:21:43 +00004682005-11-26 Paul Jakma <paul.jakma@sun.com>
469
470 * ospf_api.c: (struct opaque_lsa) change from gcc zero-length
471 array to C99 incomplete type array.
paulc9c93d52005-11-26 13:31:11 +0000472 * (general) s/graceful/deferred/ in all files, the former term
473 is confusing wrt OSPF Graceful-Restart.
474 * ospfd.c: (ospf_deferred_shutdown_check) dont return
475 a function which returns void. SOS complains about this.
476 (ospf_finish)
paul00c290e2005-11-26 09:21:43 +0000477
paulb29800a2005-11-20 14:50:45 +00004782005-11-20 Paul Jakma <paul.jakma@sun.com>
479
480 * ospfd.h: remove the OSPF_ROUTER_ID_UPDATE_DELAY define
481 (struct ospf) remove the router_id timer thread.
482 remove export of ospf_router_id_update_timer.
483 * ospfd.c: (ospf_router_id_update) call ospf_if_update to
484 poke interfaces into action after ID has been configured.
485 (ospf_router_id_update_timer) removed.
486 (ospf_finish_final) t_router_id_update timer is gone.
487 (ospf_network_run) router-id update timer gone.
488 call ospf_router_id_update directly if ID not configured.
489 In the per-iface loop, don't ospf_if_up interfaces if
490 ID is still not configured. The update function will call
491 ospf_if_update anyway.
492 (ospf_if_update) ID update timer is gone. Just return if no
493 ID is set.
494 * ospf_vty.c: (ospf_router_id) call ospf_router_id_update, no
495 timer needed.
496 * ospf_zebra.c: (ospf_router_id_update_zebra) call
497 ospf_router_id_update directly, not via timer.
paulc24d6022005-11-20 14:54:12 +0000498 * ospf_abr.c: (ospf_abr_announce_network_to_area) check
499 returned LSA of ospf_summary_lsa_refresh and print warning if
500 it failed.
501 (ospf_abr_announce_network_to_area) similar
502 (ospf_abr_announce_rtr_to_area) similar
503 * ospf_lsa.c: (ospf_router_lsa_new) check LSA returned is valid.
504 (ospf_router_lsa_originate) similar
505 (ospf_router_lsa_refresh, ospf_network_lsa_new) similar
506 (ospf_summary_lsa_new) Check ID is valid.
507 (ospf_summary_lsa_originate) ditto, and check returned LSA from
508 previous function is !NULL.
509 (ospf_summary_lsa_refresh) check ospf_summary_lsa_new return
510 is !NULL.
511 (ospf_summary_asbr_lsa_new) ID valid check.
512 (ospf_summary_asbr_lsa_originate) similar.
paulb29800a2005-11-20 14:50:45 +0000513
ajs70cd3472005-11-16 19:33:22 +00005142005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
515
ajs649654a2005-11-16 20:17:52 +0000516 * ospf_dump.h: Define OSPF_TIME_DUMP_SIZE as appropriate buffer size
517 for use with ospf_timer_dump and ospf_timeval_dump.
518 * ospf_vty.c: Change all buffer sizes used with ospf_timer_dump and
519 ospf_timeval_dump to have size OSPF_TIME_DUMP_SIZE.
520 (show_ip_ospf_interface_sub) Fix possible buffer overflow in
521 call to ospf_timer_dump.
522
5232005-11-16 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
524
ajs70cd3472005-11-16 19:33:22 +0000525 * ospf_ism.h: (OSPF_ISM_TIMER_OFF) Improve macro syntax by enclosing
526 in 'do {...} while(0)'.
527
paul31a59762005-11-14 11:11:11 +00005282005-11-14 Paul Jakma <paul.jakma@sun.com>
529
530 * ospfd.c: (ospf_new) stub-shutdown should just default to
531 unconfigured, too strange otherwise.
532 (ospf_finish_final) t_opaque_lsa_self TIMER_OFF should be
533 preprocessor conditional on HAVE_OPAQUE_LSA.
534 * ospfd.h: (struct ospf) remove the SHUTDOWN_DEFAULT define.
535 no longer used, plus it wasn't in range that the command
536 accepted.
537 * ospf_zebra.h: Depends on vty.h, include it.
538
paul58e1bef2005-11-11 12:10:03 +00005392005-11-11 Paul Jakma <paul.jakma@sun.com>
540
541 * ospf_spf.c: (ospf_canonical_nexthops_free) Free only
542 the nexthops pointing to the root vertex. We may visit a
543 vertex twice or the vertex may have some inherited nexthops,
544 if we free other nexthops we could crash.
545
paulc8c15212005-11-04 12:31:39 +00005462005-11-04 Paul Jakma <paul.jakma@sun.com>
547
548 * ospf_{dump,spf,vty}.c: Oops, use the internal tv_sub
549 function rather than unportable timersub.
550
paul484315f2005-11-03 09:08:29 +00005512005-11-03 Paul Jakma <paul.jakma@sun.com>
552
553 * ospf_apiserver.c: (apiserver_sync_callback) stray semi-colon
554 * ospf_packet.c: include checksum.h, remove the in_cksum extern
555 * prototypes.
556 * ospf_te.h: Add braces, quell warning.
paul6d452762005-11-03 11:15:44 +0000557 * ospf_packet.c: Change level of some warnings to
558 informational.
paulc8c15212005-11-04 12:31:39 +0000559
paul88d6cf32005-10-29 12:50:09 +00005602005-10-29 Paul Jakma <paul.jakma@sun.com>
561
562 * (general) RFC3137 stub-router support
563 * ospfd.h: Add OSPF_OUTPUT_COST_INFINITE define.
564 (struct ospf_master) Add a OSPF_MASTER_SHUTDOWN flag for
565 options, to allow shutdown to distinguish between complete
566 shutdown and shutdown of a subset of ospf instances.
567 (struct ospf)
568 Add stub_router_{startup,shutdown_}time, configuration of startup
569 and shutdown time for stub-router.
570 Add t_graceful_shutdown struct thread, timer for graceful
571 shutdown, if needed.
572 (struct ospf_area) Add stub_router_state - run time state of
573 stub-router for an area. Add flags for ADMIN, IS and WAS
574 states.
575 Add t_stub_router, timer thread to resend router-lsa for an
576 area.
577 * ospf_lsa.c: (ospf_link_cost) new simple function to spit out
578 either the given lnks cost or infinite cost if stub-router is
579 in effect.
580 (lsa_link_{ptop,broadcast,virtuallink,ptomp}_set) use
581 previous function for transit-links.
582 (ospf_stub_router_timer) timer thread for end of startup stub
583 router. Change state as required for the area and setup
584 re-origination of router-lsa.
585 (ospf_stub_router_check) Check/do whether stub-router should be
586 enabled, and whether it requires timer to be setup.
587 (ospf_router_lsa_new) call previous function at top.
588 (ospf_router_lsa_originate) no external callers, made static.
589 * ospf_lsa.h: (ospf_router_lsa_originate) removed.
590 * ospf_main.c: (sigint) make static.
591 remove call to exit, as ospf_terminate now deals with
592 exiting.
593 * ospf_route.c: (ospf_terminate) removed, now in ospfd.c.
594 * ospf_vty.c: (show_ip_ospf_area) print out state of
595 stub-router, if active.
596 (show_ip_ospf) print out configuration of stub-router
597 support, and details of graceful-shutdown if the timer is
598 active.
599 ((no)?ospf_max_metric_router_lsa_{admin,startup,shutdown}) new
600 commands to (de-)?configure stub-router support.
601 (config_write_stub_router) write out config of stub-router.
602 (ospf_config_write) call previous.
603 (ospf_vty_init) install the new stub-router commands.
604 * ospfd.c: various functions made static.
605 (ospf_new) Set defaults for stub-router. Graceful shutdown
606 is made to default on, just to be adventerous.
607 (ospf_graceful_shutdown_finish) new function, final part of
608 shutdown.
609 (ospf_graceful_shutdown_timer) timer thread wrapper for
610 graceful-shutdown.
611 (ospf_graceful_shutdown_check) check whether to setup timer
612 for shutdown or proceed directly to final shutdown.
613 (ospf_terminate) moved here from ospf_route.c, call
614 ospf_finish for each instance.
615 (ospf_finish) renamed to ospf_finish_final and made static.
616 (ospf_finish) new function, exported wrapper around
617 ospf_graceful_shutdown_check.
618 (ospf_finish_final) complete shutdown of an instance.
619 Add missing TIMER_OFF's of two timer threads.
620 (ospf_area_free) opaque self lsa timer should be turned off.
621
paulb8ad39d2005-10-23 15:23:05 +00006222005-10-23 Paul Jakma <paul.jakma@sun.com>
623
paule029d442005-10-23 15:26:24 +0000624 * ospf_apiserver.c: (ospf_apiserver_term) This function should
625 not have side-effects (eg segv) if no apiserver instances are
626 active, ie be robust.
paulb8ad39d2005-10-23 15:23:05 +0000627 * ospf_vty.c: (show_ip_ospf) fix display of SPF timer if it
628 has not yet been run.
629
paulf9ad9372005-10-21 00:45:17 +00006302005-10-21 Paul Jakma <paul.jakma@sun.com>
631
paulea4ffc92005-10-21 20:04:41 +0000632 * ospf_dump.c: (ospf_timeval_dump) fix ms adjustment, thanks to
633 Andrew Schorr.
634 * ospf_vty.c: (ospf_config_write) fix write out of spf timers
635 configuration.
636
6372005-10-21 Paul Jakma <paul.jakma@sun.com>
638
pauld24f6e22005-10-21 09:23:12 +0000639 * (general) SPF millisecond resolution timer with adaptive,
640 linear back-off holdtime. Prettification of ospf_timer_dump.
641 * ospf_dump.c: (ospf_timeval_dump) new function. The guts of
642 ospf_timer_dump, but made to be more dynamic in printing out
643 the relative timeval, sliding the precision printed out
644 according to the value.
645 (ospf_timer_dump) guts moved to ospf_timeval_dump.
646 * ospf_dump.h: export ospf_timeval_dump.
647 * ospf_flood.c: (ospf_flood) remove gettimeofday, use
648 the libzebra exported recent_time instead, as it's not
649 terribly critical to have time exactly right - the dropped
650 LSA will be retransmited to us if we don't ACK it.
651 * ospf_packet.c: (ospf_ls_upd_timer) Ditto, but here we're
652 not transmitting, just putting LSA back on update transmit list.
653 * ospfd.h: delay and holdtimes should be unsigned.
654 Add spf_max_holdtime and spf_hold_multiplier.
655 Update default defines for delay and hold time to be in msec.
656 (struct ospf) change the SPF timestamp to a struct timeval.
657 Remove ospf_timers_spf_(un)?set.
658 * ospfd.c: (ospf_timers_spf_{set,unset}) removed.
659 (ospf_new) initialise spf_max_holdtime and spf_hold_multiplier
660 * ospf_spf.c: (ospf_spf_calculate) SPF timestamp is a timeval
661 now, update with gettimeofday.
662 (ospf_spf_calculate_schedule) Change SPF timers to millisecond
663 resolution.
664 Make the holdtime be adaptive, with a linear increase in
665 holdtime ever consecutive SPF run which occurs within holdtime
666 of previous SPF, bounded by spf_max_holdtime.
667 * ospf_vty.c: Update spf timers commands.
668 (ospf_timers_spf_set) trivial helper.
669 (ospf_timers_throttle_spf_cmd) new command to set SPF delay,
670 initial hold and max hold times with millisecond resolution.
671 (ospf_timers_spf_cmd) Deprecated. Accept the old values,
672 convert to msec, truncate to new limits.
673 (no_ospf_timers_throttle_spf_cmd) set timers to defaults.
674 (no_ospf_timers_spf_cmd) deprecated form, same as previous.
675 (show_ip_ospf_cmd) Display SPF parameters and times.
676 (show_ip_ospf_neighbour_header) Centralise the 'sh ip os ne'
677 header.
678 (show_ip_ospf_neighbor_sub) Fix the field widths. Get rid of
679 the multiple spaces which were making the lines even longer.
680 (show_ip_ospf_neighbor_cmd) Use show_ip_ospf_neighbour_header
681 (show_ip_ospf_neighbor_all_cmd) ditto and fix the field
682 widths for NBMA neighbours.
683 (show_ip_ospf_neighbor_int) Use header function.
684 (show_ip_ospf_nbr_nbma_detail_sub) use sizeof for timebuf,
685 local array - safer.
686 (show_ip_ospf_neighbor_detail_sub) ditto
687 (ospf_vty_init) install the new SPF throttle timer commands.
688
6892005-10-21 Paul Jakma <paul.jakma@sun.com>
690
paulf9ad9372005-10-21 00:45:17 +0000691 * (general) OSPF fast, sub-second hello and 1s dead-interval
692 support.
693 * ospf_dump.c: (ospf_timer_dump) Print out milliseconds too.
694 Callers typically specify a length of 9, so most see
695 millisecs unless they specify the additional length.
696 * ospf_interface.h: (struct ospf_interface) new interface param,
697 fast_hello.
698 * ospf_interface.c: (ospf_if_table_lookup) add brackets,
699 gcc warning fix.
700 (ospf_new_if_params) Initialise fast_hello param.
701 (ospf_free_if_params) Check whether fast_hello is configured.
702 (ospf_if_new_hook) set fast_hello to default.
703 * ospf_ism.h: Wrap OSPF_ISM_TIMER_ON inside do {} while (0) to
704 prevent funny side-effects from its if statement when this
705 macro is used conditionally by other macros.
706 (OSPF_ISM_TIMER_MSEC_ON) new macro, set in milliseconds.
707 (OSPF_HELLO_TIMER_ON) new macro to set hello timer according
708 to whether fast_hello is set.
709 * ospf_ism.c: Update all setting of the hello timer to use
710 either OSPF_ISM_TIMER_MSEC_ON or OSPF_HELLO_TIMER_ON. The
711 former is used when hello is to be sent immediately.
712 * ospf_nsm.c: ditto
713 * ospf_packet.c: (ospf_hello) hello-interval is not checked
714 for mismatch if fast_hello is set.
715 (ospf_read) Annoying nit, fix "no ospf_interface" to be debug
716 rather than a warning, as it can be perfectly normal to
717 receive packets when logical subnets are used.
718 (ospf_make_hello) Set hello-interval to 0 if fast-hellos are
719 configured.
720 * ospf_vty.c: (ospf_auto_cost_reference_bandwidth) annoying
721 nit, don't vty_out if this command is given, it gets tired
722 quick.
723 (show_ip_ospf_interface_sub) Print the hello-interval
724 according to whether fast-hello is set or not.
725 Print the extra 5 millisec characters from (ospf_timer_dump)
726 if fast-hello is configured.
727 (ospf_vty_dead_interval_set) new function, common to all
728 forms of dead-interval command, to set dead-interval and
729 fast-hello correctly. If a dead-interval is given, unset
730 fast-hello, else if a hello-multiplier is set, set
731 dead-interval to 1 and fast-hello to given multiplier.
732 (ip_ospf_dead_interval_addr_cmd) use
733 ospf_vty_dead_interval_set().
734 (ip_ospf_dead_interval_minimal_addr_cmd) ditto.
735 (no_ip_ospf_dead_interval) Unset fast-hello.
736 (no_ip_ospf_hello_interval) Bug-fix, unset of hello-interval
737 should set it to OSPF_HELLO_INTERVAL_DEFAULT, not
738 OSPF_ROUTER_DEAD_INTERVAL_DEFAULT.
739 (config_write_interface) Write out fast-hello.
740 (ospf_config_write) Write a comment about
741 "auto-cost reference-bandwidth" having to be equal on all
742 routers. Hopefully just as noticeable as old practice of
743 writing to vty, but less annoying.
744 (ospf_vty_if_init) install the two new dead-interval
745 commands.
746 * ospfd.h: Add defines for OSPF_ROUTER_DEAD_INTERVAL_MINIMAL
747 and OSPF_FAST_HELLO_DEFAULT.
748
pauleb3da6d2005-10-18 04:20:33 +00007492005-10-18 Paul Jakma <paul.jakma@sun.com>
750
751 * (general) SPF memory management cleanup and fix for rare
752 double-free bug.
753 * ospf_spf.h: (struct vertex_parent) New struct to hold parent
754 specific data, eg the backlink and the parent vertex pointer,
755 and point to the appropriate general struct vertex_nexthop.
756 (struct vertex_nexthop) remove parent vertex pointer, so
757 this struct can be shared across vertices.
758 (struct vertex) rename list child to list children. Remove
759 list of nexthops, replace with list of vertex_parents.
760 * ospf_spf.c: (update_stat) trivial, remove cast from void *.
761 (vertex_nexthop_new) remove init of parent - field is gone
762 from struct vertex_nexthop.
763 (ospf_canonical_nexthops_free) Remove the canonical
764 vertex_nexthop memory objects. These are the vertex_nexthops
765 attached to the first level of router vertices from the root.
766 (vertex_parent_new) new function, create a vertex_parent.
767 (vertex_parent_free) ditto, but free it.
768 (ospf_vertex_new) Update to match changes to struct vertex.
769 (ospf_vertex_free) Recursively free a struct vertex and its
770 children. The parent list is used as a reference count.
771 vertex_nexthops must be free seperately, if required.
772 (ospf_vertex_dump) update to match struct vertex changes.
773 Print out backlink of parents too.
774 (ospf_vertex_add_parent) ditto.
775 (ospf_lsa_has_link) update comment.
776 (ospf_nexthop_add_unique) removed, not needed anymore.
777 (ospf_nexthop_merge) ditto.
778 (ospf_spf_consider_nexthop) renamed to ospf_spf_add_parent.
779 Simplified to just create vertex_parent and add it.
780 (ospf_spf_flush_parents) new function, flush out the parent
781 list.
782 (ospf_nexthop_calculation) Take the relevant route_lsa_link
783 as an argument, which simplifies things and removes the need
784 for the hack in ospf_nexthop_add_unique - ospf_spf_next
785 already knew exactly which link the cost calculated was for.
786 Update to match struct vertex changes too.
787 (ospf_spf_next) Don't create a vertex for W unnecessarily, if
788 it's there's a vertex already created for W, use it, and
789 hence there's no need to free it either.
790 Update some manipulation/comparisons of distance to match.
791 Flush the parent list if a lower cost path is found.
792 (ospf_spf_route_free) unused, removed.
793 (ospf_spf_dump) match the struct vertex changes, and dump the
794 ifname if possible.
795 (ospf_spf_calculate) At end of SPF, free the canonical nexthops
796 and call ospf_vertex_free on the root vertex to free the
797 entire tree.
798 * ospf_interface.c: (ospf_vl_set_params) match struct vertex
799 changes.
800 * ospf_route.c: (ospf_intra_route_add) ditto
801 (ospf_route_copy_nexthops_from_vertex) ditto
802
paul36238142005-10-11 04:12:54 +00008032005-10-11 Paul Jakma <paul.jakma@sun.com>
804
805 * ospf_api.c: sign warnings.
806 * ospf_apiserver.c: sign warning and convert all the struct
807 in_addr initialisations so as not to make assumptions about
808 how this struct is organised, initialise the s_addr member
809 explicitely.
810 * ospf_packet.c: Add const qualifier to auth_key.
811
vincent77df1f72005-10-06 07:46:22 +00008122005-10-06 Alain Ritoux <alain.ritoux@6wind.com>
813
814 * ospf_snmp.c: Avoid mixing interface and ospf_interface objects
815 which now allows snmpwalk to work with ospfIfTable and
816 also with ospfIfMetricTable
817
ajsf52d13c2005-10-01 17:38:06 +00008182005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
819
820 * ospf_dump.c: Remove local hard-coded table ospf_redistributed_proto.
821 (ospf_redist_string) New function implemented using new library
822 function zebra_route_string(). Note that there are a few differences
823 in the output that will result: the new function returns strings
824 that are lower-case, whereas the old table was mixed case. Also,
825 the old table mapped ZEBRA_ROUTE_OSPF6 to "OSPFv3", whereas the
826 new function returns "ospf6".
827 * ospfd.h: Remove extern struct message ospf_redistributed_proto[],
828 and add extern const char *ospf_redist_string(u_int route_type)
829 instead.
830 * ospf_asbr.c: (ospf_external_info_add) In two messages, use
831 ospf_redist_string instead of LOOKUP(ospf_redistributed_proto).
832 * ospf_vty.c: Remove local hard-coded table distribute_str.
833 (config_write_ospf_redistribute,config_write_ospf_distribute): Use
834 new library function zebra_route_string() instead of distribute_str[].
835 * ospf_zebra.c: (ospf_redistribute_set,ospf_redistribute_unset,
836 ospf_redistribute_default_set,ospf_redistribute_check)
837 In debug messages, use ospf_redist_string() instead of
838 LOOKUP(ospf_redistributed_proto).
839
jardin6638c1a2005-10-01 00:08:54 +00008402005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
841
842 * ospf_dump.c, ospf_ia.c, ospf_spf.c, ospf_ase.c:
843 remove unused DEBUG
844
vincentba682532005-09-29 13:52:57 +00008452005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
846
vincent5e4914c2005-09-29 16:34:30 +0000847 * ospf_ism.c: generate SNMP traps on Interface state change
848 * ospf_nsm.c: generate SNMP traps on Neighbour state change
849 * ospf_snmp.[ch]: support for SNMP traps for interface and neighbours.
850
8512005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
852
vincentba682532005-09-29 13:52:57 +0000853 * ospf_vty.c: forece default route LSA to be re_issued whenever
854 cost is changed ( [no] ip ospf area XXX default-cost YYY)
855 Support ignore-mtu option
856 * ospfd.h: define OSPF_MTU_IGNORE_DEFAULT
857 * ospf_packet.c: support ignore-mtu option
858 * ospf_interface.h: field added for skipping MTU check
859 * ospf_interface.c: fix memory leak in ospf_crypt_key_delete()
860 Set mtu_ignore field to default value
861 * ospf_abr.[ch]: export ospf_abr_announce_network_to_area()
862 * ospf_ism.h: add MACRO to convert internal ISM status into SNMP
863 correct values
864 * ospf_snmp.c: add sanity check on LSA type in lsdb_lookup_next()
865 convert OSPFIFSTATE internal status into SNMP values
866
vincentc1a03d42005-09-28 15:47:44 +00008672005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
868
869 * ospf_packet.c: use new md5 API
870
ajs5339cfd2005-09-19 13:28:05 +00008712005-09-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
872
873 * ospf_lsa.h: (ospf_external_lsa_flush) Comment out the 5th argument
874 (nexthop) since it is not used in the function (except inside
875 some commented-out code).
876 * ospf_lsa.c: (ospf_external_lsa_flush,ospf_external_lsa_refresh)
877 Comment out the 5th argument to ospf_external_lsa_flush.
878 * ospf_asbr.c: (ospf_redistribute_withdraw) Comment out 5th arg
879 to ospf_external_lsa_flush.
880 * ospf_vty.c: (no_ospf_default_information_originate) Eliminate 5th
881 uninitialized nexthop arg to ospf_external_lsa_flush.
882 * ospf_zebra.c: (ospf_zebra_read_ipv4) Comment out 5th arg
883 to ospf_external_lsa_flush.
884 * ospfd.c: (ospf_network_set) Comment out 5th arg
885 to ospf_external_lsa_flush.
886
ajse6a0bf92005-09-17 18:53:38 +00008872005-09-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
888
889 * ospf_opaque.c:
890 (ospf_opaque_lsa_refresh_schedule,ospf_opaque_lsa_flush_schedule)
891 No need to call ospf_lookup(), just use lsa0->area->ospf instead.
892
hassobb5b7552005-08-21 20:01:15 +00008932005-08-21 Hasso Tepper <hasso at quagga.net>
894
895 * ospf_vty.c: Make "show ip ospf neighbor xxx" commands work.
896 Interface should be specified by name now.
897
hasso54bedb52005-08-17 13:31:47 +00008982005-08-17 Hasso Tepper <hasso at quagga.net>
899
900 * ospf_vty.c: Check carefully if interface exists before trying to
901 print info about it.
902
hasso01018ce2005-08-05 07:40:15 +00009032005-08-05 Hasso Tepper <hasso at quagga.net>
904
905 * ospf_zebra.c: Don't assert/stop before type == ZEBRA_ROUTE_MAX if
906 dealing with routemaps. There is ospf->route_map[ZEBRA_ROUTE_MAX]
907 for default-information.
908
paulc8987752005-07-26 06:07:22 +00009092005-07-26 Paul Jakma <paul.jakma@sun.com>
910
911 * ospf_abr.c: (ospf_abr_announce_network_to_area) SET_FLAG
912 should be on lsa not old, which may be freed for one thing,
913 obviously.
914
pauld57834f2005-07-12 20:04:22 +00009152005-07-12 Paul Jakma <paul.jakma@sun.com>
916
917 * ospfd.h: add OSPF_ABR_DEFAULT for convenience, make
918 OSPF_ABR_CISCO be the default ABR type.
919 * ospfd.c: (ospf_new) initialise abr_type to OSPF_ABR_DEFAULT
920 * ospf_vty.c: (no_ospf_abr_type_cmd) add standard as a negatable
921 abr_type. default abr_type should be OSPF_ABR_DEFAULT.
922 (ospf_config_write) test whether default abr_type against
923 OSPF_ABR_DEFAULT, rather than any specific ABR_TYPE.
924
hasso8469bd72005-06-20 20:50:10 +00009252005-06-20 Hasso Tepper <hasso at quagga.net>
hassof4833e92005-06-20 20:42:26 +0000926
927 * ospf_nsm.c: Make database exchange for NSSA database work.
928
paul7461d452005-06-13 13:57:16 +00009292005-06-13 Paul Jakma <paul.jakma@sun.com>
930
931 * ospf_spf.c: Try get more information on a SEGV under
932 ospf_spf_vertex_add_parent.
933 (ospf_vertex_free) NULL out the child and nexthop lists
934 (ospf_vertex_add_parent) nexthop and child can not be NULL
935 vertex_nexthop's parent->child list can not be NULL
936 (ospf_spf_next) w and cw are per-loop iteration variables, move
937 declarations into loop body.
938
hasso1ddd7292005-06-07 19:54:04 +00009392005-06-07 Hasso Tepper <hasso at quagga.net>
940
941 * ospf_apiserver.c: Fix obvious error in notifying clients about ISM
942 changes - oi->ifp->status doesn't give to us info about ISM,
943 oi->state does.
944
paul7e440862005-06-01 11:20:51 +00009452005-06-01 Akihiro Mizutani <mizutani@net-chef.net>
946
947 * ospf_ism.c (ospf_elect_bdr/ospf_elect_dr): Fix DR election bug.
948
paul500e4182005-05-26 17:11:13 +00009492005-05-26 Paul Jakma <paul.jakma@sun.com>
950
951 * ospf_abr.c: (ospf_abr_update_aggregate) Fix comment, cost bug itself
952 had been fixed long ago by Sowmini.
953
paula3387a42005-05-18 23:29:57 +00009542005-05-19 Paul Jakma <paul.jakma@sun.com>
955
956 * ospf_interface.c: (ospf_if_table_lookup) Fix a serious bug
957 a less serious one.
958 1: this function is supposed to lookup
959 entries in the oifs ospf_interface route_table and return either
960 an existing oi or NULL to indicate not found, its caller depends
961 on this, yet this function uses route_node_get which /always/
962 returns a route_node - one is created if none exists. Use
963 route_node_lookup instead. This should fix root cause of the
964 reports of the (ospf_add_to_if) assert being hit.
965 2: oi's are inserted into this table with prefixlength set to
966 /32 (indeed, it should be a hash table, not a route_table),
967 however prefixlength to lookup was not changed, if no valid entry
968 can be inserted other than /32, then nothng but /32 should be
969 looked up. This possibly only worked by fluke..
970 Fix confirmed by 2 reporters (one list, one IRC), definitely a
971 backport candidate once it has been incubated in HEAD for a while.
972 Thanks to Patrick Friedel and Ivan Warren for testing.
973
paul69310a62005-05-11 18:09:59 +00009742005-05-11 Paul Jakma <paul.jakma@sun.com>
975
976 * (general) Fix memory leaks in opaque AS-scope LSAs, reported and
977 with much debugging done by by scott collins <scollins@agile.tv>.
978 * ospf_lsa.c: (ospf_discard_from_db) dont call
979 ospf_ase_unregister_external_lsa for opaque-lsa's, opaques are
980 never registered with ase in the first place.
981 * ospf_packet.c: (general) Disabuse opaque related code of its
982 tendency to try gather up things into temporary lists.
983 (ospf_ls_upd) remove the temporary lists opaque uses, call
984 opaque functions inline, just like all other types.
985 (ospf_ls_ack) ditto.
986 (ospf_recv_packet) fixup sign warning.
987 * ospf_opaque.c: (general) fix the unneeded use of lists, and
988 untwist some of the logic.
989 (ospf_opaque_self_originated_lsa_received) take a single LSA
990 as argument, not a list of them. Remove the list loop. Logic
991 otherwise unchanged.
992 (ospf_opaque_ls_ack_received) Mostly ditto. But untwist the logic,
993 move the actions up into the switch block, remove the goto's and
994 sanitise the logic near the end a bit.
995 * ospf_opaque.h: Adjust definitions of aforementioned functions
996 in ospf_opaque.c to match.
997
paul42c98192005-05-07 02:22:51 +00009982005-05-07 Yar Tikhiy <yar@comp.chem.msu.su>
999
1000 * ospf_network.c: Log ifindex on multicast membership leave/join
1001 events.
1002
paul4dadc292005-05-06 21:37:42 +000010032005-05-06 Paul Jakma <paul.jakma@sun.com>
1004
1005 * (general) extern and static qualifiers added.
1006 unspecified arguments in definitions fixed, typically they should
1007 be 'void'.
1008 function casts added for callbacks.
1009 Guards added to headers which lacked them.
1010 Proper headers included rather than relying on incomplete
1011 definitions.
1012 gcc noreturn function attribute where appropriate.
1013 * ospf_opaque.c: remove the private definition of ospf_lsa's
1014 ospf_lsa_refresh_delay.
1015 * ospf_lsa.h: export ospf_lsa_refresh_delay
1016 * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const,
1017 correct thing to do - removes need for the casts later.
1018 * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's
1019 home-brewed versions, shuts up several warnings.
1020 * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and
1021 VTY_GET_IPV4_PREFIX moved to lib/vty.h.
1022 * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky
1023 overloading of the THREAD_ARG pointer should at least use
1024 uintptr_t.
1025
paul9e67dc22005-04-15 12:10:17 +000010262005-04-15 Zhipeng Gong <zpgong@cdc.3upsystems.com>
1027
1028 * ospf_abr.c: (ospf_abr_announce_network_to_area) dont forget
1029 to approve LSAs for the case where metric has changed, lsa gets
1030 flushed otherwise. (backport candidate).
1031
ajs634f9ea2005-04-11 15:51:40 +000010322005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1033
1034 * ospf_zebra.c (ospf_zebra_add): Call zclient_send_message instead
1035 of writen.
1036
ajsd2fc8892005-04-02 18:38:43 +000010372005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1038
ajse4319de2005-04-02 23:23:55 +00001039 * ospf_interface.h: (ospf_if_lookup_by_name) Remove declaration of a
1040 function that does not exist.
1041
10422005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1043
ajs21fefa92005-04-02 23:16:41 +00001044 * ospf_zebra.c: (zebra_interface_if_lookup) Must use
1045 if_lookup_by_name_len.
1046
10472005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1048
ajsa3491982005-04-02 22:50:38 +00001049 * ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create.
1050
10512005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1052
ajsd2fc8892005-04-02 18:38:43 +00001053 * ospf_vty.c: (show_ip_ospf_interface_sub) Show ifindex and interface
1054 flags to help with debugging.
1055 * ospf_zebra.c: (ospf_interface_delete) After deleting, set ifp->ifindex
1056 to IFINDEX_INTERNAL.
1057 (zebra_interface_if_lookup) Make function static. Tighten up code.
1058
ajsaca72fd2005-03-31 15:18:21 +000010592005-03-31 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1060
1061 * ospf_dump.c: (show_debugging_ospf) Show if ospf event debugging
1062 is turned on.
1063
ajsfd651fa2005-03-29 16:08:16 +000010642005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1065
ajsa608bbf2005-03-29 17:03:49 +00001066 * ospf_zebra.c: (ospf_interface_state_up) If the MTU of an operative
1067 interface changes, print a debug message and call ospf_if_reset()
1068 to simulate down/up on the interface.
1069 * ospf_interface.h: Declare new function ospf_if_reset().
1070 * ospf_interface.c: (ospf_if_reset) New function to call ospf_if_down
1071 and ospf_if_up for all ospf interfaces attached to an interface.
1072
10732005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1074
ajs5dcbdf82005-03-29 16:13:49 +00001075 * ospf_packet.c: (ospf_write_frags) Enhance error message to
1076 show MTU. Also make function static.
1077 (ospf_write) Enhance error message to show interface name and MTU.
1078 Also make function static.
1079
10802005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1081
1082 * ospf_vty.c: (show_ip_ospf_interface_sub) Display interface MTU and
1083 bandwidth; this is useful for debugging problems. Also, the function
1084 should be static.
ajsfd651fa2005-03-29 16:08:16 +00001085
hasso1b639042005-03-27 13:32:25 +000010862005-03-27 Hasso Tepper <hasso at quagga.net>
1087
1088 * ospf_snmp.c: Don't crash in snmp query if ospf instance doesn't
1089 exist at all.
1090
hasso343f5cc2005-03-25 19:48:40 +000010912005-03-25 Hasso Tepper <hasso at quagga.net>
1092
1093 * ospfd.h: Include log.h, fixes compile with gcc-4.0.
1094
ajs9dbc7972005-03-13 19:27:22 +000010952005-03-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1096
1097 * ospf_lsa.c: (ospf_lsa_refresh_walker) If the system clock jumps
1098 backward, then current time may be less than
1099 ospf->lsa_refresher_started. This was causing invalid values
1100 for ospf->lsa_refresh_queue.index resulting in infinite loops.
1101 Problem fixed by casting the expression to unsigned before taking
1102 the modulus.
1103
ajs5c333492005-02-23 15:43:01 +000011042005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1105
1106 * ospfd.h: Add new field struct stream *ibuf to struct ospf.
1107 * ospfd.c: (ospf_new) Check return code from ospf_sock_init.
1108 Allocate ibuf using stream_new(OSPF_MAX_PACKET_SIZE+1).
1109 (ospf_finish) Call stream_free(ospf->ibuf.
1110 * ospf_packet.c: (ospf_read) Call stream_reset(ospf->ibuf) and then
1111 pass it to ospf_recv_packet for use in receiving the packet
1112 (instead of allocating a new stream for each packet received).
1113 Eliminate all calls to stream_free(ibuf).
1114 (ospf_recv_packet) The struct stream *ibuf is now passed in as
1115 an argument. No need to use recvfrom to peek at the packet
1116 header (to see how big it is), just use ospf->ibuf which is
1117 always large enough (this eliminates a system call to recvfrom).
1118 Therefore, no need to allocate a stream just for this packet,
1119 and no need to free it when done.
1120
hasso462f20d2005-02-23 11:29:02 +000011212005-02-23 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it>
1122
1123 * ospf_lsa.h: New flag to the LSA structure for the SPF calculation.
1124 * ospf_lsdb.h: Export ospf_lsdb_clean_stat() function.
1125 * ospf_spf.h: Add link to the LSA stat structure into vertex.
1126 * ospf_spf.c: New functions cmp() and update_stat() to manage
1127 candidates. Remove ospf_spf_has_vertex(), ospf_vertex_lookup(),
1128 ospf_install_candidate() and ospf_spf_register() functions not needed
1129 any more. Update ospf_vertex_new(), ospf_spf_next() and
1130 ospf_spf_calculate() functions to use pqueue instead of linked list.
1131
hassoe40dcce2005-02-21 14:58:42 +000011322005-02-21 Hasso Tepper <hasso at quagga.net>
1133
1134 * ospf_ase.c: Don't show messages related to the ase calculations if
1135 we are not debugging.
1136
hasso306541b2005-02-19 17:58:40 +000011372005-02-19 Hasso Tepper <hasso at quagga.net>
1138
1139 * ospf_api.h: char isn't always signed, but it has to be it here.
1140
paulfa81b712005-02-19 01:19:20 +000011412005-02-19 Paul Jakma <paul.jakma@sun.com>
1142
1143 * ospf_packet.c: (ospf_stream_copy) remove
1144 (ospf_packet_dup) use stream_copy instead of ospf_stream_copy
1145
ajs038163f2005-02-17 19:55:59 +000011462005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1147
1148 * ospf_packet.c: (ospf_recv_packet) If there is somehow a runt
1149 packet in the queue, it must be discarded. Improve warning messages.
1150 Fix scope to static.
1151 (ospf_read) Fix bug: should reset the read thread in all cases
1152 to make sure we continue to get incoming messages.
1153
paul658b03a2005-02-15 10:10:55 +000011542005-02-15 Paul Jakma <paul.jakma@sun.com>
1155
1156 * ospf_packet.c: (ospf_recv_packet) Fix silly error wrt allocating
1157 ibuf. Thanks Andrew.
1158
paulbfdc44a2005-02-14 23:48:42 +000011592005-02-14 Paul Jakma <paul.jakma@sun.com>
1160
1161 * ospf_packet.c: (ospf_recv_packet) use stream_recvmsg.
1162
hasso082253f2005-02-11 08:31:54 +000011632005-02-11 Hasso Tepper <hasso at quagga.net>
1164
1165 * ospf_lsdb.c: Fix sum of checksums calculation.
1166
ajs083ee9d2005-02-09 15:35:50 +000011672005-02-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1168
1169 * ospf_packet.c: (ospf_write) If sendmsg fails, give more info in the
1170 error message.
1171
ajsba6454e2005-02-08 15:37:30 +000011722005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1173
ajs8cfde372005-02-08 15:59:16 +00001174 * ospf_interface.h: Reduce structure padding by putting new u_char
1175 field multicast_memberships in a better spot (grouped with
1176 other u_char fields type and state).
1177
11782005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1179
ajsba6454e2005-02-08 15:37:30 +00001180 * ospf_interface.h: Improve passive_interface comment. Add new
1181 multicast_memberships bitmask to struct ospf_interface to track
1182 active multicast subscriptions. Declare new function
1183 ospf_if_set_multicast.
1184 * ospf_interface.c: (ospf_if_set_multicast) New function to configure
1185 multicast memberships properly based on the current
1186 multicast_memberships status and the current values of the
1187 ospf_interface state, type, and passive_interface status.
1188 (ospf_if_up) Remove call to ospf_if_add_allspfrouters (this is
1189 now handled by ism_change_state's call to ospf_if_set_multicast).
1190 (ospf_if_down) Remove call to ospf_if_drop_allspfrouters (now
1191 handled by ism_change_state).
1192 * ospf_ism.c: (ospf_dr_election) Remove logic to join or leave
1193 the DRouters multicast group (now handled by ism_change_state's call
1194 to ospf_if_set_multicast).
1195 (ism_change_state) Add call to ospf_if_set_multicast to change
1196 multicast memberships as necessary to reflect the new interface state.
1197 * ospf_packet.c: (ospf_hello) When a Hello packet is received on a
1198 passive interface: 1. Increase the severity of the error message
1199 from LOG_INFO to LOG_WARNING; 2. Add more information to the error
1200 message (packet destination address and interface address);
1201 and 3. If the packet was sent to ospf-all-routers, then try
1202 to fix the multicast group memberships.
1203 (ospf_read) When a packet is received on an interface whose state
1204 is ISM_Down, enhance the warning message to show the packet
1205 destination address, and try to update/fix the multicast group
1206 memberships if the packet was sent to a multicast address.
1207 When a packet is received for ospf-designated-routers, but the
1208 current interface state is not DR or BDR, then increase the
1209 severity level of the error message from LOG_INFO to LOG_WARNING,
1210 and try to fix the multicast group memberships.
1211 * ospf_vty.c: (ospf_passive_interface) Call ospf_if_set_multicast for
1212 any ospf interface that may have changed from active to passive.
1213 (no_ospf_passive_interface) Call ospf_if_set_multicast for
1214 any ospf interface that may have changed from passive to active.
1215 (show_ip_ospf_interface_sub) Show multicast group memberships.
1216
paul3a9eb092005-02-08 11:29:41 +000012172005-02-08 Paul Jakma <paul@dishone.st>
1218
1219 * ospf_packet.c: (various) Remove unneeded stream_set_putp abuse.
1220
ajs847947f2005-02-02 18:38:48 +000012212005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1222
1223 * ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down,
1224 not for event ISM_InterfaceDown. And improve the message by
1225 adding the interface flags.
1226
ajs0b7d97d2005-01-30 17:24:02 +000012272005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1228
1229 * ospf_network.c: (ospf_sock_init) Save errno before calling
1230 ospfd_privs.change.
1231
ajsc3eab872005-01-29 15:52:07 +000012322005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1233
1234 * ospf_packet.c: (ospf_packet_add) If oi->obuf is NULL, print
1235 an error message and return.
1236 (ospf_read) If the interface state is ISM_InterfaceDown, issue
1237 a warning message and ignore the packet.
1238
gdt86f1fd92005-01-10 14:20:43 +000012392005-01-10 Greg Troxel <gdt@fnord.ir.bbn.com>
1240
1241 * ospf_packet.h: Remove commented out definition of
1242 OSPF_MAX_PACKET; neither it or the uncommented one are used any more.
1243
1244 * ospf_packet.c (ospf_make_ls_upd): Leave room for authentication
1245 when deciding if an update will fit.
1246 (ospf_packet_authspace): Factor out calculation of size required
1247 for authentication.
1248 (ospf_make_db_desc): Use ospf_max_packet, not OSPF_MAX_PACKET.
1249 Don't confuse readers that there is a macro.
1250
ajs3dc56b52004-12-30 15:11:19 +000012512004-12-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1252
1253 * ospf_network.c: Improve all setsockopt error messages to give detailed
1254 information on the arguments.
1255
ajsb87f7722004-12-29 20:41:26 +000012562004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1257
ajs17eaa722004-12-29 21:04:48 +00001258 * ospf_packet.c: (ospf_db_desc) Reduce severity of "Negotiation done"
1259 messages from LOG_WARNING to LOG_INFO, since this seems to be
1260 normal.
1261
12622004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1263
ajsb87f7722004-12-29 20:41:26 +00001264 * ospf_packet.c: (ospf_read) Always look up the interface if
1265 ospf_recv_packet returns NULL ifp, since some platforms such
1266 as Solaris 8 appear to support ifindex retrieval but don't.
1267
hasso1d806282004-12-22 09:43:20 +000012682004-12-22 Hasso Tepper <hasso at quagga.net>
1269
1270 * ospf_dump.c: Show debug configuration in vtysh.
hassoc6b87812004-12-22 13:09:59 +00001271 * ospf_vty.c: Fix "show ip ospf" output. Router can't be elected in
1272 any case if it's configured as "translate-never".
hassofe71a972004-12-22 16:16:02 +00001273 * ospf_lsdb.[ch]: New function to calculate sum of checksums.
1274 * ospf_vty.c: Bugfix to show really number of AS external LSAs, not
1275 number of all LSAs with AS scope, this includes opaque as LSAs as
1276 well, show this number separately. Show numbers and sums of
1277 checksums for each type of LSAs.
1278 * ospf_lsa.c: Calculate checksum before putting LSA into database.
hasso1d806282004-12-22 09:43:20 +00001279
ajsbc18d612004-12-15 15:07:19 +000012802004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1281
1282 * ospf_interface.h: Declare new function ospf_default_iftype.
1283 * ospf_interface.c: (ospf_default_iftype) New function to centralize
1284 this logic in one place.
1285 * ospf_zebra.c: (ospf_interface_add) Use new function
1286 ospf_default_iftype.
1287 * ospf_vty.c: (no_ip_ospf_network,config_write_interface) Fix logic
1288 by using new function ospf_default_iftype.
1289
ajs3aa8d5f2004-12-11 18:00:06 +000012902004-12-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1291
1292 * ospf_packet.c: (ospf_db_desc) Should be static, not global.
1293 (ospf_hello,ospf_db_desc,ospf_ls_upd,ospf_ls_ack) Improve warning
1294 messages to include identifying information (e.g. router id).
1295 * ospf_nsm.c: (nsm_change_state) Improve info message to include
1296 router id and state names.
1297
gdt91f3e522004-12-09 14:51:03 +000012982004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
1299
gdt3fb9de72004-12-09 16:30:04 +00001300 * ospf_apiserver.c (ospf_apiserver_term): Obtain struct
1301 ospf_apiserver * from listnode. Remove unused variables. Follows
1302 suggestion from Jay Fenlason.
gdt91f3e522004-12-09 14:51:03 +00001303
ajs9b0e25c2004-12-08 19:06:51 +000013042004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1305
1306 * *.c: Change level of debug messages to LOG_DEBUG.
1307
ajs274a4a42004-12-07 15:39:31 +000013082004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1309
1310 * ospf_main.c: (main) The 2nd argument to openzlog has been removed.
1311
ajs887c44a2004-12-03 16:36:46 +000013122004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1313
ajs1210fa62004-12-03 16:43:24 +00001314 * ospf_packet.c: (ospf_db_desc) Reduce priority on a debug message
1315 from LOG_NOTICE to LOG_DEBUG.
1316
13172004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1318
ajs887c44a2004-12-03 16:36:46 +00001319 * ospf_main.c: (sigint) Use zlog_notice for termination message.
1320 (main) Issue a startup announcement using zlog_notice.
1321
ajsbec595a2004-11-30 22:38:43 +000013222004-11-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1323
1324 * ospf_packet.c: (ospf_db_desc_proc) Fix spelling of packet in warning
1325 message and in comment.
1326 (ospf_db_desc) Warning message that a packet is being discarded
1327 should give the router id of the packet source. Fix spelling
1328 of packet in two warning messages.
1329 (ospf_ls_req) Warning message that a link state request is being
1330 discarded should give the router id of the neighbor that sent it.
1331
ajs5b85fac2004-11-26 19:36:42 +000013322004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
1333
1334 * ospf_main.c: Remove #include "debug.h" (was not being used, and
1335 lib/debug.h has now been deleted).
1336
hassoc0652302004-11-25 19:33:48 +000013372004-11-25 Hasso Tepper <hasso at quagga.net>
1338
1339 * ospf_main.c: Make group to run as configurable.
1340
gdt69e13252004-11-15 18:51:15 +000013412004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
1342
1343 * ospf_packet.c (ospf_recv_packet): Assume CMSG_SPACE is present
1344 and works (lib/zebra.h provides if OS doesn't).
1345
paul788dab12004-11-15 11:48:37 +000013462004-11-15 Paul Jakma <paul@dishone.st>
1347
1348 * ospf_{apiserver,te}.c: ospf_lsa_free's should be ospf_lsa_unlock.
1349
paul05e85fa2004-11-12 10:52:19 +000013502004-11-12 Paul Jakma <paul@dishone.st>
1351
1352 * ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to
1353 ignore stub area summary default. Even so it seems a strange
1354 check, add a comment to that effect.
1355
paulf3ae74c2004-11-04 20:35:31 +000013562004-11-04 Paul Jakma <paul@dishone.st>
1357
1358 * ospfd.c: (ospf_network_match_iface) revert to previous network
1359 statement match behaviour.
1360
paul62d8e962004-11-02 20:26:45 +000013612004-11-02 Paul Jakma <paul@dishone.st>
1362
1363 * ospf_packet.c: (ospf_write_frags) remove iov arg, msg already points
1364 to it. Add convenience pointer to msg->msg_iov[1], and use this,
1365 fixing the unfortunate borkenness introduced in moving of this code
1366 to a function.
1367 (ospf_write) remove iovp and fix up call to previous.
1368 (ospf_ls_upd_packet_new) cast size to long int - unfortunately
1369 glibc's size_t format modifier is not portable.
1370
paul37ccfa32004-10-31 11:24:51 +000013712004-10-31 Paul Jakma <paul@dishone.st>
1372
1373 * ospf_packet.c: (ospf_write_frags) Add debug output
1374 (ospf_write) set type early, so we can pass it to
1375 ospf_write_frags.
1376 (ospf_ls_upd_packet_new) print size in debug output when too large
1377 packet is encountered.
paul64511f32004-10-31 18:01:13 +00001378 * ospf_zebra.c: (ospf_distribute_list_update_timer) Ugly misuse of
1379 THREAD_ARG to store an integer, but it should at least use same
1380 same type to retrieve the value. Assert value is sane.
paul37ccfa32004-10-31 11:24:51 +00001381
paulac191232004-10-22 12:05:17 +000013822004-10-22 Paul Jakma <paul@dishone.st>
1383
1384 * ospf_network.c: (ospf_sock_init) call neutral setsock_ifindex()
1385 function.
1386 * ospf_packet.c: (ospf_read) manually look up ifindex
paul4ccb2c42004-10-22 22:52:33 +00001387 if system could not have returned one, eg openbsd, thanks to Rivo
1388 Nurges for highlighting problem and fix.
paul06f953f2004-10-22 17:00:38 +00001389 Change setsockopt_pktinfo to setsockopt_ifindex.
paulac191232004-10-22 12:05:17 +00001390
hasso3fb9cd62004-10-19 19:44:43 +000013912004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
1392
1393 * ospf_snmp.c: (ospf_snmp_if_update) Fix logic to handle PtP links
1394 with dedicated subnets properly.
1395 * ospf_lsa.c: (lsa_link_ptop_set) ditto.
1396 * ospfd.c: (ospf_network_match_iface) ditto.
1397 (ospf_network_run) ditto.
1398 * ospf_interface.c: (ospf_if_is_configured) ditto.
1399 (ospf_if_lookup_by_prefix) ditto.
1400 (ospf_if_lookup_recv_if) ditto.
1401 * ospf_vty.c: (show_ip_ospf_interface_sub) Display the peer or
1402 broadcast address if present.
1403
hassod68614d2004-10-13 09:32:48 +000014042004-10-13 Hasso Tepper <hasso at quagga.net>
1405
1406 * ospf_main.c: Unbreak compilation with ospfapi disabled.
hassoc75105a2004-10-13 10:33:26 +00001407 * ospf_snmp.c: Remove defaults used to initialize smux connection to
1408 snmpd. Connection is initialized only if smux peer is configured.
hassod68614d2004-10-13 09:32:48 +00001409
hassof4d58ce2004-10-12 06:13:54 +000014102004-10-12 Hasso Tepper <hasso at quagga.net>
1411
1412 * ospf_main.c, ospf_opaque.c: Unbreak ospfclient compilation - move
1413 static variable from ospf_main.c into ospf_opaque.c.
1414
hassoc3abdb72004-10-11 16:27:03 +000014152004-10-11 Hasso Tepper <hasso at quagga.net>
1416
1417 * ospf_main.c, ospf_opaque.c: Disable ospfapi init by default. New
1418 command line switch to enable it.
1419
paul6b333612004-10-11 10:11:25 +000014202004-10-11 Paul Jakma <paul@dishone.st>
1421
1422 * ospf_dump.c: (ospf_ip_header_dump) Assume header is in host order
1423 remove ntohs that should have dissappeared. Take struct ip
1424 as argument, caller has to know there's an IP header at start of
1425 stream anyway.
1426 * ospf_dump.h: update declaration of ospf_ip_header_dump.
1427 * ospf_packet.c: (ospf_write) correct call to
1428 sockopt_iphdrincl_swab_htosys which was munging the header.
1429 (ospf_recv_packet) ip_len is needed for old OpenBSD fixup.
1430 (ospf_read) sockopt_iphdrincl_swab_systoh ip header as soon as
1431 we have it.
paul6c835672004-10-11 11:00:30 +00001432 * (global) Const char update and signed/unsigned fixes.
1433 * (various headers) size defines should be unsigned.
1434 * ospf_interface.h: remove duplicated defines, include the
1435 authoritative header - though, these defines should probably
1436 be moved to a dedicated header, or ospfd.h.
1437 * ospf_lsa.h: (struct lsa) ls_seqnum should be unsigned.
1438 * ospf_packet.c: (ospf_write) cast result of shift to unsigned.
paul6b333612004-10-11 10:11:25 +00001439
hassoeb1ce602004-10-08 08:17:22 +000014402004-10-08 Hasso Tepper <hasso at quagga.net>
1441
1442 * *.[c|h]: Fix compiler warnings: make some strings const, signed ->
1443 unsigned, remove unused variables etc.
1444
gdt54ade992004-10-07 19:38:20 +000014452004-10-07 Greg Troxel <gdt@claude.ir.bbn.com>
1446
1447 * ospf_apiserver.c (ospf_apiserver_unregister_opaque_type): Don't
1448 use of variable names 'node' and 'nextnode' to avoid possible
1449 conflict with list macros. Move variable declaration inside for
1450 loop after a statement to top of function.
1451
paulaa20c6f2004-10-07 14:19:36 +000014522004-10-07 Paul Jakma <paul@dishone.st>
1453
1454 * ospf_snmp.c: Missed list typedef update
1455 * ospf_dump.c: Include sockopt.h for header swab functions.
1456
paul18b12c32004-10-05 14:38:29 +000014572004-10-05 Paul Jakma <paul@dishone.st>
1458
1459 * ospf_packet.c: replace ospf_swap_iph_to... with
1460 sockopt_iphdrincl_swab_...
1461
hasso18a6dce2004-10-03 18:18:34 +000014622004-10-03 James R. Leu <jleu at mindspring.com>
1463
1464 * ospf_zebra.c: Read router id related messages from zebra daemon.
1465 Schedule router-id update thread if it's changed.
1466 * ospfd.c: Remove own router-id selection function. Use router id from
1467 zebra daemon if it isn't manually overriden in configuration.
1468
paul68defd62004-09-27 07:27:13 +000014692004-09-27 Paul Jakma <paul@dishone.st>
1470
paul6a99f832004-09-27 12:56:30 +00001471 * ospf_dump.c: (ospf_ip_header_dump) Use HAVE_IP_HDRINCL_BSD_ORDER
1472 Apply to offset too. Print ip_cksum, lets not worry about
1473 possible 2.0.37 compile problems.
1474 * ospf_packet.c: (ospf_swap_iph_to{n,h}) Use
1475 HAVE_IP_HDRINCL_BSD_ORDER.
1476 (ospf_recv_packet) ditto.
1477 (ospf_write) Fixup iov argument to ospf_write_frags.
1478 (struct msghdr).msg_name is caddr_t on most platforms.
paul68defd62004-09-27 07:27:13 +00001479 (ospf_recv_packet) ditto. And msg_flags is not always there
1480 memset struct then set fields we care about rather than
1481 initialise all fields individually.
1482
hassoc9e52be2004-09-26 16:09:34 +000014832004-09-26 Hasso Tepper <hasso at quagga.net>
1484
1485 * ospf_abr.c, ospf_dump.c, ospf_lsa.c, ospf_packet.c, ospf_vty.c,
1486 ospf_zebra.c: Fix compiler warnings.
1487
paul87d6f872004-09-24 08:01:38 +000014882004-09-24 Paul Jakma <paul@dishone.st>
1489
1490 * ospf_apiserver.{c,h}: lists typedef removal cleanup.
1491 update some list loops to LIST_LOOP. some miscellaneous indent
1492 fixups.
1493 (ospf_apiserver_unregister_opaque_type) fix listnode_delete of
1494 referenced node in loop.
paul1603c062004-09-24 08:23:24 +00001495 (ospf_apiserver_term) loops calling ospf_apiserver_free, which
1496 deletes referenced nodes from apiserver_list, fixed.
paul87d6f872004-09-24 08:01:38 +00001497 * ospf_interface.h: lists typedef removal cleanup.
1498 * ospf_opaque.{c,h}: lists typedef removal cleanup. update some list
1499 loops to LIST_LOOP. miscellaneous style and indent fixups.
1500 * ospf_te.{c,h}: ditto
1501 * ospf_packet.c: lists typedef removal cleanup.
paula2570682004-09-24 08:09:57 +00001502 (ospf_write) ifdef fragmentation support. move actual
1503 fragmentation out to a new, similarly ifdefed, function.
1504 (ospf_write_frags) fragmented write support, moved from previous.
paul87d6f872004-09-24 08:01:38 +00001505
hasso52dc7ee2004-09-23 19:18:23 +000015062004-09-23 Hasso Tepper <hasso at quagga.net>
1507
1508 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
1509
paul68b73392004-09-12 14:21:37 +000015102004-09-12 Paul Jakma <paul@dishone.st>
1511
1512 * ospf_packet.c: Fix bugzilla #107
1513 (ospf_packet_max) get rid of the magic 88 constant
1514 (ospf_swab_iph_ton) new function. set ip header to network order,
1515 taking BSDisms into account.
1516 (ospf_swab_iph_toh) the inverse.
1517 (ospf_write) Add support for IP fragmentation, will only work on
1518 linux though, other kernels make it impossible. get rid of the
1519 magic 4 constant.
1520 (ospf_make_ls_upd) Bound check to end of stream, not to
1521 interface mtu.
1522 (ospf_ls_upd_packet_new) New function, allocate upd packet
1523 taking oversized LSAs into account.
1524 (ospf_ls_upd_queue_send) use ospf_ls_upd_packet_new to allocate,
1525 rather than statically allocating mtu sized packet buffer, which
1526 actually was wrong - it didnt take ip header into account, which
1527 should not be included in packet buffer.
1528 (ospf_ls_upd_send_queue_event) minor tweaks and remove
1529 TODO comment.
1530
gdt630e4802004-08-31 17:28:41 +000015312004-08-31 David Wiggins <dwiggins@bbn.com>
1532
1533 * ospf_spf.c (ospf_spf_calculate): Many more comments and debug
1534 print statements. New function ospf_vertex_dump used in debugging.
1535
15362004-08-31 David Wiggins <dwiggins@bbn.com>
1537
1538 * ospf_spf.h (struct vertex): Comments for flags and structure members.
1539
15402004-08-31 David Wiggins <dwiggins@bbn.com>
1541
1542 * ospf_route.c: When finding an alternate route, log cost as well.
1543
15442004-08-31 David Wiggins <dwiggins@bbn.com>
1545
1546 * ospf_interface.c (ospf_lookup_if_params): Initialize af in
1547 struct prefix allocated on stack.
1548
15492004-08-31 David Wiggins <dwiggins@bbn.com>
1550
1551 * ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send
1552 acks to AllSPFRouters, rather than All-DR.
1553
hasso7b901432004-08-31 13:37:42 +000015542004-08-27 Hasso Tepper <hasso at quagga.net>
1555
1556 * ospf_vty.c: Don't print ospf network type under interface only
1557 if interface is in broadcast mode and interface type really is
1558 broadcast. Fixes Bugzilla #108.
1559
gdtd7d93992004-08-27 12:03:42 +000015602004-08-27 David Wiggins <dwiggins@bbn.com>
1561
1562 * ospf_spf.c (ospf_nexthop_calculation): Initialize address family
1563 in on-stack struct prefix_ipv4. Fixes point-to-multipoint SPF
1564 calculation.
1565
gdtd0deca62004-08-26 13:14:07 +000015662004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
1567
1568 * ospf_packet.c (ospf_recv_packet): adjust size declaration of
gdtd7d93992004-08-27 12:03:42 +00001569 buffer used to get interface index so that it compiles on other
1570 than Linux and includes the required alignment space. Probably
1571 this was only working on sparc/sparc64 because most of
1572 sockaddr_dl was not being written.
gdtd0deca62004-08-26 13:14:07 +00001573
paul863082d2004-08-19 04:43:43 +000015742004-08-19 Paul Jakma <paul@dishone.st>
1575
1576 * ospf_packet.c: update to match sockopt renames.
1577
paul75ee0b82004-08-05 09:10:31 +000015782004-08-04 Paul Jakma <paul@dishone.st>
1579
1580 * ospf_spf.c: (ospf_spf_consider_nexthop) Add comment about issue.
1581 Compare only against list head - all nexthops must be same cost
1582 anyway, fixes a reference-listnode-after-delete bug noted by
1583 Kir Kostuchenko.
1584 (ospf_nexthop_calculation) Use ospf_spf_consider_nexthop for all
1585 candidates attached to root.
1586
paul36c64ef2004-07-27 11:19:11 +000015872004-07-27 Paul Jakma <paul@dishone.st>
1588
paul48fe13b2004-07-27 17:40:44 +00001589 * ospf_packet.c: (ospf_ls_upd_send_queue_event) fix thinko from
1590 last fix for ospfd wedging due to oversize LSAs: dont list loop on
1591 ospf_ls_upd_queue_send() - guaranteed segfault.
1592
15932004-07-27 Paul Jakma <paul@dishone.st>
1594
paul36c64ef2004-07-27 11:19:11 +00001595 * ospf_opaque.c: (ospf_opaque_lsa_flush_schedule) do not NULL out
1596 the LSA as then free_opaque_info_per_id() can never unlock (and
1597 free) the LSA. Reported by Gunnar Stigen.
1598
paul2dd8bb42004-07-23 15:13:48 +000015992004-07-23 Paul Jakma <paul@dishone.st>
1600
1601 * ospf_network.c: Replace PKTINFO/RECVIF with call to
1602 setsockopt_pktinfo
1603 * ospf_packet.c: Use getsockopt_pktinfo_ifindex and
1604 SOPT_SIZE_CMSG_PKTINFO_IPV4.
1605
paul59ea14c2004-07-14 20:50:36 +000016062004-07-14 Paul Jakma <paul@dishone.st>
1607
1608 * ospf_packet.c: (ospf_ls_upd_send_queue_event) Partial fix for
1609 problem reported by Peter Frost amongst others, where function
1610 will spin indefinitely if update list contains LSAs greater than
1611 MTU-headers or other condition leading to update list never being
1612 cleared. Problem of what to do with these LSAs remains.
1613 (ospf_make_ls_upd) add comment about large LSA problem,
1614 indentation cleanup.
1615
gdtb2c1b282004-07-01 12:35:36 +000016162004-07-01 Greg Troxel <gdt@fnord.ir.bbn.com>
1617
1618 * Makefile.am (lib_LTLIBRARIES): make libospf shared
1619
gdt87efd642004-06-30 17:36:11 +000016202004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
1621
1622 * Makefile.am: Add shlib support.
1623
hassobeebba72004-06-20 21:00:27 +000016242004-06-10 Hasso Tepper <hasso@estpak.ee>
1625
1626 * *: Removed ifdefs HAVE_NSSA.
1627
paul553ff112004-06-06 09:41:00 +000016282004-06-06 Paul Jakma <paul@dishone.st>
1629
1630 * ospf_dump.c,ospf_lsa.c: Fix typos of merge of previous.
1631 ospf_flood.c: (ospf_process_self_originated_lsa) fix zlog format
1632
paul0c2be262004-05-31 14:16:54 +000016332004-05-31 Sagun Shakya <sagun.shakya@sun.com>
1634
1635 * ospf_dump.c: (ospf_lsa_header_dump) LOOKUP can return null if
1636 index is out of range.
1637 ospf_flood.c: endianness fix
1638 ospf_lsa.c: Missing ntohl's on (struct lsa *)->data->ls_seqnum
1639 in various places.
1640
hassodd669bb2004-05-10 07:43:59 +000016412004-05-10 Hasso Tepper <hasso@estpak.ee>
1642
1643 * ospf_zebra.c, ospfd.c: Move ospf_prefix_list_update() function
1644 to ospf_zebra.c from ospfd.c and add redistribution updates if
1645 route-map is used in redistribution.
1646 * ospf_main.c: Remove now useless call to ospf_init().
1647
paul0a589352004-05-08 11:48:26 +000016482004-05-08 Paul Jakma <paul@dishone.st>
1649
1650 * ospf_zebra.c: Sync with lib/zclient changes
1651
pauld3f0d622004-05-05 15:27:15 +000016522004-05-05 Paul Jakma <paul@dishone.st>
1653
paul5bd41892004-05-05 17:29:24 +00001654 * ospf_network.c: (ospf_sock_init) Check whether IP_HDRINCL is
1655 defined. Warn at compile and runtime. Use
1656 IPTOS_PREC_INTERNETCONTROL otherwise.
pauld3f0d622004-05-05 15:27:15 +00001657 * ospf_packet.c: (ospf_associate_packet_vl) cleanup, move
1658 some of the checks up to ospf_read, return either a
1659 virtual link oi, or NULL.
1660 (ospf_read) Cleanup, make it responsible for checks. Remove
1661 the nbr lookup - moved to ospf_neighbor. Adjust all nbr
1662 lookups to use new wrappers exported by ospf_neighbor.
1663 * ospf_neighbor.h: Add ospf_neigbour_get and ospf_nbr_lookup.
1664 * ospf_neighbor.c: (ospf_neigbour_get) Index ospf_interface
1665 neighbour table by router-id for virtual-link ospf_interfaces,
1666 not by peer_addr (which breaks for asymmetric vlinks)
1667 (ospf_nbr_lookup) add a wrapper for nbr lookups to deal with
1668 above.
paulcd59da62004-05-05 17:26:55 +00001669 * ospf_interface.c: (ospf_vl_set_params) Catch changes of interface
1670 address for either end of a virtual-link, and hence potential cost
1671 changes.
1672
hassoa0a39762004-04-23 08:51:10 +000016732004-04-22 Hasso Tepper <hasso@estpak.ee>
1674
1675 * ospf_zebra.c: Don't ignore reject/bh routes, it's the only way
1676 to "summarize" routes in ASBR at the moment.
1677
hasso8585d4e2004-04-20 17:25:12 +000016782004-04-20 Hasso Tepper <hasso@estpak.ee>
1679
1680 * ospfd.c: Unset NP flag if area is going to be normal or stub.
1681 Fixes UNH OSPF_NSSA.1.2a comment.
1682 * ospf_abr.c: Originate default into stub/nssa area even if
1683 summaries are disabled.
1684 * ospf_zebra.c: Don't attempt to redistribute 127.0.0.0/8.
1685
hassoc266ac72004-04-19 17:31:00 +000016862004-04-19 Hasso Tepper <hasso@estpak.ee>
1687
1688 * ospf_vty.c: Don't warn that export- and import-list can't be
1689 configured to backbone area if they are applied and are working
1690 fine.
1691
hasso128d31d2004-04-04 12:52:33 +000016922004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1693
1694 * ospf_packet.c: Don't drop packets in Solaris x86.
1695 [quagga-dev 1005].
1696
hasso0d85b992004-03-18 19:18:33 +000016972004-03-18 Amir Guindehi <amir@datacore.ch>
1698
1699 * ospf_opaque.c: Attempt to correct the incorrect behavior of
1700 Quagga's ospfd in the special situation that a node's opaque
1701 capability has changed as "ON -> OFF -> ON". [quagga-dev 843].
1702
paul7f352b82004-02-19 19:37:47 +000017032004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
1704
1705 * ospf_abr.c: (ospf_abr_update_aggregate) UNH 3.12b,c, address range
1706 should be configured with the highest cost path within the range,
1707 not lowest.
1708
paul940b01a2004-02-17 20:07:30 +000017092004-02-17 Paul Jakma <paul@dishone.st>
1710
1711 * ospf_zebra.c: (ospf_interface_delete) Do not delete the interface
1712 params, nor the interface structure, if an interface delete
1713 message is received from zebra.
1714 * ospf_interface.c: (ospf_if_delete_hook) Delete the interface
1715 params and interface, ie that which was previously removed in
1716 (ospf_interface_delete) above.
1717
hasso2db3d052004-02-11 21:52:13 +000017182004-02-11 Hasso Tepper <hasso@estpak.ee>
1719 * ospf_interface.c, ospf_zebra.c: Don't attempt to read path->oi->ifp
1720 if oi doesn't exist any more.
1721
hassocb05eb22004-02-11 21:10:19 +000017222004-02-11 Vadim Suraev <vadim.suraev@terayon.com>
1723 * ospf_packet.c (ospf_ls_upd): Router should flush received network
1724 LSA if it was originated with older router-id ([zebra 14710] #6).
1725
17262003-12-08 Mattias Amnefelt <mattiasa@kth.se>
paul239aecc2003-12-08 10:34:54 +00001727
1728 * ospf_packet.c: (ospf_recv_packet) OpenBSD now leaves iph.ip_len
1729 network byte order.
1730
gdt8f40e892003-12-05 14:01:43 +000017312003-12-05 Greg Troxel <gdt@poblano.ir.bbn.com>
1732
1733 * ospfd.c (ospf_network_match_iface): Rewrite code for clarity
1734 while trying not to change semantics. Add ifdefed-out code to
1735 avoid matching ppp interfaces whose destination address does not
1736 also match the prefix under consideration, to help out people with
1737 problems due to as-yet-unfixed bugs with p2p interfaces coming and
1738 going.
1739
paul736d3442003-07-24 23:22:57 +000017402003-07-25 kamatchi soundaram <kamatchi@tdd.sj.nec.com>
1741
1742 * ospf_packet.c (ospf_ls_upd_send_queue_event): get next route
1743 node in body of the loop to avoid chance that route node
1744 is unlocked and deleted before the next iteration tries to
1745 get next route node.
1746
paul0a825c72003-05-24 13:48:16 +000017472003-05-24 Kenji Yabuuchi
1748
1749 * ospf_interface.c(ospf_if_lookup_recv_if): Use the most specific
1750 match for interface lookup.
1751
paul551a8972003-05-18 15:22:55 +000017522003-05-18 Hasso Tepper <hasso@estpak.ee>
paul445f1432003-05-16 19:00:31 +00001753
paul551a8972003-05-18 15:22:55 +00001754 * ospf_vty.c: Show NSSA LSA route info in "show ip ospf database"
1755 output
paul445f1432003-05-16 19:00:31 +00001756
pauld7480322003-05-16 17:31:51 +000017572003-05-16 Hasso Tepper <hasso@estpak.ee>
1758
1759 * ospf_lsa.c: Fix handling of NSSA
1760
paul551a8972003-05-18 15:22:55 +000017612003-04-23 Hasso Tepper <hasso@estpak.ee>
1762
1763 * ospf_vty.c: fix "router xxx" node commands in vtysh
1764
paul445f1432003-05-16 19:00:31 +000017652003-04-19 Hasso Tepper <hasso@estpak.ee>
1766
1767 * {ospf_abr,ospfd}.c: area id's DECIMAL -> ADDRESS
1768 * ospf_routemap.c: sync daemon's route-map commands to have same
1769 syntax.
1770
17712003-04-19 Sergey Vyshnevetskiy <serg@vostok.net>
1772
1773 * ospf_packet.c: Add missing param to zlog
1774 * ospf_flood.c: remove unused vars
1775
17762003-04-17 Denis Ovsienko <zebra@pilot.org.ua>
1777
1778 * ospf_interface.c: fix incorrect memset
1779
paul28a13842003-05-16 20:30:37 +000017802003-04-10 Amir Guindehi <amir@datacore.ch>
paul445f1432003-05-16 19:00:31 +00001781
1782 * ospf_lsa.[ch]: opaque LSA fix, use ospf_lookup.
1783
17842003-04-03 David Watson <dwatson@eecs.umich.edu>
1785
1786 * ospf_lsa.c: byte order fix
1787
paul07661cb2003-03-18 00:03:05 +000017882002-03-17 Amir Guindehi <amir@datacore.ch>
1789
1790 * ospf_apiserver.[ch]: Merge Ralph Keller's OSPFAPI support.
1791 * ospf_api.[ch]: Merge Ralph Keller's OSPFAPI support.
1792 * ospfclient: OSPFAPI demonstration client.
1793
17942003-01-23 Masahiko Endo <endo@suri.co.jp>
1795
1796 * ospf_ism.c: NSM event schedule bug fix.
1797
17982002-10-30 Greg Troxel <gdt@ir.bbn.com>
1799
1800 * ospf_packet.c (ospf_make_md5_digest): MD5 length fix.
1801
paul718e3742002-12-13 20:15:29 +000018022002-10-23 endo@suri.co.jp (Masahiko Endo)
1803
1804 * ospf_opaque.c: Update Opaque LSA patch.
1805
18062002-10-23 Ralph Keller <keller@tik.ee.ethz.ch>
1807
1808 * ospf_vty.c (show_ip_ospf_database): Fix CLI parse.
1809
18102002-10-23 Juris Kalnins <juris@mt.lv>
1811
1812 * ospf_interface.c (ospf_if_stream_unset): When write queue
1813 becomes empty stop write timer.
1814
18152002-10-10 Greg Troxel <gdt@ir.bbn.com>
1816
1817 * ospf_packet.c (ospf_check_md5_digest): Change >= to > to make it
1818 conform to RFC.
1819
18202002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1821
1822 * zebra-0.93 released.
1823
18242002-06-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1825
1826 * ospf_spf.c (ospf_nexthop_calculation): Add NULL set to oi and
1827 check of l2. Reported by: Daniel Drown <dan-zebra@drown.org>
1828 (ospf_lsa_has_link): LSA Length calculation fix. Reported by:
1829 Paul Jakma <paulj@alphyra.ie>.
1830
1831 * ospfd.c (ospf_if_update): Fix nextnode reference bug. Reported
1832 by: juris@mt.lv.
1833
18342002-01-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1835
1836 * ospfd.c: Merge [zebra 11445] Masahiko ENDO's Opaque-LSA support.
1837
18382001-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1839
1840 * ospf_interface.c (ospf_add_to_if): Use /32 address to register
1841 OSPF interface information.
1842 (ospf_delete_from_if): Likewise.
1843
1844 * ospf_zebra.c (ospf_interface_address_delete): Likewise.
1845
18462001-08-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1847
1848 * ospf_zebra.c (ospf_redistribute_unset): When redistribute type
1849 is OSPF, do not unset redistribute flag.
1850
18512001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1852
1853 * zebra-0.92a released.
1854
18552001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1856
1857 * zebra-0.92 released.
1858
18592001-08-12 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1860
1861 * ospfd.c (ospf_config_write): auto-cost reference-bandwidth
1862 configuration display.
1863
18642001-07-24 David Watson <dwatson@eecs.umich.edu>
1865
1866 * ospf_spf.c (ospf_spf_next): Modify ospf_vertex_add_parent to
1867 check for an existing link before connecting the parent and child.
1868 ospf_nexthop_calculation is also modified to check for duplicate
1869 entries when copying from the parent. Finally, ospf_spf_next
1870 removes duplicates when it merges two equal cost candidates.
1871
18722001-07-23 itojun@iijlab.net
1873
1874 * ospfd.c (show_ip_ospf_neighbor): Check ospf_top before use it
1875 [zebra 8549].
1876
18772001-07-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1878
1879 * ospf_packet.c (ospf_write): Remove defined(__OpenBSD__) to make
1880 it work on OpenBSD.
1881
18822001-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1883
1884 * ospf_zebra.c (config_write_ospf_default_metric): Display
1885 default-metric configuration.
1886
18872001-06-18 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1888
1889 * ospf_ia.h (OSPF_EXAMINE_SUMMARIES_ALL): Remove old macros.
1890
18912001-05-28 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1892
1893 * ospf_snmp.c (ospfIfEntry): Fix interface lookup bug to avoid
1894 crush.
1895 (ospfIfMetricEntry): Likewise.
1896
18972001-03-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1898
1899 * ospf_packet.c (ospf_read): Fix typo. Reported by: "Jen B
1900 Lin'Kova" <jen@stack.net>.
1901
19022001-03-15 Gleb Natapov <gleb@nbase.co.il>
1903
1904 * ospf_interface.c (ip_ospf_network): Set interface parameter.
1905 (interface_config_write): Add check for OSPF_IFTYPE_LOOPBACK.
1906
1907 * ospf_zebra.c (ospf_interface_add): Set interface parameter.
1908
19092001-02-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1910
1911 * ospf_packet.c (ospf_recv_packet): Solaris also need to add
1912 (iph.ip_hl << 2) to iph.ip_len.
1913
19142001-02-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1915
1916 * ospfd.h (OSPF_LS_REFRESH_TIME): Fix OSPF_LS_REFRESH_TIME value.
1917 Suggested by: David Watson <dwatson@eecs.umich.edu>.
1918
1919 * ospf_zebra.c (zebra_init): Remove zebra node.
1920
1921 * ospfd.c (ospf_area_range_set): Function name is changed from
1922 ospf_ara_range_cmd.
1923 (ospf_area_range_unset): New function which separated from DEFUN.
1924 New commands are added:
1925 "no area A.B.C.D range A.B.C.D/M advertise"
1926 "no area <0-4294967295> range A.B.C.D/M advertise"
1927 "no area A.B.C.D range A.B.C.D/M not-advertise"
1928 "no area <0-4294967295> range A.B.C.D/M not-advertise"
1929
1930 * ospf_lsa.c (ospf_lsa_more_recent): Fix previous change.
1931
19322001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
1933
1934 * ospf_network.c (ospf_if_add_allspfrouters): Use
1935 setsockopt_multicast_ipv4.
1936 (ospf_if_drop_allspfrouters): Likewise.
1937
1938 * ospf_lsa.c (ospf_router_lsa_install): Add rt_recalc flag.
1939 (ospf_network_lsa_install): Likewise.
1940 (ospf_summary_lsa_install): Likewise.
1941 (ospf_summary_asbr_lsa_install): Likewise.
1942 (ospf_external_lsa_install): Likewise.
1943 (ospf_lsa_install): Call ospf_lsa_different to check this LSA is
1944 new one or not.
1945
19462001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1947
1948 * ospf_zebra.c (ospf_interface_delete): Do not free interface
1949 structure when ospfd receive interface delete message to support
1950 pseudo interface.
1951
19522001-02-01 Dick Glasspool <dick@ipinfusion.com>
1953
1954 * ospfd.c (area_range_notadvertise): Change area range "suppress"
1955 command to "not-advertise".
1956
1957 * ospfd.h (OSPF_LS_REFRESH_TIME): Change OSPF_LS_REFRESH_TIME from
1958 1800 to 60.
1959
1960 * ospf_abr.c (ospf_abr_update_aggregate): When update_aggregate is
1961 updating the area-range, the lowest cost is now saved.
1962
1963 * ospf_lsa.c (ospf_lsa_more_recent): Routing to compare sequence
1964 numbers rather than creating overflow during calculation.
1965
19662001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1967
1968 * zebra-0.91 is released.
1969
19702001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1971
1972 * ospf_packet.c (ospf_db_desc_proc): Do not continue process when
1973 NSM_SeqNumberMismatch is scheduled.
1974 (ospf_ls_req): Free ls_upd when return from this function.
1975 (ospf_ls_upd_timer): When update list is empty do not call
1976 ospf_ls_upd_send(). Suggested by: endo@suri.co.jp (Masahiko
1977 Endo).
1978
19792001-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1980
1981 * ospf_lsa.c (ospf_maxage_flood): Flood LSA when it reaches
1982 MaxAge. RFC2328 Section 14.
1983 (ospf_maxage_lsa_remover): Call above function during removing
1984 MaxAge LSA.
1985
19862001-01-26 Dick Glasspool <dick@ipinfusion.com>
1987
1988 * ospf_flood.c (ospf_flood_through_as): Function is updated for
1989 NSSA Translations now done at ospf_abr.c with no change in P-bit.
1990
1991 * ospf_lsa.c (ospf_get_nssa_ip): Get 1st IP connection for Forward
1992 Addr.
1993 (ospf_install_flood_nssa): Leave Type-7 LSA at Lock Count = 2.
1994
1995 * ospf_ase.c (ospf_ase_calculate_route): Add debug codes.
1996
1997 * ospf_abr.c (ospf_abr_translate_nssa): Recalculate LSA checksum.
1998
1999 * ospf_packet.h (OSPF_SEND_PACKET_LOOP): Added for test packet.
2000
2001 * ospf_dump.c (ospf_lsa_type_msg): Add OSPF_GROUP_MEMBER_LSA and
2002 OSPF_AS_NSSA_LSA.
2003
2004 * ospfd.c (data_injection): Function to inject LSA. This is
2005 debugging command.
2006
20072001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2008
2009 * ospf_route.c (ospf_route_match_same): Remove function.
2010 (ospf_route_match_same_new): Renamed to ospf_route_match_same.
2011
2012 * ospf_zebra.c (ospf_interface_address_delete): Add check for
2013 oi->address. Suggested by Matthew Grant
2014 <grantma@anathoth.gen.nz>.
2015 (ospf_zebra_add): Remove function.
2016 (ospf_zebra_add_multipath): Rename to ospf_zebra_add.
2017
2018 * ospf_interface.c: Remove HAVE_IF_PSEUDO part.
2019
2020 * ospf_zebra.c: Likewise.
2021
20222001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
2023
2024 * ospf_ase.c: Remove OLD_RIB part.
2025
2026 * ospf_route.c: Likewise.
2027
2028 * zebra-0.90 is released.
2029
2030 * ospf_packet.c (ospf_recv_packet): Use ip_len adjestment code to
2031 NetBSD.
2032
20332001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2034
2035 * ospf_route.c (ospf_route_delete): Use
2036 ospf_zebra_delete_multipath.
2037
20382001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
2039
2040 * ospf_interface.c (ospf_if_cleanup): Function name is renamed
2041 from ospf_if_free(). Rewrite whole procudure to support primary
2042 address deletion.
2043
2044 * ospf_zebra.c (ospf_interface_address_delete): Add primary
2045 address deletion process.
2046
20472001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
2048
2049 * ospf_packet.c (ospf_recv_packet): OpenBSD has same ip_len
2050 treatment like FreeBSD.
2051
20522001-01-09 endo@suri.co.jp (Masahiko Endo)
2053
2054 * ospf_packet.c (ospf_recv_packet): FreeBSD kernel network code
2055 strips IP header size from receiving IP Packet. So we adjust
2056 ip_len to whole IP packet size by adding IP header size.
2057
20582001-01-08 endo@suri.co.jp (Masahiko Endo)
2059
2060 * ospf_network.c (ospf_serv_sock): When socket() is failed return
2061 immediately.
2062 (ospf_serv_sock): Close socket when it is not used.
2063
2064 * ospf_packet.c (ospf_write): Set sin_len when HAVE_SIN_LEN is
2065 defined.
2066 (ospf_write): When bind is fined, close sock.
2067
20682001-01-07 Gleb Natapov <gleb@nbase.co.il>
2069
2070 * ospf_zebra.c (ospf_interface_state_up): Fixes coredump that
2071 appears when you try to configure bandwidth on the ppp interface
2072 that is not yet configured in ospfd.
2073
20742001-01-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2075
2076 * ospf_route.c (show_ip_ospf_route_external): "show ip ospf route"
2077 will print nexthops for AS-external routes.
2078
2079 * ospf_ase.c (ospf_ase_route_match_same): New function to compare
2080 ASE route under multipath environment.
2081 (ospf_ase_compare_tables): Likewise.
2082
20832001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
2084
2085 * ospfd.h (OSPF_VTYSH_PATH): Change "/tmp/ospfd" to "/tmp/.ospfd".
2086
20872000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2088
2089 * ospf_route.c (ospf_route_install): Install multipath information
2090 to zebra daemon.
2091
2092 * ospf_zebra.c (ospf_zebra_add_multipath): Function for passing
2093 multipath information to zebra daemon.
2094
20952000-12-25 Dick Glasspool <dick@ipinfusion.com>
2096
2097 * ospf_packet.c (ospf_write): Call ospf_packet_delete when sendto
2098 fail.
2099 (DISCARD_LSA): Add argument N for logging point of DISCARD_LSA is
2100 called.
2101
2102 * ospf_lsa.c (ospf_external_lsa_refresh): NSSA install_flood will
2103 leave Type-7 LSA at Lock Count = 2.
2104
2105 * ospf_flood.c (ospf_flood_through): Flood_though_as updated for
2106 NSSA no P-bit off during Area flooding, but P-bit is turned off
2107 for mulitple NSSA AS flooding.
2108
2109 * ospf_ase.c (ospf_ase_calculate_timer): Added calculations for
2110 Type-7 LSDB.
2111
2112 * ospf_abr.c (ospf_abr_translate_nssa): Removed one unlock call.
2113 (ospf_abr_announce_nssa_defaults): Corrected Debug from EVENT to
2114 NSSA.
2115
21162000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2117
2118 * ospf_zebra.c (ospf_zebra_read_ipv4): Checking the age of the
2119 found LSA and if the LSA is MAXAGE we should call refresh instead
2120 of originate.
2121
21222000-12-18 Dick Glasspool <dick@ipinfusion.com>
2123
2124 * ospf_abr.c: Removed redundant "...flood" in
2125 announce_network_to_area(). Repaired nssa Unlock by using
2126 discard.
2127
2128 * ospf_packet.c: Removed old NSSA translate during mk_ls_update.
2129
2130 * ospfd.c: Free up all data bases including NSSA.
2131
2132 * ospf_lsa.c: Now allow removal of XLATE LSA's Check in
2133 discard_callback. Added routine to get ip addr from within the
2134 ifp.
2135
2136 * ospf_flood.c: Now set Forward Address for outgoing Type-7.
2137
2138 * ospf_lsa.h: Added prototype for the below. struct in_addr
2139 ospf_get_ip_from_ifp (struct interface *ifp).
2140
21412000-12-14 Gleb Natapov <gleb@nbase.co.il>
2142
2143 * ospf_packet.c (ospf_recv_packet): New OSPF pakcet read method.
2144 Now maximum packet length may be 65535 bytes (maximum IP packet
2145 length).
2146
2147 * ospf_interface.c (ospf_if_stream_set): Don't make input buffer.
2148
2149 * ospfd.c (config_write_network_area): Remove unnecessary area
2150 lookup code.
2151
21522000-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2153
2154 * ospf_packet.c (ospf_read): Accept packet bigger than MTU value.
2155
21562000-12-13 Gleb Natapov <gleb@nbase.co.il>
2157
2158 * ospfd.c (config_write_network_area): Fix bug in
2159 config_write_network_area function.
2160
21612000-12-12 Gleb Natapov <gleb@nbase.co.il>
2162
2163 * ospf_abr.c (ospf_abr_announce_network_to_area): Make Summary
2164 LSA's origination and refreshment as same as other type of LSA.
2165
2166 * ospf_lsa.c (ospf_summary_lsa_refresh): Return struct ospf_lsa *.
2167
2168 * ospf_lsa.c (ospf_summary_asbr_lsa_refresh): Likewise.
2169
21702000-12-08 Dick Glasspool <dick@ipinfusion.com>
2171
2172 The bulk of NSSA changes are contained herein; This version will
2173 require manual setting of "always" for NSSA Translator, and will
2174 not perform aggregation yet.
2175
2176 * ospf_dump.c: "debug ospf nssa" is added.
2177
2178 * ospf_dump.h: Likewise.
2179
2180 * ospf_packet.c (ospf_hello): Display router ID on Bad NSSA Hello.
2181
2182 * ospfd.c: Discard_LSA to stay away from LOCAL_XLT Process NSSA
2183 'never, candidate, always'. Change "suppress" to "not-advertise".
2184
2185 * ospfd.h: Add TranslatorRole to struct ospf_area. Add anyNSSA to
2186 struct ospf.
2187
2188 * ospf_ase.c (ospf_ase_calculate_route): External to stay away
2189 from LOCAL_XLT
2190
2191 * ospf_nsm.c (ospf_db_summary_add): External to stay away from
2192 LOCAL_XLT
2193
2194 * ospf_abr.c: Major logic added for abr_nssa_task(). If ABR, and
2195 NSSA translator, then do it. Approve the global list, and flush
2196 any unapproved.
2197
2198 * ospf_lsa.h: New LSA flag OSPF_LSA_LOCAL_XLT to indicate that the
2199 Type-5 resulted from a Local Type-7 translation; not used for
2200 flooding, but used for flushing.
2201
2202 * ospf_flood.c: New NSSA flooding.
2203
22042000-12-08 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2205
2206 * ospfd.c (ospf_find_vl_data): New function for looking up virtual
2207 link data.
2208 (ospf_vl_set_security): Virtual link configuration with
2209 authentication.
2210 (ospf_vl_set_timers): Set timers for virtual link.
2211
2212 * New commands are added.
2213 "area A.B.C.D virtual-link A.B.C.D"
2214 "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>"
2215 "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"
2216 "area A.B.C.D virtual-link A.B.C.D authentication-key AUTH_KEY"
2217 "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"
2218 "area A.B.C.D virtual-link A.B.C.D message-digest-key <1-255> md5 KEY"
2219
2220 * ospf_packet.c (ospf_check_md5_digest): Add neighbor's
2221 cryptographic sequence number treatment.
2222 (ospf_check_auth): OSPF input buffer is added to argument.
2223 (ospf_read): Save neighbor's cryptographic sequence number.
2224
2225 * ospf_nsm.c (nsm_change_status): Clear cryptographic sequence
2226 number when neighbor status is changed to NSM down.
2227
2228 * ospf_neighbor.c (ospf_nbr_new): Set zero to crypt_seqnum.
2229
2230 * ospf_neighbor.h (struct ospf_neighbor): Add cryptographic
2231 sequence number to neighbor structure.
2232
22332000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2234
2235 * ospf_snmp.c (ospfIfLookup): OSPF MIB updates.
2236 (ospfExtLsdbEntry): Add OspfExtLsdbTable treatment.
2237
22382000-11-28 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2239
2240 * ospfd.c (ospf_interface_down): Clear a ls_upd_queue queue of the
2241 interface.
2242 (ospf_ls_upd_queue_empty): New function to empty ls update queue
2243 of the OSPF interface.
2244 (no_router_ospf): 'no router ospf' unregister redistribution
2245 requests from zebra.
2246
22472000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
2248
2249 * ospf_ism.c (ism_change_status): Increment status change number.
2250
2251 * ospf_interface.h (struct ospf_interface): Add new member for
2252 status change statistics.
2253
2254 * Makefile.am: Update dependencies.
2255
2256 * ospf_zebra.c (ospf_interface_add): OSPF SNMP interface update.
2257 (ospf_interface_delete): OSPF SNMP interface delete.
2258
2259 * ospf_snmp.h: New file is added.
2260
22612000-11-23 Dick Glasspool <dick@ipinfusion.com>
2262
2263 * ospfd.h: Add new ospf_area structure member for
2264 NSSATranslatorRole and NSSATranslator state.
2265
2266 * ospfd.c: Provided for eventual commands to specify NSSA
2267 elections for "translator- ALWAYS/NEVER/CANDIDATE". Provided for
2268 decimal integer version of area-suppress.
2269
2270 * ospf_flood.c: Flood Type-7's only into NSSA (not AS).
2271
2272 * ospf_lsa.c: Undo some previous changes for NSSA. If NSSA
2273 translator, advertise Nt bit.
2274
2275 * ospf_route.c: 1st version of "sh ip os border-routers".
2276
22772000-11-23 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2278
2279 * ospfd.c (area_vlink): Virtual link can not configured in stub
2280 area.
2281
22822000-11-23 Gleb Natapov <gleb@nbase.co.il>
2283
2284 * ospf_packet.c (ospf_db_desc): In states Loading and Full the
2285 slave must resend its last Database Description packet in response
2286 to duplicate Database Description packets received from the
2287 master. For this reason the slave must wait RouterDeadInterval
2288 seconds before freeing the last Database Description packet.
2289 Reception of a Database Description packet from the master after
2290 this interval will generate a SeqNumberMismatch neighbor
2291 event. RFC2328 Section 10.8
2292 (ospf_make_db_desc): DD Master flag treatment.
2293
2294 * ospf_nsm.c (nsm_twoway_received): Move DD related procedure to
2295 nsm_change_status().
2296 (nsm_bad_ls_req): Likewise.
2297 (nsm_adj_ok): Likewise.
2298 (nsm_seq_number_mismatch): Likewise.
2299 (nsm_oneway_received): Likewise.
2300
2301 * ospf_neighbor.h (struct ospf_neighbor): New structure member
2302 last_send_ts for timestemp when last Database Description packet
2303 was sent.
2304
2305 * ospf_nsm.c (ospf_db_desc_timer): Make it sure nbr->last_send is
2306 there. Call ospf_db_desc_resend() in any case.
2307
23082000-11-16 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2309
2310 * ospf_lsa.c (lsa_link_broadcast_set): When there is no DR on
2311 network (suppose you have only one router with interface priority
2312 0). It's router LSA does not contain the link information about
2313 this network.
2314
2315 * ospf_nsm.c (nsm_timer_set): When you change a priority of
2316 interface from/to 0 ISM_NeighborChange event should be scheduled
2317 in order to elect new DR/BDR on the network.
2318
2319 * ospf_interface.c (ip_ospf_priority): Likewise.
2320
2321 * ospf_flood.c (ospf_ls_retransmit_add): When we add some LSA into
2322 retransmit list we need to check whether the present old LSA in
2323 retransmit list is not more recent than the new
2324 one.
2325
23262000-11-09 Dick Glasspool <dick@ipinfusion.com>
2327
2328 * ospf_packet.c: Allows for NSSA Type-7 LSA's throughout the NSSA
2329 area. Any that exit the NSSA area are translated to type-5 LSA's.
2330 The instantiated image is restored after translation.
2331 (ospf_ls_upd_send_list): Renamed to ospf_ls_upd_queu_send().
2332 (ospf_ls_upd_send): Old function which enclosed by #ifdef 0 is
2333 removed.
2334 (ospf_ls_ack_send): Likewise.
2335
2336 * ospf_flood.c: NSSA-LSA's without P-bit will be restricted to
2337 local area. Otherwise they are allowed out the area to be
2338 translated by ospf_packet.c.
2339
2340 * ospf_lsa.c: Undo some previous changes for NSSA.
2341
2342 * ospf_lsdb.h: New access for type 7.
2343
23442000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
2345
2346 * ospf_route.c (ospf_path_exist): New function to check nexthop
2347 and interface are in current OSPF path or not.
2348 (ospf_route_copy_nexthops_from_vertex): Add nexthop to OSPF path
2349 when it is not there. Reported by Michael Rozhavsky
2350 <mrozhavsky@opticalaccess.com>
2351
23522000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2353
2354 * ospf_dump.c (config_write_debug): Add seventh string "detail" is
2355 added for flag is OSPF_DEBUG_SEND | OSPF_DEBUG_RECV |
2356 OSPF_DEBUG_DETAIL.
2357
23582000-11-06 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
2359
2360 * ospf_lsa.c (router_lsa_flags): ASBR can't exit in stub area.
2361
23622000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
2363
2364 * ospf_lsa.c (ospf_router_lsa_originate): Reduce unconditional
2365 logging.
2366
23672000-11-06 Dick Glasspool <dick@ipinfusion.com>
2368
2369 * ospfd.h: Add ait_ntoa function prototype.
2370
2371 * ospfd.c (ait_ntoa): New function for displaying area ID and
2372 Stub/NSSA status.
2373 (show_ip_ospf_interface_sub): Use ait_ntoa.
2374 (show_ip_ospf_nbr_static_detail_sub): Likewise.
2375 (show_ip_ospf_neighbor_detail_sub): Likewise.
2376
2377 * ospf_route.c (ospf_intra_route_add): Set external routing type
2378 to ospf route.
2379 (ospf_intra_add_router): Likewise.
2380 (ospf_intra_add_transit): Likewise.
2381 (ospf_intra_add_stub): Likewise.
2382 (ospf_add_discard_route): Likewise.
2383 (show_ip_ospf_route_network): Use ait_ntoa.
2384 (show_ip_ospf_route_network): Likewise.
2385 (show_ip_ospf_route_router): Likewise.
2386
2387 * ospf_lsa.c (show_lsa_detail): Use ait_ntoa.
2388 (show_lsa_detail_adv_router): Likewise.
2389 (show_ip_ospf_database_summary): Likewise.
2390
2391 * ospf_route.h (struct route_standard): Add new member
2392 external_routing.
2393
2394 * ospf_ia.c (process_summary_lsa): Set external routing tyep to ospf
2395 route.
2396 (ospf_update_network_route): Likewise.
2397 (ospf_update_router_route): Likewise.
2398
23992000-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
2400
2401 * ospf_flood.c (ospf_process_self_originated_lsa): Enclose
2402 OSPF_AS_NSSA_LSA treatment with #ifdef HAVE_NSSA.
2403
24042000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2405
2406 * Unconditional logging is enclosed with if (IS_DEBUG_OSPF_EVENT).
2407 Please specify "debug ospf event" for enable logging.
2408
2409 * ospf_ism.c: Do not extern debug flag varible. It is done by
2410 ospf_debug.h
2411 * ospf_asbr.c: Likewise.
2412 * ospf_lsa.c: Likewise.
2413 * ospf_nsm.c: Likewise.
2414 * ospf_zebra.c: Likewise.
2415
2416 * ospf_dump.c (debug_ospf_event): New command "debug ospf event"
2417 is added.
2418
2419 * ospfd.c (router_ospf): Change logging from vty_out() to
2420 zlog_info().
2421 (ospf_area_stub_cmd): Likewise.
2422
2423 * ospf_dump.h: Extern term_debug flags.
2424 (OSPF_DEBUG_EVENT): Add new flag.
2425 (IS_DEBUG_OSPF_EVENT): Add new macro.
2426
24272000-11-03 Dick Glasspool <dick@ipinfusion.com>
2428
2429 * ospf_flood.c (ospf_process_self_originated_lsa):
2430 OSPF_AS_NSSA_LSA is treated as same as OSPF_AS_EXTERNAL_LSA.
2431 (ospf_flood): Type-5's have no change. Type-7's can be received,
2432 and will Flood the AS as Type-5's They will also flood the local
2433 NSSA Area as Type-7's. The LSDB will be updated as Type-5's, and
2434 during re-fresh will be converted back to Type-7's (if within an
2435 NSSA).
2436 (ospf_flood_through): Incoming Type-7's were allowed here if our
2437 neighbor was an NSSA. So Flood our area with the Type-7 and also
2438 if we are an ABR, flood thru AS as Type-5.
2439
2440 * ospf_lsa.c (ospf_external_lsa_refresh): Flood NSSA both NSSA
2441 area and other area.
2442
2443 * ospf_packet.c (ospf_db_desc_proc): When AS External LSA is
2444 exists in DD packet, make it sure that this area is not stub.
2445 (ospf_ls_upd_list_lsa): When LSA type is NSSA then set lsa's area
2446 to NULL.
2447 (ospf_ls_upd): If the LSA is AS External LSA and the area is stub
2448 then discard the lsa. If the LSA is NSSA LSA and the area is not
2449 NSSA then discard the lsa.
2450
24512000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
2452
2453 * ospfd.c (ospf_interface_run): Fix bug of Hello packet's option
2454 is not properly set when interface comes up.
2455
24562000-11-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2457
2458 * ospfd.h (OSPF_OPTION_O): Add new hello header option.
2459
24602000-11-01 Dick Glasspool <dick@ipinfusion.com>
2461
2462 * ospf_lsa.h: Define OSPF_MAX_LSA to 8 when HAVE_NSSA is enabled.
2463 (OSPF_GROUP_MEMBER_LSA): Define OSPF_GROUP_MEMBER_LSA.
2464
2465 * ospf_lsa.c (show_database_desc): Add "Group Membership LSA"
2466 string.
2467
24682000-10-31 Dick Glasspool <dick@ipinfusion.com>
2469
2470 * ospf_lsa.h (OSPF_AS_NSSA_LSA): Define OSPF_AS_NSSA_LSA.
2471
2472 * ospf_lsa.c (show_ip_ospf_database): NSSA database display
2473 function is added. ALIASES which have "show ip ospf database
2474 nssa-external" is added.
2475 (show_ip_ospf_border_routers): New command "show ip ospf
2476 border-routers" is added.
2477
24782000-10-30 Dick Glasspool <dick@ipinfusion.com>
2479
2480 * ospfd.c (router_ospf): NSSA Enabled message is added for
2481 testing.
2482 (ospf_area_type_set): Are type set for NSSA area.
2483 (ospf_area_stub_cmd): Special translation of no_summary into NSSA
2484 and summary information. If NSSA is enabled pass the information
2485 to ospf_area_type_set().
2486 (area_nssa): New commands are added:
2487 "area A.B.C.D nssa"
2488 "area <0-4294967295> nssa"
2489 "area A.B.C.D nssa no-summary"
2490 "area <0-4294967295> nssa no-summary"
2491 (ospf_no_area_stub_cmd): Special translation of no_summary into
2492 NSSA and summary information. If external_routing is
2493 OSPF_AREA_NSSA unset area with ospf_area_type_set (area,
2494 OSPF_AREA_DEFAULT).
2495 (show_ip_ospf_area): Display NSSA status.
2496 (config_write_ospf_area): Show NSSA configuration.
2497
2498 * ospf_packet.c (ospf_hello): For NSSA support, ensure that NP is
2499 on and E is off.
2500
25012000-10-26 Gleb Natapov <gleb@nbase.co.il>
2502
2503 * ospf_lsa.c (ospf_network_lsa_body_set): The network-LSA lists
2504 those routers that are fully adjacent to the Designated Router;
2505 each fully adjacent router is identified by its OSPF Router ID.
2506 The Designated Router includes itself in this list. RFC2328,
2507 Section 12.4.2.
2508
25092000-10-23 Jochen Friedrich <jochen@scram.de>
2510
2511 * ospf_snmp.c: ospf_oid and ospfd_oid are used in smux_open after
2512 it is registered. So those variables must be static.
2513
25142000-10-18 K N Sridhar <sridhar@euler.ece.iisc.ernet.in>
2515
2516 * ospfd.c: Add area_default_cost_decimal_cmd and
2517 no_area_default_cost_decimal_cmd alias.
2518
25192000-10-05 Gleb Natapov <gleb@nbase.co.il>
2520
2521 * ospfd.c (ospf_network_new): Fix setting area format.
2522 (no_router_ospf): Check area existance when calling
2523 ospf_interface_down().
2524
2525 * ospf_flood.c (ospf_external_info_check): Fix bug of refreshing
2526 default route.
2527
25282000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
2529
2530 * zebra-0.89 is released.
2531
25322000-09-29 Kunihiro Ishiguro <kunihiro@zebra.org>
2533
2534 * ospf_snmp.c (ospfHostEntry): OSPF Host MIB is implemented.
2535
2536 * ospfd.c (ospf_nbr_static_cmp): OSPF neighbor is sorted by it's
2537 address.
2538
25392000-09-28 Michael Rozhavsky <mike@nbase.co.il>
2540
2541 * ospf_interface.c (ospf_if_free): Fix deleting self neighbor twice.
2542
25432000-09-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2544
2545 * ospf_packet.c (ospf_read): Solaris on x86 has ip_len with host
2546 byte order.
2547
25482000-09-25 Toshiaki Takada <takada@zebra.org>
2549
2550 * ospfd.c (ospf_compatible_rfc1583), (no_ospf_compatible_rfc1583):
2551 Add CISCO compatible command.
2552
25532000-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2554
2555 * ospf_abr.c (ospf_area_range_lookup): New function is added for
2556 area range lookup in OSPF-MIB.
2557 (ospf_area_range_lookup_next): Likewise.
2558
25592000-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
2560
2561 * ospfd.c (no_router_ospf): Delete virtual link before deleting
2562 area structure.
2563
2564 * ospf_lsa.c (ospf_external_lsa_refresh_type): Check
2565 EXTERNAL_INFO(type).
2566
2567 * ospfd.c (no_router_ospf): Call ospf_vl_delete() instead of
2568 ospf_vl_data_free().
2569
2570 * ospf_interface.c (ospf_vl_shutdown): Execute ISM_InterfaceDown
2571 when ospf_vl_shutdown is called.
2572 (ospf_vl_delete): Call ospf_vl_shutdown() to delete virtual link
2573 interface's thread.
2574
25752000-09-21 Gleb Natapov <gleb@nbase.co.il>
2576
2577 * ospf_lsa.c: New implementation of OSPF refresh.
2578
25792000-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
2580
2581 * ospf_snmp.c (ospfLsdbLookup): Add LSDB MIB implementation.
2582
25832000-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
2584
2585 * ospf_snmp.c (ospfStubAreaEntry): Add OSPF stub area MIB.
2586
25872000-09-18 Gleb Natapov <gleb@nbase.co.il>
2588
2589 * ospf_route.h (route_standard): Change member from `struct area'
2590 to area_id.
2591
2592 * ospf_abr.c (ospf_abr_announce_network), (ospf_abr_should_announce),
2593 (ospf_abr_process_network_rt), (ospf_abr_announce_rtr),
2594 (ospf_abr_process_router_rt):
2595 * ospf_ase.c (ospf_find_asbr_route),
2596 (ospf_find_asbr_router_through_area),
2597 * ospf_ia.c (ospf_find_abr_route), (ospf_ia_router_route),
2598 (process_summary_lsa), (ospf_update_network_route),
2599 (ospf_update_router_route):
2600 * ospf_route.c (ospf_intra_route_add), (ospf_intra_add_router),
2601 (ospf_intra_add_transit), (ospf_intra_add_stub),
2602 (ospf_route_table_dump), (show_ip_ospf_route_network),
2603 (show_ip_ospf_route_router), (ospf_asbr_route_cmp),
2604 (ospf_prune_unreachable_routers):
2605 * ospf_spf.c (ospf_rtrs_print):
2606 * ospfd.c (ospf_rtrs_free): Fix the struct change above.
2607
26082000-09-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2609
2610 * ospf_network.c (ospf_serv_sock_init): Enclose SO_BINDTODEVICE
2611 with ifdef.
2612
26132000-09-13 Gleb Natapov <gleb@nbase.co.il>
2614
2615 * ospf_ism.c (ospf_elect_dr), (ospf_elect_bdr): Fix DR election.
2616
2617 * ospf_network.c (ospf_serv_sock_init): Add socket option
2618 SO_BINDTODEVICE on read socket.
2619
2620 * ospf_packet.c (ospf_hello): Ignore Hello packet if E-bit does
2621 not match.
2622
2623 * ospfd.c (ospf_area_check_free), (ospf_area_get),
2624 (ospf_area_add_if): New function added.
2625
26262000-09-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2627
2628 * ospf_route.c (ospf_intra_add_router): Update ABR and ASBR router
2629 count.
2630
2631 * ospf_spf.c (ospf_spf_init): Rest ABR and ASBR router count
2632 starting SPF calculation.
2633
2634 * ospfd.h (struct ospf_area): Add ABR and ASBR router count.
2635
26362000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2637
2638 * ospfd.c (ospf_area_id_cmp): New area structure is sorted by area
2639 ID.
2640
2641 * ospf_lsa.c (ospf_router_lsa_originate): For OSPF MIB update
2642 lsa_originate_count.
2643 (ospf_network_lsa_originate): Likewise.
2644 (ospf_summary_lsa_originate): Likewise.
2645 (ospf_summary_asbr_lsa_originate): Likewise.
2646 (ospf_external_lsa_originate): Likewise.
2647
26482000-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
2649
2650 * ospf_snmp.c (ospf_variables): ospfRouterID's type RouterID
2651 syntax is IpAddress.
2652 (ospf_admin_stat): New function for OSPF administrative status
2653 check.
2654
26552000-09-10 Jochen Friedrich <jochen@scram.de>
2656
2657 * ospf_snmp.c: Implement OSPF MIB skeleton.
2658
26592000-09-08 Kunihiro Ishiguro <kunihiro@zebra.org>
2660
2661 * ospf_snmp.c: New file is added.
2662
26632000-09-07 David Lipovkov <davidl@nbase.co.il>
2664
2665 * ospf_zebra.c (ospf_interface_delete): Add pseudo interface
2666 treatment.
2667
2668 * ospf_interface.c (interface_config_write): Likewise.
2669
26702000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2671
2672 * zebra-0.88 is released.
2673
26742000-08-17 Michael Rozhavsky <mike@nbase.co.il>
2675
2676 * ospfd.c (ospf_area_free): Remove virtual link configuration only
2677 when Area is removed.
2678
26792000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2680
2681 * ospfd.c (network_area): Revert check for EXTERNAL_INFO
2682 (ZEBRA_ROUTE_CONNECT).
2683 (no_network_area): Likewise.
2684
26852000-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
2686
2687 * ospfd.h (struct ospf): Add distance_table and
2688 distance_{all,intra,inter,external}.
2689
2690 * ospf_zebra.c: Add OSPF distance related functions.
2691
26922000-08-15 Gleb Natapov <gleb@nbase.co.il>
2693
2694 * ospf_asbr.c (ospf_external_info_find_lsa): New function added.
2695
2696 * ospf_lsa.c (ospf_default_external_info),
2697 (ospf_default_originate_timer), (ospf_external_lsa_refresh_default):
2698 New function added.
2699
2700 * ospf_zebra.c
2701 (ospf_default_information_originate_metric_type_routemap),
2702 (ospf_default_information_originate_always_metric_type_routemap):
2703 Change name and add route-map function.
2704 (ospf_default_information_originate_metric_routemap),
2705 (ospf_default_information_originate_routemap),
2706 (ospf_default_information_originate_type_metric_routemap):
2707 New DEFUN added.
2708
27092000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2710
2711 * ospf_zebra.c (zebra_interface_if_set_value): Change ifindex
2712 restore size from two octet to four.
2713
27142000-08-14 Michael Rozhavsky <mike@nbase.co.il>
2715
2716 * ospf_ase.c (ospf_ase_incremental_update): Implement incremental
2717 AS-external-LSA in 16.6 of RFC2328.
2718
27192000-08-14 Matthew Grant <grantma@anathoth.gen.nz>
2720
2721 * ospf_interface.c (ospf_if_get_output_cost): Change cost
2722 calculation algorithm.
2723
2724 * ospf_packet (ospf_ls_upd): Fix problem of LSA retransmitting.
2725
27262000-08-11 Michael Rozhavsky <mike@nbase.co.il>
2727
2728 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix maxage remover for
2729 AS-external-LSAs.
2730
27312000-08-10 Toshiaki Takada <takada@zebra.org>
2732
2733 * ospfd.c (auto_cost_reference_bandwidth): New DEFUN added.
2734 `auto-cost reference-bandwidth' OSPF router command added.
2735
27362000-08-08 Gleb Natapov <gleb@nbase.co.il>
2737
2738 * ospf_routemap.c (ospf_route_map_update): New function added.
2739 Add route-map event hook.
2740
27412000-08-08 Toshiaki Takada <takada@zebra.org>
2742
2743 * ospf_zebra.c (ospf_distribute_check_connected): If redistribute
2744 prefix is connected route on OSPF enabled interface, suppress to
2745 announce it.
2746
27472000-08-08 Matthew Grant <grantma@anathoth.gen.nz>
2748
2749 * ospf_interface.c (ospf_if_get_output_cost):
2750 New function added. Handle bandwidth parameter for cost
2751 calculation.
2752
27532000-08-08 Michael Rozhavsky <mike@nbase.co.il>
2754
2755 * ospf_interface.c (interface_config_write): Show interface
2756 configuration regardless interface is down.
2757
2758 * ospf_ase.c (ospf_ase_caocluate_route): Whole rewritten external
2759 route calculate function.
2760
27612000-08-08 Gleb Natapov <gleb@nbase.co.il>
2762
2763 * ospf_routemap.c: New file added.
2764
2765 * ospf_asbr.c (ospf_reset_route_map_set_values),
2766 (ospf_route_map_set_compare): New function added.
2767
2768 * ospf_lsa.c (ospf_external_lsa_body_set): Set routemap metric
2769 with AS-external-LSA.
2770
27712000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2772
2773 * ospf_ase.c (ospf_ase_calculate_route_add): Pass new->cost to
2774 ospf_zebra_add as metric.
2775 (ospf_ase_calculate_route_add): Likewise.
2776
2777 * ospf_route.c (ospf_route_install): Pass or->cost to
2778 ospf_zebra_add as metric.
2779
2780 * ospf_zebra.c (ospf_zebra_add): Add metric arguemnt.
2781 (ospf_zebra_delete): Likewise.
2782
27832000-08-03 Matthew Grant <grantma@anathoth.gen.nz>
2784
2785 * ospf_flood.c (ospf_flood_delayed_lsa_ack): New function added.
2786 Dispatch delayed-ACK with flooding AS-external-LSA across virtual
2787 link.
2788
27892000-07-31 Matthew Grant <grantma@anathoth.gen.nz>
2790
2791 * ospfd.c (show_ip_ospf_area): Fix lack of VTY_NEWLINE when
2792 `show ip ospf'.
2793
2794 * ospf_interface.c (ospf_if_free): Fix bug of crash with
2795 Point-to-Point interface.
2796
27972000-07-27 Michael Rozhavsky <mike@nbase.co.il>
2798
2799 * ospf_flood.c (ospf_process_self_originated_lsa):
2800 Make sure to clear LSA->param (redistributed external information)
2801 before refreshment.
2802
28032000-07-27 Gleb Natapov <gleb@nbase.co.il>
2804
2805 * ospfd.c (refresh_group_limit), (refresh_per_slice),
2806 (refresh_age_diff): New defun added. Refresher related parameter
2807 can be configurable.
2808
28092000-07-27 Akihiro Mizutani <mizutani@dml.com>
2810
2811 * ospf_interface.c (interface_config_write): Print `description'
2812 config directive to work.
2813
28142000-07-24 Akihiro Mizutani <mizutani@dml.com>
2815
2816 * ospf_interface.c (ospf_if_init): Use install_default for
2817 INTERFACE_NODE.
2818
28192000-07-24 Gleb Natapov <gleb@nbase.co.il>
2820
2821 * ospf_packet.c (ospf_ls_upd_send_list), (ospf_ls_upd_send_event),
2822 (ospf_ls_ack_send_list), (ospf_ls_ack_send_event): New function added.
2823 This make sending always as many LS update/Ack combined in one ospf
2824 packet.
2825
28262000-07-24 Gleb Natapov <gleb@nbase.co.il>
2827
2828 * ospf_packet.c (ospf_ls_upd_list_lsa): Set NULL to lsa->area if
2829 LSA is AS-external-LSA.
2830
2831 * ospf_nsm.c (nsm_reset_nbr): Do not cancel Inactivity timer.
2832
28332000-07-21 Toshiaki Takada <takada@zebra.org>
2834
2835 * ospf_zebra.c (ospf_default_originate_timer): Set timer for
2836 `default-information originate'. Fix some default originate
2837 related functions.
2838
28392000-07-12 Toshiaki Takada <takada@zebra.org>
2840
2841 * ospf_lsa.c (stream_put_ospf_metric): New function added.
2842
28432000-07-12 Toshiaki Takada <takada@zebra.org>
2844
2845 * ospf_lsa.c (show_ip_ospf_database_router),
2846 (show_ip_ospf_database_network), (show_ip_ospf_database_summary),
2847 (show_ip_ospf_database_summary_asbr), (show_ip_ospf_database_externel),
2848 (show_router_lsa), (show_any_lsa), (show_router_lsa_self),
2849 (show_any_lsa_self): Functions removed.
2850
2851 (show_lsa_prefix_set), (show_lsa_detail_proc), (show_lsa_detail),
2852 (show_lsa_detail_adv_router_proc), (show_lsa_detail_adv_router):
2853 New functions added. Replace above functions.
2854
2855 (show_ip_ospf_database_all), (show_ip_ospf_database_self_originated):
2856 Functions removed.
2857 (show_ip_ospf_database_summary): New functions added. Replace
2858 above functions.
2859
2860 (show_ip_ospf_database_cmd): DEFUN rearranged.
2861 (show_ip_ospf_database_type_id_cmd),
2862 (show_ip_ospf_database_type_id_adv_router_cmd),
2863 (show_ip_ospf_database_type_is_self_cmd): New ALIASes added.
2864 (show_ip_ospf_database_type_adv_rotuer_cmd): New DEFUN added.
2865 (show_ip_ospf_database_type_self_cmd): New ALIAS added.
2866
28672000-07-11 Toshiaki Takada <takada@zebra.org>
2868
2869 * ospf_asbr.c (ospf_external_info_new),
2870 (ospf_external_info_free): New functions added.
2871
2872 * ospf_lsa.h (ospf_lsa): Add new member `void *param' to set
2873 origination parameter for external-LSA.
2874 Remove member `redistribute'.
2875
2876 * ospf_zebra.c (ospf_redistirbute_set): When `redistribute'
2877 command executed, metric and metric-type values are overridden.
2878 If one of those is changed refresh AS-external-LSAs for appropriate
2879 type.
2880
28812000-07-11 Michael Rozhavsky <mike@nbase.co.il>
2882
2883 * ospf_lsa.c (ospf_summary_lsa_refresh),
2884 (ospf_summary_asbr_lsa_refresh): Make sure to refresh summary-LSAs.
2885
2886 * ospf_abr.c (set_metric): New function added.
2887
28882000-07-07 Toshiaki Takada <takada@zebra.org>
2889
2890 * ospf_zebra.c (ospf_default_information_originate_metric_type),
2891 (ospf_default_information_originate_type_metric): New defun added.
2892 Metic and Metric type can be set to default route.
2893 (ospf_default_information_originate_always_metric_type):
2894 (ospf_default_information_originate_always_type_metric):
2895 New defun added. Metric and Metric type can be set to default
2896 always route.
2897
2898 * ospf_zebra.c (ospf_default_metric), (no_ospf_default_metric):
2899 New defun added.
2900
29012000-07-06 Gleb Natapov <gleb@nbase.co.il>
2902
2903 * ospf_flood.c (ospf_flood_through_area): Fix bug of considering
2904 on the same interface the LSA was received from.
2905
29062000-07-06 Michael Rozhavsky <mike@nbase.co.il>
2907
2908 * ospfd.c (ospf_config_write): Fix bug of printing `area stub'
2909 command with `write mem'.
2910
2911 * ospfd.c (no_router_ospf): Remove installed routes from zebra.
2912
2913 * ospf_zebra.c (ospf_interface_delete): Fix function to handle
2914 zebra interface delete event.
2915
29162000-07-06 Toshiaki Takada <takada@zebra.org>
2917
2918 * ospf_zebra.c (ospf_default_information_originate),
2919 (ospf_default_information_originate_always): New DEFUN added.
2920
29212000-07-05 Michael Rozhavsky <mike@nbase.co.il>
2922
2923 * ospf_route.c (ospf_terminate): Make sure to remove external route
2924 when SIGINT received.
2925
29262000-07-03 Gleb Natapov <gleb@nbase.co.il>
2927
2928 * ospf_flood.c, ospf_ism.c, ospf_lsa,c, ospfd.c: Make sure to free
2929 many structure with `no router ospf'.
2930
29312000-06-30 Gleb Natapov <gleb@nbase.co.il>
2932
2933 * ospf_neighbor.c (ospf_nbr_new),
2934 ospf_nsm.c (nsm_timer_set): Start LS update timer only
2935 when neighbor enters Exchange state.
2936
29372000-06-29 Gleb Natapov <gleb@nbase.co.il>
2938
2939 * ospf_nsm.c (nsm_timer_set), (nsm_exchange_done),
2940 ospf_packet.c (ospf_db_desc_proc):
2941 Do not cancel DD retransmit timer when Master.
2942
29432000-06-29 Gleb Natapov <gleb@nbase.co.il>
2944
2945 * ospf_abr.c (ospf_abr_announce_network_to_area),
2946 (ospf_abr_announce_rtr_to_area)
2947 ospf_ase.c (ospf_ase_rtrs_register_lsa),
2948 ospf_flood.c (ospf_process_self_originated_lsa),
2949 (ospf_flood_through_area), (ospf_ls_request_delete),
2950 ospf_interface.c (ospf_if_free),
2951 ospf_ism.c (ism_change_status),
2952 ospf_lsa.c (ospf_router_lsa_update_timer),
2953 (ospf_router_lsa_install), (ospf_network_lsa_install),
2954 (ospf_lsa_maxage_delete), (ospf_lsa_action),
2955 (ospf_schedule_lsa_flood_area),
2956 ospf_nsm.c (nsm_change_status),
2957 ospf_packet.c (ospf_make_ls_req_func), (ospf_make_ls_ack):
2958 Use ospf_lsa_{lock,unlock} for all looking-up of LSA.
2959
2960 * ospf_flood.c (ospf_ls_request_free): Function deleted.
2961
2962 * ospf_lsa.c (ospf_discard_from_db): New function added.
2963
29642000-06-26 Toshiaki Takada <takada@zebra.org>
2965
2966 * ospfd.h (ospf): struct member `external_lsa' name changed to
2967 `lsdb'.
2968
29692000-06-26 Toshiaki Takada <takada@zebra.org>
2970
2971 * ospf_lsa.c (ospf_lsa_install), (ospf_router_lsa_install),
2972 (ospf_network_lsa_install), (ospf_summary_lsa_install),
2973 (ospf_summary_asbr_lsa_install), (ospf_external_lsa_install):
2974 Functions re-arranged.
2975
2976 * ospf_lsa.c (IS_LSA_MAXAGE), (IS_LSA_SELF): Macro added.
2977
29782000-06-20 Michael Rozhavsky <mike@nbase.co.il>
2979
2980 * ospf_packet.c (ospf_ls_req), (ospf_ls_upd), (ospf_ls_ack): Add
2981 verification of LS type.
2982
29832000-06-20 Gleb Natapov <gleb@nbase.co.il>
2984
2985 * ospf_ase.c (ospf_ase_calculate_timer): Add more sanity check
2986 whether rn->info is NULL.
2987
29882000-06-20 Toshiaki Takada <takada@zebra.org>
2989
2990 * ospfd.c (show_ip_ospf_interface_sub): Show Router-ID of both
2991 DR and Backup correctly with `show ip ospf interface' command.
2992
29932000-06-20 Toshiaki Takada <takada@zebra.org>
2994
2995 * ospf_lsa.c (ospf_lsa_lock), (ospf_lsa_unlock),
2996 (ospf_lsa_discard): These functions are used for avoiding
2997 unexpected reference to freed LSAs.
2998
29992000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
3000
3001 * ospf_packet.c (ospf_ls_upd): Initialize lsa by NULL to avoid
3002 warning.
3003
30042000-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3005
3006 * ospf_ase.h (ospf_ase_rtrs_register_lsa): Add prototype.
3007
30082000-06-12 Toshiaki Takada <takada@zebra.org>
3009
3010 * ospf_lsa.c (ospf_external_lsa_install): Make sure to register
3011 LSA to rtrs_external when replacing AS-external-LSAs in LSDB.
3012 Fix core dump.
3013
30142000-06-10 Toshiaki Takada <takada@zebra.org>
3015
3016 * ospf_lsdb.c (id_to_prefix), (ospf_lsdb_hash_key),
3017 (ospf_lsdb_hash_cmp), (ospf_lsdb_new), (ospf_lsdb_iterator),
3018 (lsdb_free), (ospf_lsdb_free), (ospf_lsdb_add), (ospf_lsdb_delete),
3019 (find_lsa), (ospf_lsdb_lookup), (find_by_id),
3020 (ospf_lsdb_lookup_by_id), (ospf_lsdb_lookup_by_header): Functinos
3021 removed for migration to new_lsdb.
3022
3023 * ospf_lsa.c (ospf_summary_lsa_install),
3024 (ospf_summary_asbr_lsa_install), (ospf_maxage_lsa_remover),
3025 (ospf_lsa_maxage_walker), (ospf_lsa_lookup),
3026 (ospf_lsa_lookup_by_id): Use new_lsdb instead of ospf_lsdb.
3027 (count_lsa), (ospf_lsa_count_table), (ospf_lsa_count),
3028 (ospf_get_free_id_for_prefix): Funcitions removed.
3029
30302000-06-09 Gleb Natapov <gleb@nbase.co.il>
3031
3032 * ospf_ism.c (ism_interface_down): Prevent some unneeded DR changes.
3033
3034 * ospf_packet.c (ospf_db_desc_proc): Fix memory leak.
3035 (ospf_hello): Always copy router-ID when hello is received.
3036
30372000-06-08 Gleb Natapov <gleb@nbase.co.il>
3038
3039 * ospf_lsa.h (struct ospf_lsa): Add member of pointer to struct
3040 ospf_area.
3041
30422000-06-08 Michael Rozhavsky <mike@nbase.co.il>
3043
3044 * ospf_ase.c (ospf_asbr_route_same): New function added.
3045 This function makes sure external route calculation more
3046 precisely.
3047
30482000-06-07 Michael Rozhavsky <mike@nbase.co.il>
3049
3050 * ospf_ism.c (ism_change_status): Use ospf_lsa_flush_area for
3051 network-LSA deletion instead of using ospf_lsdb_delete.
3052 Also cancel network-LSA origination timer.
3053
30542000-06-07 Levi Harper <lharper@kennedytech.com>
3055
3056 * ospf_interface.c (ospf_if_down): Close read fd when an interface
3057 goes down.
3058
30592000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3060
3061 * ospf_asbr.c (ospf_external_info_lookup): Add explicit brace for
3062 avoid ambiguous else.
3063
3064 * ospf_flood.c (ospf_external_info_check): Likewise.
3065
30662000-06-05 Toshiaki Takada <takada@zebra.org>
3067
3068 * ospf_nsm.c (nsm_adj_ok): Fix bug of DR election.
3069
30702000-06-04 Toshiaki Takada <takada@zebra.org>
3071
3072 * ospf_zebra.c (ospf_default_information_originate),
3073 (no_ospf_default_information_originate): New DEFUN added.
3074
30752000-06-03 Toshiaki Takada <takada@zebra.org>
3076
3077 * ospf_lsa.h, ospf_asbr.h (external_info): Struct moved from
3078 ospf_lsa.h to ospf_asbr.h.
3079
3080 * ospf_lsa.c, ospf_asbr.c (ospf_external_info_add),
3081 (ospf_external_info_delete): Function moved from ospf_lsa.c
3082 to ospf_asbr.c.
3083
30842000-06-03 Toshiaki Takada <takada@zebra.org>
3085
3086 * ospf_flood.c (ospf_external_info_check): New function added.
3087 (ospf_process_self_orignated_lsa): Make sure to flush
3088 self-originated AS-external-LSA, when router reboot and no longer
3089 originate those AS-external-LSA.
3090
30912000-06-02 Toshiaki Takada <takada@zebra.org>
3092
3093 * ospf_network.c (ospf_serv_sock): Remove SO_DONTROUTE
3094 socket option.
3095
3096 * ospf_packet.c (ospf_write): Set MSG_DONTROUTE flag for
3097 unicast destination packets.
3098
30992000-06-02 Toshiaki Takada <takada@zebra.org>
3100
3101 * ospf_lsdb.c (new_lsdb_delete): Delete entry from LSDB only when
3102 specified LSA matches.
3103
31042000-06-02 Gleb Natapov <gleb@nbase.co.il>
3105
3106 * ospf_network.c (ospf_serv_sock): Set SO_DONTROUTE
3107 socket option.
3108
31092000-06-01 Akihiro Mizutani <mizutani@dml.com>
3110
3111 * ospf_dump.c: Replace string `Debugging functions\n' with DEBUG_STR.
3112 Replace string `OSPF information\n' with OSPF_STR.
3113
31142000-06-01 Toshiaki Takada <takada@zebra.org>
3115
3116 * ospf_lsdb.[ch]: Use new_lsdb struct for network-LSA instead of
3117 ospf_lsdb.
3118
31192000-06-01 Toshiaki Takada <takada@zebra.org>
3120
3121 * ospf_dump.c (config_debug_ospf_packet), (config_debug_ospf_event),
3122 (config_debug_ospf_ism), (config_debug_ospf_nsm),
3123 (config_debug_ospf_lsa), (config_debug_ospf_zebra),
3124 (term_debug_ospf_packet), (term_debug_ospf_event),
3125 (term_debug_ospf_ism), (term_debug_ospf_nsm),
3126 (term_debug_ospf_lsa), (term_debug_ospf_zebra): Repalce debug_ospf_*
3127 variable to use for debug option flags.
3128
3129 (debug_ospf_packet), (debug_ospf_ism), (debug_ospf_nsm),
3130 (debug_ospf_lsa), (debug_ospf_zebra): Set {config,term}_debug_*
3131 flags when vty->node is CONFIG_NODE, otherwise set only term_debug_*
3132 flags.
3133
3134 * ospf_dump.h (CONF_DEBUG_PACKET_ON), (CONF_DEBUG_PACKET_OFF),
3135 (TERM_DEBUG_PACKET_ON), (TERM_DEBUG_PACKET_OFF),
3136 (CONF_DEBUG_ON), (CONF_DEBUG_OFF), (IS_CONF_DEBUG_OSPF_PACKET),
3137 (IS_CONF_DEBUG_OSPF): New Macro added.
3138
31392000-05-31 Toshiaki Takada <takada@zebra.org>
3140
3141 * ospfd.c (clear_ip_ospf_neighbor): New DEFUN added.
3142 Currently this command is used for only debugging.
3143
3144 * ospf_nsm.c (nsm_change_status): Make sure thread cancellation
3145 for network-LSA when DR has no full neighbors.
3146
3147 * ospf_nsm.c (ospf_db_summary_clear): New function added.
3148
31492000-05-30 Toshiaki Takada <takada@zebra.org>
3150
3151 * ospf_lsdb.c (new_lsdb_insert): LSAs are always freed by
3152 maxage_lsa_remover when LSA is replaced.
3153
31542000-05-25 Gleb Natapov <gleb@nbase.co.il>
3155
3156 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all): Add argument
3157 `struct ospf_area' to remove LSA from Link State retransmission list
3158 of neighbor from only one Area.
3159
31602000-05-24 Michael Rozhavsky <mike@nbase.co.il>
3161
3162 * ospf_lsdb.c (ospf_lsdb_add): Preserve flags field when
3163 overriting old LSA with new LSA.
3164
31652000-05-24 Gleb Natapov <gleb@nbase.co.il>
3166
3167 * ospf_lsa.c (ospf_router_lsa_body_set): Fix bug of router-LSA
3168 size calculation.
3169
31702000-05-22 Michael Rozhavsky <mike@nbase.co.il>
3171
3172 * ospf_route.c (ospf_intra_add_stub):
3173 * ospf_spf.h (struct vertex): Use u_int32_t for distance (cost)
3174 value instead of u_int16_t.
3175
31762000-05-22 Axel Gerlach <agerlach@datus.datus.com>
3177
3178 * ospf_ia.c (ospf_ia_network_route): Fix bug of Inter-area route
3179 equal cost path calculation.
3180
31812000-05-21 Toshiaki Takada <takada@zebra.org>
3182
3183 * ospf_ase.c (ospf_ase_calculate_route_delete): New function added.
3184 Make sure, when rotuer route is deleted, related external routes
3185 are also deleted.
3186
31872000-05-20 Toshiaki Takada <takada@zebra.org>
3188
3189 * ospfd.c (ospf_interface_down): Make sure interface flag is disable
3190 and set fd to -1.
3191
31922000-05-16 Toshiaki Takada <takada@zebra.org>
3193
3194 * ospf_asbr.c (ospf_asbr_should_announce), (ospf_asbr_route_remove):
3195 Functions removed.
3196
3197 * ospfd.h (EXTERNAL_INFO): Macro added.
3198 Substitute `ospf_top->external_info[type]' with it.
3199
32002000-05-16 Toshiaki Takada <takada@zebra.org>
3201
3202 * ospf_lsa.c (ospf_rtrs_external_remove): New function added.
3203
32042000-05-14 Gleb Natapov <gleb@nbase.co.il>
3205
3206 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all)
3207 * ospf_lsdb.c (new_lsdb_insert)
3208 * ospf_packet.c (ospf_ls_ack): Fix database synchonization problem.
3209
32102000-05-14 Gleb Natapov <gleb@nbase.co.il>
3211
3212 * ospf_lsa.h (tv_adjust), (tv_ceil), (tv_floor), (int2tv),
3213 (tv_add), (tv_sub), (tv_cmp): Prototype definition added.
3214
3215 * ospf_nsm.h (ospf_db_summary_delete_all): Prototype definition added.
3216
32172000-05-13 Toshiaki Takada <takada@zebra.org>
3218
3219 * ospf_lsa.[ch] (ospf_lsa): struct timestamp type is changed from
3220 time_t to struct timeval.
3221 (tv_adjust), (tv_ceil), (tv_floor), (int2tv), (tv_add),
3222 (tv_sub), (tv_cmp): timeval utillity functions added.
3223
32242000-05-12 Toshiaki Takada <takada@zebra.org>
3225
3226 * ospf_lsa.[ch] (ospf_schedule_update_router_lsas): Delete function.
3227 Change to use macro OSPF_LSA_UPDATE_TIMER instead of using
3228 this function.
3229 router-LSA refresh timer related stuff is re-organized.
3230
32312000-05-10 Gleb Natapov <gleb@nbase.co.il>
3232
3233 * ospf_interface.c (ospf_vl_set_params):
3234 * ospf_packet.c (ospf_check_network_mask):
3235 * ospf_spf.[ch] (ospf_spf_next):
3236 Remove field address from `struct vertex', and search for peer
3237 address of virtual link in function `ospf_vl_set_params' instead.
3238
32392000-05-10 Gleb Natapov <gleb@nbase.co.il>
3240
3241 * ospf_packet.c (ospf_ls_upd): Fix some memory leak related LSA.
3242
32432000-05-08 Thomas Molkenbur <tmo@datus.com>
3244
3245 * ospf_packet.c (ospf_packet_dup): Replace ospf_steram_copy()
3246 with ospf_stream_dup() to fix memory leak.
3247
32482000-05-08 Michael Rozhavsky <mike@nbase.co.il>
3249
3250 * ospf_flood.c (ospf_flood_through_area): Fix the problem of
3251 LSA update without DROther.
3252
32532000-05-04 Gleb Natapov <gleb@nbase.co.il>
3254
3255 * ospf_spf.c (ospf_vertex_free): Fix memory leak of SPF calculation.
3256
32572000-05-03 Toshiaki Takada <takada@zebra.org>
3258
3259 * ospf_neighbor.c (ospf_db_summary_add): Use new_lsdb struct
3260 instead linked-list.
3261 (ospf_db_summary_count), (ospf_db_summary_isempty):
3262 New function added.
3263
3264 * ospf_lsa.c (ospf_rotuer_lsa): Re-arrange and divide functions.
3265
32662000-05-02 Gleb Natapov <gleb@nbase.co.il>
3267
3268 * ospf_lsdb.c (new_lsdb_cleanup): Fix memory leak. When LSDB are
3269 not needed any more, then free them.
3270
32712000-05-02 Toshiaki Takada <takada@zebra.org>
3272
3273 * ospfd.c (timers_spf), (no_timers_spf): New defun added.
3274 SPF calculation timers related stuff is rearranged.
3275
3276 * ospf_spf.c (ospf_spf_calculate_timer_add): Function removed.
3277 SPF timer is scheduled by SPF calculation delay and holdtime
3278 configuration variable.
3279
3280 * ospf_lsa.c (ospf_external_lsa_nexthop_get): Set AS-external-LSA's
3281 forwarding address when nexthop learned by other protocols is
3282 in the OSPF domain.
3283
3284 * ospf_zebra.c (ospf_redistribute_source_metric_type),
3285 (ospf_redistribute_source_type_metric): Re-arrange DEFUNs and
3286 ALIASes.
3287
32882000-05-01 Toshiaki Takada <takada@zebra.org>
3289
3290 * ospf_flood.c (ospf_ls_retransmit_count),
3291 (ospf_ls_retransmit_isempty): New function added.
3292
3293 (ospf_ls_retransmit_add), (ospf_ls_retransmit_delete),
3294 (ospf_ls_retransmit_clear), (ospf_ls_retransmit_lookup),
3295 (ospf_ls_retransmit_delete_all), (ospf_ls_retransmit_delete_nbr_all),
3296 (ospf_ls_retransmit_add_nbr_all): Replace these functions to use
3297 new_lsdb.
3298
32992000-04-29 Toshiaki Takada <takada@zebra.org>
3300
3301 * ospfd.c (no_network_area): Add check Area-ID whether specified
3302 Area-ID with prefix matches config.
3303
33042000-04-27 Toshiaki Takada <takada@zebra.org>
3305
3306 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix problem of
3307 remaining withdrawn routes on zebra.
3308
33092000-04-25 Michael Rozhavsky <mike@nbase.co.il>
3310
3311 * ospf_nsm.c (nsm_kill_nbr), (nsm_ll_down), (nsm_change_status),
3312 (ospf_nsm_event): Fix network-LSA re-origination problem.
3313
33142000-04-24 Toshiaki Takada <takada@zebra.org>
3315
3316 * ospf_nsm.c (ospf_db_desc_timer): Fix bug of segmentation fault
3317 with DD retransmission.
3318
3319 * ospf_nsm.c (nsm_kill_nbr): Fix bug of re-origination when
3320 a neighbor disappears.
3321
33222000-04-23 Michael Rozhavsky <mike@nbase.co.il>
3323
3324 * ospf_abr.c (ospf_abr_announce_network_to_area): Fix bug of
3325 summary-LSAs reorigination. Correctly copy OSPF_LSA_APPROVED
3326 flag to new LSA. when summary-LSA is reoriginatd.
3327
3328 * ospf_flood.c (ospf_flood_through_area): Fix bug of flooding
3329 procedure. Change the condition of interface selection.
3330
33312000-04-21 Toshiaki Takada <takada@zebra.org>
3332
3333 * ospf_lsa.c (ospf_refresher_register_lsa): Fix bug of refresh never
3334 occurs.
3335
3336 * ospfd.c (show_ip_ospf_neighbor_id): New defun added.
3337 `show ip ospf neighbor' related commands are re-arranged.
3338
33392000-04-20 Toshiaki Takada <takada@zebra.org>
3340
3341 * ospf_dump.c (debug_ospf_zebra): New defun added.
3342 Suppress zebra related debug information.
3343
33442000-04-19 Toshiaki Takada <takada@zebra.org>
3345
3346 * ospf_zebra.c (ospf_distribute_list_update_timer),
3347 (ospf_distribute_list_update), (ospf_filter_update):
3348 New function added. Re-organize `distribute-list' router ospf
3349 command.
3350
33512000-04-13 Michael Rozhavsky <mike@nbase.co.il>
3352
3353 * ospf_packet.c (ospf_make_ls_upd): Add check for MAX_AGE.
3354
33552000-04-14 Michael Rozhavsky <mike@nbase.co.il>
3356
3357 * ospf_packet.c (ospf_make_ls_upd): Increment LS age by configured
3358 interface transmit_delay.
3359
33602000-04-14 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3361
3362 * ospf_interface.c (ip_ospf_cost), (no_ip_ospf_cost):
3363 Add to schedule router_lsa origination when the interface cost changes.
3364
33652000-04-12 Toshiaki Takada <takada@zebra.org>
3366
3367 * ospf_lsa.c (ospf_refresher_register_lsa),
3368 (ospf_refresher_unregister_lsa): Fix bug of core dumped.
3369
3370 * ospfd.c (no_router_ospf): Fix bug of core dumped.
3371
33722000-03-29 Toshiaki Takada <takada@zebra.org>
3373
3374 * ospf_nsm.c (nsm_oneway_received): Fix bug of MS flag unset.
3375
33762000-03-29 Michael Rozhavsky <mike@nbase.co.il>
3377
3378 * ospf_lsa.c (ospf_network_lsa):
3379 * ospf_nsm.c (ospf_nsm_event): Fix bug of Network-LSA originated
3380 in stub network.
3381
33822000-03-28 Toshiaki Takada <takada@zebra.org>
3383
3384 * ospf_nsm.c (nsm_bad_ls_req), (nsm_seq_number_mismatch),
3385 (nsm_oneway_received): Fix bug of NSM state flapping between
3386 ExStart and Exchange.
3387
33882000-03-28 Toshiaki Takada <takada@zebra.org>
3389
3390 * ospf_packet.h (strcut ospf_header): Fix the size of ospf_header,
3391 change u_int8_t to u_char.
3392
33932000-03-27 Toshiaki Takada <takada@zebra.org>
3394
3395 * ospf_lsa.c (ospf_lsa_checksum): Take care of BIGENDIAN architecture.
3396
33972000-03-27 Toshiaki Takada <takada@zebra.org>
3398
3399 * ospfd.c (ospf_interface_run): Make sure Address family matches.
3400
34012000-03-26 Love <lha@s3.kth.se>
3402
3403 * ospf_packet.c (ospf_write): Chack result of sendto().
3404
34052000-03-26 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3406
3407 * ospf_nsm.c (nsm_oneway_received): Fix bug of 1-WayReceived in NSM.
3408
34092000-03-23 Libor Pechacek <farco@clnet.cz>
3410
3411 * ospf_lsa.c (ospf_network_lsa)
3412 * ospf_lsdb.c (new_lsdb_insert): Fix bug of accessing to
3413 unallocated memory.
3414
34152000-03-23 Toshiaki Takada <takada@zebra.org>
3416
3417 * ospfd.c (ospf_config_write): Fix bug of duplicate line for
3418 `area A.B.C.D authentication'.
3419
34202000-03-22 Toshiaki Takada <takada@zebra.org>
3421
3422 * ospf_debug.c (debug_ospf_lsa), (no_debug_ospf_lsa): Defun added.
3423 Suppress all zlog related to LSAs with this config option.
3424
34252000-03-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3426
3427 * ospf_nsm.c (ospf_nsm_event): Add check for NSM_InactivityTimer.
3428
34292000-03-21 Toshiaki Takada <takada@zebra.org>
3430
3431 * ospf_packet.c (ospf_ls_upd_timer), (ospf_ls_req):
3432 Fix bug of memory leak about linklist.
3433
3434 * ospf_flood.c (ospf_flood_through_area): Likewise.
3435
34362000-03-18 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3437
3438 * ospf_flood.c (ospf_ls_retransmit_lookup): Add checksum comparison
3439 to identify LSA uniquely. This fix routes lost.
3440
34412000-03-18 Toshiaki Takada <takada@zebra.org>
3442
3443 * ospf_ase.c (ospf_find_asbr_route): Add sanity check with router
3444 routing table.
3445
34462000-03-17 Alex Zinin <zinin@amt.ru>
3447
3448 * ospf_spf.[ch]: Bug fix.
3449 The 2nd stage of Dijkstra could consider one vertex
3450 more than once if there is more than one link
3451 between the routers, thus adding extra CPU overhead
3452 and extra next-hops.
3453 Fixed.
3454
34552000-03-15 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3456
3457 * ospf_nsm.c (nsm_inactivity_timer): Changed to call nsm_kill_nbr().
3458
34592000-03-14 Toshiaki Takada <takada@zebra.org>
3460
3461 * ospf_route.c (ospf_route_copy_nexthops): Fix bug of memory leak of
3462 ospf_path. Actually ignore merging ospf_route with completely same
3463 paths.
3464
34652000-03-12 Toshiaki Takada <takada@zebra.org>
3466
3467 * ospf_lsa.c (show_as_external_lsa_detail): fix bug of
3468 external route tag byte order.
3469
34702000-03-11 Toshiaki Takada <takada@zebra.org>
3471
3472 * ospf_lsdb.c (ospf_lsdb_insert): New function added.
3473
34742000-03-09 Toshiaki Takada <takada@zebra.org>
3475
3476 * ospf_lsa.c (ospf_external_lsa_install),
3477 (ospf_lsa_lookup), (show_ip_ospf_database_all),
3478 (show_ip_ospf_database_self_originate): Use struct new_lsdb for
3479 LSDB of AS-external-LSAs instead of ospf_lsdb.
3480
3481 * ospf_lsa.c (ospf_lsa_unique_id): New function added.
3482 Use for assigning Unique Link State ID instead of
3483 ospf_get_free_id_for_prefix().
3484
34852000-03-09 Toshiaki Takada <takada@zebra.org>
3486
3487 * ospf_ase.c (ospf_ase_calculate_timer): Fix bug of segmentation
3488 fault reported by George Bonser <george@siteROCK.com>.
3489
34902000-03-07 Libor Pechacek <farco@clnet.cz>
3491
3492 * ospfd.c (ospf_interface_down): Fix bug of segmentation fault.
3493
34942000-03-06 Toshiaki Takada <takada@zebra.org>
3495
3496 * ospf_route.c (ospf_route_cmp): Change meaning of return values.
3497
34982000-03-02 Alex Zinin <zinin@amt.ru>
3499 * ospfd.h, ospf_ia.h
3500 New Shortcut ABR code. Now area's flag can be configured
3501 with Default, Enable, and Disable values.
3502 More info will be in the new ver of I-D soon (see IETF web).
3503
35042000-02-25 Toshiaki Takada <takada@zebra.org>
3505
3506 * ospf_lsa.c (ospf_lsa_header_set), (ospf_external_lsa_body_set),
3507 (osfp_external_lsa_originate), (ospf_external_lsa_queue),
3508 (ospf_external_lsa_originate_from_queue): New function added.
3509 (ospf_external_lsa): Function removed.
3510
3511 * ospf_zebra.c (ospf_zebra_read_ipv4): Originate AS-external-LSA
3512 when listen a route from Zebra, instead creating external route.
3513
3514 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
3515 (ospf_asbr_route_add_queue_lsa),
3516 (ospf_asbr_route_install_lsa), (ospf_asbr_route_add):
3517 Functions removed.
3518
3519 * ospf_ase.c (process_ase_lsa): Function will not be used.
3520 (ospf_ase_calculate), (ospf_ase_calculate_route_add),
3521 (ospf_ase_calculate_new_route), (ospf_ase_caluculate_asbr_route):
3522 process_ase_lsa () is separated to these functions.
3523
3524 OSPF AS-external-LSA origination is whole re-organized.
3525
35262000-02-18 Toshiaki Takada <takada@zebra.org>
3527
3528 * ospf_packet.c (ospf_ls_upd): Fix bug of OSPF LSA memory leak.
3529
3530 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
3531 (ospf_asbr_route_add_queue_lsa): Fix bug of OSPF external route
3532 memory leak.
3533
35342000-02-12 Kunihiro Ishiguro <kunihiro@zebra.org>
3535
3536 * ospf_asbr.c (ospf_asbr_route_install_lsa): Re-calculate LSA
3537 checksum after change Advertised Router field.
3538
35392000-02-09 Toshiaki Takada <takada@zebra.org>
3540
3541 * ospf_asbr.c (ospf_external_route_lookup): Add new function.
3542
35432000-02-08 Toshiaki Takada <takada@zebra.org>
3544
3545 * ospfd.c (ospf_router_id_get), (ospf_router_id_update),
3546 (ospf_router_id_update_timer): Router ID decision algorithm is changed.
3547 Router ID is chosen from all of eligible interface addresses even if
3548 it is not enable to OSPF.
3549
35502000-02-08 Toshiaki Takada <takada@zebra.org>
3551
3552 * ospf_asbr.c (ospf_asbr_route_add): Function divided to
3553 ospf_asbr_route_add_flood_lsa, ospf_asbr_route_add_queue_lsa and
3554 ospf_asbr_route_install_lsa. If Router-ID is not set, then LSA is
3555 waited to install to LSDB.
3556 `0.0.0.0 adv_router' AS-external-LSA origination bug was fixed.
3557
35582000-02-01 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3559
3560 * ospf_flood.c (ospf_ls_retransmit_lookup): Compare LS seqnum
3561 in the ACK before deleting.
3562
3563 * ospf_packet.c (ospf_hello): Reset the flags after a shutdown
3564 and no shutdown of the interface.
3565
35662000-01-31 Toshiaki Takada <takada@zebra.org>
3567
3568 * ospf_packet.c (ospf_ls_req): Send multiple Link State Update
3569 packets respond to a Link State Request packet.
3570
3571 * ospfd.c (show_ip_ospf_neighbor_detail_sub): Show thread state.
3572
3573 * ospf_interface.c (ospf_vl_new): Crash when backbone area
3574 is not configured and set virtual-link to no-backbone area,
3575 bug fixed.
3576
35772000-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3578
3579 * ospf_neighbor.h (struct ospf_neighbor): Add pointer to last send
3580 LS Request LSA.
3581
3582 * ospf_packet.c (ospf_ls_upd): Comment out LS request list
3583 treatment. That should be done in OSPF flooding procedure.
3584
3585 * ospf_flood.c (ospf_flood_through_area): Enclose
3586 ospf_check_nbr_loding inside if-else close.
3587
35882000-01-31 Toshiaki Takada <takada@zebra.org>
3589
3590 * ospf_packet.c (ospf_make_ls_upd): Fix bug of #LSAs counting.
3591
35922000-01-29 Toshiaki Takada <takada@zebra.org>
3593
3594 * ospf_packet.c (ospf_make_md5_digest): Fix bug of md5 authentication.
3595
35962000-01-28 Toshiaki Takada <takada@zebra.org>
3597
3598 * ospfd.c (show_ip_ospf): Show Number of ASE-LSAs.
3599
36002000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3601
3602 * ospf_packet.c (ospf_make_db_desc): Don't use rm_list for
3603 removing LSA from nbr->db_summary.
3604
36052000-01-27 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
3606
3607 * ospf_packet.c (ospf_ls_upd_send): Set AllSPFRouters to
3608 destination when the link is point-to-point.
3609 (ospf_ls_ack_send_delayed): Likewise.
3610
36112000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3612
3613 * ospf_flood.c (ospf_ls_request_delete_all): Fix bug of next
3614 pointer lookup after the node is freed.
3615
36162000-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3617
3618 * ospf_asbr.c (ospf_asbr_route_add): Instead of scanning all AS
3619 external route, use ospf_top->external_self.
3620
36212000-01-27 Toshiaki Takada <takada@zebra.org>
3622
3623 * ospf_lsa.c (ospf_forward_address_get): New function added.
3624
3625 * ospf_asbr.c (ospf_asbr_check_lsas): Originate AS-external-LSA
3626 only when it should be replaced.
3627
36282000-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3629
3630 * ospf_flood.c (ospf_ls_retransmit_clear): Delete list node.
3631
3632 * ospf_lsa.c (ospf_lsa_free): Reduce logging message using
3633 ospf_zlog value.
3634
3635 * ospf_ism.c (ism_change_status): Fix bug of DR -> non DR status
3636 change. Self originated LSA is freed but not deleted from lsdb.
3637
36382000-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3639
3640 * ospf_ism.c (ism_interface_down): Don't use router_id for
3641 detecting self neighbor structure. Instead of that compare
3642 pointer itself.
3643
3644 * ospf_neighbor.c (ospf_nbr_free): Cancel all timer when neighbor
3645 is deleted.
3646 (ospf_nbr_free): Free last send packet.
3647
3648 * ospf_neighbor.h (struct ospf_neighbor): Remove host strucutre.
3649 Instead of that src is introduced.
3650
3651 * ospf_nsm.h: Enclose macro defenition with do {} while (0).
3652
36532000-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3654
3655 * ospfd.c: Change part of passive interface implementation. For
3656 passive interface just disabling sending/receiving Hello on the
3657 interface.
3658
36592000-01-16 Kai Bankett <kai.bankett@vew-telnet.net>
3660
3661 * ospf_interface.h (OSPF_IF_PASSIVE): Add passive flag.
3662 * ospf_interface.c (ospf_if_lookup_by_name): Add new function.
3663 * ospf_lsa.c (ospf_router_lsa): Skip passive interface.
3664 * ospfd.c (passive_interface): New command passive-interface is
3665 added.
3666 (ospf_config_write): Print passive interface.
3667
36682000-01-15 Toshiaki Takada <takada@zebra.org>
3669
3670 * ospf_interface.h (crypt_key): New struct added to store
3671 multiple cryptographic autheitication keys.
3672 (ospf_interface): struct changed.
3673
3674 * ospf_interface.c: ospf_crypt_key_new, ospf_crypt_key_add,
3675 ospf_crypt_key_lookup, ospf_crypt_key_delete: new functions added.
3676
3677 * ospf_packet.c (ip_ospf_message_digest_key): Changed to store
3678 multiple cryptographic authentication keys.
3679
36802000-01-14 Toshiaki Takada <takada@zebra.org>
3681
3682 * ospf_interface.c: DEFUN (if_ospf_*) commands changed name to
3683 ip_ospf_* ().
3684 Old notation `ospf *' still remains backward compatibility.
3685
36861999-12-29 Alex Zinin <zinin@amt.ru>
3687 * ospf_lsa.c: ospf_lsa_more_recent() bug fix
3688 * ospf_nsm.c, ospf_packet.c: remove nbr data struct when
3689 int goes down, also check DD flags correctly (bug fix)
3690
36911999-12-28 Alex Zinin <zinin@amt.ru>
3692 * "redistribute <source> metric-type (1|2) metric <XXX>" added
3693
36941999-12-23 Alex Zinin <zinin@amt.ru>
3695 * added RFC1583Compatibility flag
3696 * added dynamic interface up/down functionality
3697
36981999-11-19 Toshiaki Takada <takada@zebra.org>
3699
3700 * ospf_neighbor.h (struct ospf_neighbor): Add member state_change
3701 for NSM state change statistics.
3702
37031999-11-19 Toshiaki Takada <takada@zebra.org>
3704
3705 * ospfd.c (show_ip_ospf_neighbor_detail),
3706 (show_ip_ospf_neighbor_int_detail): DEFUN Added.
3707
37081999-11-14 Kunihiro Ishiguro <kunihiro@zebra.org>
3709
3710 * ospf_asbr.c (ospf_asbr_check_lsas): Add check of
3711 lsa->refresh_list.
3712
37131999-11-11 Toshiaki Takada <takada@zebra.org>
3714
3715 * ospf_ia.[ch] (OSPF_EXAMINE_SUMMARIES_ALL): Macro added.
3716 This macro is expanded to ospf_examine_summaries ()
3717 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3718 (OSPF_EXAMINE_TRANSIT_SUMMARIES_ALL): Macro added.
3719 This macro is expanded to ospf_examine_transit_summaries ()
3720 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
3721
37221999-11-11 Toshiaki Takada <takada@zebra.org>
3723
3724 * ospf_lsa.[ch] (ospf_find_self_summary_lsa_by_prefix): Changed to
3725 macro OSPF_SUMMARY_LSA_SELF_FIND_BY_PREFIX.
3726 (ospf_find_self_summary_asbr_lsa_by_prefix): Changed to
3727 macro OSPF_SUMMARY_ASBR_LSA_SELF_FIND_BY_PREFIX.
3728 (ospf_find_self_external_lsa_by_prefix): Changed to
3729 macro OSPF_EXTERNAL_LSA_SELF_FIND_BY_PREFIX.
3730
37311999-11-11 Toshiaki Takada <takada@zebra.org>
3732
3733 * ospfd.c (ospf_abr_type): ospf_abr_type_cisco, ospf_abr_type_ibm,
3734 ospf_abr_type_shortcut and ospf_abr_type_standard DEFUNs are
3735 combined.
3736 * ospfd.c (no_ospf_abr_type): no_ospf_abr_type_cisco,
3737 no_ospf_abr_type_ibm and no_ospf_abr_type_shortcut DEFUNS are
3738 combined.
3739
37401999-11-10 Toshiaki Takada <takada@zebra.org>
3741
3742 * ospf_route.c (ospf_lookup_int_by_prefix): Move function to
3743 ospf_interface.c and change name to ospf_if_lookup_by_prefix ().
3744
37451999-11-01 Alex Zinin <zinin@amt.ru>
3746 * ospf_packet.c
3747 some correction to LSU processing
3748
3749 * ospf_lsa.c ospfd.h
3750 randomize initial LSA refreshment interval
3751 and limit the size of LSA-group to 10
3752 to let randomization work more effectively.
3753
37541999-10-31 Alex Zinin <zinin@amt.ru>
3755 * ospf_interface.c
3756 cancel t_network_lsa_self
3757 when freeing int structure
3758
3759 * ospf_abr.c ospf_asbr.c ospf_flood.c ospf_lsa.c
3760 ospf_lsa.h ospf_lsdb.h ospfd.c ospfd.h
3761
3762 Summary and ASE LSA refreshment functions
3763 added---LSA refreshment is paced to 70 LSAs
3764 per sec to avoid link overflow. Refreshment events
3765 are further randomized within a 10 sec interval
3766 to avoid syncing.
3767
3768 Also the sigfault of memcmp() in ospf_lsa_is_different()
3769 is fixed.
3770
37711999-10-30 Alex Zinin <zinin@amt.ru>
3772 * ospf_nsm.c
3773 Fix the bug where MAX_AGE LSAs
3774 are included into the DB summary.
3775
3776 * ospf_interface.c
3777 allocate 2*MTU input buffer instead of just MTU
3778 for the cases when the other router mistakenly
3779 sends larger packets thus causing fragmentation, etc.
3780
3781 * ospf_nsm.c
3782 in nsm_reset_nbr() lists should be freed
3783 not when they are empty.
3784
37851999-10-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3786
3787 * ospf_zebra.c (ospf_acl_hook): Move OSPF_IS_ASBR and OSPF_IS_ABR
3788 check inside of if (ospf_top).
3789
37901999-10-29 Alex Zinin <zinin@amt.ru>
3791 * ospf_lsa.c ospf_lsdb.c :
3792 add assertion in lsa and lsa->data alloc functions,
3793 as well as in lsdb_add for new->data
3794
3795 * ospf_lsdb.c: free hash table correctly
3796
37971999-10-28 John Capo <jc@irbs.com>
3798
3799 * ospf_packet.h (OSPF_PACKET_MAX): Correct MAX packet length
3800 calculation
3801
38021999-10-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3803
3804 * OSPF-TRAP-MIB.txt: New file added. Edited version of RFC1850.
3805
3806 * OSPF-MIB.txt: New file added. Edited version of RFC1850.
3807
38081999-10-27 Alex Zinin <zinin@amt.ru>
3809 * ospfd, ospf_zebra, ospf_abr
3810 "area import-list" command is added.
3811 This command allows to filter the inter-area routes
3812 injected into an area. Access list hook function
3813 extended to invalidate area exp/imp lists.
3814
38151999-10-25 Yoshinobu Inoue <shin@nd.net.fujitsu.co.jp>
3816
3817 * ospfd.c (ospf_interface_run): Enable to detect P2P network
3818 on an OSPF interface.
3819
38201999-10-19 Jordan Mendelson <jordy@wserv.com>
3821
3822 * ospf_lsdb.c (ospf_lsdb_add): Fix bug of crash
3823 in ospf_ls_retransmit_lookup ().
3824
38251999-10-19 Vladimir B. Grebenschikov <vova@express.ru>
3826
3827 * ospf_route.c: Workaround about installation of OSPF routes into
3828 the zebra daemon. Add checking of existance routes. Free
3829 ospf_top->old_table if it exists.
3830
38311999-10-15 Jordan Mendelson <jordy@wserv.com>
3832
3833 * Add support for MD5 authentication.
3834
38351999-10-12 Alex Zinin <zinin@amt.ru>
3836 * ospfd.c, ospfd.h, ospf_abr.c:
3837 a new command "area export-list" was added, it allows
3838 the admin. to control which intra-area routes are
3839 announced to other areas by the ABR
3840
38411999-10-12 Alex Zinin <zinin@amt.ru>
3842 * ospf_asbr.c (ospf_asbr_check_lsas): Fix bug of coredump
3843 when "no redistribute" is used after a distribute list
3844 denying some networks was used
3845
38461999-10-05 Toshiaki Takada <takada@zebra.org>
3847
3848 * ospf_route.c (ospf_path_dup): New function added.
3849
38501999-10-05 Toshiaki Takada <takada@zebra.org>
3851
3852 * ospf_interface.[ch]: Some of VL related funciton name changed.
3853
38541999-09-27 Alex Zinin <zinin@amt.ru>
3855
3856 * ospf_zebra.c: Distribute-list functionality added
3857
38581999-09-27 Toshiaki Takada <takada@zebra.org>
3859
3860 * ospfd.c (show_ip_ospf): Fix bug of segmentation fault when no ospf
3861 instance exists.
3862
38631999-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3864
3865 * ospfd.c (ospf_interface_down): Fix bug of misusing nextnode()
3866 instead of node->next. Reported by Hiroki Ishibashi
3867 <ishibasi@dcd.abk.nec.co.jp>.
3868
3869 * ospf_route.c (show_ip_ospf_route): Add check for ospf is enabled
3870 or not.
3871
38721999-09-23 Alex Zinin <zinin@amt.ru>
3873
3874 * stub area support added
3875
38761999-09-23 Alex Zinin <zinin@amt.ru>
3877
3878 * fwd_addr in ASE-LSAs is now set correctly
3879 * ASE routing changed to check the fwd_addr
3880 and skip the route if the addr points to one
3881 of our interfaces to avoid loops.
3882
38831999-09-22 Alex Zinin <zinin@amt.ru>
3884
3885 * ospf_interface:
3886 ospf_vls_in_area() added, it returns
3887 the number of VLs configured through the area
3888
3889 * ospf_interface.c ospf_lsa.c ospf_lsdb.c ospfd.c
3890 honor correct mem alloc
3891
38921999-09-22 Alex Zinin <zinin@amt.ru>
3893
3894 * memory.[ch]:
3895 Some OSPF mem types added,
3896 plus more info in "show mem"
3897
38981999-09-21 Alex Zinin <zinin@amt.ru>
3899
3900 * ospfd.c:
3901 "area range substitute" added.
3902 It can be used on NAT-enabled (IP-masquarade)
3903 routers to announce private networks
3904 from an area as public ones into the outside
3905 world (not in the RFC, btw :)
3906
39071999-09-21 Alex Zinin <zinin@amt.ru>
3908
3909 * ospfd.c:
3910 "area range suppress" added.
3911 This command allows to instruct the router
3912 to be silent about specific ranges, i.e.,
3913 it is a method of route filtering on area
3914 borders
3915
39161999-09-21 Alex Zinin <zinin@amt.ru>
3917
3918 * ospfd.c VLs removed when "no network area" executed
3919
39201999-09-20 Alex Zinin <zinin@amt.ru>
3921
3922 * ospf_ase.c bug fix for not-zero fwd_addr
3923 and directly connected routes.
3924
39251999-09-20 Yon Uriarte <yon@plannet.de>
3926
3927 * ospf_packet.c (ospf_make_ls_req): Introduce delta value for
3928 checking the length of OSPF packet exceeds MTU or not.
3929
3930 * ospf_lsa.c (ospf_lsa_different): Apply ntohs for checking
3931 l1->data->length.
3932
39331999-09-18 Alex Zinin <zinin@amt.ru>
3934
3935 * ospf_lsa.c bug fix for ospf_network_lsa() to
3936 include itself into the RID list
3937
39381999-09-10 Alex Zinin <zinin@amt.ru>
3939
3940 * Alternative ABR behaviors IBM/Cisco/Shortcut
3941 implemented
3942
39431999-09-10 Alex Zinin <zinin@amt.ru>
3944
3945 * router and network-LSA origination
3946 changed to honor MinLSInterval
3947
39481999-09-08 Alex Zinin <zinin@amt.ru>
3949
3950 * modified ABR behavior to honor VLs and transit
3951 areas
3952
39531999-09-07 Alex Zinin <zinin@amt.ru>
3954
3955 * completed VL functionality
3956
39571999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3958
3959 * ospf_asbr.c: New file.
3960 ospf_asbr.h: New file.
3961
3962 * ospf_zebra.c (ospf_redistribute_connected): Add redistribute
3963 related stuff.
3964
39651999-09-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3966
3967 * ospfd.h (OSPF_FLAG_VIRTUAL_LINK): Change OSPF_FLAG_VEND to
3968 OSPF_FLAG_VIRTUAL_LINK for comprehensiveness.
3969
39701999-09-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3971
3972 * ospf_spf.c (ospf_spf_register): Change name from
3973 ospf_spf_route_add() to ospf_spf_register().
3974 Include "ospfd/ospf_abr.h" for ospf_abr_task() prototype.
3975
39761999-09-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3977
3978 * ospf_lsa.c (ospf_external_lsa_install): Change to update
3979 lsa->data rather than install new one, when same id lsa is already
3980 installed.
3981
39821999-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3983
3984 * ospf_lsa.c (ospf_router_lsa_install): Return lsa value.
3985 (ospf_network_lsa_install): Likewise.
3986 (ospf_summary_lsa_install): Likewise.
3987 (ospf_summary_asbr_lsa_install): Likewise.
3988 (ospf_external_lsa_install): Likewise.
3989
3990 * ospf_spf.c (ospf_spf_calculate): Comment out debug function
3991 ospf_rtrs_print().
3992
39931999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3994
3995 * ospf_spf.c (ospf_rtrs_free): Add ospf_spf_calculate() for
3996 freeing rtrs.
3997
39981999-08-31 Toshiaki Takada <takada@zebra.org>
3999
4000 * ospf_lsa.c (show_ip_ospf_database_summary),
4001 (show_ip_ospf_database_summary_asbr),
4002 (show_ip_ospf_database_external): New function added.
4003 `show ip ospf database summary',
4004 `show ip ospf database asbr-summary'
4005 `show ip ospf database external' command can be used.
4006
4007 * ospf_lsa.c (ospf_lsa_count_table): New function added.
4008 (show_ip_ospf_database_all): show nothing if a type of LSA
4009 does not exist.
4010
40111999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
4012
4013 * ospf_lsa.c (ospf_maxage_lsa_remover): Preserve next pointer when
4014 the node is deleted.
4015
40161999-08-31 Toshiaki Takada <takada@zebra.org>
4017
4018 * ospf_flood.c (ospf_ls_retransmit_lookup): change to return
4019 struct ospf_lsa *.
4020 (ospf_ls_request_new), (ospf_ls_request_free),
4021 (ospf_ls_request_add), (ospf_ls_request_delete),
4022 (ospf_ls_request_delete_all), (ospf_ls_request_lookup):
4023 New function added.
4024
4025 * ospf_packet.c (ospf_ls_upd_send_lsa): New function added.
4026
4027 * ospf_lsa.h (LS_AGE): Slightly change macro definition.
4028
4029 * ospf_lsa.c (ospf_lsa_more_recent), (ospf_lsa_diffrent):
4030 Use LS_AGE macro.
4031
40321999-08-30 Alex Zinin <zinin@amt.ru>
4033
4034 * ospfd.c
4035 fix a bug with area range config write
4036 added "show ip ospf" command, it will be enhanced later on
4037
40381999-08-30 Alex Zinin <zinin@amt.ru>
4039
4040 * ospf_lsa.c
4041 updated ospf_router_lsa() to honor flags (B-bit)
4042
40431999-08-30 Alex Zinin <zinin@amt.ru>
4044
4045 * ospf_abr.c
4046 wrote major functions implementing ABR activity
4047
40481999-08-30 Alex Zinin <zinin@amt.ru>
4049
4050 * ospf_ia.c ospf_route.c ospf_route.h
4051 fixed the bug with ospf_route.origin field.
4052 Now it holds pointer to lsa_header
4053
40541999-08-30 Alex Zinin <zinin@amt.ru>
4055
4056 * ospf_flood.c ospf_flood.h:
4057 transformed ospf_flood_if_select into ospf_flood_through_area()
4058 added new ospf_flood_if_select() and ospf_flood_through_as()
4059
40601999-08-30 Toshiaki Takada <takada@zebra.org>
4061
4062 * ospf_flood.[ch]: New file added.
4063
4064 * ospf_packet.c (ospf_lsa_flooding),
4065 (ospf_lsa_flooding_select_if): functions move to ospf_flood.c
4066
4067 * ospf_neighbor.c (ospf_put_lsa_on_retransm_list),
4068 (ospf_remove_lsa_from_retransm_list),
4069 (ospf_nbr_remove_all_lsas_from_retransm_list),
4070 (ospf_lsa_remove_from_ls_retransmit):
4071 (ospf_lsa_retransmit): functions move to
4072 ospf_flood.c, and change function's name:
4073
4074 ospf_put_lsa_on_retransm_list ()
4075 -> ospf_ls_retransmit_add ()
4076 ospf_remove_lsa_from_retransm_list ()
4077 -> ospf_ls_retransmit_delete ()
4078 ospf_nbr_remove_all_lsas_from_retransm_list ()
4079 -> ospf_ls_retransmit_clear ()
4080 ospf_lsa_remove_from_ls_retransmit ()
4081 -> ospf_ls_retransmit_delete_nbr_all ()
4082 ospf_lsa_retransmit ()
4083 -> ospf_ls_retransmit_add_nbr_all ()
4084
4085 * ospf_lsa.c (ospf_lsa_lookup_from_list): function move to
4086 ospf_flood.c, and change name to ospf_ls_retransmit_lookup ().
4087
40881999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4089
4090 * ospf_neighbor.c (ospf_nbr_lookup_by_addr): Use
4091 route_node_lookup() instead of route_node_get().
4092
4093 * ospf_packet.c (ospf_ls_upd): Temporary comment out (6) check.
4094
40951999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4096
4097 * ospf_route.c (ospf_lookup_int_by_prefix): Add check of
4098 oi->address.
4099
41001999-08-29 Alex Zinin <zinin@amt.ru>
4101 * ospf_lsa.c
4102 MaxAge LSA deletion functions added.
4103
41041999-08-29 Alex Zinin <zinin@amt.ru>
4105 * ospf_neighbor.c
4106 ospf_nbr_lookup_by_addr(): added route_unlock_node()
4107 when function returns NULL if (rn->info == NULL)
4108
41091999-08-29 Alex Zinin <zinin@amt.ru>
4110 * ospfd.c
4111 added a hack for area range deletion
4112
41131999-08-29 Alex Zinin <zinin@amt.ru>
4114 * ospf_lsa.h
4115 included lsdb field into struct ospf_lsa, to find
4116 LSDB easier when removing MaxAge LSAs.
4117
41181999-08-29 Alex Zinin <zinin@amt.ru>
4119 * ospf_lsa.c ospf_neighbor.c ospf_nsm.c
4120 ospf_packet.c changed to honor new retransmit list
4121 management functions
4122
41231999-08-29 Alex Zinin <zinin@amt.ru>
4124 * ospf_neighbor.c , .h added new retransmit list functions.
4125
41261999-08-29 Alex Zinin <zinin@amt.ru>
4127 * Makefile.in
4128 added ospf_ase, ospf_abr, ospf_ia
4129
41301999-08-29 Alex Zinin <zinin@amt.ru>
4131 * ospf_spf.c:
4132 - changed ospf_next_hop_calculation() to include interface
4133 and nexthop addr for directly connected routers---more informative
4134 and solves problem with route installation into the kernel
4135 - changed ospf_nexthop_out_if_addr() to support routers, not only
4136 transit networks
4137 - added ospf_process_stubs();
4138
41391999-08-29 Alex Zinin <zinin@amt.ru>
4140 * ospf_lsa.c:
4141 - changed ospf_router_lsa() to provide correct links
4142 for p-t-p interfaces;
4143 - changed ospf_summary_lsa_install() to support table
4144 of self-originated summary-LSAs;
4145 - added ospf_summary_asbr_lsa_install() and ospf_external_lsa_install()
4146 - changed ospf_lsa_install() accordingly
4147 - changed show_ip_ospf_database_router_links() to support p-t-p
4148
41491999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4150
4151 * ospf_packet.c (ospf_make_db_desc): Only master can clear more
4152 flag.
4153
41541999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4155
4156 * ospf_packet.c (ospf_read): Add check of IP src address.
4157
41581999-08-28 Alex Zinin <zinin@amt.ru>
4159 * ospf_neighbor.h
4160 added ospf_nbr_lookup_by_routerid()
4161
41621999-08-28 Alex Zinin <zinin@amt.ru>
4163 * ospfd.h
4164 added ABR/ASBR flag definitions and fields;
4165 added iflist field to area structure;
4166 summary_lsa_self and summary_lsa_asbr_self are changed
4167 to be route tables;
4168 added ranges field---configured area ranges;
4169 A separate Routers RT added;
4170 area range config commands and config write added
4171
4172
41731999-08-28 Alex Zinin <zinin@amt.ru>
4174 * ospf_route.c :
4175 ospf_route_free()--added code to free the list of paths;
4176 The following functions added:
4177 ospf_intra_add_router();
4178 ospf_intra_add_transit();
4179 ospf_intra_add_stub();
4180 the last function uses new ospf_int_lookup_by_prefix();
4181 show_ip_ospf_route_cmd()--changed to support new RT structure;
4182 added ospf_cmp_routes()--general route comparision function;
4183 added ospf_route_copy_nexthops() and ospf_route_copy_nexthops_from_vertex()
4184 they are used in ASE and IA routing;
4185 added ospf_subst_route() and ospf_add_route();
4186
41871999-08-28 Alex Zinin <zinin@amt.ru>
4188 * ospf_route.h :
4189 changed struct ospf_path to include output interface,
4190 changed struct ospf_route to support IA and ASE routing.
4191 added prototypes of the function used in IA and ASE modules.
4192
41931999-08-28 Alex Zinin <zinin@amt.ru>
4194 * ospf_lsa.h ospf_lsa.c :
4195 added ospf_my_lsa(), an interface independent version of
4196 ospf_lsa_is_self_originated(), it will be used in ASE and IA-routing.
4197
41981999-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4199
4200 * ospf_interface.c (interface_config_write): Add check for
4201 oi->nbr_self.
4202
42031999-08-25 Toshiaki Takada <takada@zebra.org>
4204
4205 * ospf_lsa.c (ospf_lsa_dup): New function added.
4206
4207 * ospf_packet.c (ospf_write), (ospf_read): Print send/recv
4208 interface in debug message.
4209
42101999-08-25 Toshiaki Takada <takada@zebra.org>
4211
4212 * ospf_packet.c (ospf_ls_ack_send): The name is changed from
4213 `ospf_ls_ack_send'.
4214 (ospf_ls_ack_send_delayed) (ospf_ls_ack_timer): New function added.
4215 Delayed Link State Acknowledgment is scheduled by timer.
4216
42171999-08-25 Alex Zinin <zinin@amt.ru>
4218
4219 * ospf_lsa.c (ospf_router_lsa): Incorrectly included link to
4220 a stub network instead of link to a transit network into
4221 originated router-LSA, bug fixed.
4222
42231999-08-24 Toshiaki Takada <takada@zebra.org>
4224
4225 * ospfd.c (ospf_update_router_id): New function added.
4226
4227 * ospf_network.c (ospf_write): Create new socket per transmission.
4228 And select outgoing interface whether dst is unicast or multicast.
4229
4230 * ospf_packet.c: LSA flooding will work.
4231
42321999-08-24 VOP <vop@unity.net>
4233
4234 * ospf_route.c: Include "sockunion.h"
4235
42361999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
4237
4238 * ospf_network.c (ospf_serv_sock_init): Enclose
4239 IPTOS_PREC_INTERNETCONTROL setting with #ifdef for OS which does
4240 not have the definition.
4241
42421999-08-23 Toshiaki Takada <takada@zebra.org>
4243
4244 * ospf_packet.c: Fix bug of DD processing.
4245
42461999-08-18 Toshiaki Takada <takada@zebra.org>
4247
4248 * ospf_lsa.c (show_ip_ospf_database): Show actual `LS age'.
4249
42501999-08-17 Toshiaki Takada <takada@zebra.org>
4251
4252 * ospf_lsa.h (OSPF_MAX_LSA): The value of OSPF_MAX_LSA is
4253 corrected. The bug of `mes_lookup' is fixed.
4254 This had been reported by Poul-Henning Kamp <phk@freebsd.org>.
4255
4256 * ospf_lsa.c (ospf_router_lsa_install): The name is changed from
4257 `ospf_add_router_lsa'.
4258 (ospf_network_lsa_install): The name is changed from
4259 `ospf_add_network_lsa'.
4260
4261 * ospf_interface.h (ospf_interface): Add member `nbr_self'.
4262
4263 * ospf_interface.c (ospf_if_is_enable): New function added.
4264
42651999-08-16 Toshiaki Takada <takada@zebra.org>
4266
4267 * ospf_lsa.h (struct lsa_header): The name is changed from
4268 `struct ospf_lsa'.
4269 (struct ospf_lsa): New struct added to control each LSA's aging
4270 and timers.
4271
4272 * ospf_lsa.c (ospf_lsa_data_free): The name is change from
4273 `ospf_lsa_free'.
4274 (ospf_lsa_data_new), (ospf_lsa_new), (ospf_lsa_free),
4275 (ospf_lsa_different), (ospf_lsa_install): New function added.
4276
4277 * ospf_packet.c (ospf_ls_upd_list_lsa): New function added.
4278
42791999-08-12 Toshiaki Takada <takada@zebra.org>
4280
4281 * ospf_nsm.c (nsm_reset_nbr): New function added.
4282 KillNbr and LLDown neighbor event call this function.
4283
42841999-08-10 Toshiaki Takada <takada@zebra.org>
4285
4286 * ospf_packet.c (ospf_ls_retransmit)
4287 (ospf_ls_upd_timer): New function added.
4288 Set retransmission timer for Link State Update.
4289
42901999-07-29 Toshiaki Takada <takada@zebra.org>
4291
4292 * ospf_ism.c (ospf_dr_election): Fix bug of DR election.
4293
42941999-07-28 Toshiaki Takada <takada@zebra.org>
4295
4296 * ospf_network.c (ospf_serv_sock_init): Set IP precedence field
4297 with IPTOS_PREC_INTERNET_CONTROL.
4298
4299 * ospf_nsm.c (nsm_change_status): Schedule NeighborChange event
4300 if NSM status change.
4301
4302 * ospf_packet.c (ospf_make_hello): Never include a neighbor in
4303 Hello packet, when the neighbor goes down.
4304
43051999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
4306
4307 * Makefile.am (noinst_HEADERS): Add ospf_route.h.
4308
4309 * ospf_route.c (show_ip_ospf_route): Add `show ip ospf route'
4310 command.
4311
43121999-07-25 Toshiaki Takada <takada@zebra.org>
4313
4314 * ospf_lsa.c (ospf_router_lsa): Fix bug of LS sequence number
4315 assignement.
4316
43171999-07-25 Kunihiro Ishiguro <kunihiro@zebra.org>
4318
4319 * ospf_route.c (ospf_route_table_free): New function added.
4320
4321 * ospf_spf.c (ospf_spf_next): Free vertex w when cw's and w's
4322 distance is same.
4323
4324 * ospfd.h (struct ospf): Add old_table.
4325
4326 * ospf_main.c (sighup): Call of log_rotate () removed.
4327
4328 * ospf_lsa.c (ospf_lsa_is_self_originated): Fix bug of checking
4329 area->lsa as self LSA. This should be area->lsa_self.
4330
43311999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
4332
4333 * ospf_zebra.c (ospf_zebra_add): ospf_zebra_add
4334 (),ospf_zebra_delete () added.
4335
4336 * ospf_spf.c (ospf_spf_calculate): Call ospf_intra_route_add ().
4337
43381999-07-24 Toshiaki Takada <takada@zebra.org>
4339
4340 * ospf_lsa.c: Change LS sequence number treatment.
4341 (ospf_lsa_is_self_originated): New function added.
4342 (show_ip_ospf_database_self_originated): New DEFUN added.
4343
43441999-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4345
4346 * ospf_interface.c (ospf_if_lookup_by_addr): Add loopback check.
4347
43481999-07-22 Toshiaki Takada <takada@zebra.org>
4349
4350 * ospf_spf.c (ospf_nexthop_new), (ospf_nexthop_free),
4351 (ospf_nexthop_dup): function added.
4352 (ospf_nexthop_calculation): function changed.
4353
4354 * ospf_interface.c (ospf_if_lookup_by_addr): function added.
4355
43561999-07-21 Toshiaki Takada <takada@zebra.org>
4357
4358 * ospf_spf.c (ospf_spf_closest_vertex): function removed.
4359
43601999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
4361
4362 * ospf_spf.c (ospf_spf_next): Apply ntohs for fetching metric.
4363
43641999-07-21 Toshiaki Takada <takada@zebra.org>
4365
4366 * ospf_neighbor.c (ospf_nbr_lookup_by_router_id): fundtion removed.
4367
4368 * ospf_lsa.c (show_ip_ospf_database_router): describe each
4369 connected link.
4370
43711999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
4372
4373 * ospf_spf.c (ospf_spf_next): V is router LSA or network LSA so
4374 change behavior according to LSA type.
4375 (ospf_lsa_has_link): Link check function is added.
4376
43771999-07-20 Kunihiro Ishiguro <kunihiro@zebra.org>
4378
4379 * ospf_spf.c (ospf_spf_calculate_schedule): Add new function for
4380 SPF calcultion schedule addtition.
4381 (ospf_spf_calculate_timer_add): Rough 30 sec interval SPF calc
4382 timer is added.
4383 (ospf_spf_next_router): Delete ospf_spf_next_network ().
4384
4385 * ospf_lsa.c (show_ip_ospf_database_all): Network-LSA display
4386 header typo correction. Display of router LSA's #link added.
4387
43881999-07-19 Toshiaki Takada <takada@zebra.org>
4389
4390 * ospf_packet.c (ospf_check_network_mask): Added new function for
4391 receiving Raw IP packet on an appropriate interface.
4392
43931999-07-16 Toshiaki Takada <takada@zebra.org>
4394
4395 * ospfd.c (ospf_router_id): new DEFUN added.
4396
43971999-07-15 Toshiaki Takada <takada@zebra.org>
4398
4399 * ospf_spf.c (ospf_spf_init), (ospf_spf_free),
4400 (ospf_spf_has_vertex), (ospf_vertex_lookup),
4401 (ospf_spf_next_router), (ospf_spf_next_network),
4402 (ospf_spf_closest_vertex), (ospf_spf_calculate):
4403 function added.
4404
44051999-07-13 Toshiaki Takada <takada@zebra.org>
4406
4407 * ospf_ism.c: fix bug of DR Election.
4408
4409 * ospf_nsm.c: fix bug of adjacency forming.
4410
44111999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
4412
4413 * ospfd.c (ospf_init): Change to use install_default.
4414
44151999-07-01 Rick Payne <rickp@rossfell.co.uk>
4416
4417 * ospf_zebra.c (zebra_init): Install standard commands to
4418 ZEBRA_NODE.
4419
44201999-06-30 Toshiaki Takada <takada@zebra.org>
4421
4422 * ospf_dump.c: Whole debug command is improved.
4423 (ISM|NSM) (events|status|timers) debug option added.
4424 (show_debugging_ospf): new DEFUN added.
4425
44261999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4427
4428 * ospf_lsa.c (ospf_lsa_lookup_from_list): Change !IPV4_ADDR_CMP to
4429 IPV4_ADDR_SAME.
4430
44311999-06-29 Toshiaki Takada <takada@zebra.org>
4432
4433 * ospf_dump.c (ospf_summary_lsa_dump): Add summary-LSA dump routine.
4434 (ospf_as_external_lsa_dump): Add AS-external-LSA dump routine.
4435
4436 * ospf_nsm.c (nsm_twoway_received): fix condtion of adjacnet.
4437
4438 * ospf_ism.c (ospf_dr_election): fix DR Election.
4439
4440 * ospf_dump.c (ospf_nbr_state_message): fix `show ip ospf neighbor'
4441 command's state.
4442
44431999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4444
4445 * ospf_dump.c (ospf_router_lsa_dump): Add router-LSA dump routine.
4446
44471999-06-28 Toshiaki Takada <takada@zebra.org>
4448
4449 * ospf_lsa.c (show_ip_ospf_database_network): fix bug of
4450 `show ip ospf database network' command output.
4451
4452 * ospf_nsm.c (nsm_inactivity_timer): Clear list of Link State
4453 Retransmission, Database Summary and Link State Request.
4454
4455 * ospf_packet.c (ospf_ls_req_timer): New function added.
4456 Set Link State Request retransmission timer.
4457
44581999-06-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4459
4460 * ospf_main.c (main): Change default output from ZLOG_SYSLOG to
4461 ZLOG_STDOUT.
4462
4463 * ospfd.c (ospf_init): Register show_ip_ospf_interface_cmd and
4464 show_ip_ospf_neighbor_cmd to VIEW_NODE.
4465
4466 * ospf_lsa.c (ospf_lsa_init): Register show_ip_ospf_database_cmd
4467 and show_ip_ospf_database_type_cmd to VIEW_NODE.
4468
44691999-06-25 Toshiaki Takada <takada@zebra.org>
4470
4471 * ospf_packet.c: fix bug of DD making.
4472 fix bug of LS-Update reading.
4473
44741999-06-23 Toshiaki Takada <takada@zebra.org>
4475
4476 * ospf_packet.c: All type of packets are changed to use
4477 fifo queue structure.
4478 (ospf_fill_header) function added.
4479
44801999-06-22 Toshiaki Takada <takada@zebra.org>
4481
4482 * ospf_packet.c (ospf_packet_new): New function added to handle
4483 sending ospf packet by fifo queue structure.
4484 (ospf_packet_free), (ospf_fifo_new), (ospf_fifo_push),
4485 (ospf_fifo_pop), (ospf_fifo_head), (ospf_fifo_flush),
4486 (ospf_fifo_free): Likewise.
4487
44881999-06-21 Toshiaki Takada <takada@zebra.org>
4489
4490 * ospf_nsm.c (ospf_db_desc_timer): function added.
4491 (nsm_timer_set) function added.
4492 * ospf_dump.c (ospf_option_dump): function added.
4493 * ospf_packet.c (ospf_ls_req) (ospf_make_ls_req): function added.
4494
44951999-06-20 Toshiaki Takada <takada@zebra.org>
4496
4497 * ospf_lsa.c (ospf_lsa_more_recent): function added.
4498 * ospf_neighbor.h (struct ospf_neighbor): Change member ms_flag
4499 to dd_flags.
4500
45011999-06-19 Toshiaki Takada <takada@zebra.org>
4502
4503 * ospf_lsa.c: DEFUN (show_ip_ospf_database) Added.
4504 * ospf_interface.c (if_ospf_cost), (if_ospf_dead_interval),
4505 (if_ospf_hello_interval), (if_ospf_priority),
4506 (if_ospf_retransmit_interval), (if_ospf_transmit_delay)
4507 argument changed from NUMBER to <range>.
4508 DEFUN (if_ospf_network_broadcast),
4509 DEFUN (if_ospf_network_non_broadcast),
4510 DEFUN (if_ospf_network_point_to_multipoint),
4511 DEFUN (if_ospf_network_point_to_point) functions are combined to
4512 DEFUN (if_ospf_network).
4513
45141999-06-18 Toshiaki Takada <takada@zebra.org>
4515
4516 * ospf_lsa.c: ospf_add_router_lsa (), ospf_add_network_lsa (),
4517 ospf_lsa_lookup (), ospf_lsa_count () Added.
4518
45191999-06-15 Toshiaki Takada <takada@zebra.org>
4520
4521 * DEFUN (ospf_debug_ism), DEFUN (ospf_debug_nsm),
4522 DEFUN (no_ospf_debug_ism), DEFUN (no_ospf_debug_nsm) Added.
4523 `debug ospf ism' command shows debug message.
4524 `debuf ospf nsm' command shows debug message.
4525
45261999-06-14 Toshiaki Takada <takada@zebra.org>
4527
4528 * ospf_lsa.c: ospf_network_lsa () Added.
4529 ospf_lsa_checksum () Added.
4530 * DEFUN (ospf_debug_packet), DEFUN (no_ospf_debug_packet) Added.
4531 `debug ospf packet' command shows debug message.
4532
45331999-06-13 Toshiaki Takada <takada@zebra.org>
4534
4535 * ospf_packet.h: Remove struct ospf_ls_req {}, ospf_ls_upd {},
4536 ospf_ls_ack {}.
4537
45381999-06-11 Toshiaki Takada <takada@zebra.org>
4539
4540 * ospf_dump.c: fix IP packet length treatment.
4541
45421999-06-10 Toshiaki Takada <takada@zebra.org>
4543
4544 * ospf_ism.h: Add OSPF_ISM_EVENT_EXECUTE() Macro Added.
4545 * ospf_nsm.h: Add OSPF_NSM_EVENT_EXECUTE() Macro Added.
4546
4547 * ospf_packet.c: ospf_db_desc (), ospf_db_desc_send () Added.
4548 ospf_make_hello (), ospf_make_db_desc () Added.
4549 ospf_db_desc_proc () Added.n
4550
4551 * Database Description packet can be processed.
4552
45531999-06-08 Toshiaki Takada <takada@zebra.org>
4554
4555 * ospf_lsa.c: New file.
4556
45571999-06-07 Toshiaki Takada <takada@zebra.org>
4558
4559 * ospf_neighbor.c: ospf_fully_adjacent_count () Added.
4560
45611999-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
4562
4563 * ospf_spf.[ch]: New file.
4564
45651999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4566
4567 * ospf_zebra.c: Changed to use lib/zclient.c routines.
4568
4569 * ospf_zebra.h (zebra_start): Remove struct zebra.
4570
45711999-05-29 Kunihiro Ishiguro <kunihiro@zebra.org>
4572
4573 * ospfd.c (ospf_config_write): Add cast (unsigned long int) to
4574 ntohl for sprintf warning.
4575
45761999-05-19 Toshiaki Takada <takada@zebra.org>
4577
4578 * ospf_ism.c (ospf_dr_election): Join AllDRouters Multicast group
4579 if interface state changes to DR or BDR.
4580
45811999-05-14 Stephen R. van den Berg <srb@cuci.nl>
4582
4583 * ospf_main.c (signal_init): SIGTERM call sigint.
4584 (sigint): Logging more better message.
4585
45861999-05-12 Toshiaki Takada <takada@zebra.org>
4587
4588 * ospfd.c: Fix bug of `no router ospf' statement, it will work.
4589
45901999-05-11 Toshiaki Takada <takada@zebra.org>
4591
4592 * ospf_neighbor.c: ospf_nbr_free () Added.
4593
45941999-05-10 Toshiaki Takada <takada@zebra.org>
4595
4596 * ospfd.h: struct ospf_area { }, struct ospf_network { } Changed.
4597 * Fix bug of `no network' statement, it will work.
4598
45991999-05-07 Toshiaki Takada <takada@zebra.org>
4600
4601 * ospf_interface.c, ospf_zebra.c: Fix bug of last interface is not
4602 updated by ospf_if_update ().
4603
46041999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
4605
4606 * Makefile.am (noinst_HEADERS): Add ospf_lsa.h for distribution.
4607
46081999-04-25 Toshiaki Takada <takada@zebra.org>
4609
4610 * ospf_interface.c: DEFUN (no_if_ospf_cost),
4611 DEFUN (no_if_ospf_dead_interval),
4612 DEFUN (no_if_ospf_hello_interval),
4613 DEFUN (no_if_ospf_priority),
4614 DEFUN (no_if_ospf_retransmit_interval),
4615 DEFUN (no_if_ospf_transmit_delay) Added.
4616
4617 interface_config_write () suppress showing interface
4618 default values.
4619
46201999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
4621
4622 * ospf_dump.c (ospf_timer_dump): If thread is NULL return "inactive".
4623
4624 * ospfd.c (ospf_if_update): Fix bug of using ospf_area { } instead
4625 of ospf_network { }. So `router ospf' statement in ospfd.conf
4626 works again.
4627 (ospf_if_update): Call ospf_get_router_id for updating router ID.
4628
46291999-04-25 Toshiaki Takada <takada@zebra.org>
4630
4631 * ospf_interface.c: DEFUN (if_ospf_network) deleted.
4632 DEFUN (if_ospf_network_broadcast),
4633 DEFUN (if_ospf_network_non_broadcast),
4634 DEFUN (if_ospf_network_point_to_multipoint),
4635 DEFUN (if_ospf_network_point_to_point),
4636 DEFUN (no_if_ospf_network) Added.
4637
46381999-04-23 Toshiaki Takada <takada@zebra.org>
4639
4640 * ospfd.h: struct area { } changed to struct ospf_network { }.
4641 Add struct ospf_area { }.
4642 * ospfd.c: Add ospf_area_lookup_by_area_id (), ospf_network_new (),
4643 and ospf_network_free ().
4644 DEFUN (area_authentication), DEFUN (no_area_authentication) Added.
4645
46461999-04-22 Toshiaki Takada <takada@zebra.org>
4647
4648 * ospf_lsa.h: New file.
4649 * ospf_packet.h: LSA related struct definition are moved to
4650 ospf_lsa.h.
4651 * ospf_packet.c: ospf_verify_header () Added.
4652
46531999-04-21 Toshiaki Takada <takada@zebra.org>
4654
4655 * ospf_ism.c: ospf_elect_dr () and related function is changed.
4656 DR Election bug fixed.
4657 * ospf_dump.c: ospf_nbr_state_message (), ospf_timer_dump () Added.
4658 * ospfd.c: DEFUN (show_ip_ospf_neighbor) Added.
4659
46601999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
4661
4662 * ospf_main.c (main): access_list_init () is added for vty
4663 connection filtering.
4664
46651999-04-16 Toshiaki Takada <takada@zebra.org>
4666
4667 * ospfd.c: DEFUN (show_ip_ospf_interface) Added.
4668 * ospf_neighbor.c: ospf_nbr_count () Added.
4669
46701999-04-15 Toshiaki Takada <takada@zebra.org>
4671
4672 * ospfd.h: struct ospf { } Changed.
4673 * ospfd.c: ospf_lookup_by_process_id () Deleted.
4674 * ospf_ism.c: ospf_wait_timer () Added. WaitTimer will work.
4675
46761999-04-14 Toshiaki Takada <takada@zebra.org>
4677
4678 * ospf_ism.c: ospf_elect_dr () Added.
4679 * ospf_network.c: ospf_if_ipmulticast () Added.
4680
46811999-04-11 Toshiaki Takada <takada@zebra.org>
4682
4683 * ospf_interface.c: interface_config_write (),
4684 DEFUN (if_ip_ospf_cost),
4685 DEFUN (if_ip_ospf_dead_interval),
4686 DEFUN (if_ip_ospf_hello_interval),
4687 DEFUN (if_ip_ospf_priority),
4688 DEFUN (if_ip_ospf_retransmit_interval) and
4689 DEFUN (if_ip_ospf_transmit_delay) Added.
4690
46911999-04-08 Toshiaki Takada <takada@zebra.org>
4692
4693 * ospf_dump.c: ospf_packet_db_desc_dump () Added.
4694 * ospf_neighbor.c: ospf_nbr_bidirectional () Added.
4695 * ospf_nsm.c: nsm_twoway_received () Added.
4696
46971999-04-02 Toshiaki Takada <takada@zebra.org>
4698
4699 * ospf_neighbor.c: New file.
4700 * ospf_neighbor.h: New file.
4701 * ospf_nsm.c: New file.
4702 * ospf_nsm.h: New file.
4703 * ospf_packet.c: Add ospf_make_header (), ospf_hello () and
4704 ospf_hello_send (). Now OSPFd can receive Hello and send Hello.
4705
47061999-03-27 Kunihiro Ishiguro <kunihiro@zebra.org>
4707
4708 * ospf_packet.c: Add ospf_recv_packet (). Now OSPF Hello can receive.
4709
47101999-03-19 Toshiaki Takada <takada@zebra.org>
4711
4712 * ospf_packet.c: New file.
4713 * ospf_packet.h: New file.
4714 * ospf_network.c: New file.
4715 * ospf_network.h: New file.
4716 * ospfd.h: move OSPF message structure has moved to ospf_packet.h.
4717
47181999-03-17 Kunihiro Ishiguro <kunihiro@zebra.org>
4719
4720 * ospf_zebra.c (ospf_zebra_get_interface): Fix for IPv6 interface
4721 address.
4722
4723 * Makefile.am (install-sysconfDATA): Overwrite install-sysconfDATA
4724 for install ospfd.conf.sample as owner read only file.
4725
4726 * ospf_main.c (usage): Change to use ZEBRA_BUG_ADDRESS.
4727
47281999-03-15 Toshiaki Takada <takada@zebra.org>
4729
4730 * ospf_ism.c: New file.
4731 * ospf_ism.h: New file.
4732 * ospf_dump.c: New file.
4733 * ospf_dump.h: New file.
4734
4735 * ospfd.h: Add (struct ospf), (struct config_network),
4736 (struct message) structure.
4737
4738 * ospf_interface.c: Add ospf_if_match_network ().
4739 * ospf_interface.h (struct ospf_interface): Change struct members.
4740
4741 * ospfd.c: ospf_lookup_by_process_id (), ospf_network_new (),
4742 DEFUN (network_area): Added.
4743
4744 * ospfd.conf.sample: Change sample configuration.
4745
47461999-03-05 Toshiaki Takada <takada@zebra.org>
4747
4748 * ospf_interface.c: New file.
4749 * ospf_interface.h: New file.
4750 * ospf_zebra.h: New file.
4751 * ospf_zebra.c: Add interface function for zebra daemon.
4752 * ospfd.c: New file.
4753
47541999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4755
4756 * Move IPv6 codes and files to ospf6d directory.
4757
47581999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
4759
4760 * syslog support added
4761
47621998-12-22 Toshiaki Takada <takada@zebra.org>
4763
4764 * ospfd.h: New file.
4765 * ospf_lsa.h: New file.
4766
47671998-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
4768
4769 * Makefile.am: New file.
4770 * ospf_main.c: New file.
4771