You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Evgeny
61fee27478
congestion: burst-based BW measurement + adaptive inflight (slow start/cong avoidance/loss response)
New features:
- get_time_us() in lib/u_async.c/h for µs-precision timing
- Burst measurement (ETCP_SECTION_MEAS_TS 0x07, MEAS_RESP 0x08, FILLER 0x09)
- 12 MTU packets sent at line rate, receiver measures inter-packet gaps
- Burst triggered when link saturated + min 500ms interval
- Result: measured BW -> bandwidth for shaper, burst_target_bdp for window cap
- 3-phase adaptive inflight in link_stats_timer_cb:
- Slow start: windows doubles each RTT, exits on loss/RTT spike/threshold
- Congestion avoidance: additive increase, proportional RTT shrink, multiplicative loss shrink
- Burst target cap: inflight_lim <= burst_target_bdp * 1.1
- Dynamic optimal_inflight = sum(link->inflight_lim_bytes), recalculated on change
- Adaptive win_timebase = rtt/2 (was hardcoded 10ms)
Fixes:
- dummynet.c: shaper formula fixed (80000 -> 80)
- dummynet.c: queue_data_put call fixed (3 args -> 2)
- etcp.c: SIZE ERROR format string (missing log_name argument)
- etcp_request_pkt: FILLER leaves room for PAYLOAD overhead
Tests:
- test_etcp_congestion.c: single-threaded, 5-phase BW/delay/loss test
- sender + receiver + dummynet in one uasync
- CSV metrics output every 100ms
- All 29 existing tests pass
|
5 months ago |
|
.opencode
|
Remove accidentally committed binaries and temp files
|
5 months ago |
|
doc
|
update documentation
|
5 months ago |
|
lib
|
congestion: burst-based BW measurement + adaptive inflight (slow start/cong avoidance/loss response)
|
5 months ago |
|
net_emulator
|
Add name parameter to uasync_set_timeout for timer identification in dumps
|
5 months ago |
|
src
|
congestion: burst-based BW measurement + adaptive inflight (slow start/cong avoidance/loss response)
|
5 months ago |
|
tests
|
congestion: burst-based BW measurement + adaptive inflight (slow start/cong avoidance/loss response)
|
5 months ago |
|
tinycrypt
|
…
|
|
|
tools
|
fix etcpmon keyboard: move Tab/Enter/Esc from WndProc to message loop pre-translate
|
5 months ago |
|
.gitignore
|
Update .gitignore to prevent accidental binary commits
|
5 months ago |
|
AGENTS.md
|
update documentation
|
5 months ago |
|
INSTALL.autotools
|
…
|
|
|
Makefile.am
|
…
|
|
|
build.bat
|
1
|
7 months ago |
|
build.sh
|
…
|
|
|
build_bsd_full.sh
|
1
|
5 months ago |
|
build_direct.sh
|
…
|
|
|
build_full.bat
|
1
|
7 months ago |
|
build_linux_full.sh
|
1
|
7 months ago |
|
check.bat
|
…
|
|
|
configure.ac
|
1
|
7 months ago |
|
filelist.txt
|
+memory check module
|
7 months ago |
|
nat.txt
|
Добавлено поле interface_addr в ETCP_SOCKET и interface_ip/port в BGP_NAT_CHECK_REQ
|
5 months ago |
|
utun.conf.sample
|
NAT: Full Cone (EIM) NAT with ETCP_ID_NAT protocol, per-node routing, and comprehensive test suite
|
5 months ago |
|
utun.exe.manifest
|
…
|
|
|
utun.md
|
Fix: Add bounds/mtu checks, underflow protection and null deref fix for ETCP robustness
|
5 months ago |
|
utun_start.sh
|
…
|
|
|
utun_stop.sh
|
…
|
|
|
utun_stop1.sh
|
…
|
|