DPDK-VPP 学习笔记-01
发布日期:2021-05-14 03:34:49 浏览次数:35 分类:精选文章

本文共 2801 字,大约阅读时间需要 9 分钟。

DPDK-VPP ������������-01

��������� CentOS yum

������ DPDK-VPP ������������ CentOS ��� yum ������������������������������������������������������

yum update -y
yum -y install epel-release dpdk-toolscurl
curl -s https://packagecloud.io/install/repositories/fdio/release/script.rpm.sh | sudo bash
yum -y install vpp vpp-plugins vpp-devel vpp-api-python vpp-api-lua

���������

  • vpp-debuginfo ��� vpp-devel ������������������
  • ��������������������� CentOS7 ��������������������������������� devtoolset-9 ��������� GCC9 ���������������

���������������

������������

  • ���������������������������

    • ������������ CentOS7������������������������������������
    • ������ devtoolset-9��������� GCC9 ������������������
  • ���������������

    • ������ git ������ DPDK-VPP ���������
      git clone https://gerrit.fd.io/r/vpp
      git checkout v20.05.1 -b v20.05.1
    • ��������������������������� DPDK ������������������
      make install-dep
  • ������ vpp

    • ���������������������������������������
      make
      make debug
      make release
      make rebuild
      make rebuild-release
    • ������ RPM ���������
      make pkg-rpm
  • ���������������������

    make wipe
    make wipe-release
  • ������������

    ������ VPP ������������������������ DPDK������������������ DPDK ��� mlx5 ������������������������

    make \
    vpp_uses_dpdk=yes \
    DPDK_MLX5_PMD=y \
    DPDK_MLX5_PMD_DLOPEN_DEPS=y \
    vpp_uses_dpdk_mlx5_pmd=yes \
    -D "DPDK_MACHINE=corei7-avx" \
    -D "DPDK_TUNE=corei7-avx" \
    --enable-dlmalloc \
    build-release

    ���������

    • ������������������������DPDK_EXTRA_CFLAGS ���������������������������������������������������
      -DPDK_EXTRA_CFLAGS := -g -mtune=$(DPDK_TUNE)
      +DPDK_EXTRA_CFLAGS := -g -O0

    vpp ������

    ������������������������

    ������ lshw ���������������������������

    lshw -businfo -c network

    ��������������������� igb_uio ������

  • ������ igb_uio ��������������� DPDK ���������������

    insmod igb_uio.ko
    dpdk-devbind.py -b igb_uio 05:00.0
  • ������ DPDK ��� kernel ������������������������

    dpdk-devbind.py -s
  • ��������� hugepages

    for n in /sys/devices/system/node/node*/hugepages/hugepages-2048kB/nr_hugepages; do echo 2048 > $n; done

    ������ VPP

  • ������ startup.conf ���������

    cpu {
    main-core 0
    corelist-workers 1-8,16-24
    }
    dpdk {
    socket-mem 2048,2048
    dev 0000:05:00.0 no-multi-seg
    }
    plugins {
    path /mnt/source/dpdk-vpp-snb/build-root/install-vpp-native/vpp/lib/vpp_plugins
    plugin default { enable }
    plugin dpdk_plugin.so { enable }
    }
  • ������ VPP���

    vpp -c path/startup.conf
  • vppctl ������

    • ������������ PCI ���������
      vppctl show pci
    • ���������������������
      vppctl show hardware-interfaces
    • ���������������������������
      vppctl show interface

    ������ VPP

    ��� vpp.cfg ������������

    set int mtu packet 1500 TenGigabitEthernet5/0/0
    set int ip address 40.0.148.68/24 TenGigabitEthernet5/0/0
    set int state TenGigabitEthernet5/0/0 up

    ������������

    上一篇:DPDK-VPP 学习笔记-02
    下一篇:NGINX 笔记 - GeoIP 限制策略配置

    发表评论

    最新留言

    初次前来,多多关照!
    [***.217.46.12]2025年04月13日 13时46分25秒