# Intel Tofino
P4 でプログラム可能なスイッチ ASIC。[[Hawkeye]]([[@2025__SIGCOMM__Hawkeye - Diagnosing RDMA Network Performance Anomalies with PFC Provenance]])は Tofino を実機テストベッドに用い、PFC フレームを P4 プログラムで処理してリアルタイムの PFC 状態を記録し、データプレーン内で PFC 因果関係を線速(line-rate)解析する。テストベッドでは 2 パイプラインを 2 論理スイッチに分割して使う。メモリ使用量はエポック数とフロー数に線形スケールする。(Source: [[@2025__SIGCOMM__Hawkeye - Diagnosing RDMA Network Performance Anomalies with PFC Provenance]])
[[PatternSketch]]([[@2026__EuroSys__PatternSketch - General and Runtime Reconfigurable Time-series Network Traffic Pattern Detection]]、EuroSys '26)は 3.2 Tbps の Tofino ASIC を搭載した Wedge 100BF-32X スイッチに実装され、時系列トラフィックパターン検知の Pattern Automaton をデータプレーンの3テーブル(Micro-pattern Table・State Transition Table・State Priority Table)にマップする。10ステージ平均で Hash bits 15.72%・Meter ALU 32.50%・SRAM 約5.00%・TCAM 約2.50%を消費し、200KBのオンチップメモリで6パターン同時検知時にF1スコア90%超を達成する。Tofino のパイプライン制約(ステージ間の一方向ワークフロー、除算・複雑な算術演算の非サポート)への対処として、Resubmit による循環依存解消、対数テーブルによる近似除算、トリガーベース更新の3手法を用いる。(Source: [[@2026__EuroSys__PatternSketch - General and Runtime Reconfigurable Time-series Network Traffic Pattern Detection]] §5)
## TNA(Tofino Native Architecture)とBarefoot Networks
Tofinoはもともと*Barefoot Networks*(後にIntelが買収)が開発したP4プログラム可能スイッチングチップである。*Software-Defined Networks: A Systems Approach* 第4章によれば、BarefootはTofino向けのP4アーキテクチャモデルとして*TNA(Tofino Native Architecture)*を定義した。V1ModelやPSA(Portable Switch Architecture)がベンダー横断の共通性を志向するのに対し、TNAはTofinoチップの低レベル能力(差別化要因となる能力を含む)を忠実に表現するベンダー固有アーキテクチャである。Barefoot自身はTNAを用いて従来型L2/L3スイッチ相当の機能を実装したプログラム(`switch.p4`)を書いたが非公開であり、`v1model.p4`を用いるオープンソース版として`fabric.p4`が存在する(第7章のSD-Fabricでカスタマイズされる)。(Source: [[@2021__SystemsApproach__Software-Defined Networks - A Systems Approach - Chapter 4 Bare-Metal Switches]] ch.4 §4.3.2)
## Stratumでのパススルー動作(第5章)
*Software-Defined Networks: A Systems Approach* 第5章によれば、[[Stratum]](Thin Switch OS)はTofinoのようなプログラム可能チップに対してはほぼパススルーとして機能し、上位から来た[[P4Runtime]]呼び出しはBarefoot SDKへ直接渡される。これはTomahawkのような固定機能チップの場合にStratumが変換用のランタイム状態を保持しなければならないのと対照的であり、TofinoがP4アーキテクチャモデル(TNA)を素直に露出する設計であることの帰結である。Broadcomはこの対比の中でTomahawk向けSDKの`bcm_l3_route_create`メソッドを提供するが、Barefootのパイプライン非依存な対応メソッドは`bf_table_write`である。(Source: [[@2021__SystemsApproach__Software-Defined Networks - A Systems Approach - Chapter 5 Switch OS]] ch.5 §5.1)
なお、2023年にIntelがTofino 3の開発を中止したことは*Software-Defined Networks: A Systems Approach*第4章には記載がなく、[[P4]]エンティティが別ソース([[@2026__LambdaNote__ネットワークシステムについて語るときに我々の語ること - Chapter 5 SDN:ソフトウェア定義ネットワーク]])から報告している内容である。
## 関連
- ソース: [[@2025__SIGCOMM__Hawkeye - Diagnosing RDMA Network Performance Anomalies with PFC Provenance]] / [[@2026__EuroSys__PatternSketch - General and Runtime Reconfigurable Time-series Network Traffic Pattern Detection]] / [[@2021__SystemsApproach__Software-Defined Networks - A Systems Approach - Chapter 4 Bare-Metal Switches]]
- 概念: [[RDMAネットワーク監視]] / [[オープンネットワーキング]] / [[時系列トラフィックパターン検知]] / [[プログラマブルデータプレーン]]
- エンティティ: [[Hawkeye]] / [[BlueField-3]] / [[P4]] / [[Stratum]] / [[P4Runtime]]