Go to file
Hangbin Liu 503e9229b0 iproute2: add check_libbpf() and get_libbpf_version()
This patch aim to add basic checking functions for later iproute2
libbpf support.

First we add check_libbpf() in configure to see if we have bpf library
support. By default the system libbpf will be used, but static linking
against a custom libbpf version can be achieved by passing libbpf DESTDIR
to variable LIBBPF_DIR for configure.

Another variable LIBBPF_FORCE is used to control whether to build iproute2
with libbpf. If set to on, then force to build with libbpf and exit if
not available. If set to off, then force to not build with libbpf.

When dynamically linking against libbpf, we can't be sure that the
version we discovered at compile time is actually the one we are
using at runtime. This can lead to hard-to-debug errors. So we add
a new file lib/bpf_glue.c and a helper function get_libbpf_version()
to get correct libbpf version at runtime.

Signed-off-by: Hangbin Liu <haliu@redhat.com>
Signed-off-by: David Ahern <dsahern@gmail.com>
2020-11-24 22:14:02 -07:00
bash-completion devlink: Add health reporter test command support 2020-10-07 00:08:53 -06:00
bridge Merge branch 'main' into next 2020-11-24 22:04:48 -07:00
dcb dcb: Add a subtool for the DCB ETS object 2020-11-13 19:43:19 -07:00
devlink lib: Extract from devlink/mnlg a helper, mnlu_socket_recv_run() 2020-11-13 19:43:15 -07:00
doc/actions doc: remove trailing whitespace 2018-12-19 12:02:38 -08:00
etc/iproute2 add support to keepalived rtm_protocol 2020-07-05 15:03:45 +00:00
examples/bpf examples: remove diffserv 2019-10-23 09:13:55 -07:00
genl genl: ctrl: print op -> policy idx mapping 2020-10-11 20:10:09 -06:00
include iproute2: add check_libbpf() and get_libbpf_version() 2020-11-24 22:14:02 -07:00
ip iproute2: add check_libbpf() and get_libbpf_version() 2020-11-24 22:14:02 -07:00
lib iproute2: add check_libbpf() and get_libbpf_version() 2020-11-24 22:14:02 -07:00
man Merge branch 'main' into next 2020-11-24 22:04:48 -07:00
misc ss: add support for xdp statistics 2020-09-29 09:21:24 -06:00
netem doc: remove trailing whitespace 2018-12-19 12:02:38 -08:00
rdma Merge branch 'main' into next 2020-11-24 22:04:48 -07:00
schema bridge: add json schema for bridge fdb show 2016-07-20 12:02:02 -07:00
tc iproute2: add check_libbpf() and get_libbpf_version() 2020-11-24 22:14:02 -07:00
testsuite m_mpls: add mac_push action 2020-10-20 08:57:08 -06:00
tipc tipc: add option to set rekeying for encryption 2020-10-20 09:04:45 -06:00
.clang-format clang-format: add configuration file 2019-01-17 13:38:23 -08:00
.gitignore Remove leftovers from removed Latex documentation 2018-02-13 16:43:19 -08:00
.mailmap mailmap: map David's mail address 2019-05-15 09:50:42 -07:00
configure iproute2: add check_libbpf() and get_libbpf_version() 2020-11-24 22:14:02 -07:00
COPYING Update address of FSF in license 2008-03-08 13:31:03 -08:00
Makefile Add skeleton of a new tool, dcb 2020-11-13 19:43:19 -07:00
README README: update libdb build dependency information 2018-05-01 19:29:03 -07:00
README.devel README: update location of git repositories, remove broken info link 2018-02-13 16:42:51 -08:00

This is a set of utilities for Linux networking.

Information:
    https://wiki.linuxfoundation.org/networking/iproute2

Download:
    http://www.kernel.org/pub/linux/utils/net/iproute2/

Stable version repository:
    git://git.kernel.org/pub/scm/network/iproute2/iproute2.git

Development repository:
    git://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git

How to compile this.
--------------------
1. libdbm

arpd needs to have the berkeleydb development libraries. For Debian
users this is the package with a name like libdbX.X-dev.
DBM_INCLUDE points to the directory with db_185.h which
is the include file used by arpd to get to the old format Berkeley
database routines.  Often this is in the db-devel package.

2. make

The makefile will automatically build a config.mk file which
contains definitions of libraries that may or may not be available
on the system such as: ATM, ELF, MNL, and SELINUX.

3. To make documentation, cd to doc/ directory , then
   look at start of Makefile and set correct values for
   PAGESIZE=a4		, ie: a4 , letter ...	(string)
   PAGESPERPAGE=2	, ie: 1 , 2 ...		(numeric)
   and make there. It assumes, that latex, dvips and psnup
   are in your path.

4. This package includes matching sanitized kernel headers because
   the build environment may not have up to date versions. See Makefile
   if you have special requirements and need to point at different
   kernel include files.

Stephen Hemminger
stephen@networkplumber.org

Alexey Kuznetsov
kuznet@ms2.inr.ac.ru