Skip to content

About

a wip port of the dpdk firewall project to dpdk 21. Dragons included

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Latest commit

 

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Just prototyping some network stuff. Ported to DPDK 21 by Luc/Wqrld

He be dragons: the code has not seen any kind of review (security or other).

requirements for compilation:

apt:
- openssl
- liburcu-dev
- libconfig-dev
- libglib2.0-dev

pip3:
- pyelftools


- dpdk 21

The program compiles and links correctly, functioning is nog guaranteed in any way.


Setting up the nic for dpdk:

turn off your nic (eth1 as an example, this will disable ALL network connectivity):
ifconfig eth1 down

Binding your nic
from a folder with a install of dpdk 21:
usertools/dpdk-devbind --list

note down your hardware id (ex 0000:00:13.0)

load the uio_pci  generic driver if your current driver does not have dpdk support(eg virtio):
modprobe uio_pci_generic

Bind your nic to the dpdk driver: 
usertools/dpdk-devbind.py --bind=uio_pci_generic 0000:00:13.0

and finally assign 1GB of hugepages
./usertools/dpdk-hugepages.py --setup 1G


Running:

To run the program, you first need to edit the pipeline.conf and build the zones using the build_rules.py script in the etc folder. These are used for the firewall.

Then, to run the code normally:
build/firewall etc/pipeline.conf

or with debug mode:
build/firewall --log-level='.*,8' etc/pipeline.conf

About

a wip port of the dpdk firewall project to dpdk 21. Dragons included

Topics

Resources

Stars

4 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages