I kind of agree with Thomas. Cisco gave LISP (pull based) presentation which is a working model, during NVO3 interim. I believe there are several ways to skin a cat and we should not limit our options. Besides, I also got an impression from the chairs that discussing preference of one solution over other is rather premature based on where the NVO3 is.
Regards, himanshu -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Thomas Narten Sent: Wednesday, September 26, 2012 2:04 PM To: Kireeti Kompella Cc: [email protected] Subject: Re: [nvo3] Push or pull? Hi Kireeti. Kireeti Kompella <[email protected]> writes: > I'm glad you brought this up. Actually, this conversation has > happened several times, to my knowledge, without a firm conclusion. I > doubt we can close it, but at least, let's air it. > Push: send route updates to everyone (first see Aldrin's comment about > RT Constraint) as soon as you (the AUTHORITY/ORACLE) get them. > Pull: sit on updates you get until someone asks for them. > I could try to convince you what a terrible idea Pull is. I could > refer to the Internet, which is all Push, and scales reasonably well. You mean like DNS or ARP? I do not think we should say "push is good, pull is bad". That is just too categorical a statement. > I could ask you what happens to packets while the Pull is being > responded to, or a bunch of related questions. I won't. They get queued. Or dropped. Or possibly something else. Yes, there are implications to that. But not necessarily a show stopper either. > > In my view, this puts an unnecessary load on NVEs. > Let's talk instead about the "unnecessary load". Can someone quantify > this? Is it CPU? memory? messaging? What's the bottleneck or pain > point? Some or all of the above. If typical VNs are smallish, I agree that an NVE can preload full tables with no problem. But what about for very large VNs? Should the architecture *force* such preloading of full tables, even if the working set of routes is actually very small? And what about for very large VNs where there is a lot of VM mobility? Should all NVEs be required to get update info even for destinations they don't care about? > Here's my back-of-the-envelop calculation for memory, normalized to a > VM. Let's say a VM has 10,000 friends in the DC that it might possibly > want to talk to, but only one that it really wants to talk to. Let's > say that a FIB route entry takes 100 bytes. That adds up to a possible > total of 1MB vs. an actual of 100 bytes. Is 1MB really something one > should optimize, especially considering that the VM has probably been > allocated 4GB? Are you really arguing that the difference between 1MB and 100 bytes is just noise? And who says this is in conventional memory on a host? I could see this being done in the ASIC... > Maybe there is a dimension to this that really is an issue. I would > love to know, especially with numbers backing it up. But let's first > convince ourselves that this is a problem worth solving before > spending cycles solving it. I do not think we should today require that the NVO3 architecture (in a MUST sense) support only push. I think we should allow for either push or pull, or some combination. I can see benefits with both approaches. Note also that we may be looking at the problem from different perspectives. For example, in a single data center, I can imagine a centralized directory service holding the complete address mapping information for all the VNs in the DC. An NVE in such cases can query such a mapping system with very very low latency. Thomas _______________________________________________ nvo3 mailing list [email protected] https://www.ietf.org/mailman/listinfo/nvo3 _______________________________________________ nvo3 mailing list [email protected] https://www.ietf.org/mailman/listinfo/nvo3
