• Wang Nan's avatar
    bpf tools: Create eBPF maps defined in an object file · 52d3352e
    Wang Nan authored
    This patch creates maps based on 'map' section in object file using
    bpf_create_map(), and stores the fds into an array in 'struct
    bpf_object'.
    
    Previous patches parse ELF object file and collects required data, but
    doesn't play with the kernel. They belong to the 'opening' phase. This
    patch is the first patch in 'loading' phase. The 'loaded' field is
    introduced in 'struct bpf_object' to avoid loading an object twice,
    because the loading phase clears resources collected during the opening
    which becomes useless after loading. In this patch, maps_buf is cleared.
    Signed-off-by: default avatarWang Nan <wangnan0@huawei.com>
    Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
    Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
    Cc: Daniel Borkmann <daniel@iogearbox.net>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: He Kuang <hekuang@huawei.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Kaixu Xia <xiakaixu@huawei.com>
    Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Zefan Li <lizefan@huawei.com>
    Cc: pi3orama@163.com
    Link: http://lkml.kernel.org/r/1435716878-189507-17-git-send-email-wangnan0@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    52d3352e
libbpf.c 16.5 KB