开放数据平面(ODP)
基于Linux的网络解决方案的性能是过去最大的问题之一,因此英特尔启动了数据平面开发套件(DPDK)项目。 ODP环境的目标是为数据平面应用程序提供一个跨平台架构。 ODP是一个开源项目,为数据平面应用提供了环境。 它易于使用,提供高性能,并且可以跨各种网络片上系统(SoC)以及ARM和Intel等指令集和架构进行移植。 OPD环境包括针对不同架构的配置文件,服务,API,以及为不同的底层硬件供应商优化的实用程序。 ODP环境的目的是将API与基础架构分开,并以其支持软件和硬件实现的方式进行设计,以深入开发现代SoC中存在的加速功能。
开放快速路径(OFP)
我们知道,需要高性能设备来指数级增长的数据流量,这需要网络中的快速数据包处理设备或机器。 OpenFastPath是高性能TCP / IP协议栈的另一个开源实现,它有助于使用传统Linux的网络应用程序。 OFP的主要功能是为使用ODP完成,执行模型和框架的不同应用程序提供的库。 OFP支持DPDK和ODP,以实现高性能的网络解决方案。
构建环境设置
根据OFP项目网站,它已经在通用的32 / 64bit x86 Linux机器上进行了测试。 在本教程中,OFP将安装在Ubuntu 16.04 VM上。
先决条件
以root用户身份执行以下步骤。 跑:
sudo -s
在服务器上成为根。
在Ubuntu上编译OFP和ODP代码需要以下软件包。
这些是访问和构建ODP和OFP的必需条件:
apt-get install git libtool automake build-essential pkg-config
但是,以下软件包是选项。
apt-get install libssl-dev valgrind libcunit1 libcunit1-doc libcunit1-dev
OFP路径可以与ODP和DPDK(intel)一起使用。 但是,在本教程中,ODP将与OFP项目一起使用。 使用git实用程序下载ODP代码,如下所示。
git clone https://git.linaro.org/lng/odp.git
进入ODP源代码的根目录,并运行以下命令。
./bootstrap
在本教程中,ODP的安装目录为“/ usr / local / odp”。
mkdir /usr/local/odp
运行带有prefix选项的configure脚本,如下面的截图所示。
./configure --prefix=/usr/local/odp/
configure脚本的输出如下所示。
运行make和make安装在Ubuntu平台上编译和安装ODP。
make
make install
如下图所示,使用git命令下载OFP代码。
git clone https://github.com/OpenFastPath/ofp
输入OFP源代码的根目录,并运行./bootstrap命令。
cd ofp/
./bootstrap
OFP项目的安装目录为“/ usr / local / ofp”。 运行以下配置脚本来检查项目的依赖关系。
./configure --prefix=/usr/local/ofp/ --with-odp=/usr/local/odp/ --enable-cunit
configure脚本的输出显示在以下快照中。
运行“make”命令来构建OFP项目代码。 建立OFP应用程序需要一些时间。
make
以下命令将在前缀路径中放置OFP项目二进制文件和库。
make install
安装后,二进制文件和库放在“ / usr / local / ofp ”路径下。 OFP项目的所有相关测试应用程序都位于“ bin ”目录下。
执行OFP申请
要运行OFP应用程序(fpm) ,
请进入OFP源代码根目录下的scripts目录。
默认情况下,fpm应用程序在eth0接口上运行。 但是,在ubuntu 16.04 LTS上,接口名称为“ enp0s3 ”。 以下屏幕截图显示了如何使用“ start_device.sh ”脚本运行fpm应用程序。
运行“ fpm ”应用程序后,将创建一个新界面“ fp0 ”,如下所示。
运行以下命令访问“ fpm ”应用程序的CLI。
telnet localhost 2345
应用程序的CLI支持几个基本命令。 以下屏幕截图显示使用“ stat ”命令的界面统计信息。 运行fastpath应用程序后,以太网接口(enp0s3)将与Linux断开连接,“NoARP”将被设置。 新创建的虚拟接口(fp0)将由Linux操作系统用于现在的通信。