Difference between revisions of "How to install, build and use XDP related packages"

From epsciwiki
Jump to navigation Jump to search
Line 46: Line 46:
 
<blockquote>
 
<blockquote>
 
<pre>
 
<pre>
sudo apt install clang llvm libelf-dev libpcap-dev build-essential (but since we already loaded libels-dev)
+
// (to get bpftool)
 +
sudo apt install linux-tools-common linux-tools-generic
 
sudo apt install clang llvm libpcap-dev build-essential
 
sudo apt install clang llvm libpcap-dev build-essential
 
sudo apt install linux-headers-$(uname -r)
 
sudo apt install linux-headers-$(uname -r)
(how does xdl-tools find bpftool, we may have to use xdl-tutorial, but we'll see)
+
 
 +
// if more than one version of clang is installed, do this to use clang 11
 +
sudo apt-get
 +
 
 
./configure
 
./configure
 
</pre>
 
</pre>

Revision as of 14:29, 20 October 2023

PAGE UNDER CONSTRUCTION


There are multiple software packages that need to be downloaded, compiled, and installed for XPD-related code to run

Installing libbpf

1st: install the libelf library
sudo apt-get install -y libelf-dev
2nd: get and install the libbpf related files
export DESTDIR=<installation dir>
export PREFIX=""
git clone https://github.com/libbpf/libbpf.git
cd libbpf
cd src
make install
3rd: get and install the libxpd related files
export DESTDIR=<installation dir>
export PREFIX=""
git clone https://github.com/xdp-project/xdp-tools.git
cd xdp-tools
Follow the instructions in xdp-tools/README.md file for compilation. Note: there is no need to do a git submodule on libbpf.

Instructions are at https://github.com/xdp-project/xdp-tutorial , go to the setup_dependencies.org link at https://github.com/xdp-project/xdp-tutorial/blob/master/setup_dependencies.org

This tells us to

// (to get bpftool)
sudo apt install linux-tools-common linux-tools-generic
sudo apt install clang llvm libpcap-dev build-essential
sudo apt install linux-headers-$(uname -r)

// if more than one version of clang is installed, do this to use clang 11
sudo apt-get

./configure



Clone the repository
git clone --recurse-submodules -b v1.50 --depth 1 --shallow-submodules https://github.com/grpc/grpc
Build the package