Adam Ierymenko
|
4e4fd51117
boring doc stuff
|
9 gadi atpakaļ |
Adam Ierymenko
|
d6f0f1a82a
Use network user ptr in lookup for Ethernet frame handling to eliminate map lookup.
|
9 gadi atpakaļ |
Adam Ierymenko
|
83ef98a9dc
Add a network-associated user ptr in API.
|
9 gadi atpakaļ |
Adam Ierymenko
|
b3e3d4cacc
Instead of using binary packet comparison, add a callback to the API to explicitly check whether paths should be used. Check in with this callback (if present) when learning new paths or sending initial packets.
|
9 gadi atpakaļ |
Adam Ierymenko
|
2cc50bdb10
Try bringing back TTL escalation -- may help with Docker (IP-MASQ) type NAT
|
9 gadi atpakaļ |
Adam Ierymenko
|
3e22fee842
Integrate deferred background processing into main OneService implementation.
|
9 gadi atpakaļ |
Adam Ierymenko
|
8ef4edebbf
Deferred decode for HELLO to prevent HELLOcalypse under high load of new peers.
|
9 gadi atpakaļ |
Adam Ierymenko
|
a994573a43
Eliminate some more dead code. We may do path trust, but not like that.
|
9 gadi atpakaļ |
Adam Ierymenko
|
16bc3e0398
Factor out RemotePath subclass of Path -- no longer needed, just cruft.
|
9 gadi atpakaļ |
Adam Ierymenko
|
5ff7733f84
More plumbing of cluster status.
|
9 gadi atpakaļ |
Adam Ierymenko
|
57e29857cf
Cluster work -- integrating with the rest of the code.
|
9 gadi atpakaļ |
Adam Ierymenko
|
cae58f43f1
More World stuff, and mkworld.
|
9 gadi atpakaļ |
Adam Ierymenko
|
1b2cac0cc5
Trim some cruft that is not used and probably never would be.
|
9 gadi atpakaļ |
Adam Ierymenko
|
d3f29d09e8
Plumbing through circuit test stuff.
|
9 gadi atpakaļ |
Adam Ierymenko
|
a3db7d0728
Refactor: move network COMs out of Network and into Peer in prep for tightening up multicast lookup and other things.
|
9 gadi atpakaļ |
Adam Ierymenko
|
f69454ec98
(1) Make ZT_ naming convention consistent (get rid of ZT1_), (2) Make local interface a full sockaddr_storage instead of an int identifier, which turns out to be better for multi-homing and other uses.
|
9 gadi atpakaļ |
Adam Ierymenko
|
367ffde00c
Plumb through localInterfaceId to track local interfaces corresponding with remote addresses.
|
9 gadi atpakaļ |
Adam Ierymenko
|
f6ced547be
Dead code removal.
|
9 gadi atpakaļ |
Adam Ierymenko
|
0b354803f3
Clean up some YAGNI issues with implementation of GitHub issue #180, and make best path choice aware of path rank.
|
9 gadi atpakaļ |
Adam Ierymenko
|
3f567a07ca
Save a little bit of RAM by getting rid of overkill CMWC4096 non-crypto PRNG and replacing it with a simple non-crypto PRNG that just uses Salsa20.
|
9 gadi atpakaļ |
Adam Ierymenko
|
c863ff3f02
A bunch of comments and cleanup, including some to yesterday's direct path pushing changes. Move path viability check to one place, and stop trying to use link-local addresses since they are not reliable.
|
9 gadi atpakaļ |
Adam Ierymenko
|
235f4762b7
Plumbing for local interface addresses -- GitHub issue #180
|
9 gadi atpakaļ |
Adam Ierymenko
|
79e9a8bcc2
Almost everything for GitHub issue #180 except direct path map setup.
|
9 gadi atpakaļ |
Adam Ierymenko
|
fad9dff2db
Almost all of GitHub issue #180
|
9 gadi atpakaļ |
Adam Ierymenko
|
c287ae4d1d
Redo conversion of _networks to a vector. Just use a simple linear search and put the nwid in a pair with the pointer so linear search can be done without pointer chasing. This should be the fastest option for anything less than dozens of networks, and should save memory over the old map.
|
9 gadi atpakaļ |
Moritz Warning
|
787608b568
use _network function to reduce source code complexity
|
9 gadi atpakaļ |
Moritz Warning
|
2b04ac5e9b
replace _networks map by vector
|
9 gadi atpakaļ |
Adam Ierymenko
|
9774f789f2
TCP fallback tunneling is now working. That hurt more than expected.
|
9 gadi atpakaļ |
Adam Ierymenko
|
d9006712f6
Completely factor out "desperation" from the core. I thought of a significantly simpler way to move all of this logic entirely into the containing service, liberating the core from any concern over the nature of its pipe to the outside world.
|
9 gadi atpakaļ |
Adam Ierymenko
|
9a34fde8a5
Make sure identity.public exists and stays in sync, cleanup extra new in Node, and test script for local testnets.
|
9 gadi atpakaļ |