Re: [PATCH RFC 1/3] xdp: Infrastructure to generalize XDP
From: Thomas Graf <tgraf@suug.ch>
Date: 2016-09-21 14:48:04
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'm not opposed to running non-BPF code at XDP. I'm against adding a linked list of hook consumers. 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. Maybe exclusive access to the hook for one consumer as selected by the user is good enough. If that is not good enough: BPF (and potentially nftables in the future) could provide means to perform a selection process where a helper call can run another XDP prog or return a verdict to trigger another XDP prog. Definitely more flexible and faster than a linear list doing if, else if, else if, else if, ...