Initial revision
diff --git a/zebra/ChangeLog b/zebra/ChangeLog
new file mode 100644
index 0000000..b5383f1
--- /dev/null
+++ b/zebra/ChangeLog
@@ -0,0 +1,1221 @@
+2002-09-28  Akihiro Mizutani <mizutani@net-chef.net>
+
+	* zebra_rib.c (static_add_ipv4): Null0 static route is added.
+
+2002-09-10  Jochen Friedrich <chris+zebra@scram.de>
+
+	* rt_netlink.c: Add check for EAGAIN.
+	* kernel_socket.c: Likewise
+
+2002-06-12  Israel Keys <ikeys@oz.agile.tv>
+
+	* rt_netlink.c: Setting the NLM_F_ACK flag on the netlink command
+	  message so that we get an ACK for successful netlink commands.
+	  Change the netlink socket to BLOCKING while we wait for a
+	  response; be it an ACK or an NLMSG_ERROR.  Change
+	  netlink_parse_info to deal with ACK messages.
+
+2001-11-01  Jun-ichiro itojun Hagino <itojun@iijlab.net>
+
+	* rtadv.c (rtadv_make_socket): setsockopt(IPV6_CHECKSUM) does not
+	work for ICMPv6 socket.
+
+2001-10-24  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>
+
+	* rib.c (rib_process): Select connected route any case.
+
+2001-10-23  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>
+
+	* interface.c (no_ip_address_secondary): Add "no" to command.
+
+2001-10-18  NOGUCHI Kay  <kay@v6.access.co.jp>
+
+	* ioctl.c (if_prefix_add_ipv6): Set the prefered and valid lifetime
+	to infinity as the freebsd4.4 workaroud.
+
+2001-08-26  mihail.balikov@interbgc.com
+
+	* zebra_snmp.c: Fix snmpwalk problem such as IPv4 address
+	A.B.C.255.
+
+2001-08-22  NOGUCHI Kay <kay@v6.access.co.jp>
+
+	* rtadv.c: Do not send RA to loopback interface.
+
+2001-08-20  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>
+
+	* ioctl.c (if_set_prefix): Remove Linux 2.0 specific connected
+	route treatment.
+
+2001-08-19  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>
+
+	* zebra-0.92a released.
+
+2001-08-17  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>
+
+	* rib.c: Kernel route is treated as EGP routes in nexthop active
+	check.
+
+2001-08-15  Kunihiro Ishiguro  <kunihiro@ipinfusion.com>
+
+	* zebra-0.92 released.
+
+2001-08-08  "Akihiro Mizutani" <mizutani@dml.com>
+
+	* rib.c (show_ip_route_prefix_longer): Add longer-prefix option to
+	show route commands.
+
+2001-07-29  Yon Uriarte <havanna_moon@gmx.net>
+
+	* zserv.c (zsend_ipv4_add_multipath): Add
+	NEXTHOP_TYPE_IPV4_IFINDEX check.
+
+2001-07-29  NOGUCHI Kay <kay@v6.access.co.jp>
+
+	* rtadv.c: Apply valid lifetime, preferred lifetime, onilnk flag,
+	autonomous address-configuration flag patch.
+	(no_ipv6_nd_suppress_ra): Change "ipv6 nd send-ra" to "no ipv6 nd
+	suppress-ra".
+
+2001-07-24  NOGUCHI Kay <kay@v6.access.co.jp>
+
+	* rtadv.c (ipv6_nd_ra_interval): Add "ipv6 nd ra-interval SECONDS"
+	command.
+
+2001-07-24  Jun-ichiro itojun Hagino <itojun@iijlab.net>
+
+	* rt_socket.c (kernel_rtm_ipv4): Add KAME/NetBSD151 equal cost
+	multicast FIB support both IPv4 and IPv6.
+
+2001-07-24  Hal Snyder <hal@vailsys.com>
+
+	* if_ioctl.c (interface_list_ioctl): Fix bug of failing to get the
+	full list of interfaces on some configurations of OpenBSD.
+
+2001-07-23  NOGUCHI Kay <kay@v6.access.co.jp>
+
+	* rtadv.c (ipv6_nd_send_ra): Apply [zebra 9320] to fix "ipv6 nd
+	send-ra" bug.
+	(ipv6_nd_ra_lifetime): "ipv6 nd ra-lifetime 0" for default router
+	availability.
+	(ipv6_nd_managed_config_flag): "ipv6 nd managed-config-flag" is
+	added.
+	(ipv6_nd_other_config_flag): "ipv6 nd other-config-flag" is added.
+	
+2001-07-23  Jun-ichiro itojun Hagino <itojun@iijlab.net>
+
+	* ioctl.c (if_ioctl): Change ioctl argument from int to u_long.
+
+	* rt_ioctl.c: Likewise.
+
+2001-07-23  Jun-ichiro itojun Hagino <itojun@iijlab.net>
+
+	* kernel_socket.c (rtm_write): Only set RTF_CLONING when the
+	interface is not p2p.
+
+2001-04-23  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* ioctl.c (if_prefix_add_ipv6): Fix argument type.
+
+2001-04-06  Toshiaki Takada  <takada@zebra.org>
+
+	* zserv.c (zsend_interface_delete): Use client->obuf instead of
+	allocating new stream.
+
+2001-03-10  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_netlink.c: Revert RTPROT_BOOT change.
+
+2001-03-08  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_netlink.c (netlink_route_change): Skip RTPROT_BOOT route.
+	(netlink_routing_table): Likewise.
+
+2001-03-07  "Akihiro Mizutani" <mizutani@dml.com>
+
+	* zserv.c (zsend_ipv4_add_multipath): Send metric value to
+	protocol daemons.
+
+2001-02-18  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_netlink.c (netlink_routing_table): Do not return
+	tb[RTA_GATEWAY] is NULL.  Reported by: "Michael O'Keefe"
+	<mokeefe@qualcomm.com>.
+
+2001-02-08  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if_ioctl.c (interface_list_ioctl): Call if_add_update().
+	Suggested by: Chris Dunlop <chris@onthe.net.au>.
+
+2001-02-01  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (nexthop_active_ipv4): When nexthop type is
+	NEXTHOP_TYPE_IPV4_IFINDEX, propery set the ifindex to rifindex.
+
+	* zserv.c: Initialize rtm_table_default with 0.
+
+	* zebra-0.91 is released.
+
+2001-01-31  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* kernel_socket.c (rtm_read): Filter cloned route.  Suggested by:
+	Jun-ichiro itojun Hagino <itojun@iijlab.net>
+
+2001-01-30  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* connected.c (connected_up_ipv6): When point-to-point destination
+	address is ::, use local address for connected network.
+	(connected_down_ipv6): Likewise.
+
+2001-01-25  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zserv.c (zebra_serv): Add missing close() call.  Reported by:
+	David Waitzman <djw@vineyard.net>.
+
+2001-01-24  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (rib_lookup_ipv4): New function for checking exact match
+	IGP route.
+
+2001-01-23  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (show_ipv6_route_protocol): Fix bug of "show ip route
+	route-type".
+
+2001-01-22  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* interface.c (zebra_interface): Do not call
+	zebra_interface_add_update for inactive interface.
+
+	* zserv.c (zsend_interface_address_add): Send interface address
+	flag.
+	(zsend_interface_address_delete): Likewise.
+
+2001-01-19  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* interface.c (if_addr_add):  Add flags.
+
+	* connected.c (ifa_add_ipv4): Add new function for interface
+	address handling.
+	(ifa_delete_ipv4): Likewise.
+
+2001-01-16  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (rib_update): Update IPv6 RIB.
+
+	* kernel_socket.c (ifam_read): Call if_refresh() for update
+	interface flag status.  This is for implicit interface up on *BSD.
+
+	* interface.c (if_refresh): Add interface flag refresh function.
+
+	* kernel_socket.c (rtm_read): Fetch link-local address interface
+	index.
+	(ifan_read): We need to fetch interface information.  Suggested
+	by: Yasuhiro Ohara <yasu@sfc.wide.ad.jp>.
+
+	* rib.c (static_ipv6_nexthop_same): Add check for
+	NEXTHOP_TYPE_IPV6_IFNAME.
+
+2001-01-15  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.h (NEW_RIB): Turn on NEW_RIB flag.  IPv6 new RIB code are
+	taken into place.
+
+2001-01-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (static_ipv6_write): Display STATIC_IPV6_GATEWAY_IFNAME
+	configuration.
+	(rib_delete_ipv6): Handle same route conter for IPv6 connected
+	route.
+	(show_ipv6_route_protocol): New command.
+	(show_ipv6_route_addr): Likewise.
+	(show_ipv6_route_prefix): Likewise.
+	(rib_update): Sweep kernel route when it is cleaned up.
+
+	* rt_socket.c (kernel_add_ipv6): Add NEXTHOP_IPV6_IFNAME
+	treatmenet.
+
+	* rt_netlink.c (kernel_init): Likewise.
+
+	* rt_ioctl.c (kernel_ioctl_ipv6_multipath): Likewise.
+
+	* rib.c (rib_add_ipv4): Cope with same connected route on a
+	interface.  Suggested by: Matthew Grant <grantma@anathoth.gen.nz>.
+	(nexthop_ipv6_ifname_add): Add NEXTHOP_IPV6_IFNAME treatmenet.
+
+	* rib.h (struct new_rib): Add refcnt to keep track on the
+	reference of same connected route.
+
+	* ioctl.c (if_set_prefix): Add check for GNU_LINUX.
+
+2001-01-13  Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
+
+	* kernel_socket.c (ifan_read, rtm_type_str): Add RTM_OIFINFO check.
+	(rtm_type_str): Add RTM_IFANNOUNCE check.
+	(ifan_read): New function.
+	(kernel_read): Add case for RTM_IFANNOUNCE.
+
+2001-01-13  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_ioctl.c (kernel_ioctl_ipv6_multipath): New function.
+
+	* rt_netlink.c (netlink_route_multipath): IPv6 address ifindex
+	treatment.
+
+	* connected.c (connected_up_ipv6): Add dest value check.
+
+	* rib.c (nexthop_active_ipv6): Do not touch IPv6 nexthop's
+	ifindex.
+	(rib_add_ipv4): Import rib_add_ipv6() same route check code.
+	(nexthop_active_check): NEXTHOP_TYPE_IPV6_IFINDEX activity is only
+	checked by ifindex.
+
+	* rt_socket.c (kernel_rtm_ipv6_multipath): New function.
+
+	* redistribute.c (redistribute_add): Use
+	zsend_ipv6_add_multipath().
+	(redistribute_delete_multipath): Use
+	zsend_ipv6_delete_multipath().
+
+	* interface.c (ip_address): Check current IP address to avoid
+	duplicate.
+
+	* rib.c (rib_delete_ipv4): When deleted route is connected route,
+	check ifindex.
+	(rib_add_ipv4): When connected route is added do not perform
+	implicit withdraw.
+	(rib_delete_ipv4): Check ifindex for connected route.
+
+	* kernel_socket.c (rtm_read): When route has RTF_STATIC, set
+	ZEBRA_FLAG_STATIC for indicate as persistent route.
+	(ifam_read): Unset interface index from link-local address when
+	IPv6 stack is KAME.
+
+	* rib.c (rib_update): Do not delete persistent kernel route.
+
+	* rib.h (struct new_rib): Integrate RIB_FLAG_* to ZEBRA_FLAG_*.
+
+	* rt_socket.c (kernel_add_ipv6_multipath): Add placeholder.
+	(kernel_delete_ipv6_multipath): Likewise.
+
+	* rt_netlink.c (netlink_talk): Give struct nlsock to netlink_talk.
+
+2001-01-12  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (rib_update): Revert Matthew Grant's patch
+	zebra_cvs_newribfix.patch.  Use struct rib->ifindex for kernel
+	interface index.  Introduce NEXTHOP_TYPE_IPV4_IFINDEX to support
+	that.  Add support for address deletion situation.
+
+2001-01-11  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* interface.c: Remove HAVE_IF_PSEUDO part.
+
+	* rib.h: Likewise.
+
+	* rt_netlink.c (netlink_link_change): Likewise.
+
+2001-01-10  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zserv.c: Remove OLD_RIB codes.
+
+2001-01-09  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra-0.90 is released.
+
+2001-01-09  Matthew Grant <grantma@anathoth.gen.nz>
+
+	* interface.c (if_new_intern_ifindex): Allocate a new internal
+	interface index.
+	(if_addr_refresh): Fix up ip addresses configured via zebra.
+	(if_add_update): Handle an interface addition.
+	(if_delete_update): Handle an interface delete event.
+
+	* rib.c (nexthop_ipv4_add): Add kernel route deletion process when
+	interface goes down.
+
+2001-01-08  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* interface.c (if_dump_vty): When HAVE_NET_RT_IFLIST is defined,
+	NetBSD also use this function.  Suggested by Jasper Wallace
+	<jasper@ivision.co.uk>.
+
+2001-01-07  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (nexthop_active_ipv4): Move back to set methodo to old
+	one.
+
+2001-01-05  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (rib_add_ipv4): EBGP multihop set ZEBRA_FLAG_INTERNAL
+	flag, so treat it.
+
+2001-01-04  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_netlink.c (netlink_talk_ipv6): When IPv6 route message is
+	sent from netlink_cmd, the same message comes from netlink.  To
+	avoid confusion, temporary netlink_talk_ipv6 use netlink.sock
+	instead of netlink_cmd.sock.
+
+2001-01-01  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zserv.h (ZEBRA_SERV_PATH): Change "/tmp/zebra" to "/tmp/.zebra".
+	Change "/tmp/zserv" to "/tmp/.zserv".
+	
+2000-12-29  Frank van Maarseveen <F.vanMaarseveen@inter.NL.net>
+
+	* rt_netlink.c (struct nlsock): Divide kernel message into listen
+	socket and command socket.
+	(netlink_talk): Remove socket listen code.  Use netlink_parse_info
+	for read kernel response.
+
+2000-12-29  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (vty_show_ip_route): Show uptime of the RIP,OSPF,BGP
+	routes.
+
+2000-12-27  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_netlink.c (netlink_route_multipath): Metric value is
+	reflected to kernel routing table.
+
+	* rt_ioctl.c (kernel_ioctl_ipv4_multipath): Likewise.
+
+	* kernel_socket.c (rtm_write): Likewise.
+
+	* rib.c (nexthop_active_ipv4): Only iBGP route perform recursive
+	nexthop lookup.
+
+	* rt_ioctl.c (kernel_ioctl_ipv4_multipath): Add ioctl version of
+	new RIB implementation.
+
+2000-12-26  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.h: Remove MULTIPATH_NUM.  It is defined by configure script.
+
+2000-12-25  Michael Rozhavsky <mrozhavsky@opticalaccess.com>
+
+	* rib.c (rib_if_up): Call rib_fib_set instead of RIB_FIB_SET for
+	proper redistribution.
+
+2000-12-19  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (nexthop_active_ipv4): Add self lookup nexthop check.
+	(show_ip_route_protocol): Support new RIB.
+
+	* rt_netlink.c (netlink_route_change): Do not return when gate is
+	NULL.
+
+2000-12-18  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (rib_lookup_ipv4_nexthop): IBGP nexthop check function is
+	updated.
+	(rib_add_ipv4): Free implicit withdraw route's RIB.
+
+2000-12-15  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (nexthop_active_ipv4): Check indirect nexthop.
+
+	* redistribute.c (redistribute_add_multipath): Redistribution
+	works with new rib code.
+
+2000-12-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_netlink.c (netlink_route_multipath): Check useful nexthop
+	number.
+	(netlink_route_multipath): Clear rtnh_flags and rtnh_hops.
+
+	* rib.c (nexthop_active_update): Set flag for the rib's nexthop
+	activity is changed.
+	(nexthop_active_check): Before checking interface is up, make it
+	sure the interface exist.
+
+2000-11-20  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (ip_route): New RIB prototype.
+
+2000-11-16  Yon Uriarte <ukl2@rz.uni-karlsruhe.de>
+
+	* zserv.c (zsend_interface_add): Send hardware address when
+	hw_addr_len is greater than 0.
+
+2000-11-07  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* connected.c (connected_up_ipv4): Fix ptop bug.  The destination
+	network should be installed into routing table.
+	(connected_down_ipv4): Likewise.
+	(connected_add_ipv4): Change to use connected_up_ipv4.
+	(connected_delete_ipv4): Likewise.
+
+2000-11-06  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_netlink.c (netlink_interface_addr): Revert Harald Welte
+	<laforge@gnumonks.org>'s ptop patch then back to original code to
+	avoid duplicated connected route problem.  Suggested by Frank van
+	Maarseveen <F.vanMaarseveen@inter.NL.net>.
+
+	* kernel_socket.c (rtm_read): Make behavior consistent even #ifdef
+	DEBUG is defined.  Reported by Jun-ichiro itojun Hagino
+	<itojun@iijlab.net>.
+
+2000-10-23  Jochen Friedrich <jochen@scram.de>
+
+	* main.c (main): Call zebra_snmp_init() when it is enabled.
+
+2000-10-23  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zserv.c (zebra_serv_un): UNIX domain socket server of zebra
+	protocol.
+
+2000-10-19  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (rib_add_ipv4): Same check bug is fixed.
+
+2000-10-03  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (rib_if_down): Remove kernel route when the interface goes
+	down.
+
+	* debug.c: New command "debug zebra kernel" is added.
+
+2000-10-02  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra-0.89 is released.
+
+2000-09-24  Harald Welte <laforge@gnumonks.org>
+
+	* rt_netlink.c (netlink_interface_addr): Fix point-to-point address
+	treatment in netlink interface.
+
+2000-09-21  David Lipovkov <dlipovkov@OpticalAccess.com>
+
+	* rib.c (rib_if_down): Pull static route only.  Protocol daemon
+	must withdraw routes when interface goes down.
+	(rib_add_ipv4): Check nexthop when replace route.
+
+2000-09-21  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if_ioctl.c (if_getaddrs): New function for looking up
+	interface's address by getifaddrs().
+
+2000-09-10  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* connected.c (connected_delete_ipv4): Add check for connected
+	address is found or not.
+	(connected_add_ipv6): Reflect IPv6 connected address change to
+	protocol daemons.
+	(connected_delete_ipv6): Likewise.
+
+2000-09-07  David Lipovkov <davidl@nbase.co.il>
+
+	* rib.c (rib_delete_ipv4): Reverted the change from pseudo
+	interface patch to original.  Because ospfd deletes routes using
+	zero ifindex.
+
+2000-08-17  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra-0.88 is released.
+
+2000-08-15  "Akihiro Mizutani" <mizutani@dml.com>
+
+	* rib.c (show_ip_route_protocol): Help string correction.
+	(show_ip_route_prefix): Check prefix mask.
+	(show_ip_route_vty_detail): Display distance and metric.
+
+2000-08-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zserv.c (zsend_interface_add): Change ifindex store size from
+	two octet to four.
+	(zsend_interface_delete): Likewise.
+	(zsend_interface_address_add): Likewise.
+	(zsend_interface_address_delete): Likewise.
+	(zsend_interface_up): Likewise.
+	(zsend_interface_down): Likewise.
+
+2000-08-13  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (rib_add_ipv4): Do not install distance 255 route.
+
+2000-08-10  Toshiaki Takada  <takada@zebra.org>
+
+	* interface.c (bandwidth_if), (no_bandwidth_if):  Call
+	zebra_interface_up_update () instead of using if_up() and if_down().
+
+2000-08-07  "Akihiro Mizutani" <mizutani@dml.com>
+
+	* interface.c (bandwidth_if): Fix help string.
+
+2000-08-07  Matthew Grant <grantma@anathoth.gen.nz>
+
+	* interface.c (if_dump_vty): Display bandwidth value.
+	(bandwidth_if): New command "bandwidth <1-10000000>" is added.
+	When interface is up, force protocol daemons to recalculate routes
+	due to cost change.
+	(no_bandwidth_if): Likewise.
+	(if_config_write): Output bandwidth configuration.
+
+	* zserv.c (zsend_interface_add): Send bandwidth value.
+	(zsend_interface_up): Likewise.
+	(zsend_interface_down): Likewise.
+
+
+2000-08-07  Michael Rozhavsky <mike@nbase.co.il>
+
+	* rib.c (show_ip_route_protocol): "show ip route
+	(bgp|connected|kernel|ospf|rip|static)" is added.
+
+2000-08-07  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (rib_lookup_ipv4_nexthop): Check parent node until IGP
+	nexthop is found.
+	(rib_add_ipv4_internal): Set fib ifindex to rib ifindex.
+
+2000-08-06  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* redistribute.c (redistribute_delete): Fix bug of default route
+	redistribute treatment.
+
+2000-08-05  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (rib_init): Install ip_node in rib.c instead of zserv.c.
+	Change default distance value.
+
+                    Old         New
+	------------------------------------------
+	system      10           0
+	kernel      20           0
+	connected   30           0
+	static      40           1
+	rip         50         120
+	ripng       50         120
+	ospf        60         110
+	ospf6       49         110
+	bgp         70         200(iBGP)  20(eBGP)
+	------------------------------------------
+
+	* zserv.c (client_lookup): Function removed.
+	(zsend_interface_add): Use client's output buffer.  Check ifinfo
+	flag.
+	(zsend_interface_delete): Likewise.
+	Delete ipv4_static_radix and ipv6_static_radix.
+
+2000-08-02  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zserv.h (struct zebra_client): When client request interface
+	information, ifinfo is set.
+
+	* rib.c: Temporary Revert changes for pseudo interface.
+
+	* rib.h: Likewise.
+
+	* zserv.c: Likewise.
+
+	* interface.c: Likewise.
+	
+2000-08-02  David Lipovkov <davidl@nbase.co.il>
+
+	* interface.c (zebra_if_init): Install interface "pseudo"
+	commands.
+
+	* rib.c (rib_create): ifname argument is added.
+	(rib_add_ipv4_pseudo): New function is added.
+	(rib_delete_ipv4_pseudo): Likewise.
+
+	* rib.h : Delete INTERFACE_UNKNOWN definition.  Add prototype for
+	pseudo interface functions.
+
+	* rt_netlink.c (netlink_link_change): Check for pseudo interface.
+
+	* zserv.c (ip_route): When destination is pseudo interface, call
+	rib_add_ipv4_pseudo().
+
+	* zserv.c (no_ip_route): Trim "unknown" argument.
+
+2000-07-26  kunitake@dti.ad.jp
+
+	* if_ioctl.c (if_get_hwaddr): Fix hardware address length from 8
+	to 6.
+
+	* rtadv.c (rtadv_send_packet): Fix shift bug for hardware address.
+
+2000-07-24  Akihiro Mizutani <mizutani@dml.com>
+
+	* interface.c: Use install_default() for common VTY commands.
+
+2000-07-23  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if_ioctl.c (interface_list_ioctl): A interface list size is
+	calculated from ifreq->if_addr.sa_len.  This is for OpenBSD.
+
+	* ioctl.c (if_get_mtu): Remove codes for SIOCGIFDATA.
+
+2000-07-09  Chris Dunlop <chris@onthe.net.au>
+
+	* if_ioctl.c (if_get_index): Add check for HAVE_BROKEN_ALIASES.
+
+2000-07-04  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zserv.c (zebra_client_read): Add ZEBRA_REDISTRIBUTE_{ADD,DELETE}
+	message handling.
+
+2000-07-02  David Lipovkov <davidl@nbase.co.il>
+
+	* zserv.c: "ip route A.B.C.D/M unknown" command is added.
+
+2000-06-28  Michael Rozhavsky <mike@nbase.co.il>
+
+	* rib.c: Remove old kernel route when new route comes in.
+
+2000-06-13  David Lipovkov <davidl@nbase.co.il>
+
+	* rib.c (rib_if_up): Add check for unknown interface.
+
+2000-06-13 Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.h: Define INTERFACE_UNKNOWN.
+
+2000-06-08  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* Makefile.am (EXTRA_DIST): Move irdp.c until implementation is
+	finished.
+
+2000-06-05  David Lipovkov <davidl@nbase.co.il>
+
+	* interface.c (if_zebra_delete_hook): Call rib_if_delete().
+
+	* redistribute.c (zebra_interface_delete_update): New function.
+
+	* redistribute.h (zebra_interface_delete_update): New function
+	prototype.
+
+	* rib.c (rib_if_delete): New function.  Walk down all routes and
+	delete all on the interface.
+
+	* rib.h: New function prototype.
+
+	* rt_netlink.c (netlink_link_change): Call
+	zebra_interface_delete_update ().
+
+2000-05-10  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if_ioctl.c (interface_info_ioctl): Check interface's flag before
+	checking interface's address.
+
+2000-04-26  Jochen Friedrich <jochen@nwe.de>
+
+	* GNOME-PRODUCT-ZEBRA-MIB: New file.
+
+	* GNOME-SMI: New file.
+
+2000-04-23  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* irdp.c: New file from 1997 development code.
+	* irdp.h: Likewise.
+
+2000-04-19  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rtadv.c (rtadv_send_packet): Enclose router advertisement
+	logging with IS_ZEBRA_DEBUG_PACKET.
+
+2000-04-17  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zserv.c (zebra_client_close): Remove client structure from
+	client_list when connection is terminated.
+
+2000-03-21  David Lipovkov <davidl@nbase.co.il>
+
+	* connected.c (connected_add_ipv4): Allows all necessary structure
+	updates for connected route, but doesn't insert it into rib if
+	it's interface is down.
+
+2000-01-21  Hideto Yamakawa <hideto.yamakawa@soliton.co.jp>
+
+	* rtread_getmsg.c: Set some definition for Solaris 2.5 and Solaris
+	2.5.1.
+
+2000-01-21  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (no_ipv6_route_ifname): Fix buf of cheking return value
+	from str2prefix_ipv6().
+
+2000-01-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_socket.c: Revert to use RTF_HOST for IPv4 with /32 route and
+	IPv6 with /128 routes.
+	(kernel_rtm_ipv4): In case of /32 route's gateway is interface. It
+	should have mask for cloning.
+
+1999-12-26  Jochen.Friedrich@genorz.de
+
+	* interface.c (if_dump_vty): Fix a bug of missing VTY_NEWLINE.
+
+1999-12-23  Alex Zinin <zinin@amt.ru>
+	* interface.*: dynamic int up/down support
+
+1999-12-09  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* ipforward_proc.c (dropline): Move dropline() from lib/dropline.c
+
+	* rtread_proc.c (proc_route_read): Don't use dropline().
+
+1999-12-08  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* kernel_socket.c (rtm_read): When message is RTM_GET, it has own
+	process's pid.
+
+1999-12-04  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* main.c (main): Change to default log output to ZLOG_STDOUT.
+
+	* zserv.c (zebra_serv): More detailed error print.
+
+1999-11-30  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* kernel_socket.c (rtm_read): Check old pid for static route
+	insertion check.
+
+1999-11-30  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* interface.c (if_dump_vty): BSDI/OS uses 64bit for interface
+	statistics counter.
+
+	* mtu_kvm.c: New file added.
+
+1999-11-27  Vladimir B. Grebenschikov <vova@express.ru>
+
+	* kernel_socket.c (rtm_write): Set RTF_CLONING flag for
+	route to the directly connected interface.
+
+1999-11-27  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_socket.c: Delete USE_HOST_BIT definition.
+
+1999-11-21  Michael Handler <handler@sub-rosa.com>
+
+	* rtread_getmsg.c: Undef some definition to resolve conflict.
+
+1999-11-27  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* kernel_socket.c (rtm_write): Change to use pre stored struct_dl
+	value for gateway specification.
+
+1999-11-25  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_socket.c (kernel_rtm_ipv4): Even mask is 32 under IPv4 or
+	128 under IPv6, don't use RTF_HOST.
+
+1999-11-21  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* Makefile.am (EXTRA_DIST): Add rtread_getmsg.c.
+
+1999-11-21  Michael Handler <handler@sub-rosa.com>
+
+	* rtread_getmsg.c: Added for Solaris 2.6 support.
+
+1999-11-18  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rtread_sysctl.c (rtm_read_route): RTM_DELETE handling added.
+
+	* rt_socket.c (kernel_read): Better BSD routing socket support.
+
+1999-10-19  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* client_main.c: Disable making obsolete zebra test `client'
+	command.
+
+1999-10-18  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra.c: Renamed to zserv.c.
+
+	* zebra.h: Global definitions are moved to lib/zebra.h.  Then
+	renamed to zserv.h.
+
+1999-10-15  Jordan Mendelson <jordy@wserv.com>
+
+	* if_ioctl.c: Add Linux 2.2.X's alias support and dynamic
+	interface.  Remove ugly MAX_INTERFACE handling codes.
+
+1999-09-17  Satosi KOBAYASI <kobayasi@north.ad.jp>
+
+	* Fix serious bug of IPv6 route deletion.
+
+1999-09-11  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* ioctl.c (if_set_prefix): Properly set broadcast address.
+
+1999-09-04  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>
+
+	* rib.c (rib_add_ipv6, rib_delete_ipv6): now protocol daemons
+	can install connected route to kernel via zebra
+
+1999-08-24  VOP <vop@unity.net>
+
+	* rib.c: Include "sockunion.h"
+
+1999-08-22  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* ipforward.h: New file.
+
+	* zebra.h: Obsolete message ZEBRA_GET_ALL_INTERFACE,
+	ZEBRA_GET_ONE_INTERFACE, ZEBRA_GET_HOSTINFO are deleted.
+
+1999-08-18  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra.h (ZEBRA_INTERFACE_ADDRESS_ADD):
+	ZEBRA_INTERFACE_{ADD,DELETE} added.
+
+1999-08-15  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c: show ip route A.B.C.D works.
+
+	* zebra.c (zebra_read_ipv4): Add ifindex to zebra messages.
+
+1999-08-12  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra.h: New Zebra message ZEBRA_INTERFACE_{ADD,DELETE} added.
+
+1999-08-09  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* interface.h: New file.
+	* Makefile.am: Add interface.h
+
+1999-08-04  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>
+
+	* redistribute.c (zebra_redistribute): give ifindex to client.
+
+1999-08-02  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* main.c (longopts): -k, --keep_kernel option added.
+
+1999-07-18  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>
+
+	* rt_socket.c (rtm_write): forgot closing socket bug fixed.
+
+1999-07-17  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>
+
+	* rib.c (show_ipv6_cmd): if rib is link show interface name.
+
+1999-07-17  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>
+
+	* rt_socket.c (rtm_write): use sockaddr_dl when null gateway.
+
+1999-07-16  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>
+
+	* rt_socket.c (rtm_write): ipv6 route table bug fixed.
+
+1999-07-15  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>
+
+	* zebra.c (zebra_read_ipv6): read link prefix from ospf6 support
+
+1999-07-15  Yasuhiro Ohara  <yasu@sfc.wide.ad.jp>
+
+	* rt_socket.c (kernel_rtm_ipv6): gate treatment bug fixed.
+
+1999-07-15  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if_sysctl.c (ifm_read): Clear sockunion argument before fetching
+	data.  Suggested by "Chris P. Ross" <cross@eng.us.uu.net>
+
+1999-07-08  HEO SeonMeyong <seirios@Matrix.IRI.Co.Jp>
+
+	* interface.c (if_tun_add): Add KAME's gif tunnel setting codes.
+
+1999-06-26  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra.c (zebra_serv): Only accept loopback address connection.
+
+1999-06-25  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra.h (ZEBRA_ROUTE_EXTERNAL): Add zebra messages flags
+
+1999-06-17  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* ipforward_proc.c: ipforward_on () and ipforward_off () added.
+
+1999-06-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* ipforward_proc.c (ipforward_ipv6): Check for IPv6 forwarding
+	using /proc file system is added.
+
+1999-06-06  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if_ioctl.c (if_get_index): Interface index set bug is fixed by
+	adding #else at the middle of function.  Suggested by David Luyer
+	<luyer@ucs.uwa.edu.au>.
+
+1999-05-29    <kunihiro@zebra.org>
+
+	* rt_ioctl.c: Comment out #include <linux/ipv6_route.h>.
+
+1999-05-26  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra.h (ZEBRA_ROUTE_MAX): Add new define for the max value of
+	the sort of routes.
+
+1999-05-25  Patrick Koppen <koppen@rhrk.uni-kl.de>
+
+	* rt_netlink.c (netlink_socket): Make netlink socket non-blocking.
+	(netlink_parse_info): If errno is EWOULDBLOCK then continue to
+	parse the message.
+	(netlink_talk): Likewise
+	
+1999-05-17    <kunihiro@zebra.org>
+
+	* redistribute.c (zebra_check_addr): Added for loopback address
+	check.
+
+1999-05-15  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_netlink.c (netlink_route_change): Tempolary bypass ipv6 route
+	change treatment.
+
+	* Makefile.am (noinst_HEADERS): redistribute.h added.
+
+	* redistribute.h: New file.
+
+1999-05-14  Stephen R. van den Berg <srb@cuci.nl>
+
+	* zebra.c (show_table): Show all table configuration DEFUN.
+	(config_table): Config table number DEFUN.
+
+	* rt_netlink.c: Add support for multiple routing table.
+
+	* rib.c (rib_weed_table): New function added for delete all
+	routes from specified routing table.
+
+	* main.c (signal_init): SIGTERM call sigint.
+	(sigint): Loggging more better message.
+
+1999-05-09  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_netlink.c: Change log () to zlog ().
+
+1999-05-07    <kunihiro@zebra.org>
+
+	* zebra.h (ZEBRA_ROUTE_OSPF6): Added for ospf6d route.
+
+1999-04-20  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* interface.c: Add `no ip address' command.
+
+1999-04-10  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_netlink.c (kernel_read): Function added for asynchronous
+	zebra between kernel communication.
+
+1999-03-25  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rtread_sysctl.c (rtm_read): Fix address memcopy overrun bug.
+	Reported by Achim Patzner <ap@bnc.net>.
+
+1999-03-03  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* Makefile.am: Install configuration sample with 600 permission.
+
+1999-03-02  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* Makefile.am: Add -I.. to INCLUDES.
+
+1999-02-18  Peter Galbavy  <Peter.Galbavy@knowledge.com>
+
+	* syslog support added
+
+1999-02-17 Peter Galbavy <Peter.Galbavy@knowledge.com>
+
+	* if_sysctl.c (interface_list): allocated memory free when unknown
+	ifm_type is returned.
+
+	* ioctl.c (if_get_mtu): added SIOCGIFDATA treatment.
+	
+1998-12-15  Magnus Ahltorp <map@stacken.kth.se>
+
+	* interface.c: Header include added.
+
+1998-12-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt.h (kernel_delete_ipv6): change int index to unsigned int index.
+
+1998-12-13  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if_ioctl.c (interface_list_ioctl): interface flag must be
+	checked before check addresses of the interface.
+
+1998-12-07  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6.
+
+1998-10-14  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* ioctl.c: Linux version before 2.1.0 need interface route setup.
+
+1998-09-15  HEO SeonMeyong  <seirios@matrix.iri.co.jp>
+
+	* change HYDRANGEA to KAME
+
+1998-09-01  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if_ioctl.c (if_addr_ioctl): set address family for getting
+	interface's address.
+	(if_get_index): silently return when can't get interface's index.
+
+1998-08-17  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* main.c (main): batch mode option '-b' added.
+
+1998-08-16  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* ioctl.c (if_set_prefix): add `ip address IPV4ADDR' command.
+	* interface.c (shutdown_if): add interface shutdown and no
+	shutdown command.
+
+1998-08-12  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rib.c (rib_add_ipv6): delete rib_add_in6.
+
+1998-07-27  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* main.c: retain flag is added.
+
+1998-07-08  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rtable.[ch]: merged with rib.[ch]
+
+1998-07-07  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* connected.h: renamed from ifa.h.
+
+1998-06-09  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rename if.c to interface.c
+	* rename ifa.c to connected.c
+
+	* Porting to Debian GNU/Linux 2.0 (hamm).
+
+1998-06-08  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_netlink.c: renamed from krt_netlink.c
+	
+	* fib.c: deleted.
+	* rt_kvm.c: deleted.
+	* rtread_getmsg.c: deleted.
+
+1998-06-07  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if.c (multicast): add multicast flag [un]set fucntion.
+
+1998-05-19  Yamshita TAKAO  <jargon@lares.dti.ne.jp>
+
+	* rt_socket.c: Modify for compile on Solaris, but dont't work it.
+	  rt_socket.c have some undefined function, so add directive "IMPLEMENT"
+
+1998-05-18  Yamshita TAKAO  <jargon@lares.dti.ne.jp>
+
+	* zebra.c: Modify for compile on Solaris.
+
+1998-05-03  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* main.c: change CONFDIR to SYSCONFDIR.
+
+1998-05-01  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* .cvsignore: added.
+
+1998-04-02  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* client.c: moves to ../lib.
+
+1998-03-30  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if_ioctl.c (if_get_addr): Change address copy from memcopy() to
+	structure assignment.
+
+1998-03-30  URA Hiroshi <ura@yamato.ibm.co.jp>
+
+	* if_sysctl.c (ifm_interface_add): sdl->sdl_data copy bug fixed.
+
+1998-02-23  "Hannes R. Boehm" <hannes@boehm.org>
+
+	* if.c (if_init): add config_exit_cmd and config_help_cmd.
+
+1998-01-24  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_ioctl.c (route_ioctl): EPERM treatment added.
+
+1998-01-05  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_socket.c (kernel_read): communication port zebra between
+	kernel is now handled by kernel_read.
+
+1998-01-02  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* main.c (main): zebra [-P port] can specify vty port number.
+
+1997-12-25  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra.c: change select will be block.
+
+1997-12-04  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* add static route treatment.
+
+1997-11-25  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_netlink.c: add netlink support over GNU/Linux system.
+
+1997-11-23  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* all inet_addr is changed to inet_aton.
+
+	* zebra.c (ip_route): add ip route command for static routes.
+
+1997-11-20  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if.c (if_flag_dump): Linux port of if_flag_dump and _vty.
+
+1997-11-19  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if.c: add interface command.
+
+1997-11-18  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* ipforward_proc.c : Now works on Linux.
+
+1997-10-25  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* command.c : add completion feature.
+
+1997-10-18  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vty.c (vty_command): add vty interface.
+
+1997-10-13  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* zebra.c: add verbose mode.
+
+1997-10-12 SonMyong Ho <s-ho@Matrix.IRI.Co.Jp>
+
+	* Hydrangea for FreeBSD supported
+	* in.h: add some prototype.
+
+1997-10-11  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_socket.c and rtread.c completely rewritten.
+
+1997-10-05  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* rt_socket.c: rename kernel_sock to routing_socket
+
+1997-10-04  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* if.c (if_new): interface structure change from linklist to vector.
+
+1997-10-03  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* vector.c (vector_init): create vector related function
+
+1997-09-25  Kunihiro Ishiguro  <kunihiro@zebra.org>
+
+	* Makefile.in: add tags target
+
+	* start IPv6 support for INRIA FreeBSD.
+