本隨筆主要是對于 P416 Language Specification 檔案的部分閱讀總結,,
對于 p4 語言的語法、函式等由于時間問題暫未詳細說明,,
范圍
- 檔案僅定義結構和解釋
- 未定義p4程式如何編譯、加載和執行
- 為定義如何收發報文
- 未定義控制平面管理流表(資料面)機制
- p4程式的大小和復雜程度
- 未定義對系統的要求
術語,定義和符號
Metadata:在執行P4程式期間生成的中間資料
Packet payload:資料包頭后面的資料包資料
概述
-
P4語言提供的核心抽象:
- Header型別欄位描述頭部各欄位與大小
- Parsers描述允許決議和提取頭部欄位
- 匹配表(Tables)
- 動作集(Actions)
- 執行匹配操作的匹配動作集(Match-action)
- 用戶定義的與資料包關聯的資料結構(User-defined metadata)
- 內部元資料(Intrinsic metadata):架構所所提供的元資料
- 外部物件(Extern objects):
Extern物件是特定于體系結構的構造,可以由P4程式通過定義良好的API進行操作,但是其內部行為是硬連線的(例如,校驗和單元),因此無法使用P4進行編程
-
編譯P4程式主要作業
- 實作輸入程式中描述的轉發邏輯的資料平面配置
- 控制平面管理資料平面物件狀態的API
Architecture Model(體系模型)
- P4體系結構可以看作是程式與目標(target:資料平面的硬體)的協議
- 控制暫存器/信號在P4中表示為固有元資料(內部元資料:Intrinsic metadata)
- P4程式還可以將與每個資料包有關的資料存盤和處理為用戶定義的元資料
- extern 物件描述由物件實作的一組方法,而不是這些方法的實作
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/285747.html
標籤:其他
