• DPDK安装
    • 源码安装
    • REHL 7.2
    • Ubuntu 15+

    DPDK安装

    源码安装

    1. export RTE_SDK="/usr/src/dpdk"
    2. export DPDK_VERSION="2.2.0"
    3. export RTE_TARGET="x86_64-native-linuxapp-gcc"
    4. ######################## ubuntu ######################################
    5. apt-get install -y vim gcc-multilib libfuse-dev linux-source libssl-dev llvm-dev python autoconf libtool libpciaccess-dev make libcunit1-dev libaio-dev
    6. ######################## centos ######################################
    7. yum -y install git cmake gcc autoconf automake device-mapper-devel \
    8. sqlite-devel pcre-devel libsepol-devel libselinux-devel \
    9. automake autoconf gcc make glibc-devel glibc-devel.i686 kernel-devel \
    10. fuse-devel pciutils libtool openssl-devel libpciaccess-devel CUnit-devel libaio-devel
    11. mkdir -p /lib/modules/$(uname -r)
    12. ln -sf /usr/src/kernels/$(uname -r) /lib/modules/$(uname -r)/build
    13. # download dpdk
    14. curl -sSL http://dpdk.org/browse/dpdk/snapshot/dpdk-${DPDK_VERSION}.tar.gz | tar -xz && mv dpdk-${DPDK_VERSION} ${RTE_SDK}
    15. # install dpdk
    16. cd ${RTE_SDK}
    17. sed -ri 's,(CONFIG_RTE_BUILD_COMBINE_LIBS=).*,\1y,' config/common_linuxapp
    18. sed -ri 's,(CONFIG_RTE_LIBRTE_VHOST=).*,\1y,' config/common_linuxapp
    19. sed -ri 's,(CONFIG_RTE_LIBRTE_VHOST_USER=).*,\1n,' config/common_linuxapp
    20. sed -ri '/CONFIG_RTE_LIBNAME/a CONFIG_RTE_BUILD_FPIC=y' config/common_linuxapp
    21. make config CC=gcc T=$RTE_TARGET
    22. make -j `nproc` RTE_KERNELDIR=/lib/modules/$(uname -r)/build
    23. make install
    24. depmod

    配置Hugepages: 添加"default_hugepagesz=1G hugepagesz=1G hugepages=4"/etc/grub/defaultGRUB_CMDLINE_LINUX,并执行(测试环境可以配置GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet transparent_hugepage=never default_hugepagesz=2MB hugepagesz=2MB hugepages=512"

    1. grub2-mkconfig -o /boot/grub2/grub.cfg
    2. systemctl reboot

    加载内核模块

    1. modprobe uio
    2. insmod kmod/igb_uio.ko
    3. ./tools/dpdk-devbind.py --bind=igb_uio <Device BDF>

    REHL 7.2

    1. subscription-manager repos --enable rhel-7-server-extras-rpms
    2. yum install dpdk dpdk-tools

    Ubuntu 15+

    1. apt-get install dpdk