On 9/23/16 6:00 AM, Jesper Dangaard Brouer wrote:
To support Tom's case, with eBPF, I think we would have to implement specific eBPF helper functions that can do the ILA table lookups. And then need a userspace component to load the eBPF program. Why add all this, when we could contain all this in the kernel, and simply call this as native C-code via the XDP hook?
well, ILA router was written in BPF already :) Once for tc+clsact and once for XDP. In both cases no extra bpf helpers were needed. Due to this use case we added an optimization to be able to do a map lookup with packet data directly (instead of copying packet bytes to stack and pointing map_lookup helper to stack). Looks like those ila router patches never made it to the list. I'll dig them out and forward.