Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1294464

Re: [PATCH 08/10] bpf samples: Add utils.[ch] for using BPF

From "Wangnan (F)" <wangnan0@huawei.com>
Newsgroups linux.kernel
Subject Re: [PATCH 08/10] bpf samples: Add utils.[ch] for using BPF
Date 2015-12-18 08:20 +0100
Message-ID <qGXux-2u7-1@gated-at.bofh.it> (permalink)
References (1 earlier) <qGziy-3tt-7@gated-at.bofh.it> <qGQ01-66V-11@gated-at.bofh.it> <qGSlb-7uA-1@gated-at.bofh.it> <qGWIa-1Xj-5@gated-at.bofh.it> <qGXkR-2qN-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw



On 2015/12/18 15:04, Wangnan (F) wrote:
>
>
> On 2015/12/18 14:19, Alexei Starovoitov wrote:
>> On Fri, Dec 18, 2015 at 09:47:11AM +0800, Wangnan (F) wrote:
>>> This is a limitation in tools/lib/bpf/libbpf.h, which has a #include
>>> <linux/err.h>
>>> in its header.
>>>
>>> libbpf.h requires this include because its API uses ERR_PTR() to encode
>>> error code.
>>> For example, when calling bpf_object__open(), caller should use 
>>> IS_ERR() to
>>> check its
>>> return value instead of compare with NULL, and use PTR_ERR() to retrive
>>> error number.
>>>
>>> However, linux/err.h is not a part of uapi. To make libbpf work, one 
>>> has to
>>> create its
>>> own err.h.
>>
[SNIP]
>>> What about moving them into include/uapi/linux/filter.h ? Then
>>> normal user programs like those in samples/bpf can access
>>> them easier.
>> we don't want to add these macros to uapi.
>> Why not to add it to
>> tools/include/linux/filter.h
>> instead?
>
> What I want to do in this patchset is not only removing original libbpf.c
> and bpf_load.c. In fact I want libbpf in tools/lib/bpf becomes a public
> available library for other userspace tools (tc for example). Switching
> samples/bpf into libbpf is the first step of this goal. From doing this
> I found and fixed some limitation, like those missed BPF map operations.
> Making libbpf.h and bpf.h available for normal userspace programs is also
> important.
>
> Having the above goal, I think you can understand why improving 
> tools/include
> is not a good idea. You don't want to force a normal userspace program 
> setup
> a similar header environment for using libbpf. It is relatively a small
> library. So it would be good if bpf.h and libbpf.h only depend on what 
> can
> be found in uapi.
>

I suddenly realized that only linux/err.h causes problem. Those macros from
filter.h are never accessed by libbpf. So we can drop those filter.h by 
making
samples/bpf include from tools/include. However we still need a wrapper in
libbpf to avoid including linux/err.h.

Thank you.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 08/10] bpf samples: Add utils.[ch] for using BPF Wang Nan <wangnan0@huawei.com> - 2015-12-17 06:30 +0100
  Re: [PATCH 08/10] bpf samples: Add utils.[ch] for using BPF Alexei Starovoitov <alexei.starovoitov@gmail.com> - 2015-12-18 00:20 +0100
    Re: [PATCH 08/10] bpf samples: Add utils.[ch] for using BPF "Wangnan (F)" <wangnan0@huawei.com> - 2015-12-18 02:50 +0100
      Re: [PATCH 08/10] bpf samples: Add utils.[ch] for using BPF Alexei Starovoitov <alexei.starovoitov@gmail.com> - 2015-12-18 07:30 +0100
        Re: [PATCH 08/10] bpf samples: Add utils.[ch] for using BPF "Wangnan (F)" <wangnan0@huawei.com> - 2015-12-18 08:10 +0100
          Re: [PATCH 08/10] bpf samples: Add utils.[ch] for using BPF "Wangnan (F)" <wangnan0@huawei.com> - 2015-12-18 08:20 +0100
          Re: [PATCH 08/10] bpf samples: Add utils.[ch] for using BPF Daniel Borkmann <daniel@iogearbox.net> - 2015-12-18 12:00 +0100
            Re: [PATCH 08/10] bpf samples: Add utils.[ch] for using BPF Daniel Borkmann <daniel@iogearbox.net> - 2015-12-18 12:30 +0100
            Re: [PATCH 08/10] bpf samples: Add utils.[ch] for using BPF pi3orama <pi3orama@163.com> - 2015-12-18 12:30 +0100
          Re: [PATCH 08/10] bpf samples: Add utils.[ch] for using BPF Alexei Starovoitov <alexei.starovoitov@gmail.com> - 2015-12-19 01:40 +0100

csiph-web