Khorina · 2020年09月01日

Arm上带有DPDK的Open vSwitch 第1章:构建与安装

总览

本文是“Arm上带有DPDK的Open vSwitch”系列博客的第1章。本文描述了如何用Arm平台上的源代码构建和安装带DPDK的OvS。高级执行步骤的顺序如下所示:

  • 安装与构建的前提条件
  • DPDK安装
  • OVS安装

默认情况下,官方OvS文档将DPDK安装在 / usr / src目录下,并将所有OvS文件安装在 / usr / local目录下。本文中,我将DPDKOvS安装在我的主目录中并强调了为此目的所修改的步骤。

安装与构建的前提条件

  1. 系统要求:确保系统上已安装以下软件包。 如果没有,则可以使用以下命令安进行安装:
$ sudo apt install build-essential git libnuma-dev libncurses5-dev bc device-tree-compiler dh-autoreconf pciutils psmisc curl libssl<span class="colour" style="color: rgb(51, 62, 72);"><span class="size"></span></span>

2. 构建要求:检查系统是否满足以下构建要求。 如有需要请安装或升级相关软件包。
•GNU Make
•GCC compiler 4.6或更高版本
Python 3.4或更高版本

DPDK安装

在继续安装DPDK和OvS之前,必须检查哪个版本的DPDK是根据最新版本的OvS构建成功的。在写本文时,OvS
2.13.90已根据DPDK 19.11版本构建成功。 你可以在 “Releases” 页面上检查最新版本的兼容性。

1. 下载DPDK源代码并解压

$ wget http://fast.dpdk.org/rel/dpdk-19.11.tar.xz
$ tar xf dpdk-19.11.tar.xz
  1. 创建配置文件。DPDK的不同的配置可用于基于Arm的不同平台——ThunderX、ThunderX2、Octeon-Tx2、Bluefield和N1SDP。请为你的平台选择合适的配置,因为它会为不同平台产生最佳性能。如果找不到特定于平台的配置文件,则用 arm64-armv8a-linuxapp-gcc 回退选项
$cd $HOME/dpdk-19.11/config
$ ls | grep arm64

因为我的平台是N1SDP,我将使用此平台特定的配置

$ cd $HOME/dpdk-19.11
$ make config T=arm64-n1sdp-linuxapp-gcc

3. 创建并安装DPDK库

$ cd $HOME/dpdk-19.11
$ export RTE_SDK=$HOME/dpdk-19.11
$ export RTE_TARGET=arm64-n1sdp-linuxapp-gcc
$ make -j32 install T=$RTE_TARGET
DESTDIR=install

OVS安装

1.   在系统上克隆最新版本的OvS

$ git clone https://github.com/openvswitch/ovs.git

作为替代,你可以从“Download” 界面下载 tarball 的最新版本

$ wget https://www.openvswitch.org/releases/openvswitch-2.12.0.tar.gz
$ tar xvf openvswitch-2.12.0.tar.gz

2.   因为我从Git存储库克隆的OvS,我需要在顶部的源目录中运行boot.sh 来构建configure脚本。如果你已经下载了已发布的tarball,则可以跳过此步骤。

$ cd $HOME/ovs

3. OvS的官方文档提供了将所有文件安装在/usr/local目录下的步骤。 但是,如上所述,我将在主目录中通过DPDK安装OvS。 我在主目录中创建了usrvar和 etc 目录,以便在配置时可以使用适当的flag 将这些文件安装在我的主目录中。

$ mkdir -p usr var etc

4. OvS必须用 --dpdkflag来配置才能使用DPDK的数据路径。这个flag应指向已构建的DPDK库的路径。默认情况下,OvS还希望在/usr/local/etc/openvswitch目录下找到它的数据库。由于我要将所有可执行文件都安装到主目录中,即$HOME/usr和 $HOME/var目录而不是/usr/local/usr/local/var目录,并期望用$HOME/etc/openvswitch做为默认的数据库目录,所以配置被进行了相应地修改。 我还通过--disable-ssl参数禁用OpenSSL的支持。

$export DPDK_BUILD=$RTE_SDK/$RTE_TARGET
$cd $HOME/ovs
$sudo ./configure--with-dpdk=$DPDK_BUILD--prefix=$HOME/usr--localstatedir=$HOME/var--sysconfdir=$HOME/etc --disable-ssl 

5. 运行make。

$ sudo make -j32

6.  运行make install 将可执行文件和手册页安装到系统中去,现在他们将被安装在 $HOME/usr/lib目录下。

$ sudo make -j32 install

结束语

本文提供了如何通过使用源代码中的DPDK构建与安装OvS的分步教程。我已经使用我的主目录作为默认数据库目录演示了整个过程,而OvS官方文档描述了在/usr/local目录进行安装的步骤。

本教程中另一个值得注意的地方是将DPDK配置为使用Arm专用的配置文件。 这将确保编译器启用某些特定于平台的优化,以便在对应平台上获得最优化的性能。

本系列中的其他博客:

作者:Malvika Gupta
翻译:Khorina
原文链接:https://community.arm.com/developer/tools-software/tools/b/tools-software-ides-blog/posts/open-vswitch-with-dpdk-on-arm-build-and-install-from-source

推荐阅读
关注数
23565
内容数
1018
Arm相关的技术博客,提供最新Arm技术干货,欢迎关注
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息