mbox series

[bpf-next,v3,0/2] bpftool/libbpf: Add probe for large INSN limit

Message ID 20200108162428.25014-1-mrostecki@opensuse.org
Headers show
Series bpftool/libbpf: Add probe for large INSN limit | expand

Message

Michal Rostecki Jan. 8, 2020, 4:23 p.m. UTC
This series implements a new BPF feature probe which checks for the
commit c04c0d2b968a ("bpf: increase complexity limit and maximum program
size"), which increases the maximum program size to 1M. It's based on
the similar check in Cilium, although Cilium is already aiming to use
bpftool checks and eventually drop all its custom checks.

Examples of outputs:

# bpftool feature probe
[...]
Scanning miscellaneous eBPF features...
Large complexity limit and maximum program size (1M) is available

# bpftool feature probe macros
[...]
/*** eBPF misc features ***/
#define HAVE_HAVE_LARGE_INSN_LIMIT

# bpftool feature probe -j | jq '.["misc"]'
{
  "have_large_insn_limit": true
}

v1 -> v2:
- Test for 'BPF_MAXINSNS + 1' number of total insns.
- Remove info about current 1M limit from probe's description.

v2 -> v3:
- Remove the "complexity" word from probe's description.

Michal Rostecki (2):
  libbpf: Add probe for large INSN limit
  bpftool: Add misc section and probe for large INSN limit

 tools/bpf/bpftool/feature.c   | 18 ++++++++++++++++++
 tools/lib/bpf/libbpf.h        |  1 +
 tools/lib/bpf/libbpf.map      |  1 +
 tools/lib/bpf/libbpf_probes.c | 21 +++++++++++++++++++++
 4 files changed, 41 insertions(+)

Comments

Quentin Monnet Jan. 8, 2020, 5:48 p.m. UTC | #1
2020-01-08 17:23 UTC+0100 ~ Michal Rostecki <mrostecki@opensuse.org>
> This series implements a new BPF feature probe which checks for the
> commit c04c0d2b968a ("bpf: increase complexity limit and maximum program
> size"), which increases the maximum program size to 1M. It's based on
> the similar check in Cilium, although Cilium is already aiming to use
> bpftool checks and eventually drop all its custom checks.
> 
> Examples of outputs:
> 
> # bpftool feature probe
> [...]
> Scanning miscellaneous eBPF features...
> Large complexity limit and maximum program size (1M) is available
> 
> # bpftool feature probe macros
> [...]
> /*** eBPF misc features ***/
> #define HAVE_HAVE_LARGE_INSN_LIMIT
> 
> # bpftool feature probe -j | jq '.["misc"]'
> {
>   "have_large_insn_limit": true
> }
> 
> v1 -> v2:
> - Test for 'BPF_MAXINSNS + 1' number of total insns.
> - Remove info about current 1M limit from probe's description.
> 
> v2 -> v3:
> - Remove the "complexity" word from probe's description.

Series looks good to me, thanks!

Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com>
Daniel Borkmann Jan. 8, 2020, 6:37 p.m. UTC | #2
On 1/8/20 6:48 PM, Quentin Monnet wrote:
> 2020-01-08 17:23 UTC+0100 ~ Michal Rostecki <mrostecki@opensuse.org>
>> This series implements a new BPF feature probe which checks for the
>> commit c04c0d2b968a ("bpf: increase complexity limit and maximum program
>> size"), which increases the maximum program size to 1M. It's based on
>> the similar check in Cilium, although Cilium is already aiming to use
>> bpftool checks and eventually drop all its custom checks.
>>
>> Examples of outputs:
>>
>> # bpftool feature probe
>> [...]
>> Scanning miscellaneous eBPF features...
>> Large complexity limit and maximum program size (1M) is available
>>
>> # bpftool feature probe macros
>> [...]
>> /*** eBPF misc features ***/
>> #define HAVE_HAVE_LARGE_INSN_LIMIT
>>
>> # bpftool feature probe -j | jq '.["misc"]'
>> {
>>    "have_large_insn_limit": true
>> }
>>
>> v1 -> v2:
>> - Test for 'BPF_MAXINSNS + 1' number of total insns.
>> - Remove info about current 1M limit from probe's description.
>>
>> v2 -> v3:
>> - Remove the "complexity" word from probe's description.
> 
> Series looks good to me, thanks!
> 
> Reviewed-by: Quentin Monnet <quentin.monnet@netronome.com>

Applied, thanks!