2004-04-06  Krzysztof Oledzki <oleq@ans.pl>

	* rt_netlink.c: Do not ignore metric when reading kernel routing
	  table on Linux with rt_netlink interface.

2004-03-18  Hasso Tepper <hasso@estpak.ee>

	* interface.c: Temporary fix for handling secondary addresses
	  with label.

2004-02-12  Hasso Tepper  <hasso@estpak.ee>

	* zserv.c: Added "ipv6 forwarding" command.

2004-01-08  Greg Troxel  <gdt@fnord.ir.bbn.com>

	* kernel_socket.c (kernel_read): Use sockaddr_storage in buffer
	for reading kernel messages to ensure enough space (necessary on
	Solaris due to sockaddr_dl being large).  Thanks to Sowmini
	Varadhan for help with this change.

2004-01-06  Greg Troxel  <gdt@t1.ir.bbn.com>

	* rtadv.c (rtadv_send_packet): Change perror to zlog_err.

2004-01-05  Greg Troxel  <gdt@fnord.ir.bbn.com>
	* kernel_socket.c (ifm_read): Major cleanup.  Use Sowmini's code
	to find the sockaddr_dl in all cases, narrowing the Solaris ifdef
	to just the accomodation of broken kernels.  Check sockaddr_dl
	carefully up front, and later assume any non-NULL sdl pointer is
	valid.  Clean up types and variable declarations, and rename
	WRAPUP to SAROUNDUP to make the name fit the behavior.

2004-01-05  Greg Troxel  <gdt@fnord.ir.bbn.com>

	* kernel_socket.c (kernel_read): Add a sockaddr_dl to the ifmsg
	structure, because on Solaris sockaddr_dl is far larger than the
	base sockaddr structure.  (The code had previously been failing to
	read all the data.)
	
2004-01-05  Greg Troxel  <gdt@ahi.ir.bbn.com>

	* kernel_socket.c (kernel_read): Look up interfaces by index
	first, so that state changes which do not include a sockaddr_dl
	now work.  Add many sanity checks.  In
	particular, do not assume that a sockaddr_dl follows a message
	without checking the ifm_addrs flags, and do not trust the length
	in a sockaddr_dl.  Add/clarify many comments.

2003-12-03  Greg Troxel  <gdt@poblano.ir.bbn.com>

	* rtadv.c: reorder includes to avoid compiler warning (define
	structs before using them in prototypes)

2003-05-25 Jim Crumpler <Jim.Crumpler@edion.com>

  * zserv.c: Add "ip forwarding" command.

2003-05-16 Gilad Arnold <gilad.arnold@terayon.com>

	* zebra_rib.c: Fix memory leaks for ifname nexthops

2003-04-19 Israel Keys <ikeys@agile.tv>

	* rt_netlink.c: BLOCK on netlink while initialising

2003-02-06  Francois Deppierraz <francois@ctrlaltdel.ch>

	* rt_netlink.c (netlink_route_multipath): Set RTM_F_EQUALIZE when
	it exists.

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.

