2101为例:
环境:
1个处理器2个核,内存8G,硬盘60G;
升级kernel 参考:https://www.cnblogs.com/xzkzzz/p/9627658.html
设备启动后增加一条默认路由 route add default gw 192.168.222.2
1. 编译过程:
$ git clone https://gerrit.fd.io/r/vpp (如需特性版本可回退到特性版本)
git reset --hard 3d2d96e5547484290c9368bac0a420afa8c4c068 2101
git reset --hard fce396738f865293f0a023bc7f172086f81da456 20.01
$ cd vpp
./extras/vagrant/build.sh (第一次时执行此命令,预编译代替 make install-dep 和 make install-ext-deps?是否可替代待验证)
make install-dep (安装依赖包)
make install-ext-deps (安装依赖包)
make build
$ make pkg-rpm
rpm -ivh *.rpm
2. 安装运行vpp
给虚拟机增加两个网络适配器,一个桥接模式一个主机模式
绑定驱动之前将接口置为down
2.1 ifconfig ens37 down
2.3 lspci |grep Intel
或者 执行如下命令查看pci端口号。
[root@localhost scripts]# lshw -class network -businfo
Bus info Device Class Description
========================================================
pci@0000:02:01.0 ens33 network 82545EM Gigabit Ethernet Controller (Copper)
pci@0000:02:05.0 ens37 network 82545EM Gigabit Ethernet Controller (Copper)
pci@0000:02:06.0 ens38 network 82545EM Gigabit Ethernet Controller (Copper)
[root@localhost scripts]#
2.4
# 分配巨页1024*2M=2G
echo 2048 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages
# 后面方法也可行sysctl -w vm.nr_hugepages=2048
# 查看大页分配数目
cat /proc/meminfo| grep Huge
原文链接:https://blog.csdn.net/turbock/article/details/106880686
2.5.绑定接口到vfio-pci
安装vfio驱动
modprobe vfio
modprobe vfio-pci
1.1. 关机开启 Intel® VT-x、VT-d。 和 IOMMU
1.2 显示是否支持VT-d或VT-d是否成功打开
$ dmesg | grep -e DMAR -e IOMMU
$ cat /proc/cmdline | grep iommu=pt
$ cat /proc/cmdline | grep intel_iommu=on
1.3. vim /etc/default/grub
添加配置信息:添加iommu=pt intel_iommu=on到文件中的GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"行
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"//原文件的配置信息
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash iommu=pt intel_iommu=on"//添加配置信息
1.4
yum install grub2
grub2-mkconfig -o /boot/grub2/grub.cfg
reboot
2.6 绑定网卡
2.1.查询网卡物理地址
lspci |grep Ethernet
#或采用如下命令
sudo lshw -class network -businfo
#回显返回02:05.0 Ethernet controller: Intel Corporation 82545EM Gigabit Ethernet Controller (Copper) (rev 01),其中02.05.0为物理地址。
2.2
cd /root/vpp/extras/vpp_config/scripts/
./dpdk-devbind.py --bind vfio-pci 0000:02:03.0 //将物理网卡绑定驱动
./dpdk-devbind.py --bind vfio-pci 0000:02:04.0
./dpdk-devbind.py --status //查看网卡使用驱动状态
辅助操作:
查看内核版本的命令:
[root@localhost scripts]# uname -srm
Linux 3.10.0-1160.el7.x86_64 x86_64
查看cento7的版本
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@localhost ~]#
查看大页内存
[root@localhost dpdk-20.11]# cat /proc/meminfo
MemTotal: 3927244 kB
MemFree: 158372 kB
增加ifconfig命令
yum install net-tools.x86_64
git reset --hard 3d2d96e5547484290c9368bac0a420afa8c4c068 2101
git reset --hard 319a1355156f0587e96463132d8f56906ebb04fe 2005
build/app/dpdk-testpmd -c7 --vdev=net_pcap0,iface=ens37 --vdev=net_pcap1,iface=ens38 -- -i --nb-cores=2 --nb-ports=2 --total-num-mbufs=2048
磁盘扩充指导:
https://www.cnblogs.com/maohedashu/p/12082465.html
1.制作VPP的doc文档
具体操作步骤:
$ python3.6 -m pip install --user virtualenv
$ python3.6 -m virtualenv env
$ source env/bin/activate
$ pip3 install -r docs/etc/requirements.txt
$ cd docs
yum -y install python-sphinx
yum install enchant
make html
编译出的文档路径:vpp/docs/_build/html/index.html
编DPDK
cd /root/vpp/build/external/downloads/dpdk-20.11
tar xf dpdk.tar.gz
cd dpdk
yum install meson
meson build
ninja -C build
设置大页
mkdir -p /dev/hugepages
mountpoint -q /dev/hugepages || mount -t hugetlbfs nodev /dev/hugepages
echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages