P4関連情報のリンク集
2020年1月28日
P4関連情報のリンク集を纏めております。他にも有用な情報や記載したほうがよい内容がありましたら、slackへご連絡いただければ幸いです。
- P4本家: https://p4.org/
- P4の言語仕様をまとめているp4.orgのサイトになります。ここでは以下の規格が公開されています。
- P4_16言語仕様
- P4_14言語仕様
- PSA (Portable Switch Architecture)
- P4 Dataplane Telemetry (Inband Network Telemetry)
- P4Runtime
- p4.orgが関係するイベント
https://p4.org/events/ - p4.orgにて提供しているP4のアプリケーションのページになります。主にINT(Inband Network Telemetry)の情報となります。
https://github.com/p4lang/p4-applications
https://github.com/p4lang/p4-applications/blob/master/docs/charter.pdf
- P4の言語仕様をまとめているp4.orgのサイトになります。ここでは以下の規格が公開されています。
- P4本家が提供しているOSSのツール、アプリケーション
- P4コンパイラ (BMv2用)
https://github.com/p4lang/p4c - BMv2 (Behavioral Model):P4にて制御可能な仮想スイッチ
https://github.com/p4lang/behavioral-model - PTF (Packet Test Framework):P4スイッチに対してテストフレームを送受信することが可能なテストフレームワーク
https://github.com/p4lang/ptf - P4 specと、PSA modelのp4コード
https://github.com/p4lang/p4-spec - PI Library:P4Runtimeにて使用されるインタフェースのライブラリ
https://github.com/p4lang/PI - 各種イベントにて使用されているチュートリアル (サンプルコード有り)
https://github.com/p4lang/tutorials - P4Runtime shell:P4Runtime対応スイッチをリモートからP4Runtimeにて制御可能なCLIツール
https://github.com/p4lang/p4runtime-shell
- P4コンパイラ (BMv2用)
- ONF (Open Networking Foundation) が公開しているツール
- Stratum:P4スイッチ上にて動作するエージェントで、P4Runtimeの他、gNMI、gNOIのインタフェースを備える
https://github.com/stratum/stratum
- Stratum:P4スイッチ上にて動作するエージェントで、P4Runtimeの他、gNMI、gNOIのインタフェースを備える
- openなP4コード
- 海老澤さんの公開ソースコード (SRv6)
https://github.com/ebiken/p4srv6 - Andyさんの多数のP4サンプル・解説
https://github.com/jafingerhut/p4-guide - ONOS Fabric:ONOSから制御することで、Leaf/Spineファブリックを構築可能なP4コード(作成元はONF)
https://github.com/opennetworkinglab/onos/tree/master/pipelines/fabric/impl/src/main/resources - BNG/PPPoEをP4にて実現可能なコード (作成元はONF)
https://github.com/opencord/p4se - BNG, NAT
https://github.com/P4ELTE/tutorials/tree/master/IEEEHPSR2018/telco_uc - Mobile Gateway
https://github.com/P4ELTE/use_cases/tree/master/p4-16/smgw
- 海老澤さんの公開ソースコード (SRv6)