On 08/27/2014 10:37 PM, Alexei Starovoitov wrote:
allow user space to generate eBPF programs uapi/linux/bpf.h: eBPF instruction set definition linux/filter.h: the rest
Very sorry for being late, but just a thought since we're touching user space headers anyway ... Wouldn't it be more consistent to have it organized as follows ... - uapi/linux/bpf.h : classic BPF instruction set parts only - uapi/linux/ebpf.h : eBPF instruction set definition (which also includes uapi/linux/bpf.h though) ... and have ... - uapi/linux/filter.h : just include uapi/linux/bpf.h but rest is empty That way, it would be more consistent ... Old legacy application can stay with linux/filter.h; new applications based on their needs can choose between linux/{e,}bpf.h and in the kernel, we can just include linux/ebpf.h. Right now, it seems, an eBPF user space program would need to include 2 header files in user space (linux/filter.h, linux/bpf.h) which I find a bit confusing. If you want, I could also take care of that later, but just thinking out loudly ...
This patch only moves macro definitions, but practically it freezes existing eBPF instruction set, though new instructions can still be added in the future. These eBPF definitions cannot go into uapi/linux/filter.h, since the names may conflict with existing applications. Full eBPF ISA description is in Documentation/networking/filter.txt Signed-off-by: Alexei Starovoitov <ast@xxxxxxxxxxxx>
-- To unsubscribe from this list: send the line "unsubscribe linux-api" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html