Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
81e1c34
fix(setup): Some configuration updates and some new tools.
supernomad Mar 10, 2026
0c1d799
fix(xdp): Fixed lints in the xdp::context module.
supernomad Mar 10, 2026
a905b35
fix(xdp): Fixed xdp::frame module and added a SharedFrameBuffer.
supernomad Mar 10, 2026
9971a5a
fix(xdp): Refactor netlink and add checks for checksum offload.
supernomad Mar 10, 2026
9bf3894
fix(xdp): Fixing xdp::ring clippy lints, and ensuring inlining is ena…
supernomad Mar 10, 2026
c0d5003
fix(xdp): Fixing xdp::socket + xdp::umem clippy lints and forwarding …
supernomad Mar 10, 2026
8710b18
fix(xdp): Fixing XDP sync examples to work with forwarded errors on f…
supernomad Mar 10, 2026
22257d8
fix(xdp): Wire in fill queue changes to async impls, and fix missed i…
supernomad Mar 10, 2026
3f9c983
feat(cargo): Updating dependencies and fixing a few issues in Cargo.t…
supernomad Mar 10, 2026
5d0fdf4
docs(rfc): Added RFC's for reference while building out network stack…
supernomad Mar 10, 2026
dd06fd3
feat(net::wire): Added net + net::wire modules and implemented wire t…
supernomad Mar 10, 2026
fb0160b
feat(net::wire): Added ip wire types in net::wire::ip.
supernomad Mar 10, 2026
308e4f8
feat(net::wire): Added in net::wire::arp for managing ARP wire types.
supernomad Mar 10, 2026
d205653
feat(net::wire): Added in ICMP v4/v6 wire types and NDP wire types in…
supernomad Mar 10, 2026
fe4327b
feat(net::wire): Added net::wire::udp for UDP wire types for v4/v6 tr…
supernomad Mar 10, 2026
896f8a5
feat(net::wire): Implemented net::wire::tcp for TCP wire types.
supernomad Mar 10, 2026
69539fb
feat(net::pmtu): Implemented PMTU cache for use across transport prot…
supernomad Mar 10, 2026
35fcb88
feat(net::checksum): Implemented reusable checksumming utilities.
supernomad Mar 10, 2026
a8551ed
feat(net::neighbor): Implemented full E2E neighbor handling across Ar…
supernomad Mar 10, 2026
ffb4ac2
feat(net::fragment): Implemented Ipv4/v6 packet (de)fragmentation.
supernomad Mar 10, 2026
57f9b4d
feat(net::handler): Implemented base ethernet handling in net::handle…
supernomad Mar 10, 2026
ca32729
feat(net::handler): Implemented base IP handling in net::handler::{ip…
supernomad Mar 10, 2026
5e86571
feat(net::handler): Implemented base ICMP handling in net::handler::{…
supernomad Mar 10, 2026
b578d04
feat(net::handler): Implemented base UDP handling in net::handler::udp.
supernomad Mar 10, 2026
de648f6
feat(net::handler): Implemented base TCP handling in net::handler::tcp.
supernomad Mar 10, 2026
8c10760
fix(net): Fixing a few clippy lints.
supernomad Mar 10, 2026
abb1d56
feat(rt): Added initial pass at a local single threaded runtime for w…
supernomad Mar 10, 2026
1e70cc5
feat(examples): A few examples for testing udp/tcp and comparing to t…
supernomad Mar 10, 2026
749a6fb
feat(rt): Added proper waker and task queue to localruntime.
supernomad Mar 10, 2026
0b90667
feat(http): Initial HTTP implementation currently just 0.9
supernomad Mar 13, 2026
3ef8fbf
fix(tcp): Fixing neighbor handling throughout TCP.
supernomad Mar 14, 2026
3d8d767
feat(rfc): Added more proper RFC docs for cross reference.
supernomad Mar 14, 2026
8509404
feat(net::http): Implemented HTTP 1.0/1.1 protocols.
supernomad Mar 14, 2026
bcc3376
fix(tests): Fixing a series of minor gaps and missing tests.
supernomad Mar 14, 2026
7475122
feat(examples): Added pure hyper/tokio example for reference.
supernomad Mar 14, 2026
20cca72
perf(net::checksum): First pass at NEON implementation for checksumming.
supernomad Mar 14, 2026
05bcc5b
perf(net::http): Swap to using memchar crate for SIMD http request/re…
supernomad Mar 14, 2026
d75273d
perf(net): Remove learn_from_traffic from hot path
supernomad Mar 15, 2026
85630d9
perf(net::pmtu): Swap PmtuCache from DashMap to FxHashMap
supernomad Mar 15, 2026
f0dbf83
perf(rt): Fix capacity-wakes guard to check actual free_frames growth
supernomad Mar 15, 2026
39a4987
perf(net::tcp): Replace Vec<Tcb> with FxHashMap for O(1) connection l…
supernomad Mar 15, 2026
dc3715b
perf(net::tcp): Add SendTracker for active-connection tracking in pol…
supernomad Mar 15, 2026
0d12bf1
fix(fmt): Hadn't run cargo fmt in a while.
supernomad Mar 15, 2026
a8c0f56
perf(net::tcp): Rewrite SendTracker with dual-set swap pattern
supernomad Mar 15, 2026
5a82048
perf(net::tcp): Eliminate poll_send per-tick Vec alloc and retain() scan
supernomad Mar 15, 2026
e0fa697
perf(net::tcp): Replace poll_timers Vec allocs with stack SmallVec
supernomad Mar 15, 2026
ea37b76
perf(net::http): Eliminate format!() allocs in flush_headers
supernomad Mar 15, 2026
ff18c06
perf(net::http): Stack-format chunk hex size in write_body
supernomad Mar 15, 2026
1a94bef
docs: Add TCP send path optimization design spec
supernomad Mar 15, 2026
ebeaaa8
deps: Add slab crate for O(1) connection lookup
supernomad Mar 15, 2026
45edc8d
refactor(net::tcp): Replace FxHashMap with Slab for connection lookup
supernomad Mar 15, 2026
47ca0e6
test(net::tcp): Fix tests for slab-based connection lookup
supernomad Mar 16, 2026
d79d673
perf(net::tcp): Fixed up remaining hash usage.
supernomad Mar 16, 2026
78f97b7
fix(clippy): Fixed a missed clippy lint.
supernomad Mar 16, 2026
3ed5d81
feat(net::wire): add IpVersion trait with Ipv4/Ipv6 ZST implementations
supernomad Mar 16, 2026
1cb535e
bench(checksum): add TCP/UDP v4/v6 checksum benchmarks for refactorin…
supernomad Mar 16, 2026
f37b8a9
refactor(checksum): genericize verify functions via IpVersion trait
supernomad Mar 16, 2026
5c251e3
refactor(checksum): genericize compute functions via IpVersion trait
supernomad Mar 16, 2026
73de7bc
refactor(checksum): migrate all call sites to generic checksum functions
supernomad Mar 16, 2026
9bb035c
refactor(checksum): remove v4/v6 wrapper functions, keeping only gene…
supernomad Mar 16, 2026
15f7a5c
bench(tcp): add segment builder benchmarks for refactoring baseline
supernomad Mar 16, 2026
cba8d66
refactor(tcp::segment): genericize segment builder via IpVersion trai…
supernomad Mar 16, 2026
c187ded
bench(tcp): add inbound processing benchmarks for refactoring baseline
supernomad Mar 16, 2026
2cbccfe
refactor(tcp::inbound): split 2341-line inbound.rs into subdirectory …
supernomad Mar 16, 2026
47148fd
refactor(tcp::inbound): genericize process_ipv4/process_ipv6 into pro…
supernomad Mar 16, 2026
26f64d1
docs: add test coverage improvement design spec
supernomad Mar 16, 2026
339fb6a
test(wire/ip): add Display and constant tests for IpProtocol
supernomad Mar 16, 2026
9c3b39f
test(xdp): add Display tests for Error and WouldBlock
supernomad Mar 16, 2026
8040eb9
test(wire): add Display, write_ethernet_header, and mutation tests
supernomad Mar 16, 2026
36884c8
test(wire/ip): add FromStr, Display, std conversion, and SocketAddr t…
supernomad Mar 16, 2026
b4003fd
test(http): add write_hex edge cases
supernomad Mar 16, 2026
95148f4
test(http): add Content-Length and BodyFraming::None body reader tests
supernomad Mar 16, 2026
d89b2db
test(http): add connection buffer and session state tests
supernomad Mar 16, 2026
708823e
test(http/codec): add edge case tests for v1.1, v1.0, and codec dispatch
supernomad Mar 16, 2026
9a199e5
fix(http/codec): resolve unused import warning in v1_1.rs tests
supernomad Mar 16, 2026
e3c5bfe
test(tcp/inbound): add established state coverage for OOO, FIN, dupAC…
supernomad Mar 16, 2026
7c1c9fb
test(tcp/teardown): add coverage for all teardown state transitions
supernomad Mar 16, 2026
637791c
test(tcp/handshake): add syn_received coverage for RST, bad seq, wind…
supernomad Mar 16, 2026
1d872d9
test(tcp/timers): add coverage for delayed ACK, keepalive max, RTO ba…
supernomad Mar 16, 2026
b59e18b
test(tcp/segment): add coverage for RST, SYN, SYN-ACK, ACK builders
supernomad Mar 16, 2026
3b9d2b9
test(udp): add multi-fragment checksum verification tests
supernomad Mar 16, 2026
be91624
test(tcp/state): add exhaustive is_synchronized and is_remote_closed …
supernomad Mar 16, 2026
0d93d99
test(tcp/validate): add segment validation edge case tests
supernomad Mar 16, 2026
2413053
test(tcp/syn_sent): add option negotiation and simultaneous open tests
supernomad Mar 16, 2026
77edb3f
test(tcp/listener): add listen/unlisten lifecycle tests
supernomad Mar 16, 2026
ab98fd8
test(tcp/handler): add connection insert/remove/lookup tests
supernomad Mar 16, 2026
642dcce
test(wire/ip): add IpVersion trait implementation tests for v4 and v6
supernomad Mar 16, 2026
b6d9d2e
test(socket/tcp): add accessor and setter round-trip tests
supernomad Mar 16, 2026
1b1e993
test(socket/udp): add accessor and close lifecycle tests
supernomad Mar 16, 2026
fc9df4a
test(fragment/transport,pkt,tcb,pmtu): add pure unit tests for Phase 1A
supernomad Mar 16, 2026
99cd9ea
fix(fragment/pkt): remove redundant FrameBuffer import in tests
supernomad Mar 16, 2026
9073014
test(xdp/frame): add SharedFrameBuffer unit tests
supernomad Mar 16, 2026
b7a3e18
test(rt/waker): add MainWaker and task_queue_waker lifecycle tests
supernomad Mar 16, 2026
82536d6
test(wire/arp): add ArpFrame and ArpPacket round-trip tests
supernomad Mar 16, 2026
889d72e
test(wire/ndp): add NdpNsFrame/NdpNaFrame round-trip and constant tests
supernomad Mar 16, 2026
5446862
test(checksum/common): add sum_words, fold_checksum, and carry edge c…
supernomad Mar 16, 2026
221756d
test(xdp/map): add unit tests for Map wrapper with null pointer
supernomad Mar 16, 2026
5966a29
test(neighbor/handler): add offload, MAC, IPv6 local address, and loo…
supernomad Mar 16, 2026
c2f5cdd
test(tcp/segment): add IPv6 segment building tests and mismatched AF …
supernomad Mar 16, 2026
8148336
test(wire/tcp): add seq_le/seq_lt equality edge cases and SACK block …
supernomad Mar 16, 2026
16e0a0d
test(tcp): add stateful TCP handler tests for teardown, persist, time…
supernomad Mar 16, 2026
ea59180
test(phase3): add async/future, HTTP codec, and socket lifecycle tests
supernomad Mar 16, 2026
6e19ea0
test(rt/xdp): add Phase 4 integration-adjacent unit tests
supernomad Mar 16, 2026
753c994
fix(clippy): Fixed a few clippy lints.
supernomad Mar 16, 2026
e805808
docs: add multi-threaded runtime design spec
supernomad Mar 17, 2026
7a41ffe
docs: add multi-threaded runtime implementation plan
supernomad Mar 17, 2026
6ee9232
feat(xdp): add GetQueueCount and QueueIdOutOfRange error variants
supernomad Mar 17, 2026
aded82b
feat(bpf): replace round-robin with rx_queue_index routing
supernomad Mar 17, 2026
2aa752e
feat(xdp): register_socket uses explicit queue ID, remove .bss/num_socks
supernomad Mar 17, 2026
b2ab55d
fix(rt): deallocate RuntimeContext in ContextDropGuard::drop
supernomad Mar 17, 2026
c30bafb
fix(rt): wrap pin_core when queue_id exceeds core count
supernomad Mar 17, 2026
bb69e5c
feat(netlink): add get_queue_count via ethtool CHANNELS_GET
supernomad Mar 17, 2026
2580431
feat(rt): add LocalRuntime::new_worker constructor for multi-threaded…
supernomad Mar 17, 2026
b0327ac
feat(xdp): derive Clone for UmemBuilder
supernomad Mar 17, 2026
1aa17c3
feat(rt): add Runtime and RuntimeBuilder with two-phase setup
supernomad Mar 17, 2026
ea502dc
test(rt): add integration tests for multi-threaded Runtime
supernomad Mar 17, 2026
055592f
fix(netlink): fix get_queue_count parsing broken by neli misparse
supernomad Mar 17, 2026
97a27ea
fix(netlink): correct CHANNELS_GET command and attribute IDs
supernomad Mar 17, 2026
1854c37
del(xdp::futures): Removed the experimental futures module.
supernomad Mar 17, 2026
d96af36
docs(rfc): Added HTTP2 RFC to support it:
supernomad Mar 17, 2026
a7bcb30
docs: add async TX completion drain spec and implementation plan
supernomad Mar 17, 2026
f43d097
perf(rt): make TX completion drain non-blocking for multi-queue scaling
supernomad Mar 17, 2026
c796763
fix(rt): kick kernel TX after submitting frames to TX ring
supernomad Mar 17, 2026
126a360
perf(neighbor): replace DashMap with FxHashMap in NeighborHandler
supernomad Mar 17, 2026
4926f2e
perf(tcp): cache resolved MAC address in TCB to avoid per-segment nei…
supernomad Mar 17, 2026
2ba0d88
fix(tcp): seed MAC cache at connection creation and in timer paths
supernomad Mar 17, 2026
2d0c4df
fix(misc): Some minor misc changes.
supernomad Mar 17, 2026
438a35d
feat(neighbor): add NeighborUpdate struct for cross-queue broadcast
supernomad Mar 17, 2026
963ac45
feat(neighbor): make handle_arp return Option<NeighborUpdate>
supernomad Mar 17, 2026
2ca56df
feat(neighbor): make handle_ndp return Option<NeighborUpdate>
supernomad Mar 17, 2026
5c3ab81
feat(neighbor): add broadcast infrastructure to NeighborHandler
supernomad Mar 17, 2026
b54101e
test(neighbor): add tests for apply_update and broadcast
supernomad Mar 17, 2026
ebdb900
feat(rt): wire neighbor broadcast channels into LocalRuntime and Runtime
supernomad Mar 17, 2026
1d10c95
fix(neighbor): use pub(crate) for methods accepting NeighborUpdate to…
supernomad Mar 17, 2026
b4483a5
fix(net::tcp): Removed erroneous mac address cached at TCB.
supernomad Mar 17, 2026
9fbcb4c
docs(misc): Added a bunch of doc comments and minor cleanup.
supernomad Mar 17, 2026
4b763e0
fix(netlink::ethtool): Fixed a bad unit test.
supernomad Mar 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
{
"enabledPlugins": {
"superpowers@claude-plugins-official": true
},
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit|MultiEdit",
"hooks": [
{
"type": "command",
"command": "bash -c 'cd \"$PWD\" && if [ -f Cargo.toml ]; then cargo fmt 2>/dev/null || echo \"Cargo fmt not available\"; fi'",
"timeout": 30
}
]
}
]
}
}
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,8 @@
.terraform/
.terraform.lock.hcl
*.tfstate*
*.data
*.data.old
*.perf
*.pub
local.tfvars
1 change: 1 addition & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
{
"rust-analyzer.cargo.features": "all",
"rust-analyzer.check.features": "all",
"remote.autoForwardPortsFallback": 0,
}
Loading
Loading