XS-TCAM-104x320:基于FPGA的TCAM开源完成
(二)
宣布时间
: 2018-03-15 在之前的民众号文章中五月天app官网无限观看为各人先容
了湖南新实设计的新IP核:XS-TCAM-104x320的硬件设计及其详细
完成
,本篇文章则针对XS-TCAM-104x320 IP核的软件局限
API的运用
举行
说明
,如图1所示,软件的完成
是经过
在FAST 软件库中添加Libbv库来完成
流表数据的种种职掌
(图内标红局限
)。本期文章将着重为各人先容
Libbv库的相关接口以及运用
要领。

图1 FAST完成
结构
图
一、软件代码说明
以后
的XS-TCAM-104x320 IP 核共支持320条表项,每条表项基于五元组(源、目的IP地址,协议号,源、目的端口号)举行
婚配
,是以
其软件局限
声明的数据结构
界说如下:
用户在挪用
数据结构
时,需遵守
FAST-0.2.0规范
,即key值与mask值需逐一
对应,以下是填充上述数据结构
的示例代码:
在示例代码中,proto字段为0,代表婚配
ARP类型的报文,以是
上述示例代码的执行效果
是:添加了两条流表,一条支持ICMP报文转发到2号端口,一条支持ARP报文转发到2号端口。
在填充完流表之后,用户可经过
挪用
为XS-TCAM-104x320定制的API接口将流表下发到硬件中,API接口如下所示:
用户可在任何UA运用
中挪用
上述接口,完成
对XS-TCAM-104x320流表的职掌
。
二、示例代码运转
效果
在该示例代码中,用户可以经过
参数控制4条流表的写上天
位
用来实验
以后
流表项位于分别
的地址时,硬件查表逻辑能否
能正常执行。用户可在r1()和r2()两个函数中自行界说4条规则的内容,然后在运转
示例代码时运用
参数控制流表写入的位置
,运转
示例代码的下令
如下所示:
其中参数“1”是指第一条流表将写入idx为1的地址,参数“3”是指将第二条流表写入idx为3的地址。请注重
,两条规则的地址相差必需
大于2,否则会前后相互
掩盖
,形成
未知的错误。最后
一个参数“64”是指在idx0-idx63之间(除了用户指定的流表位置
)写满随机内容的流表,用于实验
整个流表空间的查表才干
。
在流表写入之后,用户凭证
流表将IP地址为1.2.3.4和1.2.3.5的主机划分接入1、2号端口,即可相互
正常通讯
,如图2所示:

图2 客户端ping下令
执行截图
三、源码的下载
支持XS-TCAM-104x320的新版本FAST软件开发情形
现已上传至FAST社区官方网站,用户可切换至“代码”选项卡,点击“FAST UA”选项,然后点击图3按钮即可下载新版本的软件开发情形
:

图3 软件下载网页
用户下载后可在linux中输入
下令
解压文件:
解压完成之后,输入
如下下令
举行
设置
和编译:
上述下令
执行完成后,用户可在fast-0.2.0/tools/bv目录下找到上述的示例源码。
如对XS-TCAM-104x320 IP在软硬件代码下载或实验
历程中有遇就任
何效果
,可以经过
微信直接与五月天app官网无限观看联络
,五月天app官网无限观看会尽快给与回复。