All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH bpf-next 00/10] bpf: bpf_(prog|map|attach)_type_(from|to)_str helpers
@ 2019-08-28 21:03 Julia Kartseva
  2019-08-28 21:03 ` [PATCH bpf-next 01/10] bpf: introduce __MAX_BPF_PROG_TYPE and __MAX_BPF_MAP_TYPE enum values Julia Kartseva
                   ` (9 more replies)
  0 siblings, 10 replies; 21+ messages in thread
From: Julia Kartseva @ 2019-08-28 21:03 UTC (permalink / raw)
  To: rdna, bpf, ast, daniel, netdev, kernel-team; +Cc: Julia Kartseva

Standardize commonly used bpf enum names by introducing helper methods to
libbpf.
When applications require enum to string mapping the related code is
copy-pasted from bpftool. It hardens maintenance, e.g. when new enum
values are added.

Patches 0001-0003 introduce __MAX_BPF_PROG_TYPE and __MAX_BPF_MAP_TYPE enum
type.
Patches 0004-0006 introduce helpers methods
libbpf_str_from_(prog|map|attach)_type and
libbpf_(prog|map|attach)_type_from_str.
Patches 0007-0008 extend and rename test_section_names test.
Patches 0009-0010 introduce the helpers to bpftool.

An alternative for adding __MAX_BPF_(PROG|MAP)_TYPE is using an erroneous
result of bpf_(prog|map|attach)_type_(from|to)_str as an indicator of
loop bound. The disadvantages are: tests won't fail when a string name
is not provided for a new enum value; whoever wants to loop over enum
values should be aware about this side feature of newly introduced helpers.

Julia Kartseva (10):
  bpf: introduce __MAX_BPF_PROG_TYPE and __MAX_BPF_MAP_TYPE enum values
  tools/bpf: sync bpf.h to tools/
  tools/bpf: handle __MAX_BPF_(PROG|MAP)_TYPE in switch statements
  tools/bpf: add libbpf_prog_type_(from|to)_str helpers
  tools/bpf: add libbpf_map_type_(from|to)_str helpers
  tools/bpf: add libbpf_attach_type_(from|to)_str
  selftests/bpf: extend test_section_names with type_(from|to)_str
  selftests/bpf: rename test_section_names to
    test_section_and_type_names
  tools/bpftool: use libbpf_(prog|map)_type_to_str helpers
  tools/bpftool: use libbpf_attach_type_to_str helper

 include/uapi/linux/bpf.h                      |   6 +
 tools/bpf/bpftool/cgroup.c                    |  60 +--
 tools/bpf/bpftool/feature.c                   |  47 ++-
 tools/bpf/bpftool/main.h                      |  33 --
 tools/bpf/bpftool/map.c                       |  80 +---
 tools/bpf/bpftool/prog.c                      |  31 +-
 tools/include/uapi/linux/bpf.h                |   6 +
 tools/lib/bpf/libbpf.c                        | 153 +++++++
 tools/lib/bpf/libbpf.h                        |  17 +
 tools/lib/bpf/libbpf.map                      |   6 +
 tools/lib/bpf/libbpf_probes.c                 |   2 +
 tools/testing/selftests/bpf/Makefile          |   2 +-
 .../bpf/test_section_and_type_names.c         | 378 ++++++++++++++++++
 .../selftests/bpf/test_section_names.c        | 233 -----------
 14 files changed, 673 insertions(+), 381 deletions(-)
 create mode 100644 tools/testing/selftests/bpf/test_section_and_type_names.c
 delete mode 100644 tools/testing/selftests/bpf/test_section_names.c

-- 
2.17.1


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2019-08-30  9:01 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-28 21:03 [PATCH bpf-next 00/10] bpf: bpf_(prog|map|attach)_type_(from|to)_str helpers Julia Kartseva
2019-08-28 21:03 ` [PATCH bpf-next 01/10] bpf: introduce __MAX_BPF_PROG_TYPE and __MAX_BPF_MAP_TYPE enum values Julia Kartseva
2019-08-28 21:33   ` Alexei Starovoitov
2019-08-28 21:03 ` [PATCH bpf-next 02/10] tools/bpf: sync bpf.h to tools/ Julia Kartseva
2019-08-28 21:03 ` [PATCH bpf-next 03/10] tools/bpf: handle __MAX_BPF_(PROG|MAP)_TYPE in switch statements Julia Kartseva
2019-08-28 21:19   ` Arnaldo Carvalho de Melo
2019-08-28 21:03 ` [PATCH bpf-next 04/10] tools/bpf: add libbpf_prog_type_(from|to)_str helpers Julia Kartseva
2019-08-28 23:34   ` Jakub Kicinski
2019-08-28 23:46     ` auto-split of commit. Was: " Alexei Starovoitov
2019-08-29  6:51       ` Greg Kroah-Hartman
2019-08-29 17:16         ` Alexei Starovoitov
2019-08-29 18:10           ` Arnaldo Carvalho de Melo
2019-08-29 18:50             ` Jakub Kicinski
2019-08-30  6:47           ` Greg Kroah-Hartman
2019-08-30  9:01             ` Toke Høiland-Jørgensen
2019-08-28 21:03 ` [PATCH bpf-next 05/10] tools/bpf: add libbpf_map_type_(from|to)_str helpers Julia Kartseva
2019-08-28 21:03 ` [PATCH bpf-next 06/10] tools/bpf: add libbpf_attach_type_(from|to)_str Julia Kartseva
2019-08-28 21:03 ` [PATCH bpf-next 07/10] selftests/bpf: extend test_section_names with type_(from|to)_str Julia Kartseva
2019-08-28 21:03 ` [PATCH bpf-next 08/10] selftests/bpf: rename test_section_names to test_section_and_type_names Julia Kartseva
2019-08-28 21:03 ` [PATCH bpf-next 09/10] tools/bpftool: use libbpf_(prog|map)_type_to_str helpers Julia Kartseva
2019-08-28 21:03 ` [PATCH bpf-next 10/10] tools/bpftool: use libbpf_attach_type_to_str helper Julia Kartseva

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.