Hi Thomas,

Thanks for taking the time to review the draft.

> However, at least initially, SARP would be implemented in the service 
> processor (consuming CPU cycles). It would be years (if ever) before silicon 
> would implement this.

Speaking as a chip vendor: our existing silicons support the data plane 
functionality of SARP. In fact, I am taking a wild guess (but I may be wrong) 
that some of our competitors' silicons that support IP/TRILL routing also 
support the data plane functionality of SARP, simply because from a data plane 
perspective SARP performs a somewhat similar functionality: address lookup + 
MAC address replacement.
In general, I don't think anyone intended for the data plane of SARP to be 
implemented in software.


> As DaveA points out, FDB tables are large on chips these days.
> silicon will just get better and have bigger FDB tables...

Right, but the *demand* for bigger FDB tables is also increasing, even more 
rapidly. Moreover, the FDB table is typically the biggest table in a switch 
silicon, which means that a large FDB table significantly increases the cost of 
the silicon.
BTW, I took a look at RFC6820 (I am sure you are familiar with this document :) 
), and it certainly addresses MAC table size as a real issue: " When L3 extends 
only to aggregation switches (see Section 6.4.2), however, MAC table size 
limitations can be a real issue."

Thanks,
Tal.


-----Original Message-----
From: int-area-boun...@ietf.org [mailto:int-area-boun...@ietf.org] On Behalf Of 
Thomas Narten
Sent: Saturday, September 28, 2013 12:28 AM
To: Suresh Krishnan
Cc: Internet Area
Subject: Re: [Int-area] Call for adoption of draft-nachum-sarp-06.txt

Given the flurry of mail, I went back and reviewed my notes on this document.

I believe I understand the problem (reduce size of FDB), but am skeptical that 
solving it via the approach in this document is worthwhile.

1) As DaveA points out, FDB tables are large on chips these days. However, at 
least initially, SARP would be implemented in the service processor (consuming 
CPU cycles). It would be years (if ever) before silicon would implement this. 
But in parallel, silicon will just get better and have bigger FDB tables... 
Moreover, the SARP motivation section specifically cites a shortage of 
processor cycles as a problem ... but doing SARP in software will increase the 
demands on the CPU...  its unclear to me that the increased CPU burdens SARP 
implies would be offset by the reduced amount of ARP processing that the 
solution is hoping will result... I.e., at least in the short term, it's 
unclear that SARP would actually help in practice.

2) Doing L2 NAT at line rates (an absolute requirement for edge
devices) will only happen if this is done in silicon. I don't see that 
happening unless there is strong support from vendors/operators/chip makers... 
Software based solutions simply will not have sufficient performance. I think 
the IEEE would be a better place to have the discussion about what L2 chip 
makers are willing to implement...

3) Only works for IP. Doesn't work for non-IP L2. Doesn't that only solve part 
of the problem?

4) High availability is complex (but presumably also necessary). It smells a 
lot like multi-chassis LAG (with the need to synchronize state between 
tightly-coupled peers). Although IEEE is working in this general area now, 
there are tons of vendor-specific solutions for doing this at L2. Do we really 
want to tackle standardizing this in the IETF?  Isn't the relevant expertise 
for this general area in IEEE?

5) This solution touchs on both L2 (NATing L2 addresses) and L3 (ARPing for IP 
addresses). We absolutely would need coordinate with IEEE before deciding to 
take on this work.

6) ARP caching will be a tradeoff. You want to cache responses for better 
performance, but long cache timeouts will result in black holes after VMs move. 
There is no great answer here. I expect long timeouts to be unacceptable 
operationally, which means that the benefits of caching will be limited (and 
these benefits are the key value proposition of this approach). It is really 
hard to estimate whether the benefits will be sufficient in practice. 
Gratuitous ARPs can help, but they are not reliable, so they will help, but 
have limitations...

7) I haven't fully worked this out, but I wonder if loops can form between 
proxies. There is the notion that when a VM moves, proxies will need to update 
their tables. But careful analysis will be needed to be sure that one can't 
ever have loops where proxies end up pointing to each other. And since the 
packets are L2 (with no TTL), such loops would be disasterous. (Note point 6: 
we are using heuristics (like gratuitous ARP) to get tables to converge after a 
change. Heuristics tend to have transient inconsistencies.. i.e., possibly 
leading to loops.)

Again, overall, I understand the generic problem and that it would be nice to 
have a solution. However, I don't see a simple solution here. I see a fair 
amount of complexity, and I'm skeptical that it's worth it (e.g., when the next 
gen of silicon will just have a larger FDB).

What I'd really like to see (before having the IETF commit to this
work) is:

1) operators who are feeling the pain described in the document stepping 
forward and saying they think the solution being proposed is something they 
would be willing to deploy and is better than other approaches they have in 
their toolkit.

2) Vendors (including silicon) saying they see the need for this and think the 
would implement it.

Thomas

_______________________________________________
Int-area mailing list
Int-area@ietf.org
https://www.ietf.org/mailman/listinfo/int-area
_______________________________________________
Int-area mailing list
Int-area@ietf.org
https://www.ietf.org/mailman/listinfo/int-area

Reply via email to