LS1043A(Ubuntu)编译安装并使用DPAA 20.11.2


一、DPAA简介

      DPAA全称为Data Path Acceleration Architecture,是一种用于网络处理的硬件架构,由芯片制造商Freescale提出并推广。DPAA旨在提高网络数据包处理的效率和吞吐量,并减小CPU的负载。DPAA架构中包含了多个处理单元和加速器,能够支持各种网络协议和数据包格式,如IPv4、IPv6、TCP、UDP等。

DPAA的主要特点包括:

  • 支持多种协议和数据包格式
  • 多个处理单元和加速器并行处理数据包
  • 通过DMA技术实现高效的数据包传输
  • 支持硬件加速的安全功能,如IPsec和SSL/TLS
  • 提供软件开发工具和API,方便开发人员使用和定制
以下是一些DPAA相关的链接:

二、LS1043A在Ubuntu编译安装DPAA 20.11.2

1、创建DPDK文件夹,将DPDK源码下载到该位置并解压

root@localhost:~# mkdir dpdk 
root@localhost:~# cd dpdk/
root@localhost:~/dpdk# wget http://fast.dpdk.org/rel/dpdk-20.11.2.tar.xz
root@localhost:~/dpdk# ls dpdk-20.11.2.tar.xz 
root@localhost:~/dpdk# tar -xvf dpdk-20.11.2.tar.xz

2、升级安装工具meson

       Ubuntu18.04(4.14内核)通过apt-get install -y meson安装的meson版本为0.45.1,而DPDK20.11.2编译要求版本要≥0.37.1,所以需要下载meson高版本源码手动安装该工具

root@localhost:~# wget https://github.com/mesonbuild/meson/releases/download/0.47.1/meson-0.47.1.tar.gz 
root@localhost:~# tar -xvf meson-0.47.1.tar.gz 
root@localhost:~# cd meson-0.47.1 
root@localhost:~/meson-0.47.1# python3 setup.py install

:编译安装的meson使用时命令:/usr/local/bin/meson ,如果不加路径需要添加软连接

3、编译安装DPAA,编译示例程序

root@localhost:~/dpdk# /usr/local/bin/meson setup build
root@localhost:~/dpdk# cd dpdk-stable-20.11.2/build/ 
root@localhost:~/dpdk/dpdk-stable-20.11.2/build# ninja 
root@localhost:~/dpdk/dpdk-stable-20.11.2/build# /usr/local/bin/meson install 
root@localhost:~/dpdk/dpdk-stable-20.11.2/build# ldconfig
root@localhost:~/dpdk/dpdk-stable-20.11.2# make -C examples/l2fwd
root@localhost:~/dpdk/dpdk-stable-20.11.2# make -C examples/l3fwd

注:dpdk-testpmd默认编译,在app/目录下或者直接执行 dpdk-testpmd,l2fwd和l3fwd在examples目录下

三、DPAA操作命令


1、在设备上使用DPAA时需要加载带DPAA的设备树,并使用DPDK的启动脚本或者启动参数

       使用DPDK的启动脚本后,重启进入 Linux 系统,ifconfig -a 应查看不到 DPDK 所使用的网口;目前 DPDK 支持 4 种配置:ls1043/ls1043_offload/ls1046/ls1046_offload,应根据实际情况设置环境变量 USDPAA_CONFIG。

以 ls1043 为例,在 Linux Shell 中输入:

export USDPAA_CONFIG=ls1043 && source /usr/local/bin/dpdk_init.sh

运行环境准备完毕,可使用DPDK进行二层/三层转发测试

2、DPAA使用命令范例


二层转发测试:

ls1043a 网口 命令 附注
eth0<-->eth1 l2fwd -c 0x6 -n 1 -- -p 0x3 -q 1 -T 0 --no-mac-updating
eth2<-->eth3 l2fwd -c 0x6 -n 1 -- -p 0xc -q 1 -T 0 --no-mac-updating
eth4<-->eth5 l2fwd -c 0x6 -n 1 -- -p 0x30 -q 1 -T 0 --no-mac-updating
eth0<-->eth1 eth2<-->eth3 l2fwd -c 0xf -n 1 -- -p 0xf -q 1 -T 0 --no-mac-updating
eth0<-->eth1 eth2<-->eth3 eth4<-->eth5 l2fwd -c 0xf -n 3 -- -p 0x3f -q 1 -T 0 --no-mac-updating


三层转发测试:

ls1043a 网口 命令 附注
eth0<-->eth1 l3fwd -c 0x6 -n 1 -- -p 0x3 --config="(0,0,1),(1,0,2)" -P
eth2<-->eth3 l3fwd -c 0x6 -n 1 -- -p 0xc --config="(2,0,1),(3,0,2)" -P
eth4<-->eth5 l3fwd -c 0x6 -n 1 -- -p 0x30 --config="(4,0,1),(5,0,2)" -P
eth0<-->eth1 eth2<-->eth3 l3fwd -c 0xf -n 1 -- -p 0xf --config="(0,0,1),(1,0,2),(2,0,1),(3,0,2)" -P
eth0<-->eth1 eth2<-->eth3 eth4<-->eth5 l3fwd -c 0xf -n 1 -- -p 0x3f --config="(0,0,1),(1,0,2),(2,0,1),(3,0,2),(4,0,1),(5,0,2)" -P


testpmd测试:

ls1043a 网口 命令 附注
eth0<-->eth1 eth2<-->eth3 eth4<-->eth5  ./dpdk-testpmd -l 0-3 -n 4 -- -i  该路径在 dpdk-stable-20.11.2/app/ ,或者直接执行dpdk-testpmd





发布时间:2024-6-28 14:30 Friday
  • 版权声明:除非注明,文章均为【舞乂IT-专注于网络技术分享】原创,欢迎转载!转载请注明本文地址,谢谢!

  • 作者:舞乂IT-专注于网络技术分享

    舞乂人生,打造不一样的世界!共同学习,共同努力,提升技能!!!!!

    返回列表
    上一篇:
    下一篇: