Skip to content

lorenzosaino/xdp-playground

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XDP playground

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.

Requirements

You need the following installed on your machine:

Setup

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

Usage

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.

Useful resources