On 1 November 2016 at 17:07, Tom Herbert <t...@herbertland.com> wrote: > On the other hand, I'm not really sure how to implement for this level > of performance this in LWT+BPF either. It seems like one way to do > that would be to create a program each destination and set it each > host. As you point out would create a million different programs which > doesn't seem manageable. I don't think the BPF map works either since > that implies we need a lookup (?). It seems like what we need is one > program but allow it to be parameterized with per destination > information saved in the route (LWT structure).
Attaching different BPF programs to millions of unique dsts doesn't make any sense. That will obivously will never scale and it's not supposed to scale. This is meant to be used for prefixes which represent a series of endpoints, f.e. all local containers, all non-internal traffic, all vpn traffic, etc. I'm also not sure why we are talking about ILA here, you have written a native implementation, why would you want to solve it with BPF again? If you want to run a single program for all dsts, feel free to run the same BPF program for each dst. Nobody is forcing you to attach individual programs.