blob: 61a2e4631ebece9c354b61b0b77eeeaad5840908 [file] [log] [blame]
ajs3b7b8142005-04-02 16:37:07 +000012005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
2
ajsd2fc8892005-04-02 18:38:43 +00003 * ospf6_zebra.c: (ospf6_zebra_if_del) Previously, this whole function
4 was commented out. But this is not safe: we should at least update
5 the ifindex when the interface is deleted. So the new version
6 updates the interface status and sets ifp->ifindex to
7 IFINDEX_INTERNAL.
8 (ospf6_zebra_route_update) Use if_indextoname properly.
9
102005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
11
ajs3b7b8142005-04-02 16:37:07 +000012 * ospf6_route.c: (ospf6_route_show, ospf6_route_show_detail) Protect
13 against the possibility that the string returned by if_indextoname
14 may not terminate with '\0'.
15
jardinc1ba9e82005-03-02 22:43:26 +0000162005-03-02 Vincent Jardin <Vincent.Jardin@6wind.com>
17
18 * ospf6_zebra.c: Fix core dump when router-id is provided with
19 an empty ospf6d.conf file (no context router ospf6) because
20 ospf6_create has not been called yet.
21
paul8bfb0cb2005-01-25 01:19:28 +0000222005-01-25 Paul Jakma <paul@dishone.st>
23
24 * ospf6_asbr.c: Add "hsls" to the zroute_name const char array.
25
hassoc6487d62004-12-24 06:00:11 +0000262004-12-24 Hasso Tepper <hasso at quagga.net>
27
28 * *.c: Change level of debug messages to LOG_DEBUG.
29
ajs274a4a42004-12-07 15:39:31 +0000302004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
31
32 * ospf6_main.c: (main) The 2nd argument to openzlog has been removed.
33 Note that stdout logging will no longer be enabled by default when
34 not running as a daemon.
35
ajs887c44a2004-12-03 16:36:46 +0000362004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
37
38 * ospf6_main.c: (sigint,sigterm) Use zlog_notice for termination
39 message.
40 (main) Remove commented-out call to pid_output_lock (which should
41 never be called other than from inside pid_output). And use
42 zlog_notice to print the startup message, which now includes
43 the vty port.
44
hassob3c8c462004-11-26 12:55:51 +0000452004-11-26 Hasso Tepper <hasso at quagga.net>
46
47 * ospf6_snmp.c: Fix compile: listnode -> struct listnode *.
48
hassoc0652302004-11-25 19:33:48 +0000492004-11-25 Hasso Tepper <hasso at quagga.net>
50
51 * ospf6_main.c: Make group to run as configurable.
52
gdt6639a042004-11-05 18:42:27 +0000532004-11-05 Phil Spagnolo <phillip.a.spagnolo@boeing.com>
54 * ospf6_flood.c: When adding a thread to retransmit an lsa after
55 rxmt_interval, the ospf6d used thread_add_event(). However,
56 thread_add_event() executes immediately and ignores the delay parameter.
57 This was causing unnecesary unicast LSU sends. Adding the thread has
58 been changed to use thread_add_timer() which will expire after delay.
59 After the fix results appear consistent with expectation.
60
hassoc75105a2004-10-13 10:33:26 +0000612004-10-12 Hasso Tepper <hasso at quagga.net>
62
63 * ospf6_snmp.c: Remove defaults used to initialize smux connection to
64 snmpd. Connection is initialized only if smux peer is configured.
65
hassoc8a440e2004-10-11 17:02:40 +0000662004-10-11 Hasso Tepper <hasso at quagga.net>
67
68 * osp6_top.c, ospf6_top.h: Better handling for router-id. If we use
69 common one, don't output it into configuration - only statically
70 configured one.
71
paulddd119f2004-10-10 08:07:29 +0000722004-10-10 Paul Jakma <paul@dishone.st>
73
74 * Makefile.am: fix listing of ospf_snmp.c in noinst_HEADERS
paul0c083ee2004-10-10 12:54:58 +000075 * ospf6_route.c: Add const qualifier to various char arrays of
76 constants. signed/unsigned fixes.
77 (ospf6_linkstate_table_show) argv is const
78 * ospf6_snmp.c: listnode typedef is dead.
79 (ospf6_snmp_init) Take struct thread_master arg, needed for
80 smux_init.
81 * ospf6_snmp.h: update ospf6_snmp_init declaration.
82 * ospf6d.c: (ospf6_init) add const qualifier to sargv, pass master
83 to ospf_snmp6_init.
84 * ospf6_asbr.c: const char update.
85 * ospf6_interface.c: ditto, plus signed/unsigned fixes.
86 (ipv6_ospf6_cost) Check whether cost fits in u_int32_t and use
87 strtoul.
88 * ospf6_intra.c: const char update. Parenthesise expression.
89 * ospf6_lsa.c: signed/unsigned and const char updates.
90 * ospf6_proto.c: ditto.
91 * ospf6_message.c: ditto.
92 * ospf6_lsdb.c: signed/unsigned update.
93 * ospf6_main.c: const char update.
94 * ospf6_neighbor.c: ditto.
95 * ospf6_spf.c: ditto.
96 * ospf6_top.c: ditto.
97
hassoef1bbf52004-10-08 12:04:21 +0000982004-10-06 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
99
hasso2680aa22004-11-25 20:54:46 +0000100 * ospf6_snmp.c: add partial support for SNMP
101 (i.e. ospfv3AreaLsdbTable).
102 * OSPFv3-MIB.txt: Net-SNMP translate Unsigned32 range
103 (0..'FFFFFFFF'h) incorrectly to (0..-1). Those parts for
104 Unsigned32 range are changed to (0..4294967295).
105 Also, doubtful 'not-accessible's are changed to read-only.
106
1072004-10-06 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
108
hassoef1bbf52004-10-08 12:04:21 +0000109 * ospf6_snmp.[ch], OSPFV3-MIB.txt: start supporting SNMP.
110 it follows draft-ietf-ospf-ospfv3-mib-08.txt, but change
111 OSPFv3 tree to {experimental 102} based on
112 http://www.iana.org/assignments/smi-numbers:
113 Prefix: iso.org.dod.internet.experimental (1.3.6.1.3.)
114 102 OSPFv3 OSPF for IPv6 [Joyal]
115
hasso18a6dce2004-10-03 18:18:34 +00001162004-10-03 Hasso Tepper <hasso at quagga.net>
117
118 * ospf6_zebra.c: Use router id from zebra daemon if it wasn't set in
119 configuration.
120
hasso03d52f82004-09-29 00:26:19 +00001212004-09-25 Hasso Tepper <hasso at estpak.ee>
122
123 * ospf6_asbr.c, ospf6_lsa.c, ospf6_proto.c, ospf6_proto.h: Fix
124 compiler warnings.
125
hasso52dc7ee2004-09-23 19:18:23 +00001262004-09-23 Hasso Tepper <hasso at quagga.net>
127
128 * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
129
hasso9428f2d2004-09-13 14:01:12 +00001302004-09-13 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
131
132 * ospf6_intra.c, ospf6_route.[ch]: try to fix assertion failure
133 in brouter's route_remove
134 * ospf6d.h: version 0.9.7o
135
1362004-09-12 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
137
138 * ospf6_route.c: route_count_assert bug fix
139 * ospf6d.h: version 0.9.7n
140
hasso4846ef62004-09-03 06:04:00 +00001412004-09-03 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
142
143 * ospf6_area.c, ospf6_route.c, ospf6_top.c, ospf6d.c:
144 "show intra-route" function and "show SPF result" function is
145 changed.
146 * ospf6_neighbor.c: Changed to update stub intra-prefix origination
147 when it is not DR.
148 * ospf6_route.h: resolv conflict between best flag and
149 active-summary flag.
150 * ospf6d.h: version 0.9.7m
151
hasso1e058382004-09-01 21:36:14 +00001522004-09-02 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
153
hasso63069ad2004-09-02 13:01:01 +0000154 * ospf6_asbr.c: E-bit check in examining AS-External-LSA
155 * ospf6_abr.c: E-bit set in receiving Inter-Area-Router-LSA
156
1572004-09-02 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
158
hasso1e058382004-09-01 21:36:14 +0000159 * *.[ch]: Logging LSAs of particular type is added.
160 lsa_handler is now using vector in order to adjust
161 existing LSA modules.
162 * ospf6d.h: version 0.9.7l
163
hassoe42f5a32004-08-28 17:04:33 +00001642004-08-28 Hasso Tepper <hasso at quagga.net>
165
166 * ospf6_main.c: Modify for sigevents.
167
hasso9a096262004-08-26 18:56:19 +00001682004-08-26 Hasso Tepper <hasso@estpak.ee>
169
170 * ospf6_interface.c, ospf6_top.c, ospf6d.c: for vtysh.
171
hasso3b687352004-08-19 06:56:53 +00001722004-08-19 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
173
hassoccb59b12004-08-25 09:10:37 +0000174 * ospf6_asbr.c: Bug in ASBR check fixed.
175 * ospf6d.h: version 0.9.7k
176
1772004-08-19 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
178
hasso3b687352004-08-19 06:56:53 +0000179 * ospf6_asbr.c: Bug in AS-External Origination fixed.
180 * ospf6d.h: version 0.9.7j
181
hasso6452df02004-08-15 05:52:07 +00001822004-08-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
183
184 * *.c: Area support almost done. (almost ! ;p)
185 * ospf6d.h: version 0.9.7i
186
1872004-08-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
188
189 * ospf6_message.c: Bug cause BadLSReq is fixed.
190 * ospf6_abr.c: Border Router check.
191 * ospf6d.h: version 0.9.7h
192
1932004-08-14 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
194
195 * ospf6_area.[ch], ospf6_abr.[ch]: area range,
196 border-routers, Inter-Area-Router-LSA origination
197 * ospf6d.h: version 0.9.7g
198
1992004-08-12 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
200
201 * *.[c,h]: LSA refreshing is changed and cleaned up.
202 * ospf6d.h: version 0.9.7f
203
hasso049207c2004-08-04 20:02:13 +00002042004-08-01 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
205
206 * ospf6_abr.[ch]: add files for abr function.
207 * *.c: VTY_NEWLINE -> VNL
208 * ospf6d.h: version 0.9.7e
209 show database functions are rewritten.
210
hasso1203e1c2004-07-23 21:34:27 +00002112004-07-23 Hasso Tepper <hasso@estpak.ee>
212
213 * ospf6_interface.c, ospf6_zebra.c: use ifp->mtu6 instead of
214 ifp->mtu.
215
paul79dc3732004-07-23 15:17:45 +00002162004-07-23 Paul Jakma <paul@dishone.st>
217
218 * ospf6_main.c: Delete LOG_PERROR, not portable.
219 * ospf6_network.c: (ospf6_set_pktinfo) use setsockopt_ipv6_pktinfo
220
hassob596c712004-07-09 18:33:43 +00002212004-07-06 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
222
223 * ospf6_message.c, ospf6_interface.c: add a command to configure
224 ospf6 ifmtu on a interface.
225 * ospf6d.h: version 0.9.7d
226
hasso508e53e2004-05-18 18:57:06 +00002272004-05-18 Hasso Tepper <hasso@estpak.ee>
paul0a589352004-05-08 11:48:26 +0000228
hasso508e53e2004-05-18 18:57:06 +0000229 * *.*: Merge rewritten ospf6d from Zebra repository.
230 * ospf6_network.c, ospf6_main.c: Merged privs stuff back in.
231 * ospf6_zebra.c: Sync back to zclient changes.
hasso3b4cd3a2004-05-18 19:28:32 +0000232 * ospf6_asbr.c: Added isis to the routings list.
233 * ospf6_main.c: "version.h" -> <lib/version.h>
234
2352004-05-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
236
237 * ospf6_flood.[ch], ospf6_lsa.[ch], ospf6_lsdb.h, ospf6_message.c
238 ospf6_neighbor.c: Fix crash bug and change the way to count
239 how many neighbors include paticular LSA on its retrans-list.
240 * ospf6d.h: version 0.9.7c
241
2422004-05-03 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
243
244 * ospf6_message.[ch], ospf6_interface.c: adjust send/recv buffer
245 size to interface MTUs.
246 * ospf6d.h: version 0.9.7b
hasso508e53e2004-05-18 18:57:06 +0000247
2482003-08-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
249
250 * *.[ch]: rewrite all source code from scratch
251 * ospf6d.h: version 0.9.7
252
paulf1c61a02003-08-12 05:25:49 +00002532003-08-11 Taisuke Sasaki <sasaki@soft.net.fujitsu.co.jp>
254
hasso508e53e2004-05-18 18:57:06 +0000255 * ospf6_ism.c: DR Election bug fix.
paul445f1432003-05-16 19:00:31 +0000256
2572003-04-25 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
258
259 * ospf6_asbr.c: AS-External LSA refresh was based on the
260 prefix of the obsolete LSA. It was wrong so fixed.
261 * version: 0.9.6p
262
paul718e3742002-12-13 20:15:29 +00002632002-11-09 Vincent Jardin <jardin@6wind.com>
264
265 * ospf6_interface.c: update link-local address on interface creation.
266
2672002-11-09 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
268
269 * ospf6_asbr.c: apply MinLSInterval to AS-External-LSA origination.
270 * ospf6_lsa.c: change not to issue flooding caused by expire event
271 when the received LSA is (already) MaxAge.
272 * ospf6_spf.c: fix a bug which is that ospf6d calculates
273 wrong nexthop when failed to find Link-LSA for the neighbor.
274 * ospf6_damp.c ospf6_dbex.c ospf6_neighbor.c ospf6_spf.c:
275 some clean up
276 * version: 0.9.6o
277
2782002-10-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
279
280 * ospf6_asbr.c: bug of failing ASE lsa refresh fixed.
281 * version: 0.9.6n
282
2832002-10-01 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
284
285 * ospf6_asbr.c: AS-External-LSA origination function
286 is re-written.
287 * ospf6_damp.[ch]: New feature that damps flaps is added.
288 * version: 0.9.6m
289
2902002-07-14 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
291
292 * ospf6_spf.c: unwanted assert() in ospf6_spf_nexthop_calculation()
293 is deleted.
294 * version: 0.9.6l
295
2962002-07-14 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
297
298 * ospf6_dbex.c: bug that ospf6d fails to refresh self-originated
299 LSA if he have not the LSA before has been fixed.
300 * ospf6_asbr.c: bug of failing removing ASE LSA when remove
301 message arrived from zebra has been fixed.
302 * version: 0.9.6k
303
3042002-07-13 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
305
306 * ospf6_zebra.c: bug reported [zebra 14642] fixed.
307 The bug was related to the synchronization between zebra
308 and ospf6d. Now synchronization will be correctly done.
309 * version: 0.9.6j
310
3112002-07-07 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
312
313 * ospf6_lsdb.c: bug fixed in ospf6_lsdb_type_router ().
314 * ospf6_dbex.c: because of retrans list structure changed
315 due to LSDB change, removal of old instance from retrans-list
316 is not necessary anymore. this caused crash but now fixed.
317 * version: 0.9.6i
318
3192002-07-07 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
320
321 * zebra-0.93 released.
322
3232002-07-07 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
324
325 * ospf6_lsdb.c: entirely rewritten. now ospf6d uses
326 radix tree by using lib/table.[ch] for LSDB lookup.
327 * ospf6_abr.c, ospf6_asbr.c, ospf6_intra.c: hook changed
328 due to rewriting of lsdb module.
329 * ospf6_neighbor.c: lack of check existence and find correct
330 instance of the LSA which is going to be removed from neighbor's
331 retransmission was filled.
332 * version: 0.9.6h
333
3342002-07-07 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
335
336 * ospf6_intra.c: bug fix for Intra-route deletion.
337 * ospf6_route.c: bug fix for path comparison.
338 * version: 0.9.6g
339
3402002-06-28 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
341
342 * ospf6_route.c: some logs trying to find the situation
343 when assert occur are added. route duration statistics
344 added.
345 * ospf6_zebra.c: trying to fix the problem reported by
346 [zebra 14318] but not yet sure.
347 * version: 0.9.6f
348
3492002-06-25 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
350
351 * ospf6_intra.c: new file for management of intra-prefix LSA.
352 * ospf6_abr.c: inter area route calculation code added.
353 * version: 0.9.6e
354
3552002-06-22 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
356
357 * ospf6_asbr.c: All AS-External route was removed when
358 one of the ASBR path was gone, but the route from other ASBR
359 path should stay remained. this bug is fixed.
360 * version: 0.9.6d
361
3622002-06-22 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
363
364 * ospf6_route.c: route table calculation bug fixed. [zebra 14105]
365 * ospf6_spf.c, ospf6_route.c, etc.: log message cleaned up.
366 * version: 0.9.6c
367
3682002-04-27 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
369
370 * ospf6_route.c: [zebra 13514] bug fix.
371 thanks to Harald Koch.
372 * version: 0.9.6b
373
3742002-04-22 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
375
376 * ospf6_dump.c: fix bug of log function
377 * ospf6_area.c: fix bug of intra route deletion
378 * version: 0.9.6a
379
3802002-04-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
381
382 * merged with "current" version.
383 * version: 0.9.6
384
3852001-03-11 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
386
387 * ospf6_lsdb.c ospf6_spf.c: log message changed for debug.
388
3892001-02-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
390
391 * version: 0.9.5i
392
393 * ospf6_asbr.c: Added code that finds alternative
394 AS-External route when remove AS-External route.
395 This is temporary fix ...
396
397 * ospf6_redistribute.c: remove redistributed routes
398 immediately when 'no redistribute ...'
399
4002001-02-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
401
402 * version: 0.9.5h
403
404 * ospf6_spf.c, ospf6_lsa.c: Change to originate Link-LSA on
405 point-to-point links.
406
407 * ospf6_message.c: Bug of log messages of self-originated
408 Hello packet fixed.
409
4102001-02-09 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
411
412 * version: 0.9.5g
413 * ospf6_asbr.c: fix for the bug that AS-External route
414 is not get removed.
415
4162001-02-09 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
417
418 * ospf6_lsdb.c: crash bug while receiving wrong LSA scope bit
419 has been temporarily fixed
420
4212001-12-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
422
423 * ospf6_asbr.[ch]: The byte order bug in encoding/decoding
424 the bits/metric field in AS-External-LSA fixed.
425 Fixed to update E-bit in Router-LSA of itself.
426 Reported by Taisuke Sasaki ([zebra 11548]).
427
428 * README: updated.
429
430 * version: 0.9.5f
431
4322001-11-21 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
433
434 * ospf6_prefix.c: Intra-prefix-LSA bug fixed.
435 * ospf6_abr.[ch]: added (only just placeholder yet)
436
4372001-11-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
438
439 * ospf6_route.c: fix to overwrite a prefix when another
440 addition to the prefix is given. freeze function changed
441 not to remove routes by default.
442
443 * version: 0.9.5e
444
4452001-11-19 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
446
447 * version: 0.9.5d
448
449 * ospf6_lsa.c ospf6_spf.c: SPF Calculations are now
450 scheduled by hook.
451
452 * ospf6_route.c: ospf6_route_add bug fix,
453 ospf6_route_remove_all corrected.
454
4552001-11-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
456
457 * ospf6_hook.[ch]: added.
458 * Almost half of the code has been rewritten.
459 especially, ospf6_route.[ch]. Hook call has been injected
460 much.
461 * ospf6_asbr.[ch]: added.
462
4632001-10-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
464
465 * ospf6_dbex.c: ospf6d was wrong to omit reoriginating
466 of LSA when the self-originated LSA was received from others.
467 fixed.
468 * ospf6d.h: version: 0.9.5c
469
4702001-10-16 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
471
472 * ospf6_lsa.c: 'force-prefix' was not executed. fixed.
473 * ospf6d.h: version: 0.9.5b
474
4752001-10-13 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
476
477 * ospf6_interface.c: 'passive-interface' is now moved to
478 'ipv6 ospf6 passive' in INTERFACE NODE. 'prefix-list' which
479 specifies the filter prefix for connected address prefix also
480 moved to INTERFACE NODE as 'ipv6 ospf6 advertise prefix-list WORD'.
481 The old obsoleted commands are still acceptable though. New command
482 'ipv6 ospf6 advertise force-prefix' added, which which tells ospf6d
483 to advertise rather prefix than stub local-address even on loopback
484 or pointopoint interfaces.
485
486 * ospf6_dump.c: 'ospf6 debug hello' -> 'ospf6 debug message hello'.
487 same for other message type. The older is still acceptable.
488
489 * ospf6_lsa.c: Changed AS-External generation to new one which uses
490 LSA hooks. Delete old garbage.
491
4922001-10-02 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
493
494 * ospf6d.c: turn off and turn on sequence with
495 'no interface' 'interface' cmds was not work. fixed.
496
497 * ospf6_lsa.c: generating Intra-Area-Prefix-LSA for stub
498 did not care duplicate prefixes. fixed.
499
5002001-09-07 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
501
502 * ospf6_message.c: There was a bug that prevent LSDB
503 to syncronize. It was a DbDesc packet bug that Slave
504 sends two different DbDesc packet on the same sequence
505 number. This cause many LSAs are dropped when Exchanging
506 LSDB, because the latter DbDesc packet that have the same
507 sequence number will be ignored as duplicate packet.
508 This seems to be exist at least before 0.9.4 version.
509 Now this is the most stable candidate.
510
511 * ospf6d.h: version 0.9.5a
512
5132001-09-06 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
514
515 * ospf6_zebra.c ospf6_spf.c ospf6_lsa.c :
516 delete nexthop check to certify the nexthop is Link-local address.
517 Suppress Link-LSA origination on links other than Broadcast.
518 SPF's nexthop calculation first checks linklocal address
519 in Link-LSA, then checks source address of neighbor's packets.
520
521 * ospf6_interface.c ospf6_ism.c ospf6_lsa.c ospf6_nsm.c:
522 intra-area-prefix-lsa origination func moved to new one.
523
524 * ospf6_interface.h ospf6d.[ch] ospf6_lsa.c:
525 interface_area_cmd now changed to have 'passive'
526 and 'prefix-list' option.
527
528 * ospf6_prefix.c:
529 clean up.
530
5312001-09-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
532
533 * ospf6_dbex.c ospf6_interface.c ospf6_ism.c ospf6_lsa.[ch]:
534 clean up and new LSA origination functions added.
535
536 * ospf6_route.c ospf6_lsdb.c: make vty function more
537 clean/understandable.
538
539 * ospf6d.h: version 0.9.5
540
5412001-08-24 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
542
543 * ospf6_lsdb.c: Use IS_LSA_MAXAGE macro instead of
544 ospf6_lsa_is_maxage.
545
546 * ospf6_lsa.h (IS_LSA_MAXAGE): Add new macro to check MaxAge.
547
5482001-08-21 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
549
550 * ospf6_lsdb.c: if There's no previous prefix
551 ospf6d was wrongly not calculate the prefix.
552 this reported by (v6 16029) is fixed.
553
554 * ospf6_neighbor.c: Instance of LSA Summary included
555 in DbDesc packet was wrongly freed. The bug cause
556 malformed DbDesc, ExChange <-> ExStart flapping,
557 and then crash.
558
559 * ospf6d.h: version 0.9.4
560
5612001-08-21 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
562
563 * ospf6_route.[ch]: Showing format is changed.
564 'show ipv6 route ospf6' -> 'show ipv6 ospf6 route'
565 'show ipv6 route ospf6 external' ->
566 'show ipv6 ospf6 route redistribute'
567
568 * ospf6_lsdb.c ospf6_lsa.c ospf6_neighbor.c ospf6_interface.c:
569 memory leak in LS list fixed.
570
571 * all: clean up
572
573 * ospf6d.h: version 0.9.3
574
5752001-08-20 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
576
577 * ospf6d.c (ospf6_timeval_sub_equal): Remove function.
578
579 * ospf6_spf.c (ospf6_timeval_cmp): Rewrite ospf6_timeval_cmp().
580 (ospf6_timeval_add_equal): Function moved from ospf6d.c
581
5822001-08-19 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
583
584 * zebra-0.92a released.
585
5862001-08-15 Kunihiro Ishiguro <kunihiro@ipinfusion.com>
587
588 * zebra-0.92 released.
589
5902001-08-09 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
591
592 * ospf6_lsdb.c ospf6_neighbor.c:
593 LSDB function/structure and LS list function has been rewritten.
594 memory leak has been decreased.
595
596 * ospf6_lsa.[ch] ospf6_dbex.c: garbage code has been deleted.
597
598 * ospf6d.h: version 0.9.2
599
6002001-08-07 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
601
602 * ospf6_dbex.c ospf6_lsdb.c:
603 Retransmition list had a critical bug that breaks LSDB
604 synchronization. When new LSA be added to retrans-list,
605 old must be removed, but it was not. So new LSA dropped,
606 and LSA Acknowledgement did not work. The bug was fixed.
607
608 * ospf6d.h: version 0.9.1
609
6102001-06-20 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
611
612 * ospf6_spf.c: crash bug fix in temporary treat code for
613 Router-LSA whose LS-ID != 0
614
615 * ospf6_dbex.c: RFC2328 13.(4) was wrongly coded.
616 (4) Else if the LSA's LS age is equal to MaxAge, and there is
617 currently *NO* instance of the LSA in the router's link state
618 ...
619
620 * ospf6_lsa.c: RFC2328 13.1 checksum tie breaker
621 had been neglected, and has just added now.
622
623 * ospf6d.h: version 0.9.0
624 ospf6d expected to work with hitachi gr2000 from these fixes.
625
6262001-06-12 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
627
628 * ospf6_lsa.c: Fix bug in creating Intra-Area-Prefix-LSA.
629 DR was mis-include others prefixes advertised by their Link-LSA.
630
631 * ospf6_route.c: Fix bug in calculating intra area routes.
632 Not all prefixes in Intra-Area-Prefix-LSA was calculated.
633
634 * ospf6_spf.c:
635 Changed to quit when a error occured in calculating SPF tree.
636 Very messy hack for the bug reported by [zebra 8807]. This
637 is not tested yet.
638 Changed to quit SPF calculation when a nexthop calculation
639 errors.
640
641 * ospf6_zebra.c:
642 Support for interface address deletion.
643
644 * ospf6d.h:
645 version: 0.8.y
646
6472001-04-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
648
649 * ospf6d.h
650 Due to previous change (DR Election algorithm changed),
651 backward compatibility will be lost from this version.
652 version: 0.8.x
653
6542001-04-18 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
655
656 * ospf6_message.c ospf6_ism.c:
657 Bug of router_id comparison
658
6592001-04-17 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
660
661 * ospf6_dbex.c: ospf6_dbex_is_maxage_to_be_dropped() had
662 some bug causing Loading state lasts long.
663 version: 0.8.v
664
6652001-04-08 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
666
667 * ospf6_route.c: BUG in AS-External route calculation fixed.
668 It was using OLD LSDB...
669 Version: 0.8.u-
670
6712001-04-08 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
672
673 * ospf6_area.c, ospf6_dbex.c, ospf6_interface.c,
674 ospf6_lsa.c, ospf6_lsdb.c, ospf6_lsdb.h, ospf6_message.c,
675 ospf6_neighbor.c, ospf6_neighbor.h, ospf6_nsm.c,
676 ospf6_redistribute.c, ospf6_route.c, ospf6_spf.c:
677 Delete old LSDB function.
678
679 * ospf6d.h:
680 Version: 0.8.u
681
6822001-04-05 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
683
684 * ospf6_area.c, ospf6_area.h, ospf6_dbex.c, ospf6_interface.c,
685 ospf6_interface.h, ospf6_lsa.c, ospf6_lsdb.c, ospf6_lsdb.h,
686 ospf6_message.c, ospf6_nsm.c, ospf6_redistribute.c, ospf6_route.c,
687 ospf6_spf.c, ospf6_top.c, ospf6_top.h, ospf6d.h:
688 Changed to use New LSDB.
689 Version: 0.8.t
690
6912001-04-02 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
692
693 * ospf6_lsa.c:
694 Interface stub check in Intra-Area-Prefix-LSA origination
695 was wrong. - fixed.
696
697 * ospf6_area.h, ospf6_dbex.c, ospf6_interface.c,
698 ospf6_interface.h, ospf6_lsa.c, ospf6_lsa.h, ospf6_lsdb.c,
699 ospf6_message.c, ospf6_neighbor.c, ospf6_nsm.c,
700 ospf6_redistribute.c, ospf6_top.c, ospf6_top.h, ospf6d.c:
701 New LSDB functions, but not changed to be used.
702
703 * ospf6d.h:
704 Version: 0.8.s
705
7062001-03-28 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
707
708 * ospf6_area.c ospf6_area.h ospf6_dbex.c ospf6_dump.c
709 ospf6_interface.c ospf6_interface.h ospf6_lsa.c
710 ospf6_message.c ospf6_redistribute.c ospf6_spf.c ospf6_top.c
711 ospf6_top.h ospf6_zebra.c ospf6d.c ospf6d.h: cleaning.
712
7132001-03-24 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
714
715 * ospf6d.h:
716 version: 0.8.r
717
718 * ospf6_neighbor.[ch], ospf6_lsa.[ch]:
719 just clean up and log clearify.
720
721 * ospf6_message.[ch]:
722 Packet receiving function and dumping OSPFv3 packet has been
723 changed simple and clean.
724
725 * ospf6_dbex.[ch], ospf6_interface.[ch], ospf6_lsdb.[ch],
726 ospf6_neighbor.[ch], ospf6_nsm.[ch]:
727 LSList(i.e. summary list, request list, retrans list, etc) have
728 been rewritten based on new LSDB module. The main LSDB have not
729 yet shifted to this new module, but will shift eventually.
730 This change expected to resolve the problem that the ospf6d keeps
731 on sending redundant LSUpdate/LSAck.
732
733 * ospf6_interface.c: changed default MTU from 1500 to 1280.
734 It was possible that the ospf6d could not send packet (e.g.
735 LSUpdate in response to LSReq in my case) when the packet
736 size accidentally reached near 1500 (I was forget about IP
737 header :p). It is a bit illegal to set MTU 1280 constantly,
738 but I failed once with I/F MTU from kernel (through zebra),
739 and thinks that 1280 is more stable than kernel variable.
740 Comments will be appriciated.
741
7422001-03-15 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
743
744 * ospf6_dbex.c, ospf6_interface.c, ospf6_ism.c, ospf6_lsdb.[ch],
745 ospf6_neighbor.c, ospf6_spf.c, ospf6d.c:
746 Fix for crash. ospf6d has ever been crashing when
747 'no interface' command executed, and when starting up with
748 the configuration which does not include 'router ospf6'.
749 these has been fixed.
750
7512001-02-24 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
752
753 * ospf6_lsa.c, ospf6_message.c:
754 LSA summary (exchanged while Adjacency bring up) may expire
755 (may reach MaxAge). Handling this has been added but
756 it's a little bit quick hack.
757
758 * ospf6_message.c:
759 Thread chain bug fixed. Read network thread chain has been cut
760 when receive packets on not-enabled interface. this was wrong
761 and fixed.
762
7632001-02-24 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
764
765 * ospf6_message.c:
766 I/F MTU check part on sending packet had some bug, and it's fixed.
767 Ospf6d has believed a value from zebra as I/F MTU, but from now
768 I/F MTU is set to constant 1500. This is workaround for ATM.
769
7702001-02-01 Kunihiro Ishiguro <kunihiro@zebra.org>
771
772 * zebra-0.91 is released.
773
7742001-01-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
775
776 * just code clean up of almost all module.
777 * ospf6_dump.c, ospf6_lsa.c: file dependency.
778 * ospf6_mesg.[ch]: changed filename to ospf6_message.[ch]
779
7802001-01-09 Kunihiro Ishiguro <kunihiro@zebra.org>
781
782 * zebra-0.90 is released.
783
7842001-01-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
785
786 * ospf6_mesg.c,ospf6_lsa.c: doubly cancel thread bug fixed.
787 version 0.8.k CRASHed for this.
788 * ospf6_lsa.c: bug of logging fixed.
789 version: 0.8.l
790
7912001-01-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
792
793 * ospf6_neighbor.c: fix typo when trying to delete
794 MaxAge AS-External LSA. MaxAge LSA remaining bug is expected
795 to be fixed.
796 version: 0.8.k
797
7982001-01-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
799
800 * ospf6_mesg.c: add I/F Mtu check for sending LS Update.
801
802 * ospf6_dbex.c, ospf6_mesg.c, ospf6_neighbor.c, ospf6_neighbor.h,
803 ospf6_spf.c: Changed type of hisaddr field in ospf6_neighbor
804 structure, from sockaddr_in6 to in6_addr. No protocol/processing
805 changed.
806
8072001-01-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
808
809 * ospf6_mesg.c, ospf6_neighbor.[ch]: Speed up of
810 Database Exchange.
811 version: 0.8.j
812
813 Because the LS Request list was checked only when attempt
814 to send (retransmit) LS Request packet, Loading state lasted
815 long (for RxmtInterval) unexpectedly. This was fixed; LS Request
816 packet will be send as soon as one received a LS Update packet.
817
8182001-01-01 Kunihiro Ishiguro <kunihiro@zebra.org>
819
820 * ospf6d.h (OSPF6_VTYSH_PATH): Change "/tmp/ospf6d" to
821 /tmp/.ospf6d".
822
8232000-12-29 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
824
825 * ospf6_dump.[ch]: simplified.
826
8272000-12-19 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
828
829 * ospf6_route.c: Fix bug of using unavailable route.
830 version: 0.8.d
831
8322000-11-30 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
833
834 * ospf6_spf.c: calculate statistics. version: 0.8.d
835
8362000-11-26 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
837
838 * ospf6_mesg.c, ospf6_nsm.c: LSDB sync bug fixed.
839 version: 0.8.c
840
8412000-11-26 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
842
843 * ospf6_dbex.c: Start debugging and cleaning.
844
845 * ospf6_area.c, ospf6_dbex.c, ospf6_interface.c, ospf6_lsa.c,
846 ospf6_proto.c, ospf6_top.c: add some function to clarify codes.
847
8482000-11-26 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
849
850 * ospf6_spf.c: Delete old garbage (which was enclosed by #if 0)
851
852 * ospf6_redistribute.c: "redistribute ospf6" was generated in
853 "router ospf6" in config file. It is a bug, and fixed.
854 wrong warning message was deleted.
855
856 * ospf6_main.c: If daemon mode, ospf6d was silent even if
857 the config file was wrong. It is a bug, and fixed.
858
859 * ospf6_route.c, ospf6_zebra.c: Zebra syncronization method
860 has been changed. delete garbages. allow nexthop of :: in case
861 of connected route.
862
863 * ospf6_dbex.c: Delete annoying log messages.
864
865 * ospf6_lsa.c: Changed string for LSA log.
866
8672000-11-21 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
868
869 * ospf6_spf.c: some careless bug fixed.
870
871 * ospf6_route.c: changed not to send garbage route
872 whose nexthop is not linklocal address.
873
8742000-11-09 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
875
876 * ospf6_rtable.c: renamed to ospf6_route.c
877 whole functionality has been rewritten as new code.
878 new functions not yet installs routes; the old
879 functions still remains. cleaning log messages.
880
881 * ospf6_spf.c: whole functionality has been rewritten
882 as new code. new command "show ipv6 ospf6 spf node",
883 "show ipv6 ospf6 spf tree", "show ipv6 ospf6 spf table"
884 has been added. Memory leak was fixed. cleaning log messages.
885
886 * ospf6d version: 0.7.c
887
8882000-10-02 Kunihiro Ishiguro <kunihiro@zebra.org>
889
890 * zebra-0.89 is released.
891
8922000-09-10 Kunihiro Ishiguro <kunihiro@zebra.org>
893
894 * ospf6_lsdb.c (ospf6_lsdb_remove_maxage_lsa): Fix compile
895 warnings.
896
8972000-08-17 Kunihiro Ishiguro <kunihiro@zebra.org>
898
899 * zebra-0.88 is released.
900
9012000-08-06 Kunihiro Ishiguro <kunihiro@zebra.org>
902
903 * ospf6_rtable.h (struct ospf6_nexthop): Change ifindex type from
904 unsigned long to unsigned int.
905
9062000-04-28 Kunihiro Ishiguro <kunihiro@zebra.org>
907
908 * ospf6d.h: Include some headers for avoid warning.
909
910 * ospf6_routemap.h: Add newfile.
911
9121999-11-21 Kunihiro Ishiguro <kunihiro@zebra.org>
913
914 * ospf6_network.c: Respect IPV6_JOIN_GROUP and IPV6_LEAVE_GROUP
915 rather than RFC2133.
916
9171999-10-21 Jun-ichiro itojun Hagino <itojun@itojun.org>
918
919 * ospf6_network.c (ospf6_ipv6_decode_ipv4): Fix bug of conversion
920 from IPv4 Mapped Address to IPv4 address.
921
9221999-08-08 Kunihiro Ishiguro <kunihiro@zebra.org>
923
924 * ospf6_lsa.c (construct_link_lsa): Enclose KAME specific part by
925 #ifdef/#endif.
926
9271999-07-29 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
928
929 * ospf6_mesg.c: add new message process function.
930
9311999-07-25 Kunihiro Ishiguro <kunihiro@zebra.org>
932
933 * ospf6_main.c (sighup): Call of log_rotate() removed.
934
9351999-07-24 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
936
937 ospf6_dbex.{c,h}: variable "acknowledge" has been deleted.
938
9391999-07-22 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
940
941 * *.{c,h}: lsa data structure has been drastically
942 changed.
943
9441999-07-16 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
945
946 * *.{c,h}: bug of updating LSA's which is self
947 originated has been fixed.
948
9491999-07-14 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
950
951 * *.{c,h} : log clean up.
952
9531999-07-05 Kunihiro Ishiguro <kunihiro@zebra.org>
954
955 * ospf6d.c (ospf6_init): Change to use install_default.
956
9571999-07-03 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
958
959 * ospf6_rtable.c (nexthop_*): added some function that handles
960 new nexthop structure.
961
9621999-07-01 Rick Payne <rickp@rossfell.co.uk>
963
964 * ospf6_zebra.c (ospf6_zebra_init): Install standard commands to
965 ZEBRA_NODE.
966
9671999-06-09 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
968
969 * ospf6_rtable.h: added for new routing table of ospf6d
970
9711999-05-14 Stephen R. van den Berg <srb@cuci.nl>
972
973 * ospf6_main.c (signal_init): SIGTERM call sigint.
974 (sigint): Loggging more better message.
975
9761999-05-13 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
977
978 *ospf6_spf.c (get_prefix_lsa_of_vertex): bug fix about network vertex.
979
9801999-05-08 Kunihiro Ishiguro <kunihiro@zebra.org>
981
982 * ospf6_network.c (send_linkstate_ack): Check HAVE_SIN6_SCOPE_ID
983 is defined.
984 * ospf6_mesg.c (make_hello): Likewise.
985 * ospf6_lsa.c (lsa_flood): Likewise.
986
9871999-05-07 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
988
989 * ospf6_spf.c, etc: Many bug fix.
990 intra-area-prefix-LSA treatment changed.
991 network byte order of neighbor ifid changed.
992
9931999-05-07 Kunihiro Ishiguro <kunihiro@zebra.org>
994
995 * ospf6_zebra.h (struct zebra): Add hitory entry to structure.
996
9971999-05-05 Kunihiro Ishiguro <kunihiro@zebra.org>
998
999 * ospf6_main.c (main): Add KAME check for binding vty socket.
1000 (main): Delete old interface get routine garbage.
1001
1002 * ospf6d.c: Change all `show ip6' statement to `show ipv6'.
1003 (show_ipv6_ospf6_requestlist): Add description.
1004
10051999-05-04 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1006
1007 * ospf6_lsa.c, etc: Many bug fix, now two routers
1008 on the same segment can become FULL neighbor state
1009 each other.
1010
10111999-05-03 Kunihiro Ishiguro <kunihiro@zebra.org>
1012
1013 * Makefile.am: Add file dependency.
1014 (depend): Add target.
1015
10161999-05-02 Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
1017
1018 * Clean up and fix have been almost done. This code
1019 now testing stage of Intra area routing.
1020
1021 * Configuration Vty become more similar to Cisco.
1022
10231999-04-22 Kunihiro Ishiguro <kunihiro@zebra.org>
1024
1025 * Trim training newline from zlog format arguemnt.
1026
1027 * ospf6_dump.c (ospf6_err): Commented out ospf6_err and
1028 ospf6_warn. Same kind of function should be implemented as
1029 zlog_err or zlog_warn or someting.
1030
1031 * ospf6d.c: Change OSPF_NODE to OSPF6_NODE.
1032 Change OSPF_DEFAULT_CONFIG to OSPF6_DEFAULT_CONFIG.
1033
1034
10351999-04-21 Kunihiro Ishiguro <kunihiro@zebra.org>
1036
1037 * ospf6_mesg.c (make_hello): Add check of SIN6_LEN
1038
10391999-04-16 Kunihiro Ishiguro <kunihiro@zebra.org>
1040
1041 * ospf6_neighbor.c: Change list_clear_all to list_delete_all_node.
1042 Remove list_delete_all fuction and use lib/linklist.c's one.
1043
10441999-04-14 Kunihiro Ishiguro <kunihiro@zebra.org>
1045
1046 * mcast_join(),mcast_leave()'s argument socket length is removed.
1047
10481999-04-08 <kunihiro@zebra.org>
1049
1050 * ospf6_zebra.h (ospf_zebra_read): Fix typo.
1051
1052 * ospf6_interface.h: Tempolary add struct rt_addrinfo.
1053
10541999-03-05 Kunihiro Ishiguro <kunihiro@zebra.org>
1055
1056 * Merge from ospfd-zebra-990303 codes.
1057
10581999-02-23 Kunihiro Ishiguro <kunihiro@zebra.org>
1059
1060 * Makefile.in: add new file.
1061
1062 * Makefile.am: @INCLUDES@ is added for OS/library specific IPv6
1063 directory search.
1064
1065 * Import files from Yasuhiro Ohara <yasu@sfc.wide.ad.jp>'s ospfd.
1066 Impterted files are:
1067 Makefile.am, ospf_area.h, ospf_dump.c, ospf_interface.c,
1068 ospf_interface.h, ospf_lsa.c, ospf_lsa.h, ospf_main.c,
1069 ospf_mesg.c, ospf_mesg.h, ospf_neighbor.c,
1070 ospf_neighbor.h,ospf_network.c, ospf_network.h, ospf_proto.h,
1071 ospf_spf.c, ospf_spf.h, ospf_types.h, ospfd.c, ospfd.h