Actually I'm still hesitating about the 'rte_' prefix either. So I'll
try a new prefix in the next version, comments will be added together
:)

Konstantin Ananyev <konstantin.v.anan...@yandex.ru> 于2023年3月12日周日 22:02写道:
>
> 12/03/2023 06:20, J.J. Martzki пишет:
> > The library libpcap has their function 'bpf_validate' either so there would
> > be a multiple definition issue when linking with librte_bpf.a and libpcap.a
> > statically (Same as http://dpdk.org/patch/52631). So just rename the
> > function names to avoid such issue.
> >
> > Signed-off-by: J.J. Martzki <mars14...@gmail.com>
> >
> > ---
> > v4:
> > * Update my name.
> > v3:
> > * Rewrite the commit message.
> > v2:
> > * Rename all functions in bpf_impl.h.
> > * Adjust the commit message.
> > ---
> >   lib/bpf/bpf.c           |  6 +++---
> >   lib/bpf/bpf_convert.c   |  3 ---
> >   lib/bpf/bpf_impl.h      | 10 ++++------
> >   lib/bpf/bpf_jit_arm64.c |  2 +-
> >   lib/bpf/bpf_jit_x86.c   |  2 +-
> >   lib/bpf/bpf_load.c      |  4 ++--
> >   lib/bpf/bpf_validate.c  |  2 +-
> >   7 files changed, 12 insertions(+), 17 deletions(-)
> >
> > diff --git a/lib/bpf/bpf.c b/lib/bpf/bpf.c
> > index 1e1dd42a58..f218a8f2b0 100644
> > --- a/lib/bpf/bpf.c
> > +++ b/lib/bpf/bpf.c
> > @@ -31,14 +31,14 @@ rte_bpf_get_jit(const struct rte_bpf *bpf, struct 
> > rte_bpf_jit *jit)
> >   }
> >
> >   int
> > -bpf_jit(struct rte_bpf *bpf)
> > +rte_bpf_jit(struct rte_bpf *bpf)
> >   {
> >       int32_t rc;
> >
> >   #if defined(RTE_ARCH_X86_64)
> > -     rc = bpf_jit_x86(bpf);
> > +     rc = rte_bpf_jit_x86(bpf);
> >   #elif defined(RTE_ARCH_ARM64)
> > -     rc = bpf_jit_arm64(bpf);
> > +     rc = rte_bpf_jit_arm64(bpf);
> >   #else
> >       rc = -ENOTSUP;
> >   #endif
> > diff --git a/lib/bpf/bpf_convert.c b/lib/bpf/bpf_convert.c
> > index 9563274c9c..d441be6663 100644
> > --- a/lib/bpf/bpf_convert.c
> > +++ b/lib/bpf/bpf_convert.c
> > @@ -23,11 +23,8 @@
> >   #include <rte_malloc.h>
> >   #include <rte_errno.h>
> >
> > -/* Workaround name conflicts with libpcap */
> > -#define bpf_validate(f, len) bpf_validate_libpcap(f, len)
> >   #include <pcap/pcap.h>
> >   #include <pcap/bpf.h>
> > -#undef bpf_validate
> >
> >   #include "bpf_impl.h"
> >   #include "bpf_def.h"
> > diff --git a/lib/bpf/bpf_impl.h b/lib/bpf/bpf_impl.h
> > index b4d8e87c6d..e955b74181 100644
> > --- a/lib/bpf/bpf_impl.h
> > +++ b/lib/bpf/bpf_impl.h
> > @@ -17,12 +17,10 @@ struct rte_bpf {
> >       uint32_t stack_sz;
> >   };
> >
> > -extern int bpf_validate(struct rte_bpf *bpf);
> > -
> > -extern int bpf_jit(struct rte_bpf *bpf);
> > -
> > -extern int bpf_jit_x86(struct rte_bpf *);
> > -extern int bpf_jit_arm64(struct rte_bpf *);
> > +extern int rte_bpf_validate(struct rte_bpf *bpf);
> > +extern int rte_bpf_jit(struct rte_bpf *bpf);
> > +extern int rte_bpf_jit_x86(struct rte_bpf *bpf);
> > +extern int rte_bpf_jit_arm64(struct rte_bpf *bpf);
>
> I am still not quite ok to us 'rte_' prefix for internal library
> functions...
> Might be at least '_rte_', or '_bpf_'?
> Another ask - can you put comment here with advise for future
> add-ons to avoid pure 'bpf_' prefix and why.
> Konstantin
>
>
> >   extern int rte_bpf_logtype;
> >
> > diff --git a/lib/bpf/bpf_jit_arm64.c b/lib/bpf/bpf_jit_arm64.c
> > index db79ff7385..d1ab5f8fbf 100644
> > --- a/lib/bpf/bpf_jit_arm64.c
> > +++ b/lib/bpf/bpf_jit_arm64.c
> > @@ -1393,7 +1393,7 @@ emit(struct a64_jit_ctx *ctx, struct rte_bpf *bpf)
> >    * Produce a native ISA version of the given BPF code.
> >    */
> >   int
> > -bpf_jit_arm64(struct rte_bpf *bpf)
> > +rte_bpf_jit_arm64(struct rte_bpf *bpf)
> >   {
> >       struct a64_jit_ctx ctx;
> >       size_t size;
> > diff --git a/lib/bpf/bpf_jit_x86.c b/lib/bpf/bpf_jit_x86.c
> > index c1a30e0386..182004ac7d 100644
> > --- a/lib/bpf/bpf_jit_x86.c
> > +++ b/lib/bpf/bpf_jit_x86.c
> > @@ -1490,7 +1490,7 @@ emit(struct bpf_jit_state *st, const struct rte_bpf 
> > *bpf)
> >    * produce a native ISA version of the given BPF code.
> >    */
> >   int
> > -bpf_jit_x86(struct rte_bpf *bpf)
> > +rte_bpf_jit_x86(struct rte_bpf *bpf)
> >   {
> >       int32_t rc;
> >       uint32_t i;
> > diff --git a/lib/bpf/bpf_load.c b/lib/bpf/bpf_load.c
> > index 1e17df6ce0..2c4bca3586 100644
> > --- a/lib/bpf/bpf_load.c
> > +++ b/lib/bpf/bpf_load.c
> > @@ -108,9 +108,9 @@ rte_bpf_load(const struct rte_bpf_prm *prm)
> >               return NULL;
> >       }
> >
> > -     rc = bpf_validate(bpf);
> > +     rc = rte_bpf_validate(bpf);
> >       if (rc == 0) {
> > -             bpf_jit(bpf);
> > +             rte_bpf_jit(bpf);
> >               if (mprotect(bpf, bpf->sz, PROT_READ) != 0)
> >                       rc = -ENOMEM;
> >       }
> > diff --git a/lib/bpf/bpf_validate.c b/lib/bpf/bpf_validate.c
> > index 61cbb42216..2d3d899966 100644
> > --- a/lib/bpf/bpf_validate.c
> > +++ b/lib/bpf/bpf_validate.c
> > @@ -2302,7 +2302,7 @@ evaluate(struct bpf_verifier *bvf)
> >   }
> >
> >   int
> > -bpf_validate(struct rte_bpf *bpf)
> > +rte_bpf_validate(struct rte_bpf *bpf)
> >   {
> >       int32_t rc;
> >       struct bpf_verifier bvf;
>

Reply via email to