+2005-11-23 Paul Jakma <paul.jakma@sun.com>
+
+ * (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 <paul.jakma@sun.com>
+
+ * 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 <gall@switch.ch>
+
+ * 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 <paul.jakma@sun.com>
+
+ * 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 <paul.jakma@sun.com>
+
+ * 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 <paul.jakma@sun.com>
+
+ * 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 <paul.jakma@sun.com>
+
+ * connected.{c,h}: (connected_{add,delete}_ipv4) label should
+ be const qualified.
+
+2005-10-01 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+ * 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 <ajschorr@alumni.princeton.edu>
+
+ * 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 <alain.ritoux@6wind.com>
+
+ * zserv.c: Always provied distance for route add
+
+2005-09-28 Alain Ritoux <alain.ritoux@6wind.com>
+
+ * connected.c: flag connected_up_ipv6() and connected_down_ipv6()
+ usage with HAVE_IPV6
+
+2005-09-24 Hasso Tepper <hasso at quagga.net>
+
+ * rib.h: Add note about behaviour of rib_add_ipv[46]* functions -
+ add is treated as implicit withdraw.
+
+2005-09-21 David Young <dyoung@ojctech.com>
+
+ * 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 <paul.jakma@sun.com>
+
+ * 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 <paul.jakma@sun.com>
+
+ * (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 <hasso at quagga.net>
* zebra_rib.c, rib.h: Add distance and metric arguments to the