Commit graph

  • 783959208c Add more comments to explain helper functions Aleksander Mistewicz 2019-09-28 14:41:53 +02:00
  • 8053766092 Add verbosity setting Aleksander Mistewicz 2019-09-28 14:24:54 +02:00
  • 21b236771b Add a simple transfer benchmark Aleksander Mistewicz 2019-09-28 14:20:57 +02:00
  • 8677a042cf Wait for nodes to negotiate Aleksander Mistewicz 2019-09-28 14:10:17 +02:00
  • fffbbbcbd3 Pass message between nodes Aleksander Mistewicz 2019-09-25 20:07:36 +02:00
  • d96fb27ab8 Add simple connection test Aleksander Mistewicz 2019-09-25 15:58:19 +02:00
  • 6ddb0f93f3
    Merge pull request #552 from yggdrasil-network/develop v0.3.9 Neil Alexander 2019-09-27 09:53:21 +01:00
  • 5c3f7df77c
    Update submodule doc/yggdrasil-network.github.io Neil Alexander 2019-09-27 09:49:19 +01:00
  • 21ff74fec6
    Merge pull request #559 from yggdrasil-network/changelog Neil Alexander 2019-09-27 09:45:29 +01:00
  • 6ead31fb87
    Remove RPM spec from contrib as it is now in yggdrasil-network/yggdrasil-package-rpm Neil Alexander 2019-09-27 09:44:55 +01:00
  • d6ee20580d
    Set TimeoutStopSec for systemd service Neil Alexander 2019-09-27 09:37:34 +01:00
  • 94f4d6e286
    Update CHANGELOG.md Arceliar 2019-09-26 18:21:35 -05:00
  • 2b8b7118df
    Merge pull request #560 from Arceliar/bugfix Arceliar 2019-09-26 18:19:39 -05:00
  • 0f99d590a1 typo, ipv6->ipv4 Arceliar 2019-09-26 18:15:26 -05:00
  • e16d3efb0a check packet length before checking if it's an ipv6 packet, and add some trace level logging whenever a packet is rejected for being too short to parse Arceliar 2019-09-26 18:11:58 -05:00
  • 19c2a573aa
    Update changelog for v0.3.9 Neil Alexander 2019-09-26 22:56:45 +01:00
  • a87581b0fa
    Merge pull request #556 from Arceliar/switch Arceliar 2019-09-25 17:58:01 -05:00
  • 97bec8631c Merge branch 'switch' of https://github.com/Arceliar/yggdrasil-go into switch Arceliar 2019-09-25 17:53:58 -05:00
  • ac58c3586e cleanup/comments Arceliar 2019-09-25 17:53:25 -05:00
  • d27891aaf6
    Merge pull request #528 from yggdrasil-network/documentation Neil Alexander 2019-09-25 17:09:09 +01:00
  • 2c66ff24a9
    Merge branch 'develop' into switch Neil Alexander 2019-09-25 11:15:52 +01:00
  • b9e74f34ec replace the send-to-self with a timer and an arbitrary timeout; i don't really like this but it seems to work better (1 ms is fast by human standards but an eternity for a syscall or the scheduler, so i think that's reasonable) Arceliar 2019-09-24 18:28:13 -05:00
  • 8c64e6fa09 explicitly notify the switch when a link appears to be blocked in a send instead of assuming this is the case for all idle links. how we decide when it's really blocked still needs testing/optimizing Arceliar 2019-09-24 18:01:35 -05:00
  • 606d9ac97b
    Build VyOS amd64/i386 Vyatta packages as well as EdgeRouter packages Neil Alexander 2019-09-24 22:06:12 +01:00
  • 691192ff5a weird scheduler hack, seems to tend to make things more stable without actually locking streams to any particular link Arceliar 2019-09-21 14:33:45 -05:00
  • 2a76163c7e
    Merge pull request #554 from Arceliar/switch Arceliar 2019-09-20 23:45:14 -05:00
  • 87658f83e9 Revert "force things to buffer in the switch if the best link is currently busy. note that other links can end up sending if they become non-idle for other reasons. this is a temporary workaround to packet reordering, until we can figure out a better solution" Arceliar 2019-09-20 23:09:12 -05:00
  • 3571c437ac
    Merge pull request #551 from neilalexander/multicastinterval Arceliar 2019-09-20 17:46:26 -05:00
  • 8003ea0f3e use a separate multicast beacon interval per multicast interface Arceliar 2019-09-20 17:42:42 -05:00
  • 1cd4b6e8dd
    Increase multicast interval at startup from 1s to 15s Neil Alexander 2019-09-20 10:08:41 +01:00
  • 6432eaa9f5
    Merge pull request #548 from neilalexander/bugfixes Neil Alexander 2019-09-20 09:48:54 +01:00
  • f9163a56b6 fix race between listener accepting and shutting down Arceliar 2019-09-19 19:50:45 -05:00
  • eeb34ce4e4 modify TcpListener Arceliar 2019-09-19 19:45:17 -05:00
  • 93e81867fd have link.stop signal active links to close, have tcp.stop wait for all listeners and active connections to close Arceliar 2019-09-19 19:15:59 -05:00
  • 39461cb603
    Don't os.Exit Neil Alexander 2019-09-19 09:56:27 +01:00
  • 681e9afc79
    Merge develop into bugfixes Neil Alexander 2019-09-19 09:05:56 +01:00
  • 7b1678a11d
    Goroutines in _addPeerLoop from bugfixes Neil Alexander 2019-09-19 09:04:25 +01:00
  • 5a382e7e0b
    Cherrypick fixes for _addPeerLoop memory leak for now Neil Alexander 2019-09-19 08:55:55 +01:00
  • 995d67cca8 fix leak in _addPeerLoop Arceliar 2019-09-18 18:46:03 -05:00
  • 92d9274f3f resolve conflicts Arceliar 2019-09-18 18:40:01 -05:00
  • 2d64a6380a misc other fixes Arceliar 2019-09-18 18:33:51 -05:00
  • 909e4e29a8
    Don't spawn goroutines for addPeerLoop, TCP connect timeout of 5 seconds for now Neil Alexander 2019-09-18 23:44:28 +01:00
  • 64570a8d3e
    Merge pull request #542 from Arceliar/switch Neil Alexander 2019-09-18 20:26:48 +01:00
  • 0a12e4b1c1
    Revert "Catch a nil pointer when sending a session packet to a conn, this shouldn't happen but it's caused multiple crashes in conn.recvMsg" Neil Alexander 2019-09-18 20:26:06 +01:00
  • d44a7faa04
    semver: Don't return failure codes when git history is not present Neil Alexander 2019-09-18 20:09:53 +01:00
  • ddaaa865cb
    Be more verbose when a peer or listener is badly formatted Neil Alexander 2019-09-18 15:01:19 +01:00
  • 94cf2854a9
    Fix panic where slice goes out of bounds because iface.Read returns less than zero (which might happen when the TUN/TAP interface is closed) Neil Alexander 2019-09-18 14:05:18 +01:00
  • 368f499f1d
    Update apt before trying to pull in RPM dependencies Neil Alexander 2019-09-18 14:37:25 +01:00
  • ae0b2672ff
    Fix #539 Neil Alexander 2019-09-18 14:32:28 +01:00
  • 2dc136f94a
    Multicast actor to prevent races Neil Alexander 2019-09-18 16:51:46 +01:00
  • b959f53fee
    Shut down listeners when stopping Neil Alexander 2019-09-18 16:32:22 +01:00
  • b0df9e2f31
    Fix race when adding peers Neil Alexander 2019-09-18 16:15:33 +01:00
  • c78a4cb28f
    Only stop timers if they are running Neil Alexander 2019-09-18 15:34:26 +01:00
  • 366fe7e772
    Allow multicast to be shut down more sanely Neil Alexander 2019-09-18 15:31:43 +01:00
  • 00a972b74e
    Disconnect peers when stopping, stop modules before core Neil Alexander 2019-09-18 15:22:17 +01:00
  • 846df4789a
    Be more verbose when a peer or listener is badly formatted Neil Alexander 2019-09-18 15:01:19 +01:00
  • a62e029e21
    Update apt before trying to pull in RPM dependencies Neil Alexander 2019-09-18 14:37:25 +01:00
  • 27158d7b44
    Fix #509 Neil Alexander 2019-09-18 14:35:11 +01:00
  • 200b3623b2
    Fix #539 Neil Alexander 2019-09-18 14:32:28 +01:00
  • e9bacda0b3
    Catch a nil pointer when sending a session packet to a conn, this shouldn't happen but it's caused multiple crashes in conn.recvMsg Neil Alexander 2019-09-18 13:37:01 +01:00
  • c3016e680c
    Fix panic where slice goes out of bounds because iface.Read returns less than zero (which might happen when the TUN/TAP interface is closed) Neil Alexander 2019-09-18 14:05:18 +01:00
  • 40204caab6
    Try to fix race condition in sessions.reset Neil Alexander 2019-09-18 14:03:31 +01:00
  • be35675d0f
    Catch a nil pointer when sending a session packet to a conn, this shouldn't happen but it's caused multiple crashes in conn.recvMsg Neil Alexander 2019-09-18 13:37:01 +01:00
  • 80ba24d512 force things to buffer in the switch if the best link is currently busy. note that other links can end up sending if they become non-idle for other reasons. this is a temporary workaround to packet reordering, until we can figure out a better solution Arceliar 2019-09-17 19:42:07 -05:00
  • 8b4dd5c7a5
    Try github actions Neil Alexander 2019-09-11 15:26:24 +01:00
  • f4e326f5dd
    Merge pull request #544 from wfleurant/readme-url-platforms Neil Alexander 2019-09-11 14:23:42 +01:00
  • 8ca1187451 README: update platforms link William Fleurant 2019-09-11 06:52:03 -04:00
  • 0141180279 cleanup Arceliar 2019-09-09 19:25:10 -05:00
  • 10a828af2c when forwarding traffic, break distance ties by favoring the link that sent the most recent switch update the fastest Arceliar 2019-09-09 19:20:46 -05:00
  • 1b72a3f3d5
    Merge pull request #537 from Arceliar/phony Arceliar 2019-09-06 22:47:59 -05:00
  • eec055313d update phony dependency Arceliar 2019-09-06 22:20:36 -05:00
  • 9da0c40239
    Merge pull request #534 from Arceliar/bugfix Neil Alexander 2019-09-04 12:21:42 +01:00
  • 2426a87ccc really finish initializing the session before returning it / giving up control of the router, in the Conn.search function used by Dial Arceliar 2019-09-03 19:03:12 -05:00
  • 9ea1d35a14
    Fix add peer loop, add peers at startup Neil Alexander 2019-09-02 19:26:58 +01:00
  • 8057d80ec9
    Break out cmd/yggdrasil a bit, tweaks Neil Alexander 2019-09-02 19:10:34 +01:00
  • 74201e7cfd
    Update cmd/yggdrasil (amazingly it builds) Neil Alexander 2019-09-02 19:04:46 +01:00
  • 22322c9727
    Remove NodeConfig references from packages Neil Alexander 2019-09-02 18:46:41 +01:00
  • 90fb1925f6
    Clean-up Neil Alexander 2019-09-02 13:31:19 +01:00
  • 7444c46aa1
    Fix -json flag when running -genconf Neil Alexander 2019-09-02 13:25:26 +01:00
  • 7352891564
    Don't embed structs (apparently it changes the HJSON structure) Neil Alexander 2019-09-02 12:16:09 +01:00
  • 029be2d86b
    Simplify configuration code throughout Neil Alexander 2019-09-02 11:54:27 +01:00
  • af3dcb44d8
    Update config.go godoc Neil Alexander 2019-09-02 09:45:11 +01:00
  • b3361d4bbc package level documentation for address/crypto/util Arceliar 2019-09-01 19:01:33 -05:00
  • cd99d04bd4 document address, crypto, and util Arceliar 2019-09-01 18:53:45 -05:00
  • 903a8921fc
    Update api.go godoc Neil Alexander 2019-09-01 23:47:47 +01:00
  • 935324efe1
    Update conn.go godoc Neil Alexander 2019-09-01 23:33:51 +01:00
  • 9e8e1c5a41
    Documentation updates Neil Alexander 2019-09-01 23:10:46 +01:00
  • 01517e5dc3
    Create doc.go for godoc preamble Neil Alexander 2019-09-01 22:43:27 +01:00
  • 174ebceaac
    Fix hjson-go import in go.mod/go.sum Neil Alexander 2019-09-01 21:32:40 +01:00
  • f72546c85d
    Merge pull request #527 from Arceliar/bugfix Arceliar 2019-09-01 14:15:00 -05:00
  • 8c52ccadf9 make dial fail if a session to the same node already exists, fixes race between simultaneous connections to a node's 200 address and one of its 300 addresses, should also fix races between a search and an accepted listen Arceliar 2019-09-01 14:07:00 -05:00
  • 730fd08954
    Merge pull request #526 from Arceliar/cleanup Arceliar 2019-09-01 13:45:17 -05:00
  • 8d2c31d39c add some artifical delay to windows netsh commands, since it seems like maybe they don't take effect immediately, and this was leading to races when setting MTU Arceliar 2019-09-01 13:20:48 -05:00
  • c53831696b make tun stop check that iface is not nil, in case it wasn't set for some reason (windows bugs) Arceliar 2019-09-01 13:06:25 -05:00
  • d08c2eb237 stop exporting ReadNoCopy and WriteNoCopy, since we use the actor functions / callbacks and everything else should use Read and Write instead... Arceliar 2019-09-01 13:04:10 -05:00
  • 1496b6af3b
    Merge pull request #525 from Arceliar/memory Neil Alexander 2019-09-01 17:55:24 +01:00
  • e0ea845cdc
    Update build Neil Alexander 2019-09-01 17:50:15 +01:00
  • 3a493fe894 gc more often on mobile Arceliar 2019-09-01 11:08:25 -05:00
  • cabdc27a54 change how nonce is tracked, so we allow packets if we've recently received a highest nonce ever, but don't bother tracking all received nonce values, this means duplicate packets are possible but only for a small window of time (and significantly reduces memory usage per session) Arceliar 2019-08-31 17:39:05 -05:00
  • 0806f3e6ea upgrade phony Arceliar 2019-08-31 16:49:13 -05:00