Adrien Gallouët
|
71d16f25ff
|
Don't use a static mtid
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-03-26 22:31:33 +00:00 |
|
Adrien Gallouët
|
c426cef08b
|
Fix non little endian arch
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-03-25 20:43:54 +00:00 |
|
Adrien Gallouët
|
bda2c6eaa7
|
Wait a few packets before computing the loss
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-03-07 15:13:37 +00:00 |
|
Adrien Gallouët
|
d68aee8249
|
Allow a different loss_limit per path
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-03-07 14:27:47 +00:00 |
|
Adrien Gallouët
|
2f966bb365
|
Fix fixed rate
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-02-29 09:57:08 +00:00 |
|
Adrien Gallouët
|
4a7740f70f
|
Fix beat conf
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-02-21 16:37:04 +00:00 |
|
Adrien Gallouët
|
5be4096452
|
Add a stupid dynamic rate limiter
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-02-05 14:00:41 +00:00 |
|
Adrien Gallouët
|
3747aa7abd
|
Add a global mud_set_conf()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-16 17:34:31 +00:00 |
|
Adrien Gallouët
|
e3eb1f96a5
|
Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-11 09:52:39 +00:00 |
|
Adrien Gallouët
|
2f5e346532
|
Add keepalive
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-11 09:08:04 +00:00 |
|
Adrien Gallouët
|
a9fdd76fa3
|
Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-10 09:56:13 +00:00 |
|
Adrien Gallouët
|
0a9a139409
|
Fix a bad typo
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-09 22:25:00 +00:00 |
|
Adrien Gallouët
|
2811e2383f
|
Compute rate/loss only when mtu is ok
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-09 17:39:42 +00:00 |
|
Adrien Gallouët
|
ed6cc0e6f6
|
Degrade lossy path
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-08 14:35:25 +00:00 |
|
Adrien Gallouët
|
487474a80e
|
Update loss computing
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-08 14:34:47 +00:00 |
|
Adrien Gallouët
|
edb86d27ad
|
Update aegis256
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-08 13:10:39 +00:00 |
|
Adrien Gallouët
|
c0d2118a77
|
Use fixed rate by default
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-07 12:44:29 +00:00 |
|
Adrien Gallouët
|
70e80f76e0
|
Add a fixed rate mode
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-07 11:07:13 +00:00 |
|
Adrien Gallouët
|
e4092ebebd
|
Cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-07 10:24:58 +00:00 |
|
Adrien Gallouët
|
2330e6470e
|
Remove useless conversions
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-07 10:24:01 +00:00 |
|
Adrien Gallouët
|
7d59eedd39
|
Sanitize mud_decrypt_msg()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-07 10:01:15 +00:00 |
|
Adrien Gallouët
|
c536bef802
|
Force MTU sync
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-04 16:15:18 +00:00 |
|
Adrien Gallouët
|
23a5cdfe31
|
Remove probe, let the system take its time
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-04 13:00:29 +00:00 |
|
Adrien Gallouët
|
6894867b9f
|
Limit tx.rate to tx_max_rate...
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-04 12:38:14 +00:00 |
|
Adrien Gallouët
|
8f11ffa5a4
|
Slow down internal rate on dead paths
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-04 12:33:25 +00:00 |
|
Adrien Gallouët
|
1f18b731c4
|
Prepare the way before you run away
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-04 12:08:54 +00:00 |
|
Adrien Gallouët
|
e3689d29b7
|
Return MTU probing status in mud_update()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-03 21:50:59 +00:00 |
|
Adrien Gallouët
|
2a812f332f
|
Update aegis256
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-03 15:55:07 +00:00 |
|
Adrien Gallouët
|
b16a754713
|
Update LICENSE
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-03 15:51:02 +00:00 |
|
Adrien Gallouët
|
b6238c939e
|
Count backup path
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-03 15:15:29 +00:00 |
|
Adrien Gallouët
|
6e8a3cef1e
|
Update protocol
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-03 13:53:08 +00:00 |
|
Adrien Gallouët
|
e56abf5eaa
|
Reimplement backup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-02 19:27:57 +00:00 |
|
Adrien Gallouët
|
6b1881e94c
|
Send msg_timeout to the server
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-02 17:43:54 +00:00 |
|
Adrien Gallouët
|
7ff46e742b
|
Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-02 15:07:28 +00:00 |
|
Adrien Gallouët
|
a87a277701
|
Cleanup path after a 1min silence
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2020-01-02 15:04:40 +00:00 |
|
Adrien Gallouët
|
ef41aa28ce
|
Update now after mud_send_msg()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-31 15:09:04 +00:00 |
|
Adrien Gallouët
|
d5322e187d
|
Use EAFNOSUPPORT when necessary
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-28 22:05:27 +00:00 |
|
Adrien Gallouët
|
0a2b23bb88
|
Fix (and refactor) keyx with low timeout
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-28 13:24:21 +00:00 |
|
Adrien Gallouët
|
3a30c63eff
|
God doesn't care about endianness
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-28 11:57:00 +00:00 |
|
Adrien Gallouët
|
9c27f92f9d
|
Remove old keyx stuff
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-27 17:29:58 +00:00 |
|
Adrien Gallouët
|
9e3e2b358b
|
Use the full 8bits range for loss
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-26 16:56:59 +00:00 |
|
Adrien Gallouët
|
a6acb8736c
|
Increase MUD_MSG_SENT_MAX
This allows to support paths of <=500ms as written in
the glorytun README.
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-26 15:02:53 +00:00 |
|
Adrien Gallouët
|
3d4e3a8fbe
|
Burst shouldn't depend on MUD_MSG_TIMEOUT
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-26 15:01:51 +00:00 |
|
Adrien Gallouët
|
97407b2527
|
Reintroduce failover (and make it a little faster)
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-26 14:57:08 +00:00 |
|
Adrien Gallouët
|
dc22121739
|
Compute a global window for all paths
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-24 14:18:27 +00:00 |
|
Adrien Gallouët
|
06c0945ac5
|
Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-24 12:49:15 +00:00 |
|
Adrien Gallouët
|
2b19c80ae3
|
Fix tx_max_rate
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-24 12:33:05 +00:00 |
|
Adrien Gallouët
|
21b15727c5
|
Don't wait unnecessarily to compute RTT
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-23 10:57:50 +00:00 |
|
Adrien Gallouët
|
569e712248
|
Probe MTU before sending real packets
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-22 01:46:12 +00:00 |
|
Adrien Gallouët
|
8c033a12a1
|
Fix build
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-17 19:47:25 +00:00 |
|
Adrien Gallouët
|
6b58ebb993
|
Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-17 16:12:16 +00:00 |
|
Adrien Gallouët
|
7179de77da
|
Small useless opt
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-17 16:08:25 +00:00 |
|
Adrien Gallouët
|
e6a8c8e013
|
Compute loss with packets (not bytes)
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-17 14:03:59 +00:00 |
|
Adrien Gallouët
|
137971e957
|
Apply TC on all packets
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-16 15:59:34 +00:00 |
|
Adrien Gallouët
|
9abb50a7e2
|
Clear path->msg on reset
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-16 10:40:11 +00:00 |
|
Adrien Gallouët
|
2766a94e3b
|
Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-16 09:43:36 +00:00 |
|
Adrien Gallouët
|
c420e9494a
|
First draft on the new protocol
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-15 21:30:44 +00:00 |
|
Adrien Gallouët
|
407db114c6
|
Use mem*() when touching sin{,6}_port
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-12-12 09:50:04 +00:00 |
|
Adrien Gallouët
|
0537b01d4b
|
This commit doesn't exist
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-11-19 11:56:36 +00:00 |
|
Adrien Gallouët
|
79dc61e7dc
|
Decrease rate instead of degrading the path
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-11-05 17:52:18 +00:00 |
|
Adrien Gallouët
|
67a660117e
|
Setup rate_max
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-11-05 10:43:00 +00:00 |
|
Adrien Gallouët
|
831714e07f
|
Force update after mud_reset_path()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-11-04 15:01:31 +00:00 |
|
Adrien Gallouët
|
f047af8148
|
Remove useless call to mud_reset_path()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-11-04 15:00:37 +00:00 |
|
Adrien Gallouët
|
8948d00545
|
Reorder
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-11-04 15:00:03 +00:00 |
|
Adrien Gallouët
|
2e8a13f135
|
Clear deleted paths
This should fix #5
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-11-04 13:50:02 +00:00 |
|
Adrien Gallouët
|
f647519e1c
|
Take the time to check loss before enabling a path
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-10-23 14:15:33 +00:00 |
|
Adrien Gallouët
|
94ae912138
|
Update mud.h
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-10-23 13:28:27 +00:00 |
|
Adrien Gallouët
|
e3b56376dc
|
Naively degrade path with loss > loss_limit
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-10-22 15:54:48 +00:00 |
|
Adrien Gallouët
|
8c88934763
|
Update aegis256
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-10-22 13:12:27 +00:00 |
|
Adrien Gallouët
|
d0dc6076c8
|
Add mud_get_bad()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-10-15 14:11:07 +00:00 |
|
Adrien Gallouët
|
842dadad94
|
Call unmapv4 only when it is necessary
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-10-15 12:21:38 +00:00 |
|
Adrien Gallouët
|
d086d7869d
|
Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-10-14 13:50:03 +00:00 |
|
Adrien Gallouët
|
d4d97177eb
|
Fix test.c
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-10-14 13:50:03 +00:00 |
|
Adrien Gallouët
|
7254e15a02
|
Update aegis256
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-10-08 08:51:09 +00:00 |
|
Adrien Gallouët
|
ee4b484a38
|
Get loss_rx from peer
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-10-07 14:01:27 +00:00 |
|
Adrien Gallouët
|
9a378aea99
|
Update aegis256
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-10-05 15:21:07 +00:00 |
|
Adrien Gallouët
|
3db88eb23c
|
Add .gitignore
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-10-05 15:15:40 +00:00 |
|
Adrien Gallouët
|
c4d2ef7d97
|
Add a simple test.c with a Makefile
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-10-05 14:36:31 +00:00 |
|
Adrien Gallouët
|
00f18733d8
|
Compute loss for each path
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-10-05 09:46:14 +00:00 |
|
Adrien Gallouët
|
4d14689ff1
|
Update aegis256
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-09-24 09:56:57 +00:00 |
|
Adrien Gallouët
|
027196026b
|
Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-09-20 08:19:43 +00:00 |
|
Adrien Gallouët
|
b59ab48407
|
Update rate every ms
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-09-19 08:12:26 +00:00 |
|
Adrien Gallouët
|
181e22011d
|
Update README.md
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-09-17 08:28:16 +00:00 |
|
Adrien Gallouët
|
0397bc63e7
|
Import and use aegis256
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-09-17 08:21:25 +00:00 |
|
Adrien Gallouët
|
a6befda070
|
Use CLOCK_REALTIME if available
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-09-17 08:07:56 +00:00 |
|
Adrien Gallouët
|
5aeaf9e512
|
Revert "Block on sendmsg() for now"
This reverts commit 2c9d971437.
|
2019-09-16 10:37:19 +00:00 |
|
Adrien Gallouët
|
2c9d971437
|
Block on sendmsg() for now
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-09-09 16:08:21 +00:00 |
|
Adrien Gallouët
|
6623be1e69
|
Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-09-03 16:56:21 +00:00 |
|
Adrien Gallouët
|
67a7c91220
|
Remove old code
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-07-22 13:07:50 +00:00 |
|
Adrien Gallouët
|
a91f8e2971
|
DEGRADED/DOWN paths are useless server side
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-07-19 13:20:26 +00:00 |
|
Adrien Gallouët
|
b2ff2b6276
|
Use an adjusted monotonic clock
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-07-19 12:55:55 +00:00 |
|
Adrien Gallouët
|
0ae6656bdb
|
Remove down paths after 10s of inactivity
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-07-17 14:59:28 +00:00 |
|
Adrien Gallouët
|
14893f9ea9
|
Move MUD_PATH_MAX in mud.h
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-07-17 14:29:08 +00:00 |
|
Adrien Gallouët
|
06e165e664
|
Explicit conversions
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-04-03 09:25:22 +00:00 |
|
Adrien Gallouët
|
a2106c248d
|
Remove useless code
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-04-01 15:37:28 +00:00 |
|
Adrien Gallouët
|
7a5bb0690e
|
Remove mud_sync()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-03-09 15:03:47 +00:00 |
|
Adrien Gallouët
|
f67a5b4fed
|
Don't wake up without paths
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-03-09 14:37:32 +00:00 |
|
Adrien Gallouët
|
eab4cdb1ad
|
Update LICENSE
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-03-05 21:56:07 +00:00 |
|
Adrien Gallouët
|
bb60f5f15f
|
Merge MTU probing with failover
This commit also fixes MTU probing in some corner cases.
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-03-05 11:05:36 +00:00 |
|
Adrien Gallouët
|
adf3bf6710
|
Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
|
2019-02-15 19:31:08 +00:00 |
|