2000-08-17  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* zebra-0.88 is released.

	* bgp_dump.c (dump_bgp_routes): Change "dump bgp routes" to "dump
	bgp route-mrt" to support MRT specific dump format.

	* bgpd.c (bgp_init): "clear ip bgp vpnv4 soft {in,out}" command is
	added.

	* bgp_route.c (bgp_update): Currently nexthop check is only works
	for IPv4.

2000-08-17  Akihiro Mizutani <mizutani@dml.com>

	* bgpd. (clear_ip_bgp_all_soft): Add "clear ip bgp * soft" for
	both inbound and outbound soft reconfiguration.

2000-08-17  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (clear_ip_bgp_peer_soft_out): Add soft-reconfiguration
	outbound.
	(peer_new): Set route-refresh flag.

2000-08-16  Akihiro Mizutani <mizutani@dml.com>

	* bgpd.c: "no bgp router-id A.B.C.D" alias is added.  "no bgp
	cluster-id A.B.C.D" alias is added.  " bgp cluster-id
	<1-4294967295>" alias is added.  "clear ip bgp * soft in" command
	is added.  "clear ip bgp A.B.C.D in" alias is added.  "clear ip
	bgp * in" alias is added.

2000-08-16  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c (bgp_update): Add soft_reconfig flag.  When the flag
	is set do not install the route into Adj-RIBs-In.
	(bgp_update): Perform implicit withdraw before filtering of the
	route.

	* bgp_packet.c (bgp_read): draft-ietf-idr-bgp-route-refresh-01.txt
	capability code and BGP message can be accepted.

	* bgp_open.c (bgp_capability_parse): Likewise.

	* bgp_route.c (bgp_refresh_table): New function for route refresh.
	(bgp_refresh_rib): Likewise.

	* bgpd.c (bgp_show_peer): Display route refresh status.

	* bgp_route.c (bgp_aggregate_add): Add check for the route
	validness.
	(bgp_aggregate_delete): Likewise.

2000-08-15  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_nexthop.c (bgp_scan): Care for aggregate route when the
	route become inaccessible.

2000-08-15  Akihiro Mizutani <mizutani@dml.com>

	* bgp_route.c (show_ip_bgp_prefix): "show ip bgp A.B.C.D/M"
	command is added.

2000-08-15  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_zebra.c (bgp_interface_up): Register connected route.
	(bgp_interface_down): Unregister connected route.

2000-08-14  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.h (struct bgp_info): Add distance to the structure.

	* bgp_route.c (bgp_aggregate_increment): Aggregate route only
	match to smaller prefixlen route not match same prefixlen route.
	(bgp_aggregate_decrement): Likewise.
	(bgp_aggregate_add): Likewise.
	(bgp_aggregate_delete): Likewise.
	(bgp_network_backdoor): Add backdoor network configuration.

	* bgpd.h (struct bgp ): Add distance_{ebgp,ibgp,local} for store
	configuration distance value.

	* bgp_route.c (bgp_update): Filter EBGP route which has non
	connected nexthop.

	* bgp_attr.c (bgp_attr_aggregate_intern): New function for
	aggregate route.  Set origin to IGP.  Set atomic aggregate flag.
	Set aggregator AS and address.
	(bgp_attr_aggregate_intern): Check BGP_CONFIG_CONFEDERATION when
	filling aggregator_as.

	* bgp_route.c (bgp_process): Delete suppress check for install
	suppressed route into local routing table.
	(bgp_aggregate_increment): Use bgp_attr_aggregate_intern() instead
	of bgp_attr_default_intern ().
	(bgp_aggregate_add): Likewise.

	* bgpd.c (bgp_get): Call bgp_if_update_all() after BGP instance is
	created.  This is for avoid 0.0.0.0 router-id.

2000-08-13  Akihiro Mizutani <mizutani@dml.com>

	* bgp_route.c (route_vty_out_detail): Display "valid" when the
	route is valied.  Display "aggregated" when the route is
	aggregated.  "Advertisements suppressed by an aggregate" is
	displayed when the route is suppressed.
	(bgp_info_cmp): Prefer EBGP than Confed-EBGP.

2000-08-10  Akihiro Mizutani <mizutani@dml.com>

	* bgp_route.c (route_vty_out_detail): Display format change.

2000-08-06  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c (bgp_update): Only AFI_IP nexthop check is enabled.

	* bgpd.c (bgp_delete): Delete static route before delete peer
	configuration.

2000-08-02  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c: Include bgpd/bgp_nexthop.h.

2000-07-31  Akihiro Mizutani <mizutani@dml.com>

	* bgpd.c (bgp_show_summary): "show ip bgp summary" shows own BGP
	identifier.  And status is changed like below.

	State/Pref   -> State/PfxRcd
	Shutdown     -> Idle (Admin)
	PrefixOvflw  -> Idle (PfxCt)

	* bgp_route.c (route_vty_out): Show internal route as "i".

2000-07-13  Jim Bowen <jimb@zereau.net>

	* bgp_snmp.c: Add BGP peer MIB implementation.

2000-07-12  Akihiro Mizutani <mizutani@dml.com>

	* bgpd.c (bgp_show_peer): Fix typo.

2000-07-11  Akihiro Mizutani <mizutani@dml.com>

	* bgp_routemap.c: Add commands for deleting set without argument.

2000-07-03  Akihiro Mizutani <mizutani@dml.com>

	* bgp_zebra.c: Fix redistribute help strings.

2000-07-01  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c (bgp_show): When bgpd works as vtysh server send all
	output to vty at once.

2000-06-13  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_mplsvpn.c (no_vpnv4_network): "no network A.B.C.D/M rd WORD
	tag WORD" command is added.

	* bgp_ecommunity.c (ecommunity_vty_out): New function added.

2000-06-12  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c (bgp_show): Fix total number of prefix count bug.

	* bgpd.c (bgp_show_peer): Display VPNv4 unicast configuration and
	negotiation result in "show ip bgp neighbors".

2000-06-12  Akihiro Mizutani <mizutani@dml.com>

	* bgpd.c: Fix help strings.
	
	* bgpd.h: Likewise.
	
2000-06-11  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c (bgp_aggregate_unset): Fix bug of checking rn->info
	instead of rn.  Reported by Akihiro Mizutani <mizutani@dml.com>.

	* bgp_mplsvpn.c (vpnv4_network): For testing purpose, "network
	A.B.C.D rd RD" is added to address-family vpnv4 unicast node.

	* bgp_route.c (bgp_static_set): Set safi to p.safi.

2000-06-10  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c (bgp_show_prefix_list): Change to use bgp_show().
	(bgp_show_regexp): Change to use bgp_show().
	(show_adj_route): Change to display header.

	* bgpd.c (clear_bgp): Set peer->v_start to default value when peer
	is cleared manually.

	* bgp_route.c (bgp_show_route): New function which display
	specific BGP route.  Divided from bgp_show().
	(bgp_static_delete): Delete all static route.

2000-06-09  NOGUCHI Kay <kay@v6.access.co.jp>

	* bgp_route.c (show_ipv6_bgp): "show ipv6 bgp" is broken with
	invalid privious fix.  Now show_ipv6_bgp and show_ipv6_bgp_route
	take care of "show ipv6 bgp [X:X::X:X]".  Same change for "show ip
	mbgp" and "show ipv6 mbgp".

2000-06-07  Akihiro Mizutani <mizutani@dml.com>

	* bgp_route.c: Fix help strings and command arguments.

2000-06-06  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_ecommunity.c: Include prefix.h

2000-06-05  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.h (struct bgp_info_tag): New structure to hold tag
	value.

	* bgp_route.c (bgp_adj_set): table NULL check is added.
	(bgp_adj_unset): Likewise.
	(bgp_adj_lookup): Likewise.
	(bgp_adj_clear): Likewise.
	(route_vty_out): Add SAFI check for nexthop display.
	(bgp_withdraw): Add SAFI check for withdraw route.

	* Remove all #ifdef MPLS_VPN then include it as default.

	* bgpd.c: Temporary disable peer-group command until the
	implementation is completed.

	* bgp_routemap.c (bgp_route_map_init): Install
	route_metric_match_cmd.
	(route_match_metric_compile): MED value compile using strtoul.

2000-06-05  Akihiro Mizutani <mizutani@dml.com>

	* bgp_filter.c: Fix help strings.  Change REGEXP to LINE.  Change
	NAME to WORD.

	* Change command argument to more comprehensive.

	METRIC         -> <0-4294967295>
	WEIGHT         -> <0-4294967295>
	LOCAL_PREF     -> <0-4294967295>
	IP_ADDR        -> A.B.C.D
	AS             -> <1-65535>
	AS-PATH-NAME   -> WORD
	ACCESS_LIST    -> WORD
	PREFIX_LIST    -> WORD
	COMMUNITY      -> AA:NN
	EXT_COMMUNITY  -> ASN:nn_or_IP-address:nn
	IPv6_ADDR      -> X:X::X:X

	* bgp_clist.c: Fix help strings.

2000-06-03  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (peer_active): Add new function for check the peer is
	active or not.
	(neighbor_activate): New command "neighbor PEER activate" and "no
	neighbor PEER activate" are added.

	* bgp_packet.c: Include bgpd/bgp_mplsvpn.h.

2000-06-02  Akihiro Mizutani <mizutani@dml.com>

	* bgp_clist.c: Fix commuity-list help strings.

	* bgp_routemap.c: Fix "set community" help strings.  Add #define
	SET_STR.  Use (unicast|multicast) argument for "set nlri" command.
	
2000-06-01  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_routemap.c (route_set_community_none_cmd): "set community
	none" command is added to route-map.

2000-06-01  Akihiro Mizutani <mizutani@dml.com>

	* bgp_debug.c: Change "show debug" to "show debugging".  Now "show
	debugging" is not used in VIEW_NODE.

2000-05-30  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_fsm.c (bgp_timer_set): Add check for shutdown flag.  This
	fix unconditional BGP connection.

	* bgpd.c (peer_shutdown): Replace peer_shutdown() with
	peer_change_flag_with_reset().

2000-05-26  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (no_bgp_default_ipv4_unicast): Add "no bgp default
	ipv4-unicast" command.

	* bgpd.h (BGP_CONFIG_NO_DEFAULT_IPV4): Add new definition.

	* bgp_filter.c (as_list_delete): Free all AS filter.

	* bgp_clist.c (community_list_delete): Free all community entry.

	* bgp_filter.c (no_ip_as_path_all): New DEFUN for "no ip as-path
	access-list NAME".

	* bgp_clist.c (no_ip_community_list_all): New DEFUN for "no ip
	community-list NAME".

2000-05-19  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c (ipv6_mbgp_neighbor_routes): Change "show ip bgp PEER
	routes" to "show ip bgp PEER received-routes"

2000-05-14  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_ecommunity.c (ecommunity_parse): New file for Extended
	Communities attribute.
	* bgp_ecommunity.h: Likewise.

2000-05-11  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_mplsvpn.h: New file for MPLS-VPN.
	* bgp_mplsvpn.c: Likewise.

	* bgpd.c (bgp_delete): Fix bug of "no router bgp" crush.

2000-05-10  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (bgp_bestpath_missing_as_worst): Add "bgp bestpath
	missing-as-worst".

2000-05-08  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_routemap.c (match_community): Clarify help of "match
	community".

2000-05-02  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_aspath.c (aspath_cmp_left): Remove debug code.

2000-04-27  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c (bgp_info_cmp): Compare MED only both routes comes
	from same neighboring AS.

	* bgp_aspath.c (aspath_cmp_left): Compare leftmost AS value.

	* bgp_route.c (bgp_info_cmp): Fix misused htonl() to ntohl().

2000-04-26  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c (bgp_output_filter): When distribute-list's
	corresponding access-list does not exist, filter all routes.
	(bgp_input_filter): Likewise.

2000-04-19  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_attr.c (bgp_packet_attribute): Propagate MED to IBGP peer.

	* bgp_route.c (bgp_info_cmp): Add evaluation of local preference.

2000-04-18  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (bgp_distribute_update): Add struct access_list *
	argument.

2000-04-17  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_clist.c (community_list_dup_check): Add duplicate insertion
	check.

	* bgp_filter.c (as_list_dup_check): Add duplicate insertion check.

	* bgp_route.c (bgp_show): Fix undeclared write variable.

2000-04-13  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_routemap.c: Add "match ip address prefix-list".

2000-03-29  Rick Payne <rickp@rossfell.co.uk>

	* bgp_aspath.c (aspath_strip_confed): Fix realloc problem.

2000-03-16  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_fsm.c (bgp_reconnect): Connect retry timer is expired when
	the peer status is Connect.

2000-03-03  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Fix bug of rewritten originator-id.

2000-01-27  Rick Payne <rickp@rossfell.co.uk>

	* bgp_aspath.c (aspath_delimiter_char): New function.  Instead of
	directly referencing array, search proper AS path delimiter.
	(aspath_strip_confed): Strip the confederation stuff from the
	front of an AS path.
	(aspath_add_left_confed): New function for adding specified AS to
	the leftmost AS_CONFED_SEQUENCE.

	* bgp_aspath.h: Change AS_CONFED_SEQUENCE and AS_CONFED_SET value
	to Cisco compatible.

	* bgpd.c (bgp_confederation_id_set): Confederation configuration.
	(bgp_confederation_id_unset): Likewise.
	(bgp_confederation_peers_check): Likewise.
	(bgp_confederation_peers_add): Likewise.
	(bgp_confederation_peers_remove): Likewise.
	(bgp_confederation_peers_set): Likewise.
	(bgp_confederation_peers_unset): Likewise.
	(bgp_confederation_peers_print): Likewise.
	
2000-01-16  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c: Introduce peer_change_flag_with_reset() fucntion.

2000-01-17  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_open.c (bgp_open_option_parse): When there is no common
	capability send Unsupported Capability error to the peer.

2000-01-14  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_open.c (bgp_capability_mp): Fix bug of mis-negotiation about
	IPv6 unicast.

	* bgpd.c (bgp_init): Add "soft-reconfiguration inbound" command.
	
2000-01-12  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (neighbor_strict_capability): Add
	"strict-capability-match" command.

	* bgp_zebra.c (bgp_if_update): Ignore NET127 determining
	router-id.

	* bgpd.c (peer_override_capability): Add "override-capability"
	command.

1999-12-16  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_packet.c (bgp_write): Change status to Idle and set timer
	after write failed.

1999-12-14  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_zebra.c (bgp_zebra_announce): Add info->selected check.

1999-12-12  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c (nlri_unfeasible): nlri_unfeasible() is merged with
	nlri_parse().

1999-12-10  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_fsm.h (BGP_EVENT_DELETE): Macro added.

	* bgp_fsm.c (bgp_stop): Clear all event threads of the peer when
	the peer is cleared.

	* bgp_zebra.c (bgp_nexthop_set): Clear interface index of
	link-local address.  This is KAME specific problem.

1999-12-06  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_attr.c (bgp_mp_reach_parse): Comment out previous code for a
	while.  We don't completely detect the link is shared or not at
	this moment.

	* bgp_packet.c (bgp_notify_send): Make shortcut call of
	bgp_write() and bgp_stop().

	* bgp_attr.c (bgp_mp_reach_parse): Fix serious bug when getting
	global and link-local address.

1999-12-05  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (no_neighbor_port): New command added.
	(peer_new): Set send_community.

1999-12-04  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (show_ip_bgp_summary): Changed to use bgp_show_summary().
	(show_ip_mbgp_summary): Likewise.
	(show_ipv6_bgp_summary): Likewise.
	(show_ipv6_mbgp_summary): Add new command.
	(peer_free): Free peer->host.
	(peer_lookup_by_su): Delete function.
	(ipv6_bgp_neighbor): Changed to use peer_remote_as().
	(sockunion_vty_out): Function deleted.
	(vty_clear_bgp): Use afi instead of family.
	Delete old list bgp_list.  Use struct newlist *bgplist.
	(peer_lookup_by_host): Function deleted.

1999-12-03  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.h (struct peer_group): New structure added.
	(struct peer_conf): New structure added.
	(struct	peer): Change all prefix_count to unsigned long.
	
	* bgpd.c: Reconstruct all of VTY commands reflect internal
	structure change.
	Use bgplist instead of bgp_list.
	Use peerlist intstead of peer_list.

	* bgp_attr.c (bgp_mp_reach_parse): If nlri_parse return -1, stop
	parsing then return immediately.

	* bgp_route.c (nlri_parse): When NLRI parse error occured, return
	-1.
	(nlri_process): Use pcount_v4_{unicast,multicast}.
	(nlri_delete): Likewise.

1999-11-25  Robert Olsson <Robert.Olsson@data.slu.se>

	* bgp_routemap.c (route_match_nlri): `match nlri
	unicast|multicast' and `set nlri unicast|multicast' command are
	added.

1999-11-22  Robert Olsson <Robert.Olsson@data.slu.se>

	* bgpd.c: Add translate-update support.

	* bgpd.h (TRANSLATE_UPDATE_OFF): Add translate-update definition.

1999-11-19  Robert.Olsson@data.slu.se

	* bgp_route.c (bgp_peer_delete): Add MBGP peer clear codes.

1999-11-14  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_open.c (bgp_capability_mp): Temporary comment out
	SAFI_UNICAST_MULTICAST handling until we know the meanings.

1999-11-13  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_btoa.c: New file added.

1999-11-12  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.h (struct peer): Add dont_capability flag.
	(struct peer): Add override_capability flag.

	* bgpd.c (neighbor_dont_capability_negotiation): `neighbor PEER
	dont-capability-negotiation' added.

1999-11-12  Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>

	* bgp_attr.c (bgp_mp_reach_parse): Ignore link-local addresses
	attribute from non-shared-network peers.

1999-11-10  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_snmp.c: New file added.

	* BGP4-MIB.txt: Updated to the latest Internet-Draft
	draft-ietf-idr-bgp4-mib-04.txt.

1999-11-09  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c (bgp_route_init): Add `show ipv6 bgp prefix-list'.

	* bgp_attr.c (bgp_mp_unreach_parse): Enclose safi setup with
	#ifdef HAVE_MBGPV4.

1999-11-08  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_dump.c (no_dump_bgp_all): Add [PATH] and [INTERVAL] to no
	dump bgp commands.
	(config_write_bgp_dump): Write interval value to the
	configuration.

1999-11-07  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_zebra.c: Redistribute route-map support is added.

	* bgp_zebra.h: New file added.

1999-11-04  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_dump.c: BGP packet dump routine compatible with MRT.
	* bgp_dump.h: BGP packet dump routine compatible with MRT.

	* bgp_debug.c: Renamed from bgp_dump.c
	* bgp_debug.h: Renamed from bgp_dump.h

1999-10-27  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* BGP4-MIB.txt: New file added.  Edited version of RFC1657.

1999-10-25  Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>

	* bgp_route.c (bgp_announce): If we're not on a shared network
	with the peer and we don't have a link-local next hop, but the
	inbound next-hop has a link-local address, don't readvertise it to
	our peer.

1999-10-25  Marc Boucher <marc@mbsi.ca>

	* bgp_zebra.c: Add redistribute kernel command.

1999-10-25  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c (bgp_reset): New function added.

	* bgpd.conf.sample2: Add IPv6 configuration sample.

1999-10-24  Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>

	* bgp_route.c (ipv6_aggregate_address): Function added.

1999-10-21  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_packet.c (bgp_update): Unintern aspath, community, cluster
	list after parsing BGP update packet.

	* bgp_attr.c (bgp_attr_aspath): Intern parsed aspath.
	(bgp_attr_community): Intern parsed community.
	(bgp_attr_cluster_list): Intern parsed cluster list.

	* bgp_routemap.c: Add `set community-additive' command.

1999-10-21  Alexandr D. Kanevskiy <kad@blackcatlinux.com>

	* bgp_routemap.c (route_set_local_pref): Fix bug of setting
	attribute flag.

1999-10-21  Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>

	* bgp_route.c (bgp_announce): Add check of IPv6 default route
	announcement.

	* bgp_packet.c (bgp_update_send): Add BGP announcement logging.

1999-10-15  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* `show ip[v6] bgp PREFIX' show uptime of the route.

1999-10-04  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (bgp_filter_set): Delete PEER_FAMILY_{IPV4,IPV6}. instead
	of that use AF_INET and AF_INET6 directly.
	(vty_clear_bgp): Add new function to support various clear ip bgp
	method.

1999-10-04  Lars Fenneberg <lf@elemental.net>

	* bgpd.c (clear_ip_bgp): Add `clear ip bgp ASN'.

1999-10-03  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_routemap.c: Add `match ip prefix-list' and `match ipv6
	prefix-list'.

1999-09-28  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (bgp_collision_detect): Add BGP collision detection
	function.

1999-09-26  Blake Meike <bmeike@adero.com>

	* bgpd.c (neighbor_port): New command `neighbor PEER port PORT' is
	added.

1999-08-24  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (no_neighbor_timers_keepalive): Change MIN to min.  Add
	min() macro.

1999-08-19  Rick Payne <rickp@rossfell.co.uk>

	* bgp_packet.c (bgp_open): BGP holdtimer bug is fixed.  Make BGP
	keepalive timer configurable.

1999-08-15  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_zebra.c (bgp_redistribute_set): Fix redistribute bug.

1999-08-13  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (bgp_peer_display): show ip bgp neighbors PEER only list
	the peer not all of them.

1999-08-11  Rick Payne <rickp@rossfell.co.uk>

	* bgp_route.c (bgp_announce): Remove MED if its an EBGP peer -
	will get overwritten by route-maps.

1999-08-08  Rick Payne <rickp@rossfell.co.uk>

	* bgp_routemap.c: Multi protocol route-map modification.

1999-08-01  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c: Set network statement route's origin attribute as
	igp.

	* bgp_zebra.c: Set redistribute route's origin attribute as
	incomplete.

	* bgp_route.c (bgp_info_cmp): Add attribute existance check,
	origin attribute check, BGP peer type check.

1999-07-30  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c (bgp_peer_delete): Reselect of IPv6 route.

1999-07-29  Rick Payne <rickp@rossfell.co.uk>

	* Changed route-maps to behave in a more cisco-like fashion

1999-07-27  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_fsm.c (bgp_stop): Very serious bug of bgp_stop () is fixed.
	When multiple route to the same destination exist, bgpd try to
	announce the information to stopped peer.  Then add orphan write
	thread is added.  This cause many strange behavior of bgpd.
	Reported by Georg Hitsch <georg@atnet.at>.

1999-07-23  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c: Change peer's A.B.C.D to PEER.

1999-07-22  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c (bgp_announce): Add hack for link-local nexthop.

	* bgp_zebra.c (bgp_zebra_announce): Fill in nexthop address from
	local address.

1999-07-21  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_packet.c (bgp_open): Holdtime fetch bug is fixed.  Reported
	by Yuji SEKIYA <sekiya@sfc.wide.ad.jp>.

1999-07-15  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_fsm.c (fsm_holdtime): Don't close file descriptor in
	fsm_holdtime ().

1999-07-11  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_routemap.c: Add `set atomic-aggregate' command.

1999-07-06  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_routemap.c (route_set_ip_nexthop_cmd): Change "ip nexthop"
	to "ip next-hop".
	
1999-07-02  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c (show_ipv6_bgp_regexp): `show ipv6 bgp regexp'
	added.

1999-07-01  Rick Payne <rickp@rossfell.co.uk>

	* bgp_zebra.c (zebra_init): Install standard commands to
	ZEBRA_NODE.

1999-06-28  Rick Payne <rickp@rossfell.co.uk>

	* bgpd.c (bgp_delete): bgp peer deletion bug is fixed.

1999-06-25  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c: Add neighbor update-source command as ALIAS to
	neighbor_interface.

1999-06-19  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_attr.c (bgp_packet_attribute): Send community attribute when
	send_community flag is set.

	* bgpd.h (struct peer): Add send_community flag.

1999-06-12  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (router_bgp): router bgp's argument changed from AS_NO to
	<1-65535>.

1999-06-08  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.h (struct bgp_info): Add subtype for BGP route type.

1999-06-07  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_community.c (community_merge): Function added.

1999-06-04  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_clist.c: New file.
	* bgp_clist.h: New file.

	* bgp_community.h (COMMUNITY_LOCAL_AS): Added for Cisco
	compatibility.
	(COMMUNITY_NO_ADVERTISE): Fix typo.

1999-05-30  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_routemap.c: Add `set weight WEIGHT' command.

	* bgpd.c: Remove all_digit_check function.  Instead of that use
	all_digit function in lib/prefix.c.

	* bgp_routemap.c (bgp_route_map_init): Install
	no_set_ipv6_nexthop_global_cmd and no_set_ipv6_nexthop_local_cmd
	element to the RMAP_NODE.

1999-05-28  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_aspath.c (aspath_make_str): Declare aspath_delimiter_char
	inside aspath_make_str function.
	(aspath_prepend): New function is added for AS path prepend.
	(aspath_make_str_count): Renamed from aspath_make_str.  AS path
	count is set to the structure.
	(aspath_merge): New function.

1999-05-22  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_zebra.c (redistribute_bgp): Add new DEFUN.
	(no_redistribute_bgp): Likewise.
	(router_zebra): Semantics changed.  Now 'router zebra' is default
	behavior of bgpd.

1999-05-14  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_routemap.c: Add some commands to bgp route-map.
	match ip next-hop: New command.
	match metric: New command.
	set metric: Doc fix.
	set local-preference: Add DEFUN.

1999-05-14  Stephen R. van den Berg <srb@cuci.nl>

	* bgp_main.c (signal_init): SIGTERM call sigint.
	(sigint): Loggging more better message.

1999-05-12  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_attr.c (bgp_packet_attribute): AS path attribute extended
	length bit check is added.

1999-05-11  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_routemap.c (bgp_route_map_init): Call route_map_install_set
	function with route_set_local_pref_cmd argument.
	(no_match_aspath): Function added.
	(route_set_metric): Set attribute flag bit.

	* bgp_attr.c (bgp_packet_attribute): MULTI_EXIT_DISC is now in BGP
	packet.

1999-05-07  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (no_neighbor_timers_holdtime): `no neighbor PEER timers
	holdtime' command is added.

	* bgpd.h (BGP_DEFAULT_HOLDTIME_BIG): Delete define.

	* bgpd.c (bgp_prefix_list_set): New function added.
	(bgp_prefix_list_unset): Likewise.
	(bgp_prefix_list_update): Likewise.
	(show_ip_bgp_neighbors): prefix-list information display.

1999-05-06  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (bgp_delete): Function added for `no router bgp'.

1999-05-05  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_dump.c (bgp_dump_attr): Add originator_id display.

	* bgpd.c (bgp_router_id): Even when address is malformed set the
	value to configuration bug fixed.
	(no_bgp_router_id): New function.
	(no_bgp_cluster_id): New function.

1999-05-04  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.h (BGP_ATTR_ORIGINATOR_ID): Changed from BGP_ATTR_ORIGINATOR.

1999-05-02  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c (bgp_announce): Add route reflector check.

1999-05-01  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (bgp_cluster_id): Add function for route reflector.
	(neighbor_route_reflector_client): Likewise.
	(no_neighbor_route_reflector_client): Likewise.

	* bgpd.h (struct bgp ): Add cluster for route reflector.

	* bgp_route.c (show_ip_bgp_prefix_list): New command is added.

1999-04-24  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Makefile.am (noinst_HEADERS): Add bgp_filter.h

	* bgp_aspath.c (aspath_undup): Function deleted.  aspath_free ()
	has same functionality.

	* bgp_filter.h: New file.

	* bgp_aspath.c (aspath_unintern): Rename aspath_free () to
	aspath_unintern ()
	(aspath_free): New function.

1999-04-23  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_aspath.c (aspath_aggregate): Function added.

	* bgp_aspath.h (aspath_aggregate): Prototype added.

	* bgp_aspath.c (aspath_empty_aspath): New argument
	gated_dont_eat_flag is added.

1999-04-18  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c: Add bgp_aggregate_ipv4 and bgp_aggregate_ipv6.

1999-04-17  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c (aggregate_address): Function added.

	* bgp_zebra.c (zebra_read): Change log to zlog.

1999-04-15  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Makefile.am (noninst_HEADERS): Added for make dist.

1999-04-09  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* aspath_regex.c: Removed from distribution.

1999-04-07  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_attr.c (bgp_packet_attribute): Old draft-00 packet treatment
	bug fixed.

1999-04-06  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_aspath.c (aspath_add_left): Fix empty aspath bug.  Reported
	by kad@gibson.skif.net.

	* bgp_regex.[ch]: New file added.

	
1999-04-05  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_filter.c: New file added.

1999-04-01  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_aspath.c (aspath_empty_aspath): Change for peering with
	gated.

1999-03-24  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_main.c (main): Default loggin method changed from syslog to
	stdout.

1999-03-05  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c: Delete obsolete default attribute DEFUN.

1999-03-04  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_attr.c: Make attribute structure put into attribute hash.

1999-03-02  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_view.c : Delete file.

1999-02-25  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_routemap.c (bgp_apply_route_map): Add prefix argument. 

	* bgp_route.h (struct bgp_info): Add bgp_info structre.  I'll
	replace bgp_route with this.

	* bgp_routemap.c (route_match_ip_address): Fix bug of passing non
	prefix value to access_list_apply(). 

	* bgpd.conf.sample: Add route-map sample.
	Delete obsolete default-attr statements.

	* bgp_packet.c: Use stream_fifo for packet queueing.

1999-02-24  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_aspath.c (aspath_add_left): add non empty aspath treatment.

	* bgp_main.c: include unistd.h for daemon().

	* bgp_route.c (nlri_process): add IPv6 table lookup.

	* bgp_attr.c (route_parse_ipv6): call nlri_process().
	(attr_make): Obsolete function attr_make deleted.

1999-02-22  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_aspath.c (aspath_add_left): change function name from
	aspath_add_leftmost_as().

1999-02-21  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_aspath.c: add aspath_add_leftmost_as ().

1999-02-18  Peter Galbavy  <Peter.Galbavy@knowledge.com>

	* syslog support added

1999-01-26  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c: DEFUN (neighbor_nexthop): deleted.
	DEFUN (neighbor_distribute_list): added.

1999-01-19  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.h (struct peer ): header_buf and read_buf is removed.

	* bgp_peer.[ch]: Deleted.  Peer related functions are merged to
	bgpd.c

	* bgp_network.c: New file.
	* bgp_network.h: New file.

	* bgp_packet.h: New file.
	
1999-01-11  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_packet.c (bgp_keepalive_send): Now BGP keepalive packet is
	buffered.

1999-01-08  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_packet.c: New file.

1998-12-22  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_zebra.c (zebra_client): Use zebra_connect() in lib/client.c. 

	* `show ip bgp' bug fixed.
	* aspath_log (): Remove argument logfp.

1998-12-15  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_fsm.h: New file.

1998-12-15  Magnus Ahltorp <map@stacken.kth.se>

	* bgp_attr.c, bgp_community.h, bgp_dump.c, bgp_fsm.c, bgp_open.c
	bgp_peer.c, bgp_peer.h, bgp_route.c, bgp_route.h, bgp_view.c
	bgpd.c, bgpd.h, bgp_attr.c, bgp_community.h, bgp_dump.c,
	bgp_fsm.c, bgp_open.c, bgp_peer.c, bgp_peer.h: Prototype fixes.

1998-12-09  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (bgp_config_write): Delete vector v argument.

1998-12-07  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.h: Delete annoying ld_[124]byte and st_[124]byte macros.

1998-11-23  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_radix.[ch]: removed.

1998-09-15  HEO SeonMeyong  <seirios@matrix.iri.co.jp>

	* bgp_main.c: ifdef HYDRANGEA -> ifdef KAME

1998-08-13  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_dump.c: delete nroute().

1998-05-19  Yamshita TAKAO  <jargon@lares.dti.ne.jp>

	* bgp_aspath.c: HAVE_CONFIG_H typo :-)
	* bgpd.h: Modify for compile on Solaris.
	* bgp_aspath.h: likewize
	* bgp_community.h: likewize
	* bgp_routemap.c: likewize

1998-05-18  Yamshita TAKAO  <jargon@lares.dti.ne.jp>

	* bgpd.h: Modify for compile on Solaris.
	* bgp_aspath.h: likewize

1998-05-08  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* routemap.[ch]: move to ../lib directory.

1998-05-07  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* routemap.c (route_map_apply): add function.

1998-05-06  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* routemap.h: add file.

	* bgp_peer.h (enum ): change PEER_{IBGP,EBGP} to BGP_PEER_{IBGP,EBGP}

1998-05-03  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Makefile.am: sysconfdir_DATA added.

1998-05-02  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_dump.c: add `debug bgp fsm'
		      add `no debug bgp fsm'
		      add `show debug bgp'
	* bgp_open.c: File added.

1998-05-01  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* .cvsignore: File added.

1998-04-30  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_community.[ch]: File added.

1998-03-04  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd now use lib/thread.[ch].

1998-01-06  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.c (show_ip_bgp_neighbors): add 'show ip bgp neighbors' command.

	* bgpd.h (BGP_DEFAULT_START_TIMER): change from 1 to 30.

1997-12-30  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_vty.c: bgp_vty.c deleted.

	* bgpd.c (config_write_neighbor): add ebgp-multihop command.

1997-12-29  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_fsm.c: [-p bgp_port] and [-P vty_port] works

1997-12-06  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_vty.c: new file.

	* bgp_attr.c: add new logging system.

1997-11-23  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* Change all inet_addr call into inet_aton.

1997-11-10  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_radix.c: change radix_peer_delete

1997-10-04  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_aspath.c: move AS_TOKEN_??? definition from header to c source.

1997-09-12  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_dump.c (bgp_log_route): add dump_attr function

1997-09-06  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_aspath.c (aspath_test): change AS_SET brace from '[' to '{'
	* bgp_dump.c (bgp_log_route): change logfile format.

1997-08-19  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_open.c (bgp_open): move bgp_open function from bgpd.c
	* bgp_attr.c (community_str2com): add community value generation
	* bgp_attr.h: add SAFI definition for BGP-4+

1997-08-18  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgpd.h: add BGP_OPEN_OPT_CAP for Capabilities Optional Parameter
	* Makefile.in: add bgp_open.o, delete bgp_loop.o
	* bgp_open.c: newfile which manages BGP Open message
	* bgp_loop.c: this file is merged with bgp_fsm.c
	* bgp_radix.c (radix_add): radix_add() now return route_t instead
	of int
	(bgp_sim): now we can read update & withdraw from file
	* bgp_route.c: add route_free() call into route_parse etc.

1997-08-17  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_radix.c: Radix code is completely rewritten. It has better
	memory treatment than old one.

1997-08-14  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_route.c: route_alloc for route struct allocation statistics.
	* bgpd.c (bgp_make_update): now we cann announce MED attribute.
	* bgp_aspath.c (aspath_print_all): change aspath_print_all output
	format.

1997-08-13  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_term.c (term_parse): add command : show asstat, show ashash
	* bgp_aspath.c: aspath_cmp bug fix
	(aspath_print_all): add aspath_print_all ();
	* bgp_peer.h: delete rlist element from struct peer.

1997-08-12  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_aspath.c: completely rewritten.
	* bgp_aspath.h: completely rewritten.
	add AsPath, AsSegment structure
	add AS_SET treatment
	change Hash codes

1997-08-09  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_attr.h: add Attribute flags defines
	* bgp_route.c: delete rlist related functions
	* bgp_aspath.c (as_origin): add as_origin function
	(aspath_print): move from bgp_dump.c and add support of AS_SET
	change Hash related function names.

1997-08-08  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_aspath.h: add next entry, delete rlist entry from struct aspath

1997-08-04  Kunihiro Ishiguro  <kunihiro@zebra.org>

	* bgp_aspath.c (as_sort): add function as_sort
	* bgp_aspath.h: add IBGP, EBGP

