From 3998bfd76620a676fbd77f19c5c6ea80a4cc88d2 Mon Sep 17 00:00:00 2001 From: Paul Jakma Date: Tue, 19 Aug 2008 14:13:43 +0100 Subject: [trivia] Remove ChangeLog files, as this data is now maintained in SCM --- zebra/ChangeLog | 2712 ------------------------------------------------------- 1 file changed, 2712 deletions(-) delete mode 100644 zebra/ChangeLog (limited to 'zebra') diff --git a/zebra/ChangeLog b/zebra/ChangeLog deleted file mode 100644 index 341c42a4..00000000 --- a/zebra/ChangeLog +++ /dev/null @@ -1,2712 +0,0 @@ -2008-07-01 Paul Jakma - - * ioctl.c: (if_get_flags) Deal more gracefully with failure - of the BSD link-state SIOCGIFMEDIA ioctl, as some interfaces - apparently don't implement it (e.g. tun). - Also, make BSD link-state checking be conditional on the - 'link-detect' interface configuration flag, as it should be. - Fixes bug #465. - -2008-06-02 Denis Ovsienko - - * connected.c: (connected_up_ipv4, connected_down_ipv4, - connected_up_ipv6, connected_down_ipv6): don't call - work_queue_aim_head() - * rib.h: adjust RIB_ROUTE_QUEUED macro for meta_queue, - declare meta_queue structure - * zebra_rib.c: (process_subq, meta_queue_process, rib_meta_queue_add, - meta_queue_new) new functions; (rib_queue_add) don't try checking - RIB_QUEUE_ADDED flag, rib_meta_queue_add() does it better, take care - of the meta queue instead; (rib_queue_init) initialize the meta queue - as well; (rib_lookup_and_pushup) don't call work_queue_aim_head(); - (rib_process) only do actual processing, don't do deallocation; - * zserv.h: include meta_queue field into zebra_t structure - -2008-05-29 Stephen Hemminger - - * rt_netlink.c: (netlink_install_filter) BPF filter to catch and - drop responses to zebra's own route messages. - (kernel_init) add BPF filter on the netlink socket. - -2008-02-26 Denis Ovsienko - * zebra_rib.[ch]: (rib_lookup_and_pushup) New function, which makes sure, - that if_set_prefix() has nothing in its way of assigning an address. - * ioctl.c: (if_set_prefix) Use rib_lookup_and_pushup() to resolve - bug #326. - -2008-01-11 Andrew J. Schorr - - * ioctl.c: If HAVE_BSD_LINK_DETECT is defined, include - (if_get_flags) Remove debug messages about BSD link state. - * kernel_socket.c: (bsd_linkdetect_translate) If link state - is unknown, we should set the IFF_RUNNING flag. - -2008-01-10 Ingo Flaschberger - - * ioctl.c: (if_get_flags) If HAVE_BSD_LINK_DETECT, use the SIOCGIFMEDIA - ioctl to ascertain link state. - * kernel_socket.c: (bsd_linkdetect_translate) New function to - map the ifm_data.ifi_link_state value into the IFF_RUNNING flag. - (ifm_read) Call bsd_linkdetect_translate to fix the IFF_RUNNING - flag before calling if_flags_update. - -2008-01-08 Michael Larson - - * zebra_rib.c: (nexthop_active_check) Replace if_is_up with - if_is_operative to solve problems with static interface - routes not behaving properly with link-detect. - -2007-11-12 Denis Ovsienko - - * connected.c: (connected_up_ipv4, connected_down_ipv4, - connected_up_ipv6, connected_down_ipv6) Collect all changed - connected routes closest possible to the RIB work queue, so - that the rest can be revalidated correctly. - -2007-10-24 Denis Ovsienko - - * kernel_socket.c: (rtm_read) we used to ignore own messages, - but the RIB debug commit broke it for IPv6 case (reported - by Milan Kocian). Fixed. - -2007-10-04 Denis Ovsienko - - * zebra_rib.c: (rib_process) escape from the nexthop - iteration cycle earliest possible to save CPU time. - -2007-10-03 Denis Ovsienko - - * zebra_rib.c: (rib_process, rib_link, rib_addnode, - rib_unlink, rib_delnode) log IPv6 prefixes same well - as IPv4 ones are logged. - -2007-09-14 Denis Ovsienko - - * rt_socket.c: (kernel_rtm_ipv4) Use lookup() instead of - LOOKUP/mes_lookup() for rtm_type_str, as this is more - appropriate for sparse code-spaces (#401). - * kernel_socket.c: (rtm_read, rtmsg_debug): Idem. - * kernel_socket.[ch]: We don't need rtm_type_str_max any more. - * main.c: (main) Don't call rib_sweep_route() before the - pidfile is acquired, this fixes bug #402. - * zserv.h: Dropped old_pid, since it's useless now. This - fixes bug #381. - * main.c: (main) Idem. - * test_main.c: (main) Idem. - * kernel_socket.c: (rtm_read) Idem. - -2007-09-12 Denis Ovsienko - - * rt_socket.c: (kernel_rtm_ipv4) prefix_buf could be passed - to zlog_err() uninitialized with debug disabled. Fixed. - -2007-09-06 Denis Ovsienko - - * rtread_sysctl.c: (route_read) Set RTF_DONE on the routing - messages when fetching initial kernel FIB, so rtm_read() - doesn't skip them. - -2007-08-21 Denis Ovsienko - - * ioctl_solaris.c: (if_get_mtu) Don't break things if either - IPv6 was disabled at compile time or the current interface - hasn't it enabled. - * kernel_socket.c: (ifm_read) Don't forget to call if_get_mtu() - for updated interfaces. - -2007-08-17 Denis Ovsienko - - * kernel_socket.c: (rtm_read) Ignore any routing socket messages - without RTF_DONE flag set, as they are just noise for us. - -2007-08-14 Denis Ovsienko - - * zebra_rib.c: (nexthop_active_update) Added a comment - and rewrote nexthop iteration. - -2007-08-13 Denis Ovsienko - - * kernel_socket.c: normalize rtm_type_str so it can be handled - by LOOKUP macro - * kernel_socket.c: (rtm_read) don't ignore self-generated - routing messages, so we can debug them; make use of - ZEBRA_ERR_RTNOEXIST; output more details in debug log. - * kernel_socket.c: (rtmsg_debug) make use of LOOKUP macro - * kernel_socket.h: let the world know about rtm_type_str[_max] - * rib.h: 3 more debugging functions and 5 return codes - * rt_socket.c: (kernel_rtm_ipv4) dump IP prefix and masklen; - complain about strange rtm_write() return values - * zebra_rib.c: (rib_lookup_ipv4_route, rib_dump, - rib_lookup_and_dump) --- new functions; more comments; - more debug logging - -2007-08-10 Emmanuel Vize - - * rt_netlink.c: (netlink_interface_addr) Use the appropriate field length for the address - (acknowledge Andy's comment). - -2007-08-06 Denis Ovsienko - - * zebra_rib.c: (general) Add extra debug logging for RIB and - RIB queue. - -2007-08-02 Denis Ovsienko - - * rt_socket.c (kernel_rtm_ipv4): Only call rtm_write when changes - are intended. Don't set FIB flag on failed additions (such as - occur with multiple paths. - -2007-06-25 Denis Ovsienko - - * zebra_rib.c: (rib_add_ipv4_multipath) Loop through RIB - is using 'same' variable, but RIB_ENTRY_REMOVED check - is testing the constant 'rib' variable, fix. Impact - unknown at this point. - -2007-05-30 Andrew J. Schorr - - * zebra_routemap.c: (route_set_src_compile) Use '#ifdef HAVE_IPV6' - as needed. - * zebra_vty.c: (vty_show_ip_route_detail, vty_show_ip_route) Use - '#ifdef HAVE_IPV6' as needed. - (show_ip_protocol) Move function definition outside of - '#ifdef HAVE_IPV6' section. - -2007-05-17 Andrew J. Schorr - - * kernel_socket.c: (ifam_read_mesg) Grab RTA_DST and RTA_GATEWAY - addresses from the message (if present, which seems unlikely on - current BSD platforms), and show them in the debug messages. - Also, add ifam_flags to the debug messages. - (ifam_read) If the interface is point-to-point, then the RTA_BRD - address should be treated as a peer address. - -2007-05-01 David L Stevens - - * (general) These changes collectively add route-map and - prefix-list support to zebra and fix a bug in "show - route-map" (with no argument). - * connected.c: (connected_up_ipv4) added src preference argument - to rib_add_ipv4() - * kernel_socket.c: (rtm_read) ditto - * main.c: added prefix list initialization - * Makefile.am: added zebra_routemap.c source file - * rib.h: added generic address union "g_addr" and use in - existing places that had an explicit union. - Added "src" to struct nexthop. - Added preferred src arg to nexthop_ipv4_add and rib_add_ipv4. - * rt_netlink.c: (netlink_routing_table) set preferred source on - netlink messages. - (netlink_route_change) ditto - (netlink_route_multipath) ditto. - * rtread_getmsg.c: (handle_route_entry) added (NULL) src to - rib_add_ipv4() call. - * rtread_proc.c: (proc_route_read) ditto - * zebra_rib.c: (nexthop_ipv4_add) add src argument. - (nexthop_ipv4_ifindex_add) ditto - (rib_add_ipv4) ditto - (nexthop_active_check) Add route-map processing. - * zebra_routemap.c: new file for zebra route-map commands. - * zebra_vty.c: (ip_protocol_cmd) Apply route-map to protocol - (vty_show_ip_route_detail) added "src" printing - (vty_show_ip_route) ditto - (show_ip_protocol_cmd) new command, list routemaps. - (config_write_protocol) write out routemap protocl config. - (zebra_vty_init) Install the new routemap protocol commands. - * zserv.c: (zread_ipv4_add) added (NULL) src arg - (zebra_init) init zebra route-maps. - * zserv.h: add zebra_route_map_init - -2007-04-29 Paul Jakma - - * ioctl{_solaris,}.c: (if_get_mtu) Fix missing ; in last commit. - * if_ioctl_solaris.c: (if_get_index) Fix bogus argument passed - to lifreq_set_name(). - -2007-04-10 Paul Jakma - - * ioctl{_solaris,}.c: (if_get_mtu) Ping clients via - zebra_interface_up_update if MTU is changed. - -2007-04-08 Paul Jakma - - * {ioctl,kernel}_null.c: Install of IP address should - reflect back to zebra via kernel_address_add..., makes - testzebra more useful. - * interface.c: (if_delete_update) Address removal triggered - by kernel shouldn't remove configured IPv4 address from connected - list. - -2007-04-07 Paul Jakma - - * redistribute.c: (zebra_check_addr) Don't redistribute routes - to IPv4 link-local prefixes, fixes bug #351. - * redistribute.h: Export zebra_check_addr. - * router-id.c: (router_id_bad_address) re-use zebra_check_addr - rather than implementing similar logic. - -2007-03-06 Paul Jakma - - * kernel_socket.c: (ifam_read) Do not update interface metric on - receipt of NEW/DEL ADDR messages, bogus as: a) some systems - dont include iface metric for address events b) we didn't - update clients either. Initial diagnosis by Eugene Grosbein. - -2007-02-26 Robert Olsson - - * irdp_main.c: (irdp_send_thread) Skip non-AF_INET addresses, - i.e. do not try interpret IPv6 addresses as IPv4 addresses - to broadcast in IRDP announcements.. - -2006-12-13 Andrew J. Schorr - - * if_ioctl_solaris.c: (if_get_addr) For IPv6, stop assuming - that all IFF_POINTOPOINT have prefixlen of IPV6_MAX_BITLEN. - Instead, always try the SIOCGLIFSUBNET ioctl; if that fails, - then we fall back to IPV6_MAX_BITLEN for PtP interfaces. - -2006-12-12 Andrew J. Schorr - - * connected.c: (connected_up_ipv4, connected_down_ipv4, - connected_up_ipv6, connected_down_ipv6) Simplify logic using the - new CONNECTED_PREFIX macro. - (connected_add_ipv4) Set prefixlen in destination addresses (required - by the CONNECTED_PREFIX macro). Use CONNECTED_PEER macro instead - of testing for IFF_POINTOPOINT. Delete invalid warning message. - Warn about cases where the ZEBRA_IFA_PEER is set but no - destination address has been supplied (and turn off the flag). - (connected_add_ipv6) Add new flags argument so callers may set - the ZEBRA_IFA_PEER flag. If peer/broadcast address satisfies - IN6_IS_ADDR_UNSPECIFIED, then reject it with a warning. - Set prefixlen in destination address so CONNECTED_PREFIX will work. - * connected.h: (connected_add_ipv6) Add new flags argument so - callers may set the ZEBRA_IFA_PEER flag. - * interface.c: (connected_dump_vty) Use CONNECTED_PEER macro - to decide whether the destination address is a peer or broadcast - address (instead of checking IFF_BROADCAST and IFF_POINTOPOINT). - * if_ioctl.c: (if_getaddrs) Instead of setting a peer address - only when the IFF_POINTOPOINT is set, we now accept a peer - address whenever it is available and not the same as the local - address. Otherwise (no peer address assigned), we check - for a broadcast address (regardless of the IFF_BROADCAST flag). - And must now pass a flags value of ZEBRA_IFA_PEER to - connected_add_ipv4 when a peer address is assigned. - The same new logic is used with the IPv6 code as well (and we - pass the new flags argument to connected_add_ipv6). - (if_get_addr) Do not bother to check IFF_POINTOPOINT: just - issue the SIOCGIFDSTADDR ioctl and see if we get back - a peer address not matching the local address (and set - the ZEBRA_IFA_PEER in that case). If there's no peer address, - try to grab SIOCGIFBRDADDR regardless of whether IFF_BROADCAST is set. - * if_ioctl_solaris.c: (if_get_addr) Just try the SIOCGLIFDSTADDR ioctl - without bothering to check the IFF_POINTOPOINT flag. And if - no peer address was found, just try the SIOCGLIFBRDADDR ioctl - without checking the IFF_BROADCAST flag. Call connected_add_ipv4 - and connected_add_ipv6 with appropriate flags. - * if_proc.c: (ifaddr_proc_ipv6) Must pass new flags argument to - connected_add_ipv6. - * kernel_socket.c: (ifam_read) Must pass new flags argument to - connected_add_ipv6. - * rt_netlink.c: (netlink_interface_addr) Copy logic from iproute2 - to determine local and possible peer address (so there's no longer - a test for IFF_POINTOPOINT). Set ZEBRA_IFA_PEER flag appropriately. - Pass new flags argument to connected_add_ipv6. - (netlink_address) Test !CONNECTED_PEER instead of if_is_broadcast - to determine whether the connected destination address is a - broadcast address. - -2006-12-08 Piotr Chytla - - * zebra_rib.c: (static_install_ipv{4,6}) Case where existing - RIB is updated must explicitely rib_addqueue the route_node, - to ensure the update actually takes effect. - -2006-09-13 Tom Everett - - * kernel_socket.c (rtm_type_str): ifdef RTM_OLD{ADD,DEL} to - compile on systems that no longer define them. - -2006-08-06 Paul Jakma - - * interface.h: (ifstat_update_proc) declaration should match - ifstat_update_sysctl really, which is to not return status, as - such status is not used anywhere. - * if_{proc,sysctl}.c: Make ifstat_update_* definitions and return values - consistent with each other and their declarations, ie: - (void) (*) (void). - * rtadv.h: depends on interface.h, so should include it. - -2006-08-04 Paul Jakma - - * misc_null.c: Add ifstat_update_sysctl, add another required - header. - -2006-08-02 Andrew J. Schorr - - * misc_null.c: Must include header files to get older versions of gcc - to process the #pragma statements properly. - -2006-08-01 Paul Jakma - - * irdp_main.c: (irdp_advertisement) free the stream here, when done, - right under where it was allocated so it's blindingly obvious - it's correct. This possibly fixes a very slow leak of streams in - zebra. - * irdp_packet.c: (send_packet) don't free the stream here as - it's hard to tell if right, plus an error case seemed to - returning before free anyway. - -2006-07-27 Paul Jakma - - * {ioctl,kernel}_null.c: Dummy/Null kernel method implementations, - useful for testing zebra code that calls such methods. - * {redistribute,misc}_null.c: Dummy/Null methods, as above. But - for zclient, and for various misc functions. - * test_main.c: Test harness for zebra, currently just to test the - RIB. - * Makefile.am: Build testzebra using above. - * debug.{c,h}: Add 'debug zebra rib' and 'debug zebra rib queue'. - * rib.h: (struct rib) Add a route_node rn_status flag field, - this has to be copied every time head RIB of a route_node - changes. - Remove the rib lock field, not needed - see below. - Add a status field for RIB-private flags. - * zebra_rib.c: Add a global for the workqueue hold time, useful - for testing. - (general) Fix for bug #268. Problem originally detailed by - Simon Bryden in [quagga-dev 4001]. - Essentially, add/delete of a RIB must happen /before/ the - queue. Best-path selection (ie rib_process) and reaping of - freed RIBs can then be done after queueing. Only the route_node - is queued - no important RIB state (i.e. whether a RIB is to be - deleted) is queued. - (struct zebra_queue_node_t) Disappears, no longer need to - track multiple things on the queue, only the route_node. - (rib_{lock,unlock}) removed, RIBs no longer need to be - refcounted, no longer queued. - (rib_queue_qnode_del) Removed, deleted RIBs no longer deleted - via the queue. - (rib_queue_add_qnode) deleted - (rib_queue_add) Only the route_node is queued for best-path - selection, we can check whether it is already queued or - not and avoid queueing same node twice - struct rib * argument - is not needed. - (rib_link/unlink) (un)link RIB from route_node. - (rib_{add,del}node) Front-end to updates of a RIB. - (rib_process) Reap any deleted RIBs via rib_unlink. - Unset the route_node 'QUEUED' flag. - (General) Remove calls to rib_queue_add where add/del node was - called - not needed, update calls where not. - Ignore RIB_ENTRY_REMOVEd ribs in loops through route_nodes - -2006-07-27 Rumen Svobodnikov - - * connected.c: (connected_up_ipv4) interface connected routes always - go to table main (or otherwise they cannot be used by linux as - nexthops) - * zserv.c: (zread_ipv4_add) send route to the correct routing table - * zebra_rib.c (static_install_ipv4) set routing table - -2006-07-02 Paul Jakma - - * rt_netlink.c: (netlink_interface_addr) Fix CID #104, can not - proceed if addr is NULL. - * zebra_rib.c: (static_add_ipv6) Fix CID #18, double check - required arguments are supplied for the given nexthop type. - -2006-06-15 Paul Jakma - - * interface.c: (if_flag_dump_vty) redundant code, remove. - (if_dump_vty) use libzebra if_flag_dump. - (ip_address_uninstall) Unset the configured flag. - * connected.c: (connected_same) new helper, check whether - two connected are same. - (connected_implicit_withdraw) new helper, consolidation of - existing code in connected_add_ipv{4,6}. - Try filter out unneeded Zserv address delete/adds when - address is exact same. - Where old address is implicitely removed, be sure to preserve - the IFC_CONFIGURED flag if set, fixes bug where configured - addresses were being lost on FreeBSD (Andrew Schorr). - -2006-05-21 Andrew J. Schorr - - * connected.c: (connected_withdraw) Do not delete the connected - address if the ZEBRA_IFC_CONFIGURED flag is set. - (connected_add_ipv4,connected_add_ipv6) Before calling - connected_withdraw, unset the ZEBRA_IFC_CONFIGURED flag - on the superseded connected structure. - -2006-05-19 Andrew J. Schorr - - * connected.c: (connected_add_ipv4,connected_add_ipv6) If the - new struct connected matches an already existing one - (that will consequently be removed by connected_withdraw), - then be sure to preserve the ZEBRA_IFC_CONFIGURED flag. - -2006-05-17 Andrew J. Schorr - - * kernel_socket.c: (ifam_read_mesg) Improve debug message - to show the IP address. - -2006-05-15 Paul Jakma - - * zserv.c: (general) Remove the private zebra_command_str - in favour of newly added libzebra zserv_command_string. - -2006-05-11 Paul Jakma - - * interface.c: (if_delete_update) route_node_lookup may return - NULL, should fix Coverity CID #31. - -2006-02-09 Paul Jakma - - * rib.h: (struct {rib,nexthop}) Rearrange fields to avoid - needless padding. - (struct rib) Remove the indirect pointer, not used anywhere! - -2006-02-02 Paul Jakma - - * interface.c: (if_dump_vty) move flags to their line, neater. - -2006-01-30 Paul Jakma - - * zebra_rib.c: (rib_process) Fourth time lucky on this jinxed - commit, last commit had a hole that could allow connected - route selection to escape beyond the connected route logic. - This time I cross-checked with Gunnar first. ;) - -2006-01-25 Gunnar Stigen - - * zebra_rib.c: (rib_process) Application of Gunnar's earlier - metric selection RIB change included incorrect tidy-ups made - by commiter. Fix. (NB: any errors here are again due to paul). - -2006-01-25 Paul Jakma - - * (general) More solaris PF_ROUTE hacks. The IFF_UP mangling - for solaris was incomplete on the PF_ROUTE side. fix it. - This changeset generally uglifies things. For some future - work I'd like to see the state changes seperated out from - the details of the code. Differences between systems might - then be slightly easier to implement without convoluted - hacks. - Changes should be specific to Solaris mostly, however - also tested on FreeBSD 6. - * if_ioctl_solaris.c: (interface_list_ioctl) ignore ~IFF_UP - interfaces, we'll hear about them when/if interface goes up - through NEWADDR. - Update flags explicitely at end of it to kick mangling. - * ioctl_solaris.c: (if_mangle_up) removed to interface.c, in - kind. - (lifreq_set_name) more convenient to take the string, than - the ifp. - (if_get_flags_direct) new convenience function, returns - the actual flags. Used during bootstrap in if_ioctl_solaris.c - to peek at flags of logical interfaces to see whether or - not to ignore them. - (if_get_flags) ENXIO means it's gone, poke out IFF_UP and - kick flags update. - (if_{un,}set_flags) flags argument should be 64bit. - * ioctl.{c,h}: flags argument should be 64bit. - * interface.h: Add a 'primary_state' flag to struct zebra_if on - SUNOS_5. - Export if_flags_update. - * interface.c: (if_flags_mangle) moved over in kind from - ioctl_solaris.c. Nasty kludge to try get IFF_UP right, as - much as is possible. Also keep track of the actual IFF_UP - value for the primary interface, so we can know when the ifp - must be deleted. - (if_flags_update) Take a new interface flags value, apply it - to the interface, and take whatever actions are required due - to flag transitions. - (if_refresh) flag state change logic is moved out to - previous. Just call if_get_flags, which will end up using - previous to effect the update of flags. - (if_flag_dump_vty) IFF_IPV{4,6} aren't interesting, VIRTUAL - and NOXMIT are though. - * kernel_socket.c: (ifm_read) Down->Down transitions shouldn't - create ifp, for non-IFANNOUNCE systems. - Use if_flags_update to update flags. - flag transition logic is now handled automatically through - if_flags_update. - (ifam_read) Better to call if_refresh *after* adding - connected addresses, as connected count affects IFF_UP on - IFF_UP-mangled systems. - On Solaris, Up->Down due to DELADDR means we need to delete - the ifp - the IFINFO might already have been and gone. - * rt.h: include other dependent headers. - -2006-01-19 Paul Jakma - - * (general) various miscellaneous compiler warning fixes. - Remove redundant break statements from switch clauses - which return. - Remove stray semi-colons which cause empty-statement - warnings. - * main.c: (sighup) remove private declaration of external - function. - (main) return from main, not exit, cause it annoys SOS. - -2006-01-18 Gunnar Stigen - - * zebra_rib.c: Take interface metric into account. - -2006-01-17 Paul Jakma - - * kernel_socket.c: (ifam_read) Read metric from RTM_NEWADDR. - If interface is an alias, pass the alias as a label for - connected_add_ipv{4,6}. - * rt_netlink.c: (netlink_interface_addr) print out - IFA_CACHEINFO info, if present, when debugging kernel - messages. - -2006-01-17 Gunnar Stigen - - * connected.c: (connected_up_ipv{4,6}) Include interface metric on - connected routes. - * if_ioctl.c: (if_getaddrs) Be defensive about assuming - that struct ifaddrs will have ifa_addr filled in. - -2006-01-16 Paul Jakma - - * zserv.c: Read/write updated Zserv header. - -2006-01-11 Paul Jakma - - * zserv.c: (zsend_interface_{add,delete,update}) if flags are - 8 bytes now, update to write out with stream_putq. - -2005-12-29 Greg Troxel - - * kernel_socket.c: remove dead code (from David Young). - - * rt_socket.c (kernel_rtm_ipv4): Use AF_INET rather than AF_UNSPEC - for mask. From David Young. - -2005-11-26 Paul Jakma - - * connected.{c,h}: (connected_add_ipv6) label should have - const qualifier, fix declarations. - -2005-11-24 Paul Jakma - - * kernel_socket.h: New header for functions exported to sysctl - methods. - * kernel_socket.c: include previous. - Remove static qualifier from couple of functions which are - used by sysctl methods. - Add a workaround for a bogus gcc warning to the RTA_ macros. - * Makefile.am: Add kernel_socket.h to noinst_HEADERS - * if_sysctl.c: include rt.h and kernel_socket.h and remove - redundant prototypes. - * rtread_sysctl.c: ditto. - (route_read) fix mismatch of return values. - * {rt,zserv,rib}.h: Include lib headers depended on. - -2005-11-23 Paul Jakma - - * (general) fix some small compile errors, and mark several - functions as static. - * kernel_socket.c: (ifan_read) should be static. - fix missing brackets. - (ifm_read,ifam_read,rtm_read_mesg,kernel_read) Make static - (ifam_read_mesg) make static. fix incorrect variable name. - (rtm_read) make static. Fix call to rib_delete_ipv4 which - should be rib_delete_ipv6. - (routing_socket,kernel_init) should be static. Void argument - should be specified as such, not left incomplete. - * rt_netlink.c: rt.h should be included, contains prototypes of - exported functions. - (kernel_delete_ipv6_old) fix sign of index argument. - * rt_socket.c: Exact same as previous. Also, make various - functions static. - * rtread_getmsg.c: Include zserv.h, which prototypes - route_read. Make static. - * rtread_sysctl.c: zserv.h and rt.h should be included. - fix definition of route_read. - -2005-11-14 Paul Jakma - - * zebra_rib.c: (rib_process) convert to new workqueue specs and - shut up gcc, which complains about cast from void via - function parameters, for some dumb reason. Do the cast - inside the function instead. - (rib_queue_qnode_del) ditto. - (rib_queue_init) no need for the casts anymore. - -2005-11-12 Alexander Gall - - * See [quagga-dev 1815] - * kernel_socket.c: (rtm_write) Use SAROUNDUP when HAVE_SIN_LEN - is not available. - * rt_socket.c: (kernel_rtm_ipv6(_multipath)) set family to - AF_INET6 on ipv6 routes. - -2005-11-12 Paul Jakma - - * kernel_socket.c: Add RTA_NAME_GET macro to extract name from - sockaddr_dl. Add some more RTF_ flags. - * (ifan_read) Add some debug messages. - * (ifm_read) Add more debug messages. More robust cross-checks - of index against name. - Fall back to by-name lookup if the index lookup fails, future - proofing more than anything else. - (ifam_read_mesg) Read RTA_IFP. Add debug messages. - (ifam_read) More debug. If there's an RTA_IFP and it isn't - the name of the interface, save it as the label. - (rtm_read_mesg) Read RTA_IFP. - (rtm_read) allow name to be retrieved. - (rtmsg_debug) expand on the debug message. - -2005-11-11 Paul Jakma - - * kernel_socket.c: (ifm_read) arithmetic on void pointer - warning. - (ifam_read) Fix error from connected-with-label merge, - something crept in from the pending Solaris kernel_socket.c - patch which shouldn't have. - -2005-11-03 Paul Jakma - - * connected.{c,h}: Include memory.h - (connected_add_ipv4) Use MTYPE for ifc label. - (connected_add_ipv6) Also should accept label. Store it in ifp. - (connected_del_ipv4) Taking label as argument is pointless. - * rt_netlink.c: (netlink_interface_addr) update label usage - for connected_{add,delete} functions. - * if_ioctl.c: (if_getaddrs) NULL label for connected_add_ipv6. - * if_ioctl_solaris.c: (interface_list_ioctl) Pass LIFC_NOXMIT - so we also find out about NOXMIT interfaces like VNI. - Bit of hackery to turn interface names into the primary - interface name, later with routing socket messages we only - will about primary interfaces anyway, so we must normalise - the name. - (if_get_addr) take label as argument, so it can - be passed to connected_add. - If label is provided, then it is interface name to issue the - ioctl for address information on, not the ifp name. - (interface_list) List AF_UNSPEC too, just in case. - * if_proc.c: (ifaddr_proc_ipv6) label for connected_add_ipv6. - * interface.c: (if_addr_wakeup) Some very bogus code - sets - IFF_RUNNING - add comment. - (if_refresh) - (ip_address_install) Use MTYPE for ifc label. - * ioctl_solaris.c: (if_mangle_up) New function. Hackery to make - IFF_UP reflect whether any addresses are left on the - interface, as we get signalled for IFF_UP flags change on the - primary interface only. Logical interfaces dont generate - IFINFO, but we do get an RTM_DELADDR. - (if_get_flags) Call if_mangle_up before return. - * kernel_socket.c: (ifam_read) Fixup calls to - connected_{add,delete} to match above changes. Rename gate - variable to brd, less confusing. - Pass the interface name as a label, if it is not same name - as ifp->name. - -2005-10-11 Paul Jakma - - * connected.{c,h}: (connected_{add,delete}_ipv4) label should - be const qualified. - -2005-10-01 Andrew J. Schorr - - * zebra_vty.c: (route_type_str) Remove obsolete function: use new - library function zebra_route_string() instead. Note that there - are a few differences: for IPv6 routes, we now get "ripng" and - "ospf6" instead of the old behavior ("rip" and "ospf"). - (route_type_char) Remove obsolete function: ues new library function - zebra_route_char() instead. Note that there is one difference: - the old function returned 'S' for a ZEBRA_ROUTE_SYSTEM route, - whereas the new one returns 'X'. - (vty_show_ip_route_detail,vty_show_ipv6_route_detail) Replace - route_type_str() with zebra_route_string(). - (vty_show_ip_route,vty_show_ipv6_route) Replace route_type_char() - with zebra_route_char(). - -2005-10-01 Andrew J. Schorr - - * rt_netlink.c: (netlink_request) Use memset to clear structure - before calling sendto (eliminates a valgrind error message about - uninitialized data). - -2005-09-28 Alain Ritoux - - * zserv.c: Always provied distance for route add - -2005-09-28 Alain Ritoux - - * connected.c: flag connected_up_ipv6() and connected_down_ipv6() - usage with HAVE_IPV6 - -2005-09-24 Hasso Tepper - - * rib.h: Add note about behaviour of rib_add_ipv[46]* functions - - add is treated as implicit withdraw. - -2005-09-21 David Young - - * zebra_rib.c: Reduce the height of some staircases. Fix - rib_delete_ipv6() to match routes in the RIB by their gateway as - well as by destination. - -2005-09-21 Paul Jakma - - * zebra_rib.c: (static_uninstall_ipv{4,6}) Fix regression wrt - removal of static routes with multiple-hops introduced with - the workqueue conversion. We should free the relevant - nexthop and then get rib_process to run, otherwise we just - get same static route back again (with no way to unconfigure - it, because its already deleted from configuration). - -2005-09-12 Paul Jakma - - * (general) RTM_CHANGE and implicit withdraw on RTM_NEWADDR - support. - * connected.c: (connected_withdraw) new function. withdraw a - connected subnet address set from zebra, and pass information - along to clients. - (connected_announce) similar, but to announce a new connected - subnet address set. - (connected_check_ipv4) renamed to connected_check, as its - AFI independent. - (connected_add_ipv{4,6}) Remove the connected address announce - stuff, use connected_announce instead. - If connected_check indicates address is already present, - treat it as an implicit withdraw of the existing address, ie - remove the old address details and replace with the new - details. - (connected_delete_ipv{4,6}) Use connected_withdraw. - (connected_check_ipv6) deleted in favour of connected_check. - * connected.h: Rename connected_check_ipv4 to connected_check. - delete connected_check_ipv6. - * interface.c: Use connected_check rather than the AFI specific - symbols. - * kernel_socket.c: (rtm_read) RTM_CHANGE support. Create a - rib delete event for the existing route, before adding route - again. - (kernel_read) we can handle RTM_CHANGE now. - -2005-08-27 Hasso Tepper - - * zebra_rib.c, rib.h: Add distance and metric arguments to the - rib_add_ipv6() function so that IPv6 routes in RIB can have correct - metric. No IPv6 routing daemon uses distance yet though. - * zserv.c, connected.c, kernel_socket.c, rt_netlink.c, - rtread_proc.c,zserv.c: Pass metric and distance info to the - rib_add_ipv6(). - -2005-07-29 Paul Jakma - - * interface.c: (if_delete_update) should always be available, not - just on RTM_IFANNOUNCE/NETLINK systems. - * kernel_socket.c: (ifan_read) only call if_delete_update when - interface departs, dont if_delete, because we wish to retain - interface configuration state even when interfaces are removed. - (ifm_read) If we dont have RTM_IFANNOUNCE, then transitioning - to down state is only chance we have to clean up interface in case - it is deleted (eg Solaris down -> unplumb -> plumb up). - * redistribute.c: (zebra_interface_delete_update) should always be - available, we /will/ call it now on all systems, via - if_delete_update. - * zserv.c: (zsend_interface_delete) ditto - (zsend_interface_address) Update the call-flow diagramme, to - reflect that if_delete_update /is/ now called on all systems, - potentially. - * zserv.h: (zsend_interface_delete) unconditionally exported, as - above. - -2005-06-28 Paul Jakma - - * (global) Extern and static'ification, with related fixups - of declarations, ensuring files include their own headers, etc. - * if_ioctl.c: (interface_info_ioctl) fix obvious arg mis-order in - list loop - * kernel_socket.c: (RTA_{ADDR,ATTR}_GET) fix mistake, NULL check - should be on DEST argument - -2005-06-14 Paul Jakma - - * kernel_socket.c: consolidate the IFAM{ADDR,MASK}GET and - RTM{ADDR,MASK}GET macros into generic rta_addrs macros, - RTA_{ADDR,ATTR}_GET. - (af_check) could use 'inline' attribute - (ifam_read_mesg) remove IFAM{ADDR,MASK}GET macro, change to - generic macro. - (rtm_read_mesg) similar - -2005-06-12 Hasso Tepper - - * rt_netlink.c: Remove netlink-addr socket declaration, it's not used. - * rt_netlink.c (netlink_parse_info): Fix debug messages - nlmsg_pid is - unsigned and one zlog call had swapped arguments. - * rt_netlink.c (netlink_route_multipath): Fix compile with disabled - IPv6 support. - -2005-05-31 Paul Jakma - - * zserv.c: (zsend_route_multipath) Fix bug if route is sent - with no NEXTHOP_FLAG_FIB nexthops. As ZAPI_MESSAGE_IFINDEX - and ZAPI_MESSAGE_NEXTHOP are always set, clients would try - read non-existent nexthop information and hit stream assert. - Zserv is still broken for multi-nexthop messages, but it always was. - -2005-05-06 Paul Jakma - - * zserv.h: Remove ZEBRA_PORT definition, its in lib/zebra.h now - -2005-04-28 Paul Jakma - - * rib.h: (struct rib) Add lock field for refcounting. - * zserv.h: (struct zebra_t) Add a ribq workqueue to the zebra - 'master' struct. - * zserv.c: (zread_ipv4_add) XMALLOC then memset should be XCALLOC. - * zebra_rib.c: Clean up refcounting of route_node, make struct rib - refcounted and convert rib_process to work-queue. In general, - rib's should be rib_addnode'd and delnode'd to route_nodes, and - these symmetrical functions will manage the locking of referenced - route_node and freeing of struct rib - rather than having users - manage each seperately - with much scope for bugs.. - (newrib_free) removed and replaced with rib_lock - (rib_lock) new function, check state of lock and increment. - (rib_unlock) new function, check lock state and decrement. Free - struct rib if refcount hits 0, freeing struct nexthop's, as - newrib_free did. - (rib_addnode) Add RIB to route_node, locking both. - (rib_delnode) Delete RIB from route_node, unlocking each. - (rib_process) Converted to a work-queue work function. - Functional changes are minimal, just arguments, comments and - whitespace. - (rib_queue_add_qnode) Helper function to setup a ribq item. - (rib_queue_add) Helper function, same arguments as old - rib_process, to replace in callers of rib_process. - (rib_queue_qnode_del) ribq deconstructor. - (rib_queue_init) Create the ribq. - (rib_init) call rib_queue_init. - (remainder) Sanitise refcounting of route_node's. Convert to - rib_queue_add, rib_addnode and rib_delnode. Change XMALLOC/memset - to XCALLOC. Remove calls to nexthop_delete and nexthop_free. - -2005-04-10 Paul Jakma - - * if_ioctl_solaris.c: (if_lookup_linklocal) fix order of args - in ALL_LIST_ELEMENTS_RO macro. - -2005-04-10 Andrew J. Schorr - - * zserv.c (zebra_client_read): Fix bug: first read attempt should - read ZEBRA_HEADER_SIZE minus the number of bytes already read. - Improve efficiency by maintaining a calculation of the number - of bytes read instead of calling stream_get_endp multiple times. - If message length is too small, issue a warning message (not debug) - before closing the connection. And also check that message length - is not too big. - -2005-04-09 Hasso Tepper - - * rt_netlink.c: One tiny missing comma caused pointless debug messages - about IPv6 nexthops. - -2005-04-09 Hasso Tepper - - * rt_netlink.c (netlink_parse_info): Fix warning. It's safe to cast - status to unsigned here, because we already checked that it isn't - negative or 0. - * rt_netlink.c (netlink_interface_addr): Prefix length belongs to the - address, not to the interface. - * rt_netlink.c (netlink_route_multipath): Fix debug. No useless info - is printed out now and IPv6 info is handeled. - -2005-04-05 Paul Jakma - - * zserv.c: print more helpful errors when we fail to successfully - bind and listen on zserv socket. Closes bugzilla #163. - -2005-04-02 Andrew J. Schorr - - * if_ioctl.c: (interface_list_ioctl) Use if_get_by_name_len. - * if_proc.c: (ifaddr_proc_ipv6) Increase size of ifname buffer to - avoid overflow. - * kernel_socket.c: (ifan_read) Use if_get_by_name_len. - -2005-04-02 Andrew J. Schorr - - * kernel_socket.c: (ifm_read) Use new if_lookup_by_name_len function - to save a memcpy. - * if_ioctl_solaris.c: (interface_list_ioctl) Fix subtle bug with new - if_get_by_name_len function. - -2005-04-02 Andrew J. Schorr - - * interface.c: (if_new_intern_ifindex) Remove obsolete function. - (if_delete_update) After distributing the interface deletion message, - set ifp->ifindex to IFINDEX_INTERNAL. - (if_dump_vty) Detect pseudo interface by checking if ifp->ifindex is - IFINDEX_INTERNAL. - (zebra_interface) Check return code from interface_cmd.func. - Do not set internal ifindex values to if_new_intern_ifindex(), - since we now use IFINDEX_INTERNAL for all pseudo interfaces. - * kernel_socket.c: (ifm_read) Fix code and comments to reflect that - all internal interfaces now have ifp->ifindex set to IFINDEX_INTERNAL. - * rt_netlink.c: (set_ifindex) New function used to update ifp->ifindex. - Detects interface rename events by checking if that ifindex is already - being used. If it is, delete the old interface before assigning - the ifindex to the new interface. - (netlink_interface, netlink_link_change) Call set_ifindex to update - the ifindex. - -2005-03-31 Hasso Tepper - - * rt_netlink.c (netlink_talk_filter): Show always warning message, - it's not for debug. - * rt_netlink.c (netlink_talk): Don't assume we use netlink_cmd - although we do now actually. - * rt_netlink.c (netlink_route, netlink_route_multipath): Always use - netlink_cmd to send messages to the kernel. - -2005-03-30 Andrew J. Schorr - - * irdp.h: Add prototype for irdp_sock_init, and fix protos for - other irdp_* functions. - * irdp_interface.c: (irdp_if_start) If irdp_sock is negative, - call irdp_sock_init to create the IRDP socket. - (irdp_if_init) Rename to irdp_init(). - (get_iflist_ifp) Remove function that is a duplicate of - if_lookup_by_index. - (*) Make many functions static. And remove superfluous "\n" from - several zlog messages. - * irdp_main.c: (irdp_init) Remove function that used to call - irdp_if_init() and irdp_sock_init(), since we will now create - the socket only upon first use. - (irdp_sock_init) Do not update global irdp_sock variable, just - return the fd and assume that the caller will do so. If setsockopt - calls fail, close the socket before returning -1. - (*) Make many functions static. - * irdp_packet.c: Initialize irdp_sock to -1. - (irdp_read_raw) Call standard library function if_lookup_by_index - instead of get_iflist_ifp. - (irdp_recvmsg) Should be static, not global. - -2005-03-29 Andrew J. Schorr - - * rt_netlink.c: (netlink_link_change) If the status of an - operative interface changes (e.g. MTU changes), the client - daemons should be notified by calling zebra_interface_up_update. - Previously, the information was being updated in zebra's - interface structure, but the clients were not notified of - changes to an operative interface. - -2005-03-25 Jean-Mickael Guerin - * interface.c, interface.h, rtadv.c, rtadv.h: modifications to - IPv6 Neighbor Discovery according to RFC3775, section 7: - o 1-bit Home Agent flag management in Router Advertisement (7.1). - o 1-bit Router Address flag management in Prefix Information - Option (7.2). - o Advertisement Interval Option (7.3) - o Home Agent Information Option (7.4) - o Changes to Sending Router Advertisements more frequently (7.5) - -2005-03-13 Hasso Tepper - - * zebra/interaface.c: "show interface description" command - implemented. - -2005-03-12 Paul Jakma - - * rt_netlink.c: (netlink_route_multipath) dont set equalise flag. - No stock Linux kernel has ever supported it, and even if it had - it's not generally a good idea. - -2005-03-07 Michael Sandee - - * if_proc.c, ipforward_proc.c, rtread_proc.c: Fix fd leaks. - -2005-03-06 Hasso Tepper - - * interface.c: Fix CRC and frame errors statistics in Linux. - -2005-02-28 Andrew J. Schorr - - * zserv.c: Must include network.h and buffer.h for non-blocking I/O. - Remove global message_queue and t_write (need separate buffering for - each client). - (zebra_server_dequeue,zebra_server_enqueue) Remove functions - related to old buggy buffering code. - (zserv_delayed_close) New thread callback function to delete a client. - (zserv_flush_data) New thread callback function to flush buffered - data to client. - (zebra_server_send_message) Rewritten to use buffer_write (so - buffering of writes and non-blocking I/O work properly). - (zsend_interface_add,zsend_interface_delete,zsend_interface_address, - zsend_interface_update) Return 0 instead of -1 if !client->ifinfo - (this is not really an error). Return value from - zebra_server_send_message. - (zsend_route_multipath,zsend_ipv4_nexthop_lookup, - zsend_ipv4_import_lookup) Return value from zebra_server_send_message. - (zsend_ipv6_nexthop_lookup) Fix scope to static, and return value - from zebra_server_send_message. - (zsend_router_id_update) Must use zebra_server_send_message instead - of deprecated writen function. Return 0 instead of -1 if this client - is not subscribed to router-id updates (since this is not really - an error). - (zread_interface_add) Change type to static int. If - zsend_interface_add fails or zsend_interface_address fails, return -1 - immediately (since the client has had an I/O error). - (zread_interface_delete,zread_ipv4_add,zread_ipv4_delete, - zread_ipv6_add,zread_ipv6_delete,zread_router_id_delete) Return 0 - to indicate success. - (zread_ipv4_nexthop_lookup) Return value from - zsend_ipv4_nexthop_lookup. - (zread_ipv4_import_lookup) Return value from zsend_ipv4_import_lookup. - (zebra_read_ipv6) Remove unused function. - (zread_ipv6_nexthop_lookup) Return value from - zsend_ipv6_nexthop_lookup. - (zread_router_id_add) Return value from zsend_router_id_update. - (zebra_client_close) Call buffer_free(client->wb) and - thread_cancel(client->t_suicide). - (zebra_client_create) Allocate client->wb using buffer_new. - (zebra_client_read) Support non-blocking I/O by using stream_read_try. - Use ZEBRA_HEADER_SIZE instead of 3. - (zebra_accept) Fix bug: reset accept thread at top. Make client - socket non-blocking using the set_nonblocking function. - (config_write_forwarding) Fix scope to static. - (zebra_init) Remove initialization code for old buggy write buffering. - * zserv.h: Add 2 new fields to struct zserv: struct buffer *wb - (to enable buffered writes with non-blocking I/), and - struct thread *t_suicide to support delayed close on I/O - errors. - * router-id.h: Remove prototypes for zread_router_id_add and - zread_router_id_delete (their scope should be static to zserv.c). - -2005-02-24 Andrew J. Schorr - - * redistribute.c: (zebra_check_addr,is_default, - zebra_redistribute_default,zebra_redistribute) Fix scope to be static. - -2005-02-20 Hasso Tepper - - * rt_netlink.c: Don't show messages "ignoring message type 0x001[89]" - if we are not debugging. - -2005-02-19 Paul Jakma - - * zserv.c: (zebra_read_ipv6) replace the char * arithmetic with - STREAM_READABLE. - -2005-02-14 Paul Jakma - - * Not all Linux netlink systems have IFLA_WIRELESS - -2005-01-30 Andrew J. Schorr - - * ioctl.c: (if_ioctl,if_ioctl_ipv6,if_get_flags) Replace perror with - zlog_err. - * ioctl_solaris.c: (if_ioctl,if_ioctl_ipv6) Replace perror with - zlog_err. - -2005-01-29 Andrew J. Schorr - - * if_ioctl_solaris.c: (interface_list_ioctl) Save errno before calling - zserv_privs.change. - * ioctl{,_solaris}.c: (if_ioctl,if_ioctl_ipv6) Save errno before calling - zserv_privs.change. - * ipforward_solaris.c: (solaris_nd) Save errno before calling - zserv_privs.change. - * irdp_main.c: (irdp_sock_init) Save errno before calling - zserv_privs.change. - -2005-01-29 Andrew J. Schorr - - * rt_netlink.c: (netlink_socket,netlink_request,netlink_parse_info, - netlink_talk) Save errno before calling zserv_privs.change. - -2005-01-24 Martin Pot - - * zebra/rt_netlink.c: ignore wireless newlink netlink messages. - -2005-01-18 Hasso Tepper - - * interface.c: Better statistics output in "show interface" command in - case of /proc being used. - -2005-01-17 Hasso Tepper - - * main.c: With --nl-bufsize argument is required. - -2005-01-05 Paul Jakma - - * zserv.c: (zebra_accept) Comment out setting of socket to NONBLOCK - for now, as we dont actually deal with with resending.... See - bugzilla #122, fix from wawa@yandex-team.ru (Vladimir Ivanov). - * kernel_socket.c: (routing_socket) ditto. - -2005-01-04 Andrew J. Schorr - - * rtadv.c: (rtadv_recv_packet,rtadv_send_packet) Use ZCMSG_FIRSTHDR - instead of CMSG_FIRSTHDR. - -2004-12-22 Andrew J. Schorr - - * connected.c: (connected_add_ipv4) Limit warning about /32 addresses - with no peer specified to PtP interfaces only. - -2004-12-18 Hasso Tepper - - * zebra_vty.c: Fix "show ipv6 route " command help and make it - work for isis routes. - -2004-12-09 Greg Troxel - - * kernel_socket.c (rtmsg_debug): char * => const char * - -2004-12-07 Andrew J. Schorr - - * *.c: Change level of debug messages to LOG_DEBUG. - -2004-12-07 Andrew J. Schorr - - * main.c: (main) The 2nd argument to openzlog has been removed. - So stdout logging will no longer be enabled by default. - * irdp_main.c: (irdp_finish) Reduce severity of shutdown message - from LOG_WARNING to LOG_INFO. - -2004-12-03 Andrew J. Schorr - - * main.c: (sigint) Use zlog_notice for termination message. - (main) Add a startup announcement using zlog_notice. - -2004-11-25 Hasso Tepper - - * irdp_interface.c: Remove comment from DEFUN, it breaks vtysh because - it confuses extract.pl. - * main.c: Make group to run as configurable. - -2004-10-28 Hasso Tepper - - * interface.c: Remove dead "ip tunnel" command. - -2004-10-22 Paul Jakma - - * irdp_main.c: change setsockopt_pktinfo to setsockopt_ifindex - -2004-10-19 Andrew J. Schorr - - * rt_netlink.c: (netlink_interface_addr) For PtP interfaces, ignore - tb[IFA_ADDRESS] if it's the same as tb[IFA_LOCAL]. - * interface.c: (ip_address_install) Use new ipv4_broadcast_addr - function. - * connected.c: (connected_up_ipv4) Use CONNECTED_POINTOPOINT_HOST - macro. - (connected_down_ipv4) ditto. - (connected_add_ipv4) Validate destination address, print warnings - if it does not make sense. - -2004-10-19 Hasso Tepper - - * zserv.c: Fix regression introduced with zserv cleanup. - -2004-10-13 Hasso Tepper - - * zebra_snmp.c: Remove defaults used to initialize smux connection to - snmpd. Connection is initialized only if smux peer is configured. - * zserv.c: Remove useless warnings "forwarding is already on". - -2004-10-12 Hasso Tepper - - * zebra_vty.c: Unbreak "show ip route" command help and make it work - for isis routes. - * interface.c(if_dump_vty): Show IPv6 addresses in "show interface" - output. Fixes Bugzilla #119. - * *.c: Make some strings const and some (unsigned) casts to fix - compiler warnings. - -2004-10-07 Hasso Tepper - - * connected.c, main.c, rt_netlink.c, rtadv.c, zebra_rib.c, zserv.c: - Fix warnings: make strings const, signed -> unsigned. - -2004-10-05 Paul Jakma - - * irdp_packet.c: (parse_irdp_packet) style issues. - Use sockopt_iphdrincl_swab_systoh. - Try unbork the code. Checksum the ICMP data and actually - compare it to received checksum. Check data length against - claimed length in header. - Always use ntoh.. when accessing addresses, even when the - comparison happens to be endian-safe. - (send_packet) minor style isues. Use - sockopt_iphdrincl_swab_htosys. - (irdp_iph_hton/ntoh) IP header to/from network/host order. - -2004-10-03 Gilad Arnold - - * interface.c, interface.h: A new prefix tree of connected subnets is - associated with each interface structure in zebra, in which each - live (ie, non-synthetic) node holds a list of installed addresses - that belong to that prefix. Remove secondary address logic from cli. - See [quagga-dev 872] for detailed explanation. - * connected.c: Use if_subnet_add() and if_subnet_delete(). - -2004-10-03 James R. Leu - - * router-id.c, router-id.h: New files. Router id selection process. If - there is non 127.x.x.x address in loopack interface, lowest of them - is chosen. If there isn't, lowest from other interfaces addresses - are chosen. "router-id x.x.x.x" vty command to manual override. - * Makefile.am: Compile new files. - * main.c: Initialize router id. - * redistribute.c: Add interface addresses into router id selection - lists as they (dis)appear. - * zserv.c, zserv.h: Sending router id related messages to daemons. - -2004-09-26 Hasso Tepper - - * irdp_interface.c, irdp_main.c, irdp_packet.c, rt_netlink.c, - rtadv.c, zebra_vty.c: Fix compiler warnings. - -2004-09-24 Paul Jakma - - * irdp_interface.c: (no_ip_irdp_address_preference_cmd) - add missing listnode declaration. - -2004-09-24 Paul Jakma - - * irdp_{interface,main}.c: lists typedef removal cleanup. - update some list loops to LIST_LOOP. some miscellaneous style - and indent fixups. - (no_ip_irdp_address_preference_cmd) Fix delete of referenced node - in loop. - * irdp_packet.c: (irdp_recvmsg) Fix buggy assignment of integer - to pointer. - * if_ioctl{,_solaris}.c: lists typedef removal cleanup. - update some list loops to LIST_LOOP. - -2004-09-23 Hasso Tepper - - * *.[c|h]: list -> struct list *, listnode -> struct listnode *. - -2004-09-22 Paul Jakma - - * zserv.c: (zsend_route_multipath) fix nasty bad memset of struct - in_addr to sizeof(struct in6_addr), causing odd and hard to debug - crash. - -2004-08-31 Hasso Tepper - - * main.c, rt_netlink.c: Added -s command line switch for tuning - netlink receive buffer size in Linux to avoid buffer overruns. - -2004-08-26 Miles Nordin - - * ipforward_sysctl.c (mib_ipv6): Use size_t for len, per - sysctl(3), rather than int. (Needed on NetBSD/alpha to display - forwarding status correctly.) - -2004-08-23 Paul Jakma - - * zserv.c: (zebra_init) remove implicit ip forward enabling - -2004-08-19 Paul Jakma - - * irdp_main.c: update to match sockopt renames. - * irdp_packet.c: include sockopt.h and update to match sockopt - renames. - -2004-08-11 Greg Troxel - - * rtadv.c (rtadv_send_packet): Allocate space for control messages - more carefully; it was wrong on NetBSD/sparc where CMSG alignment - is to 8 bytes instead of 4, and overwriting the address. Use the - provided macros for determining lengths. - -2004-07-23 Sowmini Varadhan - - * if_ioctl_solaris.c: HAVE_IPV6 ifdef fixups - * zserv.c: ditto - * ioctl_solaris.c: ditto. - * interface.c: cast for LLADDR - * interface.h: Add guards, include redistribute.h and remove - extraneous definitions of zebra_interface_{up,down}_update - * ioctl.h: Add AF_IOCTL define for non SOLARIS_IPV6 - * redistribute.h: include dependent header, zserv.h - * zserv.h: include dependent header, rib.h - -2004-07-23 Paul Jakma - - * irdp_main.c: use setsockopt_pktinfo_ipv4 - * irdp_packet.c: use SOPT_SIZE_CMSG_PKTINFO_IPV4 and - getsockopt_pktinfo_ifindex() - -2004-07-13 David Wiggins - - * irdp_main.c: Add privilege change. - -2004-07-12 Hasso Tepper - - * irdp_interface.c: follow common style while naming vty command - functions. Avoids confusion in extract.pl. - -2004-06-30 Greg Troxel - - * main.c: define thread_master variable so that linking with - libzebra.so doesn't fail. Arguably zclient.o should be in a - separate library, but this is far less disruptive. - -2004-06-12 Robert Olsson - - * Added IRDP support. - -2004-05-18 Hasso Tepper - - * rtadv.c: Removed "[no] ipv6 nd send-ra" command. Replaced "ipv6 nd - prefix-advertisement" with "ipv6 nd prefix". Rewrite syntax of - "ipv6 nd prefix" command to allow various combinations of parameters - and flags. No defaults in configuration. Replaced on-link and - autoconfig with off-link and no-autoconfig flags in command syntax. - Cosmetic fixes in all commands. Documentation to reflect all changes. - -2004-05-11 Paul Jakma - - * Makefile.am: support for IOCTL_METHOD, as per Sowmini's patch. - * if_ioctl_solaris.c: Fixup some erroneous privilege changes and - add privs.h header. - * ioctl_solaris.c: ditto - * ioctl.h: Add if_ioctl_ipv6 prototype and AF_IOCTL for SOLARIS_IPV6 - * kernel_socket.c: Fix SAROUNDUP, compiler doesnt like do..while - RHS in assignments :) - * redistribute.c: (zebra_interface_delete_update) only used - if RTM_IFANNOUNCE and NETLINK is available. - -2004-05-09 Paul Jakma - - * zserv.c: (zsend_route_multipath) Set the nexthop_num - field correctly. Add NEXTHOP_TYPE_IPV6_IFNAME for v6. - Conditionally set ZAPI_MESSAGE_METRIC flag - only for adds. - (zsend_ipv4_add) cruft, deleted. - (zsend_ipv4_delete) ditto. - (zsend_ipv6_add) ditto. - (zsend_ipv6_delete) ditto. - * ioctl.c: (if_get_mtu) set mtu6 to mtu - * mtu_kvm.c: (if_kvm_get_mtu) set mtu6 to mtu - * rt_netlink.c: (netlink_interface) set mtu6 to mtu - (netlink_link_change) ditto - * ipforward_solaris.c: fix typo of ND variable. - * if_ioctl_solaris.c: Add zprivs support. - * ioctl_solaris.c: ditto. - -2004-05-09 Sowmini Varadhan - - * zserv.c: (zsend_ipv{4,6}_{add,delete}_multipath) collapsed - into single zsend_route_multipath function. - (zsend_interface_{up,down}) collapsed into zsend_interface_update. - (zsend_interface_address_{add,delete}) collapsed into - zsend_interface_address. - (zsend_interface_add) send mtu6. - (zsend_interface_delete) ditto. - (zebra_write) remove unused function. - (various) Apply static qualifier. Add comments. - * zserv.h: Definitions changed as per above. - * redistribute.c: Changes as per zserv.c. - * interface.c: (if_delete_update) only used with HAVE_NETLINK - and RTM_IFANNOUNCE. - (if_flag_dump_vty) Solaris IFF_IPV4 and IFF_IPV6 if flags - (if_dump_vty) print mtu6 if not same as mtu - * if_ioctl_solaris.c: New file, Solaris interface ioctl methods. - * ioctl_solaris.c: New file, Common solaris ioctl methods. - -2004-04-06 Krzysztof Oledzki - - * rt_netlink.c: Do not ignore metric when reading kernel routing - table on Linux with rt_netlink interface. - -2004-03-18 Hasso Tepper - - * interface.c: Temporary fix for handling secondary addresses - with label. - -2004-02-12 Hasso Tepper - - * zserv.c: Added "ipv6 forwarding" command. - -2004-01-08 Greg Troxel - - * 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 - - * rtadv.c (rtadv_send_packet): Change perror to zlog_err. - -2004-01-05 Greg Troxel - * 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 - - * 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 - - * 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 - - * rtadv.c: reorder includes to avoid compiler warning (define - structs before using them in prototypes) - -2003-05-25 Jim Crumpler - - * zserv.c: Add "ip forwarding" command. - -2003-05-16 Gilad Arnold - - * zebra_rib.c: Fix memory leaks for ifname nexthops - -2003-04-19 Israel Keys - - * rt_netlink.c: BLOCK on netlink while initialising - -2003-02-06 Francois Deppierraz - - * rt_netlink.c (netlink_route_multipath): Set RTM_F_EQUALIZE when - it exists. - -2002-09-28 Akihiro Mizutani - - * zebra_rib.c (static_add_ipv4): Null0 static route is added. - -2002-09-10 Jochen Friedrich - - * rt_netlink.c: Add check for EAGAIN. - * kernel_socket.c: Likewise - -2002-06-12 Israel Keys - - * 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 - - * rtadv.c (rtadv_make_socket): setsockopt(IPV6_CHECKSUM) does not - work for ICMPv6 socket. - -2001-10-24 Kunihiro Ishiguro - - * rib.c (rib_process): Select connected route any case. - -2001-10-23 Kunihiro Ishiguro - - * interface.c (no_ip_address_secondary): Add "no" to command. - -2001-10-18 NOGUCHI Kay - - * 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 - - * rtadv.c: Do not send RA to loopback interface. - -2001-08-20 Kunihiro Ishiguro - - * ioctl.c (if_set_prefix): Remove Linux 2.0 specific connected - route treatment. - -2001-08-19 Kunihiro Ishiguro - - * zebra-0.92a released. - -2001-08-17 Kunihiro Ishiguro - - * rib.c: Kernel route is treated as EGP routes in nexthop active - check. - -2001-08-15 Kunihiro Ishiguro - - * zebra-0.92 released. - -2001-08-08 "Akihiro Mizutani" - - * rib.c (show_ip_route_prefix_longer): Add longer-prefix option to - show route commands. - -2001-07-29 Yon Uriarte - - * zserv.c (zsend_ipv4_add_multipath): Add - NEXTHOP_TYPE_IPV4_IFINDEX check. - -2001-07-29 NOGUCHI Kay - - * 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 - - * rtadv.c (ipv6_nd_ra_interval): Add "ipv6 nd ra-interval SECONDS" - command. - -2001-07-24 Jun-ichiro itojun Hagino - - * rt_socket.c (kernel_rtm_ipv4): Add KAME/NetBSD151 equal cost - multicast FIB support both IPv4 and IPv6. - -2001-07-24 Hal Snyder - - * 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 - - * 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 - - * ioctl.c (if_ioctl): Change ioctl argument from int to u_long. - - * rt_ioctl.c: Likewise. - -2001-07-23 Jun-ichiro itojun Hagino - - * kernel_socket.c (rtm_write): Only set RTF_CLONING when the - interface is not p2p. - -2001-04-23 Kunihiro Ishiguro - - * ioctl.c (if_prefix_add_ipv6): Fix argument type. - -2001-04-06 Toshiaki Takada - - * zserv.c (zsend_interface_delete): Use client->obuf instead of - allocating new stream. - -2001-03-10 Kunihiro Ishiguro - - * rt_netlink.c: Revert RTPROT_BOOT change. - -2001-03-08 Kunihiro Ishiguro - - * rt_netlink.c (netlink_route_change): Skip RTPROT_BOOT route. - (netlink_routing_table): Likewise. - -2001-03-07 "Akihiro Mizutani" - - * zserv.c (zsend_ipv4_add_multipath): Send metric value to - protocol daemons. - -2001-02-18 Kunihiro Ishiguro - - * rt_netlink.c (netlink_routing_table): Do not return - tb[RTA_GATEWAY] is NULL. Reported by: "Michael O'Keefe" - . - -2001-02-08 Kunihiro Ishiguro - - * if_ioctl.c (interface_list_ioctl): Call if_add_update(). - Suggested by: Chris Dunlop . - -2001-02-01 Kunihiro Ishiguro - - * 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 - - * kernel_socket.c (rtm_read): Filter cloned route. Suggested by: - Jun-ichiro itojun Hagino - -2001-01-30 Kunihiro Ishiguro - - * 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 - - * zserv.c (zebra_serv): Add missing close() call. Reported by: - David Waitzman . - -2001-01-24 Kunihiro Ishiguro - - * rib.c (rib_lookup_ipv4): New function for checking exact match - IGP route. - -2001-01-23 Kunihiro Ishiguro - - * rib.c (show_ipv6_route_protocol): Fix bug of "show ip route - route-type". - -2001-01-22 Kunihiro Ishiguro - - * 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 - - * 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 - - * 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 . - - * rib.c (static_ipv6_nexthop_same): Add check for - NEXTHOP_TYPE_IPV6_IFNAME. - -2001-01-15 Kunihiro Ishiguro - - * rib.h (NEW_RIB): Turn on NEW_RIB flag. IPv6 new RIB code are - taken into place. - -2001-01-14 Kunihiro Ishiguro - - * 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 . - (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 - - * 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 - - * 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 - - * 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 - - * interface.c: Remove HAVE_IF_PSEUDO part. - - * rib.h: Likewise. - - * rt_netlink.c (netlink_link_change): Likewise. - -2001-01-10 Kunihiro Ishiguro - - * zserv.c: Remove OLD_RIB codes. - -2001-01-09 Kunihiro Ishiguro - - * zebra-0.90 is released. - -2001-01-09 Matthew Grant - - * 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 - - * interface.c (if_dump_vty): When HAVE_NET_RT_IFLIST is defined, - NetBSD also use this function. Suggested by Jasper Wallace - . - -2001-01-07 Kunihiro Ishiguro - - * rib.c (nexthop_active_ipv4): Move back to set methodo to old - one. - -2001-01-05 Kunihiro Ishiguro - - * rib.c (rib_add_ipv4): EBGP multihop set ZEBRA_FLAG_INTERNAL - flag, so treat it. - -2001-01-04 Kunihiro Ishiguro - - * 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 - - * zserv.h (ZEBRA_SERV_PATH): Change "/tmp/zebra" to "/tmp/.zebra". - Change "/tmp/zserv" to "/tmp/.zserv". - -2000-12-29 Frank van Maarseveen - - * 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 - - * rib.c (vty_show_ip_route): Show uptime of the RIP,OSPF,BGP - routes. - -2000-12-27 Kunihiro Ishiguro - - * 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 - - * rib.h: Remove MULTIPATH_NUM. It is defined by configure script. - -2000-12-25 Michael Rozhavsky - - * rib.c (rib_if_up): Call rib_fib_set instead of RIB_FIB_SET for - proper redistribution. - -2000-12-19 Kunihiro Ishiguro - - * 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 - - * 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 - - * rib.c (nexthop_active_ipv4): Check indirect nexthop. - - * redistribute.c (redistribute_add_multipath): Redistribution - works with new rib code. - -2000-12-14 Kunihiro Ishiguro - - * 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 - - * rib.c (ip_route): New RIB prototype. - -2000-11-16 Yon Uriarte - - * zserv.c (zsend_interface_add): Send hardware address when - hw_addr_len is greater than 0. - -2000-11-07 Kunihiro Ishiguro - - * 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 - - * rt_netlink.c (netlink_interface_addr): Revert Harald Welte - 's ptop patch then back to original code to - avoid duplicated connected route problem. Suggested by Frank van - Maarseveen . - - * kernel_socket.c (rtm_read): Make behavior consistent even #ifdef - DEBUG is defined. Reported by Jun-ichiro itojun Hagino - . - -2000-10-23 Jochen Friedrich - - * main.c (main): Call zebra_snmp_init() when it is enabled. - -2000-10-23 Kunihiro Ishiguro - - * zserv.c (zebra_serv_un): UNIX domain socket server of zebra - protocol. - -2000-10-19 Kunihiro Ishiguro - - * rib.c (rib_add_ipv4): Same check bug is fixed. - -2000-10-03 Kunihiro Ishiguro - - * 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 - - * zebra-0.89 is released. - -2000-09-24 Harald Welte - - * rt_netlink.c (netlink_interface_addr): Fix point-to-point address - treatment in netlink interface. - -2000-09-21 David Lipovkov - - * 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 - - * if_ioctl.c (if_getaddrs): New function for looking up - interface's address by getifaddrs(). - -2000-09-10 Kunihiro Ishiguro - - * 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 - - * 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 - - * zebra-0.88 is released. - -2000-08-15 "Akihiro Mizutani" - - * 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 - - * 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 - - * rib.c (rib_add_ipv4): Do not install distance 255 route. - -2000-08-10 Toshiaki Takada - - * 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" - - * interface.c (bandwidth_if): Fix help string. - -2000-08-07 Matthew Grant - - * 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 - - * rib.c (show_ip_route_protocol): "show ip route - (bgp|connected|kernel|ospf|rip|static)" is added. - -2000-08-07 Kunihiro Ishiguro - - * 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 - - * redistribute.c (redistribute_delete): Fix bug of default route - redistribute treatment. - -2000-08-05 Kunihiro Ishiguro - - * 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 - - * 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 - - * 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 - - * interface.c: Use install_default() for common VTY commands. - -2000-07-23 Kunihiro Ishiguro - - * 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 - - * if_ioctl.c (if_get_index): Add check for HAVE_BROKEN_ALIASES. - -2000-07-04 Kunihiro Ishiguro - - * zserv.c (zebra_client_read): Add ZEBRA_REDISTRIBUTE_{ADD,DELETE} - message handling. - -2000-07-02 David Lipovkov - - * zserv.c: "ip route A.B.C.D/M unknown" command is added. - -2000-06-28 Michael Rozhavsky - - * rib.c: Remove old kernel route when new route comes in. - -2000-06-13 David Lipovkov - - * rib.c (rib_if_up): Add check for unknown interface. - -2000-06-13 Kunihiro Ishiguro - - * rib.h: Define INTERFACE_UNKNOWN. - -2000-06-08 Kunihiro Ishiguro - - * Makefile.am (EXTRA_DIST): Move irdp.c until implementation is - finished. - -2000-06-05 David Lipovkov - - * 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 - - * if_ioctl.c (interface_info_ioctl): Check interface's flag before - checking interface's address. - -2000-04-26 Jochen Friedrich - - * GNOME-PRODUCT-ZEBRA-MIB: New file. - - * GNOME-SMI: New file. - -2000-04-23 Kunihiro Ishiguro - - * irdp.c: New file from 1997 development code. - * irdp.h: Likewise. - -2000-04-19 Kunihiro Ishiguro - - * rtadv.c (rtadv_send_packet): Enclose router advertisement - logging with IS_ZEBRA_DEBUG_PACKET. - -2000-04-17 Kunihiro Ishiguro - - * zserv.c (zebra_client_close): Remove client structure from - client_list when connection is terminated. - -2000-03-21 David Lipovkov - - * 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 - - * rtread_getmsg.c: Set some definition for Solaris 2.5 and Solaris - 2.5.1. - -2000-01-21 Kunihiro Ishiguro - - * rib.c (no_ipv6_route_ifname): Fix buf of cheking return value - from str2prefix_ipv6(). - -2000-01-14 Kunihiro Ishiguro - - * 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 - * interface.*: dynamic int up/down support - -1999-12-09 Kunihiro Ishiguro - - * 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 - - * kernel_socket.c (rtm_read): When message is RTM_GET, it has own - process's pid. - -1999-12-04 Kunihiro Ishiguro - - * main.c (main): Change to default log output to ZLOG_STDOUT. - - * zserv.c (zebra_serv): More detailed error print. - -1999-11-30 Kunihiro Ishiguro - - * kernel_socket.c (rtm_read): Check old pid for static route - insertion check. - -1999-11-30 Kunihiro Ishiguro - - * 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 - - * kernel_socket.c (rtm_write): Set RTF_CLONING flag for - route to the directly connected interface. - -1999-11-27 Kunihiro Ishiguro - - * rt_socket.c: Delete USE_HOST_BIT definition. - -1999-11-21 Michael Handler - - * rtread_getmsg.c: Undef some definition to resolve conflict. - -1999-11-27 Kunihiro Ishiguro - - * kernel_socket.c (rtm_write): Change to use pre stored struct_dl - value for gateway specification. - -1999-11-25 Kunihiro Ishiguro - - * 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 - - * Makefile.am (EXTRA_DIST): Add rtread_getmsg.c. - -1999-11-21 Michael Handler - - * rtread_getmsg.c: Added for Solaris 2.6 support. - -1999-11-18 Kunihiro Ishiguro - - * 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 - - * client_main.c: Disable making obsolete zebra test `client' - command. - -1999-10-18 Kunihiro Ishiguro - - * 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 - - * 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 - - * Fix serious bug of IPv6 route deletion. - -1999-09-11 Kunihiro Ishiguro - - * ioctl.c (if_set_prefix): Properly set broadcast address. - -1999-09-04 Yasuhiro Ohara - - * rib.c (rib_add_ipv6, rib_delete_ipv6): now protocol daemons - can install connected route to kernel via zebra - -1999-08-24 VOP - - * rib.c: Include "sockunion.h" - -1999-08-22 Kunihiro Ishiguro - - * 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 - - * zebra.h (ZEBRA_INTERFACE_ADDRESS_ADD): - ZEBRA_INTERFACE_{ADD,DELETE} added. - -1999-08-15 Kunihiro Ishiguro - - * 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 - - * zebra.h: New Zebra message ZEBRA_INTERFACE_{ADD,DELETE} added. - -1999-08-09 Kunihiro Ishiguro - - * interface.h: New file. - * Makefile.am: Add interface.h - -1999-08-04 Yasuhiro Ohara - - * redistribute.c (zebra_redistribute): give ifindex to client. - -1999-08-02 Kunihiro Ishiguro - - * main.c (longopts): -k, --keep_kernel option added. - -1999-07-18 Yasuhiro Ohara - - * rt_socket.c (rtm_write): forgot closing socket bug fixed. - -1999-07-17 Yasuhiro Ohara - - * rib.c (show_ipv6_cmd): if rib is link show interface name. - -1999-07-17 Yasuhiro Ohara - - * rt_socket.c (rtm_write): use sockaddr_dl when null gateway. - -1999-07-16 Yasuhiro Ohara - - * rt_socket.c (rtm_write): ipv6 route table bug fixed. - -1999-07-15 Yasuhiro Ohara - - * zebra.c (zebra_read_ipv6): read link prefix from ospf6 support - -1999-07-15 Yasuhiro Ohara - - * rt_socket.c (kernel_rtm_ipv6): gate treatment bug fixed. - -1999-07-15 Kunihiro Ishiguro - - * if_sysctl.c (ifm_read): Clear sockunion argument before fetching - data. Suggested by "Chris P. Ross" - -1999-07-08 HEO SeonMeyong - - * interface.c (if_tun_add): Add KAME's gif tunnel setting codes. - -1999-06-26 Kunihiro Ishiguro - - * zebra.c (zebra_serv): Only accept loopback address connection. - -1999-06-25 Kunihiro Ishiguro - - * zebra.h (ZEBRA_ROUTE_EXTERNAL): Add zebra messages flags - -1999-06-17 Kunihiro Ishiguro - - * ipforward_proc.c: ipforward_on () and ipforward_off () added. - -1999-06-14 Kunihiro Ishiguro - - * ipforward_proc.c (ipforward_ipv6): Check for IPv6 forwarding - using /proc file system is added. - -1999-06-06 Kunihiro Ishiguro - - * if_ioctl.c (if_get_index): Interface index set bug is fixed by - adding #else at the middle of function. Suggested by David Luyer - . - -1999-05-29 - - * rt_ioctl.c: Comment out #include . - -1999-05-26 Kunihiro Ishiguro - - * zebra.h (ZEBRA_ROUTE_MAX): Add new define for the max value of - the sort of routes. - -1999-05-25 Patrick Koppen - - * 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 - - * redistribute.c (zebra_check_addr): Added for loopback address - check. - -1999-05-15 Kunihiro Ishiguro - - * 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 - - * 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 - - * rt_netlink.c: Change log () to zlog (). - -1999-05-07 - - * zebra.h (ZEBRA_ROUTE_OSPF6): Added for ospf6d route. - -1999-04-20 Kunihiro Ishiguro - - * interface.c: Add `no ip address' command. - -1999-04-10 Kunihiro Ishiguro - - * rt_netlink.c (kernel_read): Function added for asynchronous - zebra between kernel communication. - -1999-03-25 Kunihiro Ishiguro - - * rtread_sysctl.c (rtm_read): Fix address memcopy overrun bug. - Reported by Achim Patzner . - -1999-03-03 Kunihiro Ishiguro - - * Makefile.am: Install configuration sample with 600 permission. - -1999-03-02 Kunihiro Ishiguro - - * Makefile.am: Add -I.. to INCLUDES. - -1999-02-18 Peter Galbavy - - * syslog support added - -1999-02-17 Peter Galbavy - - * 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 - - * interface.c: Header include added. - -1998-12-14 Kunihiro Ishiguro - - * rt.h (kernel_delete_ipv6): change int index to unsigned int index. - -1998-12-13 Kunihiro Ishiguro - - * if_ioctl.c (interface_list_ioctl): interface flag must be - checked before check addresses of the interface. - -1998-12-07 Kunihiro Ishiguro - - * Makefile.am (INCLUDES): add @INCLUDES@ for Linux IPv6. - -1998-10-14 Kunihiro Ishiguro - - * ioctl.c: Linux version before 2.1.0 need interface route setup. - -1998-09-15 HEO SeonMeyong - - * change HYDRANGEA to KAME - -1998-09-01 Kunihiro Ishiguro - - * 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 - - * main.c (main): batch mode option '-b' added. - -1998-08-16 Kunihiro Ishiguro - - * 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 - - * rib.c (rib_add_ipv6): delete rib_add_in6. - -1998-07-27 Kunihiro Ishiguro - - * main.c: retain flag is added. - -1998-07-08 Kunihiro Ishiguro - - * rtable.[ch]: merged with rib.[ch] - -1998-07-07 Kunihiro Ishiguro - - * connected.h: renamed from ifa.h. - -1998-06-09 Kunihiro Ishiguro - - * 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 - - * rt_netlink.c: renamed from krt_netlink.c - - * fib.c: deleted. - * rt_kvm.c: deleted. - * rtread_getmsg.c: deleted. - -1998-06-07 Kunihiro Ishiguro - - * if.c (multicast): add multicast flag [un]set fucntion. - -1998-05-19 Yamshita TAKAO - - * 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 - - * zebra.c: Modify for compile on Solaris. - -1998-05-03 Kunihiro Ishiguro - - * main.c: change CONFDIR to SYSCONFDIR. - -1998-05-01 Kunihiro Ishiguro - - * .cvsignore: added. - -1998-04-02 Kunihiro Ishiguro - - * client.c: moves to ../lib. - -1998-03-30 Kunihiro Ishiguro - - * if_ioctl.c (if_get_addr): Change address copy from memcopy() to - structure assignment. - -1998-03-30 URA Hiroshi - - * if_sysctl.c (ifm_interface_add): sdl->sdl_data copy bug fixed. - -1998-02-23 "Hannes R. Boehm" - - * if.c (if_init): add config_exit_cmd and config_help_cmd. - -1998-01-24 Kunihiro Ishiguro - - * rt_ioctl.c (route_ioctl): EPERM treatment added. - -1998-01-05 Kunihiro Ishiguro - - * rt_socket.c (kernel_read): communication port zebra between - kernel is now handled by kernel_read. - -1998-01-02 Kunihiro Ishiguro - - * main.c (main): zebra [-P port] can specify vty port number. - -1997-12-25 Kunihiro Ishiguro - - * zebra.c: change select will be block. - -1997-12-04 Kunihiro Ishiguro - - * add static route treatment. - -1997-11-25 Kunihiro Ishiguro - - * rt_netlink.c: add netlink support over GNU/Linux system. - -1997-11-23 Kunihiro Ishiguro - - * all inet_addr is changed to inet_aton. - - * zebra.c (ip_route): add ip route command for static routes. - -1997-11-20 Kunihiro Ishiguro - - * if.c (if_flag_dump): Linux port of if_flag_dump and _vty. - -1997-11-19 Kunihiro Ishiguro - - * if.c: add interface command. - -1997-11-18 Kunihiro Ishiguro - - * ipforward_proc.c : Now works on Linux. - -1997-10-25 Kunihiro Ishiguro - - * command.c : add completion feature. - -1997-10-18 Kunihiro Ishiguro - - * vty.c (vty_command): add vty interface. - -1997-10-13 Kunihiro Ishiguro - - * zebra.c: add verbose mode. - -1997-10-12 SonMyong Ho - - * Hydrangea for FreeBSD supported - * in.h: add some prototype. - -1997-10-11 Kunihiro Ishiguro - - * rt_socket.c and rtread.c completely rewritten. - -1997-10-05 Kunihiro Ishiguro - - * rt_socket.c: rename kernel_sock to routing_socket - -1997-10-04 Kunihiro Ishiguro - - * if.c (if_new): interface structure change from linklist to vector. - -1997-10-03 Kunihiro Ishiguro - - * vector.c (vector_init): create vector related function - -1997-09-25 Kunihiro Ishiguro - - * Makefile.in: add tags target - - * start IPv6 support for INRIA FreeBSD. - -- cgit v1.2.1