XDP playground is a development environment for experimenting with XDP on a Ubuntu 20.04 virtual machine. It allows you to write XDP programs and test their correctness by writing test cases using Python.
You need the following installed on your machine:
Before the first usage you need to set up your virtual running
vagrant up
This will create and start a VM with all that required packages installed. Once it is ready you can SSH into the virtual machine running:
vagrant ssh
When you are done, you can destroy the VM running
vagrant destroy
Once you have everything set up, you can start experimenting. SSH into the VM with
vagrant ssh
and move to the /vagrant
directory. It will include all files present in the root directory of this repository.
You can now start playing with xdp.c
and test.py
.
The Makefile includes targets that you may find useful.
You may compile the code in xdp.c
to eBPF bytecode with
make compile
and run all tests included in test.py
with
make test
If you need additional Python packages for your tests, add them to requirements.txt
and run
make deps
You may also run each of these targets in Vagrant from the host OS without SSH'ing into Vagrant by prepending the vagrant-
prefix to the command, e.g.:
make vagrant-test
These commands SSH into the Vagrant VM, move to the /vagrant
directory and execute the specified target.