五月天app看片二维码 -五月天app官网无限观看
0731-84728105
15116127200
FAST软件编程基础 (3)扩展API
宣布时间 :2019-05-11
     UA编程API是FAST平台支持软硬协同分组处置赏罚 的基础 。基本 编程API为UA提供了与硬件流水线交互的基本 手腕 。扩展API是面向FAST流水线中特定硬件模块而设计的API,主要 经过 对基本 API再次封装完成 。扩展API的运用 可以大大简化UA编程的严重 性。本文以SDN交流规则管理 为例,详细先容 扩展API的低贱 ,完成 要领和事情流程。
一、扩展API简介
      FAST基本 API为FAST流水线中硬件模块设计者提供了与软件通讯 的接口。模块设计者还应凭证 模块提供的成效 ,基于基本 API为用户提供扩展的API,以简化UA编程的严重 性。
   (1)扩展API的低贱      扩展API可以简化用户UA编程的严重 性。例如,FAST的SDN交流流水线征求 了GPP,GKE,GME,GAC和GOE等成效 模块。UA需求 设置 GME(通用婚配 引擎)模块的规则表和GAC(通用举动 执行)模块中的举动 表以完成 对特定报文的match-action职掌 。UA直接运用 fast_ua_hw_rd()和fast_ua_hw_wr()函数对GME和GAC模块中的表举行 设置 存在两个未便。
     一是每次职掌 必需 提供职掌 地址等底层信息,而这一信息与硬件模块完成 相关。UA运用 这些地址对低层设置 与SDN交流机需求 对转发层举行 笼统 的准绳 相违犯 ;二是因为 fast_ua_hw_rd()和fast_ua_hw_wr()函数每次只能会晤 32位数据,对一条SDN规则的FlowMod设置 需求 拆分红 会晤 分别 模块的屡次 职掌 ,增添 了编程的严重 性。
     为简化SDN规则管理 ,可在FAST编程库中可界说一些公用 的数据结构 。例如形貌 SDN网络中流的flow结构 ,对应FlowMod旧事 的fast_rule结构 等。基于这些结构 ,可扩展UA编程API,为UA编程提供更高条理的笼统 ,简化编程的严重 性。
   (2)扩展API完成 要领      扩展API的完成 主要 分为两个顺序 。一是为UA编程界说数据结构 ,屏障 底层完成 细节;二是凭证 UA编程需求,设计照应 的API函数。以下仍以SDN交流为例说明 。
     因为 SDN转发面的管理 主要 是对规则举行 增添 ,删除等职掌 ,是以 FAST界说了Fast_rule数据结构 ,如下所示。是以 UA在编程完成 SDN的规则管理 时,只需求 完成 对上述规则的职掌 即可,而不需求 思量 规则的详细 存储地址。五月天app官网无限观看会在基于FAST的SDN交流完成 相关文档中详细先容 Fast_rule数据结构 。
     基于Fast_rule数据结构 ,可以为SDN规则管理 界说如下5个扩展的API。划分完成 规则表的初始化、规则添加、规则删除和规则打印等成效 ,如下表所示。
     显然,基于上述扩展API,可以利便 的完成 对SDN转发规则的管理 ,简化了UA设计的严重 度。
二、扩展API的完成
     下图以Fast_add_rule()为例,先容 了扩展API的完成 流程。其中UA法式完成 了交流机上的openflow通道成效 ,需求 凭证 SDN控制器发来的Flowmod指令对FAST硬件流水线中的规则举行 管理 。
     以增添 规则为例,UA首先凭证 FlowMod旧事 中征求 的规则和举动 信息,结构 fast_rule结构 体,然后挪用 FAST编程库中所提供的fast_rule_add()将fast_rule结构 体携带的流表设置 信息经FAST内核和FAST驱动,写入硬件GME模块和硬件GAC模块所关联的lookup表中。

图1 扩展API的执行历程
     每个FlowMod旧事 触及 到对FAST硬件流水线中GME和GAC两个模块对应的规则表和action表举行 管理 ,而fast_rule_add()函数向用户屏障 了这一硬件完成 细节。