Skip to content

hoang-tranviet/tcp-options-bpf

 
 

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.

About

Linux kernel: eBPF support for user-defined TCP options

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 96.4%
  • C++ 1.4%
  • Assembly 1.3%
  • Objective-C 0.3%
  • Makefile 0.3%
  • Perl 0.1%
  • Other 0.2%