프로젝트 소개

Mohawk Nexus는 Mohawk 네트워크 스택의 루트 통합 워크스페이스입니다. 여러 구성 요소를 하나의 저장소로 모아 함께 빌드, 검증, 테스트할 수 있도록 합니다. 워크스페이스 레이아웃 - 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를 통해 두 클라이언트와 함께 코디네이터를 빌드하고 실행합니다. 성능 및 스트레스 하네스는 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에 문서화되어 있습니다.