Adam Ierymenko
|
88bdb81791
Keep track of basic aliveness for peers regardless if direct or indirect connectivity and use this for multicast propagation. Also consolidate adding of active bridges via the same functor as regular multicast next hops.
|
11 anni fa |
Adam Ierymenko
|
c30f9832b0
Packet decoder work for EXT_FRAME for bridging - GitHub issue #68
|
11 anni fa |
Adam Ierymenko
|
aee742e767
More toward GitHub issue #56
|
11 anni fa |
Adam Ierymenko
|
c9294c1a78
Prevent recursive transit of ZeroTier packets, toward GitHub issue #56
|
11 anni fa |
Adam Ierymenko
|
b117ff5435
Probable fix for GitHub issue #63 - do not unite() if either path is TCP, since doing so can result in asymmetric failed NAT-t over UDP if one side has a firewall that permits outgoing UDP but not incoming.
|
11 anni fa |
Adam Ierymenko
|
119ef5ecbf
More logic cleanup and some documentation / comment improvements.
|
11 anni fa |
Adam Ierymenko
|
8fb442d81a
Yet more cleanup to TCP logic, this time adding a master switch and adding UDP preference in send().
|
11 anni fa |
Adam Ierymenko
|
73153b89b4
Some cleanup, and use best (not first) UDP addresses for NAT-t VERB_RENDEZVOUS computation.
|
11 anni fa |
Adam Ierymenko
|
a8c12369fd
More tweaks to TCP logic for GitHub issue #60
|
11 anni fa |
Adam Ierymenko
|
28a6d328a5
Some adjustments to TCP logic for GitHub issue #60
|
11 anni fa |
Adam Ierymenko
|
fe85426df6
A few more tweaks to TCP failover... seems to be switching back and forth pretty well now!
|
11 anni fa |
Adam Ierymenko
|
c96d3ebf8c
Such ping logic. So edge case.
|
11 anni fa |
Adam Ierymenko
|
81e5690410
More tweaks to TCP failover logic. Such edge case.
|
11 anni fa |
Adam Ierymenko
|
700a450806
More tweaks to algorithm for determining when to fail over to TCP, and stop supernodes from resynchronizing unless explicitly ordered.
|
11 anni fa |
Adam Ierymenko
|
0e1fc06a6f
The remove paths on send fail thing in Peer.cpp was not well thought out, and there is no point in mallocing the TCP write buffer.
|
11 anni fa |
Adam Ierymenko
|
f13493edb2
Oops... turns out we need to differentiate incoming from outgoing TCP and indeed learn incoming TCP paths. Otherwise the recipient of a TCP connection does not know to reply via TCP! Heh.
|
11 anni fa |
Adam Ierymenko
|
8e587ae481
Clean dead paths from peers.
|
11 anni fa |
Adam Ierymenko
|
9c68a343f6
Reduce some TRACE noise.
|
11 anni fa |
Adam Ierymenko
|
2ac56fd120
Fix TCP connection accumulation problem, still having issues with TCP tunneling.
|
11 anni fa |
Adam Ierymenko
|
e6b23059ac
Change the way TCP failover is invoked.
|
11 anni fa |
Adam Ierymenko
|
04169b5150
If I want it to pick the first, actually picking the first is helpful.
|
11 anni fa |
Adam Ierymenko
|
daaec84c6b
Add TCP channel support for supernode list, make Peer pick the first path if all paths are equally dead.
|
11 anni fa |
Adam Ierymenko
|
4e26ade2df
Fix deadlock in refactored code.
|
11 anni fa |
Adam Ierymenko
|
8d3eb1a258
A few renamings to be consistent.
|
11 anni fa |
Adam Ierymenko
|
33ad3deaee
Builds with new Path code.
|
11 anni fa |
Adam Ierymenko
|
ba3f04deed
Work in progress: refactoring paths, adding TCP fallback.
|
11 anni fa |
Adam Ierymenko
|
45e823d27c
Reworking of paths in Peer work-in-progress, and TCP connect support in SocketManager. Also add FD_SETSIZE checking for the default select implementation of sockets.
|
11 anni fa |
Adam Ierymenko
|
abc82d6a52
IPC changes and SocketManager changes all build!
|
11 anni fa |
Adam Ierymenko
|
0b75992737
Everything but the local config bus... blech.
|
11 anni fa |
Adam Ierymenko
|
b5c3a92be2
Boring stuff: update dates in copyrights across all files.
|
11 anni fa |