mellox驱动适配dpdk编译安装
tar zxf MLNX_OFED_LINUX-5.0-1.0.0.0-rhel7.3-x86_64-ext.tgz
cd MLNX_OFED_LINUX-5.0-1.0.0.0-rhel7.3-x86_64-ext/
./mlnx_add_kernel_support.sh -m ./ --make-tgz --skip-repo
cd /tmp/
tar zxf MLNX_OFED_LINUX-5.0-1.0.0.0-rhel7.3-x86_64-ext.tgz
cd MLNX_OFED_LINUX-5.0-1.0.0.0-rhel7.3-x86_64-ext/
ls
./mlnxofedinstall --upstream-libs --dpdk --force --without-depcheck
/etc/init.d/openibd restart
vpp使用mellanox编译
make install-dep
make install-ext-deps DPDK_MLX5_PMD=y DPDK_MLX5_PMD_DLOPEN_DEPS=y
## Copy manually newly compiled shared module: ##
cp /opt/vpp/external/x86_64/lib/librte_pmd_mlx5_glue.so* /usr/lib64/
## Compile new binary: ##
make build-release vpp_uses_dpdk_mlx5_pmd=yes DPDK_MLX5_PMD_DLOPEN_DEPS=y
运行ldp接口下运行
echo 2048 > /sys/devices/system/node/node0/hugepages/hugepages-2048kB/nr_hugepages
echo 2048 > /sys/devices/system/node/node1/hugepages/hugepages-2048kB/nr_hugepages
LD_PRELOAD=/usr/lib64/libvcl_ldpreload.so VCL_CONFIG=vcl.conf taskset --cpu-list 17 demo
vpp运行问题解决
编译出的库:export LD_LIBRARY_PATH=vpp的so文件路径
系统库:拷贝libmbedcrypto.a、libmbedcrypto.so.3等文件到/usr/lib64/目录
运行出现api_segment_config: group vpp does not exist:
执行groupadd -f -r vpp
vpp使用bond:
1、交换机配置接口聚合:
[xx]interface Bridge-Aggregation 1 //创建聚合组,默认为静态聚合模式
[xx-Bridge-Aggregation1]link-aggregation mode dynamic //配置聚合模式
[xx-Bridge-Aggregation1]quit //返回上一级
[xx]interface Ten-GigabitEthernet 1/0/17 //进入端口
[xx-Ten-GigabitEtheret1/0/17]port link-aggregation group 1 //端口加入聚合组
[xx]display link-aggregation summary 查看端口聚合状态
[xx]display link-aggregation member-port 查看成员口
[xx]undo interface Bridge-Aggregation 1 取消端口聚合
[xx]display mac-address 查看与交换机连接的对端端口的mac地址
lacp交换机需配置动态聚合模式;
round-robin、broadcast、xor 交换机需配置静态聚合模式;
2、vpp创建bond
set interface state FiftySixGigabitEthernet5/0/0 up
set interface state FiftySixGigabitEthernet5/0/1 up
create bond mode lacp load-balance l34
set interface state BondEthernet0 up
bond add BondEthernet0 FiftySixGigabitEthernet5/0/0
bond add BondEthernet0 FiftySixGigabitEthernet5/0/1
set interface ip address BondEthernet0 100.2.2.3/24
vpp接口抓包
pcap trace rx tx drop max 9000 intfc HundredGigabitEthernetaf/0/0
debug lacp HundredGigabitEthernetaf/0/0 on
pcap trace rx tx drop max 9000 intfc HundredGigabitEthernet18/0/0
debug lacp HundredGigabitEthernet18/0/0 on
dpdk抓包
dpdk编译:make -j install T=x86_64-native-linuxapp-gcc DESTDIR=/root/dpdk-stable-20.02.1
./testpmd -l 1,2,3 --socket-mem 2048 -n 3 --log-level=8 -- -i./testpmd -l 1,2,3 --socket-mem 2048 -n 3 --log-level=8 -- -i
port stop all
port config 0 rx_offload tcp_lro on
port config 0 rx_offload jumbo_frame on
set fwd rxonly
port start all
start
./dpdk-pdump -- --pdump 'port=0,queue=*,rx-dev=/home/dpdk.pcap'
./pktgen -l 0-1 -n 3 -- -m "1.0"
set 0 size 1600
set 0 dst mac 54:2B:DE:0C:8D:6E
str
port stop all
port config 0 rx_offload tcp_lro on
set fwd rxonly
port start all
start