P4とかXDPとかよくわからないので、(ゆるく)情報収集したものをまとめたページ
(多分)たまに更新します。
1. P4
1.1. Webサイト
-
P4 Guide Andy Fingerhutさんが作ったP4ガイド、色々詳しい
-
Getting Started with P4 Bruno Rijsmanさんの入門記事
-
関連プロジェクト
- p4lang/p4c
- p4c-xdp
- t4p4s Retargetable compiler for the P4 language
-
Performance Evaluation of GTP-U and SRv6 Stateless Translation
1.2. プレゼン資料等
- 2017/8/6 How to Run P4 Behavior Model v2 海老澤さん
- 2017/10/20 ONIC2017 プログラマブル・データプレーン時代に向けた ネットワーク・オペレーションスタック
海老澤さん - 2018/7/12 P4を使ってみて分かったこと ~ 現実的になってきたデータプレーンのプログラマビリティ ~ ARISTA Systems 熊谷渉さん JANOG42
- 2018/11/19 P4/Stratum活用に向けたプログラマブルスイッチの実装・検討 NTTネットワークサービス研究所 武井勇樹さん MPLS Japan 2018
- 2019/10/11 日本 P4 ユーザ会 2019
- 参加記
- プログラム
- P4の現状と展望・そして我々にできること
- キャリアにおける P4 ユースケースの紹介
- P4 テストベッドについて
- Programmable スイッチによる GTP/SRv6 の Stateless 変換の性能評価
- インテル FPGA PAC N3000 を P4 でプログラミングする NETCOPE P4 コンパイラの使用事例
- CiscoにおけるP4の活用と展望
- Arista 7170紹介とデモンストレーション
- Cloud-Grade Routing Stack for P4/Stratum
- 進化するデータプレンプログラマビリティ対応ハードウェアと実現されるユースケース
- In-band Network Telemetry とその可能性
- 2019/10/23 Intel_P4_User Group_パケット打ち返し検証結果 マクニカ清水さん
- 2020/01/29 NPLによるデータプレーンプログラミング IIJ 沖さん発表、リンク先はP4との比較
1.3. ブログなど
- 2018/12/13 P4はじめました
- 2018/12/14 P4 & XDP(VxLANの中身でフィルタリングしてみる)
- 2019/4/26 P4と進むネットワークの向こう側 ネットワン匠コラム
- 2019/10/14 Getting Started with P4
- 2019/12/11 ONE Silicon, ONE Experience, MULTIPLE Roles
Ciscoが新しいASICでP4をサポートするらしいという話(らしい) - APRESIA SYSTEMS Technical Blog
- 2019/10/07 Stratum on BMv2をGNS3上で動かしてみた P4Runtime等をベースにした、Network OS「Stratum」を動かした話
- 2020/01/18 Stratum on BMv2をGNS3上で動かしてみた(第二弾)
- 2020/01/27 Stratum on BMv2をGNS3上で動かしてみた(第三弾)
- 2020/02/03 Stratum on BMv2をGNS3上で動かしてみた(第四弾)
- 13ryuse4 さん
1.4 ビデオ
2. NPL
2.1. Webサイト
- NPL Broadcom作っているP4 Likeデータプレーンプログラム言語
- NPL - Network Programming Language Specification v1.3
2.2. プレゼン資料等
2.3. ブログなど
- 2019/6/27 Broadcom's new Trident 4 and Jericho 2 switch devices offer programmability at scale
- 2020/01/29 NPLによるデータプレーンプログラミング IIJ 沖さん
3. XDP/DPDK/eBPFとか
3.1. (主にプロジェクトの)Webサイト
3.2 プレゼン資料等
- 2017/11/14 10分でわかる Cilium と XDP / BPF
- 2018/11/28 eXpress Data Path (XDP) の概要とLINEにおける利活用
- 2019/07/06 転びながらもネットワーク処理をソフトウェアで自作していく話 馬渕 俊哉さん(raibo)
- 2020/06/26 モバイルネットワークのデータプレーンをXDPで作る話 日下部さん(BBSakura Networks)
3.3. ブログなど
- 2016/10/11 Linuxカーネルの新機能 XDP (eXpress Data Path) を触ってみる
- 2017/05/09 eBPF tail call 使い方メモ
- 2017/05/10 Facebookはレイヤ4ロードバランサをIPVS(LVS)からXDPベースのものに乗り換えつつある
- 2017/06/12 Generic XDPを使えばXDP動作環境がお手軽に構築できるようになった
- 2018/05/01 BPF、eBPF、XDPそしてBpfilter...
- 2019/12/05 今日から始めるXDPと取り巻く環境について
- 2018/11/07 TCPパケットがGeneric XDPで処理されない件について
- 2018/12/14 P4 & XDP(VxLANの中身でフィルタリングしてみる)
- Berkeley Packet Filter(BPF)入門 atmark IT
- 2018/11/22 パケットフィルターでトレーシング? Linuxで活用が進む「Berkeley Packet Filter(BPF)」とは何か (1/3)
- 2018/12/10 BPFのアーキテクチャ、命令セット、cBPFとeBPFの違い (1/2)
- 2018/12/26 BPFプログラムの作成方法、BPFの検証器、JITコンパイル機能 (1/3)
- 2019/10/07 LinuxのBPFで何ができるのか? BPFの「プログラムタイプ」とは (1/2)
- 2019/11/05 BPFによるパケットトレース――C言語によるBPFプログラムの作り方、使い方 (1/2)
- 2019/01/19 BPF_PROG_TEST_RUNでXDPプログラムの挙動をテストする
- 2019/01/20 XDP のプログラムをビルドする方法
- 2019/05/06 XDP の meta data が VLAN のパケットのときに失われるバグを修正して Linux Kernel に貢献した
- 2019/05/20 Netdev 0x13 から見た Linux ネットワークの最新動向
3.4 tips的ななにか
- 2020/1/16 今からXDPやるならLinuxのバージョンは5.3以上でやらないと無駄に苦労する。現在のstableは5.4なので、5.4でやるのが良い。higebuさんtwitter
- 2020/1/16 Linux 5.2からeBPF/XDPのプログラムサイズ制限が1Mになってた higebuさんtwitter
4. 用語集的ななにか
- BMv2 BEHAVIORAL MODEL version2. P4のリファレンス実装シミュレータスイッチ(みたい)
- gNMI gRPC Network Management Interface
- gNOI gRPC Network Operations Interface
- GNS3 Graphical Network Simulator-3 ネットワークシミュレータの一つ
- mininet An Instant Virtual Network on your Laptop ネットワークシミュレータの一つ
- ONF Open Networking Foundationという組織
- Stratum ONFとGoogleで作っている次世代型の SDN インターフェースと呼ばれている「P4Runtime」「gNMI」「gNOI」(いずれも gRPC で通信)をベースにした新たな Network OS GitHub
- Thrift 「スケーラブルな言語間サービス開発」のためにFacebookにて開発された遠隔手続き呼出し (RPC) フレームワーク(出典Wikipedia)