All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Borkmann <daniel@iogearbox.net>
To: stephen@networkplumber.org
Cc: Jakub Kicinski <jakub.kicinski@netronome.com>, netdev@vger.kernel.org
Subject: [iproute2 -net-next] build broken ...
Date: Wed, 29 Nov 2017 02:05:09 +0100	[thread overview]
Message-ID: <5982488b-c6cb-71e0-356e-04d4e3485fe4@iogearbox.net> (raw)
In-Reply-To: <20171124021208.13419-1-jakub.kicinski@netronome.com>

Hi Stephen,

after merge of master into net-next branch the build is now broken
for BPF loader as follows:

# make

lib
make[1]: Entering directory '/home/darkstar/iproute2/lib'
    CC       libgenl.o
    CC       ll_map.o
    CC       libnetlink.o
libnetlink.c:120:2: warning: #warning "libmnl required for error support" [-Wcpp]
 #warning "libmnl required for error support"
  ^~~~~~~
    AR       libnetlink.a
    CC       utils.o
    CC       rt_names.o
    CC       ll_types.o
    CC       ll_proto.o
    CC       ll_addr.o
    CC       inet_proto.o
    CC       namespace.o
    CC       json_writer.o
    CC       json_print.o
    CC       names.o
    CC       color.o
    CC       bpf.o
bpf.c: In function ‘bpf_prog_load_dev’:
bpf.c:1080:6: error: ‘union bpf_attr’ has no member named ‘prog_ifindex’; did you mean ‘prog_id’?
  attr.prog_ifindex = ifindex;
      ^
../config.mk:39: recipe for target 'bpf.o' failed
make[1]: *** [bpf.o] Error 1
make[1]: Leaving directory '/home/darkstar/iproute2/lib'
Makefile:59: recipe for target 'all' failed
make: *** [all] Error 2

Can you rebase kernel headers to fix it, in net-next branch they
are not up to date which is why the build error occurs in combination
with below merged series?

Thanks,
Daniel


On 11/24/2017 03:11 AM, Jakub Kicinski wrote:
> Hi!
> 
> This series allows us to pass ifindex automatically when we
> set up TC cls_bpf or XDP offload.  There is a fair bit of
> refactoring to separate the parse and load stages of lib/bpf.c.
> In case of TC the skip_sw flag may come after the program
> arguments (e.g. "bpf obj prog.o da skip_sw"), so we can't
> just load the program as we parse the arguments.  Note that
> this impacts only loading of the program, all other supported
> methods of finding a program (pinned, bytecode, bytefile-file)
> are handled as previously, the load call will do nothing for
> them.
> 
> To simplify the implementation f_bpf and m_bpf will no longer
> allow specifying programs multiple times.  Device ifindex is 
> also resolved before running filter-specific code.
> 
> 
> Jakub Kicinski (11):
>   bpf: pass program type in struct bpf_cfg_in
>   bpf: keep parsed program mode in struct bpf_cfg_in
>   bpf: allocate opcode table in struct bpf_cfg_in
>   bpf: split parse from program loading
>   bpf: rename bpf_parse_common() to bpf_parse_and_load_common()
>   bpf: expose bpf_parse_common() and bpf_load_common()
>   bpf: allow loading programs for a specific ifindex
>   {f,m}_bpf: don't allow specifying multiple bpf programs
>   tc_filter: resolve device name before parsing filter
>   f_bpf: communicate ifindex for eBPF offload
>   iplink: communicate ifindex for xdp offload
> 
>  include/bpf_util.h    |  25 +++++++-
>  ip/iplink.c           |   4 +-
>  ip/iplink_xdp.c       |  13 ++++-
>  ip/iproute_lwtunnel.c |   3 +-
>  ip/xdp.h              |   4 +-
>  lib/bpf.c             | 155 ++++++++++++++++++++++++++++++--------------------
>  tc/f_bpf.c            |  18 +++++-
>  tc/m_bpf.c            |   6 +-
>  tc/tc_filter.c        |  50 ++++++++--------
>  9 files changed, 178 insertions(+), 100 deletions(-)
> 

  parent reply	other threads:[~2017-11-29  1:05 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-24  2:11 [PATCH iproute2/master 00/11] bpf: pass ifindex for bpf offload Jakub Kicinski
2017-11-24  2:11 ` [PATCH iproute2/master 01/11] bpf: pass program type in struct bpf_cfg_in Jakub Kicinski
2017-11-24  2:11 ` [PATCH iproute2/master 02/11] bpf: keep parsed program mode " Jakub Kicinski
2017-11-24  2:12 ` [PATCH iproute2/master 03/11] bpf: allocate opcode table " Jakub Kicinski
2017-11-24  2:12 ` [PATCH iproute2/master 04/11] bpf: split parse from program loading Jakub Kicinski
2017-11-24  2:12 ` [PATCH iproute2/master 05/11] bpf: rename bpf_parse_common() to bpf_parse_and_load_common() Jakub Kicinski
2017-11-24  2:12 ` [PATCH iproute2/master 06/11] bpf: expose bpf_parse_common() and bpf_load_common() Jakub Kicinski
2017-11-24  2:12 ` [PATCH iproute2/master 07/11] bpf: allow loading programs for a specific ifindex Jakub Kicinski
2017-11-24  2:12 ` [PATCH iproute2/master 08/11] {f,m}_bpf: don't allow specifying multiple bpf programs Jakub Kicinski
2017-11-24  2:12 ` [PATCH iproute2/master 09/11] tc_filter: resolve device name before parsing filter Jakub Kicinski
2017-11-24  2:12 ` [PATCH iproute2/master 10/11] f_bpf: communicate ifindex for eBPF offload Jakub Kicinski
2017-11-24  2:12 ` [PATCH iproute2/master 11/11] iplink: communicate ifindex for xdp offload Jakub Kicinski
2017-11-26 19:59 ` [PATCH iproute2/master 00/11] bpf: pass ifindex for bpf offload Stephen Hemminger
2017-11-29  1:05 ` Daniel Borkmann [this message]
2017-11-29  2:15   ` [iproute2 -net-next] build broken Stephen Hemminger
2017-11-29  2:17   ` Stephen Hemminger
2017-11-29  9:09     ` Daniel Borkmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5982488b-c6cb-71e0-356e-04d4e3485fe4@iogearbox.net \
    --to=daniel@iogearbox.net \
    --cc=jakub.kicinski@netronome.com \
    --cc=netdev@vger.kernel.org \
    --cc=stephen@networkplumber.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.