根據(jù)用戶反映,現(xiàn)有的FAST通用輸出引擎模塊(GOE.v)在某種情況下無(wú)法有效處理Metadata0中定義的discard位(第61位)。目前該bug已經(jīng)修復(fù),新版本GOE代碼(GOE-v1-1.0.v)已經(jīng)上傳網(wǎng)站(www.fastswitch.org),請(qǐng)正在使用FAST流水線的用戶及時(shí)更新GOE-v1-1.1.v代碼。
附:GOE模塊代碼升級(jí)說(shuō)明
FAST 平臺(tái)的流水線通過(guò)UM實(shí)現(xiàn),F(xiàn)AST 的UM主要由5部分組成,包含用戶定義解析(UDP),用戶定義關(guān)鍵字提?。║KE),通用查表引擎(GME),用戶定義動(dòng)作(UDA)和通用輸出引擎(GOE)5個(gè)流水線模塊,如圖1所示。

圖1 GOE模塊
此次對(duì)FAST流水線UM中的GOE模塊進(jìn)行了升級(jí),GOE模塊之前主要是完成數(shù)據(jù)的轉(zhuǎn)發(fā)功能,即輸入的數(shù)據(jù)直接轉(zhuǎn)發(fā)輸出。目前GOE模塊實(shí)現(xiàn)了根據(jù)Metadata的丟棄位丟棄報(bào)文分組的功能,即當(dāng)丟棄位為1時(shí),丟棄此報(bào)文分組;丟棄位為0時(shí),轉(zhuǎn)發(fā)報(bào)文分組。Metadata定義如下表所示。
表1列車數(shù)據(jù)類型與TSN數(shù)據(jù)類型映射表
信號(hào)名稱 |
寬度 |
功能 |
使用情況 |
TTL |
[127:124] |
初始為每經(jīng)過(guò)一模塊減1 |
未使用 |
IngressPort |
[123:120] |
分組的原始輸入端口號(hào) |
在CDP、Nmac_ctrl、UM、Cpu_ctrl模塊中都有處理 |
Length |
[119:108] |
分組長(zhǎng)度,包含MetaData,最長(zhǎng)為4K,最短為60字節(jié)(去掉CRC域的最小以太網(wǎng)幀長(zhǎng)度) |
在CDP、Cpu_ctrl、Nmac_ctrl模塊中的很多子模塊中都有做處理;例如:增加刪減兩拍Metadata時(shí)。 |
SrcModuleID |
[107:100] |
報(bào)文通信時(shí),源功能模塊的ID |
在mux_4stream子模塊中將來(lái)自端口的報(bào)文,該值都置為0。 |
DstModuleID |
[99:92] |
1來(lái)自端口,5來(lái)自CPU
|
|
Seq_Num |
[91:80] |
報(bào)文接收序號(hào),由FPGA OS在分組接收時(shí)標(biāo)記,每個(gè)輸入接口維護(hù)一個(gè)獨(dú)立的序列號(hào) |
未使用 |
EgressPort |
63 |
分組的最終輸出端口號(hào) |
在CDP、Nmac_ctrl、Cpu_ctrl、UM模塊中都有處理;例如在dmux_4stream子模塊中,根據(jù)該值決定其轉(zhuǎn)發(fā)端口
|
Pkt_Src |
63 |
表示進(jìn)入硬件流水線的分組來(lái)源,0:來(lái)自網(wǎng)絡(luò)接口,1:來(lái)自cpu |
未使用 |
Pkt_Dst |
62 |
表示分組離開(kāi)硬件流水線的目的,0:送網(wǎng)絡(luò)接口發(fā)出;1:送cpu處理 |
在trans_ctrl模塊中,根據(jù)其值確定報(bào)文的轉(zhuǎn)發(fā)方向 |
Discard |
61 |
1:指示GOE模塊丟棄該分組;0:GOE模塊正常轉(zhuǎn)發(fā)該分組 |
在GOE模塊中,根據(jù)其值進(jìn)行報(bào)文棄丟或轉(zhuǎn)發(fā)處理 |
Priority |
[60:58] |
分組優(yōu)先級(jí),默認(rèn)最低優(yōu)先級(jí)(000) |
未使用 |
FlowID |
[57:44] |
分組屬于的流ID,最大16K |
未使用 |
TimeStamp |
[43:0] |
報(bào)文接收時(shí)間戳,由FPGA OS在分組接收時(shí)標(biāo)記 |
在CDP模塊中有提取處理 |