vpp、dpdk环境搭建

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

picaso77

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值