0731-84728105
15116127200
XS-TCAM-104x320:基于FPGA的TCAM農時開(kāi)源實現(二)
發布時(shí)間: 2018-03-15低資
     在之前的公很事衆号文章中我們(men)為(wèi)大(dà)家(jiā)介紹了低廠湖(hú)南新實設計的新IP核:XS-TCAM-104店煙x320的硬件設計及其具體實現,本篇文章則針對XS-TCAM-104從很x320 IP核的軟件部分API的使用進行說(shuō雪路)明,如(rú)圖1所示,軟件的實現是通(tōng)過在FAST 軟件庫中添購就加Libbv庫來實現流表數據的各類操作(圖内标紅部分)。本期也門文章将着重為(wèi)大(dà)家(jiā)介紹Libb不又v庫的相關接口以及使用方法。

圖1 FAST實現結構圖
一、軟件代碼說(shuō)明
    &nb海年sp; 當前的XS-TCAM-104x3媽紙20 IP 核共支持320條表項,每條表項基于五元組(源、目的IP地址謝醫,協議号,源、目的端口号)進行匹配,因此其軟件部分聲明的數據結構定空睡義如(rú)下:
   &n雜器bsp; 用戶在調用數據結構時(shí),需遵守FAS我了T-0.2.0規範,即key值與mask值需一一對應,以下是對費填充上述數據結構的示例代碼:
    &nb道慢sp;在示例代碼中,proto字段為(wèi)0,代表匹配ARP類型木理的報文,所以上述示例代碼的執行結果是:添加了兩條流表,一條支持ICMP問開報文轉發到2号端口,一條支持ARP報文轉發見放到2号端口。
     畫少;在填充完流表之後,用戶可通(tōng)過調用為(wèi)XS-T老白CAM-104x320定制的API接口将流表下發到硬件中西雪,API接口如(rú)下所示:
   &n答票bsp; 用戶可在任何UA應用中調用上述接口,實現對XS-TCAM-樹懂104x320流表的操作。
二、示例代碼運行結果
    光線  在該示例代碼中,用戶可以通(tōng)過參數控制4條流表的寫也坐入位置用來測試當前流表項位于不(bù)同的地址時(s為科hí),硬件查表邏輯是否能正常執行。用戶可在r1()和錢白r2()兩個函數中自行定義4條規則的内容,然後在近熱運行示例代碼時(shí)使用參數控制流表寫入的位置,運行示例代碼的命令如(rú喝從)下所示:
     其中參數車懂“1”是指第一條流表将寫入idx為(wèi)1的地址,算錢參數“3”是指将第二條流表寫入idx為(wèi)3的地址。請注睡房意,兩條規則的地址相差必須大(dà)于2,老錢否則會(huì)前後相互覆蓋,造成未知的錯(cuò)誤線房。最後一個參數“64”是指在idx0-idx63這但之間(除了用戶指定的流表位置)寫滿随機内容的流表,用于測試整個流表空間的麗什查表能力。
   &nbs時知p; 在流表寫入之後,用戶根據流表将IP地址為(wèi)1.新長2.3.4和1.2.3.5的主機分别接入1、2号端口,即可相互那內正常通(tōng)信,如(rú)圖2所示: 人吧

圖2 客戶端ping命令執行截圖
三、源碼的下載
    刀頻;  支持XS-TCAM-104x320的新版本FA計男ST軟件開(kāi)發環境現已上傳至FAST社區資城官方網站,用戶可切換至“代碼”選項卡,點購去擊“FAST UA”選項,然後點擊圖3按鈕即可下載新版本市長的軟件開(kāi)發環境:

圖3 軟件下載網頁
    &美空nbsp;用戶下載後可在linux中輸入命令解壓文件: 書們
   &nb還水sp;  解壓完成之後,輸入如(rú)下命令進行配置事子和編譯:
     明開;上述命令執行完成後,用戶可在fast-0.2.0/tools/b做上v目錄下找到上述的示例源碼。 火地
   術用  如(rú)對XS-TCAM-104x320 I日金P在軟硬件代碼下載或測試過程中有遇到任何問題一日,可以通(tōng)過微信直接與我們(men)聯系,著那我們(men)會(huì)盡快給與回複。