根據用戶反映,現有的FAST通(tōng)用輸出引擎模塊(GOE.v)在某種情況下(xià)無法有效處理Metadata0中定義的discard位(第61位)。目前該bug已經修複,新版本GOE代碼(GOE-v1-1.0.v)已經上(shàng)傳網站(zhàn)(www.fastswitch.org),請正在使用FAST流水(shuǐ)線的用戶及時更新GOE-v1-1.1.v代碼。
附:GOE模塊代碼升級說明
FAST 平台的流水(shuǐ)線通(tōng)過UM實現,FAST 的UM主要由5部分組成,包含用戶定義解析(UDP),用戶定義關鍵字提取(UKE),通(tōng)用查表引擎(GME),用戶定義動作(UDA)和通(tōng)用輸出引擎(GOE)5個(gè)流水(shuǐ)線模塊,如圖1所示。
圖1 GOE模塊
此次對FAST流水(shuǐ)線UM中的GOE模塊進行了升級,GOE模塊之前主要是完成數據的轉發功能(néng),即輸入的數據直接轉發輸出。目前GOE模塊實現了根據Metadata的丢棄位丢棄報(bào)文分組的功能(néng),即當丢棄位為(wèi)1時,丢棄此報(bào)文分組;丢棄位為(wèi)0時,轉發報(bào)文分組。Metadata定義如下(xià)表所示。
表1列車數據類型與TSN數據類型映射表
信号名稱 |
寬度 |
功能(néng) |
使用情況 |
TTL |
[127:124] |
初始為(wèi)每經過一(yī)模塊減1 |
未使用 |
IngressPort |
[123:120] |
分組的原始輸入端口号 |
在CDP、Nmac_ctrl、UM、Cpu_ctrl模塊中都有處理 |
Length |
[119:108] |
分組長(cháng)度,包含MetaData,最長(cháng)為(wèi)4K,最短為(wèi)60字節(去掉CRC域的最小(xiǎo)以太網幀長(cháng)度) |
在CDP、Cpu_ctrl、Nmac_ctrl模塊中的很多(duō)子模塊中都有做處理;例如:增加删減兩拍Metadata時。 |
SrcModuleID |
[107:100] |
報(bào)文通(tōng)信時,源功能(néng)模塊的ID |
在mux_4stream子模塊中将來自(zì)端口的報(bào)文,該值都置為(wèi)0。 |
DstModuleID |
[99:92] |
1來自(zì)端口,5來自(zì)CPU
|
|
Seq_Num |
[91:80] |
報(bào)文接收序号,由FPGA OS在分組接收時标記,每個(gè)輸入接口維護一(yī)個(gè)獨立的序列号 |
未使用 |
EgressPort |
63 |
分組的最終輸出端口号 |
在CDP、Nmac_ctrl、Cpu_ctrl、UM模塊中都有處理;例如在dmux_4stream子模塊中,根據該值決定其轉發端口
|
Pkt_Src |
63 |
表示進入硬件(jiàn)流水(shuǐ)線的分組來源,0:來自(zì)網絡接口,1:來自(zì)cpu |
未使用 |
Pkt_Dst |
62 |
表示分組離開(kāi)硬件(jiàn)流水(shuǐ)線的目的,0:送網絡接口發出;1:送cpu處理 |
在trans_ctrl模塊中,根據其值确定報(bào)文的轉發方向 |
Discard |
61 |
1:指示GOE模塊丢棄該分組;0:GOE模塊正常轉發該分組 |
在GOE模塊中,根據其值進行報(bào)文棄丢或轉發處理 |
Priority |
[60:58] |
分組優先級,默認最低(dī)優先級(000) |
未使用 |
FlowID |
[57:44] |
分組屬于的流ID,最大16K |
未使用 |
TimeStamp |
[43:0] |
報(bào)文接收時間戳,由FPGA OS在分組接收時标記 |
在CDP模塊中有提取處理 |