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, 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.
Jesper Dangaard Brouer
MSc.CS, Principal Kernel Engineer at Red Hat
Author of http://www.iptv-analyzer.org