五月天视频苹果版下载软件 -五月天app官网无限观看
0731-84728105
15116127200
FAST入门(8)FAST平台软件完成 原理之一
宣布时间 :2018-08-10
     软硬件协同是FAST平台分组处置赏罚 的特征 。FAST平台软件主要 完成 FAST硬件流水线与FAST用户运用 (UA)间数据通路和控制通路的信息交互,为UA编程提供函数库,是支持 UA运转 的基础 。FAST平台软件主要 由Linux内核中的FAST驱动和FAST内核以及用户空间的FAST编程库组成。
一、FAST UA的通讯 形式
     FAST UA运转 时与FPGA以及网络接口有多种通讯 需求,征求 FAST分组收发、对FPGA的设置 管理 以及与远端主机举行 尺度的Socket通讯 等。
   (1)FAST分组收发
     UA从FAST流水线吸收 FAST分组以及向FAST流水线收回 自己 发作 或许 转发的FAST分组。当UA完成 middlebox处置赏罚 成效 时,如防火墙成效 ,运用 FAST分组收发的方式与底层FPGA举行 通讯 。这些分组遵照 元数据加以太网帧的FAST分组名堂 界说。FAST分组名堂 界说将在FAST编程 API先容 时给出。
   (2)对FPGA的设置 管理
     UA对FPGA的设置 管理 征求 对FAST流水线的设置 管理 以及对FPGA OS的设置 管理 。典型的对FAST流水线设置 管理 职掌 征求 设置 GAC模块中的Action表,读取GOE模块中的计数器等;典型的对FPGA OS的设置 管理 征求 读取端口吸收 发送计数器,设置 FPGA OS提供的婚配 协处置赏罚 器得流表项等。
   (3)与远程 装备 的Socket通讯
     FAST UA还可运用 尺度Socket()机制经过 内核协议栈与远程 的网络装备 举行 通讯 。凭证 目的IP地址,内核协议栈确定该通讯 是经过 挂接到CPU上尺度以太网接口举行 ,照旧经过 挂接到FPGA上的网络接口举行 。若是 是前者,协议栈将会以sk_buff的名堂 与尺度以太网驱动交流收发的分组;若是 是后者,协议栈将会把分组送FAST内核,由FAST内核将分组封装成FAST名堂 ,经过 FAST驱意向 FPGA中的流水线收回 。
     需求 注重 的是,FAST UA能够 同时运用 多种通讯 形式 。例如OpenFlow通道署理(OXFP)UA既要经过 Socket机制与远端的SDN控制器通讯 ,完成 packet-in/packet-out/flowmod等OpenFlow旧事 的交互,又要与FAST流水线举行 FAST分组的交互。因为 上述经过 Linux内核的通讯 都是雍塞 式的,是以 需求 为分别 的通讯 树立 分别 的线程。
二、FAST平台软件的完成
     FAST平台软件完成 表示 如下图所示,其中征求 FAST驱动、FAST内核、FAST编程库以及两个UA、UAx和UAy。FAST内核维护的Netlink端口照射 表NPMT(Netlink Port Mapping Table)是FAST平台软件中的焦点数据结构 ,主要 寄存 UA的MID与NetLink端口号之间的照射 关系。
     FAST平台软件完成 时在用户空间其实不 存在一个集中的UA管理 法式。每个UA在启动时都自力 地经过 FAST库函数向FAST内核注册,获取MID以及与NetLink端口号的照射 关系。NPMT中也生涯 了种种用于管理 维护的种种计数器信息,例如某个UA吸收 和发送分组的个数等。
     FAST编程库为UA设计提供FAST分组收发的API函数,这些函数经过 Netlink机制与Linux内核中的FAST内核通讯 。Netlink是一种基于Socket缓存行列的,内核与用户态运用 之间转达 的旧事 的异步通讯 机制。FAST编程库会在UA完成 时编译到UA地址空间中,为防止 分别 UA会晤 FAST内核中共享数据结构 存在竞争,FAST编程库在设计时思量 了对NetLink照射 表等共享资源会晤 的互斥机制。
      FAST内核维护NPMT数据结构 。每个UA启动时,会经过 FAST编程库提供的初始化函数向FAST内核注册,由用户显式地为UA分配一个独一 的MID编号。FAST内核对分组处置赏罚 的职掌 如下表所示。
     是以 FAST内核凭证 FAST分组的DMID完成 了FAST流水线,多个FAST UA以及协议栈之间的分组交流。从协议栈角度看,FAST内核是一个特殊的网络接口,在内核中的职位与尺度的网络接口驱动基本 分歧 。因为 协议栈收回 的分组无分组的输入 接口信息,该分组进入FAST流水线后需求 经过 正常的转发获取输入 接口的信息。
     FAST驱动仔细 控制与FPGA的DMA通讯 ,FAST驱动与硬件平台亲近 相关,针对分别 完成 平台,DMA可以是轮询方式,也可以 是中止 方式。分别 平台中硬件DMA寄存 器的地址也有所分别 ,是以 FAST驱动移植是FAST平台软件移植的关键 。因为 FAST UA编程基于FAST编程API和Linux尺度系统 挪用 ,是以 分别 的硬件平台对UA编程是完全透明 的。