2019-05-24 13:22 UTC+0200 ~ Jesper Dangaard Brouer <brouer@xxxxxxxxxx> > On Fri, 24 May 2019 11:36:47 +0100 > Quentin Monnet <quentin.monnet@xxxxxxxxxxxxx> wrote: > >> libbpf was recently made aware of the log_level attribute for programs, >> used to specify the level of information expected to be dumped by the >> verifier. Function bpf_prog_load_xattr() got support for this log_level >> parameter. >> >> But some applications using libbpf rely on another function to load >> programs, bpf_object__load(), which does accept any parameter for log >> level. Create an API function based on bpf_object__load(), but accepting >> an "attr" object as a parameter. Then add a log_level field to that >> object, so that applications calling the new bpf_object__load_xattr() >> can pick the desired log level. > > Does this allow us to extend struct bpf_object_load_attr later? I see no reason why it could not. Having the _xattr() version of the function is precisely a way to have something extensible in the future, without having to create additional API functions each time we want to pass a new parameter. And e.g. struct bpf_prog_load_attr (used with bpf_prog_load_xattr()) has already been extended in the past. So, yeah, we can add to it in the future. Do you have something in mind? Quentin