[quagga-dev 8164] Re: [PATCH] Zebra zserv: bogus conditional

Greg Troxel gdt at ir.bbn.com
Thu Aug 19 19:36:17 BST 2010

  From: Joakim Tjernlund <joakim.tjernlund at transmode.se>
  Date: Thu, 19 Aug 2010 09:30:44 +0200

  > On Wed, 18 Aug 2010 20:54:30 -0400
  > Greg Troxel <gdt at ir.bbn.com> wrote:
  > > Stephen Hemminger <shemminger at vyatta.com> writes:
  > >
  > > I certainly see your point.  But, do you have an explanation of why the
  > > code used to work, or a description of how the behavior was wrong?  Or
  > > is cmd always one of those two, so the fact that this devolved to if(1)
  > > is not an actual bug, just a latent bug?
  > What happens is the old code adds unnecessary distance and metric info
  > when routes are deleted. The zebra client protocol is NAME/VALUE so
  > the extra info was just being ignored by the other servers.

OK, makes sense.  I'm always just nervous about changing things when I
don't fully understand.

  Shouldn't this info always be included when deleting routes? It is
  possible to have routes which only differs in metric so how to tell
  which one to delete?

routes are key-value pairs.  AFAIK the key is protocol/prefix/length and
the metric is part of the value.  So I don't think it makes sense to
have two routes that differ only in metric, unless we're doing
equal-cost multipath and we need a way to specify the value as well.
But if we need that we should add it explicitly as a separate commit.

Are you saying that there are existing use cases which rely on this bug?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 194 bytes
Desc: not available
URL: <http://lists.quagga.net/pipermail/quagga-dev/attachments/20100819/30cb7a3c/attachment-0001.sig>

More information about the Quagga-dev mailing list