diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 21:11:59 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 21:11:59 +0000 |
commit | 3cd01b932e1c85394272ae64fae67ebeda92fb00 (patch) | |
tree | c5a3115d710afc1879ddea5349362a2bc651733c /m4/pdns_with_ebpf.m4 | |
parent | Initial commit. (diff) | |
download | dnsdist-3cd01b932e1c85394272ae64fae67ebeda92fb00.tar.xz dnsdist-3cd01b932e1c85394272ae64fae67ebeda92fb00.zip |
Adding upstream version 1.8.3.upstream/1.8.3
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'm4/pdns_with_ebpf.m4')
-rw-r--r-- | m4/pdns_with_ebpf.m4 | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/m4/pdns_with_ebpf.m4 b/m4/pdns_with_ebpf.m4 new file mode 100644 index 0000000..760bd65 --- /dev/null +++ b/m4/pdns_with_ebpf.m4 @@ -0,0 +1,38 @@ +AC_DEFUN([PDNS_WITH_EBPF],[ + AC_MSG_CHECKING([if we have eBPF support]) + AC_ARG_WITH([ebpf], + AS_HELP_STRING([--with-ebpf],[enable eBPF support @<:@default=auto@:>@]), + [with_ebpf=$withval], + [with_ebpf=auto], + ) + AC_MSG_RESULT([$with_ebpf]) + + AS_IF([test "x$with_ebpf" != "xno"], [ + AS_IF([test "x$with_ebpf" = "xyes" -o "x$with_ebpf" = "xauto"], [ + AC_CHECK_HEADERS([linux/bpf.h], bpf_headers=yes, bpf_headers=no) + ]) + ]) + AS_IF([test "x$with_ebpf" = "xyes"], [ + AS_IF([test x"$bpf_headers" = "no"], [ + AC_MSG_ERROR([EBPF support requested but required eBPF headers were not found]) + ]) + ]) + AM_CONDITIONAL([HAVE_EBPF], [test x"$bpf_headers" = "xyes" ]) + AS_IF([test x"$bpf_headers" = "xyes" ], + [AC_CHECK_DECL(BPF_FUNC_tail_call, + [ AC_CHECK_DECL(SO_ATTACH_BPF, + [ AC_DEFINE([HAVE_EBPF], [1], [Define if using eBPF.]) ], + [ AS_IF([test "x$with_ebpf" = "xyes"], [ + AC_MSG_ERROR([EBPF support requested but SO_ATTACH_BPF not found]) + ])], + [#include <sys/socket.h> + ] + )], + [ AS_IF([test "x$with_ebpf" = "xyes"], [ + AC_MSG_ERROR([EBPF support requested but BPF_FUNC_tail_call not found in the eBPF headers]) + ])], + [#include <linux/bpf.h> + ] + )] + ) +]) |