2005-10-26 Paul Jakma * (general) static/extern functions and definitions. * rip_interface.h: new file, export the public functions from rip_interface.c * ripd.c: Update couple more functions to specify void explicitely. 2005-10-17 Vincent Jardin * ripd.c: rip_create_socket() for each packet, it does not bind to the proper interfaces because we forget to use the from address when it is specified. 2005-10-06 Alain Ritoux * rip_interface.c: Now the command "no ip rip split-horizon poisoned-reverse" just inhibates the poisoned-reverse effects but keep spli-horizon activ. 2005-10-01 Andrew J. Schorr * rip_zebra.c: (config_write_rip_redistribute): Remove local hard-coded table str[]. Replace str[] with calls to new library function zebra_route_string(). * ripd.c: Remove local hard-coded table route_info[]. (show_ip_rip) Replace uses of str[] with calls to new library functions zebra_route_char and zebra_route_string. 2005-09-29 Alain Ritoux * rip_snmp.c: rip2IfConfReceive() sends values in conformance with RFC. Also PeerDomain is now set to a STRING type. * ripd.h: rip_redistribute_add() API includes metric and distance added field external_metric in routes. * ripd.c: rip_redistribute_add() API i.e. stores metric and distance Now allows a RIP-route to overcome a redistributed route coming from a protocol with worse (higher) administrative distance Metrics from redistribution are shown in show ip rip * rip_zebra.c: adapt to the rip_redistribute_add() API, i.e. provide distance and metric * rip_interface.c: adapt to the rip_redistribute_add() API * rip_routemap.c: no RMAP_COMPILE_ERROR on (metric > 16) usage rather a CMD_WARNING, because set metric ius shared with other protocols using larger values (such as OSPF) The match metric action takes first external metric if present (from redistribution) then RIP metric. 2005-09-28 Alain Ritoux * ripd.c: use new md5 API 2005-08-16 Paul Jakma * ripd.c: (general) Fix previous commit, broke multicast bind and hence setting of source port, which broke communication with non-borken ripd. Fix removes more stuff from rip_interface.c than it adds to ripd.c ;) (rip_create_socket) the to argument really is a from argument, rename it. Set the source port to RIP port unconditionally, it's required. (rip_send_packet) Set from address correctly for multicast. (rip_output_process) trivial: num can be BSS specified, rather than in body. * rip_interface.c: (rip_interface_multicast_set) strip out redundant stuff related to bind, which rip_create_socket does. Just make it set the multicast socket option, as per the interface concerned, no more. 2005-06-03 Paul Jakma * ripd.c: (rip_create_socket) move it up so rip_send_packet can use it too. Make it static. Remove the getservbyname stuff, as RFC2453 3.9.2 says non-RIP port messages should be discarded, quagga doesnt accept them, no need to lookup port. Take a 'to' argument, if socket should be bound to something else. setsockopt_so_recvbuf might need privs, move it to the raised privileges section. dont forget to close the socket if bind fails. (rip_send_packet) use strncpy, just in case (address is under our control anyway, but still). dont duplicate rip_create_socket - just use it. (rip_create) rip_create_socket takes an argument now, modify. 2005-06-01 Paul Jakma * rip_interface.c: Fix authentication, no-auth impossible to specify (rip_interface_new) default to RIP_NO_AUTH (rip_interface_reset) ditto (rip_interface_config_write) write out config for simple 2005-05-29 Paul Jakma * ripd.c: (rip_output_process) fix error which crept in my previous rip auth untanglement commit - it had become impossible to not have authentication (even for v1). 2005-05-28 Hasso Tepper * rip_routemap.c: Fix set_metric_addsub_cmd help, it's not about BGP metric. 2005-05-26 Hasso Tepper * rip_routemap.c: In case of '0.0.0.0' used as 'nexthop', use sender address as nexthop in routemap. 2005-05-26 Hasso Tepper * rip_routemap.c: Make "match interface" routemap command match both - in and out interfaces. 2005-05-11 Andrew J. Schorr * rip_interface.c (rip_interface_add): Need to call rip_passive_interface_apply (was already calling it in rip_interface_up). 2005-04-11 Andrew J. Schorr * rip_zebra.c (rip_redistribute_set, rip_redistribute_unset, rip_redistribute_clean): Change 2nd arg to zebra_redistribute_send from zclient->sock to zclient. 2005-04-02 Andrew J. Schorr * rip_interface.c: (rip_interface_delete) After deleting, set ifp->ifindex to IFINDEX_INTERNAL. 2005-02-04 Paul Jakma * ripd.c: Untangle the construction of RIP auth data. (rip_auth_prepare_str_send) new helper function, prepare correct key string. (rip_auth_simple_write) new helper, write out the rip simple password auth psuedo-RTE. (rip_auth_md5_ah_write) new helper, write out the MD5 auth-header psuedo-RTE. (rip_auth_header_write) new helper, write out correct auth header data / psuedo-RTE. (rip_auth_md5_set) rip out the memmove and writing of the auth header psuedo-RTE. So that all that is left is to write the trailing auth digest, and update digest offset field in the original header. (rip_write_rte) rip out writing of RIP header, writing of simple auth data psuedo-RTE. Make it do what its name suggests, write out actual RTEs. (rip_output_process) remove the incorrect additional decrements of rtemax. Prepare the auth_str, which simple or MD5 auth will need. Move write out of RIP header and auth data to inside the loop. Adjust paramaters as required. 2005-01-30 Andrew J. Schorr * ripd.c: (rip_create_socket) Replace perror with zlog_err. 2005-01-30 Andrew J. Schorr * ripd.c: (rip_create_socket) Save errno before calling ripd_privs.change. 2005-01-04 Andrew J. Schorr * ripd.c: (rip_recvmsg) Use ZCMSG_FIRSTHDR instead of CMSG_FIRSTHDR. 2004-12-15 Andrew J. Schorr * ripd.c: (rip_read) Improve 2 error messages to show the source of the packet when the lookup fails. 2004-12-08 Andrew J. Schorr * *.c: Change level of debug messages to LOG_DEBUG. 2004-12-07 Andrew J. Schorr * rip_main.c: (main) The 2nd argument to openzlog has been removed. 2004-12-03 Andrew J. Schorr * rip_main.c: (sigint) Use zlog_notice for termination message. (main) Add a startup announcement using zlog_notice. 2004-11-25 Hasso Tepper * rip_main.c: Make group to run as configurable. 2004-10-22 Paul Jakma * ripd.c: Collapse redundant passing of various address structs, struct interface and struct connected as arguments to functions down to two key arguments, namely struct connected and, possibly, address of source/destination. Testing for RIPv1 would be useful. (rip_read) lookup struct connected for the received packet, pass it on. * rip_interface.c: With previous changes, we no longer have to tread carefully with struct connected, as it will always be there and valid. 2004-10-19 Andrew J. Schorr * ripd.c: (rip_update_interface) if connected->destination is NULL, get the broadcast address with ipv4_broadcast_addr() * rip_interface.c: (rip_interface_multicast_set) connected->destination may be NULL. Improve message if setsockopt_multicast_ipv4 fails. Improve message if bind fails. (rip_request_interface_send) If connected->destination is NULL, get the broadcast address with ipv4_broadcast_addr(). (if_valid_neighbor) Handle PtP subnet addressing properly. Speed up code by using prefix_match properly. 2004-10-13 Hasso Tepper * ripd_snmp.c: Remove defaults used to initialize smux connection to snmpd. Connection is initialized only if smux peer is configured. 2004-10-11 Hasso Tepper * *.c: Make more strings const. 2004-10-08 Hasso Tepper * *.c: Fix compiler warnings: make strings const, signed -> unsigned etc. 2004-09-26 Hasso Tepper * ripd.c: Fix compiler warning. 2004-09-23 Hasso Tepper * *.[c|h]: list -> struct list *, listnode -> struct listnode *. 2004-09-17 Paul Jakma * ripd.c: set receive buffer to a decent size, some systems have low defaults. Problem noted and fix suggested by Stephan Schweizer in [zebra 20967]. 2004-08-19 Paul Jakma * rip_interface.c: (rip_interface_multicast_set) get rid of extraneous if_pointopoint arg. ifp is accessible via connected. pass connected->ifp->ifindex to setsockopt_multicast_ipv4. * ripd.c: (rip_send_packet) update call to rip_interface_multicast_set * ripd.h: update rip_interface_multicast_set prototype 2004-06-11 Sowmini Varadhan * ripd.c: (rip_distribute_update_all) distribute list hook function pointer prototype requires struct prefix_list * arg. (rip_distribute_update_all_wrapper) update to pass required arg, NULL. 2004-06-06 Paul Jakma * ripd.h: Add define for the RIPv2 Authentication Data family Move the auth type defines up to where other defines live. Add RIP_AUTH_MD5_COMPAT_SIZE, for backwards compatible md5->auth_len size. Add md5_auth_len field to struct rip_interface: (rip_interface_new) Init md5_auth_len to compatible size. (ip_rip_authentication_mode_cmd) Extended to handle setting md5 auth-length. Appropriate aliases added. (no_ip_rip_authentication_mode_cmd) Reset md5_auth_len to compatible size. (rip_interface_config_write) Teach it about md5_auth_len. _always_ write out the auth-length, so that everyone will get the setting in their config file, and hence allow for a future change of default for md5_auth_len to be less painful - every md5 user will have this setting in their config file. ripd.c: (rip_packet_dump) Change nasty hard coded constants to symbolic defines. Change various tests of 'ntoh.(variable) == constant' to test 'variable == ntoh.(constant)'. Clean up indentation on some long lines. (rip_auth_simple_password) ditto. (rip_auth_md5) ditto, also add length argument and sanity check md5 data offset field. Sanity check md5 auth length, accept RFC or old-ripd/cisco lengths. (rip_auth_md5_set) as per (rip_packet_dump), also write out the configured md5 auth length for the interface (old-ripd or rfc) (rip_read) as per (rip_packet_dump) (rip_write_rte) ditto (rip_response_process) ditto (rip_write_rte) ditto 2004-06-04 JJ Ludman * ripd.c: Interoperability fix. Correct value for MD5 auth length is 16. Accept packets with this set to >= 16, and set to 16 ourselves. 2004-05-31 Sowmini Varadhan * ripd.c: Fixup compile warnings * rip_routemap.c: Ditto 2004-05-08 Paul Jakma * rip_zebra.c: sync with zclient changes. * rip_interface.c: ditto. 2004-05-05 Anthony.Golia@morganstanley.com * ripd.c: (rip_update_jitter) Bound jitter to a more sensible value, eg 1/4 of update time. 2004-05-03 Paul Jakma * ripd.c: (rip_rte_process) fix typo in merge of previous patch and run function through indent. 2004-03-19 Jean-Yves Simon * ripd.c: (rip_rte_process) make ripd also check on administrative distance of his own links to update routes. 2004-03-18 sowmini.varadhan@sun.com * ripd.c: rip_send_packet can get null connected address when called in response to a unicast rip-request. Handle correctly. 2004-03-03 Krzysztof Oledzki * ripd.c: fix "show ip rip" and per interface rip version selection. 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.