Skip to content

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

License

Notifications You must be signed in to change notification settings

StopDDoS/DPDK-Firewall-Port

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

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

License

Stars

Watchers

Forks

Releases

No releases published