]> git.proxmox.com Git - mirror_frr.git/log
mirror_frr.git
19 years ago2005-06-28 Paul Jakma <paul.jakma@sun.com>
paul [Tue, 28 Jun 2005 12:44:16 +0000 (12:44 +0000)]
2005-06-28 Paul Jakma <paul.jakma@sun.com>

* (global) The great bgpd extern and static'ification.
* bgp_routemap.c: remove unused ROUTE_MATCH_ASPATH_OLD code
  (route_set_metric_compile) fix u_int32_t to ULONG_MAX comparison
  warnings.
* bgp_route.h: (bgp_process, bgp_withdraw, bgp_update) export these
  used by various files which had their own private declarations,
  in the case of mplsvpn - incorrect.

19 years ago2005-06-28 Paul Jakma <paul.jakma@sun.com>
paul [Tue, 28 Jun 2005 00:19:48 +0000 (00:19 +0000)]
2005-06-28 Paul Jakma <paul.jakma@sun.com>

* INSTALL.quagga.txt: GNU make is required now, because of manual
  automatic rules in solaris/Makefile.am. (If someone knows how
  to do these in a better way..).
  GNU AWK is required for CVS checkout builds.

19 years ago * ospf6_abr.[ch], ospf6_area.[ch]: Add area filter-list (in|out)
hasso [Fri, 24 Jun 2005 08:44:02 +0000 (08:44 +0000)]
* ospf6_abr.[ch], ospf6_area.[ch]: Add area filter-list (in|out)
  support and area import and export lists support.

19 years ago * ospf6_message.c: Changed to be insensitive to changes of neighbors'
hasso [Fri, 24 Jun 2005 08:17:51 +0000 (08:17 +0000)]
* ospf6_message.c: Changed to be insensitive to changes of neighbors'
  IP source address in the OSPF packets. It was sometimes problematic
  in actual operation (needed some operational cost: restarting
  all-neighbor routers when I/F NIC was changed). Due to this change,
  a previously safe case, attaching multiple interface to the same
  link will now be dengerous and will not work. Remedy to that should
  be applied later.

[port from GNU Zebra]

19 years ago * ospf6_interface.c: fix the way inactivity_timer is called. Because
hasso [Fri, 24 Jun 2005 07:50:12 +0000 (07:50 +0000)]
* ospf6_interface.c: fix the way inactivity_timer is called. Because
  inactivity_timer() deletes the neighbor from the neighbor_list, it
  cannot be called by thread_execute() from inner side of the
  neighbor_list for-loop.
  (Although crash was already fixed in Quagga, it's better follow the
  GNU Zebra logic).

[port from GNU Zebra]

19 years ago2005-06-24 Pawel Worach <pawel.worach@gmail.com>
paul [Fri, 24 Jun 2005 01:20:25 +0000 (01:20 +0000)]
2005-06-24 Pawel Worach <pawel.worach@gmail.com>

* getopt.h: add further tests for full getopt declaration on
  various systems.

19 years agoFix date.
hasso [Mon, 20 Jun 2005 20:50:10 +0000 (20:50 +0000)]
Fix date.

19 years ago * ospf_nsm.c: Make database exchange for NSSA database work.
hasso [Mon, 20 Jun 2005 20:42:26 +0000 (20:42 +0000)]
* ospf_nsm.c: Make database exchange for NSSA database work.

[backport candidate]

19 years ago2005-06-18 Paul Jakma <paul.jakma@sun.com>
paul [Sat, 18 Jun 2005 16:55:20 +0000 (16:55 +0000)]
2005-06-18 Paul Jakma <paul.jakma@sun.com>

* memtypes.h: update autobuilt file to match memtypes.c changes

19 years ago2005-06-15 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 15 Jun 2005 19:15:35 +0000 (19:15 +0000)]
2005-06-15 Paul Jakma <paul.jakma@sun.com>

* bgpd.c: (bgp_terminate) workqueue's are lazy allocated and its
  possible to terminate bgpd before workqueues were setup, causing
  an abort/crash. Reported by Ashish Mehta of Sun.

19 years ago2005-06-15 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 15 Jun 2005 11:24:44 +0000 (11:24 +0000)]
2005-06-15 Paul Jakma <paul.jakma@sun.com>

* README.txt: updated to match changed SMF manifest and
  its changed service, instance and property group names.

19 years ago2005-06-15 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 15 Jun 2005 11:00:11 +0000 (11:00 +0000)]
2005-06-15 Paul Jakma <paul.jakma@sun.com>

* quagga.xml.in: Pass the FMRI to the method, removing need for
  daemon_name property and deducing the FMRI.
  remove the empty config_file and pid_file definitions, they just
  make things difficult in the method script, cause it then has to
  deal with svcprop returning "" for defined empty properties.
  Remove daemon_name everywhere.
* quagga.init.in: Take the FMRI as an argument
  Remove deducing the FMRI from the defunct daemon_name property.
  Use svcprop -q to test for presence of a property first.
  Default vty_port to 0 and vty_addr to 127.1 if equivalent
  SMF properties are not set.
  Deduce the pid_file, we can infer it from @quagga_statedir@ I
  think, it's probably not useful to allow it to be configurable
  as a property anyway.
  /var/run/ is on tmpfs on Solaris, so we probably will need
  to create @quagga_statedir@ first run after boot.
  Use @sbindir@, not /usr/local/sbin.

19 years ago2005-06-14 Paul Jakma <paul.jakma@sun.com>
paul [Tue, 14 Jun 2005 14:07:07 +0000 (14:07 +0000)]
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

19 years ago2005-06-13 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 13 Jun 2005 13:57:16 +0000 (13:57 +0000)]
2005-06-13 Paul Jakma <paul.jakma@sun.com>

* ospf_spf.c: Try get more information on a SEGV under
  ospf_spf_vertex_add_parent.
  (ospf_vertex_free) NULL out the child and nexthop lists
  (ospf_vertex_add_parent) nexthop and child can not be NULL
  vertex_nexthop's parent->child list can not be NULL
  (ospf_spf_next) w and cw are per-loop iteration variables, move
  declarations into loop body.

19 years ago * rt_netlink.c: Remove unused netlink-addr socket declaration.
hasso [Sun, 12 Jun 2005 11:28:18 +0000 (11:28 +0000)]
* rt_netlink.c: Remove unused netlink-addr socket declaration.
* 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.

[backport candidate] - with stuff commited to rt_netlink.c before to
fix logging in netlink_route_multipath().

19 years ago * ospf_apiserver.c: Fix obvious error in notifying clients about ISM
hasso [Tue, 7 Jun 2005 19:54:04 +0000 (19:54 +0000)]
* ospf_apiserver.c: Fix obvious error in notifying clients about ISM
  changes - oi->ifp->status doesn't give to us info about ISM,
  oi->state does.

[backport candidate]

19 years ago2005-06-03 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 3 Jun 2005 18:01:50 +0000 (18:01 +0000)]
2005-06-03 Paul Jakma <paul.jakma@sun.com>

* ripd.c: (rip_create_socket) Make it static.
  Remove the getservbyname stuff, as RFC2453 3.9.2 says non-RIP
  port messages should be discarded, quagga doesnt accept them,
  no need to lookup port.
  Take a 'to' argument, if socket should be bound to something else.
  setsockopt_so_recvbuf might need privs, move it to the raised
  privileges section.
  dont forget to close the socket if bind fails.
  (rip_send_packet) use strncpy, just in case (address is under
  our control anyway, but still).
  dont duplicate rip_create_socket - just use it.
  (rip_create) rip_create_socket takes an argument now, modify.

19 years ago2005-06-03 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 3 Jun 2005 17:46:49 +0000 (17:46 +0000)]
2005-06-03 Paul Jakma <paul.jakma@sun.com>

* ripd.c: (rip_create_socket) move it up so rip_send_packet
  can use it too.

19 years ago2005-06-02 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 2 Jun 2005 16:33:53 +0000 (16:33 +0000)]
2005-06-02 Paul Jakma <paul.jakma@sun.com>

* quagga.xml.in: Fix mistake in bgpd definition. Change dependency
  on zebra to optional. Remove the duplicated stability statements.
* quagga.init.in: svcprop should check PACKAGE_TARNAME, not _NAME.
  no need to check for config file either, there's already a
  dependency in the manifest.

19 years ago2005-06-01 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 2 Jun 2005 08:22:47 +0000 (08:22 +0000)]
2005-06-01 Paul Jakma <paul.jakma@sun.com>

* NEWS: bgpd work queues and ripd auth-mode change

19 years ago2005-06-01 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 2 Jun 2005 08:20:53 +0000 (08:20 +0000)]
2005-06-01 Paul Jakma <paul.jakma@sun.com>

* rip_interface.c: Fix authentication, no-auth impossible to specify
  (rip_interface_new) default to RIP_NO_AUTH
  (rip_interface_reset) ditto
  (rip_interface_config_write) write out config for simple

19 years ago2005-06-01 Akihiro Mizutani <mizutani@net-chef.net>
paul [Wed, 1 Jun 2005 11:20:51 +0000 (11:20 +0000)]
2005-06-01  Akihiro Mizutani  <mizutani@net-chef.net>

* ospf_ism.c (ospf_elect_bdr/ospf_elect_dr): Fix DR election bug.

19 years ago2005-06-01 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 1 Jun 2005 11:17:05 +0000 (11:17 +0000)]
2005-06-01 Paul Jakma <paul.jakma@sun.com>

* bgpd/(general) refcount struct peer and bgp_info, hence allowing us
  add work_queues for bgp_process.
* bgpd/bgp_route.h: (struct bgp_info) Add 'lock' field for refcount.
  Add bgp_info_{lock,unlock} helper functions.
  Add bgp_info_{add,delete} helpers, to remove need for
  users managing locking/freeing of bgp_info and bgp_node's.
* bgpd/bgp_table.h: (struct bgp_node) Add a flags field, and
  BGP_NODE_PROCESS_SCHEDULED to merge redundant processing of
  nodes.
* bgpd/bgp_fsm.h: Make the ON/OFF/ADD/REMOVE macros lock and unlock
  peer reference as appropriate.
* bgpd/bgp_damp.c: Remove its internal prototypes for
  bgp_info_delete/free. Just use bgp_info_delete.
* bgpd/bgpd.h: (struct bgp_master) Add work_queue pointers.
  (struct peer) Add reference count 'lock'
  (peer_lock,peer_unlock) New helpers to take/release reference
  on struct peer.
* bgpd/bgp_advertise.c: (general) Add peer and bgp_info refcounting
  and balance how references are taken and released.
  (bgp_advertise_free) release bgp_info reference, if appropriate
  (bgp_adj_out_free) unlock peer
  (bgp_advertise_clean) leave the adv references alone, or else
  call bgp_advertise_free cant unlock them.
  (bgp_adj_out_set) lock the peer on new adj's, leave the reference
  alone otherwise. lock the new bgp_info reference.
  (bgp_adj_in_set) lock the peer reference
  (bgp_adj_in_remove) and unlock it here
  (bgp_sync_delete) make hash_free on peer conditional, just in
  case.
* bgpd/bgp_fsm.c: (general) document that the timers depend on
  bgp_event to release a peer reference.
  (bgp_fsm_change_status) moved up the file, unchanged.
  (bgp_stop) Decrement peer lock as many times as cancel_event
  canceled - shouldnt be needed but just in case.
  stream_fifo_clean of obuf made conditional, just in case.
  (bgp_event) always unlock the peer, regardless of return value
  of bgp_fsm_change_status.
* bgpd/bgp_packet.c: (general) change several bgp_stop's to BGP_EVENT's.
  (bgp_read) Add a mysterious extra peer_unlock for ACCEPT_PEERs
  along with a comment on it.
* bgpd/bgp_route.c: (general) Add refcounting of bgp_info, cleanup
  some of the resource management around bgp_info. Refcount peer.
  Add workqueues for bgp_process and clear_table.
  (bgp_info_new) make static
  (bgp_info_free) Ditto, and unlock the peer reference.
  (bgp_info_lock,bgp_info_unlock) new exported functions
  (bgp_info_add) Add a bgp_info to a bgp_node in correct fashion,
  taking care of reference counts.
  (bgp_info_delete) do the opposite of bgp_info_add.
  (bgp_process_rsclient) Converted into a work_queue work function.
  (bgp_process_main) ditto.
  (bgp_processq_del) process work queue item deconstructor
  (bgp_process_queue_init) process work queue init
  (bgp_process) call init function if required, set up queue item
  and add to queue, rather than calling process functions directly.
  (bgp_rib_remove) let bgp_info_delete manage bgp_info refcounts
  (bgp_rib_withdraw) ditto
  (bgp_update_rsclient) let bgp_info_add manage refcounts
  (bgp_update_main) ditto
  (bgp_clear_route_node) clear_node_queue work function, does
  per-node aspects of what bgp_clear_route_table did previously
  (bgp_clear_node_queue_del) clear_node_queue item delete function
  (bgp_clear_node_complete) clear_node_queue completion function,
  it unplugs the process queues, which have to be blocked while
  clear_node_queue is being processed to prevent a race.
  (bgp_clear_node_queue_init) init function for clear_node_queue
  work queues
  (bgp_clear_route_table) Sets up items onto a workqueue now, rather
  than clearing each node directly. Plugs both process queues to
  avoid potential race.
  (bgp_static_withdraw_rsclient) let bgp_info_{add,delete} manage
  bgp_info refcounts.
  (bgp_static_update_rsclient) ditto
  (bgp_static_update_main) ditto
  (bgp_static_update_vpnv4) ditto, remove unneeded cast.
  (bgp_static_withdraw) see bgp_static_withdraw_rsclient
  (bgp_static_withdraw_vpnv4) ditto
  (bgp_aggregate_{route,add,delete}) ditto
  (bgp_redistribute_{add,delete,withdraw}) ditto
* bgpd/bgp_vty.c: (peer_rsclient_set_vty) lock rsclient list peer
  reference
  (peer_rsclient_unset_vty) ditto, but unlock same reference
* bgpd/bgpd.c: (peer_free) handle frees of info to be kept for lifetime
  of struct peer.
  (peer_lock,peer_unlock) peer refcount helpers
  (peer_new) add initial refcounts
  (peer_create,peer_create_accept) lock peer as appropriate
  (peer_delete) unlock as appropriate, move out some free's to
  peer_free.
  (peer_group_bind,peer_group_unbind) peer refcounting as
  appropriate.
  (bgp_create) check CALLOC return value.
  (bgp_terminate) free workqueues too.
* lib/memtypes.c: Add MTYPE_BGP_PROCESS_QUEUE and
  MTYPE_BGP_CLEAR_NODE_QUEUE

19 years ago * ospf6d.c: No need for double ';'. Fixes parsing "show ipv6 ospf6
hasso [Tue, 31 May 2005 10:24:28 +0000 (10:24 +0000)]
* ospf6d.c: No need for double ';'. Fixes parsing "show ipv6 ospf6
  database ..." commands for vtysh by extract.pl. Remove duplicate
  install_element calls.

Fixes bugzilla #194. [backport candidate]

19 years agoIgnore generated prototype.smf.
hasso [Tue, 31 May 2005 09:18:25 +0000 (09:18 +0000)]
Ignore generated prototype.smf.

19 years ago2005-05-31 Paul Jakma <paul.jakma@sun.com>
paul [Tue, 31 May 2005 08:38:50 +0000 (08:38 +0000)]
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.

19 years ago2005-05-29 Paul Jakma <paul@dishone.st>
paul [Sun, 29 May 2005 11:27:24 +0000 (11:27 +0000)]
2005-05-29 Paul Jakma <paul@dishone.st>

* ripd.c: (rip_output_process) fix error which crept in my
  previous rip auth untanglement commit - it had become impossible
  to not have authentication (even for v1).

19 years agoSync bgpd and ripd set_metric_addsub_cmd commands. Fixes bugzilla #192.
hasso [Sat, 28 May 2005 04:50:54 +0000 (04:50 +0000)]
Sync bgpd and ripd set_metric_addsub_cmd commands. Fixes bugzilla #192.
[backport candidate]

19 years ago * bgp_routemap.c: Stop leaking communities.
hasso [Fri, 27 May 2005 03:26:57 +0000 (03:26 +0000)]
* bgp_routemap.c: Stop leaking communities.

Fixes bugzilla #89. [backport candidate]

19 years ago * bgpd.c: Deleting bgp->rsclient list needs fix similar to pree-groups
hasso [Thu, 26 May 2005 22:12:33 +0000 (22:12 +0000)]
* bgpd.c: Deleting bgp->rsclient list needs fix similar to pree-groups
  deleting fix. Avoid leaking bgp->group, bgp->peer and bgp->rsclient
  lists.

[backport candidate]

19 years ago2005-05-26 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 26 May 2005 17:11:13 +0000 (17:11 +0000)]
2005-05-26 Paul Jakma <paul.jakma@sun.com>

* ospf_abr.c: (ospf_abr_update_aggregate) Fix comment, cost bug itself
  had been fixed long ago by Sowmini.

19 years ago * isis_dr.c: Fix copy&paste error in isis_dr_resign().
hasso [Thu, 26 May 2005 11:30:38 +0000 (11:30 +0000)]
* isis_dr.c: Fix copy&paste error in isis_dr_resign().

[backport candidate]

19 years ago * bgpd.c: Don't crash while deleting list of peer-groups.
hasso [Thu, 26 May 2005 08:29:07 +0000 (08:29 +0000)]
* bgpd.c: Don't crash while deleting list of peer-groups.

[backport candidate]

19 years ago * rip_routemap.c: In case of '0.0.0.0' used as 'nexthop', use sender
hasso [Thu, 26 May 2005 06:26:40 +0000 (06:26 +0000)]
* rip_routemap.c: In case of '0.0.0.0' used as 'nexthop', use sender
  address as nexthop in routemap.

Fixes bugzilla #186. [backport candidate]

19 years ago * rip_routemap.c: Make "match interface" routemap command match both -
hasso [Wed, 25 May 2005 21:15:32 +0000 (21:15 +0000)]
* rip_routemap.c: Make "match interface" routemap command match both -
  in and out interfaces.

Fixes bugzilla #185. [backport candidate]

19 years ago * bgpd.c: Fix obvious (routeserver patch) merge error. This makes "no
hasso [Wed, 25 May 2005 21:00:28 +0000 (21:00 +0000)]
* bgpd.c: Fix obvious (routeserver patch) merge error. This makes "no
  neighbor x.x.x.x routemap [export|import] commands work again.

Fixes bugzilla #184. [backport candidate]

19 years ago2005-05-25 Paul Jakma <paul@dishone.st>
paul [Wed, 25 May 2005 12:21:13 +0000 (12:21 +0000)]
2005-05-25 Paul Jakma <paul@dishone.st>

* isisd.c: (show_isis_generated_topology) change to _RO version
  of list macro. remove the extra listnode variable. one of the
  macros had had incorrect number of arguments.

19 years ago2005-05-24 Paul Jakma <paul@dishone.st>
paul [Tue, 24 May 2005 09:33:52 +0000 (09:33 +0000)]
2005-05-24 Paul Jakma <paul@dishone.st>

* memtypes.h: update this auto-built file. (maybe we should just
  remove it, is GNU awk a terrible dependency to have?)

19 years ago2005-05-23 Paul Jakma <paul@dishone.st>
paul [Mon, 23 May 2005 14:19:54 +0000 (14:19 +0000)]
2005-05-23 Paul Jakma <paul@dishone.st>

* bgp_fsm.h: Add extern qualifier to exported functions
* bgp_nexthop.c: add static to nexthop specific globals
* *.h: Add guard defines

19 years ago2005-05-23 Paul Jakma <paul@dishone.st>
paul [Mon, 23 May 2005 13:42:46 +0000 (13:42 +0000)]
2005-05-23 Paul Jakma <paul@dishone.st>

* workqueue.h: Add a WQ_QUEUE_BLOCKED item_status return code,
  to allow a queue function to indicate the queue is not
  ready/blocked - rather than any problem with the item at hand.
  Add a notion of being able to 'plug' and 'unplug' a queue.
  Add helpers to plug/unplug a queue.
  Add a completion callback, to be called when a queue is emptied.
* workqueue.c: (work_queue_new) remove useless list_free.
  (work_queue_schedule) new internal helper function to schedule
  queue, if appropriate.
  (work_queue_add) use work_queue_schedule
  (show_work_queues) Print 'P' if queue is plugged.
  (work_queue_plug) new API function, plug a queue - ie prevent it
  from 'drained' / processed / scheduled.
  (work_queue_unplug) unplug a queue, allowing it to be drained
  / scheduled / processed again.
  (work_queue_run) Add support for WQ_QUEUE_BLOCKED.
  Add comment for RETRY_NOW case.
  Make hysteris more aggresive in ramping up granularity, improves
  performance significantly.
  Add support for calling completion callback when queue is emptied,
  possibly useful for knowing when to unplug a queue.

19 years ago2005-05-23 Paul Jakma <paul@dishone.st>
paul [Mon, 23 May 2005 13:17:29 +0000 (13:17 +0000)]
2005-05-23 Paul Jakma <paul@dishone.st>

* bgp_routemap.c: add semi-colons to VTY_GET_* to match vty.h change

19 years ago2005-05-23 Paul Jakma <paul@dishone.st>
paul [Mon, 23 May 2005 12:43:34 +0000 (12:43 +0000)]
2005-05-23 Paul Jakma <paul@dishone.st>

* routemap.c: (rmap_onmatch_goto) fix crash if 'continue' command
  is used, which does not supply an argv[0].
  this is a backport candidate /iff/ the trailing ; is removed
  from VTY_GET_INTEGER_RANGE
* vty.h: fix the VTY_GET macros, do {..} while(0) so they have
  correct function like syntax in usage.

19 years ago2005-05-23 Paul Jakma <paul@dishone.st>
paul [Mon, 23 May 2005 12:33:58 +0000 (12:33 +0000)]
2005-05-23 Paul Jakma <paul@dishone.st>

* memtypes.awk: use character classes, which work correctly in
  all LC_COLLATE environments, unlike A-Z, which doesnt work in
  eg estonian collate order. Reported by Hasso.

19 years ago2005-05-19 Paul Jakma <paul@dishone.st>
paul [Thu, 19 May 2005 02:13:28 +0000 (02:13 +0000)]
2005-05-19 Paul Jakma <paul@dishone.st>

* memtypes.c: (memory_list_bgp) add MTYPE_BGP_PEER_HOST

19 years ago2005-05-19 Paul Jakma <paul@dishone.st>
paul [Thu, 19 May 2005 02:12:25 +0000 (02:12 +0000)]
2005-05-19 Paul Jakma <paul@dishone.st>

* bgp_network.c: (bgp_accept) use XSTRDUP
* bgpd.c: (peer_delete) XFREE the correct memtype, not free.
  (peer_create) use XSTRDUP
* bgp_packet.c: (bgp_stream_dup) deleted, stream_dup should be used
  (various) update -> s/bgp_stream_dup/stream_dup

19 years ago2005-05-19 Paul Jakma <paul@dishone.st>
paul [Thu, 19 May 2005 01:50:11 +0000 (01:50 +0000)]
2005-05-19 Paul Jakma <paul@dishone.st>

* bgp_fsm.c: (bgp_stop) use sockunion_free, not XFREE..
* bgp_network.c: (bgp_getsockname) ditto
* bgp_routemap.c: (route_match_peer) ditto, als use a ret value and
  remove one sockunion_free.
* bgpd.c: (peer_delete) ditto

19 years ago2005-05-19 Paul Jakma <paul@dishone.st>
paul [Thu, 19 May 2005 01:37:50 +0000 (01:37 +0000)]
2005-05-19 Paul Jakma <paul@dishone.st>

* sockunion.c: (sockunion_getsockname) use MTYPE_SOCKUNION, not TMP
  (sockunion_getpeername) ditto

19 years ago2005-05-19 Paul Jakma <paul@dishone.st>
paul [Thu, 19 May 2005 01:30:53 +0000 (01:30 +0000)]
2005-05-19 Paul Jakma <paul@dishone.st>

* thread.c: (thread_cancel_event) the number of pending events
  cancelled is potentially useful information, dont throw it away,
  pass it back to the caller.

19 years ago2005-05-19 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 18 May 2005 23:29:57 +0000 (23:29 +0000)]
2005-05-19 Paul Jakma <paul.jakma@sun.com>

* ospf_interface.c: (ospf_if_table_lookup) Fix a serious bug
  a less serious one.
  1: this function is supposed to lookup
  entries in the oifs ospf_interface route_table and return either
  an existing oi or NULL to indicate not found, its caller depends
  on this, yet this function uses route_node_get which /always/
  returns a route_node - one is created if none exists. Use
  route_node_lookup instead. This should fix root cause of the
  reports of the (ospf_add_to_if) assert being hit.
  2: oi's are inserted into this table with prefixlength set to
  /32 (indeed, it should be a hash table, not a route_table),
  however prefixlength to lookup was not changed, if no valid entry
  can be inserted other than /32, then nothng but /32 should be
  looked up. This possibly only worked by fluke..
  Fix confirmed by 2 reporters (one list, one IRC), definitely a
  backport candidate once it has been incubated in HEAD for a while.
  Thanks to Patrick Friedel and Ivan Warren for testing.

19 years ago2005-05-15 Paul Jakma <paul@dishone.st>
paul [Sun, 15 May 2005 14:25:08 +0000 (14:25 +0000)]
2005-05-15 Paul Jakma <paul@dishone.st>

* getopt.h: It's not just __GNU_LIBRARY__ which defines
  getopt, eg __EXTENSIONS__ does too on SunOS. It still seems
  awfully fragile though.
* getopt.c: include zebra.h after config.h, before including
  getopt.h so that things at least are consistent..
* getopt1.c: ditto

19 years ago- revert the commenting of touch doc/quagga.info, wont work because
paul [Fri, 13 May 2005 20:11:53 +0000 (20:11 +0000)]
- revert the commenting of touch doc/quagga.info, wont work because
  defines.texi is autogenerated every configure time so it will always
  be newer than quagga.info, and hence require quagga.info to be built. drat.

19 years ago2005-05-13 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 13 May 2005 07:26:07 +0000 (07:26 +0000)]
2005-05-13 Paul Jakma <paul.jakma@sun.com>

* prototype.daemons.in: Move the Solaris 10 SMF specific stuff to
  a seperate package.
* depend.smf: dependencies for smf package
* pkginfo.smf.tmpl.in: pkginfo for smf
* prototype.smf.in: prototype for smf
* Makefile.am: Add smf to pkg_names

19 years ago- Forgot to commit ChangeLog
paul [Fri, 13 May 2005 07:16:28 +0000 (07:16 +0000)]
- Forgot to commit ChangeLog

19 years ago2005-05-13 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 13 May 2005 07:15:35 +0000 (07:15 +0000)]
2005-05-13 Paul Jakma <paul.jakma@sun.com>

* quagga.xml.in: Sigh, XML child elements are order-sensitive.
* prototype.doc.in: info/dir doesnt get created always.. comment
  out for now, likely needs to be done with an install method.

19 years ago2005-05-13 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 13 May 2005 07:09:50 +0000 (07:09 +0000)]
2005-05-13 Paul Jakma <paul.jakma@sun.com>

* configure.ac: Comment out the touch doc/quagga.info hack. I'm
  hoping it's not needed anymore, cause it breaks out of tree builds
  which i've become fond of.. Plus I think we sorted out most of
  the original problems (updated texinfo.tex, moved the version
  info to an autogenerated by automake version.texi). Dist users
  most definitely wont be affected.

19 years ago2005-05-11 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 11 May 2005 18:09:59 +0000 (18:09 +0000)]
2005-05-11 Paul Jakma <paul.jakma@sun.com>

* (general) Fix memory leaks in opaque AS-scope LSAs, reported and
  with much debugging done by by scott collins <scollins@agile.tv>.
  (possible backport candidate?)
* ospf_lsa.c: (ospf_discard_from_db) dont call
  ospf_ase_unregister_external_lsa for opaque-lsa's, opaques are
  never registered with ase in the first place.
* ospf_packet.c: (general) Disabuse opaque related code of its
          tendency to try gather up things into temporary lists.
          (ospf_ls_upd) remove the temporary lists opaque uses, call
          opaque functions inline, just like all other types.
          (ospf_ls_ack) ditto.
          (ospf_recv_packet) fixup sign warning.
        * ospf_opaque.c: (general) fix the unneeded use of lists, and
          untwist some of the logic.
          (ospf_opaque_self_originated_lsa_received) take a single LSA
          as argument, not a list of them. Remove the list loop. Logic
          otherwise unchanged.
          (ospf_opaque_ls_ack_received) Mostly ditto. But untwist the logic,
          move the actions up into the switch block, remove the goto's and
          sanitise the logic near the end a bit.
        * ospf_opaque.h: Adjust definitions of aforementioned functions
          in ospf_opaque.c to match.

19 years ago2005-05-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Wed, 11 May 2005 15:56:21 +0000 (15:56 +0000)]
2005-05-11 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* rip_interface.c (rip_interface_add): Need to call
  rip_passive_interface_apply (was already calling it in
  rip_interface_up).

[backport candidate]

19 years ago2005-05-07 Yar Tikhiy <yar@comp.chem.msu.su>
paul [Sat, 7 May 2005 02:22:51 +0000 (02:22 +0000)]
2005-05-07 Yar Tikhiy <yar@comp.chem.msu.su>

* configure.ac: Check for OSes which support passing ifindex in
  struct ip_mreq.
* lib/sockopt.c: Add support for BSD style ifindex in ip_mreq.
* ospfd/ospf_network.c: Log ifindex on multicast membership leave/join
  events.

19 years ago2005-05-06 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 6 May 2005 21:37:42 +0000 (21:37 +0000)]
2005-05-06 Paul Jakma <paul.jakma@sun.com>

        * (general) extern and static qualifiers added.
          unspecified arguments in definitions fixed, typically they should
          be 'void'.
          function casts added for callbacks.
          Guards added to headers which lacked them.
          Proper headers included rather than relying on incomplete
          definitions.
          gcc noreturn function attribute where appropriate.
        * ospf_opaque.c: remove the private definition of ospf_lsa's
          ospf_lsa_refresh_delay.
        * ospf_lsa.h: export ospf_lsa_refresh_delay
        * ospf_packet.c: (ospf_make_md5_digest) make *auth_key const,
          correct thing to do - removes need for the casts later.
        * ospf_vty.c: Use vty.h's VTY_GET_INTEGER rather than ospf_vty's
          home-brewed versions, shuts up several warnings.
        * ospf_vty.h: remove VTY_GET_UINT32. VTY_GET_IPV4_ADDRESS and
          VTY_GET_IPV4_PREFIX moved to lib/vty.h.
        * ospf_zebra.c: (ospf_distribute_list_update_timer) hacky
          overloading of the THREAD_ARG pointer should at least use
          uintptr_t.

19 years ago2005-05-06 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 6 May 2005 21:27:33 +0000 (21:27 +0000)]
2005-05-06 Paul Jakma <paul.jakma@sun.com>

* zserv.h: Remove ZEBRA_PORT definition, its in lib/zebra.h now

19 years ago2005-05-06 Paul Jakma <paul@dishone.st>
paul [Fri, 6 May 2005 21:25:49 +0000 (21:25 +0000)]
2005-05-06 Paul Jakma <paul@dishone.st>

* (general) extern and static'ification of functions in code and
  header.
  Cleanup any definitions with unspecified arguments.
  Add casts for callback assignments where the callback is defined,
  typically, as passing void *, but the function being assigned has
  some other pointer type defined as its argument, as gcc complains
  about casts from void * to X* via function arguments.
  Fix some old K&R style function argument definitions.
  Add noreturn gcc attribute to some functions, as appropriate.
  Add unused gcc attribute to some functions (eg ones meant to help
  while debugging)
  Add guard defines to headers which were missing them.
* command.c: (install_node) add const qualifier, still doesnt shut
  up the warning though, because of the double pointer.
  (cmp_node) ditto
* keychain.c: (key_str2time) Add GET_LONG_RANGE() macro, derived
  fromn vty.h ones to fix some of the (long) < 0 warnings.
* thread.c: (various) use thread_empty
  (cpu_record_hash_key) should cast to uintptr_t, a stdint.h type
* vty.h: Add VTY_GET_IPV4_ADDRESS and VTY_GET_IPV4_PREFIX so they
  removed from ospfd/ospf_vty.h
* zebra.h: Move definition of ZEBRA_PORT to here, to remove
  dependence of lib on zebra/zserv.h

19 years ago * sockunion.c: Fix warning message.
hasso [Fri, 6 May 2005 19:33:35 +0000 (19:33 +0000)]
* sockunion.c: Fix warning message.

19 years ago2005-05-03 Paul Jakma <paul@dishone.st>
paul [Tue, 3 May 2005 09:27:23 +0000 (09:27 +0000)]
2005-05-03 Paul Jakma <paul@dishone.st>

* (general) More cleaning up of stream abuse, isisd should be
  back to previous functionality. Replace various XMALLOC+memset's
  with XCALLOC
* isis_tlv.c: (tlv_add_padding) use stream_put to clear the stream
  rather than forward endp, as isisd reuses streams.
* isis_pdu.c: (process_lsp) cleanup direct reference to stream endp
  (send_lsp) manual copy of a stream cleaned up to use stream_copy.
* isis_network.c: (isis_recv_pdu_bcast) replace direct memcpy with
  stream_write
  (isis_recv_pdu_p2p) replace recvfrom directly into stream with
  stream_recvfrom. Remove dangerous and now unneeded manual update
  of endp.
  (isis_recv_pdu_bcast / non-GNU_LINUX) Replace direct memcpy with
  stream_write.
  (isis_recv_pdu_p2p) replace read direct into stream with
  stream_read_try, and hence remove the manual update of endp.
* isis_lsp.c: (lsp_update_data) manual stream dup replaced with
  stream_dup.
  (lsppdu_realloc) mempcy into stream data replaced with stream_put.
  (lsp_build_nonpseudo) remove mysterious stream_forward_endp's -
  which were originally stream_set_putp - shouldn't be needed
  now that all the manual fiddling of private stream data has been
  corrected.
  (build_topology_lsp_data) remove unneeded twiddling of endp,
  appears to be due to lsppdu_realloc(), but it appears to sort of
  do the right thing wrt streams.

19 years ago2005-05-03 Paul Jakma <paul@dishone.st>
paul [Tue, 3 May 2005 09:07:56 +0000 (09:07 +0000)]
2005-05-03 Paul Jakma <paul@dishone.st>

* stream.h: Add comment about the special zero-ing ability of
  stream_put.
  (stream_recvmsg, stream_write) should return ssize_t and size_t
  respectively. Should both be extern linkage.
  (stream_recvfrom) Stream aware wrapper around recvfrom, in style
  of stream_read_try.
* stream.c: (stream_recvfrom) new function, wrapper around recvfrom.
  (stream_recvmsg, stream_write) ssize_t and size_t return values

19 years ago2005-04-29 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 29 Apr 2005 03:20:54 +0000 (03:20 +0000)]
2005-04-29 Paul Jakma <paul.jakma@sun.com>

* NEWS: Added some more 0.99 news.
* configure.ac: bump to 0.99.1 (0.99.0 was never released except
  via CVS snapshots)

19 years ago2005-04-29 Paul Jakma <paul@dishone.st>
paul [Fri, 29 Apr 2005 03:16:42 +0000 (03:16 +0000)]
2005-04-29 Paul Jakma <paul@dishone.st>

* defines.texi.in: Add PACKAGE_NAME, PACKAGE_STRING.
* quagga.texi: Use PACKAGE_NAME, this is more to give me an excuse
  to update quagga.texi so that the 'UPDATED' in version.texi will
  be more recent, the Makefile seems to be dumb and not examine
  the texi files from which quagga.texi is generated.
* quagga.info: Fresh copy to match updates.

19 years ago2005-04-28 Paul Jakma <paul@dishone.st>
paul [Thu, 28 Apr 2005 18:21:15 +0000 (18:21 +0000)]
2005-04-28 Paul Jakma <paul@dishone.st>

* quagga.info: updated
* Makefile.am: automake seems to depend doc built stuff on srcdir
  for some reason, or maybe its cause we have quagga.info,
  quagga.texi in CVS - not sure. Anyway, the static rule for
  quagga.pdf should depend on the srcdir quagga.texi in that case.

19 years ago2005-04-28 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 28 Apr 2005 18:19:08 +0000 (18:19 +0000)]
2005-04-28 Paul Jakma <paul.jakma@sun.com>

* NEWS: Added some 0.99 news

19 years ago2005-04-28 Paul Jakma <paul@dishone.st>
paul [Thu, 28 Apr 2005 17:45:37 +0000 (17:45 +0000)]
2005-04-28 Paul Jakma <paul@dishone.st>

* quagga.info: updated

19 years ago2005-04-28 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 28 Apr 2005 17:35:14 +0000 (17:35 +0000)]
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.

19 years ago2005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Thu, 28 Apr 2005 01:31:13 +0000 (01:31 +0000)]
2005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

Add wall-clock timing statistics to 'show thread cpu' output.
* thread.h: Define struct rusage_t to contain wall-clock time
  and cpu time.  Change GETRUSAGE macro to collect both pieces
  of data.  Make appropriate changes to struct cpu_thread_history
  to track CPU time and real time.  Change proto for
  thread_consumed_time to return real and cpu time elapsed.
  And declare a new global variable 'struct timeval recent_time'.
* thread.c (struct timeval recent_time): New global timestamp variable.
  (timeval_adjust): If timeout is negative, set to 0 (not 10
  microseconds).  And remove upper bound of 1,000,000 seconds, since
  this does not seem to make any sense (and it breaks
  funcname_thread_add_timer_timeval).
  (timeval_cmp): Should return long, not int.
  (vty_out_cpu_thread_history): Show CPU time and real time.
  (cpu_record_hash_print): Calculate totals for CPU and real time.
  (cpu_record_print): Change 'show thread cpu' title to show CPU and
  real time.
  (thread_timer_remain_second): Put current time in global recent_time.
  (funcname_thread_add_timer_timeval): Fix assert.  Replace 2-case
  switch assignment with a ternary expression.  Use global recent_time
  variable.  Fix use of timeval_adjust (previously, the value was not
  actually being adjusted).
  (thread_cancel): Add missing "break" statement in case
  THREAD_BACKGROUND.
  (thread_timer_wait): Use global recent_time value instead of calling
  gettimeofday.  And there's no need to check for negative timeouts,
  since timeval_subtract already sets these to zero.
  (thread_timer_process): Timers are sorted, so bail out once we
  encounter a timer that has not yet popped.  And remove some
  extraneous asserts.
  (thread_fetch): Do not process foreground timers before calling
  select.  Instead, add them to the ready list just after the select.
  Also, no need to maintain a count of the number of ready threads,
  since we don't care how many there are, just whether there's
  one at the head of the ready list (which is easily checked).
  Stick current time in global variable recent_time to reduce
  the number of calls to gettimeofday.  Tighten logic for
  calculating the select timeout.
  (thread_consumed_time): Now returns real time and puts the elapsed
  cpu time in an additional argument.
  (thread_should_yield): Use real (wall-clock) time to decide whether
  to yield.
  (thread_call): Maintain CPU and real time statistics.
* vty.c (vty_command): For slow commands, show real and cpu time.

19 years ago2005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Wed, 27 Apr 2005 16:29:54 +0000 (16:29 +0000)]
2005-04-27 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* workqueue.c (show_work_queues): Remove unused gettimeofday call.

19 years ago2005-04-27 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 27 Apr 2005 12:44:54 +0000 (12:44 +0000)]
2005-04-27 Paul Jakma <paul.jakma@sun.com>

* memory.h: memtypes is built source, default includes points to
  top_builddir, so we should refer to lib/memtypes.h

19 years ago2005-04-27 Paul Jakma <paul.jakma@sun.com>
paul [Wed, 27 Apr 2005 12:39:27 +0000 (12:39 +0000)]
2005-04-27 Paul Jakma <paul.jakma@sun.com>

* workqueue.h: (struct work_queue_item) change retry_count to ran,
  its a count of number item has been run.
* workqueue.c: (show_work_queues) Fix formating of slightly
  bugfix: fix SIGFPE if wq->runs is 0.
  (work_queue_run) retry logic was slightly wrong.
  cycles.best is 0 initialy, granularity is 1, so update best
  if cycles >= granularity, not just >.

19 years ago2005-04-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Tue, 26 Apr 2005 17:14:30 +0000 (17:14 +0000)]
2005-04-26 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* buffer.c (buffer_write): Comment out call to buffer_flush_available.
  This should speed up buffering at the expense of a possible increase
  in latency in flushing the data if inside a long-running thread.

19 years ago2005-04-26 Paul Jakma <paul.jakma@sun.com>
paul [Tue, 26 Apr 2005 02:35:03 +0000 (02:35 +0000)]
2005-04-26 Paul Jakma <paul.jakma@sun.com>

* quagga.xml.in: New, better, single integrated manifest for all
  the services, courtesy of alan.maguire@sun.com.
* {{ospf,ospf6,rip,ripng,bgp}d,zebra}.xml.in: removed due to
  previous
* quagga.init.in: Use the package tarname for properties, use
  the correct daemon name variable.
* Makefile.am: Updated to match single manifest
* prototype.daemons.in: ditto

19 years ago- build isisd per default
paul [Tue, 26 Apr 2005 02:23:44 +0000 (02:23 +0000)]
- build isisd per default

19 years ago2004-05-25 Paul Jakma <paul@dishone.st>
paul [Mon, 25 Apr 2005 16:42:24 +0000 (16:42 +0000)]
2004-05-25 Paul Jakma <paul@dishone.st>

* main.c: new file, common 'main' portion which then calls
  test_init.
* heavy.c: remove common portions now in 'main.
* heavy-wq.c: ditto
* heavy-thread.c: ditto
* heavy*.c: Set the slow_function iteration number lower, to 300, it
  was several orders of magnitude too 'slow' to be useful. :)
* Makefile.am: main is a source of the tests. heavy should link
  to the math library.

19 years ago- forgot to commit changelog, belongs to previous commit.
paul [Mon, 25 Apr 2005 16:29:10 +0000 (16:29 +0000)]
- forgot to commit changelog, belongs to previous commit.

19 years ago2005-04-25 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 25 Apr 2005 16:26:42 +0000 (16:26 +0000)]
2005-04-25 Paul Jakma <paul.jakma@sun.com>

* workqueue.{c,h}: Helper API for setting up and running queues via
  background threads.
* command.c: install the 'show workqueues' command
* memtypes.c: Add work queue mtypes, and a rib-queue type for
  a zebra rib work queue.
* memtypes.h: Updated to match memtypes.c
* Makefile.am: Add new workqueue files to build.

19 years ago- make various defines conditional, so that they can be specified from
paul [Mon, 25 Apr 2005 15:13:42 +0000 (15:13 +0000)]
- make various defines conditional, so that they can be specified from
  the rpmbuild commandline, eg rpmbuild --define 'keep_build 1'

19 years ago2005-04-25 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 25 Apr 2005 14:53:46 +0000 (14:53 +0000)]
2005-04-25 Paul Jakma <paul.jakma@sun.com>

* thread.c: Kill unused TIMER_NO_SORT bits

19 years ago- arg, fix the missing slash. Beat myself with the diff of the last commit
paul [Mon, 25 Apr 2005 14:18:43 +0000 (14:18 +0000)]
- arg, fix the missing slash. Beat myself with the diff of the last commit
  to HACKING (which I added..)

19 years ago2005-04-25 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 25 Apr 2005 14:02:44 +0000 (14:02 +0000)]
2005-04-25 Paul Jakma <paul.jakma@sun.com>

* memory.c: Make the string field much wider
* memtypes.c: Correct the prefix list str/entry strings

19 years ago2005-04-25 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 25 Apr 2005 13:52:26 +0000 (13:52 +0000)]
2005-04-25 Paul Jakma <paul.jakma@sun.com>

* Makefile.am: Refer to source files via srcdir variable, fix
  out-of-tree build breakage.

19 years ago2005-04-25 Paul Jakma <paul.jakma@sun.com>
paul [Mon, 25 Apr 2005 00:37:03 +0000 (00:37 +0000)]
2005-04-25 Paul Jakma <paul.jakma@sun.com>

* HACKING: Add some notes about build system changes, to
  document common oversights (common for me anyway).
  Seperate sections with two newlines, easier to read.

19 years ago2005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Fri, 22 Apr 2005 14:23:34 +0000 (14:23 +0000)]
2005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* thread.h: Fix type for struct thread_master add_type: should be
  unsigned char.  Also, add some documentation of thread_add_background
  args.  And remove extraneous declaration of
  show_thread_work_queues_cmd.

19 years ago2005-04-22 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 22 Apr 2005 13:44:17 +0000 (13:44 +0000)]
2005-04-22 Paul Jakma <paul.jakma@sun.com>

* memory.h: Move include of memtypes.h to after the definition of
  struct memory_list, gcc 4.0 doesn't like arrays of incomplete
  types.

19 years ago2005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Fri, 22 Apr 2005 13:14:49 +0000 (13:14 +0000)]
2005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* bgpd.8,isisd.8,ospf6d.8,ospfd.8,ripd.8,ripngd.8,zebra.8: Fix
  spelling mistake: idenifier -> identifier.

19 years ago2005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
ajs [Fri, 22 Apr 2005 12:56:37 +0000 (12:56 +0000)]
2005-04-22 Andrew J. Schorr <ajschorr@alumni.princeton.edu>

* bgpd.8,isisd.8,ospf6d.8,ospfd.8,ripd.8,ripngd.8,zebra.8: Fix
  spelling mistake: intrefaces -> interfaces.

19 years ago- fix comment
paul [Fri, 22 Apr 2005 00:57:03 +0000 (00:57 +0000)]
- fix comment

19 years ago2004-05-22 Paul Jakma <paul@dishone.st>
paul [Fri, 22 Apr 2005 00:54:44 +0000 (00:54 +0000)]
2004-05-22 Paul Jakma <paul@dishone.st>

* Makefile.am: Build heavythread

19 years ago2004-05-22 Paul Jakma <paul@dishone.st>
paul [Fri, 22 Apr 2005 00:50:08 +0000 (00:50 +0000)]
2004-05-22 Paul Jakma <paul@dishone.st>

* heavy-thread.c: Andrew Schorr's adaptation of heavy.c to use a
  background thread to avoid responsivity problems.

19 years ago2005-04-22 Paul Jakma <paul.jakma@sun.com>
paul [Fri, 22 Apr 2005 00:43:47 +0000 (00:43 +0000)]
2005-04-22 Paul Jakma <paul.jakma@sun.com>

* thread.h: Add background thread type and thread_add_background
  macro and accompanying funcname_... function.
  export thread_should_yield, background threads can use it.
  Lower thread yield time to 10ms, 100ms is noticeable lag and
  a thread would only be /starting/ to finish sometime afterward.
* thread.c: (general) Add background thread type and schedule
  nearly all thread types through the ready list for fairness.
  (timeval_adjust) static qualifier missing
  (vty_out_cpu_thread_history) add support for printout of
  background threads
  (show_thread_cpu) ditto.
  (thread_master_debug) add debug of background list
  (thread_master_create) fixup long line
  (thread_add_unuse) add asserts for required state.
  (thread_master_free) free background thread list
  (funcname_thread_add_timer_timeval) make generic, able to
  support arbitrary timer-like thread types.
  (funcname_thread_add_timer) pass thread type to .._add_timer_timeval
  (funcname_thread_add_timer_msec) ditto
  (funcname_thread_add_background) Add a background thread, with an
  optional millisecond delay factor, using .._add_timer_timeval.
  (thread_cancel) Add background thread type.
  Move the thread_list_delete common to all cases to bottom of
  function, after the switch statement..
  (thread_cancel_event) indent
  (thread_timer_wait) Static qualifier, and make it able to cope
  with arbitrary timer-like thread lists, so its of use to
  background threads too.
  (thread_process_fd) static qualifier. Again, make it take a list
  reference rather than thread_master. Fix indentation.
  (thread_timer_process) Check for ready timer-like threads in the
  given list and move them on to the ready list - code originally
  embedded in thread_fetch.
  (thread_fetch) Schedule all threads, other than events, through
  the ready list, to ensure fairness. Timer readying code moved to
  thread_timer_process so it can be reused for background threads.
  Remove the unneeded quagga_sigevent_process, as pointed out by
  John Lin <john.ch.lin@gmail.com>.
  (thread_should_yield) make this available.

19 years ago- bah, commit changelog
paul [Thu, 21 Apr 2005 17:23:48 +0000 (17:23 +0000)]
- bah, commit changelog

19 years ago2004-05-21 Paul Jakma <paul@dishone.st>
paul [Thu, 21 Apr 2005 16:58:44 +0000 (16:58 +0000)]
2004-05-21 Paul Jakma <paul@dishone.st>

* heavy.c: Add a timer thread to demonstrate thread interactivity,
  Add a daemon_exit command to assist with debugging (eg for memory
  tracers, etc..)

19 years ago2005-04-21 Paul Jakma <paul.jakma@sun.com>
paul [Thu, 21 Apr 2005 10:24:43 +0000 (10:24 +0000)]
2005-04-21 Paul Jakma <paul.jakma@sun.com>

* Makefile.am: pkginfo.%.tmpl is a generated file, srcdir prefix
  is not appropriate.

19 years agoThere is no RIPv3. It is a RIPng (by the way for your information, the version of...
jardin [Wed, 20 Apr 2005 09:38:17 +0000 (09:38 +0000)]
There is no RIPv3. It is a RIPng (by the way for your information, the version of RIPng is v1).

19 years ago2005-04-20 Paul Jakma <paul@dishone.st>
paul [Wed, 20 Apr 2005 09:08:27 +0000 (09:08 +0000)]
2005-04-20 Paul Jakma <paul@dishone.st>

* Makefile.am: Add @INCLUDES@ and srcdir to allow out-of-tree
  builds to work.

19 years ago2004-05-19 Paul Jakma <paul@dishone.st>
paul [Tue, 19 Apr 2005 21:28:36 +0000 (21:28 +0000)]
2004-05-19 Paul Jakma <paul@dishone.st>

* heavy.c: test programme to show how long-running functions
  kill responsiveness. Demonstrating the most niggly problem
  left in bgpd.