]> git.proxmox.com Git - mirror_frr.git/blobdiff - ospfd/ChangeLog
2005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
[mirror_frr.git] / ospfd / ChangeLog
index 27454aa28f36abcc30d40780a7e88333150adb81..2f58678136c75b37caa4cf15cc84e9ac4d1f1878 100644 (file)
@@ -1,3 +1,522 @@
+2005-02-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * ospf_packet.c: (ospf_read) Fix bug: must check for state ISM_Down,
+         not for event ISM_InterfaceDown.  And improve the message by
+         adding the interface flags.
+
+2005-01-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * ospf_network.c: (ospf_sock_init) Save errno before calling
+         ospfd_privs.change.
+
+2005-01-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * ospf_packet.c: (ospf_packet_add) If oi->obuf is NULL, print
+       an error message and return.
+       (ospf_read) If the interface state is ISM_InterfaceDown, issue
+       a warning message and ignore the packet.
+
+2005-01-10  Greg Troxel  <gdt@fnord.ir.bbn.com>
+
+       * ospf_packet.h: Remove commented out definition of
+       OSPF_MAX_PACKET; neither it or the uncommented one are used any more.
+
+       * ospf_packet.c (ospf_make_ls_upd): Leave room for authentication
+       when deciding if an update will fit.
+       (ospf_packet_authspace): Factor out calculation of size required
+       for authentication.
+       (ospf_make_db_desc): Use ospf_max_packet, not OSPF_MAX_PACKET.
+       Don't confuse readers that there is a macro.
+
+2004-12-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * ospf_network.c: Improve all setsockopt error messages to give detailed
+         information on the arguments.
+
+2004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * ospf_packet.c: (ospf_db_desc) Reduce severity of "Negotiation done"
+         messages from LOG_WARNING to LOG_INFO, since this seems to be
+         normal.
+
+2004-12-29 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * ospf_packet.c: (ospf_read) Always look up the interface if
+         ospf_recv_packet returns NULL ifp, since some platforms such
+         as Solaris 8 appear to support ifindex retrieval but don't.
+
+2004-12-22 Hasso Tepper <hasso at quagga.net>
+
+       * ospf_dump.c: Show debug configuration in vtysh.
+       * ospf_vty.c: Fix "show ip ospf" output. Router can't be elected in
+         any case if it's configured as "translate-never".
+       * ospf_lsdb.[ch]: New function to calculate sum of checksums.
+       * ospf_vty.c: Bugfix to show really number of AS external LSAs, not
+         number of all LSAs with AS scope, this includes opaque as LSAs as
+         well, show this number separately. Show numbers and sums of
+         checksums for each type of LSAs.
+       * ospf_lsa.c: Calculate checksum before putting LSA into database.
+
+2004-12-15 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * ospf_interface.h: Declare new function ospf_default_iftype.
+       * ospf_interface.c: (ospf_default_iftype) New function to centralize
+         this logic in one place.
+       * ospf_zebra.c: (ospf_interface_add) Use new function
+         ospf_default_iftype.
+       * ospf_vty.c: (no_ip_ospf_network,config_write_interface) Fix logic
+         by using new function ospf_default_iftype.
+
+2004-12-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * ospf_packet.c: (ospf_db_desc) Should be static, not global.
+         (ospf_hello,ospf_db_desc,ospf_ls_upd,ospf_ls_ack) Improve warning
+         messages to include identifying information (e.g. router id).
+       * ospf_nsm.c: (nsm_change_state) Improve info message to include
+         router id and state names.
+
+2004-12-09  Greg Troxel  <gdt@fnord.ir.bbn.com>
+
+       * ospf_apiserver.c (ospf_apiserver_term): Obtain struct
+       ospf_apiserver * from listnode.  Remove unused variables.  Follows
+       suggestion from Jay Fenlason.
+
+2004-12-08 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * *.c: Change level of debug messages to LOG_DEBUG.
+
+2004-12-07 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * ospf_main.c: (main) The 2nd argument to openzlog has been removed.
+
+2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * ospf_packet.c: (ospf_db_desc) Reduce priority on a debug message
+         from LOG_NOTICE to LOG_DEBUG.
+
+2004-12-03 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * ospf_main.c: (sigint) Use zlog_notice for termination message.
+         (main) Issue a startup announcement using zlog_notice.
+
+2004-11-30 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * ospf_packet.c: (ospf_db_desc_proc) Fix spelling of packet in warning
+         message and in comment.
+         (ospf_db_desc) Warning message that a packet is being discarded
+         should give the router id of the packet source.  Fix spelling
+         of packet in two warning messages.
+         (ospf_ls_req) Warning message that a link state request is being
+         discarded should give the router id of the neighbor that sent it.
+
+2004-11-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
+
+       * ospf_main.c: Remove #include "debug.h" (was not being used, and
+         lib/debug.h has now been deleted).
+
+2004-11-25 Hasso Tepper <hasso at quagga.net>
+
+       * ospf_main.c: Make group to run as configurable.
+
+2004-11-15  Greg Troxel  <gdt@fnord.ir.bbn.com>
+
+       * ospf_packet.c (ospf_recv_packet): Assume CMSG_SPACE is present
+       and works (lib/zebra.h provides if OS doesn't).
+
+2004-11-15 Paul Jakma <paul@dishone.st>
+
+       * ospf_{apiserver,te}.c: ospf_lsa_free's should be ospf_lsa_unlock.
+
+2004-11-12 Paul Jakma <paul@dishone.st>
+
+       * ospf_ia.c: (process_summary_lsa) Only an ABR has any reason to
+          ignore stub area summary default. Even so it seems a strange
+          check, add a comment to that effect.
+
+2004-11-04 Paul Jakma <paul@dishone.st>
+
+       * ospfd.c: (ospf_network_match_iface) revert to previous network
+          statement match behaviour.
+
+2004-11-02 Paul Jakma <paul@dishone.st>
+
+       * ospf_packet.c: (ospf_write_frags) remove iov arg, msg already points
+         to it. Add convenience pointer to msg->msg_iov[1], and use this,
+         fixing the unfortunate borkenness introduced in moving of this code 
+         to a function.
+         (ospf_write) remove iovp and fix up call to previous.
+         (ospf_ls_upd_packet_new) cast size to long int - unfortunately 
+          glibc's size_t format modifier is not portable.
+
+2004-10-31 Paul Jakma <paul@dishone.st>
+
+       * ospf_packet.c: (ospf_write_frags) Add debug output
+         (ospf_write) set type early, so we can pass it to
+         ospf_write_frags.
+         (ospf_ls_upd_packet_new) print size in debug output when too large
+         packet is encountered.
+       * ospf_zebra.c: (ospf_distribute_list_update_timer) Ugly misuse of
+         THREAD_ARG to store an integer, but it should at least use same
+          same type to retrieve the value. Assert value is sane.
+
+2004-10-22 Paul Jakma <paul@dishone.st>
+
+       * ospf_network.c: (ospf_sock_init) call neutral setsock_ifindex()
+          function.
+        * ospf_packet.c: (ospf_read) manually look up ifindex
+          if system could not have returned one, eg openbsd, thanks to Rivo
+         Nurges for highlighting problem and fix.
+          Change setsockopt_pktinfo to setsockopt_ifindex.
+
+2004-10-19 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+       * ospf_snmp.c: (ospf_snmp_if_update) Fix logic to handle PtP links
+         with dedicated subnets properly.
+       * ospf_lsa.c: (lsa_link_ptop_set) ditto.
+       * ospfd.c: (ospf_network_match_iface) ditto.
+         (ospf_network_run) ditto.
+       * ospf_interface.c: (ospf_if_is_configured) ditto.
+         (ospf_if_lookup_by_prefix) ditto.
+         (ospf_if_lookup_recv_if) ditto.
+       * ospf_vty.c: (show_ip_ospf_interface_sub) Display the peer or
+         broadcast address if present.
+
+2004-10-13 Hasso Tepper <hasso at quagga.net>
+
+       * ospf_main.c: Unbreak compilation with ospfapi disabled.
+       * ospf_snmp.c: Remove defaults used to initialize smux connection to
+         snmpd. Connection is initialized only if smux peer is configured.
+
+2004-10-12 Hasso Tepper <hasso at quagga.net>
+
+       * ospf_main.c, ospf_opaque.c: Unbreak ospfclient compilation - move
+         static variable from ospf_main.c into ospf_opaque.c.
+
+2004-10-11 Hasso Tepper <hasso at quagga.net>
+
+       * ospf_main.c, ospf_opaque.c: Disable ospfapi init by default. New
+         command line switch to enable it.
+
+2004-10-11 Paul Jakma <paul@dishone.st>
+
+       * ospf_dump.c: (ospf_ip_header_dump) Assume header is in host order
+         remove ntohs that should have dissappeared. Take struct ip
+         as argument, caller has to know there's an IP header at start of
+         stream anyway.
+       * ospf_dump.h: update declaration of ospf_ip_header_dump.
+       * ospf_packet.c: (ospf_write) correct call to 
+         sockopt_iphdrincl_swab_htosys which was munging the header.
+         (ospf_recv_packet) ip_len is needed for old OpenBSD fixup.
+         (ospf_read) sockopt_iphdrincl_swab_systoh ip header as soon as
+         we have it.
+       * (global) Const char update and signed/unsigned fixes.
+       * (various headers) size defines should be unsigned.
+       * ospf_interface.h: remove duplicated defines, include the
+         authoritative header - though, these defines should probably
+          be moved to a dedicated header, or ospfd.h.
+       * ospf_lsa.h: (struct lsa) ls_seqnum should be unsigned.
+       * ospf_packet.c: (ospf_write) cast result of shift to unsigned.
+         
+2004-10-08 Hasso Tepper <hasso at quagga.net>
+       
+       * *.[c|h]: Fix compiler warnings: make some strings const, signed ->
+         unsigned, remove unused variables etc.
+
+2004-10-07  Greg Troxel  <gdt@claude.ir.bbn.com>
+
+       * ospf_apiserver.c (ospf_apiserver_unregister_opaque_type): Don't
+       use of variable names 'node' and 'nextnode' to avoid possible
+       conflict with list macros.  Move variable declaration inside for
+       loop after a statement to top of function.
+
+2004-10-07 Paul Jakma <paul@dishone.st>
+
+       * ospf_snmp.c: Missed list typedef update
+       * ospf_dump.c: Include sockopt.h for header swab functions.
+
+2004-10-05 Paul Jakma <paul@dishone.st>
+
+       * ospf_packet.c: replace ospf_swap_iph_to... with
+          sockopt_iphdrincl_swab_...
+
+2004-10-03 James R. Leu <jleu at mindspring.com>
+
+       * ospf_zebra.c: Read router id related messages from zebra daemon.
+         Schedule router-id update thread if it's changed.
+       * ospfd.c: Remove own router-id selection function. Use router id from
+         zebra daemon if it isn't manually overriden in configuration.
+
+2004-09-27 Paul Jakma <paul@dishone.st>
+
+       * ospf_dump.c: (ospf_ip_header_dump) Use HAVE_IP_HDRINCL_BSD_ORDER
+         Apply to offset too. Print ip_cksum, lets not worry about
+         possible 2.0.37 compile problems.
+       * ospf_packet.c: (ospf_swap_iph_to{n,h}) Use
+         HAVE_IP_HDRINCL_BSD_ORDER.
+         (ospf_recv_packet) ditto.
+         (ospf_write) Fixup iov argument to ospf_write_frags.
+          (struct msghdr).msg_name is caddr_t on most platforms.
+         (ospf_recv_packet) ditto. And msg_flags is not always there
+          memset struct then set fields we care about rather than 
+          initialise all fields individually.
+
+2004-09-26 Hasso Tepper <hasso at quagga.net>
+
+       * ospf_abr.c, ospf_dump.c, ospf_lsa.c, ospf_packet.c, ospf_vty.c,
+         ospf_zebra.c: Fix compiler warnings.
+
+2004-09-24 Paul Jakma <paul@dishone.st>
+
+        * ospf_apiserver.{c,h}: lists typedef removal cleanup.
+          update some list loops to LIST_LOOP. some miscellaneous indent
+          fixups.
+          (ospf_apiserver_unregister_opaque_type) fix listnode_delete of
+          referenced node in loop.
+         (ospf_apiserver_term) loops calling ospf_apiserver_free, which
+          deletes referenced nodes from apiserver_list, fixed.
+        * ospf_interface.h: lists typedef removal cleanup.
+        * ospf_opaque.{c,h}: lists typedef removal cleanup. update some list 
+          loops to LIST_LOOP. miscellaneous style and indent fixups.
+        * ospf_te.{c,h}: ditto
+       * ospf_packet.c: lists typedef removal cleanup.
+          (ospf_write) ifdef fragmentation support. move actual
+         fragmentation out to a new, similarly ifdefed, function.
+         (ospf_write_frags) fragmented write support, moved from previous.
+
+2004-09-23 Hasso Tepper <hasso at quagga.net>
+
+       * *.[c|h]: list -> struct list *, listnode -> struct listnode *.
+
+2004-09-12 Paul Jakma <paul@dishone.st>
+
+       * ospf_packet.c: Fix bugzilla #107
+         (ospf_packet_max) get rid of the magic 88 constant
+         (ospf_swab_iph_ton) new function. set ip header to network order,
+         taking BSDisms into account.  
+         (ospf_swab_iph_toh) the inverse. 
+         (ospf_write) Add support for IP fragmentation, will only work on
+         linux though, other kernels make it impossible. get rid of the
+         magic 4 constant.  
+         (ospf_make_ls_upd) Bound check to end of stream, not to 
+         interface mtu.  
+         (ospf_ls_upd_packet_new) New function, allocate upd packet
+         taking oversized LSAs into account.
+         (ospf_ls_upd_queue_send) use ospf_ls_upd_packet_new to allocate,
+         rather than statically allocating mtu sized packet buffer, which
+         actually was wrong - it didnt take ip header into account, which
+         should not be included in packet buffer.
+         (ospf_ls_upd_send_queue_event) minor tweaks and remove
+         TODO comment.
+         
+2004-08-31  David Wiggins  <dwiggins@bbn.com>
+
+       * ospf_spf.c (ospf_spf_calculate): Many more comments and debug
+         print statements.  New function ospf_vertex_dump used in debugging.
+
+2004-08-31  David Wiggins  <dwiggins@bbn.com>
+
+       * ospf_spf.h (struct vertex): Comments for flags and structure members.
+
+2004-08-31  David Wiggins  <dwiggins@bbn.com>
+
+       * ospf_route.c: When finding an alternate route, log cost as well.
+
+2004-08-31  David Wiggins  <dwiggins@bbn.com>
+
+       * ospf_interface.c (ospf_lookup_if_params): Initialize af in
+         struct prefix allocated on stack.
+
+2004-08-31  David Wiggins  <dwiggins@bbn.com>
+
+       * ospf_packet.c (ospf_ls_ack_send_delayed): In p2mp mode, send
+         acks to AllSPFRouters, rather than All-DR.
+
+2004-08-27  Hasso Tepper  <hasso at quagga.net>
+
+       * ospf_vty.c: Don't print ospf network type under interface only
+         if interface is in broadcast mode and interface type really is
+         broadcast. Fixes Bugzilla #108.
+
+2004-08-27  David Wiggins  <dwiggins@bbn.com>
+
+       * ospf_spf.c (ospf_nexthop_calculation): Initialize address family
+         in on-stack struct prefix_ipv4.  Fixes point-to-multipoint SPF
+         calculation.
+
+2004-08-26  Greg Troxel  <gdt@fnord.ir.bbn.com>
+
+       * ospf_packet.c (ospf_recv_packet): adjust size declaration of
+         buffer used to get interface index so that it compiles on other
+         than Linux and includes the required alignment space.  Probably
+         this was only working on sparc/sparc64 because most of
+         sockaddr_dl was not being written.
+
+2004-08-19 Paul Jakma <paul@dishone.st>
+
+       * ospf_packet.c: update to match sockopt renames.
+       
+2004-08-04 Paul Jakma <paul@dishone.st>
+
+       * ospf_spf.c: (ospf_spf_consider_nexthop) Add comment about issue.
+         Compare only against list head - all nexthops must be same cost
+         anyway, fixes a reference-listnode-after-delete bug noted by
+         Kir Kostuchenko.
+         (ospf_nexthop_calculation) Use ospf_spf_consider_nexthop for all
+         candidates attached to root.
+         
+2004-07-27 Paul Jakma <paul@dishone.st>
+
+        * ospf_packet.c: (ospf_ls_upd_send_queue_event) fix thinko from
+          last fix for ospfd wedging due to oversize LSAs: dont list loop on
+          ospf_ls_upd_queue_send() - guaranteed segfault.
+          
+2004-07-27 Paul Jakma <paul@dishone.st>
+
+       * ospf_opaque.c: (ospf_opaque_lsa_flush_schedule) do not NULL out
+         the LSA as then free_opaque_info_per_id() can never unlock (and
+         free) the LSA. Reported by Gunnar Stigen.
+         
+2004-07-23 Paul Jakma <paul@dishone.st>
+
+       * ospf_network.c: Replace PKTINFO/RECVIF with call to
+         setsockopt_pktinfo
+       * ospf_packet.c: Use getsockopt_pktinfo_ifindex and
+         SOPT_SIZE_CMSG_PKTINFO_IPV4.
+
+2004-07-14 Paul Jakma <paul@dishone.st>
+
+       * ospf_packet.c: (ospf_ls_upd_send_queue_event) Partial fix for 
+         problem reported by Peter Frost amongst others, where function
+         will spin indefinitely if update list contains LSAs greater than
+         MTU-headers or other condition leading to update list never being
+          cleared. Problem of what to do with these LSAs remains.
+          (ospf_make_ls_upd) add comment about large LSA problem,
+         indentation cleanup.
+
+2004-07-01  Greg Troxel  <gdt@fnord.ir.bbn.com>
+
+       * Makefile.am (lib_LTLIBRARIES): make libospf shared
+
+2004-06-30  Greg Troxel  <gdt@poblano.ir.bbn.com>
+
+       * Makefile.am: Add shlib support.
+
+2004-06-10 Hasso Tepper <hasso@estpak.ee>
+
+       * *: Removed ifdefs HAVE_NSSA.
+
+2004-06-06 Paul Jakma <paul@dishone.st>
+
+       * ospf_dump.c,ospf_lsa.c: Fix typos of merge of previous.
+         ospf_flood.c: (ospf_process_self_originated_lsa) fix zlog format
+
+2004-05-31 Sagun Shakya <sagun.shakya@sun.com>
+
+       * ospf_dump.c: (ospf_lsa_header_dump) LOOKUP can return null if
+         index is out of range.
+         ospf_flood.c: endianness fix
+         ospf_lsa.c: Missing ntohl's on (struct lsa *)->data->ls_seqnum
+         in various places.
+         
+2004-05-10 Hasso Tepper <hasso@estpak.ee>
+
+       * ospf_zebra.c, ospfd.c: Move ospf_prefix_list_update() function
+         to ospf_zebra.c from ospfd.c and add redistribution updates if
+         route-map is used in redistribution.
+       * ospf_main.c: Remove now useless call to ospf_init().
+
+2004-05-08 Paul Jakma <paul@dishone.st>
+
+       * ospf_zebra.c: Sync with lib/zclient changes
+       
+2004-05-05 Paul Jakma <paul@dishone.st>
+
+       * ospf_network.c: (ospf_sock_init) Check whether IP_HDRINCL is
+         defined. Warn at compile and runtime. Use 
+         IPTOS_PREC_INTERNETCONTROL otherwise.
+       * ospf_packet.c:  (ospf_associate_packet_vl) cleanup, move 
+         some of the checks up to ospf_read, return either a 
+         virtual link oi, or NULL. 
+         (ospf_read) Cleanup, make it responsible for checks. Remove
+         the nbr lookup - moved to ospf_neighbor. Adjust all nbr
+         lookups to use new wrappers exported by ospf_neighbor.
+       * ospf_neighbor.h: Add ospf_neigbour_get and ospf_nbr_lookup.
+       * ospf_neighbor.c: (ospf_neigbour_get) Index ospf_interface 
+         neighbour table by router-id for virtual-link ospf_interfaces, 
+         not by peer_addr (which breaks for asymmetric vlinks)
+         (ospf_nbr_lookup) add a wrapper for nbr lookups to deal with
+         above.
+       * ospf_interface.c: (ospf_vl_set_params) Catch changes of interface
+         address for either end of a virtual-link, and hence potential cost
+         changes.
+         
+2004-04-22 Hasso Tepper <hasso@estpak.ee>
+
+       * ospf_zebra.c: Don't ignore reject/bh routes, it's the only way
+         to "summarize" routes in ASBR at the moment.
+
+2004-04-20 Hasso Tepper <hasso@estpak.ee>
+
+       * ospfd.c: Unset NP flag if area is going to be normal or stub.
+         Fixes UNH OSPF_NSSA.1.2a comment.
+       * ospf_abr.c: Originate default into stub/nssa area even if
+         summaries are disabled.
+       * ospf_zebra.c: Don't attempt to redistribute 127.0.0.0/8.
+
+2004-04-19 Hasso Tepper <hasso@estpak.ee>
+
+       * ospf_vty.c: Don't warn that export- and import-list can't be
+         configured to backbone area if they are applied and are working
+         fine.
+
+2004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
+
+       * ospf_packet.c: Don't drop packets in Solaris x86.
+         [quagga-dev 1005].
+
+2004-03-18 Amir Guindehi <amir@datacore.ch>
+
+       * ospf_opaque.c: Attempt to correct the incorrect behavior of
+       Quagga's ospfd in the special situation that a node's opaque
+       capability has changed as "ON -> OFF -> ON". [quagga-dev 843].
+
+2004-02-19 Sowmini Varadhan <sowmini.varadhan@sun.com>
+
+       * ospf_abr.c: (ospf_abr_update_aggregate) UNH 3.12b,c, address range
+         should be configured with the highest cost path within the range,
+         not lowest.
+         
+2004-02-17 Paul Jakma <paul@dishone.st>
+
+       * ospf_zebra.c: (ospf_interface_delete) Do not delete the interface
+         params, nor the interface structure, if an interface delete 
+         message is received from zebra.
+       * ospf_interface.c: (ospf_if_delete_hook) Delete the interface
+         params and interface, ie that which was previously removed in
+         (ospf_interface_delete) above.
+
+2004-02-11 Hasso Tepper <hasso@estpak.ee>
+       * ospf_interface.c, ospf_zebra.c: Don't attempt to read path->oi->ifp
+         if oi doesn't exist any more.
+
+2004-02-11 Vadim Suraev <vadim.suraev@terayon.com>
+       * ospf_packet.c (ospf_ls_upd): Router should flush received network
+         LSA if it was originated with older router-id ([zebra 14710] #6).
+
+2003-12-08 Mattias Amnefelt <mattiasa@kth.se>
+
+       * ospf_packet.c: (ospf_recv_packet) OpenBSD now leaves iph.ip_len 
+         network byte order.
+
+2003-12-05  Greg Troxel  <gdt@poblano.ir.bbn.com>
+
+       * ospfd.c (ospf_network_match_iface): Rewrite code for clarity
+       while trying not to change semantics.  Add ifdefed-out code to
+       avoid matching ppp interfaces whose destination address does not
+       also match the prefix under consideration, to help out people with
+       problems due to as-yet-unfixed bugs with p2p interfaces coming and
+       going.
+
 2003-07-25 kamatchi soundaram <kamatchi@tdd.sj.nec.com>
 
         * ospf_packet.c (ospf_ls_upd_send_queue_event): get next route