<feed xmlns='http://www.w3.org/2005/Atom'>
<title>tteras/quagga/ospfd, 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>[ospfd] redistribute default no longer works after complete reconfig, fix</title>
<updated>2006-08-27T08:01:20+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-08-27T08:01:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=29b5a044e5ca25944c408cf41a6414e071b11a26'/>
<id>29b5a044e5ca25944c408cf41a6414e071b11a26</id>
<content type='text'>
2006-08-27 J.J. Krabbendam &lt;jkrabbendam@aimsys.nl&gt;

	* ospfd.c: (ospf_finish_final) default redistribute should be
	  unset too, fixes bug where reconfiguring ospfd completely
	  can no longer enable default redistribution.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-08-27 J.J. Krabbendam &lt;jkrabbendam@aimsys.nl&gt;

	* ospfd.c: (ospf_finish_final) default redistribute should be
	  unset too, fixes bug where reconfiguring ospfd completely
	  can no longer enable default redistribution.
</pre>
</div>
</content>
</entry>
<entry>
<title>[ospfd] Bug #134, ospfd should be more robust to backward time change</title>
<updated>2006-08-27T06:49:29+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-08-27T06:49:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=2518efd15b75687d4791a5eb4b0d7febc36cffbc'/>
<id>2518efd15b75687d4791a5eb4b0d7febc36cffbc</id>
<content type='text'>
2006-08-25 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* (general) Bug #134. Be more robust to backward time changes,
	  use the newly added libzebra time functions.
	  In most cases: recent_time -&gt; recent_relative_time()
	  gettimeofday -&gt; quagga_gettime (QUAGGA_CLK_MONOTONIC, ..)
	  time -&gt; quagga_time.
	  (ospf_make_md5_digest) time() call deliberately not changed.
	  (ospf_external_lsa_refresh) remove useless gettimeofday, LSA
	  tv_orig time was already set in ospf_lsa_new, called via
	  ospf_external_lsa_new.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-08-25 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* (general) Bug #134. Be more robust to backward time changes,
	  use the newly added libzebra time functions.
	  In most cases: recent_time -&gt; recent_relative_time()
	  gettimeofday -&gt; quagga_gettime (QUAGGA_CLK_MONOTONIC, ..)
	  time -&gt; quagga_time.
	  (ospf_make_md5_digest) time() call deliberately not changed.
	  (ospf_external_lsa_refresh) remove useless gettimeofday, LSA
	  tv_orig time was already set in ospf_lsa_new, called via
	  ospf_external_lsa_new.
</pre>
</div>
</content>
</entry>
<entry>
<title>[ospfd] draft-ogier-ospf-dbex-opt DB-exchange optimisation</title>
<updated>2006-08-27T06:40:04+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-08-27T06:40:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=f0894cf8c323a25053e1f5e82be3ea5d88c2aacb'/>
<id>f0894cf8c323a25053e1f5e82be3ea5d88c2aacb</id>
<content type='text'>
2006-08-03 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* ospf_packet.c: (ospf_make_db_desc) Implement
	  draft-ogier-ospf-dbex-opt DB-exchange optimisation.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-08-03 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* ospf_packet.c: (ospf_make_db_desc) Implement
	  draft-ogier-ospf-dbex-opt DB-exchange optimisation.
</pre>
</div>
</content>
</entry>
<entry>
<title>[ospfd] Raise ExchangeDone earlier, avoid often needless round of DD packets</title>
<updated>2006-08-27T06:29:30+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-08-27T06:29:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=8dd24ee6d7302ccd9515123d4364122ade277e02'/>
<id>8dd24ee6d7302ccd9515123d4364122ade277e02</id>
<content type='text'>
2006-08-03 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* ospf_packet.c: (ospf_make_db_desc) Unset the DD More bit
	  after constructing the packet, if appropriate.
	  (ospf_db_desc_proc) Speed up Exchange, slave should raise
	  ExchangeDone earlier, as RFC mandates, by forming its reply
	  before deciding whether both sides are done, avoids a
	  needless round of empty DD packet exchanges at the end of
	  Exchange, hence speeding up ExchangeDone.
	  (ospf_db_desc) use UNSET_FLAG macro.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-08-03 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* ospf_packet.c: (ospf_make_db_desc) Unset the DD More bit
	  after constructing the packet, if appropriate.
	  (ospf_db_desc_proc) Speed up Exchange, slave should raise
	  ExchangeDone earlier, as RFC mandates, by forming its reply
	  before deciding whether both sides are done, avoids a
	  needless round of empty DD packet exchanges at the end of
	  Exchange, hence speeding up ExchangeDone.
	  (ospf_db_desc) use UNSET_FLAG macro.
</pre>
</div>
</content>
</entry>
<entry>
<title>[ospfd] trivial: consolidate LSDB delete code into single function</title>
<updated>2006-08-27T06:24:34+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-08-27T06:24:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=ba122e779ddd1ef09e61ac2003ca20cf7ee8c611'/>
<id>ba122e779ddd1ef09e61ac2003ca20cf7ee8c611</id>
<content type='text'>
2006-08-04 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* ospf_lsdb.c: (ospf_lsdb_delete_entry) new function, consolidate
	  exact same functionality replicated in other functions.
	  (ospf_lsdb_add) Strip out code by using ospf_lsdb_delete_entry.
	  (ospf_lsdb_delete) ditto.
	  (ospf_lsdb_delete_all) ditto.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-08-04 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* ospf_lsdb.c: (ospf_lsdb_delete_entry) new function, consolidate
	  exact same functionality replicated in other functions.
	  (ospf_lsdb_add) Strip out code by using ospf_lsdb_delete_entry.
	  (ospf_lsdb_delete) ditto.
	  (ospf_lsdb_delete_all) ditto.
</pre>
</div>
</content>
</entry>
<entry>
<title>[ospfd] Bug #288: do not change router ID unless forced by manual configuration</title>
<updated>2006-07-27T22:29:06+00:00</updated>
<author>
<name>Andrew J. Schorr</name>
<email>ajschorr@alumni.princeton.edu</email>
</author>
<published>2006-07-27T22:29:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=1670008b5401eca13456f914bba7331c3b7b2893'/>
<id>1670008b5401eca13456f914bba7331c3b7b2893</id>
<content type='text'>
2006-07-27 Andrew J. Schorr &lt;ajschorr@alumni.princeton.edu&gt;

	* ospfd.c: (ospf_router_id_update) Fix and document the algorithm for
	  selecting the router ID: if there is not a statically configured ID,
	  then stick to the most recent value to avoid disruptive changes.
	  This should fix bug #288.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-07-27 Andrew J. Schorr &lt;ajschorr@alumni.princeton.edu&gt;

	* ospfd.c: (ospf_router_id_update) Fix and document the algorithm for
	  selecting the router ID: if there is not a statically configured ID,
	  then stick to the most recent value to avoid disruptive changes.
	  This should fix bug #288.
</pre>
</div>
</content>
</entry>
<entry>
<title>[ospfd] Allow ospf_lsa_unlock to NULL out callers' LSA pointers upon free</title>
<updated>2006-07-26T09:37:26+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-07-26T09:37:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=1fe6ed38cd0136c514aabae01389653beab27fb9'/>
<id>1fe6ed38cd0136c514aabae01389653beab27fb9</id>
<content type='text'>
2006-07-26 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* ospf_lsa.{c,h}: (ospf_lsa_unlock) Change to take a double pointer
	  to the LSA to be 'unlocked', so that, if the LSA is freed, the
	  callers pointer to the LSA can be NULLed out, allowing any further
	  use of that pointer to provoke a crash sooner rather than later.
	* ospf_*.c: (general) Adjust callers of ospf_lsa_unlock to match
	  previous. Try annotate 'locking' somewhat to show which 'locks'
	  are protecting what LSA reference, if not obvious.
	* ospf_opaque.c: (ospf_opaque_lsa_install) Trivial: remove useless
	  goto, replace with return.
	* ospf_packet.c: (ospf_make_ls_ack) Trivial: merge two list loops,
	  the dual-loop predated the delete-safe list-loop macro.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-07-26 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* ospf_lsa.{c,h}: (ospf_lsa_unlock) Change to take a double pointer
	  to the LSA to be 'unlocked', so that, if the LSA is freed, the
	  callers pointer to the LSA can be NULLed out, allowing any further
	  use of that pointer to provoke a crash sooner rather than later.
	* ospf_*.c: (general) Adjust callers of ospf_lsa_unlock to match
	  previous. Try annotate 'locking' somewhat to show which 'locks'
	  are protecting what LSA reference, if not obvious.
	* ospf_opaque.c: (ospf_opaque_lsa_install) Trivial: remove useless
	  goto, replace with return.
	* ospf_packet.c: (ospf_make_ls_ack) Trivial: merge two list loops,
	  the dual-loop predated the delete-safe list-loop macro.
</pre>
</div>
</content>
</entry>
<entry>
<title>[ospfd] Additional NSM neighbour state change stats/information</title>
<updated>2006-07-25T20:44:12+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-07-25T20:44:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=3fed4160cd23f1767d8980e8cba10bc3933947d5'/>
<id>3fed4160cd23f1767d8980e8cba10bc3933947d5</id>
<content type='text'>
2006-07-25 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* ospf_neigbor.h: (struct ospf_neighbor) Add some additional
	  neighbour state statistics fields, timestamps for progressive
	  and regressive state changes, and pointer to event string
	  for the latter state change.
	* ospf_nsm.c: (nsm_notice_state_change) Update new state changs
	  history as required.
	* ospf_vty.c: (show_ip_ospf_neighbor_detail_sub) Print out above
	  new per-neighbour state change stats.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-07-25 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* ospf_neigbor.h: (struct ospf_neighbor) Add some additional
	  neighbour state statistics fields, timestamps for progressive
	  and regressive state changes, and pointer to event string
	  for the latter state change.
	* ospf_nsm.c: (nsm_notice_state_change) Update new state changs
	  history as required.
	* ospf_vty.c: (show_ip_ospf_neighbor_detail_sub) Print out above
	  new per-neighbour state change stats.
</pre>
</div>
</content>
</entry>
<entry>
<title>[ospfd] record timestamp and event of last NSM state change for neighbour</title>
<updated>2006-07-11T17:57:25+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-07-11T17:57:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=90c33177f53ae36a8765f5f27bf34a90663806d3'/>
<id>90c33177f53ae36a8765f5f27bf34a90663806d3</id>
<content type='text'>
2006-07-10 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* ospf_nsm.c: (ospf_nsm_event) Record state change timestamp
	  and event in nbr struct.
	* ospf_neighbor.h: (struct ospf_neighbor) Add fields to record
	  timestamp of last NSM change and event.
	* ospf_vty.c: (show_ip_ospf_neighbor_detail_sub) Print
	  last state change timestamp and event, if available.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-07-10 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* ospf_nsm.c: (ospf_nsm_event) Record state change timestamp
	  and event in nbr struct.
	* ospf_neighbor.h: (struct ospf_neighbor) Add fields to record
	  timestamp of last NSM change and event.
	* ospf_vty.c: (show_ip_ospf_neighbor_detail_sub) Print
	  last state change timestamp and event, if available.
</pre>
</div>
</content>
</entry>
<entry>
<title>[ospfd] trivial: NSM AdjChange should print event, declutter core functions</title>
<updated>2006-07-11T17:52:53+00:00</updated>
<author>
<name>Paul Jakma</name>
<email>paul.jakma@sun.com</email>
</author>
<published>2006-07-11T17:52:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git-old.alpinelinux.org/user/tteras/quagga/commit/?id=3d63f38064f646129ddc67410cfdbbee8538f5cc'/>
<id>3d63f38064f646129ddc67410cfdbbee8538f5cc</id>
<content type='text'>
2006-07-10 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* ospf_nsm.c: (nsm_notice_state_changes) Move state change
	  logging code to new func to declutter nsm_change_state and
	  ospf_nsm_event.
	  Log event with AdjChange, it's useful to know.
	  (nsm_change_state) move adjchange and snmp logging to previous.
	  (ospf_nsm_event) call nsm_notice_state_changes from here.
	  Move the debug message to entry of function, so it gets out
	  even if something goes wrong.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
2006-07-10 Paul Jakma &lt;paul.jakma@sun.com&gt;

	* ospf_nsm.c: (nsm_notice_state_changes) Move state change
	  logging code to new func to declutter nsm_change_state and
	  ospf_nsm_event.
	  Log event with AdjChange, it's useful to know.
	  (nsm_change_state) move adjchange and snmp logging to previous.
	  (ospf_nsm_event) call nsm_notice_state_changes from here.
	  Move the debug message to entry of function, so it gets out
	  even if something goes wrong.
</pre>
</div>
</content>
</entry>
</feed>
