0x01 安装DPDK
# 方法一:可能不是最新版本
sudo apt install dpdk
# 方法二
sudo pip3 install meson
sudo apt-get install -y python3-pyelftools python-pyelftools
git clone https://gitee.com/yaozuluo/dpdk.git
cd dpdk
meson -Dexamples=all build
cd build
meson compile # or ninja
0x02 安装VPP
# sudo vim /etc/apt/sources.list.d/vpp.list
deb [trusted=yes] https://packagecloud.io/fdio/release/ubuntu bionic main
curl -L https://packagecloud.io/fdio/release/gpgkey | sudo apt-key add -
sudo apt-get update
sudo apt-get install vpp vpp-plugin-core vpp-plugin-dpdk
sudo apt-get install python3-vpp-api vpp-dbg vpp-dev
0x03 配置DPDK网卡
sudo modprobe uio_pci_generic
cd ~/dpdk
# 查看网卡信息
sudo ./usertools/dpdk-devbind.py --status
# 绑定网卡
sudo ./usertools/dpdk-devbind.py --bind=uio_pci_generic enp6s0
sudo ./usertools/dpdk-devbind.py --bind=uio_pci_generic enp7s0
# 或者
sudo ./usertools/dpdk-devbind.py --bind=uio_pci_generic 0000:06:00.0
sudo ./usertools/dpdk-devbind.py --bind=uio_pci_generic 0000:07:00.0
0x04 配置Huge Pages
sudo mkdir -p /mnt/huge
sudo mount -t hugetlbfs nodev /mnt/huge
echo 1024 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
0x05 配置VPP
sudo vim /etc/vpp/startup.conf
dpdk{
dev 0000:06:00.0 {
name enp6s0
}
dev 0000:07:00.0 {
name enp7s0
}
}
sudo systemctl restart vpp
0x06 桥接模式通信
sudo vppctl
set interface state enp6s0 up
set interface state enp7s0 up
set interface l2 bridge enp6s0 1
set interface l2 bridge enp7s0 1
show interface
- PC1: 设置IP 192.168.4.110/24
- PC2: 设置IP 192.168.4.120/24
- PC1和PC2能互相ping
0x07 路由模式通信
set interface state enp6s0 up
set interface state enp7s0 up
set interface ip address enp6s0 192.168.6.100/24
set interface ip address enp7s0 192.168.7.100/24
show interface
- PC1: 设置IP 192.168.6.110/24,网关 192.168.6.100
- PC2: 设置IP 192.168.7.110/24,网关 192.168.7.100
- PC1和PC2能互相ping
评论列表
只看楼主 | 直达楼层:jankincai 发表于:2021-08-07 09:47:07 | 只看该作者 1#
sssss