<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tteras/quagga/lib/ChangeLog, branch zrm.patch</title>
<subtitle>tteras' quagga tree
</subtitle>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/'/>
<entry>
<title>[lib] Bug #134: threads should be more robust against backward time jumps</title>
<updated>2006-08-27T06:44:02+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-08-27T06:44:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=db9c0df934e62835bc09604a7ae7932693b4254a'/>
<id>db9c0df934e62835bc09604a7ae7932693b4254a</id>
<content type='text'>
2006-08-25 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* thread.c: (general) Add support for monotonic clock, it may still
	  jump forward by huge amounts, but should be immune to going
	  backwards. Fixes bug #134.
	  (quagga_gettimeofday_relative_adjust) helper, does what name
	  says - adjusts gettimeofday based relative timer.
	  (quagga_gettimeofday) helper to keep recent_time up to date.
	  (quagga_get_relative) helper, update and getch the relative
	  timer using gettimeofday(). POSIX CLOCK_MONOTONIC is also
	  supported, but the code is not enabled yet nor tested.
	  (quagga_real_stabilised) helper, retrieve absolute time but
	  stabilised so as to never decrease.
	  (quagga_gettime) Exported interface, analogous to POSIX
	  clock_gettime() in interface, supporting several clocks.
	  (quagga_time) Exported interface, analogous to traditional
	  time(), will never decrease.
	  (recent_relative_time) Convenience function to retrieve
	  relative_time timeval, similar to existing recent_time absolute
	  timeval, for when an approximately recent value will do.
	  (remainder) Update to use above helpers.
	  (thread_getrusage) Previously was a macro, but needs to be
	  a function to twiddle with thread.c private stuff.
	* thread.c: Point the GETRUSAGE macro at previous function.
	  Export quagga_gettime, quagga_time and recent_relative_time for
	  general use.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-08-25 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* thread.c: (general) Add support for monotonic clock, it may still
	  jump forward by huge amounts, but should be immune to going
	  backwards. Fixes bug #134.
	  (quagga_gettimeofday_relative_adjust) helper, does what name
	  says - adjusts gettimeofday based relative timer.
	  (quagga_gettimeofday) helper to keep recent_time up to date.
	  (quagga_get_relative) helper, update and getch the relative
	  timer using gettimeofday(). POSIX CLOCK_MONOTONIC is also
	  supported, but the code is not enabled yet nor tested.
	  (quagga_real_stabilised) helper, retrieve absolute time but
	  stabilised so as to never decrease.
	  (quagga_gettime) Exported interface, analogous to POSIX
	  clock_gettime() in interface, supporting several clocks.
	  (quagga_time) Exported interface, analogous to traditional
	  time(), will never decrease.
	  (recent_relative_time) Convenience function to retrieve
	  relative_time timeval, similar to existing recent_time absolute
	  timeval, for when an approximately recent value will do.
	  (remainder) Update to use above helpers.
	  (thread_getrusage) Previously was a macro, but needs to be
	  a function to twiddle with thread.c private stuff.
	* thread.c: Point the GETRUSAGE macro at previous function.
	  Export quagga_gettime, quagga_time and recent_relative_time for
	  general use.
</pre>
</div>
</content>
</entry>
<entry>
<title>[lib] Optimise thread_call by caching pointer to thread history in the thread</title>
<updated>2006-07-25T20:40:40+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-07-25T20:40:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=cc8b13a00bfe7083ae68755e547a39cd762f2963'/>
<id>cc8b13a00bfe7083ae68755e547a39cd762f2963</id>
<content type='text'>
2006-07-25 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* thread.h: (struct thread) Add a cache pointer to the struct
	  cpu_thread_history, if it is known - saving hash lookup on
	  each thread_call.
	* thread.c: (thread_call) Cache the pointer to the
          cpu_thread_history, so that future thread_calls of same
          thread can avoid the hash_lookup.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-07-25 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* thread.h: (struct thread) Add a cache pointer to the struct
	  cpu_thread_history, if it is known - saving hash lookup on
	  each thread_call.
	* thread.c: (thread_call) Cache the pointer to the
          cpu_thread_history, so that future thread_calls of same
          thread can avoid the hash_lookup.
</pre>
</div>
</content>
</entry>
<entry>
<title>[lib] Do not call vty_close in vty_log_out to avoid possible free memory access</title>
<updated>2006-07-11T00:06:49+00:00</updated>
<author>
<name>Andrew J. Schorr</name>
<email>ajschorr@alumni.princeton.edu</email>
</author>
<published>2006-07-11T00:06:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=9d0a3260b2d1b57b7edfd3f72885d861883d4621'/>
<id>9d0a3260b2d1b57b7edfd3f72885d861883d4621</id>
<content type='text'>
2006-07-10 Andrew J. Schorr &lt;ajschorr@alumni.princeton.edu&gt;

	* vty.c: (vty_log_out) Do not call vty_close, because this could
	  result in a parent function's accessing the freed memory.
	  Instead, set status VTY_CLOSE and call shutdown(vty-&gt;fd, SHUT_RDWR).
	  And add a comment on vty_close.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-07-10 Andrew J. Schorr &lt;ajschorr@alumni.princeton.edu&gt;

	* vty.c: (vty_log_out) Do not call vty_close, because this could
	  result in a parent function's accessing the freed memory.
	  Instead, set status VTY_CLOSE and call shutdown(vty-&gt;fd, SHUT_RDWR).
	  And add a comment on vty_close.
</pre>
</div>
</content>
</entry>
<entry>
<title>[lib] Fix infinite recursion for errors on vtys with terminal monitor enabled</title>
<updated>2006-07-10T18:09:42+00:00</updated>
<author>
<name>Andrew J. Schorr</name>
<email>ajschorr@alumni.princeton.edu</email>
</author>
<published>2006-07-10T18:09:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=74542d730198a37a872b7114643e29e99c551bcf'/>
<id>74542d730198a37a872b7114643e29e99c551bcf</id>
<content type='text'>
2006-07-10 Andrew J. Schorr &lt;ajschorr@alumni.princeton.edu&gt;

	* vty.c: (vty_log_out, vty_read, vty_flush, vtysh_flush, vtysh_read)
	  After an I/O error, must set vty-&gt;monitor to 0 before calling
	  zlog_warn, otherwise an infinite recursion could occur
	  (since zlog_warn triggers a message to be written to the vty,
	  and that in turn triggers another error message when it fails, etc.).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-07-10 Andrew J. Schorr &lt;ajschorr@alumni.princeton.edu&gt;

	* vty.c: (vty_log_out, vty_read, vty_flush, vtysh_flush, vtysh_read)
	  After an I/O error, must set vty-&gt;monitor to 0 before calling
	  zlog_warn, otherwise an infinite recursion could occur
	  (since zlog_warn triggers a message to be written to the vty,
	  and that in turn triggers another error message when it fails, etc.).
</pre>
</div>
</content>
</entry>
<entry>
<title>[debug] Debug messages to terminal vty sessions should include timestamps</title>
<updated>2006-07-03T20:58:29+00:00</updated>
<author>
<name>Andrew J. Schorr</name>
<email>ajschorr@alumni.princeton.edu</email>
</author>
<published>2006-07-03T20:58:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=08942da588b78f41916ebd6c75fa668b18160ee7'/>
<id>08942da588b78f41916ebd6c75fa668b18160ee7</id>
<content type='text'>
2006-07-03 Andrew J. Schorr &lt;ajschorr@alumni.princeton.edu&gt;

	* vty.c: (vty_log_out) Debug messages to terminal vty sessions
	  should include timestamps.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-07-03 Andrew J. Schorr &lt;ajschorr@alumni.princeton.edu&gt;

	* vty.c: (vty_log_out) Debug messages to terminal vty sessions
	  should include timestamps.
</pre>
</div>
</content>
</entry>
<entry>
<title>[lib] Fix merge error in ChangeLog</title>
<updated>2006-06-30T16:55:41+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-06-30T16:55:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=adf6221437073f4d427c9c973e4c95381b13fc73'/>
<id>adf6221437073f4d427c9c973e4c95381b13fc73</id>
<content type='text'>
- entry was left in wrong order, according to date.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- entry was left in wrong order, according to date.
</pre>
</div>
</content>
</entry>
<entry>
<title>[lib] Fix typo in cpp conditional for malloc.h include</title>
<updated>2006-06-30T16:49:02+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-06-30T16:49:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=74176d220ba6fb019a18ebea3e3245a46f33dce1'/>
<id>74176d220ba6fb019a18ebea3e3245a46f33dce1</id>
<content type='text'>
2006-06-28 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* memory.c: Fix typo in cpp conditional around malloc.h, from
	  comment in bug #269.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-06-28 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* memory.c: Fix typo in cpp conditional around malloc.h, from
	  comment in bug #269.
</pre>
</div>
</content>
</entry>
<entry>
<title>[lib] Remove numeric route-type argument in redistribute arg strings</title>
<updated>2006-06-27T08:26:07+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-06-27T08:26:07+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=95509e64e3d0fc8b01045b497b7077225d9997f0'/>
<id>95509e64e3d0fc8b01045b497b7077225d9997f0</id>
<content type='text'>
2006-06-27 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* route_types.awk: Remove setting the 'bare' numeric route type
	  in redist strings.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-06-27 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* route_types.awk: Remove setting the 'bare' numeric route type
	  in redist strings.
</pre>
</div>
</content>
</entry>
<entry>
<title>[lib] Centralise Zserv route type information, auto-generate redist strings</title>
<updated>2006-06-27T07:52:03+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-06-27T07:52:03+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=9c42a6ebbc103a0a4be6af782388ad26e6c03556'/>
<id>9c42a6ebbc103a0a4be6af782388ad26e6c03556</id>
<content type='text'>
2006-05-23 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* route_types.txt: New file, table of ZEBRA_ROUTE definitions.
	* route_types.awk: New script, to parse previous and generate
	  (for now) redistribute string defines.
	* Makefile.am: build route_types.h using previous two, ala
	  memtypes.h, include the script and table file in EXTRA_DIST.
	* command.h: pull in route_types.h, add a REDIST_STR define.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-05-23 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* route_types.txt: New file, table of ZEBRA_ROUTE definitions.
	* route_types.awk: New script, to parse previous and generate
	  (for now) redistribute string defines.
	* Makefile.am: build route_types.h using previous two, ala
	  memtypes.h, include the script and table file in EXTRA_DIST.
	* command.h: pull in route_types.h, add a REDIST_STR define.
</pre>
</div>
</content>
</entry>
<entry>
<title>[zebra] remove internal if_flag_dump, use libzebras version.</title>
<updated>2006-06-15T12:48:17+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-06-15T12:48:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=630c97ce0f87a719f678a24bd84945d4f145fdc5'/>
<id>630c97ce0f87a719f678a24bd84945d4f145fdc5</id>
<content type='text'>
2006-06-15 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* lib/if.c: (if_flag_dump) remove the whitespace indentation, callers
	  should provide.
	* zebra/interface.c: (if_flag_dump_vty) redundant code, remove.
	  (if_dump_vty) use libzebra if_flag_dump.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-06-15 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* lib/if.c: (if_flag_dump) remove the whitespace indentation, callers
	  should provide.
	* zebra/interface.c: (if_flag_dump_vty) redundant code, remove.
	  (if_dump_vty) use libzebra if_flag_dump.
</pre>
</div>
</content>
</entry>
</feed>
