hoang-tranviet/tcp-options-bpf
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Repository files navigation
eBPF support for user-defined TCP options
=========================================
This work is based on TCP-BPF framework by Lawrence Brakmo,
which is already merged in recent kernels.
This is a part of our academic work. For more information, please read our paper:
https://www.arxiv-vanity.com/papers/1901.01863/
The BPF programs and user daemon/script are in the tcp-option/ folder.
- test_tcp_user.c: user daemon to load BPF program and run experiments
- my_net*.sh: script to set up the network environment, similar to mininet.
We cannot use mininet since it based on cgroup-v1, while tcp-bpf use cgroup-v2.
- bpf_tcp_*.c: BPF programs.
How to run
-----------
cd tcp-option
make
sudo ./test_tcp_user bpf_tcp_cc_kern.o
Be aware to specify the BPF-compiled object (ended with '.o').
Or add ``-q`` to suppress the debug information:
sudo ./test_tcp_user bpf_tcp_cc_kern.o -q
Authors
-------
Viet-Hoang Tran and Olivier Bonaventure.
@ INL, ICTEAM, UCLouvain.
Languages
- C 96.4%
- C++ 1.4%
- Assembly 1.3%
- Objective-C 0.3%
- Makefile 0.3%
- Perl 0.1%
- Other 0.2%