> After decades of working with router models in the IETF, my ideas are
> probably rather fossilised, but I think I see some agreement that at one
end
> of the router, there are data structures that are passed to the silicon to
use in
> deciding where to forward packets; while at the other end, there are
> instances of routing protocols sending and receiving data, maintaining
> protocol specific data structures as a BGP RIB or OSPF link state
database, and
> processing it in order to derive one or more best routes within the
purview
> of that protocol instance:-)

The problem is there is no longer "one" database that's passed to the
silicon to make an actual forwarding decision --with virtualization,
specifically, there's (potentially) a different set per interface, and hence
there's a different "RIB" per topology behind these different forwarding
table entries (though I hate to use the term "RIB" here). So when you look
up a specific destination, you must not only specify the destination, but
also the context within which that destination lives.

The question becomes --do you want to have something like this:

(Context1,10.1.1.0/24)
(Context2,10.1.1.0/24)

And call that the "RIB," which lives at the top level of the hierarchy? If
so, then what do you call the table that lives exclusively in context 1 (or
2), and has a route to 10.1.1.0/24, but is not even aware of other routes to
that same destination address because it has no access to the tables in
other contexts? This second table is what's traditionally called "the RIB,"
in my experience. While different people have different experiences, I don't
know of anyone who would call the combination of all forwarding table entry
contexts into one large table the "RIB."

A second way to look at this, I think, is in asking what question you want
to be able to ask. Do you want to say: "Find me the route in context 1 that
leads to 10.1.1.0/24?" Or do you want to say, "Step 1: select context 1.
Step 2: Find route to 10.1.1.0/24." Or are we asking for: "Find every route
to every possible 10.1.1.0/24 no matter what the context is?"

The third question makes no sense to me, as I don't see anything useful you
can do with that information. I'm open to suggestions, I just can't think of
anything off the top of my head I'd ever want to use that information for,
because  (Context1,10.1.1.0/24) is actually a completely different
destination than (Context2,10.1.1.0/24) --they're only related by their
destination address, not by the physical or logical topology in any way. 

:-)

Russ

_______________________________________________
i2rs mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/i2rs

Reply via email to