blob: 299de23c7cf136b6bf8560eb44beffd19fc55250 [file] [log] [blame]
pauleb3da6d2005-10-18 04:20:33 +000012005-10-18 Paul Jakma <paul.jakma@sun.com>
2
3 * (general) SPF memory management cleanup and fix for rare
4 double-free bug.
5 * ospf_spf.h: (struct vertex_parent) New struct to hold parent
6 specific data, eg the backlink and the parent vertex pointer,
7 and point to the appropriate general struct vertex_nexthop.
8 (struct vertex_nexthop) remove parent vertex pointer, so
9 this struct can be shared across vertices.
10 (struct vertex) rename list child to list children. Remove
11 list of nexthops, replace with list of vertex_parents.
12 * ospf_spf.c: (update_stat) trivial, remove cast from void *.
13 (vertex_nexthop_new) remove init of parent - field is gone
14 from struct vertex_nexthop.
15 (ospf_canonical_nexthops_free) Remove the canonical
16 vertex_nexthop memory objects. These are the vertex_nexthops
17 attached to the first level of router vertices from the root.
18 (vertex_parent_new) new function, create a vertex_parent.
19 (vertex_parent_free) ditto, but free it.
20 (ospf_vertex_new) Update to match changes to struct vertex.
21 (ospf_vertex_free) Recursively free a struct vertex and its
22 children. The parent list is used as a reference count.
23 vertex_nexthops must be free seperately, if required.
24 (ospf_vertex_dump) update to match struct vertex changes.
25 Print out backlink of parents too.
26 (ospf_vertex_add_parent) ditto.
27 (ospf_lsa_has_link) update comment.
28 (ospf_nexthop_add_unique) removed, not needed anymore.
29 (ospf_nexthop_merge) ditto.
30 (ospf_spf_consider_nexthop) renamed to ospf_spf_add_parent.
31 Simplified to just create vertex_parent and add it.
32 (ospf_spf_flush_parents) new function, flush out the parent
33 list.
34 (ospf_nexthop_calculation) Take the relevant route_lsa_link
35 as an argument, which simplifies things and removes the need
36 for the hack in ospf_nexthop_add_unique - ospf_spf_next
37 already knew exactly which link the cost calculated was for.
38 Update to match struct vertex changes too.
39 (ospf_spf_next) Don't create a vertex for W unnecessarily, if
40 it's there's a vertex already created for W, use it, and
41 hence there's no need to free it either.
42 Update some manipulation/comparisons of distance to match.
43 Flush the parent list if a lower cost path is found.
44 (ospf_spf_route_free) unused, removed.
45 (ospf_spf_dump) match the struct vertex changes, and dump the
46 ifname if possible.
47 (ospf_spf_calculate) At end of SPF, free the canonical nexthops
48 and call ospf_vertex_free on the root vertex to free the
49 entire tree.
50 * ospf_interface.c: (ospf_vl_set_params) match struct vertex
51 changes.
52 * ospf_route.c: (ospf_intra_route_add) ditto
53 (ospf_route_copy_nexthops_from_vertex) ditto
54
paul36238142005-10-11 04:12:54 +0000552005-10-11 Paul Jakma <paul.jakma@sun.com>
56
57 * ospf_api.c: sign warnings.
58 * ospf_apiserver.c: sign warning and convert all the struct
59 in_addr initialisations so as not to make assumptions about
60 how this struct is organised, initialise the s_addr member
61 explicitely.
62 * ospf_packet.c: Add const qualifier to auth_key.
63
vincent77df1f72005-10-06 07:46:22 +0000642005-10-06 Alain Ritoux <alain.ritoux@6wind.com>
65
66 * ospf_snmp.c: Avoid mixing interface and ospf_interface objects
67 which now allows snmpwalk to work with ospfIfTable and
68 also with ospfIfMetricTable
69
ajsf52d13c2005-10-01 17:38:06 +0000702005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
71
72 * ospf_dump.c: Remove local hard-coded table ospf_redistributed_proto.
73 (ospf_redist_string) New function implemented using new library
74 function zebra_route_string(). Note that there are a few differences
75 in the output that will result: the new function returns strings
76 that are lower-case, whereas the old table was mixed case. Also,
77 the old table mapped ZEBRA_ROUTE_OSPF6 to "OSPFv3", whereas the
78 new function returns "ospf6".
79 * ospfd.h: Remove extern struct message ospf_redistributed_proto[],
80 and add extern const char *ospf_redist_string(u_int route_type)
81 instead.
82 * ospf_asbr.c: (ospf_external_info_add) In two messages, use
83 ospf_redist_string instead of LOOKUP(ospf_redistributed_proto).
84 * ospf_vty.c: Remove local hard-coded table distribute_str.
85 (config_write_ospf_redistribute,config_write_ospf_distribute): Use
86 new library function zebra_route_string() instead of distribute_str[].
87 * ospf_zebra.c: (ospf_redistribute_set,ospf_redistribute_unset,
88 ospf_redistribute_default_set,ospf_redistribute_check)
89 In debug messages, use ospf_redist_string() instead of
90 LOOKUP(ospf_redistributed_proto).
91
jardin6638c1a2005-10-01 00:08:54 +0000922005-09-30 Vincent Jardin <vincent.jardin@6wind.com>
93
94 * ospf_dump.c, ospf_ia.c, ospf_spf.c, ospf_ase.c:
95 remove unused DEBUG
96
vincentba682532005-09-29 13:52:57 +0000972005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
98
vincent5e4914c2005-09-29 16:34:30 +000099 * ospf_ism.c: generate SNMP traps on Interface state change
100 * ospf_nsm.c: generate SNMP traps on Neighbour state change
101 * ospf_snmp.[ch]: support for SNMP traps for interface and neighbours.
102
1032005-09-29 Alain Ritoux <alain.ritoux@6wind.com>
104
vincentba682532005-09-29 13:52:57 +0000105 * ospf_vty.c: forece default route LSA to be re_issued whenever
106 cost is changed ( [no] ip ospf area XXX default-cost YYY)
107 Support ignore-mtu option
108 * ospfd.h: define OSPF_MTU_IGNORE_DEFAULT
109 * ospf_packet.c: support ignore-mtu option
110 * ospf_interface.h: field added for skipping MTU check
111 * ospf_interface.c: fix memory leak in ospf_crypt_key_delete()
112 Set mtu_ignore field to default value
113 * ospf_abr.[ch]: export ospf_abr_announce_network_to_area()
114 * ospf_ism.h: add MACRO to convert internal ISM status into SNMP
115 correct values
116 * ospf_snmp.c: add sanity check on LSA type in lsdb_lookup_next()
117 convert OSPFIFSTATE internal status into SNMP values
118
vincentc1a03d42005-09-28 15:47:44 +00001192005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
120
121 * ospf_packet.c: use new md5 API
122
ajs5339cfd2005-09-19 13:28:05 +00001232005-09-19 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
124
125 * ospf_lsa.h: (ospf_external_lsa_flush) Comment out the 5th argument
126 (nexthop) since it is not used in the function (except inside
127 some commented-out code).
128 * ospf_lsa.c: (ospf_external_lsa_flush,ospf_external_lsa_refresh)
129 Comment out the 5th argument to ospf_external_lsa_flush.
130 * ospf_asbr.c: (ospf_redistribute_withdraw) Comment out 5th arg
131 to ospf_external_lsa_flush.
132 * ospf_vty.c: (no_ospf_default_information_originate) Eliminate 5th
133 uninitialized nexthop arg to ospf_external_lsa_flush.
134 * ospf_zebra.c: (ospf_zebra_read_ipv4) Comment out 5th arg
135 to ospf_external_lsa_flush.
136 * ospfd.c: (ospf_network_set) Comment out 5th arg
137 to ospf_external_lsa_flush.
138
ajse6a0bf92005-09-17 18:53:38 +00001392005-09-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
140
141 * ospf_opaque.c:
142 (ospf_opaque_lsa_refresh_schedule,ospf_opaque_lsa_flush_schedule)
143 No need to call ospf_lookup(), just use lsa0->area->ospf instead.
144
hassobb5b7552005-08-21 20:01:15 +00001452005-08-21 Hasso Tepper <hasso at quagga.net>
146
147 * ospf_vty.c: Make "show ip ospf neighbor xxx" commands work.
148 Interface should be specified by name now.
149
hasso54bedb52005-08-17 13:31:47 +00001502005-08-17 Hasso Tepper <hasso at quagga.net>
151
152 * ospf_vty.c: Check carefully if interface exists before trying to
153 print info about it.
154
hasso01018ce2005-08-05 07:40:15 +00001552005-08-05 Hasso Tepper <hasso at quagga.net>
156
157 * ospf_zebra.c: Don't assert/stop before type == ZEBRA_ROUTE_MAX if
158 dealing with routemaps. There is ospf->route_map[ZEBRA_ROUTE_MAX]
159 for default-information.
160
paulc8987752005-07-26 06:07:22 +00001612005-07-26 Paul Jakma <paul.jakma@sun.com>
162
163 * ospf_abr.c: (ospf_abr_announce_network_to_area) SET_FLAG
164 should be on lsa not old, which may be freed for one thing,
165 obviously.
166
pauld57834f2005-07-12 20:04:22 +00001672005-07-12 Paul Jakma <paul.jakma@sun.com>
168
169 * ospfd.h: add OSPF_ABR_DEFAULT for convenience, make
170 OSPF_ABR_CISCO be the default ABR type.
171 * ospfd.c: (ospf_new) initialise abr_type to OSPF_ABR_DEFAULT
172 * ospf_vty.c: (no_ospf_abr_type_cmd) add standard as a negatable
173 abr_type. default abr_type should be OSPF_ABR_DEFAULT.
174 (ospf_config_write) test whether default abr_type against
175 OSPF_ABR_DEFAULT, rather than any specific ABR_TYPE.
176
hasso8469bd72005-06-20 20:50:10 +00001772005-06-20 Hasso Tepper <hasso at quagga.net>
hassof4833e92005-06-20 20:42:26 +0000178
179 * ospf_nsm.c: Make database exchange for NSSA database work.
180
paul7461d452005-06-13 13:57:16 +00001812005-06-13 Paul Jakma <paul.jakma@sun.com>
182
183 * ospf_spf.c: Try get more information on a SEGV under
184 ospf_spf_vertex_add_parent.
185 (ospf_vertex_free) NULL out the child and nexthop lists
186 (ospf_vertex_add_parent) nexthop and child can not be NULL
187 vertex_nexthop's parent->child list can not be NULL
188 (ospf_spf_next) w and cw are per-loop iteration variables, move
189 declarations into loop body.
190
hasso1ddd7292005-06-07 19:54:04 +00001912005-06-07 Hasso Tepper <hasso at quagga.net>
192
193 * ospf_apiserver.c: Fix obvious error in notifying clients about ISM
194 changes - oi->ifp->status doesn't give to us info about ISM,
195 oi->state does.
196
paul7e440862005-06-01 11:20:51 +00001972005-06-01 Akihiro Mizutani <mizutani@net-chef.net>
198
199 * ospf_ism.c (ospf_elect_bdr/ospf_elect_dr): Fix DR election bug.
200
paul500e4182005-05-26 17:11:13 +00002012005-05-26 Paul Jakma <paul.jakma@sun.com>
202
203 * ospf_abr.c: (ospf_abr_update_aggregate) Fix comment, cost bug itself
204 had been fixed long ago by Sowmini.
205
paula3387a42005-05-18 23:29:57 +00002062005-05-19 Paul Jakma <paul.jakma@sun.com>
207
208 * ospf_interface.c: (ospf_if_table_lookup) Fix a serious bug
209 a less serious one.
210 1: this function is supposed to lookup
211 entries in the oifs ospf_interface route_table and return either
212 an existing oi or NULL to indicate not found, its caller depends
213 on this, yet this function uses route_node_get which /always/
214 returns a route_node - one is created if none exists. Use
215 route_node_lookup instead. This should fix root cause of the
216 reports of the (ospf_add_to_if) assert being hit.
217 2: oi's are inserted into this table with prefixlength set to
218 /32 (indeed, it should be a hash table, not a route_table),
219 however prefixlength to lookup was not changed, if no valid entry
220 can be inserted other than /32, then nothng but /32 should be
221 looked up. This possibly only worked by fluke..
222 Fix confirmed by 2 reporters (one list, one IRC), definitely a
223 backport candidate once it has been incubated in HEAD for a while.
224 Thanks to Patrick Friedel and Ivan Warren for testing.
225
paul69310a62005-05-11 18:09:59 +00002262005-05-11 Paul Jakma <paul.jakma@sun.com>
227
228 * (general) Fix memory leaks in opaque AS-scope LSAs, reported and
229 with much debugging done by by scott collins <scollins@agile.tv>.
230 * ospf_lsa.c: (ospf_discard_from_db) dont call
231 ospf_ase_unregister_external_lsa for opaque-lsa's, opaques are
232 never registered with ase in the first place.
233 * ospf_packet.c: (general) Disabuse opaque related code of its
234 tendency to try gather up things into temporary lists.
235 (ospf_ls_upd) remove the temporary lists opaque uses, call
236 opaque functions inline, just like all other types.
237 (ospf_ls_ack) ditto.
238 (ospf_recv_packet) fixup sign warning.
239 * ospf_opaque.c: (general) fix the unneeded use of lists, and
240 untwist some of the logic.
241 (ospf_opaque_self_originated_lsa_received) take a single LSA
242 as argument, not a list of them. Remove the list loop. Logic
243 otherwise unchanged.
244 (ospf_opaque_ls_ack_received) Mostly ditto. But untwist the logic,
245 move the actions up into the switch block, remove the goto's and
246 sanitise the logic near the end a bit.
247 * ospf_opaque.h: Adjust definitions of aforementioned functions
248 in ospf_opaque.c to match.
249
paul42c98192005-05-07 02:22:51 +00002502005-05-07 Yar Tikhiy <yar@comp.chem.msu.su>
251
252 * ospf_network.c: Log ifindex on multicast membership leave/join
253 events.
254
paul4dadc292005-05-06 21:37:42 +00002552005-05-06 Paul Jakma <paul.jakma@sun.com>
256
257 * (general) extern and static qualifiers added.
258 unspecified arguments in definitions fixed, typically they should
259 be 'void'.
260 function casts added for callbacks.
261 Guards added to headers which lacked them.
262 Proper headers included rather than relying on incomplete
263 definitions.
264 gcc noreturn function attribute where appropriate.
265 * ospf_opaque.c: remove the private definition of ospf_lsa's
266 ospf_lsa_refresh_delay.
267 * ospf_lsa.h: export ospf_lsa_refresh_delay
268 * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const,
269 correct thing to do - removes need for the casts later.
270 * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's
271 home-brewed versions, shuts up several warnings.
272 * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and
273 VTY_GET_IPV4_PREFIX moved to lib/vty.h.
274 * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky
275 overloading of the THREAD_ARG pointer should at least use
276 uintptr_t.
277
paul9e67dc22005-04-15 12:10:17 +00002782005-04-15 Zhipeng Gong <zpgong@cdc.3upsystems.com>
279
280 * ospf_abr.c: (ospf_abr_announce_network_to_area) dont forget
281 to approve LSAs for the case where metric has changed, lsa gets
282 flushed otherwise. (backport candidate).
283
ajs634f9ea2005-04-11 15:51:40 +00002842005-04-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
285
286 * ospf_zebra.c (ospf_zebra_add): Call zclient_send_message instead
287 of writen.
288
ajsd2fc8892005-04-02 18:38:43 +00002892005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
290
ajse4319de2005-04-02 23:23:55 +0000291 * ospf_interface.h: (ospf_if_lookup_by_name) Remove declaration of a
292 function that does not exist.
293
2942005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
295
ajs21fefa92005-04-02 23:16:41 +0000296 * ospf_zebra.c: (zebra_interface_if_lookup) Must use
297 if_lookup_by_name_len.
298
2992005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
300
ajsa3491982005-04-02 22:50:38 +0000301 * ospf_interface.c: (ospf_vl_new) Use strnlen to fix call to if_create.
302
3032005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
304
ajsd2fc8892005-04-02 18:38:43 +0000305 * ospf_vty.c: (show_ip_ospf_interface_sub) Show ifindex and interface
306 flags to help with debugging.
307 * ospf_zebra.c: (ospf_interface_delete) After deleting, set ifp->ifindex
308 to IFINDEX_INTERNAL.
309 (zebra_interface_if_lookup) Make function static. Tighten up code.
310
ajsaca72fd2005-03-31 15:18:21 +00003112005-03-31 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
312
313 * ospf_dump.c: (show_debugging_ospf) Show if ospf event debugging
314 is turned on.
315
ajsfd651fa2005-03-29 16:08:16 +00003162005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
317
ajsa608bbf2005-03-29 17:03:49 +0000318 * ospf_zebra.c: (ospf_interface_state_up) If the MTU of an operative
319 interface changes, print a debug message and call ospf_if_reset()
320 to simulate down/up on the interface.
321 * ospf_interface.h: Declare new function ospf_if_reset().
322 * ospf_interface.c: (ospf_if_reset) New function to call ospf_if_down
323 and ospf_if_up for all ospf interfaces attached to an interface.
324
3252005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
326
ajs5dcbdf82005-03-29 16:13:49 +0000327 * ospf_packet.c: (ospf_write_frags) Enhance error message to
328 show MTU. Also make function static.
329 (ospf_write) Enhance error message to show interface name and MTU.
330 Also make function static.
331
3322005-03-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
333
334 * ospf_vty.c: (show_ip_ospf_interface_sub) Display interface MTU and
335 bandwidth; this is useful for debugging problems. Also, the function
336 should be static.
ajsfd651fa2005-03-29 16:08:16 +0000337
hasso1b639042005-03-27 13:32:25 +00003382005-03-27 Hasso Tepper <hasso at quagga.net>
339
340 * ospf_snmp.c: Don't crash in snmp query if ospf instance doesn't
341 exist at all.
342
hasso343f5cc2005-03-25 19:48:40 +00003432005-03-25 Hasso Tepper <hasso at quagga.net>
344
345 * ospfd.h: Include log.h, fixes compile with gcc-4.0.
346
ajs9dbc7972005-03-13 19:27:22 +00003472005-03-13 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
348
349 * ospf_lsa.c: (ospf_lsa_refresh_walker) If the system clock jumps
350 backward, then current time may be less than
351 ospf->lsa_refresher_started. This was causing invalid values
352 for ospf->lsa_refresh_queue.index resulting in infinite loops.
353 Problem fixed by casting the expression to unsigned before taking
354 the modulus.
355
ajs5c333492005-02-23 15:43:01 +00003562005-02-23 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
357
358 * ospfd.h: Add new field struct stream *ibuf to struct ospf.
359 * ospfd.c: (ospf_new) Check return code from ospf_sock_init.
360 Allocate ibuf using stream_new(OSPF_MAX_PACKET_SIZE+1).
361 (ospf_finish) Call stream_free(ospf->ibuf.
362 * ospf_packet.c: (ospf_read) Call stream_reset(ospf->ibuf) and then
363 pass it to ospf_recv_packet for use in receiving the packet
364 (instead of allocating a new stream for each packet received).
365 Eliminate all calls to stream_free(ibuf).
366 (ospf_recv_packet) The struct stream *ibuf is now passed in as
367 an argument. No need to use recvfrom to peek at the packet
368 header (to see how big it is), just use ospf->ibuf which is
369 always large enough (this eliminates a system call to recvfrom).
370 Therefore, no need to allocate a stream just for this packet,
371 and no need to free it when done.
372
hasso462f20d2005-02-23 11:29:02 +00003732005-02-23 Vincenzo Eramo <eramo at infocom.ing.uniroma1.it>
374
375 * ospf_lsa.h: New flag to the LSA structure for the SPF calculation.
376 * ospf_lsdb.h: Export ospf_lsdb_clean_stat() function.
377 * ospf_spf.h: Add link to the LSA stat structure into vertex.
378 * ospf_spf.c: New functions cmp() and update_stat() to manage
379 candidates. Remove ospf_spf_has_vertex(), ospf_vertex_lookup(),
380 ospf_install_candidate() and ospf_spf_register() functions not needed
381 any more. Update ospf_vertex_new(), ospf_spf_next() and
382 ospf_spf_calculate() functions to use pqueue instead of linked list.
383
hassoe40dcce2005-02-21 14:58:42 +00003842005-02-21 Hasso Tepper <hasso at quagga.net>
385
386 * ospf_ase.c: Don't show messages related to the ase calculations if
387 we are not debugging.
388
hasso306541b2005-02-19 17:58:40 +00003892005-02-19 Hasso Tepper <hasso at quagga.net>
390
391 * ospf_api.h: char isn't always signed, but it has to be it here.
392
paulfa81b712005-02-19 01:19:20 +00003932005-02-19 Paul Jakma <paul.jakma@sun.com>
394
395 * ospf_packet.c: (ospf_stream_copy) remove
396 (ospf_packet_dup) use stream_copy instead of ospf_stream_copy
397
ajs038163f2005-02-17 19:55:59 +00003982005-02-17 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
399
400 * ospf_packet.c: (ospf_recv_packet) If there is somehow a runt
401 packet in the queue, it must be discarded. Improve warning messages.
402 Fix scope to static.
403 (ospf_read) Fix bug: should reset the read thread in all cases
404 to make sure we continue to get incoming messages.
405
paul658b03a2005-02-15 10:10:55 +00004062005-02-15 Paul Jakma <paul.jakma@sun.com>
407
408 * ospf_packet.c: (ospf_recv_packet) Fix silly error wrt allocating
409 ibuf. Thanks Andrew.
410
paulbfdc44a2005-02-14 23:48:42 +00004112005-02-14 Paul Jakma <paul.jakma@sun.com>
412
413 * ospf_packet.c: (ospf_recv_packet) use stream_recvmsg.
414
hasso082253f2005-02-11 08:31:54 +00004152005-02-11 Hasso Tepper <hasso at quagga.net>
416
417 * ospf_lsdb.c: Fix sum of checksums calculation.
418
ajs083ee9d2005-02-09 15:35:50 +00004192005-02-09 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
420
421 * ospf_packet.c: (ospf_write) If sendmsg fails, give more info in the
422 error message.
423
ajsba6454e2005-02-08 15:37:30 +00004242005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
425
ajs8cfde372005-02-08 15:59:16 +0000426 * ospf_interface.h: Reduce structure padding by putting new u_char
427 field multicast_memberships in a better spot (grouped with
428 other u_char fields type and state).
429
4302005-02-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
431
ajsba6454e2005-02-08 15:37:30 +0000432 * ospf_interface.h: Improve passive_interface comment. Add new
433 multicast_memberships bitmask to struct ospf_interface to track
434 active multicast subscriptions. Declare new function
435 ospf_if_set_multicast.
436 * ospf_interface.c: (ospf_if_set_multicast) New function to configure
437 multicast memberships properly based on the current
438 multicast_memberships status and the current values of the
439 ospf_interface state, type, and passive_interface status.
440 (ospf_if_up) Remove call to ospf_if_add_allspfrouters (this is
441 now handled by ism_change_state's call to ospf_if_set_multicast).
442 (ospf_if_down) Remove call to ospf_if_drop_allspfrouters (now
443 handled by ism_change_state).
444 * ospf_ism.c: (ospf_dr_election) Remove logic to join or leave
445 the DRouters multicast group (now handled by ism_change_state's call
446 to ospf_if_set_multicast).
447 (ism_change_state) Add call to ospf_if_set_multicast to change
448 multicast memberships as necessary to reflect the new interface state.
449 * ospf_packet.c: (ospf_hello) When a Hello packet is received on a
450 passive interface: 1. Increase the severity of the error message
451 from LOG_INFO to LOG_WARNING; 2. Add more information to the error
452 message (packet destination address and interface address);
453 and 3. If the packet was sent to ospf-all-routers, then try
454 to fix the multicast group memberships.
455 (ospf_read) When a packet is received on an interface whose state
456 is ISM_Down, enhance the warning message to show the packet
457 destination address, and try to update/fix the multicast group
458 memberships if the packet was sent to a multicast address.
459 When a packet is received for ospf-designated-routers, but the
460 current interface state is not DR or BDR, then increase the
461 severity level of the error message from LOG_INFO to LOG_WARNING,
462 and try to fix the multicast group memberships.
463 * ospf_vty.c: (ospf_passive_interface) Call ospf_if_set_multicast for
464 any ospf interface that may have changed from active to passive.
465 (no_ospf_passive_interface) Call ospf_if_set_multicast for
466 any ospf interface that may have changed from passive to active.
467 (show_ip_ospf_interface_sub) Show multicast group memberships.
468
paul3a9eb092005-02-08 11:29:41 +00004692005-02-08 Paul Jakma <paul@dishone.st>
470
471 * ospf_packet.c: (various) Remove unneeded stream_set_putp abuse.
472
ajs847947f2005-02-02 18:38:48 +00004732005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
474
475 * ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down,
476 not for event ISM_InterfaceDown. And improve the message by
477 adding the interface flags.
478
ajs0b7d97d2005-01-30 17:24:02 +00004792005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
480
481 * ospf_network.c: (ospf_sock_init) Save errno before calling
482 ospfd_privs.change.
483
ajsc3eab872005-01-29 15:52:07 +00004842005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
485
486 * ospf_packet.c: (ospf_packet_add) If oi->obuf is NULL, print
487 an error message and return.
488 (ospf_read) If the interface state is ISM_InterfaceDown, issue
489 a warning message and ignore the packet.
490
gdt86f1fd92005-01-10 14:20:43 +00004912005-01-10 Greg Troxel <gdt@fnord.ir.bbn.com>
492
493 * ospf_packet.h: Remove commented out definition of
494 OSPF_MAX_PACKET; neither it or the uncommented one are used any more.
495
496 * ospf_packet.c (ospf_make_ls_upd): Leave room for authentication
497 when deciding if an update will fit.
498 (ospf_packet_authspace): Factor out calculation of size required
499 for authentication.
500 (ospf_make_db_desc): Use ospf_max_packet, not OSPF_MAX_PACKET.
501 Don't confuse readers that there is a macro.
502
ajs3dc56b52004-12-30 15:11:19 +00005032004-12-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
504
505 * ospf_network.c: Improve all setsockopt error messages to give detailed
506 information on the arguments.
507
ajsb87f7722004-12-29 20:41:26 +00005082004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
509
ajs17eaa722004-12-29 21:04:48 +0000510 * ospf_packet.c: (ospf_db_desc) Reduce severity of "Negotiation done"
511 messages from LOG_WARNING to LOG_INFO, since this seems to be
512 normal.
513
5142004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
515
ajsb87f7722004-12-29 20:41:26 +0000516 * ospf_packet.c: (ospf_read) Always look up the interface if
517 ospf_recv_packet returns NULL ifp, since some platforms such
518 as Solaris 8 appear to support ifindex retrieval but don't.
519
hasso1d806282004-12-22 09:43:20 +00005202004-12-22 Hasso Tepper <hasso at quagga.net>
521
522 * ospf_dump.c: Show debug configuration in vtysh.
hassoc6b87812004-12-22 13:09:59 +0000523 * ospf_vty.c: Fix "show ip ospf" output. Router can't be elected in
524 any case if it's configured as "translate-never".
hassofe71a972004-12-22 16:16:02 +0000525 * ospf_lsdb.[ch]: New function to calculate sum of checksums.
526 * ospf_vty.c: Bugfix to show really number of AS external LSAs, not
527 number of all LSAs with AS scope, this includes opaque as LSAs as
528 well, show this number separately. Show numbers and sums of
529 checksums for each type of LSAs.
530 * ospf_lsa.c: Calculate checksum before putting LSA into database.
hasso1d806282004-12-22 09:43:20 +0000531
ajsbc18d612004-12-15 15:07:19 +00005322004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
533
534 * ospf_interface.h: Declare new function ospf_default_iftype.
535 * ospf_interface.c: (ospf_default_iftype) New function to centralize
536 this logic in one place.
537 * ospf_zebra.c: (ospf_interface_add) Use new function
538 ospf_default_iftype.
539 * ospf_vty.c: (no_ip_ospf_network,config_write_interface) Fix logic
540 by using new function ospf_default_iftype.
541
ajs3aa8d5f2004-12-11 18:00:06 +00005422004-12-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
543
544 * ospf_packet.c: (ospf_db_desc) Should be static, not global.
545 (ospf_hello,ospf_db_desc,ospf_ls_upd,ospf_ls_ack) Improve warning
546 messages to include identifying information (e.g. router id).
547 * ospf_nsm.c: (nsm_change_state) Improve info message to include
548 router id and state names.
549
gdt91f3e522004-12-09 14:51:03 +00005502004-12-09 Greg Troxel <gdt@fnord.ir.bbn.com>
551
gdt3fb9de72004-12-09 16:30:04 +0000552 * ospf_apiserver.c (ospf_apiserver_term): Obtain struct
553 ospf_apiserver * from listnode. Remove unused variables. Follows
554 suggestion from Jay Fenlason.
gdt91f3e522004-12-09 14:51:03 +0000555
ajs9b0e25c2004-12-08 19:06:51 +00005562004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
557
558 * *.c: Change level of debug messages to LOG_DEBUG.
559
ajs274a4a42004-12-07 15:39:31 +00005602004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
561
562 * ospf_main.c: (main) The 2nd argument to openzlog has been removed.
563
ajs887c44a2004-12-03 16:36:46 +00005642004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
565
ajs1210fa62004-12-03 16:43:24 +0000566 * ospf_packet.c: (ospf_db_desc) Reduce priority on a debug message
567 from LOG_NOTICE to LOG_DEBUG.
568
5692004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
570
ajs887c44a2004-12-03 16:36:46 +0000571 * ospf_main.c: (sigint) Use zlog_notice for termination message.
572 (main) Issue a startup announcement using zlog_notice.
573
ajsbec595a2004-11-30 22:38:43 +00005742004-11-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
575
576 * ospf_packet.c: (ospf_db_desc_proc) Fix spelling of packet in warning
577 message and in comment.
578 (ospf_db_desc) Warning message that a packet is being discarded
579 should give the router id of the packet source. Fix spelling
580 of packet in two warning messages.
581 (ospf_ls_req) Warning message that a link state request is being
582 discarded should give the router id of the neighbor that sent it.
583
ajs5b85fac2004-11-26 19:36:42 +00005842004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
585
586 * ospf_main.c: Remove #include "debug.h" (was not being used, and
587 lib/debug.h has now been deleted).
588
hassoc0652302004-11-25 19:33:48 +00005892004-11-25 Hasso Tepper <hasso at quagga.net>
590
591 * ospf_main.c: Make group to run as configurable.
592
gdt69e13252004-11-15 18:51:15 +00005932004-11-15 Greg Troxel <gdt@fnord.ir.bbn.com>
594
595 * ospf_packet.c (ospf_recv_packet): Assume CMSG_SPACE is present
596 and works (lib/zebra.h provides if OS doesn't).
597
paul788dab12004-11-15 11:48:37 +00005982004-11-15 Paul Jakma <paul@dishone.st>
599
600 * ospf_{apiserver,te}.c: ospf_lsa_free's should be ospf_lsa_unlock.
601
paul05e85fa2004-11-12 10:52:19 +00006022004-11-12 Paul Jakma <paul@dishone.st>
603
604 * ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to
605 ignore stub area summary default. Even so it seems a strange
606 check, add a comment to that effect.
607
paulf3ae74c2004-11-04 20:35:31 +00006082004-11-04 Paul Jakma <paul@dishone.st>
609
610 * ospfd.c: (ospf_network_match_iface) revert to previous network
611 statement match behaviour.
612
paul62d8e962004-11-02 20:26:45 +00006132004-11-02 Paul Jakma <paul@dishone.st>
614
615 * ospf_packet.c: (ospf_write_frags) remove iov arg, msg already points
616 to it. Add convenience pointer to msg->msg_iov[1], and use this,
617 fixing the unfortunate borkenness introduced in moving of this code
618 to a function.
619 (ospf_write) remove iovp and fix up call to previous.
620 (ospf_ls_upd_packet_new) cast size to long int - unfortunately
621 glibc's size_t format modifier is not portable.
622
paul37ccfa32004-10-31 11:24:51 +00006232004-10-31 Paul Jakma <paul@dishone.st>
624
625 * ospf_packet.c: (ospf_write_frags) Add debug output
626 (ospf_write) set type early, so we can pass it to
627 ospf_write_frags.
628 (ospf_ls_upd_packet_new) print size in debug output when too large
629 packet is encountered.
paul64511f32004-10-31 18:01:13 +0000630 * ospf_zebra.c: (ospf_distribute_list_update_timer) Ugly misuse of
631 THREAD_ARG to store an integer, but it should at least use same
632 same type to retrieve the value. Assert value is sane.
paul37ccfa32004-10-31 11:24:51 +0000633
paulac191232004-10-22 12:05:17 +00006342004-10-22 Paul Jakma <paul@dishone.st>
635
636 * ospf_network.c: (ospf_sock_init) call neutral setsock_ifindex()
637 function.
638 * ospf_packet.c: (ospf_read) manually look up ifindex
paul4ccb2c42004-10-22 22:52:33 +0000639 if system could not have returned one, eg openbsd, thanks to Rivo
640 Nurges for highlighting problem and fix.
paul06f953f2004-10-22 17:00:38 +0000641 Change setsockopt_pktinfo to setsockopt_ifindex.
paulac191232004-10-22 12:05:17 +0000642
hasso3fb9cd62004-10-19 19:44:43 +00006432004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
644
645 * ospf_snmp.c: (ospf_snmp_if_update) Fix logic to handle PtP links
646 with dedicated subnets properly.
647 * ospf_lsa.c: (lsa_link_ptop_set) ditto.
648 * ospfd.c: (ospf_network_match_iface) ditto.
649 (ospf_network_run) ditto.
650 * ospf_interface.c: (ospf_if_is_configured) ditto.
651 (ospf_if_lookup_by_prefix) ditto.
652 (ospf_if_lookup_recv_if) ditto.
653 * ospf_vty.c: (show_ip_ospf_interface_sub) Display the peer or
654 broadcast address if present.
655
hassod68614d2004-10-13 09:32:48 +00006562004-10-13 Hasso Tepper <hasso at quagga.net>
657
658 * ospf_main.c: Unbreak compilation with ospfapi disabled.
hassoc75105a2004-10-13 10:33:26 +0000659 * ospf_snmp.c: Remove defaults used to initialize smux connection to
660 snmpd. Connection is initialized only if smux peer is configured.
hassod68614d2004-10-13 09:32:48 +0000661
hassof4d58ce2004-10-12 06:13:54 +00006622004-10-12 Hasso Tepper <hasso at quagga.net>
663
664 * ospf_main.c, ospf_opaque.c: Unbreak ospfclient compilation - move
665 static variable from ospf_main.c into ospf_opaque.c.
666
hassoc3abdb72004-10-11 16:27:03 +00006672004-10-11 Hasso Tepper <hasso at quagga.net>
668
669 * ospf_main.c, ospf_opaque.c: Disable ospfapi init by default. New
670 command line switch to enable it.
671
paul6b333612004-10-11 10:11:25 +00006722004-10-11 Paul Jakma <paul@dishone.st>
673
674 * ospf_dump.c: (ospf_ip_header_dump) Assume header is in host order
675 remove ntohs that should have dissappeared. Take struct ip
676 as argument, caller has to know there's an IP header at start of
677 stream anyway.
678 * ospf_dump.h: update declaration of ospf_ip_header_dump.
679 * ospf_packet.c: (ospf_write) correct call to
680 sockopt_iphdrincl_swab_htosys which was munging the header.
681 (ospf_recv_packet) ip_len is needed for old OpenBSD fixup.
682 (ospf_read) sockopt_iphdrincl_swab_systoh ip header as soon as
683 we have it.
paul6c835672004-10-11 11:00:30 +0000684 * (global) Const char update and signed/unsigned fixes.
685 * (various headers) size defines should be unsigned.
686 * ospf_interface.h: remove duplicated defines, include the
687 authoritative header - though, these defines should probably
688 be moved to a dedicated header, or ospfd.h.
689 * ospf_lsa.h: (struct lsa) ls_seqnum should be unsigned.
690 * ospf_packet.c: (ospf_write) cast result of shift to unsigned.
paul6b333612004-10-11 10:11:25 +0000691
hassoeb1ce602004-10-08 08:17:22 +00006922004-10-08 Hasso Tepper <hasso at quagga.net>
693
694 * *.[c|h]: Fix compiler warnings: make some strings const, signed ->
695 unsigned, remove unused variables etc.
696
gdt54ade992004-10-07 19:38:20 +00006972004-10-07 Greg Troxel <gdt@claude.ir.bbn.com>
698
699 * ospf_apiserver.c (ospf_apiserver_unregister_opaque_type): Don't
700 use of variable names 'node' and 'nextnode' to avoid possible
701 conflict with list macros. Move variable declaration inside for
702 loop after a statement to top of function.
703
paulaa20c6f2004-10-07 14:19:36 +00007042004-10-07 Paul Jakma <paul@dishone.st>
705
706 * ospf_snmp.c: Missed list typedef update
707 * ospf_dump.c: Include sockopt.h for header swab functions.
708
paul18b12c32004-10-05 14:38:29 +00007092004-10-05 Paul Jakma <paul@dishone.st>
710
711 * ospf_packet.c: replace ospf_swap_iph_to... with
712 sockopt_iphdrincl_swab_...
713
hasso18a6dce2004-10-03 18:18:34 +00007142004-10-03 James R. Leu <jleu at mindspring.com>
715
716 * ospf_zebra.c: Read router id related messages from zebra daemon.
717 Schedule router-id update thread if it's changed.
718 * ospfd.c: Remove own router-id selection function. Use router id from
719 zebra daemon if it isn't manually overriden in configuration.
720
paul68defd62004-09-27 07:27:13 +00007212004-09-27 Paul Jakma <paul@dishone.st>
722
paul6a99f832004-09-27 12:56:30 +0000723 * ospf_dump.c: (ospf_ip_header_dump) Use HAVE_IP_HDRINCL_BSD_ORDER
724 Apply to offset too. Print ip_cksum, lets not worry about
725 possible 2.0.37 compile problems.
726 * ospf_packet.c: (ospf_swap_iph_to{n,h}) Use
727 HAVE_IP_HDRINCL_BSD_ORDER.
728 (ospf_recv_packet) ditto.
729 (ospf_write) Fixup iov argument to ospf_write_frags.
730 (struct msghdr).msg_name is caddr_t on most platforms.
paul68defd62004-09-27 07:27:13 +0000731 (ospf_recv_packet) ditto. And msg_flags is not always there
732 memset struct then set fields we care about rather than
733 initialise all fields individually.
734
hassoc9e52be2004-09-26 16:09:34 +00007352004-09-26 Hasso Tepper <hasso at quagga.net>
736
737 * ospf_abr.c, ospf_dump.c, ospf_lsa.c, ospf_packet.c, ospf_vty.c,
738 ospf_zebra.c: Fix compiler warnings.
739
paul87d6f872004-09-24 08:01:38 +00007402004-09-24 Paul Jakma <paul@dishone.st>
741
742 * ospf_apiserver.{c,h}: lists typedef removal cleanup.
743 update some list loops to LIST_LOOP. some miscellaneous indent
744 fixups.
745 (ospf_apiserver_unregister_opaque_type) fix listnode_delete of
746 referenced node in loop.
paul1603c062004-09-24 08:23:24 +0000747 (ospf_apiserver_term) loops calling ospf_apiserver_free, which
748 deletes referenced nodes from apiserver_list, fixed.
paul87d6f872004-09-24 08:01:38 +0000749 * ospf_interface.h: lists typedef removal cleanup.
750 * ospf_opaque.{c,h}: lists typedef removal cleanup. update some list
751 loops to LIST_LOOP. miscellaneous style and indent fixups.
752 * ospf_te.{c,h}: ditto
753 * ospf_packet.c: lists typedef removal cleanup.
paula2570682004-09-24 08:09:57 +0000754 (ospf_write) ifdef fragmentation support. move actual
755 fragmentation out to a new, similarly ifdefed, function.
756 (ospf_write_frags) fragmented write support, moved from previous.
paul87d6f872004-09-24 08:01:38 +0000757
hasso52dc7ee2004-09-23 19:18:23 +00007582004-09-23 Hasso Tepper <hasso at quagga.net>
759
760 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
761
paul68b73392004-09-12 14:21:37 +00007622004-09-12 Paul Jakma <paul@dishone.st>
763
764 * ospf_packet.c: Fix bugzilla #107
765 (ospf_packet_max) get rid of the magic 88 constant
766 (ospf_swab_iph_ton) new function. set ip header to network order,
767 taking BSDisms into account.
768 (ospf_swab_iph_toh) the inverse.
769 (ospf_write) Add support for IP fragmentation, will only work on
770 linux though, other kernels make it impossible. get rid of the
771 magic 4 constant.
772 (ospf_make_ls_upd) Bound check to end of stream, not to
773 interface mtu.
774 (ospf_ls_upd_packet_new) New function, allocate upd packet
775 taking oversized LSAs into account.
776 (ospf_ls_upd_queue_send) use ospf_ls_upd_packet_new to allocate,
777 rather than statically allocating mtu sized packet buffer, which
778 actually was wrong - it didnt take ip header into account, which
779 should not be included in packet buffer.
780 (ospf_ls_upd_send_queue_event) minor tweaks and remove
781 TODO comment.
782
gdt630e4802004-08-31 17:28:41 +00007832004-08-31 David Wiggins <dwiggins@bbn.com>
784
785 * ospf_spf.c (ospf_spf_calculate): Many more comments and debug
786 print statements. New function ospf_vertex_dump used in debugging.
787
7882004-08-31 David Wiggins <dwiggins@bbn.com>
789
790 * ospf_spf.h (struct vertex): Comments for flags and structure members.
791
7922004-08-31 David Wiggins <dwiggins@bbn.com>
793
794 * ospf_route.c: When finding an alternate route, log cost as well.
795
7962004-08-31 David Wiggins <dwiggins@bbn.com>
797
798 * ospf_interface.c (ospf_lookup_if_params): Initialize af in
799 struct prefix allocated on stack.
800
8012004-08-31 David Wiggins <dwiggins@bbn.com>
802
803 * ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send
804 acks to AllSPFRouters, rather than All-DR.
805
hasso7b901432004-08-31 13:37:42 +00008062004-08-27 Hasso Tepper <hasso at quagga.net>
807
808 * ospf_vty.c: Don't print ospf network type under interface only
809 if interface is in broadcast mode and interface type really is
810 broadcast. Fixes Bugzilla #108.
811
gdtd7d93992004-08-27 12:03:42 +00008122004-08-27 David Wiggins <dwiggins@bbn.com>
813
814 * ospf_spf.c (ospf_nexthop_calculation): Initialize address family
815 in on-stack struct prefix_ipv4. Fixes point-to-multipoint SPF
816 calculation.
817
gdtd0deca62004-08-26 13:14:07 +00008182004-08-26 Greg Troxel <gdt@fnord.ir.bbn.com>
819
820 * ospf_packet.c (ospf_recv_packet): adjust size declaration of
gdtd7d93992004-08-27 12:03:42 +0000821 buffer used to get interface index so that it compiles on other
822 than Linux and includes the required alignment space. Probably
823 this was only working on sparc/sparc64 because most of
824 sockaddr_dl was not being written.
gdtd0deca62004-08-26 13:14:07 +0000825
paul863082d2004-08-19 04:43:43 +00008262004-08-19 Paul Jakma <paul@dishone.st>
827
828 * ospf_packet.c: update to match sockopt renames.
829
paul75ee0b82004-08-05 09:10:31 +00008302004-08-04 Paul Jakma <paul@dishone.st>
831
832 * ospf_spf.c: (ospf_spf_consider_nexthop) Add comment about issue.
833 Compare only against list head - all nexthops must be same cost
834 anyway, fixes a reference-listnode-after-delete bug noted by
835 Kir Kostuchenko.
836 (ospf_nexthop_calculation) Use ospf_spf_consider_nexthop for all
837 candidates attached to root.
838
paul36c64ef2004-07-27 11:19:11 +00008392004-07-27 Paul Jakma <paul@dishone.st>
840
paul48fe13b2004-07-27 17:40:44 +0000841 * ospf_packet.c: (ospf_ls_upd_send_queue_event) fix thinko from
842 last fix for ospfd wedging due to oversize LSAs: dont list loop on
843 ospf_ls_upd_queue_send() - guaranteed segfault.
844
8452004-07-27 Paul Jakma <paul@dishone.st>
846
paul36c64ef2004-07-27 11:19:11 +0000847 * ospf_opaque.c: (ospf_opaque_lsa_flush_schedule) do not NULL out
848 the LSA as then free_opaque_info_per_id() can never unlock (and
849 free) the LSA. Reported by Gunnar Stigen.
850
paul2dd8bb42004-07-23 15:13:48 +00008512004-07-23 Paul Jakma <paul@dishone.st>
852
853 * ospf_network.c: Replace PKTINFO/RECVIF with call to
854 setsockopt_pktinfo
855 * ospf_packet.c: Use getsockopt_pktinfo_ifindex and
856 SOPT_SIZE_CMSG_PKTINFO_IPV4.
857
paul59ea14c2004-07-14 20:50:36 +00008582004-07-14 Paul Jakma <paul@dishone.st>
859
860 * ospf_packet.c: (ospf_ls_upd_send_queue_event) Partial fix for
861 problem reported by Peter Frost amongst others, where function
862 will spin indefinitely if update list contains LSAs greater than
863 MTU-headers or other condition leading to update list never being
864 cleared. Problem of what to do with these LSAs remains.
865 (ospf_make_ls_upd) add comment about large LSA problem,
866 indentation cleanup.
867
gdtb2c1b282004-07-01 12:35:36 +00008682004-07-01 Greg Troxel <gdt@fnord.ir.bbn.com>
869
870 * Makefile.am (lib_LTLIBRARIES): make libospf shared
871
gdt87efd642004-06-30 17:36:11 +00008722004-06-30 Greg Troxel <gdt@poblano.ir.bbn.com>
873
874 * Makefile.am: Add shlib support.
875
hassobeebba72004-06-20 21:00:27 +00008762004-06-10 Hasso Tepper <hasso@estpak.ee>
877
878 * *: Removed ifdefs HAVE_NSSA.
879
paul553ff112004-06-06 09:41:00 +00008802004-06-06 Paul Jakma <paul@dishone.st>
881
882 * ospf_dump.c,ospf_lsa.c: Fix typos of merge of previous.
883 ospf_flood.c: (ospf_process_self_originated_lsa) fix zlog format
884
paul0c2be262004-05-31 14:16:54 +00008852004-05-31 Sagun Shakya <sagun.shakya@sun.com>
886
887 * ospf_dump.c: (ospf_lsa_header_dump) LOOKUP can return null if
888 index is out of range.
889 ospf_flood.c: endianness fix
890 ospf_lsa.c: Missing ntohl's on (struct lsa *)->data->ls_seqnum
891 in various places.
892
hassodd669bb2004-05-10 07:43:59 +00008932004-05-10 Hasso Tepper <hasso@estpak.ee>
894
895 * ospf_zebra.c, ospfd.c: Move ospf_prefix_list_update() function
896 to ospf_zebra.c from ospfd.c and add redistribution updates if
897 route-map is used in redistribution.
898 * ospf_main.c: Remove now useless call to ospf_init().
899
paul0a589352004-05-08 11:48:26 +00009002004-05-08 Paul Jakma <paul@dishone.st>
901
902 * ospf_zebra.c: Sync with lib/zclient changes
903
pauld3f0d622004-05-05 15:27:15 +00009042004-05-05 Paul Jakma <paul@dishone.st>
905
paul5bd41892004-05-05 17:29:24 +0000906 * ospf_network.c: (ospf_sock_init) Check whether IP_HDRINCL is
907 defined. Warn at compile and runtime. Use
908 IPTOS_PREC_INTERNETCONTROL otherwise.
pauld3f0d622004-05-05 15:27:15 +0000909 * ospf_packet.c: (ospf_associate_packet_vl) cleanup, move
910 some of the checks up to ospf_read, return either a
911 virtual link oi, or NULL.
912 (ospf_read) Cleanup, make it responsible for checks. Remove
913 the nbr lookup - moved to ospf_neighbor. Adjust all nbr
914 lookups to use new wrappers exported by ospf_neighbor.
915 * ospf_neighbor.h: Add ospf_neigbour_get and ospf_nbr_lookup.
916 * ospf_neighbor.c: (ospf_neigbour_get) Index ospf_interface
917 neighbour table by router-id for virtual-link ospf_interfaces,
918 not by peer_addr (which breaks for asymmetric vlinks)
919 (ospf_nbr_lookup) add a wrapper for nbr lookups to deal with
920 above.
paulcd59da62004-05-05 17:26:55 +0000921 * ospf_interface.c: (ospf_vl_set_params) Catch changes of interface
922 address for either end of a virtual-link, and hence potential cost
923 changes.
924
hassoa0a39762004-04-23 08:51:10 +00009252004-04-22 Hasso Tepper <hasso@estpak.ee>
926
927 * ospf_zebra.c: Don't ignore reject/bh routes, it's the only way
928 to "summarize" routes in ASBR at the moment.
929
hasso8585d4e2004-04-20 17:25:12 +00009302004-04-20 Hasso Tepper <hasso@estpak.ee>
931
932 * ospfd.c: Unset NP flag if area is going to be normal or stub.
933 Fixes UNH OSPF_NSSA.1.2a comment.
934 * ospf_abr.c: Originate default into stub/nssa area even if
935 summaries are disabled.
936 * ospf_zebra.c: Don't attempt to redistribute 127.0.0.0/8.
937
hassoc266ac72004-04-19 17:31:00 +00009382004-04-19 Hasso Tepper <hasso@estpak.ee>
939
940 * ospf_vty.c: Don't warn that export- and import-list can't be
941 configured to backbone area if they are applied and are working
942 fine.
943
hasso128d31d2004-04-04 12:52:33 +00009442004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
945
946 * ospf_packet.c: Don't drop packets in Solaris x86.
947 [quagga-dev 1005].
948
hasso0d85b992004-03-18 19:18:33 +00009492004-03-18 Amir Guindehi <amir@datacore.ch>
950
951 * ospf_opaque.c: Attempt to correct the incorrect behavior of
952 Quagga's ospfd in the special situation that a node's opaque
953 capability has changed as "ON -> OFF -> ON". [quagga-dev 843].
954
paul7f352b82004-02-19 19:37:47 +00009552004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
956
957 * ospf_abr.c: (ospf_abr_update_aggregate) UNH 3.12b,c, address range
958 should be configured with the highest cost path within the range,
959 not lowest.
960
paul940b01a2004-02-17 20:07:30 +00009612004-02-17 Paul Jakma <paul@dishone.st>
962
963 * ospf_zebra.c: (ospf_interface_delete) Do not delete the interface
964 params, nor the interface structure, if an interface delete
965 message is received from zebra.
966 * ospf_interface.c: (ospf_if_delete_hook) Delete the interface
967 params and interface, ie that which was previously removed in
968 (ospf_interface_delete) above.
969
hasso2db3d052004-02-11 21:52:13 +00009702004-02-11 Hasso Tepper <hasso@estpak.ee>
971 * ospf_interface.c, ospf_zebra.c: Don't attempt to read path->oi->ifp
972 if oi doesn't exist any more.
973
hassocb05eb22004-02-11 21:10:19 +00009742004-02-11 Vadim Suraev <vadim.suraev@terayon.com>
975 * ospf_packet.c (ospf_ls_upd): Router should flush received network
976 LSA if it was originated with older router-id ([zebra 14710] #6).
977
9782003-12-08 Mattias Amnefelt <mattiasa@kth.se>
paul239aecc2003-12-08 10:34:54 +0000979
980 * ospf_packet.c: (ospf_recv_packet) OpenBSD now leaves iph.ip_len
981 network byte order.
982
gdt8f40e892003-12-05 14:01:43 +00009832003-12-05 Greg Troxel <gdt@poblano.ir.bbn.com>
984
985 * ospfd.c (ospf_network_match_iface): Rewrite code for clarity
986 while trying not to change semantics. Add ifdefed-out code to
987 avoid matching ppp interfaces whose destination address does not
988 also match the prefix under consideration, to help out people with
989 problems due to as-yet-unfixed bugs with p2p interfaces coming and
990 going.
991
paul736d3442003-07-24 23:22:57 +00009922003-07-25 kamatchi soundaram <kamatchi@tdd.sj.nec.com>
993
994 * ospf_packet.c (ospf_ls_upd_send_queue_event): get next route
995 node in body of the loop to avoid chance that route node
996 is unlocked and deleted before the next iteration tries to
997 get next route node.
998
paul0a825c72003-05-24 13:48:16 +00009992003-05-24 Kenji Yabuuchi
1000
1001 * ospf_interface.c(ospf_if_lookup_recv_if): Use the most specific
1002 match for interface lookup.
1003
paul551a8972003-05-18 15:22:55 +000010042003-05-18 Hasso Tepper <hasso@estpak.ee>
paul445f1432003-05-16 19:00:31 +00001005
paul551a8972003-05-18 15:22:55 +00001006 * ospf_vty.c: Show NSSA LSA route info in "show ip ospf database"
1007 output
paul445f1432003-05-16 19:00:31 +00001008
pauld7480322003-05-16 17:31:51 +000010092003-05-16 Hasso Tepper <hasso@estpak.ee>
1010
1011 * ospf_lsa.c: Fix handling of NSSA
1012
paul551a8972003-05-18 15:22:55 +000010132003-04-23 Hasso Tepper <hasso@estpak.ee>
1014
1015 * ospf_vty.c: fix "router xxx" node commands in vtysh
1016
paul445f1432003-05-16 19:00:31 +000010172003-04-19 Hasso Tepper <hasso@estpak.ee>
1018
1019 * {ospf_abr,ospfd}.c: area id's DECIMAL -> ADDRESS
1020 * ospf_routemap.c: sync daemon's route-map commands to have same
1021 syntax.
1022
10232003-04-19 Sergey Vyshnevetskiy <serg@vostok.net>
1024
1025 * ospf_packet.c: Add missing param to zlog
1026 * ospf_flood.c: remove unused vars
1027
10282003-04-17 Denis Ovsienko <zebra@pilot.org.ua>
1029
1030 * ospf_interface.c: fix incorrect memset
1031
paul28a13842003-05-16 20:30:37 +000010322003-04-10 Amir Guindehi <amir@datacore.ch>
paul445f1432003-05-16 19:00:31 +00001033
1034 * ospf_lsa.[ch]: opaque LSA fix, use ospf_lookup.
1035
10362003-04-03 David Watson <dwatson@eecs.umich.edu>
1037
1038 * ospf_lsa.c: byte order fix
1039
paul07661cb2003-03-18 00:03:05 +000010402002-03-17 Amir Guindehi <amir@datacore.ch>
1041
1042 * ospf_apiserver.[ch]: Merge Ralph Keller's OSPFAPI support.
1043 * ospf_api.[ch]: Merge Ralph Keller's OSPFAPI support.
1044 * ospfclient: OSPFAPI demonstration client.
1045
10462003-01-23 Masahiko Endo <endo@suri.co.jp>
1047
1048 * ospf_ism.c: NSM event schedule bug fix.
1049
10502002-10-30 Greg Troxel <gdt@ir.bbn.com>
1051
1052 * ospf_packet.c (ospf_make_md5_digest): MD5 length fix.
1053
paul718e3742002-12-13 20:15:29 +000010542002-10-23 endo@suri.co.jp (Masahiko Endo)
1055
1056 * ospf_opaque.c: Update Opaque LSA patch.
1057
10582002-10-23 Ralph Keller <keller@tik.ee.ethz.ch>
1059
1060 * ospf_vty.c (show_ip_ospf_database): Fix CLI parse.
1061
10622002-10-23 Juris Kalnins <juris@mt.lv>
1063
1064 * ospf_interface.c (ospf_if_stream_unset): When write queue
1065 becomes empty stop write timer.
1066
10672002-10-10 Greg Troxel <gdt@ir.bbn.com>
1068
1069 * ospf_packet.c (ospf_check_md5_digest): Change >= to > to make it
1070 conform to RFC.
1071
10722002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1073
1074 * zebra-0.93 released.
1075
10762002-06-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1077
1078 * ospf_spf.c (ospf_nexthop_calculation): Add NULL set to oi and
1079 check of l2. Reported by: Daniel Drown <dan-zebra@drown.org>
1080 (ospf_lsa_has_link): LSA Length calculation fix. Reported by:
1081 Paul Jakma <paulj@alphyra.ie>.
1082
1083 * ospfd.c (ospf_if_update): Fix nextnode reference bug. Reported
1084 by: juris@mt.lv.
1085
10862002-01-21 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1087
1088 * ospfd.c: Merge [zebra 11445] Masahiko ENDO's Opaque-LSA support.
1089
10902001-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1091
1092 * ospf_interface.c (ospf_add_to_if): Use /32 address to register
1093 OSPF interface information.
1094 (ospf_delete_from_if): Likewise.
1095
1096 * ospf_zebra.c (ospf_interface_address_delete): Likewise.
1097
10982001-08-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1099
1100 * ospf_zebra.c (ospf_redistribute_unset): When redistribute type
1101 is OSPF, do not unset redistribute flag.
1102
11032001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1104
1105 * zebra-0.92a released.
1106
11072001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1108
1109 * zebra-0.92 released.
1110
11112001-08-12 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1112
1113 * ospfd.c (ospf_config_write): auto-cost reference-bandwidth
1114 configuration display.
1115
11162001-07-24 David Watson <dwatson@eecs.umich.edu>
1117
1118 * ospf_spf.c (ospf_spf_next): Modify ospf_vertex_add_parent to
1119 check for an existing link before connecting the parent and child.
1120 ospf_nexthop_calculation is also modified to check for duplicate
1121 entries when copying from the parent. Finally, ospf_spf_next
1122 removes duplicates when it merges two equal cost candidates.
1123
11242001-07-23 itojun@iijlab.net
1125
1126 * ospfd.c (show_ip_ospf_neighbor): Check ospf_top before use it
1127 [zebra 8549].
1128
11292001-07-23 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1130
1131 * ospf_packet.c (ospf_write): Remove defined(__OpenBSD__) to make
1132 it work on OpenBSD.
1133
11342001-06-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1135
1136 * ospf_zebra.c (config_write_ospf_default_metric): Display
1137 default-metric configuration.
1138
11392001-06-18 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1140
1141 * ospf_ia.h (OSPF_EXAMINE_SUMMARIES_ALL): Remove old macros.
1142
11432001-05-28 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
1144
1145 * ospf_snmp.c (ospfIfEntry): Fix interface lookup bug to avoid
1146 crush.
1147 (ospfIfMetricEntry): Likewise.
1148
11492001-03-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1150
1151 * ospf_packet.c (ospf_read): Fix typo. Reported by: "Jen B
1152 Lin'Kova" <jen@stack.net>.
1153
11542001-03-15 Gleb Natapov <gleb@nbase.co.il>
1155
1156 * ospf_interface.c (ip_ospf_network): Set interface parameter.
1157 (interface_config_write): Add check for OSPF_IFTYPE_LOOPBACK.
1158
1159 * ospf_zebra.c (ospf_interface_add): Set interface parameter.
1160
11612001-02-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1162
1163 * ospf_packet.c (ospf_recv_packet): Solaris also need to add
1164 (iph.ip_hl << 2) to iph.ip_len.
1165
11662001-02-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1167
1168 * ospfd.h (OSPF_LS_REFRESH_TIME): Fix OSPF_LS_REFRESH_TIME value.
1169 Suggested by: David Watson <dwatson@eecs.umich.edu>.
1170
1171 * ospf_zebra.c (zebra_init): Remove zebra node.
1172
1173 * ospfd.c (ospf_area_range_set): Function name is changed from
1174 ospf_ara_range_cmd.
1175 (ospf_area_range_unset): New function which separated from DEFUN.
1176 New commands are added:
1177 "no area A.B.C.D range A.B.C.D/M advertise"
1178 "no area <0-4294967295> range A.B.C.D/M advertise"
1179 "no area A.B.C.D range A.B.C.D/M not-advertise"
1180 "no area <0-4294967295> range A.B.C.D/M not-advertise"
1181
1182 * ospf_lsa.c (ospf_lsa_more_recent): Fix previous change.
1183
11842001-02-08 Matthew Grant <grantma@anathoth.gen.nz>
1185
1186 * ospf_network.c (ospf_if_add_allspfrouters): Use
1187 setsockopt_multicast_ipv4.
1188 (ospf_if_drop_allspfrouters): Likewise.
1189
1190 * ospf_lsa.c (ospf_router_lsa_install): Add rt_recalc flag.
1191 (ospf_network_lsa_install): Likewise.
1192 (ospf_summary_lsa_install): Likewise.
1193 (ospf_summary_asbr_lsa_install): Likewise.
1194 (ospf_external_lsa_install): Likewise.
1195 (ospf_lsa_install): Call ospf_lsa_different to check this LSA is
1196 new one or not.
1197
11982001-02-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1199
1200 * ospf_zebra.c (ospf_interface_delete): Do not free interface
1201 structure when ospfd receive interface delete message to support
1202 pseudo interface.
1203
12042001-02-01 Dick Glasspool <dick@ipinfusion.com>
1205
1206 * ospfd.c (area_range_notadvertise): Change area range "suppress"
1207 command to "not-advertise".
1208
1209 * ospfd.h (OSPF_LS_REFRESH_TIME): Change OSPF_LS_REFRESH_TIME from
1210 1800 to 60.
1211
1212 * ospf_abr.c (ospf_abr_update_aggregate): When update_aggregate is
1213 updating the area-range, the lowest cost is now saved.
1214
1215 * ospf_lsa.c (ospf_lsa_more_recent): Routing to compare sequence
1216 numbers rather than creating overflow during calculation.
1217
12182001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1219
1220 * zebra-0.91 is released.
1221
12222001-01-31 Kunihiro Ishiguro <kunihiro@zebra.org>
1223
1224 * ospf_packet.c (ospf_db_desc_proc): Do not continue process when
1225 NSM_SeqNumberMismatch is scheduled.
1226 (ospf_ls_req): Free ls_upd when return from this function.
1227 (ospf_ls_upd_timer): When update list is empty do not call
1228 ospf_ls_upd_send(). Suggested by: endo@suri.co.jp (Masahiko
1229 Endo).
1230
12312001-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
1232
1233 * ospf_lsa.c (ospf_maxage_flood): Flood LSA when it reaches
1234 MaxAge. RFC2328 Section 14.
1235 (ospf_maxage_lsa_remover): Call above function during removing
1236 MaxAge LSA.
1237
12382001-01-26 Dick Glasspool <dick@ipinfusion.com>
1239
1240 * ospf_flood.c (ospf_flood_through_as): Function is updated for
1241 NSSA Translations now done at ospf_abr.c with no change in P-bit.
1242
1243 * ospf_lsa.c (ospf_get_nssa_ip): Get 1st IP connection for Forward
1244 Addr.
1245 (ospf_install_flood_nssa): Leave Type-7 LSA at Lock Count = 2.
1246
1247 * ospf_ase.c (ospf_ase_calculate_route): Add debug codes.
1248
1249 * ospf_abr.c (ospf_abr_translate_nssa): Recalculate LSA checksum.
1250
1251 * ospf_packet.h (OSPF_SEND_PACKET_LOOP): Added for test packet.
1252
1253 * ospf_dump.c (ospf_lsa_type_msg): Add OSPF_GROUP_MEMBER_LSA and
1254 OSPF_AS_NSSA_LSA.
1255
1256 * ospfd.c (data_injection): Function to inject LSA. This is
1257 debugging command.
1258
12592001-01-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1260
1261 * ospf_route.c (ospf_route_match_same): Remove function.
1262 (ospf_route_match_same_new): Renamed to ospf_route_match_same.
1263
1264 * ospf_zebra.c (ospf_interface_address_delete): Add check for
1265 oi->address. Suggested by Matthew Grant
1266 <grantma@anathoth.gen.nz>.
1267 (ospf_zebra_add): Remove function.
1268 (ospf_zebra_add_multipath): Rename to ospf_zebra_add.
1269
1270 * ospf_interface.c: Remove HAVE_IF_PSEUDO part.
1271
1272 * ospf_zebra.c: Likewise.
1273
12742001-01-10 Kunihiro Ishiguro <kunihiro@zebra.org>
1275
1276 * ospf_ase.c: Remove OLD_RIB part.
1277
1278 * ospf_route.c: Likewise.
1279
1280 * zebra-0.90 is released.
1281
1282 * ospf_packet.c (ospf_recv_packet): Use ip_len adjestment code to
1283 NetBSD.
1284
12852001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1286
1287 * ospf_route.c (ospf_route_delete): Use
1288 ospf_zebra_delete_multipath.
1289
12902001-01-09 Matthew Grant <grantma@anathoth.gen.nz>
1291
1292 * ospf_interface.c (ospf_if_cleanup): Function name is renamed
1293 from ospf_if_free(). Rewrite whole procudure to support primary
1294 address deletion.
1295
1296 * ospf_zebra.c (ospf_interface_address_delete): Add primary
1297 address deletion process.
1298
12992001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
1300
1301 * ospf_packet.c (ospf_recv_packet): OpenBSD has same ip_len
1302 treatment like FreeBSD.
1303
13042001-01-09 endo@suri.co.jp (Masahiko Endo)
1305
1306 * ospf_packet.c (ospf_recv_packet): FreeBSD kernel network code
1307 strips IP header size from receiving IP Packet. So we adjust
1308 ip_len to whole IP packet size by adding IP header size.
1309
13102001-01-08 endo@suri.co.jp (Masahiko Endo)
1311
1312 * ospf_network.c (ospf_serv_sock): When socket() is failed return
1313 immediately.
1314 (ospf_serv_sock): Close socket when it is not used.
1315
1316 * ospf_packet.c (ospf_write): Set sin_len when HAVE_SIN_LEN is
1317 defined.
1318 (ospf_write): When bind is fined, close sock.
1319
13202001-01-07 Gleb Natapov <gleb@nbase.co.il>
1321
1322 * ospf_zebra.c (ospf_interface_state_up): Fixes coredump that
1323 appears when you try to configure bandwidth on the ppp interface
1324 that is not yet configured in ospfd.
1325
13262001-01-07 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1327
1328 * ospf_route.c (show_ip_ospf_route_external): "show ip ospf route"
1329 will print nexthops for AS-external routes.
1330
1331 * ospf_ase.c (ospf_ase_route_match_same): New function to compare
1332 ASE route under multipath environment.
1333 (ospf_ase_compare_tables): Likewise.
1334
13352001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
1336
1337 * ospfd.h (OSPF_VTYSH_PATH): Change "/tmp/ospfd" to "/tmp/.ospfd".
1338
13392000-12-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1340
1341 * ospf_route.c (ospf_route_install): Install multipath information
1342 to zebra daemon.
1343
1344 * ospf_zebra.c (ospf_zebra_add_multipath): Function for passing
1345 multipath information to zebra daemon.
1346
13472000-12-25 Dick Glasspool <dick@ipinfusion.com>
1348
1349 * ospf_packet.c (ospf_write): Call ospf_packet_delete when sendto
1350 fail.
1351 (DISCARD_LSA): Add argument N for logging point of DISCARD_LSA is
1352 called.
1353
1354 * ospf_lsa.c (ospf_external_lsa_refresh): NSSA install_flood will
1355 leave Type-7 LSA at Lock Count = 2.
1356
1357 * ospf_flood.c (ospf_flood_through): Flood_though_as updated for
1358 NSSA no P-bit off during Area flooding, but P-bit is turned off
1359 for mulitple NSSA AS flooding.
1360
1361 * ospf_ase.c (ospf_ase_calculate_timer): Added calculations for
1362 Type-7 LSDB.
1363
1364 * ospf_abr.c (ospf_abr_translate_nssa): Removed one unlock call.
1365 (ospf_abr_announce_nssa_defaults): Corrected Debug from EVENT to
1366 NSSA.
1367
13682000-12-25 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1369
1370 * ospf_zebra.c (ospf_zebra_read_ipv4): Checking the age of the
1371 found LSA and if the LSA is MAXAGE we should call refresh instead
1372 of originate.
1373
13742000-12-18 Dick Glasspool <dick@ipinfusion.com>
1375
1376 * ospf_abr.c: Removed redundant "...flood" in
1377 announce_network_to_area(). Repaired nssa Unlock by using
1378 discard.
1379
1380 * ospf_packet.c: Removed old NSSA translate during mk_ls_update.
1381
1382 * ospfd.c: Free up all data bases including NSSA.
1383
1384 * ospf_lsa.c: Now allow removal of XLATE LSA's Check in
1385 discard_callback. Added routine to get ip addr from within the
1386 ifp.
1387
1388 * ospf_flood.c: Now set Forward Address for outgoing Type-7.
1389
1390 * ospf_lsa.h: Added prototype for the below. struct in_addr
1391 ospf_get_ip_from_ifp (struct interface *ifp).
1392
13932000-12-14 Gleb Natapov <gleb@nbase.co.il>
1394
1395 * ospf_packet.c (ospf_recv_packet): New OSPF pakcet read method.
1396 Now maximum packet length may be 65535 bytes (maximum IP packet
1397 length).
1398
1399 * ospf_interface.c (ospf_if_stream_set): Don't make input buffer.
1400
1401 * ospfd.c (config_write_network_area): Remove unnecessary area
1402 lookup code.
1403
14042000-12-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1405
1406 * ospf_packet.c (ospf_read): Accept packet bigger than MTU value.
1407
14082000-12-13 Gleb Natapov <gleb@nbase.co.il>
1409
1410 * ospfd.c (config_write_network_area): Fix bug in
1411 config_write_network_area function.
1412
14132000-12-12 Gleb Natapov <gleb@nbase.co.il>
1414
1415 * ospf_abr.c (ospf_abr_announce_network_to_area): Make Summary
1416 LSA's origination and refreshment as same as other type of LSA.
1417
1418 * ospf_lsa.c (ospf_summary_lsa_refresh): Return struct ospf_lsa *.
1419
1420 * ospf_lsa.c (ospf_summary_asbr_lsa_refresh): Likewise.
1421
14222000-12-08 Dick Glasspool <dick@ipinfusion.com>
1423
1424 The bulk of NSSA changes are contained herein; This version will
1425 require manual setting of "always" for NSSA Translator, and will
1426 not perform aggregation yet.
1427
1428 * ospf_dump.c: "debug ospf nssa" is added.
1429
1430 * ospf_dump.h: Likewise.
1431
1432 * ospf_packet.c (ospf_hello): Display router ID on Bad NSSA Hello.
1433
1434 * ospfd.c: Discard_LSA to stay away from LOCAL_XLT Process NSSA
1435 'never, candidate, always'. Change "suppress" to "not-advertise".
1436
1437 * ospfd.h: Add TranslatorRole to struct ospf_area. Add anyNSSA to
1438 struct ospf.
1439
1440 * ospf_ase.c (ospf_ase_calculate_route): External to stay away
1441 from LOCAL_XLT
1442
1443 * ospf_nsm.c (ospf_db_summary_add): External to stay away from
1444 LOCAL_XLT
1445
1446 * ospf_abr.c: Major logic added for abr_nssa_task(). If ABR, and
1447 NSSA translator, then do it. Approve the global list, and flush
1448 any unapproved.
1449
1450 * ospf_lsa.h: New LSA flag OSPF_LSA_LOCAL_XLT to indicate that the
1451 Type-5 resulted from a Local Type-7 translation; not used for
1452 flooding, but used for flushing.
1453
1454 * ospf_flood.c: New NSSA flooding.
1455
14562000-12-08 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1457
1458 * ospfd.c (ospf_find_vl_data): New function for looking up virtual
1459 link data.
1460 (ospf_vl_set_security): Virtual link configuration with
1461 authentication.
1462 (ospf_vl_set_timers): Set timers for virtual link.
1463
1464 * New commands are added.
1465 "area A.B.C.D virtual-link A.B.C.D"
1466 "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>"
1467 "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"
1468 "area A.B.C.D virtual-link A.B.C.D authentication-key AUTH_KEY"
1469 "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"
1470 "area A.B.C.D virtual-link A.B.C.D message-digest-key <1-255> md5 KEY"
1471
1472 * ospf_packet.c (ospf_check_md5_digest): Add neighbor's
1473 cryptographic sequence number treatment.
1474 (ospf_check_auth): OSPF input buffer is added to argument.
1475 (ospf_read): Save neighbor's cryptographic sequence number.
1476
1477 * ospf_nsm.c (nsm_change_status): Clear cryptographic sequence
1478 number when neighbor status is changed to NSM down.
1479
1480 * ospf_neighbor.c (ospf_nbr_new): Set zero to crypt_seqnum.
1481
1482 * ospf_neighbor.h (struct ospf_neighbor): Add cryptographic
1483 sequence number to neighbor structure.
1484
14852000-11-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1486
1487 * ospf_snmp.c (ospfIfLookup): OSPF MIB updates.
1488 (ospfExtLsdbEntry): Add OspfExtLsdbTable treatment.
1489
14902000-11-28 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1491
1492 * ospfd.c (ospf_interface_down): Clear a ls_upd_queue queue of the
1493 interface.
1494 (ospf_ls_upd_queue_empty): New function to empty ls update queue
1495 of the OSPF interface.
1496 (no_router_ospf): 'no router ospf' unregister redistribution
1497 requests from zebra.
1498
14992000-11-28 Kunihiro Ishiguro <kunihiro@zebra.org>
1500
1501 * ospf_ism.c (ism_change_status): Increment status change number.
1502
1503 * ospf_interface.h (struct ospf_interface): Add new member for
1504 status change statistics.
1505
1506 * Makefile.am: Update dependencies.
1507
1508 * ospf_zebra.c (ospf_interface_add): OSPF SNMP interface update.
1509 (ospf_interface_delete): OSPF SNMP interface delete.
1510
1511 * ospf_snmp.h: New file is added.
1512
15132000-11-23 Dick Glasspool <dick@ipinfusion.com>
1514
1515 * ospfd.h: Add new ospf_area structure member for
1516 NSSATranslatorRole and NSSATranslator state.
1517
1518 * ospfd.c: Provided for eventual commands to specify NSSA
1519 elections for "translator- ALWAYS/NEVER/CANDIDATE". Provided for
1520 decimal integer version of area-suppress.
1521
1522 * ospf_flood.c: Flood Type-7's only into NSSA (not AS).
1523
1524 * ospf_lsa.c: Undo some previous changes for NSSA. If NSSA
1525 translator, advertise Nt bit.
1526
1527 * ospf_route.c: 1st version of "sh ip os border-routers".
1528
15292000-11-23 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1530
1531 * ospfd.c (area_vlink): Virtual link can not configured in stub
1532 area.
1533
15342000-11-23 Gleb Natapov <gleb@nbase.co.il>
1535
1536 * ospf_packet.c (ospf_db_desc): In states Loading and Full the
1537 slave must resend its last Database Description packet in response
1538 to duplicate Database Description packets received from the
1539 master. For this reason the slave must wait RouterDeadInterval
1540 seconds before freeing the last Database Description packet.
1541 Reception of a Database Description packet from the master after
1542 this interval will generate a SeqNumberMismatch neighbor
1543 event. RFC2328 Section 10.8
1544 (ospf_make_db_desc): DD Master flag treatment.
1545
1546 * ospf_nsm.c (nsm_twoway_received): Move DD related procedure to
1547 nsm_change_status().
1548 (nsm_bad_ls_req): Likewise.
1549 (nsm_adj_ok): Likewise.
1550 (nsm_seq_number_mismatch): Likewise.
1551 (nsm_oneway_received): Likewise.
1552
1553 * ospf_neighbor.h (struct ospf_neighbor): New structure member
1554 last_send_ts for timestemp when last Database Description packet
1555 was sent.
1556
1557 * ospf_nsm.c (ospf_db_desc_timer): Make it sure nbr->last_send is
1558 there. Call ospf_db_desc_resend() in any case.
1559
15602000-11-16 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1561
1562 * ospf_lsa.c (lsa_link_broadcast_set): When there is no DR on
1563 network (suppose you have only one router with interface priority
1564 0). It's router LSA does not contain the link information about
1565 this network.
1566
1567 * ospf_nsm.c (nsm_timer_set): When you change a priority of
1568 interface from/to 0 ISM_NeighborChange event should be scheduled
1569 in order to elect new DR/BDR on the network.
1570
1571 * ospf_interface.c (ip_ospf_priority): Likewise.
1572
1573 * ospf_flood.c (ospf_ls_retransmit_add): When we add some LSA into
1574 retransmit list we need to check whether the present old LSA in
1575 retransmit list is not more recent than the new
1576 one.
1577
15782000-11-09 Dick Glasspool <dick@ipinfusion.com>
1579
1580 * ospf_packet.c: Allows for NSSA Type-7 LSA's throughout the NSSA
1581 area. Any that exit the NSSA area are translated to type-5 LSA's.
1582 The instantiated image is restored after translation.
1583 (ospf_ls_upd_send_list): Renamed to ospf_ls_upd_queu_send().
1584 (ospf_ls_upd_send): Old function which enclosed by #ifdef 0 is
1585 removed.
1586 (ospf_ls_ack_send): Likewise.
1587
1588 * ospf_flood.c: NSSA-LSA's without P-bit will be restricted to
1589 local area. Otherwise they are allowed out the area to be
1590 translated by ospf_packet.c.
1591
1592 * ospf_lsa.c: Undo some previous changes for NSSA.
1593
1594 * ospf_lsdb.h: New access for type 7.
1595
15962000-11-07 Kunihiro Ishiguro <kunihiro@zebra.org>
1597
1598 * ospf_route.c (ospf_path_exist): New function to check nexthop
1599 and interface are in current OSPF path or not.
1600 (ospf_route_copy_nexthops_from_vertex): Add nexthop to OSPF path
1601 when it is not there. Reported by Michael Rozhavsky
1602 <mrozhavsky@opticalaccess.com>
1603
16042000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1605
1606 * ospf_dump.c (config_write_debug): Add seventh string "detail" is
1607 added for flag is OSPF_DEBUG_SEND | OSPF_DEBUG_RECV |
1608 OSPF_DEBUG_DETAIL.
1609
16102000-11-06 Michael Rozhavsky <mrozhavsky@opticalaccess.com>
1611
1612 * ospf_lsa.c (router_lsa_flags): ASBR can't exit in stub area.
1613
16142000-11-06 Kunihiro Ishiguro <kunihiro@zebra.org>
1615
1616 * ospf_lsa.c (ospf_router_lsa_originate): Reduce unconditional
1617 logging.
1618
16192000-11-06 Dick Glasspool <dick@ipinfusion.com>
1620
1621 * ospfd.h: Add ait_ntoa function prototype.
1622
1623 * ospfd.c (ait_ntoa): New function for displaying area ID and
1624 Stub/NSSA status.
1625 (show_ip_ospf_interface_sub): Use ait_ntoa.
1626 (show_ip_ospf_nbr_static_detail_sub): Likewise.
1627 (show_ip_ospf_neighbor_detail_sub): Likewise.
1628
1629 * ospf_route.c (ospf_intra_route_add): Set external routing type
1630 to ospf route.
1631 (ospf_intra_add_router): Likewise.
1632 (ospf_intra_add_transit): Likewise.
1633 (ospf_intra_add_stub): Likewise.
1634 (ospf_add_discard_route): Likewise.
1635 (show_ip_ospf_route_network): Use ait_ntoa.
1636 (show_ip_ospf_route_network): Likewise.
1637 (show_ip_ospf_route_router): Likewise.
1638
1639 * ospf_lsa.c (show_lsa_detail): Use ait_ntoa.
1640 (show_lsa_detail_adv_router): Likewise.
1641 (show_ip_ospf_database_summary): Likewise.
1642
1643 * ospf_route.h (struct route_standard): Add new member
1644 external_routing.
1645
1646 * ospf_ia.c (process_summary_lsa): Set external routing tyep to ospf
1647 route.
1648 (ospf_update_network_route): Likewise.
1649 (ospf_update_router_route): Likewise.
1650
16512000-11-04 Kunihiro Ishiguro <kunihiro@zebra.org>
1652
1653 * ospf_flood.c (ospf_process_self_originated_lsa): Enclose
1654 OSPF_AS_NSSA_LSA treatment with #ifdef HAVE_NSSA.
1655
16562000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1657
1658 * Unconditional logging is enclosed with if (IS_DEBUG_OSPF_EVENT).
1659 Please specify "debug ospf event" for enable logging.
1660
1661 * ospf_ism.c: Do not extern debug flag varible. It is done by
1662 ospf_debug.h
1663 * ospf_asbr.c: Likewise.
1664 * ospf_lsa.c: Likewise.
1665 * ospf_nsm.c: Likewise.
1666 * ospf_zebra.c: Likewise.
1667
1668 * ospf_dump.c (debug_ospf_event): New command "debug ospf event"
1669 is added.
1670
1671 * ospfd.c (router_ospf): Change logging from vty_out() to
1672 zlog_info().
1673 (ospf_area_stub_cmd): Likewise.
1674
1675 * ospf_dump.h: Extern term_debug flags.
1676 (OSPF_DEBUG_EVENT): Add new flag.
1677 (IS_DEBUG_OSPF_EVENT): Add new macro.
1678
16792000-11-03 Dick Glasspool <dick@ipinfusion.com>
1680
1681 * ospf_flood.c (ospf_process_self_originated_lsa):
1682 OSPF_AS_NSSA_LSA is treated as same as OSPF_AS_EXTERNAL_LSA.
1683 (ospf_flood): Type-5's have no change. Type-7's can be received,
1684 and will Flood the AS as Type-5's They will also flood the local
1685 NSSA Area as Type-7's. The LSDB will be updated as Type-5's, and
1686 during re-fresh will be converted back to Type-7's (if within an
1687 NSSA).
1688 (ospf_flood_through): Incoming Type-7's were allowed here if our
1689 neighbor was an NSSA. So Flood our area with the Type-7 and also
1690 if we are an ABR, flood thru AS as Type-5.
1691
1692 * ospf_lsa.c (ospf_external_lsa_refresh): Flood NSSA both NSSA
1693 area and other area.
1694
1695 * ospf_packet.c (ospf_db_desc_proc): When AS External LSA is
1696 exists in DD packet, make it sure that this area is not stub.
1697 (ospf_ls_upd_list_lsa): When LSA type is NSSA then set lsa's area
1698 to NULL.
1699 (ospf_ls_upd): If the LSA is AS External LSA and the area is stub
1700 then discard the lsa. If the LSA is NSSA LSA and the area is not
1701 NSSA then discard the lsa.
1702
17032000-11-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1704
1705 * ospfd.c (ospf_interface_run): Fix bug of Hello packet's option
1706 is not properly set when interface comes up.
1707
17082000-11-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1709
1710 * ospfd.h (OSPF_OPTION_O): Add new hello header option.
1711
17122000-11-01 Dick Glasspool <dick@ipinfusion.com>
1713
1714 * ospf_lsa.h: Define OSPF_MAX_LSA to 8 when HAVE_NSSA is enabled.
1715 (OSPF_GROUP_MEMBER_LSA): Define OSPF_GROUP_MEMBER_LSA.
1716
1717 * ospf_lsa.c (show_database_desc): Add "Group Membership LSA"
1718 string.
1719
17202000-10-31 Dick Glasspool <dick@ipinfusion.com>
1721
1722 * ospf_lsa.h (OSPF_AS_NSSA_LSA): Define OSPF_AS_NSSA_LSA.
1723
1724 * ospf_lsa.c (show_ip_ospf_database): NSSA database display
1725 function is added. ALIASES which have "show ip ospf database
1726 nssa-external" is added.
1727 (show_ip_ospf_border_routers): New command "show ip ospf
1728 border-routers" is added.
1729
17302000-10-30 Dick Glasspool <dick@ipinfusion.com>
1731
1732 * ospfd.c (router_ospf): NSSA Enabled message is added for
1733 testing.
1734 (ospf_area_type_set): Are type set for NSSA area.
1735 (ospf_area_stub_cmd): Special translation of no_summary into NSSA
1736 and summary information. If NSSA is enabled pass the information
1737 to ospf_area_type_set().
1738 (area_nssa): New commands are added:
1739 "area A.B.C.D nssa"
1740 "area <0-4294967295> nssa"
1741 "area A.B.C.D nssa no-summary"
1742 "area <0-4294967295> nssa no-summary"
1743 (ospf_no_area_stub_cmd): Special translation of no_summary into
1744 NSSA and summary information. If external_routing is
1745 OSPF_AREA_NSSA unset area with ospf_area_type_set (area,
1746 OSPF_AREA_DEFAULT).
1747 (show_ip_ospf_area): Display NSSA status.
1748 (config_write_ospf_area): Show NSSA configuration.
1749
1750 * ospf_packet.c (ospf_hello): For NSSA support, ensure that NP is
1751 on and E is off.
1752
17532000-10-26 Gleb Natapov <gleb@nbase.co.il>
1754
1755 * ospf_lsa.c (ospf_network_lsa_body_set): The network-LSA lists
1756 those routers that are fully adjacent to the Designated Router;
1757 each fully adjacent router is identified by its OSPF Router ID.
1758 The Designated Router includes itself in this list. RFC2328,
1759 Section 12.4.2.
1760
17612000-10-23 Jochen Friedrich <jochen@scram.de>
1762
1763 * ospf_snmp.c: ospf_oid and ospfd_oid are used in smux_open after
1764 it is registered. So those variables must be static.
1765
17662000-10-18 K N Sridhar <sridhar@euler.ece.iisc.ernet.in>
1767
1768 * ospfd.c: Add area_default_cost_decimal_cmd and
1769 no_area_default_cost_decimal_cmd alias.
1770
17712000-10-05 Gleb Natapov <gleb@nbase.co.il>
1772
1773 * ospfd.c (ospf_network_new): Fix setting area format.
1774 (no_router_ospf): Check area existance when calling
1775 ospf_interface_down().
1776
1777 * ospf_flood.c (ospf_external_info_check): Fix bug of refreshing
1778 default route.
1779
17802000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
1781
1782 * zebra-0.89 is released.
1783
17842000-09-29 Kunihiro Ishiguro <kunihiro@zebra.org>
1785
1786 * ospf_snmp.c (ospfHostEntry): OSPF Host MIB is implemented.
1787
1788 * ospfd.c (ospf_nbr_static_cmp): OSPF neighbor is sorted by it's
1789 address.
1790
17912000-09-28 Michael Rozhavsky <mike@nbase.co.il>
1792
1793 * ospf_interface.c (ospf_if_free): Fix deleting self neighbor twice.
1794
17952000-09-27 Kunihiro Ishiguro <kunihiro@zebra.org>
1796
1797 * ospf_packet.c (ospf_read): Solaris on x86 has ip_len with host
1798 byte order.
1799
18002000-09-25 Toshiaki Takada <takada@zebra.org>
1801
1802 * ospfd.c (ospf_compatible_rfc1583), (no_ospf_compatible_rfc1583):
1803 Add CISCO compatible command.
1804
18052000-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
1806
1807 * ospf_abr.c (ospf_area_range_lookup): New function is added for
1808 area range lookup in OSPF-MIB.
1809 (ospf_area_range_lookup_next): Likewise.
1810
18112000-09-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1812
1813 * ospfd.c (no_router_ospf): Delete virtual link before deleting
1814 area structure.
1815
1816 * ospf_lsa.c (ospf_external_lsa_refresh_type): Check
1817 EXTERNAL_INFO(type).
1818
1819 * ospfd.c (no_router_ospf): Call ospf_vl_delete() instead of
1820 ospf_vl_data_free().
1821
1822 * ospf_interface.c (ospf_vl_shutdown): Execute ISM_InterfaceDown
1823 when ospf_vl_shutdown is called.
1824 (ospf_vl_delete): Call ospf_vl_shutdown() to delete virtual link
1825 interface's thread.
1826
18272000-09-21 Gleb Natapov <gleb@nbase.co.il>
1828
1829 * ospf_lsa.c: New implementation of OSPF refresh.
1830
18312000-09-20 Kunihiro Ishiguro <kunihiro@zebra.org>
1832
1833 * ospf_snmp.c (ospfLsdbLookup): Add LSDB MIB implementation.
1834
18352000-09-18 Kunihiro Ishiguro <kunihiro@zebra.org>
1836
1837 * ospf_snmp.c (ospfStubAreaEntry): Add OSPF stub area MIB.
1838
18392000-09-18 Gleb Natapov <gleb@nbase.co.il>
1840
1841 * ospf_route.h (route_standard): Change member from `struct area'
1842 to area_id.
1843
1844 * ospf_abr.c (ospf_abr_announce_network), (ospf_abr_should_announce),
1845 (ospf_abr_process_network_rt), (ospf_abr_announce_rtr),
1846 (ospf_abr_process_router_rt):
1847 * ospf_ase.c (ospf_find_asbr_route),
1848 (ospf_find_asbr_router_through_area),
1849 * ospf_ia.c (ospf_find_abr_route), (ospf_ia_router_route),
1850 (process_summary_lsa), (ospf_update_network_route),
1851 (ospf_update_router_route):
1852 * ospf_route.c (ospf_intra_route_add), (ospf_intra_add_router),
1853 (ospf_intra_add_transit), (ospf_intra_add_stub),
1854 (ospf_route_table_dump), (show_ip_ospf_route_network),
1855 (show_ip_ospf_route_router), (ospf_asbr_route_cmp),
1856 (ospf_prune_unreachable_routers):
1857 * ospf_spf.c (ospf_rtrs_print):
1858 * ospfd.c (ospf_rtrs_free): Fix the struct change above.
1859
18602000-09-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1861
1862 * ospf_network.c (ospf_serv_sock_init): Enclose SO_BINDTODEVICE
1863 with ifdef.
1864
18652000-09-13 Gleb Natapov <gleb@nbase.co.il>
1866
1867 * ospf_ism.c (ospf_elect_dr), (ospf_elect_bdr): Fix DR election.
1868
1869 * ospf_network.c (ospf_serv_sock_init): Add socket option
1870 SO_BINDTODEVICE on read socket.
1871
1872 * ospf_packet.c (ospf_hello): Ignore Hello packet if E-bit does
1873 not match.
1874
1875 * ospfd.c (ospf_area_check_free), (ospf_area_get),
1876 (ospf_area_add_if): New function added.
1877
18782000-09-13 Kunihiro Ishiguro <kunihiro@zebra.org>
1879
1880 * ospf_route.c (ospf_intra_add_router): Update ABR and ASBR router
1881 count.
1882
1883 * ospf_spf.c (ospf_spf_init): Rest ABR and ASBR router count
1884 starting SPF calculation.
1885
1886 * ospfd.h (struct ospf_area): Add ABR and ASBR router count.
1887
18882000-09-12 Kunihiro Ishiguro <kunihiro@zebra.org>
1889
1890 * ospfd.c (ospf_area_id_cmp): New area structure is sorted by area
1891 ID.
1892
1893 * ospf_lsa.c (ospf_router_lsa_originate): For OSPF MIB update
1894 lsa_originate_count.
1895 (ospf_network_lsa_originate): Likewise.
1896 (ospf_summary_lsa_originate): Likewise.
1897 (ospf_summary_asbr_lsa_originate): Likewise.
1898 (ospf_external_lsa_originate): Likewise.
1899
19002000-09-11 Kunihiro Ishiguro <kunihiro@zebra.org>
1901
1902 * ospf_snmp.c (ospf_variables): ospfRouterID's type RouterID
1903 syntax is IpAddress.
1904 (ospf_admin_stat): New function for OSPF administrative status
1905 check.
1906
19072000-09-10 Jochen Friedrich <jochen@scram.de>
1908
1909 * ospf_snmp.c: Implement OSPF MIB skeleton.
1910
19112000-09-08 Kunihiro Ishiguro <kunihiro@zebra.org>
1912
1913 * ospf_snmp.c: New file is added.
1914
19152000-09-07 David Lipovkov <davidl@nbase.co.il>
1916
1917 * ospf_zebra.c (ospf_interface_delete): Add pseudo interface
1918 treatment.
1919
1920 * ospf_interface.c (interface_config_write): Likewise.
1921
19222000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1923
1924 * zebra-0.88 is released.
1925
19262000-08-17 Michael Rozhavsky <mike@nbase.co.il>
1927
1928 * ospfd.c (ospf_area_free): Remove virtual link configuration only
1929 when Area is removed.
1930
19312000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
1932
1933 * ospfd.c (network_area): Revert check for EXTERNAL_INFO
1934 (ZEBRA_ROUTE_CONNECT).
1935 (no_network_area): Likewise.
1936
19372000-08-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1938
1939 * ospfd.h (struct ospf): Add distance_table and
1940 distance_{all,intra,inter,external}.
1941
1942 * ospf_zebra.c: Add OSPF distance related functions.
1943
19442000-08-15 Gleb Natapov <gleb@nbase.co.il>
1945
1946 * ospf_asbr.c (ospf_external_info_find_lsa): New function added.
1947
1948 * ospf_lsa.c (ospf_default_external_info),
1949 (ospf_default_originate_timer), (ospf_external_lsa_refresh_default):
1950 New function added.
1951
1952 * ospf_zebra.c
1953 (ospf_default_information_originate_metric_type_routemap),
1954 (ospf_default_information_originate_always_metric_type_routemap):
1955 Change name and add route-map function.
1956 (ospf_default_information_originate_metric_routemap),
1957 (ospf_default_information_originate_routemap),
1958 (ospf_default_information_originate_type_metric_routemap):
1959 New DEFUN added.
1960
19612000-08-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1962
1963 * ospf_zebra.c (zebra_interface_if_set_value): Change ifindex
1964 restore size from two octet to four.
1965
19662000-08-14 Michael Rozhavsky <mike@nbase.co.il>
1967
1968 * ospf_ase.c (ospf_ase_incremental_update): Implement incremental
1969 AS-external-LSA in 16.6 of RFC2328.
1970
19712000-08-14 Matthew Grant <grantma@anathoth.gen.nz>
1972
1973 * ospf_interface.c (ospf_if_get_output_cost): Change cost
1974 calculation algorithm.
1975
1976 * ospf_packet (ospf_ls_upd): Fix problem of LSA retransmitting.
1977
19782000-08-11 Michael Rozhavsky <mike@nbase.co.il>
1979
1980 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix maxage remover for
1981 AS-external-LSAs.
1982
19832000-08-10 Toshiaki Takada <takada@zebra.org>
1984
1985 * ospfd.c (auto_cost_reference_bandwidth): New DEFUN added.
1986 `auto-cost reference-bandwidth' OSPF router command added.
1987
19882000-08-08 Gleb Natapov <gleb@nbase.co.il>
1989
1990 * ospf_routemap.c (ospf_route_map_update): New function added.
1991 Add route-map event hook.
1992
19932000-08-08 Toshiaki Takada <takada@zebra.org>
1994
1995 * ospf_zebra.c (ospf_distribute_check_connected): If redistribute
1996 prefix is connected route on OSPF enabled interface, suppress to
1997 announce it.
1998
19992000-08-08 Matthew Grant <grantma@anathoth.gen.nz>
2000
2001 * ospf_interface.c (ospf_if_get_output_cost):
2002 New function added. Handle bandwidth parameter for cost
2003 calculation.
2004
20052000-08-08 Michael Rozhavsky <mike@nbase.co.il>
2006
2007 * ospf_interface.c (interface_config_write): Show interface
2008 configuration regardless interface is down.
2009
2010 * ospf_ase.c (ospf_ase_caocluate_route): Whole rewritten external
2011 route calculate function.
2012
20132000-08-08 Gleb Natapov <gleb@nbase.co.il>
2014
2015 * ospf_routemap.c: New file added.
2016
2017 * ospf_asbr.c (ospf_reset_route_map_set_values),
2018 (ospf_route_map_set_compare): New function added.
2019
2020 * ospf_lsa.c (ospf_external_lsa_body_set): Set routemap metric
2021 with AS-external-LSA.
2022
20232000-08-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2024
2025 * ospf_ase.c (ospf_ase_calculate_route_add): Pass new->cost to
2026 ospf_zebra_add as metric.
2027 (ospf_ase_calculate_route_add): Likewise.
2028
2029 * ospf_route.c (ospf_route_install): Pass or->cost to
2030 ospf_zebra_add as metric.
2031
2032 * ospf_zebra.c (ospf_zebra_add): Add metric arguemnt.
2033 (ospf_zebra_delete): Likewise.
2034
20352000-08-03 Matthew Grant <grantma@anathoth.gen.nz>
2036
2037 * ospf_flood.c (ospf_flood_delayed_lsa_ack): New function added.
2038 Dispatch delayed-ACK with flooding AS-external-LSA across virtual
2039 link.
2040
20412000-07-31 Matthew Grant <grantma@anathoth.gen.nz>
2042
2043 * ospfd.c (show_ip_ospf_area): Fix lack of VTY_NEWLINE when
2044 `show ip ospf'.
2045
2046 * ospf_interface.c (ospf_if_free): Fix bug of crash with
2047 Point-to-Point interface.
2048
20492000-07-27 Michael Rozhavsky <mike@nbase.co.il>
2050
2051 * ospf_flood.c (ospf_process_self_originated_lsa):
2052 Make sure to clear LSA->param (redistributed external information)
2053 before refreshment.
2054
20552000-07-27 Gleb Natapov <gleb@nbase.co.il>
2056
2057 * ospfd.c (refresh_group_limit), (refresh_per_slice),
2058 (refresh_age_diff): New defun added. Refresher related parameter
2059 can be configurable.
2060
20612000-07-27 Akihiro Mizutani <mizutani@dml.com>
2062
2063 * ospf_interface.c (interface_config_write): Print `description'
2064 config directive to work.
2065
20662000-07-24 Akihiro Mizutani <mizutani@dml.com>
2067
2068 * ospf_interface.c (ospf_if_init): Use install_default for
2069 INTERFACE_NODE.
2070
20712000-07-24 Gleb Natapov <gleb@nbase.co.il>
2072
2073 * ospf_packet.c (ospf_ls_upd_send_list), (ospf_ls_upd_send_event),
2074 (ospf_ls_ack_send_list), (ospf_ls_ack_send_event): New function added.
2075 This make sending always as many LS update/Ack combined in one ospf
2076 packet.
2077
20782000-07-24 Gleb Natapov <gleb@nbase.co.il>
2079
2080 * ospf_packet.c (ospf_ls_upd_list_lsa): Set NULL to lsa->area if
2081 LSA is AS-external-LSA.
2082
2083 * ospf_nsm.c (nsm_reset_nbr): Do not cancel Inactivity timer.
2084
20852000-07-21 Toshiaki Takada <takada@zebra.org>
2086
2087 * ospf_zebra.c (ospf_default_originate_timer): Set timer for
2088 `default-information originate'. Fix some default originate
2089 related functions.
2090
20912000-07-12 Toshiaki Takada <takada@zebra.org>
2092
2093 * ospf_lsa.c (stream_put_ospf_metric): New function added.
2094
20952000-07-12 Toshiaki Takada <takada@zebra.org>
2096
2097 * ospf_lsa.c (show_ip_ospf_database_router),
2098 (show_ip_ospf_database_network), (show_ip_ospf_database_summary),
2099 (show_ip_ospf_database_summary_asbr), (show_ip_ospf_database_externel),
2100 (show_router_lsa), (show_any_lsa), (show_router_lsa_self),
2101 (show_any_lsa_self): Functions removed.
2102
2103 (show_lsa_prefix_set), (show_lsa_detail_proc), (show_lsa_detail),
2104 (show_lsa_detail_adv_router_proc), (show_lsa_detail_adv_router):
2105 New functions added. Replace above functions.
2106
2107 (show_ip_ospf_database_all), (show_ip_ospf_database_self_originated):
2108 Functions removed.
2109 (show_ip_ospf_database_summary): New functions added. Replace
2110 above functions.
2111
2112 (show_ip_ospf_database_cmd): DEFUN rearranged.
2113 (show_ip_ospf_database_type_id_cmd),
2114 (show_ip_ospf_database_type_id_adv_router_cmd),
2115 (show_ip_ospf_database_type_is_self_cmd): New ALIASes added.
2116 (show_ip_ospf_database_type_adv_rotuer_cmd): New DEFUN added.
2117 (show_ip_ospf_database_type_self_cmd): New ALIAS added.
2118
21192000-07-11 Toshiaki Takada <takada@zebra.org>
2120
2121 * ospf_asbr.c (ospf_external_info_new),
2122 (ospf_external_info_free): New functions added.
2123
2124 * ospf_lsa.h (ospf_lsa): Add new member `void *param' to set
2125 origination parameter for external-LSA.
2126 Remove member `redistribute'.
2127
2128 * ospf_zebra.c (ospf_redistirbute_set): When `redistribute'
2129 command executed, metric and metric-type values are overridden.
2130 If one of those is changed refresh AS-external-LSAs for appropriate
2131 type.
2132
21332000-07-11 Michael Rozhavsky <mike@nbase.co.il>
2134
2135 * ospf_lsa.c (ospf_summary_lsa_refresh),
2136 (ospf_summary_asbr_lsa_refresh): Make sure to refresh summary-LSAs.
2137
2138 * ospf_abr.c (set_metric): New function added.
2139
21402000-07-07 Toshiaki Takada <takada@zebra.org>
2141
2142 * ospf_zebra.c (ospf_default_information_originate_metric_type),
2143 (ospf_default_information_originate_type_metric): New defun added.
2144 Metic and Metric type can be set to default route.
2145 (ospf_default_information_originate_always_metric_type):
2146 (ospf_default_information_originate_always_type_metric):
2147 New defun added. Metric and Metric type can be set to default
2148 always route.
2149
2150 * ospf_zebra.c (ospf_default_metric), (no_ospf_default_metric):
2151 New defun added.
2152
21532000-07-06 Gleb Natapov <gleb@nbase.co.il>
2154
2155 * ospf_flood.c (ospf_flood_through_area): Fix bug of considering
2156 on the same interface the LSA was received from.
2157
21582000-07-06 Michael Rozhavsky <mike@nbase.co.il>
2159
2160 * ospfd.c (ospf_config_write): Fix bug of printing `area stub'
2161 command with `write mem'.
2162
2163 * ospfd.c (no_router_ospf): Remove installed routes from zebra.
2164
2165 * ospf_zebra.c (ospf_interface_delete): Fix function to handle
2166 zebra interface delete event.
2167
21682000-07-06 Toshiaki Takada <takada@zebra.org>
2169
2170 * ospf_zebra.c (ospf_default_information_originate),
2171 (ospf_default_information_originate_always): New DEFUN added.
2172
21732000-07-05 Michael Rozhavsky <mike@nbase.co.il>
2174
2175 * ospf_route.c (ospf_terminate): Make sure to remove external route
2176 when SIGINT received.
2177
21782000-07-03 Gleb Natapov <gleb@nbase.co.il>
2179
2180 * ospf_flood.c, ospf_ism.c, ospf_lsa,c, ospfd.c: Make sure to free
2181 many structure with `no router ospf'.
2182
21832000-06-30 Gleb Natapov <gleb@nbase.co.il>
2184
2185 * ospf_neighbor.c (ospf_nbr_new),
2186 ospf_nsm.c (nsm_timer_set): Start LS update timer only
2187 when neighbor enters Exchange state.
2188
21892000-06-29 Gleb Natapov <gleb@nbase.co.il>
2190
2191 * ospf_nsm.c (nsm_timer_set), (nsm_exchange_done),
2192 ospf_packet.c (ospf_db_desc_proc):
2193 Do not cancel DD retransmit timer when Master.
2194
21952000-06-29 Gleb Natapov <gleb@nbase.co.il>
2196
2197 * ospf_abr.c (ospf_abr_announce_network_to_area),
2198 (ospf_abr_announce_rtr_to_area)
2199 ospf_ase.c (ospf_ase_rtrs_register_lsa),
2200 ospf_flood.c (ospf_process_self_originated_lsa),
2201 (ospf_flood_through_area), (ospf_ls_request_delete),
2202 ospf_interface.c (ospf_if_free),
2203 ospf_ism.c (ism_change_status),
2204 ospf_lsa.c (ospf_router_lsa_update_timer),
2205 (ospf_router_lsa_install), (ospf_network_lsa_install),
2206 (ospf_lsa_maxage_delete), (ospf_lsa_action),
2207 (ospf_schedule_lsa_flood_area),
2208 ospf_nsm.c (nsm_change_status),
2209 ospf_packet.c (ospf_make_ls_req_func), (ospf_make_ls_ack):
2210 Use ospf_lsa_{lock,unlock} for all looking-up of LSA.
2211
2212 * ospf_flood.c (ospf_ls_request_free): Function deleted.
2213
2214 * ospf_lsa.c (ospf_discard_from_db): New function added.
2215
22162000-06-26 Toshiaki Takada <takada@zebra.org>
2217
2218 * ospfd.h (ospf): struct member `external_lsa' name changed to
2219 `lsdb'.
2220
22212000-06-26 Toshiaki Takada <takada@zebra.org>
2222
2223 * ospf_lsa.c (ospf_lsa_install), (ospf_router_lsa_install),
2224 (ospf_network_lsa_install), (ospf_summary_lsa_install),
2225 (ospf_summary_asbr_lsa_install), (ospf_external_lsa_install):
2226 Functions re-arranged.
2227
2228 * ospf_lsa.c (IS_LSA_MAXAGE), (IS_LSA_SELF): Macro added.
2229
22302000-06-20 Michael Rozhavsky <mike@nbase.co.il>
2231
2232 * ospf_packet.c (ospf_ls_req), (ospf_ls_upd), (ospf_ls_ack): Add
2233 verification of LS type.
2234
22352000-06-20 Gleb Natapov <gleb@nbase.co.il>
2236
2237 * ospf_ase.c (ospf_ase_calculate_timer): Add more sanity check
2238 whether rn->info is NULL.
2239
22402000-06-20 Toshiaki Takada <takada@zebra.org>
2241
2242 * ospfd.c (show_ip_ospf_interface_sub): Show Router-ID of both
2243 DR and Backup correctly with `show ip ospf interface' command.
2244
22452000-06-20 Toshiaki Takada <takada@zebra.org>
2246
2247 * ospf_lsa.c (ospf_lsa_lock), (ospf_lsa_unlock),
2248 (ospf_lsa_discard): These functions are used for avoiding
2249 unexpected reference to freed LSAs.
2250
22512000-06-13 Kunihiro Ishiguro <kunihiro@zebra.org>
2252
2253 * ospf_packet.c (ospf_ls_upd): Initialize lsa by NULL to avoid
2254 warning.
2255
22562000-06-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2257
2258 * ospf_ase.h (ospf_ase_rtrs_register_lsa): Add prototype.
2259
22602000-06-12 Toshiaki Takada <takada@zebra.org>
2261
2262 * ospf_lsa.c (ospf_external_lsa_install): Make sure to register
2263 LSA to rtrs_external when replacing AS-external-LSAs in LSDB.
2264 Fix core dump.
2265
22662000-06-10 Toshiaki Takada <takada@zebra.org>
2267
2268 * ospf_lsdb.c (id_to_prefix), (ospf_lsdb_hash_key),
2269 (ospf_lsdb_hash_cmp), (ospf_lsdb_new), (ospf_lsdb_iterator),
2270 (lsdb_free), (ospf_lsdb_free), (ospf_lsdb_add), (ospf_lsdb_delete),
2271 (find_lsa), (ospf_lsdb_lookup), (find_by_id),
2272 (ospf_lsdb_lookup_by_id), (ospf_lsdb_lookup_by_header): Functinos
2273 removed for migration to new_lsdb.
2274
2275 * ospf_lsa.c (ospf_summary_lsa_install),
2276 (ospf_summary_asbr_lsa_install), (ospf_maxage_lsa_remover),
2277 (ospf_lsa_maxage_walker), (ospf_lsa_lookup),
2278 (ospf_lsa_lookup_by_id): Use new_lsdb instead of ospf_lsdb.
2279 (count_lsa), (ospf_lsa_count_table), (ospf_lsa_count),
2280 (ospf_get_free_id_for_prefix): Funcitions removed.
2281
22822000-06-09 Gleb Natapov <gleb@nbase.co.il>
2283
2284 * ospf_ism.c (ism_interface_down): Prevent some unneeded DR changes.
2285
2286 * ospf_packet.c (ospf_db_desc_proc): Fix memory leak.
2287 (ospf_hello): Always copy router-ID when hello is received.
2288
22892000-06-08 Gleb Natapov <gleb@nbase.co.il>
2290
2291 * ospf_lsa.h (struct ospf_lsa): Add member of pointer to struct
2292 ospf_area.
2293
22942000-06-08 Michael Rozhavsky <mike@nbase.co.il>
2295
2296 * ospf_ase.c (ospf_asbr_route_same): New function added.
2297 This function makes sure external route calculation more
2298 precisely.
2299
23002000-06-07 Michael Rozhavsky <mike@nbase.co.il>
2301
2302 * ospf_ism.c (ism_change_status): Use ospf_lsa_flush_area for
2303 network-LSA deletion instead of using ospf_lsdb_delete.
2304 Also cancel network-LSA origination timer.
2305
23062000-06-07 Levi Harper <lharper@kennedytech.com>
2307
2308 * ospf_interface.c (ospf_if_down): Close read fd when an interface
2309 goes down.
2310
23112000-06-05 Kunihiro Ishiguro <kunihiro@zebra.org>
2312
2313 * ospf_asbr.c (ospf_external_info_lookup): Add explicit brace for
2314 avoid ambiguous else.
2315
2316 * ospf_flood.c (ospf_external_info_check): Likewise.
2317
23182000-06-05 Toshiaki Takada <takada@zebra.org>
2319
2320 * ospf_nsm.c (nsm_adj_ok): Fix bug of DR election.
2321
23222000-06-04 Toshiaki Takada <takada@zebra.org>
2323
2324 * ospf_zebra.c (ospf_default_information_originate),
2325 (no_ospf_default_information_originate): New DEFUN added.
2326
23272000-06-03 Toshiaki Takada <takada@zebra.org>
2328
2329 * ospf_lsa.h, ospf_asbr.h (external_info): Struct moved from
2330 ospf_lsa.h to ospf_asbr.h.
2331
2332 * ospf_lsa.c, ospf_asbr.c (ospf_external_info_add),
2333 (ospf_external_info_delete): Function moved from ospf_lsa.c
2334 to ospf_asbr.c.
2335
23362000-06-03 Toshiaki Takada <takada@zebra.org>
2337
2338 * ospf_flood.c (ospf_external_info_check): New function added.
2339 (ospf_process_self_orignated_lsa): Make sure to flush
2340 self-originated AS-external-LSA, when router reboot and no longer
2341 originate those AS-external-LSA.
2342
23432000-06-02 Toshiaki Takada <takada@zebra.org>
2344
2345 * ospf_network.c (ospf_serv_sock): Remove SO_DONTROUTE
2346 socket option.
2347
2348 * ospf_packet.c (ospf_write): Set MSG_DONTROUTE flag for
2349 unicast destination packets.
2350
23512000-06-02 Toshiaki Takada <takada@zebra.org>
2352
2353 * ospf_lsdb.c (new_lsdb_delete): Delete entry from LSDB only when
2354 specified LSA matches.
2355
23562000-06-02 Gleb Natapov <gleb@nbase.co.il>
2357
2358 * ospf_network.c (ospf_serv_sock): Set SO_DONTROUTE
2359 socket option.
2360
23612000-06-01 Akihiro Mizutani <mizutani@dml.com>
2362
2363 * ospf_dump.c: Replace string `Debugging functions\n' with DEBUG_STR.
2364 Replace string `OSPF information\n' with OSPF_STR.
2365
23662000-06-01 Toshiaki Takada <takada@zebra.org>
2367
2368 * ospf_lsdb.[ch]: Use new_lsdb struct for network-LSA instead of
2369 ospf_lsdb.
2370
23712000-06-01 Toshiaki Takada <takada@zebra.org>
2372
2373 * ospf_dump.c (config_debug_ospf_packet), (config_debug_ospf_event),
2374 (config_debug_ospf_ism), (config_debug_ospf_nsm),
2375 (config_debug_ospf_lsa), (config_debug_ospf_zebra),
2376 (term_debug_ospf_packet), (term_debug_ospf_event),
2377 (term_debug_ospf_ism), (term_debug_ospf_nsm),
2378 (term_debug_ospf_lsa), (term_debug_ospf_zebra): Repalce debug_ospf_*
2379 variable to use for debug option flags.
2380
2381 (debug_ospf_packet), (debug_ospf_ism), (debug_ospf_nsm),
2382 (debug_ospf_lsa), (debug_ospf_zebra): Set {config,term}_debug_*
2383 flags when vty->node is CONFIG_NODE, otherwise set only term_debug_*
2384 flags.
2385
2386 * ospf_dump.h (CONF_DEBUG_PACKET_ON), (CONF_DEBUG_PACKET_OFF),
2387 (TERM_DEBUG_PACKET_ON), (TERM_DEBUG_PACKET_OFF),
2388 (CONF_DEBUG_ON), (CONF_DEBUG_OFF), (IS_CONF_DEBUG_OSPF_PACKET),
2389 (IS_CONF_DEBUG_OSPF): New Macro added.
2390
23912000-05-31 Toshiaki Takada <takada@zebra.org>
2392
2393 * ospfd.c (clear_ip_ospf_neighbor): New DEFUN added.
2394 Currently this command is used for only debugging.
2395
2396 * ospf_nsm.c (nsm_change_status): Make sure thread cancellation
2397 for network-LSA when DR has no full neighbors.
2398
2399 * ospf_nsm.c (ospf_db_summary_clear): New function added.
2400
24012000-05-30 Toshiaki Takada <takada@zebra.org>
2402
2403 * ospf_lsdb.c (new_lsdb_insert): LSAs are always freed by
2404 maxage_lsa_remover when LSA is replaced.
2405
24062000-05-25 Gleb Natapov <gleb@nbase.co.il>
2407
2408 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all): Add argument
2409 `struct ospf_area' to remove LSA from Link State retransmission list
2410 of neighbor from only one Area.
2411
24122000-05-24 Michael Rozhavsky <mike@nbase.co.il>
2413
2414 * ospf_lsdb.c (ospf_lsdb_add): Preserve flags field when
2415 overriting old LSA with new LSA.
2416
24172000-05-24 Gleb Natapov <gleb@nbase.co.il>
2418
2419 * ospf_lsa.c (ospf_router_lsa_body_set): Fix bug of router-LSA
2420 size calculation.
2421
24222000-05-22 Michael Rozhavsky <mike@nbase.co.il>
2423
2424 * ospf_route.c (ospf_intra_add_stub):
2425 * ospf_spf.h (struct vertex): Use u_int32_t for distance (cost)
2426 value instead of u_int16_t.
2427
24282000-05-22 Axel Gerlach <agerlach@datus.datus.com>
2429
2430 * ospf_ia.c (ospf_ia_network_route): Fix bug of Inter-area route
2431 equal cost path calculation.
2432
24332000-05-21 Toshiaki Takada <takada@zebra.org>
2434
2435 * ospf_ase.c (ospf_ase_calculate_route_delete): New function added.
2436 Make sure, when rotuer route is deleted, related external routes
2437 are also deleted.
2438
24392000-05-20 Toshiaki Takada <takada@zebra.org>
2440
2441 * ospfd.c (ospf_interface_down): Make sure interface flag is disable
2442 and set fd to -1.
2443
24442000-05-16 Toshiaki Takada <takada@zebra.org>
2445
2446 * ospf_asbr.c (ospf_asbr_should_announce), (ospf_asbr_route_remove):
2447 Functions removed.
2448
2449 * ospfd.h (EXTERNAL_INFO): Macro added.
2450 Substitute `ospf_top->external_info[type]' with it.
2451
24522000-05-16 Toshiaki Takada <takada@zebra.org>
2453
2454 * ospf_lsa.c (ospf_rtrs_external_remove): New function added.
2455
24562000-05-14 Gleb Natapov <gleb@nbase.co.il>
2457
2458 * ospf_flood.c (ospf_ls_retransmit_delete_nbr_all)
2459 * ospf_lsdb.c (new_lsdb_insert)
2460 * ospf_packet.c (ospf_ls_ack): Fix database synchonization problem.
2461
24622000-05-14 Gleb Natapov <gleb@nbase.co.il>
2463
2464 * ospf_lsa.h (tv_adjust), (tv_ceil), (tv_floor), (int2tv),
2465 (tv_add), (tv_sub), (tv_cmp): Prototype definition added.
2466
2467 * ospf_nsm.h (ospf_db_summary_delete_all): Prototype definition added.
2468
24692000-05-13 Toshiaki Takada <takada@zebra.org>
2470
2471 * ospf_lsa.[ch] (ospf_lsa): struct timestamp type is changed from
2472 time_t to struct timeval.
2473 (tv_adjust), (tv_ceil), (tv_floor), (int2tv), (tv_add),
2474 (tv_sub), (tv_cmp): timeval utillity functions added.
2475
24762000-05-12 Toshiaki Takada <takada@zebra.org>
2477
2478 * ospf_lsa.[ch] (ospf_schedule_update_router_lsas): Delete function.
2479 Change to use macro OSPF_LSA_UPDATE_TIMER instead of using
2480 this function.
2481 router-LSA refresh timer related stuff is re-organized.
2482
24832000-05-10 Gleb Natapov <gleb@nbase.co.il>
2484
2485 * ospf_interface.c (ospf_vl_set_params):
2486 * ospf_packet.c (ospf_check_network_mask):
2487 * ospf_spf.[ch] (ospf_spf_next):
2488 Remove field address from `struct vertex', and search for peer
2489 address of virtual link in function `ospf_vl_set_params' instead.
2490
24912000-05-10 Gleb Natapov <gleb@nbase.co.il>
2492
2493 * ospf_packet.c (ospf_ls_upd): Fix some memory leak related LSA.
2494
24952000-05-08 Thomas Molkenbur <tmo@datus.com>
2496
2497 * ospf_packet.c (ospf_packet_dup): Replace ospf_steram_copy()
2498 with ospf_stream_dup() to fix memory leak.
2499
25002000-05-08 Michael Rozhavsky <mike@nbase.co.il>
2501
2502 * ospf_flood.c (ospf_flood_through_area): Fix the problem of
2503 LSA update without DROther.
2504
25052000-05-04 Gleb Natapov <gleb@nbase.co.il>
2506
2507 * ospf_spf.c (ospf_vertex_free): Fix memory leak of SPF calculation.
2508
25092000-05-03 Toshiaki Takada <takada@zebra.org>
2510
2511 * ospf_neighbor.c (ospf_db_summary_add): Use new_lsdb struct
2512 instead linked-list.
2513 (ospf_db_summary_count), (ospf_db_summary_isempty):
2514 New function added.
2515
2516 * ospf_lsa.c (ospf_rotuer_lsa): Re-arrange and divide functions.
2517
25182000-05-02 Gleb Natapov <gleb@nbase.co.il>
2519
2520 * ospf_lsdb.c (new_lsdb_cleanup): Fix memory leak. When LSDB are
2521 not needed any more, then free them.
2522
25232000-05-02 Toshiaki Takada <takada@zebra.org>
2524
2525 * ospfd.c (timers_spf), (no_timers_spf): New defun added.
2526 SPF calculation timers related stuff is rearranged.
2527
2528 * ospf_spf.c (ospf_spf_calculate_timer_add): Function removed.
2529 SPF timer is scheduled by SPF calculation delay and holdtime
2530 configuration variable.
2531
2532 * ospf_lsa.c (ospf_external_lsa_nexthop_get): Set AS-external-LSA's
2533 forwarding address when nexthop learned by other protocols is
2534 in the OSPF domain.
2535
2536 * ospf_zebra.c (ospf_redistribute_source_metric_type),
2537 (ospf_redistribute_source_type_metric): Re-arrange DEFUNs and
2538 ALIASes.
2539
25402000-05-01 Toshiaki Takada <takada@zebra.org>
2541
2542 * ospf_flood.c (ospf_ls_retransmit_count),
2543 (ospf_ls_retransmit_isempty): New function added.
2544
2545 (ospf_ls_retransmit_add), (ospf_ls_retransmit_delete),
2546 (ospf_ls_retransmit_clear), (ospf_ls_retransmit_lookup),
2547 (ospf_ls_retransmit_delete_all), (ospf_ls_retransmit_delete_nbr_all),
2548 (ospf_ls_retransmit_add_nbr_all): Replace these functions to use
2549 new_lsdb.
2550
25512000-04-29 Toshiaki Takada <takada@zebra.org>
2552
2553 * ospfd.c (no_network_area): Add check Area-ID whether specified
2554 Area-ID with prefix matches config.
2555
25562000-04-27 Toshiaki Takada <takada@zebra.org>
2557
2558 * ospf_lsa.c (ospf_maxage_lsa_remover): Fix problem of
2559 remaining withdrawn routes on zebra.
2560
25612000-04-25 Michael Rozhavsky <mike@nbase.co.il>
2562
2563 * ospf_nsm.c (nsm_kill_nbr), (nsm_ll_down), (nsm_change_status),
2564 (ospf_nsm_event): Fix network-LSA re-origination problem.
2565
25662000-04-24 Toshiaki Takada <takada@zebra.org>
2567
2568 * ospf_nsm.c (ospf_db_desc_timer): Fix bug of segmentation fault
2569 with DD retransmission.
2570
2571 * ospf_nsm.c (nsm_kill_nbr): Fix bug of re-origination when
2572 a neighbor disappears.
2573
25742000-04-23 Michael Rozhavsky <mike@nbase.co.il>
2575
2576 * ospf_abr.c (ospf_abr_announce_network_to_area): Fix bug of
2577 summary-LSAs reorigination. Correctly copy OSPF_LSA_APPROVED
2578 flag to new LSA. when summary-LSA is reoriginatd.
2579
2580 * ospf_flood.c (ospf_flood_through_area): Fix bug of flooding
2581 procedure. Change the condition of interface selection.
2582
25832000-04-21 Toshiaki Takada <takada@zebra.org>
2584
2585 * ospf_lsa.c (ospf_refresher_register_lsa): Fix bug of refresh never
2586 occurs.
2587
2588 * ospfd.c (show_ip_ospf_neighbor_id): New defun added.
2589 `show ip ospf neighbor' related commands are re-arranged.
2590
25912000-04-20 Toshiaki Takada <takada@zebra.org>
2592
2593 * ospf_dump.c (debug_ospf_zebra): New defun added.
2594 Suppress zebra related debug information.
2595
25962000-04-19 Toshiaki Takada <takada@zebra.org>
2597
2598 * ospf_zebra.c (ospf_distribute_list_update_timer),
2599 (ospf_distribute_list_update), (ospf_filter_update):
2600 New function added. Re-organize `distribute-list' router ospf
2601 command.
2602
26032000-04-13 Michael Rozhavsky <mike@nbase.co.il>
2604
2605 * ospf_packet.c (ospf_make_ls_upd): Add check for MAX_AGE.
2606
26072000-04-14 Michael Rozhavsky <mike@nbase.co.il>
2608
2609 * ospf_packet.c (ospf_make_ls_upd): Increment LS age by configured
2610 interface transmit_delay.
2611
26122000-04-14 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
2613
2614 * ospf_interface.c (ip_ospf_cost), (no_ip_ospf_cost):
2615 Add to schedule router_lsa origination when the interface cost changes.
2616
26172000-04-12 Toshiaki Takada <takada@zebra.org>
2618
2619 * ospf_lsa.c (ospf_refresher_register_lsa),
2620 (ospf_refresher_unregister_lsa): Fix bug of core dumped.
2621
2622 * ospfd.c (no_router_ospf): Fix bug of core dumped.
2623
26242000-03-29 Toshiaki Takada <takada@zebra.org>
2625
2626 * ospf_nsm.c (nsm_oneway_received): Fix bug of MS flag unset.
2627
26282000-03-29 Michael Rozhavsky <mike@nbase.co.il>
2629
2630 * ospf_lsa.c (ospf_network_lsa):
2631 * ospf_nsm.c (ospf_nsm_event): Fix bug of Network-LSA originated
2632 in stub network.
2633
26342000-03-28 Toshiaki Takada <takada@zebra.org>
2635
2636 * ospf_nsm.c (nsm_bad_ls_req), (nsm_seq_number_mismatch),
2637 (nsm_oneway_received): Fix bug of NSM state flapping between
2638 ExStart and Exchange.
2639
26402000-03-28 Toshiaki Takada <takada@zebra.org>
2641
2642 * ospf_packet.h (strcut ospf_header): Fix the size of ospf_header,
2643 change u_int8_t to u_char.
2644
26452000-03-27 Toshiaki Takada <takada@zebra.org>
2646
2647 * ospf_lsa.c (ospf_lsa_checksum): Take care of BIGENDIAN architecture.
2648
26492000-03-27 Toshiaki Takada <takada@zebra.org>
2650
2651 * ospfd.c (ospf_interface_run): Make sure Address family matches.
2652
26532000-03-26 Love <lha@s3.kth.se>
2654
2655 * ospf_packet.c (ospf_write): Chack result of sendto().
2656
26572000-03-26 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
2658
2659 * ospf_nsm.c (nsm_oneway_received): Fix bug of 1-WayReceived in NSM.
2660
26612000-03-23 Libor Pechacek <farco@clnet.cz>
2662
2663 * ospf_lsa.c (ospf_network_lsa)
2664 * ospf_lsdb.c (new_lsdb_insert): Fix bug of accessing to
2665 unallocated memory.
2666
26672000-03-23 Toshiaki Takada <takada@zebra.org>
2668
2669 * ospfd.c (ospf_config_write): Fix bug of duplicate line for
2670 `area A.B.C.D authentication'.
2671
26722000-03-22 Toshiaki Takada <takada@zebra.org>
2673
2674 * ospf_debug.c (debug_ospf_lsa), (no_debug_ospf_lsa): Defun added.
2675 Suppress all zlog related to LSAs with this config option.
2676
26772000-03-21 Kunihiro Ishiguro <kunihiro@zebra.org>
2678
2679 * ospf_nsm.c (ospf_nsm_event): Add check for NSM_InactivityTimer.
2680
26812000-03-21 Toshiaki Takada <takada@zebra.org>
2682
2683 * ospf_packet.c (ospf_ls_upd_timer), (ospf_ls_req):
2684 Fix bug of memory leak about linklist.
2685
2686 * ospf_flood.c (ospf_flood_through_area): Likewise.
2687
26882000-03-18 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
2689
2690 * ospf_flood.c (ospf_ls_retransmit_lookup): Add checksum comparison
2691 to identify LSA uniquely. This fix routes lost.
2692
26932000-03-18 Toshiaki Takada <takada@zebra.org>
2694
2695 * ospf_ase.c (ospf_find_asbr_route): Add sanity check with router
2696 routing table.
2697
26982000-03-17 Alex Zinin <zinin@amt.ru>
2699
2700 * ospf_spf.[ch]: Bug fix.
2701 The 2nd stage of Dijkstra could consider one vertex
2702 more than once if there is more than one link
2703 between the routers, thus adding extra CPU overhead
2704 and extra next-hops.
2705 Fixed.
2706
27072000-03-15 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
2708
2709 * ospf_nsm.c (nsm_inactivity_timer): Changed to call nsm_kill_nbr().
2710
27112000-03-14 Toshiaki Takada <takada@zebra.org>
2712
2713 * ospf_route.c (ospf_route_copy_nexthops): Fix bug of memory leak of
2714 ospf_path. Actually ignore merging ospf_route with completely same
2715 paths.
2716
27172000-03-12 Toshiaki Takada <takada@zebra.org>
2718
2719 * ospf_lsa.c (show_as_external_lsa_detail): fix bug of
2720 external route tag byte order.
2721
27222000-03-11 Toshiaki Takada <takada@zebra.org>
2723
2724 * ospf_lsdb.c (ospf_lsdb_insert): New function added.
2725
27262000-03-09 Toshiaki Takada <takada@zebra.org>
2727
2728 * ospf_lsa.c (ospf_external_lsa_install),
2729 (ospf_lsa_lookup), (show_ip_ospf_database_all),
2730 (show_ip_ospf_database_self_originate): Use struct new_lsdb for
2731 LSDB of AS-external-LSAs instead of ospf_lsdb.
2732
2733 * ospf_lsa.c (ospf_lsa_unique_id): New function added.
2734 Use for assigning Unique Link State ID instead of
2735 ospf_get_free_id_for_prefix().
2736
27372000-03-09 Toshiaki Takada <takada@zebra.org>
2738
2739 * ospf_ase.c (ospf_ase_calculate_timer): Fix bug of segmentation
2740 fault reported by George Bonser <george@siteROCK.com>.
2741
27422000-03-07 Libor Pechacek <farco@clnet.cz>
2743
2744 * ospfd.c (ospf_interface_down): Fix bug of segmentation fault.
2745
27462000-03-06 Toshiaki Takada <takada@zebra.org>
2747
2748 * ospf_route.c (ospf_route_cmp): Change meaning of return values.
2749
27502000-03-02 Alex Zinin <zinin@amt.ru>
2751 * ospfd.h, ospf_ia.h
2752 New Shortcut ABR code. Now area's flag can be configured
2753 with Default, Enable, and Disable values.
2754 More info will be in the new ver of I-D soon (see IETF web).
2755
27562000-02-25 Toshiaki Takada <takada@zebra.org>
2757
2758 * ospf_lsa.c (ospf_lsa_header_set), (ospf_external_lsa_body_set),
2759 (osfp_external_lsa_originate), (ospf_external_lsa_queue),
2760 (ospf_external_lsa_originate_from_queue): New function added.
2761 (ospf_external_lsa): Function removed.
2762
2763 * ospf_zebra.c (ospf_zebra_read_ipv4): Originate AS-external-LSA
2764 when listen a route from Zebra, instead creating external route.
2765
2766 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
2767 (ospf_asbr_route_add_queue_lsa),
2768 (ospf_asbr_route_install_lsa), (ospf_asbr_route_add):
2769 Functions removed.
2770
2771 * ospf_ase.c (process_ase_lsa): Function will not be used.
2772 (ospf_ase_calculate), (ospf_ase_calculate_route_add),
2773 (ospf_ase_calculate_new_route), (ospf_ase_caluculate_asbr_route):
2774 process_ase_lsa () is separated to these functions.
2775
2776 OSPF AS-external-LSA origination is whole re-organized.
2777
27782000-02-18 Toshiaki Takada <takada@zebra.org>
2779
2780 * ospf_packet.c (ospf_ls_upd): Fix bug of OSPF LSA memory leak.
2781
2782 * ospf_asbr.c (ospf_asbr_route_add_flood_lsa),
2783 (ospf_asbr_route_add_queue_lsa): Fix bug of OSPF external route
2784 memory leak.
2785
27862000-02-12 Kunihiro Ishiguro <kunihiro@zebra.org>
2787
2788 * ospf_asbr.c (ospf_asbr_route_install_lsa): Re-calculate LSA
2789 checksum after change Advertised Router field.
2790
27912000-02-09 Toshiaki Takada <takada@zebra.org>
2792
2793 * ospf_asbr.c (ospf_external_route_lookup): Add new function.
2794
27952000-02-08 Toshiaki Takada <takada@zebra.org>
2796
2797 * ospfd.c (ospf_router_id_get), (ospf_router_id_update),
2798 (ospf_router_id_update_timer): Router ID decision algorithm is changed.
2799 Router ID is chosen from all of eligible interface addresses even if
2800 it is not enable to OSPF.
2801
28022000-02-08 Toshiaki Takada <takada@zebra.org>
2803
2804 * ospf_asbr.c (ospf_asbr_route_add): Function divided to
2805 ospf_asbr_route_add_flood_lsa, ospf_asbr_route_add_queue_lsa and
2806 ospf_asbr_route_install_lsa. If Router-ID is not set, then LSA is
2807 waited to install to LSDB.
2808 `0.0.0.0 adv_router' AS-external-LSA origination bug was fixed.
2809
28102000-02-01 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
2811
2812 * ospf_flood.c (ospf_ls_retransmit_lookup): Compare LS seqnum
2813 in the ACK before deleting.
2814
2815 * ospf_packet.c (ospf_hello): Reset the flags after a shutdown
2816 and no shutdown of the interface.
2817
28182000-01-31 Toshiaki Takada <takada@zebra.org>
2819
2820 * ospf_packet.c (ospf_ls_req): Send multiple Link State Update
2821 packets respond to a Link State Request packet.
2822
2823 * ospfd.c (show_ip_ospf_neighbor_detail_sub): Show thread state.
2824
2825 * ospf_interface.c (ospf_vl_new): Crash when backbone area
2826 is not configured and set virtual-link to no-backbone area,
2827 bug fixed.
2828
28292000-01-30 Kunihiro Ishiguro <kunihiro@zebra.org>
2830
2831 * ospf_neighbor.h (struct ospf_neighbor): Add pointer to last send
2832 LS Request LSA.
2833
2834 * ospf_packet.c (ospf_ls_upd): Comment out LS request list
2835 treatment. That should be done in OSPF flooding procedure.
2836
2837 * ospf_flood.c (ospf_flood_through_area): Enclose
2838 ospf_check_nbr_loding inside if-else close.
2839
28402000-01-31 Toshiaki Takada <takada@zebra.org>
2841
2842 * ospf_packet.c (ospf_make_ls_upd): Fix bug of #LSAs counting.
2843
28442000-01-29 Toshiaki Takada <takada@zebra.org>
2845
2846 * ospf_packet.c (ospf_make_md5_digest): Fix bug of md5 authentication.
2847
28482000-01-28 Toshiaki Takada <takada@zebra.org>
2849
2850 * ospfd.c (show_ip_ospf): Show Number of ASE-LSAs.
2851
28522000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2853
2854 * ospf_packet.c (ospf_make_db_desc): Don't use rm_list for
2855 removing LSA from nbr->db_summary.
2856
28572000-01-27 Sira Panduranga Rao <pandu@euler.ece.iisc.ernet.in>
2858
2859 * ospf_packet.c (ospf_ls_upd_send): Set AllSPFRouters to
2860 destination when the link is point-to-point.
2861 (ospf_ls_ack_send_delayed): Likewise.
2862
28632000-01-27 Kunihiro Ishiguro <kunihiro@zebra.org>
2864
2865 * ospf_flood.c (ospf_ls_request_delete_all): Fix bug of next
2866 pointer lookup after the node is freed.
2867
28682000-01-26 Kunihiro Ishiguro <kunihiro@zebra.org>
2869
2870 * ospf_asbr.c (ospf_asbr_route_add): Instead of scanning all AS
2871 external route, use ospf_top->external_self.
2872
28732000-01-27 Toshiaki Takada <takada@zebra.org>
2874
2875 * ospf_lsa.c (ospf_forward_address_get): New function added.
2876
2877 * ospf_asbr.c (ospf_asbr_check_lsas): Originate AS-external-LSA
2878 only when it should be replaced.
2879
28802000-01-25 Kunihiro Ishiguro <kunihiro@zebra.org>
2881
2882 * ospf_flood.c (ospf_ls_retransmit_clear): Delete list node.
2883
2884 * ospf_lsa.c (ospf_lsa_free): Reduce logging message using
2885 ospf_zlog value.
2886
2887 * ospf_ism.c (ism_change_status): Fix bug of DR -> non DR status
2888 change. Self originated LSA is freed but not deleted from lsdb.
2889
28902000-01-24 Kunihiro Ishiguro <kunihiro@zebra.org>
2891
2892 * ospf_ism.c (ism_interface_down): Don't use router_id for
2893 detecting self neighbor structure. Instead of that compare
2894 pointer itself.
2895
2896 * ospf_neighbor.c (ospf_nbr_free): Cancel all timer when neighbor
2897 is deleted.
2898 (ospf_nbr_free): Free last send packet.
2899
2900 * ospf_neighbor.h (struct ospf_neighbor): Remove host strucutre.
2901 Instead of that src is introduced.
2902
2903 * ospf_nsm.h: Enclose macro defenition with do {} while (0).
2904
29052000-01-17 Kunihiro Ishiguro <kunihiro@zebra.org>
2906
2907 * ospfd.c: Change part of passive interface implementation. For
2908 passive interface just disabling sending/receiving Hello on the
2909 interface.
2910
29112000-01-16 Kai Bankett <kai.bankett@vew-telnet.net>
2912
2913 * ospf_interface.h (OSPF_IF_PASSIVE): Add passive flag.
2914 * ospf_interface.c (ospf_if_lookup_by_name): Add new function.
2915 * ospf_lsa.c (ospf_router_lsa): Skip passive interface.
2916 * ospfd.c (passive_interface): New command passive-interface is
2917 added.
2918 (ospf_config_write): Print passive interface.
2919
29202000-01-15 Toshiaki Takada <takada@zebra.org>
2921
2922 * ospf_interface.h (crypt_key): New struct added to store
2923 multiple cryptographic autheitication keys.
2924 (ospf_interface): struct changed.
2925
2926 * ospf_interface.c: ospf_crypt_key_new, ospf_crypt_key_add,
2927 ospf_crypt_key_lookup, ospf_crypt_key_delete: new functions added.
2928
2929 * ospf_packet.c (ip_ospf_message_digest_key): Changed to store
2930 multiple cryptographic authentication keys.
2931
29322000-01-14 Toshiaki Takada <takada@zebra.org>
2933
2934 * ospf_interface.c: DEFUN (if_ospf_*) commands changed name to
2935 ip_ospf_* ().
2936 Old notation `ospf *' still remains backward compatibility.
2937
29381999-12-29 Alex Zinin <zinin@amt.ru>
2939 * ospf_lsa.c: ospf_lsa_more_recent() bug fix
2940 * ospf_nsm.c, ospf_packet.c: remove nbr data struct when
2941 int goes down, also check DD flags correctly (bug fix)
2942
29431999-12-28 Alex Zinin <zinin@amt.ru>
2944 * "redistribute <source> metric-type (1|2) metric <XXX>" added
2945
29461999-12-23 Alex Zinin <zinin@amt.ru>
2947 * added RFC1583Compatibility flag
2948 * added dynamic interface up/down functionality
2949
29501999-11-19 Toshiaki Takada <takada@zebra.org>
2951
2952 * ospf_neighbor.h (struct ospf_neighbor): Add member state_change
2953 for NSM state change statistics.
2954
29551999-11-19 Toshiaki Takada <takada@zebra.org>
2956
2957 * ospfd.c (show_ip_ospf_neighbor_detail),
2958 (show_ip_ospf_neighbor_int_detail): DEFUN Added.
2959
29601999-11-14 Kunihiro Ishiguro <kunihiro@zebra.org>
2961
2962 * ospf_asbr.c (ospf_asbr_check_lsas): Add check of
2963 lsa->refresh_list.
2964
29651999-11-11 Toshiaki Takada <takada@zebra.org>
2966
2967 * ospf_ia.[ch] (OSPF_EXAMINE_SUMMARIES_ALL): Macro added.
2968 This macro is expanded to ospf_examine_summaries ()
2969 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
2970 (OSPF_EXAMINE_TRANSIT_SUMMARIES_ALL): Macro added.
2971 This macro is expanded to ospf_examine_transit_summaries ()
2972 for SUMMARY_LSA and SUMMARY_LSA_ASBR.
2973
29741999-11-11 Toshiaki Takada <takada@zebra.org>
2975
2976 * ospf_lsa.[ch] (ospf_find_self_summary_lsa_by_prefix): Changed to
2977 macro OSPF_SUMMARY_LSA_SELF_FIND_BY_PREFIX.
2978 (ospf_find_self_summary_asbr_lsa_by_prefix): Changed to
2979 macro OSPF_SUMMARY_ASBR_LSA_SELF_FIND_BY_PREFIX.
2980 (ospf_find_self_external_lsa_by_prefix): Changed to
2981 macro OSPF_EXTERNAL_LSA_SELF_FIND_BY_PREFIX.
2982
29831999-11-11 Toshiaki Takada <takada@zebra.org>
2984
2985 * ospfd.c (ospf_abr_type): ospf_abr_type_cisco, ospf_abr_type_ibm,
2986 ospf_abr_type_shortcut and ospf_abr_type_standard DEFUNs are
2987 combined.
2988 * ospfd.c (no_ospf_abr_type): no_ospf_abr_type_cisco,
2989 no_ospf_abr_type_ibm and no_ospf_abr_type_shortcut DEFUNS are
2990 combined.
2991
29921999-11-10 Toshiaki Takada <takada@zebra.org>
2993
2994 * ospf_route.c (ospf_lookup_int_by_prefix): Move function to
2995 ospf_interface.c and change name to ospf_if_lookup_by_prefix ().
2996
29971999-11-01 Alex Zinin <zinin@amt.ru>
2998 * ospf_packet.c
2999 some correction to LSU processing
3000
3001 * ospf_lsa.c ospfd.h
3002 randomize initial LSA refreshment interval
3003 and limit the size of LSA-group to 10
3004 to let randomization work more effectively.
3005
30061999-10-31 Alex Zinin <zinin@amt.ru>
3007 * ospf_interface.c
3008 cancel t_network_lsa_self
3009 when freeing int structure
3010
3011 * ospf_abr.c ospf_asbr.c ospf_flood.c ospf_lsa.c
3012 ospf_lsa.h ospf_lsdb.h ospfd.c ospfd.h
3013
3014 Summary and ASE LSA refreshment functions
3015 added---LSA refreshment is paced to 70 LSAs
3016 per sec to avoid link overflow. Refreshment events
3017 are further randomized within a 10 sec interval
3018 to avoid syncing.
3019
3020 Also the sigfault of memcmp() in ospf_lsa_is_different()
3021 is fixed.
3022
30231999-10-30 Alex Zinin <zinin@amt.ru>
3024 * ospf_nsm.c
3025 Fix the bug where MAX_AGE LSAs
3026 are included into the DB summary.
3027
3028 * ospf_interface.c
3029 allocate 2*MTU input buffer instead of just MTU
3030 for the cases when the other router mistakenly
3031 sends larger packets thus causing fragmentation, etc.
3032
3033 * ospf_nsm.c
3034 in nsm_reset_nbr() lists should be freed
3035 not when they are empty.
3036
30371999-10-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3038
3039 * ospf_zebra.c (ospf_acl_hook): Move OSPF_IS_ASBR and OSPF_IS_ABR
3040 check inside of if (ospf_top).
3041
30421999-10-29 Alex Zinin <zinin@amt.ru>
3043 * ospf_lsa.c ospf_lsdb.c :
3044 add assertion in lsa and lsa->data alloc functions,
3045 as well as in lsdb_add for new->data
3046
3047 * ospf_lsdb.c: free hash table correctly
3048
30491999-10-28 John Capo <jc@irbs.com>
3050
3051 * ospf_packet.h (OSPF_PACKET_MAX): Correct MAX packet length
3052 calculation
3053
30541999-10-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3055
3056 * OSPF-TRAP-MIB.txt: New file added. Edited version of RFC1850.
3057
3058 * OSPF-MIB.txt: New file added. Edited version of RFC1850.
3059
30601999-10-27 Alex Zinin <zinin@amt.ru>
3061 * ospfd, ospf_zebra, ospf_abr
3062 "area import-list" command is added.
3063 This command allows to filter the inter-area routes
3064 injected into an area. Access list hook function
3065 extended to invalidate area exp/imp lists.
3066
30671999-10-25 Yoshinobu Inoue <shin@nd.net.fujitsu.co.jp>
3068
3069 * ospfd.c (ospf_interface_run): Enable to detect P2P network
3070 on an OSPF interface.
3071
30721999-10-19 Jordan Mendelson <jordy@wserv.com>
3073
3074 * ospf_lsdb.c (ospf_lsdb_add): Fix bug of crash
3075 in ospf_ls_retransmit_lookup ().
3076
30771999-10-19 Vladimir B. Grebenschikov <vova@express.ru>
3078
3079 * ospf_route.c: Workaround about installation of OSPF routes into
3080 the zebra daemon. Add checking of existance routes. Free
3081 ospf_top->old_table if it exists.
3082
30831999-10-15 Jordan Mendelson <jordy@wserv.com>
3084
3085 * Add support for MD5 authentication.
3086
30871999-10-12 Alex Zinin <zinin@amt.ru>
3088 * ospfd.c, ospfd.h, ospf_abr.c:
3089 a new command "area export-list" was added, it allows
3090 the admin. to control which intra-area routes are
3091 announced to other areas by the ABR
3092
30931999-10-12 Alex Zinin <zinin@amt.ru>
3094 * ospf_asbr.c (ospf_asbr_check_lsas): Fix bug of coredump
3095 when "no redistribute" is used after a distribute list
3096 denying some networks was used
3097
30981999-10-05 Toshiaki Takada <takada@zebra.org>
3099
3100 * ospf_route.c (ospf_path_dup): New function added.
3101
31021999-10-05 Toshiaki Takada <takada@zebra.org>
3103
3104 * ospf_interface.[ch]: Some of VL related funciton name changed.
3105
31061999-09-27 Alex Zinin <zinin@amt.ru>
3107
3108 * ospf_zebra.c: Distribute-list functionality added
3109
31101999-09-27 Toshiaki Takada <takada@zebra.org>
3111
3112 * ospfd.c (show_ip_ospf): Fix bug of segmentation fault when no ospf
3113 instance exists.
3114
31151999-09-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3116
3117 * ospfd.c (ospf_interface_down): Fix bug of misusing nextnode()
3118 instead of node->next. Reported by Hiroki Ishibashi
3119 <ishibasi@dcd.abk.nec.co.jp>.
3120
3121 * ospf_route.c (show_ip_ospf_route): Add check for ospf is enabled
3122 or not.
3123
31241999-09-23 Alex Zinin <zinin@amt.ru>
3125
3126 * stub area support added
3127
31281999-09-23 Alex Zinin <zinin@amt.ru>
3129
3130 * fwd_addr in ASE-LSAs is now set correctly
3131 * ASE routing changed to check the fwd_addr
3132 and skip the route if the addr points to one
3133 of our interfaces to avoid loops.
3134
31351999-09-22 Alex Zinin <zinin@amt.ru>
3136
3137 * ospf_interface:
3138 ospf_vls_in_area() added, it returns
3139 the number of VLs configured through the area
3140
3141 * ospf_interface.c ospf_lsa.c ospf_lsdb.c ospfd.c
3142 honor correct mem alloc
3143
31441999-09-22 Alex Zinin <zinin@amt.ru>
3145
3146 * memory.[ch]:
3147 Some OSPF mem types added,
3148 plus more info in "show mem"
3149
31501999-09-21 Alex Zinin <zinin@amt.ru>
3151
3152 * ospfd.c:
3153 "area range substitute" added.
3154 It can be used on NAT-enabled (IP-masquarade)
3155 routers to announce private networks
3156 from an area as public ones into the outside
3157 world (not in the RFC, btw :)
3158
31591999-09-21 Alex Zinin <zinin@amt.ru>
3160
3161 * ospfd.c:
3162 "area range suppress" added.
3163 This command allows to instruct the router
3164 to be silent about specific ranges, i.e.,
3165 it is a method of route filtering on area
3166 borders
3167
31681999-09-21 Alex Zinin <zinin@amt.ru>
3169
3170 * ospfd.c VLs removed when "no network area" executed
3171
31721999-09-20 Alex Zinin <zinin@amt.ru>
3173
3174 * ospf_ase.c bug fix for not-zero fwd_addr
3175 and directly connected routes.
3176
31771999-09-20 Yon Uriarte <yon@plannet.de>
3178
3179 * ospf_packet.c (ospf_make_ls_req): Introduce delta value for
3180 checking the length of OSPF packet exceeds MTU or not.
3181
3182 * ospf_lsa.c (ospf_lsa_different): Apply ntohs for checking
3183 l1->data->length.
3184
31851999-09-18 Alex Zinin <zinin@amt.ru>
3186
3187 * ospf_lsa.c bug fix for ospf_network_lsa() to
3188 include itself into the RID list
3189
31901999-09-10 Alex Zinin <zinin@amt.ru>
3191
3192 * Alternative ABR behaviors IBM/Cisco/Shortcut
3193 implemented
3194
31951999-09-10 Alex Zinin <zinin@amt.ru>
3196
3197 * router and network-LSA origination
3198 changed to honor MinLSInterval
3199
32001999-09-08 Alex Zinin <zinin@amt.ru>
3201
3202 * modified ABR behavior to honor VLs and transit
3203 areas
3204
32051999-09-07 Alex Zinin <zinin@amt.ru>
3206
3207 * completed VL functionality
3208
32091999-09-06 Kunihiro Ishiguro <kunihiro@zebra.org>
3210
3211 * ospf_asbr.c: New file.
3212 ospf_asbr.h: New file.
3213
3214 * ospf_zebra.c (ospf_redistribute_connected): Add redistribute
3215 related stuff.
3216
32171999-09-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3218
3219 * ospfd.h (OSPF_FLAG_VIRTUAL_LINK): Change OSPF_FLAG_VEND to
3220 OSPF_FLAG_VIRTUAL_LINK for comprehensiveness.
3221
32221999-09-03 Kunihiro Ishiguro <kunihiro@zebra.org>
3223
3224 * ospf_spf.c (ospf_spf_register): Change name from
3225 ospf_spf_route_add() to ospf_spf_register().
3226 Include "ospfd/ospf_abr.h" for ospf_abr_task() prototype.
3227
32281999-09-02 Kunihiro Ishiguro <kunihiro@zebra.org>
3229
3230 * ospf_lsa.c (ospf_external_lsa_install): Change to update
3231 lsa->data rather than install new one, when same id lsa is already
3232 installed.
3233
32341999-09-01 Kunihiro Ishiguro <kunihiro@zebra.org>
3235
3236 * ospf_lsa.c (ospf_router_lsa_install): Return lsa value.
3237 (ospf_network_lsa_install): Likewise.
3238 (ospf_summary_lsa_install): Likewise.
3239 (ospf_summary_asbr_lsa_install): Likewise.
3240 (ospf_external_lsa_install): Likewise.
3241
3242 * ospf_spf.c (ospf_spf_calculate): Comment out debug function
3243 ospf_rtrs_print().
3244
32451999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3246
3247 * ospf_spf.c (ospf_rtrs_free): Add ospf_spf_calculate() for
3248 freeing rtrs.
3249
32501999-08-31 Toshiaki Takada <takada@zebra.org>
3251
3252 * ospf_lsa.c (show_ip_ospf_database_summary),
3253 (show_ip_ospf_database_summary_asbr),
3254 (show_ip_ospf_database_external): New function added.
3255 `show ip ospf database summary',
3256 `show ip ospf database asbr-summary'
3257 `show ip ospf database external' command can be used.
3258
3259 * ospf_lsa.c (ospf_lsa_count_table): New function added.
3260 (show_ip_ospf_database_all): show nothing if a type of LSA
3261 does not exist.
3262
32631999-08-31 Kunihiro Ishiguro <kunihiro@zebra.org>
3264
3265 * ospf_lsa.c (ospf_maxage_lsa_remover): Preserve next pointer when
3266 the node is deleted.
3267
32681999-08-31 Toshiaki Takada <takada@zebra.org>
3269
3270 * ospf_flood.c (ospf_ls_retransmit_lookup): change to return
3271 struct ospf_lsa *.
3272 (ospf_ls_request_new), (ospf_ls_request_free),
3273 (ospf_ls_request_add), (ospf_ls_request_delete),
3274 (ospf_ls_request_delete_all), (ospf_ls_request_lookup):
3275 New function added.
3276
3277 * ospf_packet.c (ospf_ls_upd_send_lsa): New function added.
3278
3279 * ospf_lsa.h (LS_AGE): Slightly change macro definition.
3280
3281 * ospf_lsa.c (ospf_lsa_more_recent), (ospf_lsa_diffrent):
3282 Use LS_AGE macro.
3283
32841999-08-30 Alex Zinin <zinin@amt.ru>
3285
3286 * ospfd.c
3287 fix a bug with area range config write
3288 added "show ip ospf" command, it will be enhanced later on
3289
32901999-08-30 Alex Zinin <zinin@amt.ru>
3291
3292 * ospf_lsa.c
3293 updated ospf_router_lsa() to honor flags (B-bit)
3294
32951999-08-30 Alex Zinin <zinin@amt.ru>
3296
3297 * ospf_abr.c
3298 wrote major functions implementing ABR activity
3299
33001999-08-30 Alex Zinin <zinin@amt.ru>
3301
3302 * ospf_ia.c ospf_route.c ospf_route.h
3303 fixed the bug with ospf_route.origin field.
3304 Now it holds pointer to lsa_header
3305
33061999-08-30 Alex Zinin <zinin@amt.ru>
3307
3308 * ospf_flood.c ospf_flood.h:
3309 transformed ospf_flood_if_select into ospf_flood_through_area()
3310 added new ospf_flood_if_select() and ospf_flood_through_as()
3311
33121999-08-30 Toshiaki Takada <takada@zebra.org>
3313
3314 * ospf_flood.[ch]: New file added.
3315
3316 * ospf_packet.c (ospf_lsa_flooding),
3317 (ospf_lsa_flooding_select_if): functions move to ospf_flood.c
3318
3319 * ospf_neighbor.c (ospf_put_lsa_on_retransm_list),
3320 (ospf_remove_lsa_from_retransm_list),
3321 (ospf_nbr_remove_all_lsas_from_retransm_list),
3322 (ospf_lsa_remove_from_ls_retransmit):
3323 (ospf_lsa_retransmit): functions move to
3324 ospf_flood.c, and change function's name:
3325
3326 ospf_put_lsa_on_retransm_list ()
3327 -> ospf_ls_retransmit_add ()
3328 ospf_remove_lsa_from_retransm_list ()
3329 -> ospf_ls_retransmit_delete ()
3330 ospf_nbr_remove_all_lsas_from_retransm_list ()
3331 -> ospf_ls_retransmit_clear ()
3332 ospf_lsa_remove_from_ls_retransmit ()
3333 -> ospf_ls_retransmit_delete_nbr_all ()
3334 ospf_lsa_retransmit ()
3335 -> ospf_ls_retransmit_add_nbr_all ()
3336
3337 * ospf_lsa.c (ospf_lsa_lookup_from_list): function move to
3338 ospf_flood.c, and change name to ospf_ls_retransmit_lookup ().
3339
33401999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3341
3342 * ospf_neighbor.c (ospf_nbr_lookup_by_addr): Use
3343 route_node_lookup() instead of route_node_get().
3344
3345 * ospf_packet.c (ospf_ls_upd): Temporary comment out (6) check.
3346
33471999-08-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3348
3349 * ospf_route.c (ospf_lookup_int_by_prefix): Add check of
3350 oi->address.
3351
33521999-08-29 Alex Zinin <zinin@amt.ru>
3353 * ospf_lsa.c
3354 MaxAge LSA deletion functions added.
3355
33561999-08-29 Alex Zinin <zinin@amt.ru>
3357 * ospf_neighbor.c
3358 ospf_nbr_lookup_by_addr(): added route_unlock_node()
3359 when function returns NULL if (rn->info == NULL)
3360
33611999-08-29 Alex Zinin <zinin@amt.ru>
3362 * ospfd.c
3363 added a hack for area range deletion
3364
33651999-08-29 Alex Zinin <zinin@amt.ru>
3366 * ospf_lsa.h
3367 included lsdb field into struct ospf_lsa, to find
3368 LSDB easier when removing MaxAge LSAs.
3369
33701999-08-29 Alex Zinin <zinin@amt.ru>
3371 * ospf_lsa.c ospf_neighbor.c ospf_nsm.c
3372 ospf_packet.c changed to honor new retransmit list
3373 management functions
3374
33751999-08-29 Alex Zinin <zinin@amt.ru>
3376 * ospf_neighbor.c , .h added new retransmit list functions.
3377
33781999-08-29 Alex Zinin <zinin@amt.ru>
3379 * Makefile.in
3380 added ospf_ase, ospf_abr, ospf_ia
3381
33821999-08-29 Alex Zinin <zinin@amt.ru>
3383 * ospf_spf.c:
3384 - changed ospf_next_hop_calculation() to include interface
3385 and nexthop addr for directly connected routers---more informative
3386 and solves problem with route installation into the kernel
3387 - changed ospf_nexthop_out_if_addr() to support routers, not only
3388 transit networks
3389 - added ospf_process_stubs();
3390
33911999-08-29 Alex Zinin <zinin@amt.ru>
3392 * ospf_lsa.c:
3393 - changed ospf_router_lsa() to provide correct links
3394 for p-t-p interfaces;
3395 - changed ospf_summary_lsa_install() to support table
3396 of self-originated summary-LSAs;
3397 - added ospf_summary_asbr_lsa_install() and ospf_external_lsa_install()
3398 - changed ospf_lsa_install() accordingly
3399 - changed show_ip_ospf_database_router_links() to support p-t-p
3400
34011999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3402
3403 * ospf_packet.c (ospf_make_db_desc): Only master can clear more
3404 flag.
3405
34061999-08-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3407
3408 * ospf_packet.c (ospf_read): Add check of IP src address.
3409
34101999-08-28 Alex Zinin <zinin@amt.ru>
3411 * ospf_neighbor.h
3412 added ospf_nbr_lookup_by_routerid()
3413
34141999-08-28 Alex Zinin <zinin@amt.ru>
3415 * ospfd.h
3416 added ABR/ASBR flag definitions and fields;
3417 added iflist field to area structure;
3418 summary_lsa_self and summary_lsa_asbr_self are changed
3419 to be route tables;
3420 added ranges field---configured area ranges;
3421 A separate Routers RT added;
3422 area range config commands and config write added
3423
3424
34251999-08-28 Alex Zinin <zinin@amt.ru>
3426 * ospf_route.c :
3427 ospf_route_free()--added code to free the list of paths;
3428 The following functions added:
3429 ospf_intra_add_router();
3430 ospf_intra_add_transit();
3431 ospf_intra_add_stub();
3432 the last function uses new ospf_int_lookup_by_prefix();
3433 show_ip_ospf_route_cmd()--changed to support new RT structure;
3434 added ospf_cmp_routes()--general route comparision function;
3435 added ospf_route_copy_nexthops() and ospf_route_copy_nexthops_from_vertex()
3436 they are used in ASE and IA routing;
3437 added ospf_subst_route() and ospf_add_route();
3438
34391999-08-28 Alex Zinin <zinin@amt.ru>
3440 * ospf_route.h :
3441 changed struct ospf_path to include output interface,
3442 changed struct ospf_route to support IA and ASE routing.
3443 added prototypes of the function used in IA and ASE modules.
3444
34451999-08-28 Alex Zinin <zinin@amt.ru>
3446 * ospf_lsa.h ospf_lsa.c :
3447 added ospf_my_lsa(), an interface independent version of
3448 ospf_lsa_is_self_originated(), it will be used in ASE and IA-routing.
3449
34501999-08-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3451
3452 * ospf_interface.c (interface_config_write): Add check for
3453 oi->nbr_self.
3454
34551999-08-25 Toshiaki Takada <takada@zebra.org>
3456
3457 * ospf_lsa.c (ospf_lsa_dup): New function added.
3458
3459 * ospf_packet.c (ospf_write), (ospf_read): Print send/recv
3460 interface in debug message.
3461
34621999-08-25 Toshiaki Takada <takada@zebra.org>
3463
3464 * ospf_packet.c (ospf_ls_ack_send): The name is changed from
3465 `ospf_ls_ack_send'.
3466 (ospf_ls_ack_send_delayed) (ospf_ls_ack_timer): New function added.
3467 Delayed Link State Acknowledgment is scheduled by timer.
3468
34691999-08-25 Alex Zinin <zinin@amt.ru>
3470
3471 * ospf_lsa.c (ospf_router_lsa): Incorrectly included link to
3472 a stub network instead of link to a transit network into
3473 originated router-LSA, bug fixed.
3474
34751999-08-24 Toshiaki Takada <takada@zebra.org>
3476
3477 * ospfd.c (ospf_update_router_id): New function added.
3478
3479 * ospf_network.c (ospf_write): Create new socket per transmission.
3480 And select outgoing interface whether dst is unicast or multicast.
3481
3482 * ospf_packet.c: LSA flooding will work.
3483
34841999-08-24 VOP <vop@unity.net>
3485
3486 * ospf_route.c: Include "sockunion.h"
3487
34881999-08-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3489
3490 * ospf_network.c (ospf_serv_sock_init): Enclose
3491 IPTOS_PREC_INTERNETCONTROL setting with #ifdef for OS which does
3492 not have the definition.
3493
34941999-08-23 Toshiaki Takada <takada@zebra.org>
3495
3496 * ospf_packet.c: Fix bug of DD processing.
3497
34981999-08-18 Toshiaki Takada <takada@zebra.org>
3499
3500 * ospf_lsa.c (show_ip_ospf_database): Show actual `LS age'.
3501
35021999-08-17 Toshiaki Takada <takada@zebra.org>
3503
3504 * ospf_lsa.h (OSPF_MAX_LSA): The value of OSPF_MAX_LSA is
3505 corrected. The bug of `mes_lookup' is fixed.
3506 This had been reported by Poul-Henning Kamp <phk@freebsd.org>.
3507
3508 * ospf_lsa.c (ospf_router_lsa_install): The name is changed from
3509 `ospf_add_router_lsa'.
3510 (ospf_network_lsa_install): The name is changed from
3511 `ospf_add_network_lsa'.
3512
3513 * ospf_interface.h (ospf_interface): Add member `nbr_self'.
3514
3515 * ospf_interface.c (ospf_if_is_enable): New function added.
3516
35171999-08-16 Toshiaki Takada <takada@zebra.org>
3518
3519 * ospf_lsa.h (struct lsa_header): The name is changed from
3520 `struct ospf_lsa'.
3521 (struct ospf_lsa): New struct added to control each LSA's aging
3522 and timers.
3523
3524 * ospf_lsa.c (ospf_lsa_data_free): The name is change from
3525 `ospf_lsa_free'.
3526 (ospf_lsa_data_new), (ospf_lsa_new), (ospf_lsa_free),
3527 (ospf_lsa_different), (ospf_lsa_install): New function added.
3528
3529 * ospf_packet.c (ospf_ls_upd_list_lsa): New function added.
3530
35311999-08-12 Toshiaki Takada <takada@zebra.org>
3532
3533 * ospf_nsm.c (nsm_reset_nbr): New function added.
3534 KillNbr and LLDown neighbor event call this function.
3535
35361999-08-10 Toshiaki Takada <takada@zebra.org>
3537
3538 * ospf_packet.c (ospf_ls_retransmit)
3539 (ospf_ls_upd_timer): New function added.
3540 Set retransmission timer for Link State Update.
3541
35421999-07-29 Toshiaki Takada <takada@zebra.org>
3543
3544 * ospf_ism.c (ospf_dr_election): Fix bug of DR election.
3545
35461999-07-28 Toshiaki Takada <takada@zebra.org>
3547
3548 * ospf_network.c (ospf_serv_sock_init): Set IP precedence field
3549 with IPTOS_PREC_INTERNET_CONTROL.
3550
3551 * ospf_nsm.c (nsm_change_status): Schedule NeighborChange event
3552 if NSM status change.
3553
3554 * ospf_packet.c (ospf_make_hello): Never include a neighbor in
3555 Hello packet, when the neighbor goes down.
3556
35571999-07-26 Kunihiro Ishiguro <kunihiro@zebra.org>
3558
3559 * Makefile.am (noinst_HEADERS): Add ospf_route.h.
3560
3561 * ospf_route.c (show_ip_ospf_route): Add `show ip ospf route'
3562 command.
3563
35641999-07-25 Toshiaki Takada <takada@zebra.org>
3565
3566 * ospf_lsa.c (ospf_router_lsa): Fix bug of LS sequence number
3567 assignement.
3568
35691999-07-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3570
3571 * ospf_route.c (ospf_route_table_free): New function added.
3572
3573 * ospf_spf.c (ospf_spf_next): Free vertex w when cw's and w's
3574 distance is same.
3575
3576 * ospfd.h (struct ospf): Add old_table.
3577
3578 * ospf_main.c (sighup): Call of log_rotate () removed.
3579
3580 * ospf_lsa.c (ospf_lsa_is_self_originated): Fix bug of checking
3581 area->lsa as self LSA. This should be area->lsa_self.
3582
35831999-07-24 Kunihiro Ishiguro <kunihiro@zebra.org>
3584
3585 * ospf_zebra.c (ospf_zebra_add): ospf_zebra_add
3586 (),ospf_zebra_delete () added.
3587
3588 * ospf_spf.c (ospf_spf_calculate): Call ospf_intra_route_add ().
3589
35901999-07-24 Toshiaki Takada <takada@zebra.org>
3591
3592 * ospf_lsa.c: Change LS sequence number treatment.
3593 (ospf_lsa_is_self_originated): New function added.
3594 (show_ip_ospf_database_self_originated): New DEFUN added.
3595
35961999-07-23 Kunihiro Ishiguro <kunihiro@zebra.org>
3597
3598 * ospf_interface.c (ospf_if_lookup_by_addr): Add loopback check.
3599
36001999-07-22 Toshiaki Takada <takada@zebra.org>
3601
3602 * ospf_spf.c (ospf_nexthop_new), (ospf_nexthop_free),
3603 (ospf_nexthop_dup): function added.
3604 (ospf_nexthop_calculation): function changed.
3605
3606 * ospf_interface.c (ospf_if_lookup_by_addr): function added.
3607
36081999-07-21 Toshiaki Takada <takada@zebra.org>
3609
3610 * ospf_spf.c (ospf_spf_closest_vertex): function removed.
3611
36121999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3613
3614 * ospf_spf.c (ospf_spf_next): Apply ntohs for fetching metric.
3615
36161999-07-21 Toshiaki Takada <takada@zebra.org>
3617
3618 * ospf_neighbor.c (ospf_nbr_lookup_by_router_id): fundtion removed.
3619
3620 * ospf_lsa.c (show_ip_ospf_database_router): describe each
3621 connected link.
3622
36231999-07-21 Kunihiro Ishiguro <kunihiro@zebra.org>
3624
3625 * ospf_spf.c (ospf_spf_next): V is router LSA or network LSA so
3626 change behavior according to LSA type.
3627 (ospf_lsa_has_link): Link check function is added.
3628
36291999-07-20 Kunihiro Ishiguro <kunihiro@zebra.org>
3630
3631 * ospf_spf.c (ospf_spf_calculate_schedule): Add new function for
3632 SPF calcultion schedule addtition.
3633 (ospf_spf_calculate_timer_add): Rough 30 sec interval SPF calc
3634 timer is added.
3635 (ospf_spf_next_router): Delete ospf_spf_next_network ().
3636
3637 * ospf_lsa.c (show_ip_ospf_database_all): Network-LSA display
3638 header typo correction. Display of router LSA's #link added.
3639
36401999-07-19 Toshiaki Takada <takada@zebra.org>
3641
3642 * ospf_packet.c (ospf_check_network_mask): Added new function for
3643 receiving Raw IP packet on an appropriate interface.
3644
36451999-07-16 Toshiaki Takada <takada@zebra.org>
3646
3647 * ospfd.c (ospf_router_id): new DEFUN added.
3648
36491999-07-15 Toshiaki Takada <takada@zebra.org>
3650
3651 * ospf_spf.c (ospf_spf_init), (ospf_spf_free),
3652 (ospf_spf_has_vertex), (ospf_vertex_lookup),
3653 (ospf_spf_next_router), (ospf_spf_next_network),
3654 (ospf_spf_closest_vertex), (ospf_spf_calculate):
3655 function added.
3656
36571999-07-13 Toshiaki Takada <takada@zebra.org>
3658
3659 * ospf_ism.c: fix bug of DR Election.
3660
3661 * ospf_nsm.c: fix bug of adjacency forming.
3662
36631999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
3664
3665 * ospfd.c (ospf_init): Change to use install_default.
3666
36671999-07-01 Rick Payne <rickp@rossfell.co.uk>
3668
3669 * ospf_zebra.c (zebra_init): Install standard commands to
3670 ZEBRA_NODE.
3671
36721999-06-30 Toshiaki Takada <takada@zebra.org>
3673
3674 * ospf_dump.c: Whole debug command is improved.
3675 (ISM|NSM) (events|status|timers) debug option added.
3676 (show_debugging_ospf): new DEFUN added.
3677
36781999-06-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3679
3680 * ospf_lsa.c (ospf_lsa_lookup_from_list): Change !IPV4_ADDR_CMP to
3681 IPV4_ADDR_SAME.
3682
36831999-06-29 Toshiaki Takada <takada@zebra.org>
3684
3685 * ospf_dump.c (ospf_summary_lsa_dump): Add summary-LSA dump routine.
3686 (ospf_as_external_lsa_dump): Add AS-external-LSA dump routine.
3687
3688 * ospf_nsm.c (nsm_twoway_received): fix condtion of adjacnet.
3689
3690 * ospf_ism.c (ospf_dr_election): fix DR Election.
3691
3692 * ospf_dump.c (ospf_nbr_state_message): fix `show ip ospf neighbor'
3693 command's state.
3694
36951999-06-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3696
3697 * ospf_dump.c (ospf_router_lsa_dump): Add router-LSA dump routine.
3698
36991999-06-28 Toshiaki Takada <takada@zebra.org>
3700
3701 * ospf_lsa.c (show_ip_ospf_database_network): fix bug of
3702 `show ip ospf database network' command output.
3703
3704 * ospf_nsm.c (nsm_inactivity_timer): Clear list of Link State
3705 Retransmission, Database Summary and Link State Request.
3706
3707 * ospf_packet.c (ospf_ls_req_timer): New function added.
3708 Set Link State Request retransmission timer.
3709
37101999-06-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3711
3712 * ospf_main.c (main): Change default output from ZLOG_SYSLOG to
3713 ZLOG_STDOUT.
3714
3715 * ospfd.c (ospf_init): Register show_ip_ospf_interface_cmd and
3716 show_ip_ospf_neighbor_cmd to VIEW_NODE.
3717
3718 * ospf_lsa.c (ospf_lsa_init): Register show_ip_ospf_database_cmd
3719 and show_ip_ospf_database_type_cmd to VIEW_NODE.
3720
37211999-06-25 Toshiaki Takada <takada@zebra.org>
3722
3723 * ospf_packet.c: fix bug of DD making.
3724 fix bug of LS-Update reading.
3725
37261999-06-23 Toshiaki Takada <takada@zebra.org>
3727
3728 * ospf_packet.c: All type of packets are changed to use
3729 fifo queue structure.
3730 (ospf_fill_header) function added.
3731
37321999-06-22 Toshiaki Takada <takada@zebra.org>
3733
3734 * ospf_packet.c (ospf_packet_new): New function added to handle
3735 sending ospf packet by fifo queue structure.
3736 (ospf_packet_free), (ospf_fifo_new), (ospf_fifo_push),
3737 (ospf_fifo_pop), (ospf_fifo_head), (ospf_fifo_flush),
3738 (ospf_fifo_free): Likewise.
3739
37401999-06-21 Toshiaki Takada <takada@zebra.org>
3741
3742 * ospf_nsm.c (ospf_db_desc_timer): function added.
3743 (nsm_timer_set) function added.
3744 * ospf_dump.c (ospf_option_dump): function added.
3745 * ospf_packet.c (ospf_ls_req) (ospf_make_ls_req): function added.
3746
37471999-06-20 Toshiaki Takada <takada@zebra.org>
3748
3749 * ospf_lsa.c (ospf_lsa_more_recent): function added.
3750 * ospf_neighbor.h (struct ospf_neighbor): Change member ms_flag
3751 to dd_flags.
3752
37531999-06-19 Toshiaki Takada <takada@zebra.org>
3754
3755 * ospf_lsa.c: DEFUN (show_ip_ospf_database) Added.
3756 * ospf_interface.c (if_ospf_cost), (if_ospf_dead_interval),
3757 (if_ospf_hello_interval), (if_ospf_priority),
3758 (if_ospf_retransmit_interval), (if_ospf_transmit_delay)
3759 argument changed from NUMBER to <range>.
3760 DEFUN (if_ospf_network_broadcast),
3761 DEFUN (if_ospf_network_non_broadcast),
3762 DEFUN (if_ospf_network_point_to_multipoint),
3763 DEFUN (if_ospf_network_point_to_point) functions are combined to
3764 DEFUN (if_ospf_network).
3765
37661999-06-18 Toshiaki Takada <takada@zebra.org>
3767
3768 * ospf_lsa.c: ospf_add_router_lsa (), ospf_add_network_lsa (),
3769 ospf_lsa_lookup (), ospf_lsa_count () Added.
3770
37711999-06-15 Toshiaki Takada <takada@zebra.org>
3772
3773 * DEFUN (ospf_debug_ism), DEFUN (ospf_debug_nsm),
3774 DEFUN (no_ospf_debug_ism), DEFUN (no_ospf_debug_nsm) Added.
3775 `debug ospf ism' command shows debug message.
3776 `debuf ospf nsm' command shows debug message.
3777
37781999-06-14 Toshiaki Takada <takada@zebra.org>
3779
3780 * ospf_lsa.c: ospf_network_lsa () Added.
3781 ospf_lsa_checksum () Added.
3782 * DEFUN (ospf_debug_packet), DEFUN (no_ospf_debug_packet) Added.
3783 `debug ospf packet' command shows debug message.
3784
37851999-06-13 Toshiaki Takada <takada@zebra.org>
3786
3787 * ospf_packet.h: Remove struct ospf_ls_req {}, ospf_ls_upd {},
3788 ospf_ls_ack {}.
3789
37901999-06-11 Toshiaki Takada <takada@zebra.org>
3791
3792 * ospf_dump.c: fix IP packet length treatment.
3793
37941999-06-10 Toshiaki Takada <takada@zebra.org>
3795
3796 * ospf_ism.h: Add OSPF_ISM_EVENT_EXECUTE() Macro Added.
3797 * ospf_nsm.h: Add OSPF_NSM_EVENT_EXECUTE() Macro Added.
3798
3799 * ospf_packet.c: ospf_db_desc (), ospf_db_desc_send () Added.
3800 ospf_make_hello (), ospf_make_db_desc () Added.
3801 ospf_db_desc_proc () Added.n
3802
3803 * Database Description packet can be processed.
3804
38051999-06-08 Toshiaki Takada <takada@zebra.org>
3806
3807 * ospf_lsa.c: New file.
3808
38091999-06-07 Toshiaki Takada <takada@zebra.org>
3810
3811 * ospf_neighbor.c: ospf_fully_adjacent_count () Added.
3812
38131999-06-07 Kunihiro Ishiguro <kunihiro@zebra.org>
3814
3815 * ospf_spf.[ch]: New file.
3816
38171999-05-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3818
3819 * ospf_zebra.c: Changed to use lib/zclient.c routines.
3820
3821 * ospf_zebra.h (zebra_start): Remove struct zebra.
3822
38231999-05-29 Kunihiro Ishiguro <kunihiro@zebra.org>
3824
3825 * ospfd.c (ospf_config_write): Add cast (unsigned long int) to
3826 ntohl for sprintf warning.
3827
38281999-05-19 Toshiaki Takada <takada@zebra.org>
3829
3830 * ospf_ism.c (ospf_dr_election): Join AllDRouters Multicast group
3831 if interface state changes to DR or BDR.
3832
38331999-05-14 Stephen R. van den Berg <srb@cuci.nl>
3834
3835 * ospf_main.c (signal_init): SIGTERM call sigint.
3836 (sigint): Logging more better message.
3837
38381999-05-12 Toshiaki Takada <takada@zebra.org>
3839
3840 * ospfd.c: Fix bug of `no router ospf' statement, it will work.
3841
38421999-05-11 Toshiaki Takada <takada@zebra.org>
3843
3844 * ospf_neighbor.c: ospf_nbr_free () Added.
3845
38461999-05-10 Toshiaki Takada <takada@zebra.org>
3847
3848 * ospfd.h: struct ospf_area { }, struct ospf_network { } Changed.
3849 * Fix bug of `no network' statement, it will work.
3850
38511999-05-07 Toshiaki Takada <takada@zebra.org>
3852
3853 * ospf_interface.c, ospf_zebra.c: Fix bug of last interface is not
3854 updated by ospf_if_update ().
3855
38561999-04-30 Kunihiro Ishiguro <kunihiro@zebra.org>
3857
3858 * Makefile.am (noinst_HEADERS): Add ospf_lsa.h for distribution.
3859
38601999-04-25 Toshiaki Takada <takada@zebra.org>
3861
3862 * ospf_interface.c: DEFUN (no_if_ospf_cost),
3863 DEFUN (no_if_ospf_dead_interval),
3864 DEFUN (no_if_ospf_hello_interval),
3865 DEFUN (no_if_ospf_priority),
3866 DEFUN (no_if_ospf_retransmit_interval),
3867 DEFUN (no_if_ospf_transmit_delay) Added.
3868
3869 interface_config_write () suppress showing interface
3870 default values.
3871
38721999-04-25 Kunihiro Ishiguro <kunihiro@zebra.org>
3873
3874 * ospf_dump.c (ospf_timer_dump): If thread is NULL return "inactive".
3875
3876 * ospfd.c (ospf_if_update): Fix bug of using ospf_area { } instead
3877 of ospf_network { }. So `router ospf' statement in ospfd.conf
3878 works again.
3879 (ospf_if_update): Call ospf_get_router_id for updating router ID.
3880
38811999-04-25 Toshiaki Takada <takada@zebra.org>
3882
3883 * ospf_interface.c: DEFUN (if_ospf_network) deleted.
3884 DEFUN (if_ospf_network_broadcast),
3885 DEFUN (if_ospf_network_non_broadcast),
3886 DEFUN (if_ospf_network_point_to_multipoint),
3887 DEFUN (if_ospf_network_point_to_point),
3888 DEFUN (no_if_ospf_network) Added.
3889
38901999-04-23 Toshiaki Takada <takada@zebra.org>
3891
3892 * ospfd.h: struct area { } changed to struct ospf_network { }.
3893 Add struct ospf_area { }.
3894 * ospfd.c: Add ospf_area_lookup_by_area_id (), ospf_network_new (),
3895 and ospf_network_free ().
3896 DEFUN (area_authentication), DEFUN (no_area_authentication) Added.
3897
38981999-04-22 Toshiaki Takada <takada@zebra.org>
3899
3900 * ospf_lsa.h: New file.
3901 * ospf_packet.h: LSA related struct definition are moved to
3902 ospf_lsa.h.
3903 * ospf_packet.c: ospf_verify_header () Added.
3904
39051999-04-21 Toshiaki Takada <takada@zebra.org>
3906
3907 * ospf_ism.c: ospf_elect_dr () and related function is changed.
3908 DR Election bug fixed.
3909 * ospf_dump.c: ospf_nbr_state_message (), ospf_timer_dump () Added.
3910 * ospfd.c: DEFUN (show_ip_ospf_neighbor) Added.
3911
39121999-04-19 Kunihiro Ishiguro <kunihiro@zebra.org>
3913
3914 * ospf_main.c (main): access_list_init () is added for vty
3915 connection filtering.
3916
39171999-04-16 Toshiaki Takada <takada@zebra.org>
3918
3919 * ospfd.c: DEFUN (show_ip_ospf_interface) Added.
3920 * ospf_neighbor.c: ospf_nbr_count () Added.
3921
39221999-04-15 Toshiaki Takada <takada@zebra.org>
3923
3924 * ospfd.h: struct ospf { } Changed.
3925 * ospfd.c: ospf_lookup_by_process_id () Deleted.
3926 * ospf_ism.c: ospf_wait_timer () Added. WaitTimer will work.
3927
39281999-04-14 Toshiaki Takada <takada@zebra.org>
3929
3930 * ospf_ism.c: ospf_elect_dr () Added.
3931 * ospf_network.c: ospf_if_ipmulticast () Added.
3932
39331999-04-11 Toshiaki Takada <takada@zebra.org>
3934
3935 * ospf_interface.c: interface_config_write (),
3936 DEFUN (if_ip_ospf_cost),
3937 DEFUN (if_ip_ospf_dead_interval),
3938 DEFUN (if_ip_ospf_hello_interval),
3939 DEFUN (if_ip_ospf_priority),
3940 DEFUN (if_ip_ospf_retransmit_interval) and
3941 DEFUN (if_ip_ospf_transmit_delay) Added.
3942
39431999-04-08 Toshiaki Takada <takada@zebra.org>
3944
3945 * ospf_dump.c: ospf_packet_db_desc_dump () Added.
3946 * ospf_neighbor.c: ospf_nbr_bidirectional () Added.
3947 * ospf_nsm.c: nsm_twoway_received () Added.
3948
39491999-04-02 Toshiaki Takada <takada@zebra.org>
3950
3951 * ospf_neighbor.c: New file.
3952 * ospf_neighbor.h: New file.
3953 * ospf_nsm.c: New file.
3954 * ospf_nsm.h: New file.
3955 * ospf_packet.c: Add ospf_make_header (), ospf_hello () and
3956 ospf_hello_send (). Now OSPFd can receive Hello and send Hello.
3957
39581999-03-27 Kunihiro Ishiguro <kunihiro@zebra.org>
3959
3960 * ospf_packet.c: Add ospf_recv_packet (). Now OSPF Hello can receive.
3961
39621999-03-19 Toshiaki Takada <takada@zebra.org>
3963
3964 * ospf_packet.c: New file.
3965 * ospf_packet.h: New file.
3966 * ospf_network.c: New file.
3967 * ospf_network.h: New file.
3968 * ospfd.h: move OSPF message structure has moved to ospf_packet.h.
3969
39701999-03-17 Kunihiro Ishiguro <kunihiro@zebra.org>
3971
3972 * ospf_zebra.c (ospf_zebra_get_interface): Fix for IPv6 interface
3973 address.
3974
3975 * Makefile.am (install-sysconfDATA): Overwrite install-sysconfDATA
3976 for install ospfd.conf.sample as owner read only file.
3977
3978 * ospf_main.c (usage): Change to use ZEBRA_BUG_ADDRESS.
3979
39801999-03-15 Toshiaki Takada <takada@zebra.org>
3981
3982 * ospf_ism.c: New file.
3983 * ospf_ism.h: New file.
3984 * ospf_dump.c: New file.
3985 * ospf_dump.h: New file.
3986
3987 * ospfd.h: Add (struct ospf), (struct config_network),
3988 (struct message) structure.
3989
3990 * ospf_interface.c: Add ospf_if_match_network ().
3991 * ospf_interface.h (struct ospf_interface): Change struct members.
3992
3993 * ospfd.c: ospf_lookup_by_process_id (), ospf_network_new (),
3994 DEFUN (network_area): Added.
3995
3996 * ospfd.conf.sample: Change sample configuration.
3997
39981999-03-05 Toshiaki Takada <takada@zebra.org>
3999
4000 * ospf_interface.c: New file.
4001 * ospf_interface.h: New file.
4002 * ospf_zebra.h: New file.
4003 * ospf_zebra.c: Add interface function for zebra daemon.
4004 * ospfd.c: New file.
4005
40061999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
4007
4008 * Move IPv6 codes and files to ospf6d directory.
4009
40101999-02-18 Peter Galbavy <Peter.Galbavy@knowledge.com>
4011
4012 * syslog support added
4013
40141998-12-22 Toshiaki Takada <takada@zebra.org>
4015
4016 * ospfd.h: New file.
4017 * ospf_lsa.h: New file.
4018
40191998-12-15 Kunihiro Ishiguro <kunihiro@zebra.org>
4020
4021 * Makefile.am: New file.
4022 * ospf_main.c: New file.
4023