Ubuntu 18.04.4 LTS\
Ensure liblz4-tool is installed. Else make after make menuconfig fails
$ apt install liblz4-tool
Select kernel 5.4.1::\
https://cdn.kernel.org/pub/linux/kernel/v5.x/
$ cd /usr/src\
$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/<kernel-version =="linux-5.4.51">.tar.xz\</kernel-version>
$ tar -xvf <kernel-version>.tar.xz\
$ cd <kernel-version>\
$ make menuconfig</kernel-version></kernel-version>
Networking support -->\
Networking options -->\
[ * ] XDP sockets\
<M> XDP sockets: monitoring interface
$ make -j64\
$ make modules_install install -j64\
$ make install -j64\
$ make headers_install\
$ pushd tools/lib/bpf\
$ make clean && make install && make install_headers\
$ popd\
$ make headers_install ARCH=x86_64 INSTALL_HDR_PATH=/usr\
$ update-grub\
$ reboot
$ pushd /usr/src/<kernel-version =="linux-5.4.51">/tools/lib/bpf\
$ make install_lib prefix=/usr\
$ make install_headers prefix=/usr\
$ popd</kernel-version>
$ sudo apt-get update\
$ sudo apt-get upgrade\
$ sudo apt-get install libncurses-dev flex bison openssl libssl-dev dkms libcap-dev libelf-dev libudev-dev libpci-dev libiberty-dev autoconf\
$ sudo apt-get install build-essential xz-utils curl\
$ pushd /usr/local\
$ wget https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz\
$ tar -xvf clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz\
$ export PATH=/usr/local/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04/bin:$PATH\
$ export LD_LIBRARY_PATH=/usr/local/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04/lib:$LD_LIBRARY_PATH\
$ clang --version\
$ popd
$ sudo yum install centos-release-scl\
$ sudo yum install llvm-toolset-7\
$ scl enable llvm-toolset-7 bash\
$ sudo yum install devtoolset-3\
$ sudo yum install elfutils-libelf-devel\
$ clang --version
#### Export Include paths:: libbpf.so, clang+llvm\
$ export LD_LIBRARY_PATH=/usr/src/<kernel-version>/tools/lib/bpf:$LD_LIBRARY_PATH\
$ export PATH=/usr/local/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04/bin:$PATH\
$ export LD_LIBRARY_PATH=/usr/local/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04/lib:$LD_LIBRARY_PATH</kernel-version>
$ cd /usr/src/linux-5.4.1
$ make M=samples/bpf
Executable xdpsock built at /usr/src/linux-5.4.1/samples/bpf/