]> git.proxmox.com Git - mirror_frr.git/blobdiff - zebra/ChangeLog
2005-06-28 Paul Jakma <paul.jakma@sun.com>
[mirror_frr.git] / zebra / ChangeLog
index 59c154dd662fba2ca78e575dbddcd17f70184de9..f215266c46735bfc070ba8b2fac3bb5b80569589 100644 (file)
@@ -1,3 +1,173 @@
+2005-06-28 Paul Jakma <paul.jakma@sun.com>
+
+       * (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
+         
+
+2005-06-14 Paul Jakma <paul.jakma@sun.com>
+
+       * 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 <hasso at quagga.net>
+
+       * 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 <paul.jakma@sun.com>
+
+       * 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 <paul.jakma@sun.com>
+
+       * zserv.h: Remove ZEBRA_PORT definition, its in lib/zebra.h now
+
+2005-04-28 Paul Jakma <paul.jakma@sun.com>
+
+       * 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 <paul@dishone.st>
+
+       * if_ioctl_solaris.c: (if_lookup_linklocal) fix order of args
+         in ALL_LIST_ELEMENTS_RO macro.
+
+2005-04-10 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * 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 <hasso at quagga.net>
+
+       * rt_netlink.c: One tiny missing comma caused pointless debug messages
+         about IPv6 nexthops.
+
+2005-04-09 Hasso Tepper <hasso at quagga.net>
+
+       * 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 <paul@dishone.st>
+
+       * 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 <ajschorr@alumni.princeton.edu>
+
+       * 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 <ajschorr@alumni.princeton.edu>
+
+       * 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 <ajschorr@alumni.princeton.edu>
+
+       * 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 <hasso at quagga.net>
+
+       * 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 <ajschorr@alumni.princeton.edu>
+
+       * 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 <ajschorr@alumni.princeton.edu>
 
        * rt_netlink.c: (netlink_link_change) If the status of an