99f14b84c1
C rewrite: phase out std::chrono
2020-07-22 15:45:16 +02:00
3f4e5ee227
congestion: add leaky bucket, not interfaced yet.
2020-07-22 14:08:30 +02:00
c23741bea3
Measure real-time outbound throughput
2020-07-03 18:03:26 +02:00
7b5ffa4d46
Implement loss-based congestion controller
...
Still lacks an outbound bandwidth limiter and outbound actual emission
bitrate, to avoid increasing the available bandwidth when the bandwidth
is not saturated.
2020-07-03 16:13:47 +02:00
15f9625a6d
Only keep track of total packet loss so far
...
Remove the packet loss history for last 128 packets
2020-07-02 20:41:56 +02:00
a08808344e
Measure RTT
2020-06-28 23:29:39 +02:00
c5541d1e79
Split data and control packets
2020-06-26 19:41:55 +02:00
f07f2a853d
Add PacketLossManager
2020-06-23 15:36:49 +02:00
0b8cf0edc1
Tun: reject packets with bad length
...
Those packets are probably packets truncated because the buffer is not
large enough.
2020-06-16 20:24:59 +02:00
79dbf23784
Set tun MTU based on VpnPacket max payload
2020-06-16 18:57:08 +02:00
94f42d08c0
Switch to single connection paradigm, use TLVs.
...
Clean up dramatically the codebase by assuming the server has only a
single connection at any time.
2020-06-15 20:39:25 +02:00
324d156cf3
Redefine VpnPackets as TLV containers
2020-06-12 17:36:55 +02:00
20d0d3fc59
Send packets with timestamp and seqno
2020-06-10 18:49:36 +02:00
5a7b108602
Set arbitrary assumed PMTU at 1460
2020-06-10 16:24:26 +02:00
f89cbb6981
Use new VpnPacket
2020-06-05 17:50:36 +02:00
50d28c0506
Add VpnPacket class
2020-06-05 17:49:12 +02:00
b8bb6d2c5f
Split UdpVpn in -Client and -Server flavour
2020-06-05 16:19:04 +02:00
8b75660bbc
Parse roughly IPv6 header
2020-06-05 16:18:14 +02:00
55ada8abc1
Add class VpnPeer
2020-06-05 16:17:43 +02:00
c728aacb70
Add format_address
2020-06-05 16:17:10 +02:00
a497dade2e
TUN: set flag IFF_NO_PI
2020-06-05 16:13:40 +02:00
0332766f0d
Bring up tun interface upon creation
2020-06-04 13:31:44 +02:00
ba2293e039
Implement basic UdpVpn
2020-06-04 11:47:00 +02:00
c88ee2d6e9
Add debugging constructs
2020-06-04 11:46:35 +02:00
a27e894fc1
TunDevice: separate poll and read
2020-06-04 11:46:09 +02:00
8ec3f20513
Listen to tun and write back
2020-06-03 14:54:26 +02:00
53444e725c
TunDevice: add read/write, cleaner error handling
2020-06-03 14:54:01 +02:00
1f96a34a37
Setup tun device
2020-06-02 13:11:31 +02:00
5c4b52acc6
Initial commit
2020-06-02 11:22:28 +02:00