Repository navigation
docs: improve README for human readers - #7
Merged
Merged
Conversation
Restructure README to be more accessible and informative: - Add "Why" section explaining kernel bypass benefits and DPDK value - Lead with library usage examples instead of CLI commands - Highlight 100% API compatibility as primary feature - Add backend comparison table (DPDK vs AF_PACKET vs MMAP) - Clarify development workflow with ci-validate.sh - Update architecture diagram to show backend abstraction - De-emphasize DPDK installation (optional, not required) - Remove confusing "Synthetic Mode" terminology - Add project status section with implementation phases Aimed at developers who want to understand what this is, why it exists, and how to use/contribute without reading agent docs. https://claude.ai/code/session_01XHuW8tZS65TFqx1FV4wmiY
Bring back the cleaner ASCII box diagram format from the original README, updated to show current architecture with backend abstraction layer. The diagram now clearly shows: - Layered crate structure (dpdk-sys → dpdk → dpdk-udp → dpdk-tokio) - Three backend implementations (DPDK, RawSocket, RawSocket+MMAP) - Optional DPDK library dependency (kernel bypass) More visual and easier to parse than the tree diagram. https://claude.ai/code/session_01XHuW8tZS65TFqx1FV4wmiY
gspivey
pushed a commit
that referenced
this pull request
Apr 11, 2026
64B/700K rust-dpdk holds 698k pps (0.27% drop) vs plain-rust's 615k (12.1% drop). 512B/700K rust-dpdk delivers 696k pps (0.57% drop) vs plain-rust's 459k (34.4% drop). No regression from the new RX buffer accounting — byte-counting cost is below the measurement noise floor at all tested rates.
gspivey
added a commit
that referenced
this pull request
Jun 6, 2026
…#71) ## Roadmap Item Addresses roadmap item #7: `dpdk-stdlib-quic`: Stats, gateway-MAC acquisition, and `LoopbackBackend` Spec: `.kiro/specs/s2n-quic-provider/` · tasks 8.1, 8.2, 8.3, 8.4 ## Summary All four spec tasks were already implemented as part of prior PRs (#66 skeleton). This PR formally marks them complete in the task spec: - **8.1** `ProviderStats` atomic counters (`rx_burst_calls`, `tx_burst_calls`, `datagrams_received`, `datagrams_transmitted`, `rx_drops`, `tx_drops`, `timer_wakeups`) + `StatsSnapshot::snapshot()` + `ProviderHandle` with `Arc<AtomicBool>` shutdown, `JoinHandle`, `shutdown()` - **8.2** `ProviderBuilder::with_gateway_mac([u8; 6])` for explicit gateway MAC configuration, with `Option<[u8; 6]>` stored in config for kernel ARP cache fallback at `start()` time - **8.3** `LoopbackBackend` implementing all 9 `PacketBackend` methods (send_frame, recv_frames, mac_address, backend_name, set_promiscuous, is_promiscuous, set_allmulticast, is_allmulticast, rx_readiness) - **8.4** 8 unit tests covering all LoopbackBackend methods (roundtrip, empty recv, mac, name, promiscuous, allmulticast, multiple frames ordering, rx_readiness) ## Tests All 748 workspace tests pass (0 failures). The 40 dpdk-stdlib-quic tests include: - 8 LoopbackBackend integration tests (`tests/loopback_backend.rs`) - 3 provider initialization tests (`tests/provider_init.rs`) - 29 unit tests across modules (clock, ecn, error, frame, path_handle, rx, tx) ## Tradeoffs None — this is a documentation-only change marking already-implemented work as complete. --------- Co-authored-by: Agent Router <agent@agent-router.dev>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Restructure README to be more accessible and informative:
Aimed at developers who want to understand what this is, why it
exists, and how to use/contribute without reading agent docs.
https://claude.ai/code/session_01XHuW8tZS65TFqx1FV4wmiY