Commit Graph

298 Commits

Author SHA1 Message Date
Adrien Gallouët
79688de09e Use lowbw scheduler and clean old unused stuff
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-11-29 22:21:07 +00:00
Adrien Gallouët
b5289a8472 Re-estimate latmin when rate is low
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-11-09 17:57:11 +00:00
Adrien Gallouët
ff55d6a173 New scheduler and cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-11-08 17:40:38 +00:00
Adrien Gallouët
ccaac70a04 Simplify rate as MUD_STAT_TIMEOUT is const
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-11-05 11:14:43 +00:00
Adrien Gallouët
7f5c063ffb Allow bad use of mud_get_fd()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-10-21 08:37:53 +00:00
Adrien Gallouët
1e7e8722ee Compute map directly
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-10-18 08:15:31 +00:00
Adrien Gallouët
2dd31a5f96 Trust compilers and cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-10-09 16:55:42 +00:00
Adrien Gallouët
5b9b3d5709 Remove duplicated checks
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-08-16 12:58:46 +00:00
Adrien Gallouët
22e065e5cb Add mud_sync()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-06-15 10:05:42 +00:00
Adrien Gallouët
03be90b606 Update mud.h
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-06-05 13:56:15 +00:00
Adrien Gallouët
6ebda9368c Add mud_get_sync_elapsed_msec()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-06-03 18:00:17 +00:00
Adrien Gallouët
964672adb5 Be nice with old good path
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-05-05 19:34:52 +00:00
Adrien Gallouët
1988ee1d78 Rework internal proto
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-05-05 12:54:22 +00:00
Adrien Gallouët
3668a2f9af Don't send packets to DOWN paths
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-05-05 12:50:31 +00:00
Adrien Gallouët
db7f48890a Fix mud_update_map()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-05-05 12:49:53 +00:00
Adrien Gallouët
c8d949733a Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-27 15:29:42 +00:00
Adrien Gallouët
81afe325f6 Update ratemax softly
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-26 20:20:28 +00:00
Adrien Gallouët
04fc9b2894 Force update when creating a new path
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-25 20:58:18 +00:00
Adrien Gallouët
d896f9ff3c Don't touch a path if we don't have to
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-25 20:54:33 +00:00
Adrien Gallouët
c8b07c6edb Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-25 20:52:39 +00:00
Adrien Gallouët
9f38b7b6e0 Compute a pseudo ratevar to help bw probing
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-25 09:10:01 +00:00
Adrien Gallouët
ba9bef6268 Add a new rate based scheduler
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-23 20:52:31 +00:00
Adrien Gallouët
b2e4bc1b8f Compute latency-smoothed maximum rate
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-21 12:25:52 +00:00
Adrien Gallouët
a7044db87c Compute rate
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-18 16:35:27 +00:00
Adrien Gallouët
8e2b35525c Remove MUD_EPOCH and compute durations modulo 2^48
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-18 09:54:52 +00:00
Adrien Gallouët
875533a65f Recover lost connection slightly faster
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-07 16:43:46 +00:00
Adrien Gallouët
1f25f12e4a Compute rttvar for the next voip scheduler
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-06 16:46:09 +00:00
Adrien Gallouët
7fde67f3d3 Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-06 10:11:00 +00:00
Adrien Gallouët
2f304c1afc Set state to MUD_UP by default
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-05 15:52:29 +00:00
Adrien Gallouët
e0d7494a71 Don't inline
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-05 09:07:28 +00:00
Adrien Gallouët
1e9bb89764 Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-04 08:58:10 +00:00
Adrien Gallouët
e7851fa29d Compute RTT for each internal packet
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-04 08:52:01 +00:00
Adrien Gallouët
0c11ce5785 Add number of packets per path
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-03 09:02:02 +00:00
Adrien Gallouët
6d5738b931 Don't try to send something without path
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-02 08:50:42 +00:00
Adrien Gallouët
dcfaca04a5 Limit number of paths
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-04-02 08:44:59 +00:00
Adrien Gallouët
c63c94d7c8 Simplify MTU setup and allow big packets
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-26 13:03:27 +00:00
Adrien Gallouët
09acdee3e1 Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-25 14:48:59 +00:00
Adrien Gallouët
c2eb3e4095 Refuse truncated packets
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-25 14:22:52 +00:00
Adrien Gallouët
54bac4fcf6 Don't produce/reply to bad pubkeys
AFAIK, this should be useless as libsodium use constant-time code
But small order are rejected and so we don't want to produce one.

This commit does not improve security.
2018-03-19 22:28:03 +00:00
Adrien Gallouët
9a626f2889 Reset mtu in all paths
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-17 13:51:54 +00:00
Adrien Gallouët
c6fbe52fbd Use binded port in local_addr
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-16 21:07:25 +00:00
Adrien Gallouët
a505e22844 Try to compute the size of ctrl
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-16 20:05:05 +00:00
Adrien Gallouët
40be483e2b Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-16 08:12:33 +00:00
Adrien Gallouët
fd48ff08b9 Use LSB to mark mud packets
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-15 21:14:28 +00:00
Adrien Gallouët
0c037c5831 Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-15 20:42:51 +00:00
Adrien Gallouët
8b9fc86d12 Fix stats on links with latency > MUD_STAT_TIMEOUT
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-15 08:12:41 +00:00
Adrien Gallouët
66b8a7323d Code cleanup
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-14 22:47:33 +00:00
Adrien Gallouët
865c6aa640 Compute MTU only with usable paths
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-14 22:36:58 +00:00
Adrien Gallouët
2c5eb574f9 Add a specific timer for mtu probing
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-14 18:47:43 +00:00
Adrien Gallouët
ef319d2153 Add mud_set_keyx_timeout()
Signed-off-by: Adrien Gallouët <adrien@gallouet.fr>
2018-03-14 06:54:38 +00:00