MaoJianwei / Mao_DPDK_Framework_Packet_Processing

Packet processing framework based on DPDK, with KNI & interrupt mode PMD supports.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Mao_DPDK_Framework_Packet_Processing

Packet processing framework based on DPDK, with KNI & interrupt mode PMD supports.

# dpdk-stable-20.11.8
# http://fast.dpdk.org/rel/dpdk-20.11.8.tar.xz


sudo su

apt install libnuma-dev pkg-config meson
meson setup build
cd build
ninja
ninja install

echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages

echo 1 > /sys/kernel/mm/hugepages/hugepages-1048576kB/nr_hugepages
mkdir /hugepages-1G
mount -thugetlbfs hugetlbfs /hugepages-1G -o "pagesize=1G"


# option 1. using uio_pci_generic driver

sudo modprobe uio_pci_generic

sudo dpdk-devbind.py -b uio_pci_generic 0b:00.0 13:00.0
sudo dpdk-devbind.py -s

Network devices using DPDK-compatible driver
============================================
0000:0b:00.0 '82574L Gigabit Network Connection 10d3' drv=uio_pci_generic unused=e1000e,vfio-pci
0000:13:00.0 '82574L Gigabit Network Connection 10d3' drv=uio_pci_generic unused=e1000e,vfio-pci

Network devices using kernel driver
===================================
0000:02:01.0 '82545EM Gigabit Ethernet Controller (Copper) 100f' if=ens33 drv=e1000 unused=vfio-pci,uio_pci_generic *Active*



# option 2. build and install igb_uio driver module
git clone git@github.com:MaoJianwei/dpdk_with_igb_uio_module.git
cd dpdk_with_igb_uio_module/
git submodule update --init --recursive

cd dpdk-kmods-igb_uio/linux/igb_uio/
make
sudo insmod ./igb_uio.ko

# 
https://fast.dpdk.org/rel/dpdk-22.11.2.tar.xz

sudo su

apt install libnuma-dev pkg-config meson python3-pip
pip3 install pyelftools
apt install libfdt-dev libexecline-dev libarchive-dev libbsd-dev libjansson-dev openssl libpcap-dev libssl-dev

meson setup build
cd build
ninja
ninja install
ldconfig

./build/l2fwd --vdev=net_tap0 --vdev=net_tap1 -- -p f
https://doc.dpdk.org/guides/nics/tap.html
https://doc.dpdk.org/guides/prog_guide/kernel_nic_interface.html

About

Packet processing framework based on DPDK, with KNI & interrupt mode PMD supports.

License:Apache License 2.0


Languages

Language:C 90.2%Language:Makefile 7.2%Language:CMake 2.1%Language:Shell 0.6%