From: "Toke Høiland-Jørgensen" <toke@redhat.com>
To: David Ahern <dsahern@gmail.com>, Hangbin Liu <haliu@redhat.com>
Cc: Stephen Hemminger <stephen@networkplumber.org>,
netdev@vger.kernel.org, bpf@vger.kernel.org
Subject: Re: [PATCHv3 iproute2-next 3/5] lib: add libbpf support
Date: Thu, 05 Nov 2020 16:57:55 +0100 [thread overview]
Message-ID: <87sg9nssn0.fsf@toke.dk> (raw)
In-Reply-To: <3c3f892a-6137-d176-0006-e5ddaeeed2b5@gmail.com>
David Ahern <dsahern@gmail.com> writes:
> On 11/5/20 12:51 AM, Hangbin Liu wrote:
>> On Wed, Nov 04, 2020 at 07:33:40PM -0700, David Ahern wrote:
>>> On 11/4/20 1:22 AM, Hangbin Liu wrote:
>>>> If we move this #ifdef HAVE_LIBBPF to bpf_legacy.c, we need to rename
>>>> them all. With current patch, we limit all the legacy functions in bpf_legacy
>>>> and doesn't mix them with libbpf.h. What do you think?
>>>
>>> Let's rename conflicts with a prefix -- like legacy. In fact, those
>>> iproute2_ functions names could use the legacy_ prefix as well.
>>>
>>
>> Sorry, when trying to rename the functions. I just found another issue.
>> Even we fix the conflicts right now. What if libbpf add new functions
>> and we got another conflict in future? There are too much bpf functions
>> in bpf_legacy.c which would have more risks for naming conflicts..
>>
>> With bpf_libbpf.c, there are less functions and has less risk for naming
>> conflicts. So I think it maybe better to not include libbpf.h in bpf_legacy.c.
>> What do you think?
>>
>>
>
> Is there a way to sort the code such that bpf_legacy.c is not used when
> libbpf is enabled and bpf_libbpf.c is not compiled when libbpf is disabled.
That's basically what we were going for, i.e.:
git mv lib/bpf.c lib/bpf_legacy.c
git add lib/bpf_libbpf.c
and then adding ifdefs to bpf_legacy.c and only including the other if
libbpf support is enabled.
I guess we could split it further into lib/bpf_{libbpf,legacy,glue}.c
and have the two former ones be completely devoid of ifdefs and
conditionally included based on whether or not libbpf support is
enabled?
-Toke
next prev parent reply other threads:[~2020-11-05 15:58 UTC|newest]
Thread overview: 167+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-23 3:38 [PATCH iproute2-next 0/5] iproute2: add libbpf support Hangbin Liu
2020-10-23 3:38 ` [PATCH iproute2-next 1/5] configure: add check_libbpf() for later " Hangbin Liu
2020-10-23 3:38 ` [PATCH iproute2-next 2/5] lib: rename bpf.c to bpf_legacy.c Hangbin Liu
2020-10-23 3:38 ` [PATCH iproute2-next 3/5] lib: add libbpf support Hangbin Liu
2020-10-23 14:34 ` David Ahern
2020-10-25 15:13 ` Toke Høiland-Jørgensen
2020-10-25 22:12 ` David Ahern
2020-10-26 8:56 ` Hangbin Liu
2020-10-26 15:15 ` David Ahern
2020-10-27 2:58 ` Hangbin Liu
2020-10-24 0:21 ` Andrii Nakryiko
2020-10-25 15:11 ` Toke Høiland-Jørgensen
2020-10-26 8:10 ` Hangbin Liu
2020-10-23 3:38 ` [PATCH iproute2-next 4/5] examples/bpf: move struct bpf_elf_map defined maps to legacy folder Hangbin Liu
2020-10-23 3:38 ` [PATCH iproute2-next 5/5] examples/bpf: add bpf examples with BTF defined maps Hangbin Liu
2020-10-28 13:25 ` [PATCHv2 iproute2-next 0/5] iproute2: add libbpf support Hangbin Liu
2020-10-28 13:25 ` [PATCHv2 iproute2-next 1/5] configure: add check_libbpf() for later " Hangbin Liu
2020-10-28 13:25 ` [PATCHv2 iproute2-next 2/5] lib: rename bpf.c to bpf_legacy.c Hangbin Liu
2020-10-28 13:25 ` [PATCHv2 iproute2-next 3/5] lib: add libbpf support Hangbin Liu
2020-10-28 13:25 ` [PATCHv2 iproute2-next 4/5] examples/bpf: move struct bpf_elf_map defined maps to legacy folder Hangbin Liu
2020-10-28 13:25 ` [PATCHv2 iproute2-next 5/5] examples/bpf: add bpf examples with BTF defined maps Hangbin Liu
2020-10-28 21:17 ` [PATCHv2 iproute2-next 0/5] iproute2: add libbpf support Alexei Starovoitov
2020-10-28 23:02 ` David Ahern
2020-10-29 2:06 ` Hangbin Liu
2020-10-29 2:20 ` David Ahern
2020-10-29 2:45 ` Hangbin Liu
2020-10-29 3:00 ` David Ahern
2020-10-29 3:17 ` Hangbin Liu
2020-10-29 10:26 ` Hangbin Liu
2020-10-29 10:51 ` Toke Høiland-Jørgensen
2020-10-29 2:27 ` Andrii Nakryiko
2020-10-29 2:33 ` David Ahern
2020-10-29 2:46 ` Andrii Nakryiko
2020-10-29 2:34 ` Stephen Hemminger
2020-10-29 2:50 ` Andrii Nakryiko
2020-10-29 11:38 ` Jesper Dangaard Brouer
2020-10-29 20:30 ` Andrii Nakryiko
2020-10-29 2:33 ` Stephen Hemminger
2020-10-29 15:11 ` [PATCHv3 " Hangbin Liu
2020-10-29 15:11 ` [PATCHv3 iproute2-next 1/5] configure: add check_libbpf() for later " Hangbin Liu
2020-10-29 15:26 ` Toke Høiland-Jørgensen
2020-11-02 15:37 ` David Ahern
2020-11-03 5:54 ` Hangbin Liu
2020-11-03 17:32 ` David Ahern
2020-11-04 8:51 ` Hangbin Liu
2020-11-04 11:09 ` Toke Høiland-Jørgensen
2020-11-04 11:40 ` Hangbin Liu
2020-10-29 15:11 ` [PATCHv3 iproute2-next 2/5] lib: rename bpf.c to bpf_legacy.c Hangbin Liu
2020-10-29 15:11 ` [PATCHv3 iproute2-next 3/5] lib: add libbpf support Hangbin Liu
2020-11-02 15:41 ` David Ahern
2020-11-03 5:48 ` Hangbin Liu
2020-11-03 17:19 ` David Ahern
2020-11-04 8:22 ` Hangbin Liu
2020-11-05 2:33 ` David Ahern
2020-11-05 7:51 ` Hangbin Liu
2020-11-05 15:25 ` David Ahern
2020-11-05 15:57 ` Toke Høiland-Jørgensen [this message]
2020-11-05 16:02 ` David Ahern
2020-11-06 0:56 ` Hangbin Liu
2020-11-06 0:41 ` Hangbin Liu
2020-10-29 15:11 ` [PATCHv3 iproute2-next 4/5] examples/bpf: move struct bpf_elf_map defined maps to legacy folder Hangbin Liu
2020-10-29 15:11 ` [PATCHv3 iproute2-next 5/5] examples/bpf: add bpf examples with BTF defined maps Hangbin Liu
2020-11-02 15:47 ` [PATCHv3 iproute2-next 0/5] iproute2: add libbpf support David Ahern
2020-11-03 6:58 ` Andrii Nakryiko
2020-11-03 8:42 ` Jiri Benc
2020-11-03 17:45 ` David Ahern
2020-11-03 17:48 ` Alexei Starovoitov
2020-11-03 8:46 ` Daniel Borkmann
2020-11-03 17:35 ` David Ahern
2020-11-03 17:47 ` Alexei Starovoitov
2020-11-03 18:23 ` Stephen Hemminger
2020-11-03 22:32 ` David Ahern
2020-11-03 22:55 ` Alexei Starovoitov
2020-11-04 1:40 ` David Ahern
2020-11-04 2:45 ` Alexei Starovoitov
2020-11-04 9:28 ` Jiri Benc
2020-11-05 2:39 ` David Ahern
2020-11-04 2:17 ` Hangbin Liu
2020-11-04 3:11 ` Alexei Starovoitov
2020-11-04 10:01 ` Jiri Benc
2020-11-04 10:21 ` Daniel Borkmann
2020-11-04 11:20 ` Toke Høiland-Jørgensen
2020-11-04 13:12 ` Daniel Borkmann
2020-11-04 19:17 ` Jakub Kicinski
2020-11-04 20:43 ` Andrii Nakryiko
2020-11-04 22:24 ` Toke Høiland-Jørgensen
2020-11-05 20:14 ` Andrii Nakryiko
2020-11-05 3:48 ` David Ahern
2020-11-05 20:53 ` Andrii Nakryiko
2020-11-05 3:19 ` David Ahern
2020-11-05 14:05 ` Jamal Hadi Salim
2020-11-05 21:01 ` Andrii Nakryiko
2020-11-06 15:27 ` Jamal Hadi Salim
2020-11-06 21:25 ` Andrii Nakryiko
2020-11-10 12:47 ` Edward Cree
2020-11-11 0:53 ` Alexei Starovoitov
2020-11-11 11:31 ` Edward Cree
2020-11-11 18:08 ` Alexei Starovoitov
2020-11-05 20:45 ` Andrii Nakryiko
2020-11-06 9:00 ` Jiri Benc
2020-11-06 21:07 ` Andrii Nakryiko
2020-11-04 21:15 ` Edward Cree
2020-11-04 22:10 ` Alexei Starovoitov
2020-11-04 22:35 ` Toke Høiland-Jørgensen
2020-11-04 23:05 ` Edward Cree
2020-11-05 20:19 ` Andrii Nakryiko
2020-11-06 8:44 ` Jiri Benc
2020-11-06 20:57 ` Andrii Nakryiko
2020-11-06 21:04 ` Alexei Starovoitov
2020-11-06 23:25 ` Stephen Hemminger
2020-11-06 23:30 ` Andrii Nakryiko
2020-11-07 0:41 ` Stephen Hemminger
2020-11-07 1:07 ` Andrii Nakryiko
2020-11-06 23:38 ` David Ahern
2020-11-09 1:45 ` Alexei Starovoitov
2020-11-10 4:09 ` David Ahern
2020-11-11 0:47 ` Alexei Starovoitov
2020-11-11 11:02 ` Toke Høiland-Jørgensen
2020-11-11 15:06 ` Daniel Borkmann
2020-11-11 16:33 ` David Ahern
2020-11-12 22:36 ` Toke Høiland-Jørgensen
2020-11-12 23:20 ` Daniel Borkmann
2020-11-13 0:04 ` Stephen Hemminger
2020-11-13 0:40 ` Alexei Starovoitov
2020-11-13 3:55 ` David Ahern
2020-11-09 7:07 ` [PATCHv4 " Hangbin Liu
2020-11-09 7:07 ` [PATCHv4 iproute2-next 1/5] configure: add check_libbpf() for later " Hangbin Liu
2020-11-14 3:26 ` David Ahern
2020-11-16 4:30 ` Hangbin Liu
2020-11-16 4:33 ` David Ahern
2020-11-09 7:07 ` [PATCHv4 iproute2-next 2/5] lib: rename bpf.c to bpf_legacy.c Hangbin Liu
2020-11-14 3:24 ` David Ahern
2020-11-16 3:55 ` Hangbin Liu
2020-11-09 7:08 ` [PATCHv4 iproute2-next 3/5] lib: add libbpf support Hangbin Liu
2020-11-09 7:08 ` [PATCHv4 iproute2-next 4/5] examples/bpf: move struct bpf_elf_map defined maps to legacy folder Hangbin Liu
2020-11-09 7:08 ` [PATCHv4 iproute2-next 5/5] examples/bpf: add bpf examples with BTF defined maps Hangbin Liu
2020-11-16 6:53 ` [PATCHv5 iproute2-next 0/5] iproute2: add libbpf support Hangbin Liu
2020-11-16 6:53 ` [PATCHv5 iproute2-next 1/5] configure: add check_libbpf() for later " Hangbin Liu
2020-11-16 6:53 ` [PATCHv5 iproute2-next 2/5] lib: rename bpf.c to bpf_legacy.c Hangbin Liu
2020-11-16 6:53 ` [PATCHv5 iproute2-next 3/5] lib: add libbpf support Hangbin Liu
2020-11-16 6:53 ` [PATCHv5 iproute2-next 4/5] examples/bpf: move struct bpf_elf_map defined maps to legacy folder Hangbin Liu
2020-11-16 6:53 ` [PATCHv5 iproute2-next 5/5] examples/bpf: add bpf examples with BTF defined maps Hangbin Liu
2020-11-16 7:19 ` [PATCHv5 iproute2-next 0/5] iproute2: add libbpf support Alexei Starovoitov
2020-11-16 14:54 ` Jesper Dangaard Brouer
2020-11-16 23:29 ` Toke Høiland-Jørgensen
2020-11-17 2:37 ` Alexei Starovoitov
2020-11-17 3:19 ` Hangbin Liu
2020-11-17 18:27 ` Alexei Starovoitov
2020-11-17 11:56 ` Edward Cree
2020-11-17 3:38 ` David Ahern
2020-11-17 18:19 ` Alexei Starovoitov
2020-11-16 16:45 ` Stephen Hemminger
2020-11-23 13:11 ` [PATCHv6 " Hangbin Liu
2020-11-23 13:11 ` [PATCHv6 iproute2-next 1/5] iproute2: add check_libbpf() and get_libbpf_version() Hangbin Liu
2020-11-23 13:11 ` [PATCHv6 iproute2-next 2/5] lib: make ipvrf able to use libbpf and fix function name conflicts Hangbin Liu
2020-11-23 13:11 ` [PATCHv6 iproute2-next 3/5] lib: add libbpf support Hangbin Liu
2020-11-23 13:12 ` [PATCHv6 iproute2-next 4/5] examples/bpf: move struct bpf_elf_map defined maps to legacy folder Hangbin Liu
2020-11-23 13:12 ` [PATCHv6 iproute2-next 5/5] examples/bpf: add bpf examples with BTF defined maps Hangbin Liu
2020-11-25 5:28 ` [PATCHv6 iproute2-next 0/5] iproute2: add libbpf support David Ahern
2020-11-25 5:30 ` patchwork-bot+netdevbpf
2020-11-29 6:16 ` [PATCH " Stephen Hemminger
2020-11-29 6:22 ` Greg KH
2020-11-30 11:39 ` Michal Kubecek
2020-11-29 17:33 ` Alexei Starovoitov
2020-11-29 19:41 ` David Ahern
2020-11-30 11:04 ` Toke Høiland-Jørgensen
2020-12-01 14:22 ` Jesper Dangaard Brouer
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=87sg9nssn0.fsf@toke.dk \
--to=toke@redhat.com \
--cc=bpf@vger.kernel.org \
--cc=dsahern@gmail.com \
--cc=haliu@redhat.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).