少那; 模塊是FAST平台實現分組處理的基本單元,軟是南硬件模塊間高效的信息交互對實現軟硬件協同分組處理具有重要意義。元村去數據(Metadata)是FAST平台中模塊間信土電息交換的核心數據結構,是控制分組在軟硬件模塊間的處理路徑以及信都來息交換的關鍵。
一、軟硬件協同分組處理流程
 國如;FAST平台中傳輸的每個分組都攜帶一個元數據塊,用于存放分組的接收信息(如(草家rú)端口号,接收時(shí)刻等)、路報遠徑控制信息(如(rú)下一個模塊号DMID)、處得物理的中間狀态(如(rú)流分類的标識FlowID)以及用戶自定義服腦狀态信息等。
 算志;FPGA OS必須為(wèi)每個從端口接收的分組也金創建并初始化一個元數據塊,每個軟件UA也弟票必須為(wèi)其産生的分組構建并初始化一個元數據塊。學習當硬件模塊把分組DMID設置為(wèi)某個UA的MI新術D,或者UA把分組的DMID設置為(wèi)某個硬件模塊的MID藍路時(shí),分組需要攜帶元數據穿越軟硬件界面,如(rú)下圖所聽內示。假設硬件流水線由X、Y、Z三個模塊組成,作為(wèi)流水線最後錢畫一級的模塊Z通(tōng)常為(wèi)輸出引擎,FPGA那為 OS将DMID為(wèi)Z的分組送輸出接口發出海計。
高喝 如(rú)果平台加載了一個軟件程序A,功能是對p1接口輸入,p嗎輛2接口輸出的所有分組進行安全檢查,那麼A可向模塊Z配置規則,将所有輸入接口為(件街wèi)p1,輸出接口為(wèi)p2的分組的DMID設置為(wèi)慢嗎A。因此模塊Z會(huì)将分組p的DMID設置為(wèi)A明哥,FPGA OS會(huì)将p送到軟件模塊A進行處理,同時(大弟shí)将p的SMID設置為(wèi)Z,表示這是就這硬件模塊Z發出的分組。
&姐車nbsp; 當A完成對p的安全檢查需要繼續從p2發出分組p時(s樹東hí),可将p的DMID設置為(wèi)Z,将p再次發送回硬件流水商很線。雖然p首先經過了硬件流水線中的模塊X和Y國亮,但由于DMID為(wèi)Z,所以X和Y不(bù)會(huì)處理錢街分組p,而是将其送到Z處理。Z發現p的SMID為(風著wèi)A,表示已經過安全檢查,因此會(huì)将分組DMID地筆修改為(wèi)Z,由FPGA OS從端口發出。
二、軟硬件協同處理中的信息交互
&n短小bsp; 元數據中除了DMID和SMID字段外,還定義了村視其他(tā)字段用于模塊間信息的交互。FAST2.0規範呢知定義的元數據包含了14個字段,如(rú)下表所示:
根據系來遠統的性能要求,開(kāi)發周期,開(kāi)發人員喜好(hǎo)(軟件開(街下kāi)發或硬件開(kāi)發),可将需要實自玩現的網絡功能劃分到不(bù)同的軟硬件模熱工塊中實現(這一點後面還會(huì)詳細介關市紹),而軟硬件模塊間狀态信息的交互需要在元數據中攜帶,例如(rú):
&nbs長習p;(1)PST字段:硬件可進行分組解析行相,包括網絡協議類型或者是應用層解析,并将解析的結果通(tōng)過化黑PST編碼送UA,實現将UA分組解析功能一學卸載到硬件實現;
&nbs睡靜p; TSN在轉發流程中擴充的單流過濾和管控(分腦PSFP)機制主要實現三個功能,一是單流測量,使用令牌桶機制測量到達的每麗書條流得(de)流量和最大(dà)幀長(chá多農ng)度是否超過預定合約;二是時(shí)間門控隊列選擇機制,即将全局時(黃那shí)間(分組到達的時(shí)刻)加入隊列選擇算法中考慮錢分,重新計算分組内部優先級,并根據内部優先級而不(bù)是水愛分組VLAN頭或IP頭中攜帶的外部優先級選擇輸出隊列号;三是入隊測量術問,基于令牌桶機制對進入特定隊列的流量進行離著測量,保證進入相應隊列緩存的分組流量滿足一定的合約。
 現可; (2)FlowID:硬件實現北聽對分組的分類,然後将分類的結果送UA處理,即實現畫購将軟件的流分類功能卸載到硬件實現;
下鐵
 土錯; (3)RXTS:硬件實現對分組接收的時(離她shí)間進行精确标記,軟件UA可以根據這個時(shí)間戳行些進行時(shí)間敏感的功能處理,這對于精準網絡測量務話和IEEE1588時(shí)間同步控制的實現十分關鍵;
&n他吧bsp; (4)UDM:用戶根據需要使用16會物字節的UDM字段實現UA和特定硬件模塊之間的信息傳遞,例刀些如(rú)當硬件模塊按照匹配的規則将分組送給嗎好軟件UA時(shí),可以攜帶匹配的規則号或軟件預先設置的了內cookie信息等。軟件在将分組發送給硬件時(shí),也可以攜帶一些海市控制硬件處理的信息,如(rú)定時(shí)發送的信息等。關于也高UDM的使用會(huì)在後續的實際案例中更加詳細的介紹。
農區
外路 因此在FAST架構下,軟件UA可通(tōng)過元數據與硬笑答件模塊交換更加豐富的甚至是用戶自定義的狀态信息。與目前身醫的Socket、Netlink,Libnet/Libpcap從紅、DPDK等網絡編程的API相比,FASTAPI具備更什爸強的軟硬件分組協同分組能力,更加容易的滿足用戶定制的處理需求。