netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Steven Blake <slblake@petri-meat.com>
To: "David S. Miller" <davem@davemloft.net>
Cc: Robert Olsson <Robert.Olsson@data.slu.se>, netdev@oss.sgi.com
Subject: Re: Move fib_alias out of fib_hash.c
Date: Wed, 29 Sep 2004 17:20:43 -0400	[thread overview]
Message-ID: <1096492842.2344.57.camel@localhost.localdomain> (raw)
In-Reply-To: <20040929125359.12a00ba7.davem@davemloft.net>

On Wed, 2004-09-29 at 15:53, David S. Miller wrote:

> On Wed, 29 Sep 2004 17:20:45 +0200
> Robert Olsson <Robert.Olsson@data.slu.se> wrote:
> 
> >   we can interface new lookups cleanly. For a trie something like:
> 
> You are already making a critical logic error.
> 
> You cannot find the longest matching prefix and just use that.
> 
> Rather, you must iterate through all matching prefixes in the
> table from longest to shortest, trying fib_semantic_match() on
> each one until it says OK.
> 
> If you don't do that, then you're not providing the same behavior
> of the current code.  If next hops go down, you have to try the
> next longest matching prefix and so on and so forth.

I'm not criticizing the current design, but it is very typical of
routers to put the burden of fixing up the FIB in the event of a
next-hop state change on the routing daemon, and not the dataplane.
Which is one reason why having a FIB datastructure that can be updated
very efficiently is important.

> It can also
> be the case that the longest matching prefix entry has no matching
> TOS key, whereas a shorter prefix does.

No routing protocols are distributing TOS-specific routes, and there is
no prospect of that feature ever coming back.  Why pay the cost of
matching TOS on every packet forwarded?


Regards,

// Steve

  reply	other threads:[~2004-09-29 21:20 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-09-29  4:47 Move fib_alias out of fib_hash.c David S. Miller
2004-09-29 15:20 ` Robert Olsson
2004-09-29 19:53   ` David S. Miller
2004-09-29 21:20     ` Steven Blake [this message]
2004-09-29 21:27       ` David S. Miller
2004-09-29 22:09         ` Andi Kleen
2004-09-29 22:24           ` Ben Greear
2004-09-30  8:08             ` Andi Kleen
2004-09-30 15:51               ` Ben Greear
2004-09-29 21:43       ` Robert Olsson
2004-09-29 21:30     ` Robert Olsson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1096492842.2344.57.camel@localhost.localdomain \
    --to=slblake@petri-meat.com \
    --cc=Robert.Olsson@data.slu.se \
    --cc=davem@davemloft.net \
    --cc=netdev@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).