<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel about="http://blog.gmane.org/gmane.network.quagga.devel">
    <title>gmane.network.quagga.devel</title>
    <link>http://blog.gmane.org/gmane.network.quagga.devel</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6195"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6165"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6162"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6161"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6156"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6142"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6124"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6123"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6122"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6121"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6115"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6110"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6107"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6104"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6101"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6093"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6092"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6091"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6083"/>
        <rdf:li rdf:resource="http://comments.gmane.org/gmane.network.quagga.devel/6078"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6195">
    <title>[quagga-dev 6187]  patch: setsockopt SO_PRIORITY</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6195</link>
    <description>This patch permit to specify a value for setsockopt SO_PRIORITY, this 
can be quite useful in linux to select a specific traffic control queue 
discipline. I think that SO_PRIORITY is available only in linux and the 
code is inside #ifdef SO_PRIORITY (no autoconf stuff).

At the moment the code is implemented only for ospfd and ripd but should 
bit quite trivial to extend to other daemons.

-Francesco
Index: quagga/quagga/lib/sockopt.c
===================================================================
--- quagga.orig/quagga/lib/sockopt.c2008-11-11 16:55:13.000000000 +0100
+++ quagga/quagga/lib/sockopt.c2008-11-11 16:56:00.000000000 +0100
&lt; at &gt;&lt; at &gt; -376,6 +376,19 &lt; at &gt;&lt; at &gt;
   return ret;
 }
   
+int
+setsockopt_priority (int sock, int so_priority)
+{
+  int ret;
+
+  ret = setsockopt (sock, SOL_SOCKET, SO_PRIORITY, &amp;so_priority, sizeof (so_priority));
+  if (ret &lt; 0)
+    zlog_warn ("Can't set SO_PRIORITY option for fd %d to %#x: %s",
+       sock, so_priority, safe_strerror(errno));
+
+  return ret;
+}
+
 /*
  * Requi</description>
    <dc:creator>Francesco Dolcini</dc:creator>
    <dc:date>2008-11-19T09:15:35</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6165">
    <title>[quagga-dev 6157] OSPF: No host route when interface changes to~RUNNING</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6165</link>
    <description>Pulling the ethernet cable makes the interface change to ~RUNNING and
with link-detect enabled on said interface the whole subnet is
removed from OSPF.
I think this is a bit too much. A host route should remain for
that interface as the router can still be reached with the IP
address on this interface via other still functional links.

Comments?

 Jocke
</description>
    <dc:creator>Joakim Tjernlund</dc:creator>
    <dc:date>2008-11-18T08:47:25</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6162">
    <title>[quagga-dev 6154] [PATCH] Fix removal of IPv4 route in ripd when aninterface goes down</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6162</link>
    <description>Hi,

While studying the ripd code I've found a potential problem (most probably
not triggering a real problem, at least on Linux.) When an interface goes
down and ripd tries to delete the corresponding route it errorneously
passes the interface's index instead of the metric to zebra.

Cheers,
Kris


rip_if_down() calls rip_zebra_ipv4_delete() with the interface index
passed instead of the metric.
---
 ripd/rip_interface.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/ripd/rip_interface.c b/ripd/rip_interface.c
index b6d9240..7c5577b 100644
--- a/ripd/rip_interface.c
+++ b/ripd/rip_interface.c
&lt; at &gt;&lt; at &gt; -591,7 +591,7 &lt; at &gt;&lt; at &gt; rip_if_down(struct interface *ifp)
       {
 rip_zebra_ipv4_delete ((struct prefix_ipv4 *) &amp;rp-&gt;p,
        &amp;rinfo-&gt;nexthop,
-       rinfo-&gt;ifindex);
+       rinfo-&gt;metric);
 
 rip_redistribute_delete (rinfo-&gt;type,rinfo-&gt;sub_type,
  (struct prefix_ipv4 *)&amp;rp-&gt;p,
</description>
    <dc:creator>Krisztian Kovacs</dc:creator>
    <dc:date>2008-11-17T16:36:20</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6161">
    <title>[quagga-dev 6153]  Adding a host route for a non OSFP interface?</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6161</link>
    <description>I have tried to add a a host route for an interface that isn't part of
OSPF and I can't find a way to do it.

Making the interface passive will announce the whole subnet
the interface spans.
The ospf network X.X.X.X/32 area Y wont let me add it either
as it requires the masks to be the same.

So it seems Quagga OSPF is missing some way to do this.
How would one add this to OSPF? 
Extend network X.X.X.X/32 area Y to accept smaller subnets?
Add a new command? How should the syntax look like?

Note that the host route only requires the interface to be
UP, not RUNNING.

 Jocke
</description>
    <dc:creator>Joakim Tjernlund</dc:creator>
    <dc:date>2008-11-17T16:34:20</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6156">
    <title>[quagga-dev 6148] Per-Prefix MRAI timer and path-damping in Quagga0.99.10</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6156</link>
    <description>Hi!

I'm proud to announce the first results of the BGP Heuristics Project at 
CAIA:
http://caia.swin.edu.au/urp/bgp/

I've implemented a per-prefix MRAI timer and Geoff Huston's path-damping
algorithm in Quagga 0.99.10
(http://www.potaroo.net/ispcol/2007-06/dampbgp.html)

The algorithm only works with the per prefix MRAI timer,
but you may also try the new timer only.

The patches for Quagga 0.99.10 can be found here:
http://caia.swin.edu.au/urp/bgp/tools.html

The implementations seem fairly stable, but have not been tested with 
fancy topologies and setups. Please feel free to report any bugs and 
concerns back to me.

I can also produce a patch for Quagga 0.99.11 if necessary.

Mat
</description>
    <dc:creator>Mattia Rossi</dc:creator>
    <dc:date>2008-11-17T01:26:03</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6142">
    <title>[quagga-dev 6134] Strange check in bgp_open.c leads tointeroperability problem</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6142</link>
    <description>Hello

I found strange check in bgp_open.c:

  /* Check there is no common capability send Unsupported Capability
     error. */
  if (*capability &amp;&amp; ! CHECK_FLAG (peer-&gt;flags, PEER_FLAG_OVERRIDE_CAPABILITY))
    {
      if (! peer-&gt;afc_nego[AFI_IP][SAFI_UNICAST] 
          &amp;&amp; ! peer-&gt;afc_nego[AFI_IP][SAFI_MULTICAST]
          &amp;&amp; ! peer-&gt;afc_nego[AFI_IP][SAFI_MPLS_VPN]
          &amp;&amp; ! peer-&gt;afc_nego[AFI_IP6][SAFI_UNICAST]
          &amp;&amp; ! peer-&gt;afc_nego[AFI_IP6][SAFI_MULTICAST])


If BGP peer send capability list that does not contain multiprotocol
extensions, the connection is interrrupted. But when BGP peer does
not send any capability list, the connection is OK. Is there a reason
for that behavior? This creates interoperability problem with BGP
speakers that support some capabilities (for example AS4) but not
multiprotocol extensions.

</description>
    <dc:creator>Ondrej Zajicek</dc:creator>
    <dc:date>2008-11-16T15:10:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6124">
    <title>[quagga-dev 6116]  [PATCH] [ospfd] Improve DR selection</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6124</link>
    <description>OSPF RFC Chap 9.4:
(4) If Router X is now newly the Designated Router or newly the
    Backup Designated Router, or is now no longer the Designated
    Router or no longer the Backup Designated Router, repeat
    steps 2 and 3, and then proceed to step 5.
This test was performed with the following test:
 if (new_state != old_state &amp;&amp;
     !(new_state == ISM_DROther &amp;&amp; old_state &lt; ISM_DROther))
Which can be rewritten to:
 if (new_state != old_state &amp;&amp;
     (new_state != ISM_DROther || old_state &gt;= ISM_DROther))
Now it is easy to se that this expression is true for more states
than (4) specifies, hint, try with old_state==ISM_DROther.
Fix with a new better if statement.
---
 ospfd/ospf_ism.c |    7 +++----
 1 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/ospfd/ospf_ism.c b/ospfd/ospf_ism.c
index f215bfc..40f2cfb 100644
--- a/ospfd/ospf_ism.c
+++ b/ospfd/ospf_ism.c
&lt; at &gt;&lt; at &gt; -219,13 +219,12 &lt; at &gt;&lt; at &gt; ospf_dr_election (struct ospf_interface *oi)
   bdr = ospf_elect_bdr (oi, el_list);
   dr = ospf_elect_dr (oi, </description>
    <dc:creator>Joakim Tjernlund</dc:creator>
    <dc:date>2008-11-14T16:36:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6123">
    <title>[quagga-dev 6115] [PATCH] [ospfd] Optimize and improve SPF nexthopcalculation</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6123</link>
    <description>Maintain a table of OSPF interface pointers paralell
to the router LSA. Use the table in nexthop_calculation to
find the right OSPF interface for the nexthop.
This has the following advantages:
- Possible to have multiple PtP interfaces with the same
  IP address between two routers.
- Possible to use Unnumbered PtP on just one end of
  the link.
- No more seaching for the OSPF interface, hence much faster.
---

This is on top of my Unnumberd PtP patches.
Needs "[ospfd] Do not install received self-originated LSA" sent
earlier.

Comments welcome.

 Jocke

 ospfd/ospf_interface.c |    2 +
 ospfd/ospf_lsa.c       |   91 ++++++++++++++++++++++++++++--
 ospfd/ospf_lsa.h       |   12 ++++
 ospfd/ospf_spf.c       |  145 ++++++++++++++++++++++--------------------------
 4 files changed, 165 insertions(+), 85 deletions(-)

diff --git a/ospfd/ospf_interface.c b/ospfd/ospf_interface.c
index 98d7337..b7e2946 100644
--- a/ospfd/ospf_interface.c
+++ b/ospfd/ospf_interface.c
&lt; at &gt;&lt; at &gt; -335,6 +335,8 &lt; at &gt;&lt; at &gt; ospf_if_free (struct ospf_i</description>
    <dc:creator>Joakim Tjernlund</dc:creator>
    <dc:date>2008-11-14T12:44:36</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6122">
    <title>[quagga-dev 6114]  (no subject)</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6122</link>
    <description/>
    <dc:creator>Greg S</dc:creator>
    <dc:date>2008-11-11T21:03:14</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6121">
    <title>[quagga-dev 6113]  RFC 5082 GTSM for quagga bgpd</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6121</link>
    <description>Hello,

I've attached a patch set to implement RFC 5082 GTSM for quagga.  This 
depends on the IP_MINTTL socket option which was implemented by Andre 
Oppermann:

http://lists.quagga.net/pipermail/quagga-dev/2005-August/003607.html

Implementation
==============

The code is implemented using the "neighbor XXX ttl-security hops YYY" 
command in the BGP router context.  The configuration is fully compatible 
with the equivalent Cisco IOS commands.  Normally, YYY will be set to be 
the number of hops between the two bgp neighbors.  The process works as 
follows:

- all outgoing packets are set up with TTL of "MAXTTL + 1 - gtsm_hops"
- all incoming packets are checked to ensure that the TTL falls within the 
hop limit specified in the configuration

Internally, this is implemented by silently using the ebgp-multihop command 
when ttl-security hops is configured on a neighbor, and by configuring the 
master BGP listening socket to have a TTL of 255.

The code prohibits ebgp-multihop and ttl-security from being c</description>
    <dc:creator>Nick Hilliard</dc:creator>
    <dc:date>2008-11-11T16:10:44</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6115">
    <title>[quagga-dev 6107] thread bug: quagga_gettimeofday() vs.quagga_get_relative() ?</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6115</link>
    <description>Whenever a thread adds an timer funcname_thread_add_timer_timeval() gets called
to add the timer. Before adding the timer a quagga_gettimeofday() call
is made to some time house keeping. Hovever quagga_gettimeofday() only
updates recent_time, not relative_time that is used to calculate
the alarm_time.
Therefore I think quagga_gettimeofday() should be replaced by
quagga_get_relative (NULL);

Comments and especially testing welcome. I am locked out of the
lab as there are release work in progress.

       Jocke

diff --git a/lib/thread.c b/lib/thread.c
index 5a398f3..1fcb8c3 100644
--- a/lib/thread.c
+++ b/lib/thread.c
&lt; at &gt;&lt; at &gt; -661,7 +661,7 &lt; at &gt;&lt; at &gt; funcname_thread_add_timer_timeval (struct thread_master *m,
   thread = thread_get (m, type, func, arg, funcname);
 
   /* Do we need jitter here? */
-  quagga_gettimeofday (&amp;recent_time);
+  quagga_get_relative (NULL);
   alarm_time.tv_sec = relative_time.tv_sec + time_relative-&gt;tv_sec;
   alarm_time.tv_usec = relative_time.tv_usec + time_relative-&gt;tv_usec;
   thread-&gt;u.sand</description>
    <dc:creator>Joakim Tjernlund</dc:creator>
    <dc:date>2008-11-09T16:46:40</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6110">
    <title>[quagga-dev 6102]  [PATCH] [lib] Try to ignore time warps better.</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6110</link>
    <description>Relative and monotonic time steps quite much when TOD has
been changed by NTP. Make such changes have less impact by
basically ignore a big change in time. 10 seconds has
randomly been choosen as too big a step so ignore that.
---

Hopefully this is useful. Feedback welcome.

 lib/thread.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/lib/thread.c b/lib/thread.c
index 260e8c8..5a398f3 100644
--- a/lib/thread.c
+++ b/lib/thread.c
&lt; at &gt;&lt; at &gt; -100,12 +100,14 &lt; at &gt;&lt; at &gt; quagga_gettimeofday_relative_adjust (void)
   struct timeval diff;
   if (timeval_cmp (recent_time, last_recent_time) &lt; 0)
     {
-      relative_time.tv_sec++;
-      relative_time.tv_usec = 0;
+      relative_time.tv_usec += 1000; /* pretend some time has passed */
+      relative_time = timeval_adjust (relative_time);
     }
   else
     {
       diff = timeval_subtract (recent_time, last_recent_time);
+      if (diff.tv_sec &gt; 10) /* Time stepped? */
+diff.tv_sec = 0;/* Pretend it was just a few usecs */
       relative_time.t</description>
    <dc:creator>Joakim Tjernlund</dc:creator>
    <dc:date>2008-11-08T16:15:02</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6107">
    <title>[quagga-dev 6099]  New Quagga release soon?</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6107</link>
    <description>Now that the Fletcher checksum appers to be resolved, a new release
should be considered.
Since .99.11 has a checksum error, it won't operate correctly against
older Quagga releases, nor any other OSPF router.
Once .99.12 is out, it won't operate correctly against .99.11
So you really want to get rid of .99.11 ASAP.

I would really like see, the below patch too in the next release.

    Jocke

From: Joakim Tjernlund &lt;Joakim.Tjernlund&lt; at &gt;transmode.se&gt;
Date: Mon, 3 Nov 2008 17:47:44 +0100
Subject: [PATCH] [ospfd] Do not install received self-originated LSA.

According to the OSPF RCF, chapter 13.4 and 12.1.6, ospf
should reoriginate its own LSA with LS sequence number
set to the received LS sequence number+1. Currently the
Router LSA and the Network LSA is just copied over and you
end up with a stale LSA.
Fix it to just copy the sequence number and orginate its
own LSA again with seq nr + 1.
---
 ospfd/ospf_flood.c |   34 +++++++++++++++-------------------
 1 files changed, 15 insertions(+), 19 deletions(-)

diff</description>
    <dc:creator>Joakim Tjernlund</dc:creator>
    <dc:date>2008-11-07T10:38:57</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6104">
    <title>[quagga-dev 6096] removing BGP update-source causes session reset?</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6104</link>
    <description>I just did a "no neighbor x.x.x.x update-source y.y.y.y" which didn't
change the source address, but the session was hard-reset anyway.  Is
this behaviour required, or is it just a case of nobody has written an
optimization yet?

</description>
    <dc:creator>Jeremy Jackson</dc:creator>
    <dc:date>2008-11-06T19:26:50</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6101">
    <title>[quagga-dev 6093]  [PATCH] [lib] Fix Fletcher checksum bug.</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6101</link>
    <description>The new impl. of the Fletcher checkum is buggy. I have
changed back the critical part to the orginal method
and fixed the buggy one, hid it behind UNSIGNED_FLETCHER.

Also did some simple optimizations to reduce the number
of instructions in the hot path for both fletcher_checksum()
and in_cksum().
---

I really hope this is corrent. I am unable to test as the lab
is busy doing release verification.

 lib/checksum.c |   76 +++++++++++++++++++++++++++----------------------------
 1 files changed, 37 insertions(+), 39 deletions(-)

diff --git a/lib/checksum.c b/lib/checksum.c
index 88ec72a..c9a590b 100644
--- a/lib/checksum.c
+++ b/lib/checksum.c
&lt; at &gt;&lt; at &gt; -14,27 +14,20 &lt; at &gt;&lt; at &gt; in_cksum(void *parg, int nbytes)
 {
 u_short *ptr = parg;
 register longsum;/* assumes long == 32 bits */
-u_shortoddbyte;
 register u_shortanswer;/* assumes u_short == 16 bits */
-
+register int count;
 /*
  * Our algorithm is simple, using a 32-bit accumulator (sum),
  * we add sequential 16-bit words to it, and at the end, fold</description>
    <dc:creator>Joakim Tjernlund</dc:creator>
    <dc:date>2008-11-06T18:01:55</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6093">
    <title>[quagga-dev 6085] [PATCH] [ospfd] Do not install receivedself-originated LSA.</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6093</link>
    <description>According to the OSPF RCF, chapter 13.4 and 12.1.6, ospf
should reoriginate its own LSA with LS sequence number
set to the received LS sequence number. Currently the
LSA is just copied over. Fix it to just copy the sequence
number and orginate its own LSA again with seq nr + 1.
---
 ospfd/ospf_flood.c |   34 +++++++++++++++-------------------
 1 files changed, 15 insertions(+), 19 deletions(-)

diff --git a/ospfd/ospf_flood.c b/ospfd/ospf_flood.c
index 0f485fe..8f27060 100644
--- a/ospfd/ospf_flood.c
+++ b/ospfd/ospf_flood.c
&lt; at &gt;&lt; at &gt; -134,9 +134,8 &lt; at &gt;&lt; at &gt; ospf_process_self_originated_lsa (struct ospf *ospf,
     case OSPF_ROUTER_LSA:
       /* Originate a new instance and schedule flooding */
       /* It shouldn't be necessary, but anyway */
-      ospf_lsa_unlock (&amp;area-&gt;router_lsa_self);
-      area-&gt;router_lsa_self = ospf_lsa_lock (new);
-
+      if (area-&gt;router_lsa_self)
+area-&gt;router_lsa_self-&gt;data-&gt;ls_seqnum = new-&gt;data-&gt;ls_seqnum;
       ospf_router_lsa_timer_add (area);
       return;
     case OSPF_NETWORK_</description>
    <dc:creator>Joakim Tjernlund</dc:creator>
    <dc:date>2008-11-06T09:35:12</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6092">
    <title>[quagga-dev 6084]  [PATCH] [lib] Fix Fletcher checksum error.</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6092</link>
    <description>The new impl. of Fletcher checkum is buggy. I have
changed back the critical part to the orginal method
and left the buggy one inside a #if 0 for now.

Also did some simple optimizations to reduce the number
of instructions in the hot path for both fletcher_checksum()
and in_cksum().
---
 lib/checksum.c |   67 +++++++++++++++++++++++++++----------------------------
 1 files changed, 33 insertions(+), 34 deletions(-)

diff --git a/lib/checksum.c b/lib/checksum.c
index 88ec72a..6077ccb 100644
--- a/lib/checksum.c
+++ b/lib/checksum.c
&lt; at &gt;&lt; at &gt; -14,27 +14,23 &lt; at &gt;&lt; at &gt; in_cksum(void *parg, int nbytes)
 {
 u_short *ptr = parg;
 register longsum;/* assumes long == 32 bits */
-u_shortoddbyte;
 register u_shortanswer;/* assumes u_short == 16 bits */
-
+register int count;
 /*
  * Our algorithm is simple, using a 32-bit accumulator (sum),
  * we add sequential 16-bit words to it, and at the end, fold back
  * all the carry bits from the top 16 bits into the lower 16 bits.
  */
-
 sum = 0;
-while (nbytes &gt; 1) </description>
    <dc:creator>Joakim Tjernlund</dc:creator>
    <dc:date>2008-11-06T09:29:36</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6091">
    <title>[quagga-dev 6083]  Merge Unnumbered PtP patches?</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6091</link>
    <description>I have some more updates that touch the same area as the
Unnumbered PtP patches so it is becoming harder
to do development.
So can we merge the Unnumbered PtP support now?
I am not aware of any regressions from the Unnumbered patches.

Paul, what do you say?

 Jocke  
</description>
    <dc:creator>Joakim Tjernlund</dc:creator>
    <dc:date>2008-11-05T16:55:00</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6083">
    <title>[quagga-dev 6075] [PATCH] [zebra] Fix repeated add/delete of the same IP address on the same interface</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6083</link>
    <description/>
    <dc:creator>Paul Evans</dc:creator>
    <dc:date>2008-11-03T17:22:16</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6078">
    <title>[quagga-dev 6070]  Receiving self-originated LSAs</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6078</link>
    <description>In chap. 13.4 it reads:
        However, if the received self-originated LSA is newer than the
        last instance that the router actually originated, the router
        must take special action.  The reception of such an LSA
        indicates that there are LSAs in the routing domain that were
        originated by the router before the last time it was restarted.
        In most cases, the router must then advance the LSA's LS
        sequence number one past the received LS sequence number, and
        originate a new instance of the LSA.

What does "originate a new instance of the LSA" actaully mean?

To me this indicates that Quagga should update the LS sequence number
on the LSA is currently has in it database and send that one out.
However, the current behaviour is to drop what is in the DB and install
the received one instead which seems a bit odd to me. The LSA in the
DB should be the most accurate one.

 Jocke
</description>
    <dc:creator>Joakim Tjernlund</dc:creator>
    <dc:date>2008-11-03T09:02:06</dc:date>
  </item>
  <item rdf:about="http://comments.gmane.org/gmane.network.quagga.devel/6076">
    <title>[quagga-dev 6068] Zebra adding/deleting IP addresses on interfaces</title>
    <link>http://comments.gmane.org/gmane.network.quagga.devel/6076</link>
    <description/>
    <dc:creator>Paul Evans</dc:creator>
    <dc:date>2008-10-31T21:34:54</dc:date>
  </item>
  <textinput about="http://search.gmane.org/?group=$group=gmane.network.quagga.devel">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.network.quagga.devel</link>
  </textinput>
</rdf:RDF>
