docs: update Phase 1/6 status — multi-NIC + virtual devices
This commit is contained in:
@@ -316,6 +316,14 @@ Network-critical components (relibc, kernel, base) have all required commits pre
|
||||
|
||||
### Phase 1: Multi-NIC and Driver Feature Surface
|
||||
|
||||
**Status: 🟡 PARTIALLY COMPLETE (updated 2026-07-09)**
|
||||
|
||||
`Smolnetd::new()` now accepts `Vec<(Fd, EthernetAddress, String)>` —
|
||||
multiple Ethernet adapters with MAC addresses. The single-NIC FIXME
|
||||
in main.rs has been removed (R59).
|
||||
|
||||
**Original plan below:**
|
||||
|
||||
**Goal:** Remove the single-NIC FIXME and give the stack visibility into driver capabilities.
|
||||
|
||||
**Duration:** 3–4 weeks.
|
||||
@@ -689,12 +697,27 @@ validate the stack on real NICs.
|
||||
|
||||
### Phase 6: Forwarding, Virtual Devices, and Advanced Features
|
||||
|
||||
**Status: 🟡 IN PROGRESS (updated 2026-07-09)**
|
||||
|
||||
**Virtual devices status (2026-07-09):**
|
||||
- VLAN: ✅ Parent device integration (R63), tagged frames forwarded to parent.
|
||||
- Bridge: ✅ MAC learning, aging, STP BPDU handling.
|
||||
- TUN: ✅ Scheme interface, event loop wired (R2).
|
||||
- VXLAN/GRE/IPIP: Implemented as device types, not yet functional (require
|
||||
parent device integration — same pattern as VLAN R63 fix).
|
||||
- Bridge: ✅ MAC learning, aging, STP BPDU handling, 5 unit tests
|
||||
- TUN: ✅ Scheme interface, event loop wired (R2)
|
||||
- VXLAN: ✅ Encapsulation/decapsulation, parent forwarding (R64)
|
||||
- GRE: ✅ Encapsulation/decapsulation with key, parent forwarding (R64)
|
||||
- IPIP: ✅ IP-in-IP tunnel, parent forwarding (R64)
|
||||
- Bond: ✅ Round-robin slave forwarding with statistics
|
||||
|
||||
**Remaining VM work:**
|
||||
- VXLAN/GRE/IPIP inbound RX wiring: decapsulated packets need to be
|
||||
re-injected into the parent's RX path (requires `DeviceList` integration
|
||||
at the recv path, currently works only through external `push_received()`)
|
||||
|
||||
**Forwarding status:**
|
||||
- IPv4 forwarding: ✅ through `forward_packets()`
|
||||
- IPv6 forwarding: ⚠️ `forward_packets` only processes IPv4; IPv6 skips
|
||||
to local delivery
|
||||
- IP forwarding toggle: ✅ `sysctl/net/ipv4/ip_forward`
|
||||
|
||||
**Original plan below:**
|
||||
|
||||
|
||||
Reference in New Issue
Block a user