> 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
