このプロジェクトについて
Mohawk Nexusは、Mohawkネットワークスタックのルート統合ワークスペースです。複数のコンポーネントを1つのリポジトリに集約し、一緒にビルド、検証、テストできるようにします。
ワークスペース構成
- SMIP-MWP: AF_XDPホスト統合、ルーティング、暗号バインディング、ブリッジリクエスト取り込みをカバーするGoコントロールプレーン。
- SMIP-MWP-Rust: 転送パイプライン、高性能データプレーン、CLIツールを備えたRustデータパス。
- Sovereign-Mohawk-Proto: プロトコル定義、スキーマ進化、形式検証資産。
- bridge: ルート検証で使用される正規のブリッジスキーマ、マニフェスト、リクエスト例。
- scripts: ワークスペースレベルの生成、検証、テストヘルパー。
- go.workがGoモジュールをまとめます。
要件とセットアップ
Go(再現可能なビルドのために1.26.1に固定、ほとんどのローカルワークフローでは1.22+で動作する見込み)、Python 3.8+、コンテナ化されたパフォーマンス/ストレス実行用のDocker、Rustデータパステストをローカルで実行する場合のみRustツールチェーンが必要です。devcontainer設定はCodespaces/Dev Containers用にGoを固定し、sudo不要のローカルGoインストール手順も提供されています。
デバイス互換性
サポートされるプロファイルを示すマトリックスがあります:AF_XDP対応NICを備えたLinux x86_64サーバー(高速化)、Linux arm64サーバー/エッジノード、Raspberry Pi/ARM SBC、macOSおよびWindows開発マシン、特権ポッドなしのマネージドKubernetes(ポータブル)。高速化されたAF_XDPデータパスはLinuxのみです。ポータブルワークフローは、コントロール、FL、SWIPサービスとブリッジ検証をカバーします。ランタイムプロファイルは、ポータブル、高速化、実験的です。
使用方法
一般的なMakeターゲットには、bootstrap、status、verify、generate-bridge、validate-bridge、verify-go、bridge-smoke、verify-rustが含まれます。ローカルFLクイックスタートは、docker-composeを使用してコーディネーターと2つのクライアントをビルドして実行します。パフォーマンスとストレスハーネスは、scripts/bench.shとストレスDockerfileを通じて実行され、ベンチマーク出力とpprofアーティファクトをSMIP-MWP/benchmarks/に書き込みます。
機能
- 高性能データパス:低レイテンシのパケット処理のためのRustフォワーダーとAF_XDP統合。
- プラグ可能な暗号:割り当てを減らすためのインプレース暗号化/復号化を備えた対称および非対称プリミティブ。
- ブリッジ契約検証:ルート所有のバリデータと例のペイロードの再現可能なSHA256チェックを備えた正規のスキーマとマニフェスト。
- 再現可能なアーティファクトとpprofプロファイルを生成する統合テストハーネス。
- CI対応検証:make verifyは、未公開のサブレポSHAに依存せずにルートレベルの検証を実行します。
- Dockerfileとスクリプトによるコンテナ化されたパフォーマンス実行。
READMEはまた、AMD EPYCハードウェアでの内部マイクロベンチマーク数値(転送、マルチパススプレー、暗号、セッション/ルーティング、AF_XDP)を報告しており、結果はCPU、カーネル、NIC、カーネルバイパス設定に依存することに注意しています。プロジェクトは、生の最大パケットレートよりも、安全性、形式手法、マルチパススプレー、ソブリン機能を優先することに言及しています。
ブリッジ契約ツールには、正規のアーティファクトを再生成し、Go/Rust/Python/TypeScript用のSDKブリッジ定数を再生成し、マニフェストとハッシュを検証するスクリプトが含まれます。bridge/bridge_contract.version.jsonはスキーマとマニフェストのバージョンを追跡します。CIはリポジトリルートからmake verifyを実行します。このワークスペースは、異なる上流ライセンスを持つコンポーネントを集約するため、マルチライセンスであり、LICENSEとLICENSES.mdに文書化されています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.