Skip to content

Add IoRing implementation plan for Windows high-performance transport#185

Draft
Copilot wants to merge 4 commits intomasterfrom
copilot/create-plan-for-ioring-windows
Draft

Add IoRing implementation plan for Windows high-performance transport#185
Copilot wants to merge 4 commits intomasterfrom
copilot/create-plan-for-ioring-windows

Conversation

Copy link
Contributor

Copilot AI commented Feb 12, 2026

Windows currently relies on WinTun for high-performance networking. IoRing (Windows 11+) provides native kernel-level asynchronous I/O with shared ring buffers, analogous to Linux's io_uring and AF_XDP.

Implementation Plan

Created phased 10-week implementation roadmap in src/Magma.IoRing/IMPLEMENTATION_PLAN.md:

  • Phase 1-2: P/Invoke bindings for IoRing API (CreateIoRing, SubmitIoRing, PopIoRingCompletion)
  • Phase 3: Raw socket integration at IP layer via WSASocket with registered handles
  • Phase 4: IPacketTransmitter implementation matching AF_XDP/NetMap patterns
  • Phase 5-6: Zero-copy optimizations, batch submission, multi-queue support

Performance targets: 10M+ pps, <10μs median latency (AF_XDP parity)

Technical Approach

Initial scope: IP-level raw sockets (SOCK_RAW) for immediate TCP/UDP value
Future consideration: NDIS protocol driver for Layer 2 Ethernet access

Key challenges addressed:

  • Raw sockets on Windows are IP-level only (not Ethernet frames)
  • IoRing requires Windows 11 Build 22000+ - runtime detection with WinTun fallback
  • Buffer registration limits - dynamic pool rotation strategy
  • Ring buffer management mirrors AF_XDP submission/completion queue patterns

Structure

src/Magma.IoRing/
├── IMPLEMENTATION_PLAN.md      # Detailed 6-phase roadmap
├── README.md                   # Architecture, comparison matrix
└── Magma.IoRing.csproj         # .NET 10, Windows-only (win-x64/arm64)

Updated docs/ARCHITECTURE.md and main README.md to reflect new transport option in Platform Integration Layer.

Original prompt

This section details on the original issue you should resolve

<issue_title>[Feature]: Create plan for using IoRing on WIndows</issue_title>
<issue_description>### Problem Statement

https://learn.microsoft.com/en-us/windows/win32/api/ioringapi/

Proposed Solution

Base layer transport

Alternatives Considered

No response

Target Component

Magma.Link (Ethernet/ARP)

Priority

High - would significantly improve my workflow

Use Case

Windows high speed transport that doesn't need WinTun

Example Usage

References

https://learn.microsoft.com/en-us/windows/win32/api/ioringapi/

Contribution

  • I am willing to submit a pull request for this feature

Additional Context

No response</issue_description>

Comments on the Issue (you are @copilot in this section)


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Copilot AI and others added 3 commits February 12, 2026 04:32
Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>
Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>
Co-authored-by: benaadams <1142958+benaadams@users.noreply.github.com>
Copilot AI changed the title [WIP] Create plan for using IoRing on Windows Add IoRing implementation plan for Windows high-performance transport Feb 12, 2026
Copilot AI requested a review from benaadams February 12, 2026 04:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Create plan for using IoRing on WIndows

2 participants