docs: update all docs for hard NAT detection + relay wiring
Some checks failed
Mirror to GitHub / mirror (push) Failing after 28s
Build Release Binaries / build-amd64 (push) Failing after 3m36s

- PROGRESS.md: hard NAT Phase A, relay cross-wiring, 588 tests
- ARCHITECTURE.md: hard NAT port prediction diagram + pattern table
- PRD-p2p-direct.md: Phase 8.6 split into a/b/c/d with status
- PRD-hard-nat.md: Phase A done, B signal ready, effort table updated
- PRD-netcheck.md: port_allocation field + probe documented

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Siavash Sameni
2026-04-14 11:33:12 +04:00
parent ec1bdf3cd5
commit 7b4bce69d5
5 changed files with 77 additions and 15 deletions

View File

@@ -34,6 +34,7 @@ pub struct NetcheckReport {
pub gateway: Option<String>,
pub duration_ms: u32,
pub stun_probes: Vec<NatProbeResult>,
pub port_allocation: Option<PortAllocation>,
}
```
@@ -43,6 +44,7 @@ pub struct NetcheckReport {
3. **Port mapping**`acquire_port_mapping()` to detect NAT-PMP/PCP/UPnP
4. **Gateway**`default_gateway()` for the router address
5. **IPv6** — attempt to bind `[::]:0` and send to an IPv6 STUN server
6. **Port allocation**`detect_port_allocation()` probes STUN servers from single socket to classify NAT pattern as PortPreserving/Sequential/Random (feeds into hard NAT prediction)
**Derived fields**:
- `nat_type` / `reflexive_addr` — from `classify_nat()` on STUN probes