On Wed, 21 Sep 2016 08:08:34 -0700 Tom Herbert <t...@herbertland.com> wrote:
> On Wed, Sep 21, 2016 at 7:48 AM, Thomas Graf <tg...@suug.ch> wrote: > > On 09/21/16 at 07:19am, Tom Herbert wrote: > >> certain design that because of constraints on one kernel interface. As > >> a kernel developer I want flexibility on how we design and implement > >> things! > > > > Perfectly valid argument. I reviewed your ILA changes and did not > > object to them. > > > > > >> I think there are two questions that this patch set poses for the > >> community wrt XDP: > >> > >> #1: Should we allow alternate code to run in XDP other than BPF? > >> #2: If #1 is true what is the best way to implement that? > >> > >> If the answer to #1 is "no" then the answer to #2 is irrelevant. So > >> with this RFC I'm hoping we can come the agreement on questions #1. I vote yes to #1. > > I'm not opposed to running non-BPF code at XDP. I'm against adding > > a linked list of hook consumers. I also worry about the performance impact of a linked list. We should simple benchmark it instead of discussing it! ;-) > > Would anyone require to run XDP-BPF in combination ILA? Or XDP-BPF > > in combination with a potential XDP-nftables? We don't know yet I > > guess. > > > Right. Admittedly, I feel like we owe a bit of reciprocity to > nftables. For ILA we are using the NF_INET_PRE_ROUTING hook with our > own code (looks like ipvlan set nfhooks as well). This works really > well and saves the value of early demux in ILA. Had we not had the > ability to use nfhooks in this fashion it's likely we would have had > to create another hook (we did try putting translation in nftables > rules but that was too inefficient for ILA). Thinking about it, I actually think Tom is proposing a very valid user of the XDP hook, which is the kernel itself. And Tom even have a real first user ILA. The way I read the ILA-RFC-draft[1], the XDP hook would benefit the NVE (Network Virtualization Edge) component, which can run separately or run on the Tenant System, where the latter case could use XDP_PASS. [1] https://www.ietf.org/archive/id/draft-herbert-nvo3-ila-02.txt -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat Author of http://www.iptv-analyzer.org LinkedIn: http://www.linkedin.com/in/brouer