2004-01-23 sowmini.varadhan@sun.com * rip_interface.c: obsolete unbind code in rip_interface_multicast_set, and instead do the more portable (though slower) method of creating a socket for each outgoing packet and binding the source address on the new socket. * rip_interface.c, ripd.c, ripd.h: Modify rip_request_send so that source address is determined by the caller of rip_request_send for ripv1 packets and non-multicast interfaces (rip_request_send loops over all connected address in all other cases). * rip_send_packet: don't send packets with source set to ZEBRA_IFA_SECONDARY connected addresses; improved debug messages; 2003-06-07 Andrew J. Schorr * Allow ripd to receive RIPv1 * add default as valid param to passive-interface command 2003-05-25 Vincent Jardin * 6Wind patch merge. 2003-04-19 Hasso Tepper * rip_routemap.c: sync daemon's route-map commands to have same syntax 2002-07-07 Kunihiro Ishiguro * zebra-0.93 released. 2002-06-30 Kunihiro Ishiguro * ripd.c (rip_output_process): When outgoing interface is same as next hop interface, announce RIPv2 next hop otherwise set next hop to 0. Revert previous change then take 6WIND way. 2001-09-14 Akihiro Mizutani * ripd.c: RIP enabled interface's route is advertised by default. 2001-08-28 NOGUCHI Kay * rip_snmp.c (rip_ifaddr_delete): Add route_node_lookup() return value check. * rip_interface.c (rip_multicast_leave): Fix bug of multiple IP address on one interface multicast join/leave bug. 2001-08-26 NOGUCHI Kay * rip_interface.c (no_rip_passive_interface): Add NO_STR. 2001-08-19 Kunihiro Ishiguro * zebra-0.92a released. 2001-08-15 Kunihiro Ishiguro * zebra-0.92 released. 2001-06-17 Kunihiro Ishiguro * rip_routemap.c (route_match_ip_address_prefix_list): Add match ip next-hop prefix-list WORD. 2001-02-18 Kunihiro Ishiguro * rip_interface.c (rip_passive_interface_clean): Call rip_passive_interface_apply_all. 2001-02-12 Kunihiro Ishiguro * ripd.c (rip_response_process): Multicast address nexthop check is moved from rip_nexthop_check. 2001-02-08 Matthew Grant * rip_interface.c (ipv4_multicast_join): Use setsockopt_multicast_ipv4. (ipv4_multicast_leave): Likewise. (rip_if_ipv4_address_check): Interface which has IPv4 address can be enabled. 2001-02-08 Kunihiro Ishiguro * rip_interface.c (rip_interface_delete): To support pseudo interface do not free interface structure. * ripd.c (rip_output_process): If output interface is in simple password authentication mode, we need space for authentication data. 2001-02-01 Kunihiro Ishiguro * ripd.c (rip_nexthop_check): Fix multicast address nexthop check. * zebra-0.91 is released. 2001-01-27 Kunihiro Ishiguro * ripd.c (show_ip_rip): Show metric infinity route's timeout. (rip_rte_process): If current route is metric infinity, route is replaced with received rte. (rip_redistribute_delete): When redistribute route is deleted, perform poisoned reverse. (rip_redistribute_withdraw): Likewise. 2001-01-25 Kunihiro Ishiguro * ripd.c (rip_response_process): RIPv2 routing table entry with non directly reachable nexthop was dropped. The code is changed to treat it as 0.0.0.0 nexthop. (rip_destination_check): Check net 0 address destination. (rip_nexthop_check): New function for checking nexthop address validity. 2001-01-15 Kunihiro Ishiguro * ripd.c (rip_request_process): Triggered update only send changed route. * rip_interface.c: Delete RIP_API part until new implementation comes out. * rip_snmp.: Likewise. * rip_zebra.c: Likewise. * ripd.c: Likewise. 2001-01-11 Kunihiro Ishiguro * rip_interface.c (rip_if_init): Remove HAVE_IF_PSEUDO part. 2001-01-09 Kunihiro Ishiguro * zebra-0.90 is released. 2001-01-01 Kunihiro Ishiguro * ripd.h (RIP_VTYSH_PATH): Change "/tmp/ripd" to "/tmp/.ripd". 2000-12-25 David Lipovkov * ripd.c (rip_rte_process): When a route is in garbage collection process (invalid with metric 16) and a router receives the same route with valid metric then route was not installed into zebra rib, but only into ripd rib. Moreover , it will never get into zebra rib, because ripd wrongly assumes it's already there. (rip_redistribute_add): When doing redistribute into rip other route (e.g. connected) and the same route exists in ripd rib we changed it in place - bug. Now we don't forget to remove old route from zebra. (rip_timeout): When removing routes from zebra I made sure that we remove route with the metric we have in zebra and not the new one. It doesn't make a difference now,but could be significant when multipath support is done. 2000-12-25 David Lipovkov * rip_zebra.c (rip_metric_unset): Fix bug of metric value unset. 2000-11-25 Frank van Maarseveen * ripd.c (rip_request_process): Check passive flag of the interface. 2000-11-23 Frank van Maarseveen * rip_interface.c (rip_multicast_join): When IP_ADD_MEMBERSHIP failed do not set runnning flag to the interface. 2000-11-16 Kunihiro Ishiguro * ripd.c (rip_output_process): Memory leak related classfull network generation is fixed. 2000-11-16 Frank van Maarseveen * rip_interface.c (if_check_address): Obsolete pointopoint address check is removed. 2000-11-02 Frank van Maarseveen * rip_interface.c (if_check_address): Add pointopoint address check. (rip_interface_up): Add check for passive interface when interface goes up. 2000-10-23 Jochen Friedrich * rip_snmp.c: rip_oid and ripd_oid are used in smux_open after it is registered. So those variables must be static. 2000-10-19 Kunihiro Ishiguro * rip_interface.c: Change to "no ip rip (send|receive)" command accept version number argument. 2000-10-17 Akihiro Mizutani * rip_routemap.c (route_set_ip_nexthop_compile): Change "match ip next-hop" from IP address to access-list name. 2000-10-17 Kunihiro Ishiguro * rip_peer.c: Change ot use linklist.c instaed of newlist.c. 2000-10-16 Kunihiro Ishiguro * rip_offset.c: Change to use linklist.c instead of newlist.c. 2000-10-02 Kunihiro Ishiguro * zebra-0.89 is released. 2000-09-26 Akihiro Mizutani * rip_routemap.c (match_ip_nexthop): Add next-hop format check. 2000-09-18 David Lipovkov * rip_interface.c (ripd_api_get_if_rx_version): Corrects rip SNMP and rip API functions dealing with rip version. * rip_snmp.c (Status_Valid): SNMPv2-TC TEXTUAL-CONVENTION. 2000-09-10 Kunihiro Ishiguro * rip_snmp.c (rip2IfLookup): Use rip_ifaddr_lookup_next() instead of rip_if_lookup_next(). * rip_interface.c (rip_enable_network_lookup): Interface enable check by interface's address with /32 prefix. * ripd.c (rip_read): When RIP is configured with authentication and no authentication in incoming packet, drop the packet. * rip_interface.c (rip_interface_reset): RIP_AUTH_SIMPLE_PASSWORD is default mode of authentication. (rip_interface_new): Likewise. (no_ip_rip_authentication_mode): Likewise. * ripd.c (rip_read): Likewise. 2000-09-10 David Lipovkov * rip_snmp.c: Set ASN_INTEGER v->type where it is needed. 2000-09-08 Kunihiro Ishiguro * ripd.c (rip_auth_simple_password): Simple password authentication using key-chain. (rip_write_rte): Likewise. * rip_interface.c (ip_rip_authentication_key_chain): Add check for authentication string configuration. 2000-09-08 Akihiro Mizutani * ripd.c (rip_write_rte): Add check for ri->auth_str. 2000-09-07 Kunihiro Ishiguro * ripd_api.h: New file is added. 2000-08-22 Kunihiro Ishiguro * ripd.c (rip_rte_process): rip_route_process() is renamed to rip_rte_process() to clarify meanings of the function. rip_route_process() is newly added to process RIP route selection. 2000-08-18 Kunihiro Ishiguro * ripd.c (rip_incoming_filter): Extract incoming filter code to function from rip_route_process(). Add check for all interface filter. (rip_outgoing_filter): Extract incoming filter code to function from rip_output_process(). Add check for all interface filter. * rip_zebra.c (rip_redistribute_clean): Reset redistribute status when "no router rip" is performed. * rip_interface.c (rip_interface_clean): Reset interface's RIP enable status. 2000-08-17 Kunihiro Ishiguro * ripd.c (rip_route_process): When metric infinity is received the route is removed from service immediately. (rip_timeout): Likewise. (rip_garbage_collect): Do not delete route in garbage collection. (rip_output_process): Check metric_out exceed metric infinity. * zebra-0.88 is released. 2000-08-15 Kunihiro Ishiguro * ripd.c (rip_distance_apply): Unlock node when there is matched node. 2000-08-13 Akihiro Mizutani * rip_routemap.c (match_ip_nexthop): Add check for IP address validness. (no_set_metric): Add new ALIAS. 2000-08-07 Kunihiro Ishiguro * ripd.h (struct rip ): Add distance. 2000-08-05 Kunihiro Ishiguro * rip_zebra.c (rip_zebra_ipv4_add): Use new Zebra api to register routes. Pass RIP metric value to zebra. 2000-08-02 Kunihiro Ishiguro * rip_main.c (main): Make struct thread thread from global variable to local variable in main. 2000-08-06 Kunihiro Ishiguro * ripd.c (rip_packet_dump): Add MD5 authentication dump function. (rip_auth_md5): RIP MD5 authentication packet receive works. 2000-08-02 David Lipovkov * rip_interface.c (rip_if_init): Install interface "pseudo" commands. (rip_interface_delete): Do not call if_delete() when interface is pseudo interface. 2000-07-31 Kunihiro Ishiguro * rip_interface.c (ip_rip_authentication_mode): "ip rip authentication mode (md5|text)" is added. (ip_rip_authentication_key_chain): "ip rip authentication key-chain KEY-CHAIN" is added. (rip_interface_clean): Clean all interface configuration. (rip_interface_reset): Reset all interface configuration. (rip_clean_network): Clean rip_enable_network. * ripd.h (struct rip_interface): Add key_chain member. * ripd.c: Include md5-gnu.h. 2000-07-30 Kunihiro Ishiguro * ripd.h (RIP_NO_AUTH): Change RIP_NO_AUTH value from 1 to 0. * ripd.c (rip_authentication): Use RIP_AUTH_SIMPLE_PASSWORD instead of raw value 2. (rip_write_rte): Likewise. (rip_write_rte): Check ri->auth_type instead of ri->auth_str. 2000-07-30 David Lipovkov * rip_interface.c (rip_if_down): Do not delete ZEBRA_ROUTE_KERNEL route. 2000-07-27 Kunihiro Ishiguro * ripd.c (rip_update_process): Add "passive-interface" command. * ripd.h (struct rip_interface): Add passive member to struct rip_interface. 2000-07-24 Kunihiro Ishiguro * rip_interface.c (rip_if_init): Multiple RIP routes for one prefix change. The codes are enclosed by #ifdef NEW_RIP_TABLE. 2000-07-24 Akihiro Mizutani * rip_interface.c (rip_if_init): Use install_default() for INTERFACE_NODE. 2000-07-24 Kunihiro Ishiguro * ripd.c: First update timer will be invoked in two seconds. 2000-07-09 Jochen Friedrich * rip_snmp.c: Local function definitions to static. Add INTEGER ASN_INTEGER and TIMETICKS ASN_TIMETICKS definition. (rip2PeerLookup): Peer with domain lookup implemented. (rip2PeerTable): Temporary disable RIP2PEERLASTUPDATE value support due to unknown SNMP agent startup time. 2000-07-05 Kunihiro Ishiguro * ripd.h: Sweep obsolete definitions. * rip_interface.c (rip_split_horizon): Add "ip split-horizon" command. * ripd.c (rip_output_process): Remove split_horizon argument. (rip_update_process): Likewise. * ripd.h (struct rip_interface): Add split_horizon flag to struct rip_interface. 2000-07-04 Akihiro Mizutani * ripd.c (rip_version): Change VERSION to <1-2>. Add "no version" command. 2000-07-03 Kunihiro Ishiguro * rip_zebra.c (rip_redistribute_type_metric): "redistribute TYPE metric <0-16>" command is added. * rip_routemap.c (route_set_metric): Set metric_set when metric is modified. * ripd.h (struct rip_info): To check route-map set metric or not, new member metric_set is added to struct rip_info. * ripd.c (rip_route_process): Move metric handling code from rip_response_process() to rip_route_process(). (rip_output_process): Set output offset-list metric. 2000-07-02 Kunihiro Ishiguro * rip_offset.c (rip_offset_list): New file for offset-list. 2000-07-02 Akihiro Mizutani * ripd.h (struct rip ): Add default_metric. * ripd.c (rip_default_metric): "default-metric <1-16>" command is added. (config_write_rip): Change configuration order. * rip_zebra.c: Fix help strings. 2000-07-02 David Lipovkov * rip_interface.c (rip_if_init): Add IF_DELETE_HOOK. 2000-07-01 Kunihiro Ishiguro * ripd.c (rip_output_process): If specified route-map does not exist, it treated as deny all. 2000-06-30 Kunihiro Ishiguro * rip_routemap.c (rip_route_map_init): Call rip_route_map_update when route-map is deleted. 2000-06-28 Kunihiro Ishiguro * rip_routemap.c (set_metric): For consistency with bgpd's set metric, value range is set to <0-4294967295>. 2000-06-28 David Lipovkov * rip_routemap.c (rip_route_map_update): Add check for rip is enabled or not for avoid core dump. * rip_debug.c (debug_rip_packet_direct): Fix bug of setting rip_debug_packet flag. 2000-06-13 David Lipovkov * rip_interface.c (rip_interface_delete): All work is done in rip_if_down(). 2000-06-06 Kunihiro Ishiguro * ripd.c (rip_redistribute_delete): Fix bug of missing route_unlock_node() when redistribute route is not found. 2000-06-05 Akihirof Mizutani * rip_debug.c (rip_debug_init): Disable show debugging in VIEW_NODE like other protocol daemon. * rip_routemap.c: Change command argument to more comprehensive. METRIC -> <0-16> IFNAME -> WORD IP_ADDR -> A.B.C.D ACCSESS_LIST -> WORD 2000-06-05 David Lipovkov * rip_interface.c (rip_interface_delete): Delete all routes include static and kernel through the interface , because even if the interface is added again there is no guarantee that it will get the same ifindex as before. 2000-05-31 Akihirof Mizutani * rip_debug.c: Fix rip debug help string. 2000-04-27 Mirko Karanovic * rip_interface.c (rip_interface_down): Remove interface from multicast group when interface goes down. 2000-04-03 David Lipovkov * rip_interface.c (rip_interface_down): Implemented rip functions for interface up/down events: rip_interface_up() and rip_interface_down() 2000-03-16 David Lipovkov * rip_zebra.c (rip_zclient_init): Added rip functions for interface up/down events. 2000-02-15 Hidetoshi Shimokawa * ripd.c (rip_write_rte): "set metic" in route-map has no effect for RIPv1 in ripd. It worked fine for RIPv2. 2000-01-17 Kunihiro Ishiguro * ripd.c (show_ip_protocols_rip): Fix bug of "show ip protocls" mis-display RIP version. * ripd.h (struct rip_peer): Add timeout thread to rip_peer structure. 2000-01-16 Kunihiro Ishiguro * rip_peer.c: Add new file for supporting RIP peer. 1999-12-26 David Lipovkov * ripd.c (rip_authentication): RIP authantication string is 16 bytes long. 1999-12-10 Kunihiro Ishiguro * ripd.c (rip_read): Add check for minimum packet length. Authentication check is moved from rip_process_response() to rip_read(). Patch from David Lipovkov is applied then add rte number check by Kunihiro Ishiguro . 1999-12-07 Kunihiro Ishiguro * ripd.c (rip_response_process): In case of packet is RIPv2 and network is non zero and netmask is zero, apply netmask rule as same as RIPv1. 1999-11-06 Kunihiro Ishiguro * ripd.c (rip_timers): Fix bug of timers basic argument format. 1999-11-03 Kunihiro Ishiguro * rip_snmp.c (rip2IfConfAddress): Forgot to include RIP2IFCONFDOMAIN. 1999-10-28 Kunihiro Ishiguro * ripd.h (struct rip_peer): New structure added. 1999-10-26 Kunihiro Ishiguro * rip_zebra.c (rip_zebra_ipv4_add): Increment rip_global_route_changes when route change occur. (rip_zebra_ipv4_delete): Likewise. * ripd.c (rip_request_process): Increment rip_global_queries when reply to the query is sent. 1999-10-25 Kunihiro Ishiguro * rip_debug.c (rip_debug_reset): Reset function added. * ripd.c (rip_update_process): Logging bug is fixed. 1999-10-10 Marc Boucher * ripd.c (config_write_rip): Add config_write_distribute() call. 1999-09-29 Kunihiro Ishiguro * ripd.c (rip_distribute_update): Fix bug of access-list prefix-list updates. 1999-09-10 VOP * rip_zebra.c: Add redistribute route-map feature. 1999-09-10 Kunihiro Ishiguro * ripd.c (rip_response_process): Add check for given prefix is given mask applied one. 1999-09-03 VOP * rip_interface.c (rip_interface_multicast_set): Bug fix about setting multicast interface. 1999-09-02 VOP * rip_routemap.c: New file added. 1999-09-02 Kunihiro Ishiguro * ripd.c (show_ip_protocols_rip): Show next update time. (show_ip_protocols_rip): Show redistribute information. 1999-08-25 Kunihiro Ishiguro * RIPv2-MIB.txt: New file added. * rip_snmp.c: New file added. 1999-08-24 Kunihiro Ishiguro * rip_interface.c (ip_rip_authentication_string): RIPv2 authentication command is added. 1999-08-23 Kunihiro Ishiguro * rip_interface.c (rip_interface_multicast_set): Process of setting IP_MULTICAST_IF on specific interface. * ripd.c (rip_read): Add packet size check. 1999-08-16 Kunihiro Ishiguro * ripd.c (rip_request_process): Fill in RIP_METRIC_INFINITY with network byte order using htonl (). (rip_response_process): Pass host byte order address to IN_CLASSC and IN_CLASSB macro. 1999-08-08 davidm@nbase.co.il (David Mozes) * rip_zebra.c (rip_zebra_read_ipv4): Fix split horizon problem. 1999-07-03 Kunihiro Ishiguro * ripd.c (rip_timer_set): Function added. 1999-07-01 Kunihiro Ishiguro * rip_debug.c: New file added. rip_debug.h: New file added. 1999-07-01 Rick Payne * rip_zebra.c (zebra_init): Install standard commands to ZEBRA_NODE. 1999-06-01 David Luyer * ripd.c (rip_process_route): Add support for RIP version 1. 1999-05-29 Kunihiro Ishiguro * rip_zebra.c: Change to use lib/zclient.[ch]. 1999-05-20 Carlos Alberto Barcenilla * ripd.c (rip_add_route): Change the existance route's metric check to the condition specified by RFC2453. 1999-05-17 Carlos Alberto Barcenilla * ripd.c (rip_process_route): Add the if metric to the route metric. * ripd.c (rip_add_route): Deleted add if metric to the route. 1999-05-16 Carlos Alberto Barcenilla * rip_interface.c (if_valid_neighbor): New function. * ripd.c (rip_process_route): Added check whether the datagram is from a valid neighbor. 1999-05-15 Kunihiro Ishiguro * ripd.c (rip_process_route): Set interface pointer to rinfo. 1999-05-15 Carlos Alberto Barcenilla * ripd.c (rip_check_address): Unicast and not net 0 or 127 check added. 1999-05-14 Stephen R. van den Berg * rip_main.c (signal_init): SIGTERM call sigint. (sigint): Loggging more better message. 1999-05-10 Kunihiro Ishiguro * ripd.c (rip_add_route): Fix previous route_unlock_node() chenge. * rip_main.c (main): Change default zlog output to ZLOG_STDOUT for debugging. 1999-05-09 Patrick Koppen * rip_interface.c (rip_request): Fix old semantics for fetching connected address. * ripd.c (rip_add_route): Update timer when the route is updated. 1999-05-09 Carlos Alberto Barcenilla * rip_zebra.c (struct zebra): Add ridist_static, ridist_connect, redist_rip, redist_ripng. * rip_zebra.c (zebra_create): Updated for current zebra method. * ripd.c (rip_add_route): Add missing route_unlock_node(). 1999-05-03 Kunihiro Ishiguro * ripd.c (rip_add_route): Add metric check. Reported by Carlos Alberto Barcenilla . 1999-02-18 Peter Galbavy * syslog support added 1998-12-13 Kunihiro Ishiguro * ripd.c (rip_announce_func): Apply new lib functions. 1998-12-09 Kunihiro Ishiguro * ripd.c (config_write_rip): Delete vector v argument. * rip_zebra.c (config_write_zebra): Likewise. * rip_interface.c (interface_config_write): Likewise. 1998-09-07 Kunihiro Ishiguro * rip_announce.c (rip_rib_close): When ripd terminates delete all added route. 1998-09-01 Kunihiro Ishiguro * rip_interface.c: return read packet size. 1998-05-18 Yamshita TAKAO * ripd.h: Modify for compile on Solaris. 1998-05-07 Kunihiro Ishiguro * ripd.c: DEFUN function return CMD_SUCCESS. change xmalloc to XMALLOC macro. 1998-05-03 Kunihiro Ishiguro * rip_main.c: change CONFDIR to SYSCONFDIR. 1998-05-01 Kunihiro Ishiguro * .cvsignore: added. 1998-02-04 Kunihiro Ishiguro * rip_interface.c (config_write_interface): correct ADVERTISE spell. * rip_main.c (main): add usage() and make cleanup. 1998-01-05 Kunihiro Ishiguro * ripd.c (rip_version): add rip version command. 1998-01-04 Kunihiro Ishiguro * rip_interface.c (zebra_get_interface): added to get interface's information. * ChangeLog: create.