| Age | Commit message (Collapse) | Author | 
|---|
|  | * ospfd.c: (ospf_network_match_iface) revert to previous network
          statement match behaviour. | 
|  | * 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. | 
|  | * ospf_packet.c: (ospf_ls_upd_packet_new) Format for size_t should
          be ld.
	* 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. | 
|  | * 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. | 
|  |  | 
|  | * ospfd/ospf_packet.c: setsockopt_pktinfo -> setsockopt_ifindex
	* zebra/irdp_main.c: ditto | 
|  | * 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. | 
|  | ripd might need some more testing though. | 
|  | initializes connection, and "no smux peer" command terminates it. Fixes
bugzilla #47 and #112. | 
|  | reducing various configure options. | 
|  |  | 
|  |  | 
|  | * (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. | 
|  | * 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. | 
|  |  | 
|  | * 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. | 
|  | * ospf_snmp.c: Missed list typedef update
	* ospf_dump.c: Include sockopt.h for header swab functions. | 
|  | * ospf_packet.c: replace ospf_swap_iph_to... with
          sockopt_iphdrincl_swab_... | 
|  |  | 
|  | * 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. | 
|  | * ospf_packet.c: (ospf_write) (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. | 
|  |  | 
|  | * ospf_apiserver.{c,h}: (ospf_apiserver_term) loops calling
          ospf_apiserver_free, which deletes referenced nodes from
          apiserver_list, fixed. | 
|  |  | 
|  | * 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_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_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. | 
|  | support of more significant changes not in this commit.  The last item
in the ChangeLog below may be needed for p2mp to work correctly.
2004-08-31  David Wiggins  <dwiggins@bbn.com>
	* hash.c (hash_iterate): Save next pointer before calling
	procedure, so that iteration works even if the called procedure
	deletes the hash backet.
	* linklist.h (listtail): new macro, not yet used.
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. | 
|  |  | 
|  | * ospf_spf.c (ospf_nexthop_calculation): Initialize address family
          in on-stack struct prefix_ipv4.  Fixes point-to-multipoint SPF
          calculation. | 
|  | * 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. | 
|  | * ospf_packet.c: update to match sockopt renames. | 
|  | * 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. | 
|  | * 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. | 
|  | * 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. | 
|  | * ospf_network.c: Replace PKTINFO/RECVIF with call to
          setsockopt_pktinfo
        * ospf_packet.c: Use getsockopt_pktinfo_ifindex and
          SOPT_SIZE_CMSG_PKTINFO_IPV4. | 
|  | * 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. | 
|  |  | 
|  | libzebra and libospfapiclient are now built shared, and linked shared
with the daemons.  This reduces the memory needed when running
multiple daemons; each daemon is at least 150k smaller.  Static
libraries are still built, and libtool should use them on platforms
which don't have shared libaries.  As with autoconf, the user of a
distribution does not need libtool; one just needs that to build from
CVS.
libospf.a is still a non-shared library, and still installed, not
because that makese sense, but because I don't understand why it is
the way it is now.
Note that the tree was tagged 'libtool-before' just before this commit. | 
|  |  | 
|  | * ospf_dump.c,ospf_lsa.c: Fix typos of merge of previous.
          ospf_flood.c: (ospf_process_self_originated_lsa) fix zlog format. | 
|  | * 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. | 
|  | used in route-map used to filter redistributions.
* Move ospf_prefix_list_update() function from ospfd.c to ospf_zebra.c. | 
|  | * bgp_zebra.c: (bgp_interface_address_add) sync to zclient changes
         (bgp_interface_address_delete) ditto.
         (bgp_zebra_announce) ditto.
         (bgp_zebra_withdraw) ditto.
       * isis_zebra.c: Sync with zclient changes.
       * zclient.c (zapi_ipv4_route) Follow Sowmini's lead and describe
         message format.
       * ospf6_zebra.c: Sync to zclient changes
       * ospf_zebra.c: Sync with lib/zclient changes
       * rip_zebra.c: sync with zclient changes.
       * rip_interface.c: ditto.
       * ripng_{interface,zebra}.c: sync with zclient changes
2004-05-08 Sowmini Varadhan <sowmini.varadhan@sun.com>
       * zclient.c: (zapi_ipv4_add) collapsed into zapi_ipv4_route
         (zapi_ipv4_delete) ditto.
         (zapi_ipv4_route) add/delete a route by way of cmd arg.
         (zapi_ipv6_add) collapsed into zapi_ipv6_route.
         (zapi_ipv6_delete) ditto.
         (zapi_ipv6_route) add/delete a route by way of cmd arg.
         (zebra_interface_address_delete_read) collapsed into
         zebra_interface_address_read.
         (zebra_interface_address_delete_read) ditto.
         (zebra_interface_address_read) read address add/delete messages
         by way of type argument. Describe command message format.
         (zebra_interface_add_read) Unconditionally read new ifmtu6 field.
         Describe command message format.
         (zebra_interface_state_read) Unconditionally read new ifmtu6 field.
         (zclient_redistribute_set) Collapsed into zclient_redistribute
         (zclient_redistribute_unset) ditto
         (zclient_redistribute) set/unset redistribution.
         (zclient_redistribute_default_set) Collapsed into
         zclient_redistribute_default.
         (zclient_redistribute_default_unset) ditto.
         (zclient_redistribute_default) Redistribute default set/unset.
       * zclient.h: delete zapi_ipv{4,6}_add, zapi_ipv{4,6}_delete. Add
         zapi_ipv{4,6}_route. delete zclient_redistribute_set/unset. Add
         zclient_redistribute. Ditto for
         zclient_redistribute_default_{set/unset}. | 
|  | * ospf_network.c: (ospf_sock_init) Check whether IP_HDRINCL is
          defined. Warn at compile and runtime. Use
          IPTOS_PREC_INTERNETCONTROL otherwise. | 
|  | * ospf_interface.c: (ospf_vl_set_params) Catch changes of interface
          address for either end of a virtual-link, and hence potential cost
          changes. | 
|  | * 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. | 
|  |  | 
|  |  | 
|  | warnings and update documentation. |