• Home
Name Date Size #Lines LOC

..--

README.mdD03-May-20242 KiB6958

bpf_demo.ks.erbD03-May-20242.9 KiB127101

build-deb.shD03-May-2024952 4428

build-deb.sh.inD03-May-2024345 2316

build-release-rpm.shD03-May-2024668 3321

build-rpm.shD03-May-2024579 3220

build_bpf_demo.shD03-May-20243 KiB11497

check-helpers.shD03-May-20241.2 KiB3831

git-clang-formatD03-May-202417.7 KiB486380

git-tag.shD03-May-2024319 109

style-check.shD03-May-2024514 2413

README.md

1
2## Fedora Demo VM
3
4Before running the script, ensure that virt-install is available on the system.
5
6`./build_bpf_demo.sh -n bpf-demo -k bpf_demo.ks.erb`
7
8After setting up the initial VM, log in (the default password is 'iovisor')
9and determine the DHCP IP. SSH to this IP as root.
10
11To set up a kernel with the right options, run `bpf-kernel-setup`.
12
13```
14[root@bpf-demo ~]# bpf-kernel-setup
15Cloning into 'net-next'...
16```
17After pulling the net-next branch, the kernel config menu should pop up. Ensure
18that the below settings are proper.
19```
20General setup --->
21  [*] Enable bpf() system call
22Networking support --->
23  Networking options --->
24    QoS and/or fair queueing --->
25      <M> BPF-based classifier
26      <M> BPF based action
27    [*] enable BPF Just In Time compiler
28```
29Once the .config is saved, the build will proceed and install the resulting
30kernel. This kernel has updated userspace headers (e.g. the bpf() syscall) which
31install into /usr/local/include...proper packaging for this will be
32distro-dependent.
33
34Next, run `bpf-llvm-setup` to pull and compile LLVM with BPF support enabled.
35```
36[root@bpf-demo ~]# bpf-llvm-setup
37Cloning into 'llvm'...
38```
39The resulting libraries will be installed into /opt/local/llvm.
40
41Next, reboot into the new kernel, either manually or by using the kexec helper.
42```
43[root@bpf-demo ~]# kexec-4.1.0-rc1+
44Connection to 192.168.122.247 closed by remote host.
45Connection to 192.168.122.247 closed.
46```
47
48Reconnect and run the final step, building and testing bcc.
49```
50[root@bpf-demo ~]# bcc-setup
51Cloning into 'bcc'...
52...
53Linking CXX shared library libcc.so
54[100%] Built target bcc
55...
56Running tests...
57Test project /root/bcc/build
58    Start 1: py_test1
591/4 Test #1: py_test1 .........................   Passed    0.24 sec
60    Start 2: py_test2
612/4 Test #2: py_test2 .........................   Passed    0.53 sec
62    Start 3: py_trace1
633/4 Test #3: py_trace1 ........................   Passed    0.09 sec
64    Start 4: py_trace2
654/4 Test #4: py_trace2 ........................   Passed    1.06 sec
66
67100% tests passed, 0 tests failed out of 4
68```
69