DPDK 설치
1. 필요 패키지
yum install -y numactl-develyum
install -y libpcap*
yum install -y gcc*
yum install -y kernel-devel-*
2. dpdk 설치
wget https://fast.dpdk.org/rel/dpdk-18.11.1.tar.xz
tar xf dpdk-18.11.1.tar.xzcd
/dpdk-stable-18.11.1
export DPDK_DIR=/dpdk-stable-18.08.1
cd $DPDK_DIR
3. 환경변수
export DPDK_TARGET=x86_64-native-linuxapp-gcc
export DPDK_BUILD=$DPDK_DIR/$DPDK_TARGET
export RTE_SDK=$DPDK_DIR
export RTE_TARGET=$DPDK_TARGET
##export RTE_TARGET=x86_64-native-linuxapp-gcc
4. DPDK 컴파일
make install T=$DPDK_TARGET DESTDIR=install
##make config T=x86_64-native-linuxapp-gcc
##sed -ri 's,(PMD_PCAP=).*,\1y,' build/.config
5. 디바이스 드라이버 추가
modprobe uio
insmod ./x86_64-native-linux-gcc/kmod/igb_uio.ko
lsmod | grep uio
##insmod $DPDK_DIR/x86_64-native-linuxapp-gcc/kmod/igb_uio.ko
6. NIC 확인
$DPDK_DIR/usertools/dpdk-devbind.py -s
'NetXtreme BCM5720 2-port Gigabit Ethernet PCIe 165f' if=em1 drv=tg3 unused=igb_uio *Active*
'NetXtreme BCM5720 2-port Gigabit Ethernet PCIe 165f' if=em2 drv=tg3 unused=igb_uio *Active*
'Ethernet Controller XXV710 for 25GbE SFP28 158b' if=p6p1 drv=i40e unused=igb_uio
'Ethernet Controller XXV710 for 25GbE SFP28 158b' if=p6p2 drv=i40e unused=igb_uio
'Ethernet Controller XXV710 for 25GbE SFP28 158b' if=p1p1 drv=i40e unused=igb_uio
'Ethernet Controller XXV710 for 25GbE SFP28 158b' if=p1p2 drv=i40e unused=igb_uio
7. NIC 바인딩
modprobe uio
insmod /root/POC/dpdk-stable-18.11.1/x86_64-native-linuxapp-igb_uio.ko
dpdk-devbind.py -b igb_uio p1p1
dpdk-devbind.py -b igb_uio p1p1
mkdir -p /mnt/huge
mount -t hugetlbfs nodev /mnt/hugemkdir -p /hugepage
/etc/fstab 수정
nodev /hugepage hugetlbfs defaults 0 0
echo 64 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages