bpf: fix build with some libpcap version on FreeBSD

Message ID 20220310183040.31724-1-david.marchand@redhat.com (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series bpf: fix build with some libpcap version on FreeBSD |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/intel-Testing success Testing PASS
ci/github-robot: build success github build: passed
ci/iol-mellanox-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-aarch64-unit-testing success Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-abi-testing success Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS

Commit Message

David Marchand March 10, 2022, 6:30 p.m. UTC
  This is something caught in UNH FreeBSD env.

For some reason [1], the pcap/bpf.h header started to define _BPF_H_.

It happens that the bpf_impl.h internal DPDK header uses this define as
an internal guard.
This triggers a build failure in bpf_convert.c which can't find
RTE_BPF_LOG macro.

Fix the include guard to use the filename and remove _.

1: https://github.com/the-tcpdump-group/libpcap/pull/1074

Fixes: 94972f35a02e ("bpf: add BPF loading and execution framework")
Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 lib/bpf/bpf_impl.h | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
  

Comments

Stephen Hemminger March 10, 2022, 6:54 p.m. UTC | #1
On Thu, 10 Mar 2022 19:30:40 +0100
David Marchand <david.marchand@redhat.com> wrote:

> This is something caught in UNH FreeBSD env.
> 
> For some reason [1], the pcap/bpf.h header started to define _BPF_H_.
> 
> It happens that the bpf_impl.h internal DPDK header uses this define as
> an internal guard.
> This triggers a build failure in bpf_convert.c which can't find
> RTE_BPF_LOG macro.
> 
> Fix the include guard to use the filename and remove _.
> 
> 1: https://github.com/the-tcpdump-group/libpcap/pull/1074
> 
> Fixes: 94972f35a02e ("bpf: add BPF loading and execution framework")
> Cc: stable@dpdk.org
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>

Acked-by: Stephen Hemminger <stephen@networkplumber.org>
  
Thomas Monjalon March 14, 2022, 10:51 a.m. UTC | #2
10/03/2022 19:54, Stephen Hemminger:
> On Thu, 10 Mar 2022 19:30:40 +0100
> David Marchand <david.marchand@redhat.com> wrote:
> 
> > This is something caught in UNH FreeBSD env.
> > 
> > For some reason [1], the pcap/bpf.h header started to define _BPF_H_.
> > 
> > It happens that the bpf_impl.h internal DPDK header uses this define as
> > an internal guard.
> > This triggers a build failure in bpf_convert.c which can't find
> > RTE_BPF_LOG macro.
> > 
> > Fix the include guard to use the filename and remove _.
> > 
> > 1: https://github.com/the-tcpdump-group/libpcap/pull/1074
> > 
> > Fixes: 94972f35a02e ("bpf: add BPF loading and execution framework")
> > Cc: stable@dpdk.org
> > 
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> 
> Acked-by: Stephen Hemminger <stephen@networkplumber.org>

Applied, thanks.
  

Patch

diff --git a/lib/bpf/bpf_impl.h b/lib/bpf/bpf_impl.h
index 26d165ad5c..b4d8e87c6d 100644
--- a/lib/bpf/bpf_impl.h
+++ b/lib/bpf/bpf_impl.h
@@ -2,8 +2,8 @@ 
  * Copyright(c) 2018 Intel Corporation
  */
 
-#ifndef _BPF_H_
-#define _BPF_H_
+#ifndef BPF_IMPL_H
+#define BPF_IMPL_H
 
 #include <rte_bpf.h>
 #include <sys/mman.h>
@@ -43,4 +43,4 @@  bpf_size(uint32_t bpf_op_sz)
 	return 0;
 }
 
-#endif /* _BPF_H_ */
+#endif /* BPF_IMPL_H */