Commit graph

  • 387ae9ea6c
    Only replace call name with interface prefix when interface is set Neil Alexander 2018-09-25 18:05:57 +01:00
  • 3f8a4ab17d
    Add bytes_sent and bytes_recvd to getSwitchPorts Neil Alexander 2018-09-25 17:59:01 +01:00
  • b368421dbd
    Fix addPeer to make interface= optional Neil Alexander 2018-09-25 17:13:35 +01:00
  • 1796000b05
    Change to InterfacePeers instead of modifying the tcp:// URI format Neil Alexander 2018-09-25 16:55:57 +01:00
  • aecc151baf
    Add support for specifying TCP source interface, i.e. tcp://a.b.c.d:e/eth0, for multiple simultaneous peerings to the same node over different interfaces Neil Alexander 2018-09-25 15:32:45 +01:00
  • 81ca5d8ede
    Merge pull request #181 from Arceliar/admin-dot Neil Alexander 2018-09-05 09:40:15 +01:00
  • 25661ebcad fix 0 port number on links to unknown nodes in the admin dot graph Arceliar 2018-09-04 19:30:07 -05:00
  • f2345a9a63
    Merge pull request #178 from Arceliar/whitepaper Neil Alexander 2018-09-01 00:05:36 +01:00
  • e833cdfb98 fix debug builds and update whitepaper with old info from the .io site's about page Arceliar 2018-08-18 13:24:02 -05:00
  • 4666b8f6cd
    Merge pull request #175 from yggdrasil-network/develop Neil Alexander 2018-07-31 10:29:30 +01:00
  • ff83527ac7
    Merge pull request #177 from neilalexander/changelog Neil Alexander 2018-07-31 10:10:48 +01:00
  • c6dbc307ae
    Update changelog for 0.2.6 Neil Alexander 2018-07-31 10:04:22 +01:00
  • 514de5434f
    Merge pull request #176 from cathugger/develop Arceliar 2018-07-30 18:25:31 -05:00
  • b4db89ea9d
    Avoid unnecessarily allocating coords slice if it's unchanged. cathugger 2018-07-30 13:44:46 +00:00
  • 67b8a7a53d
    Ensure no memory allocations happen at hot path cathugger 2018-07-30 12:43:34 +00:00
  • c4e6894d6a
    Copy sinfo.coords for safety Neil Alexander 2018-07-30 13:34:32 +01:00
  • ebb4ec7c33
    Clean up the flow a bit (partly because I am allergic to huge compounded if statements) Neil Alexander 2018-07-30 11:46:44 +01:00
  • 68a482ed92
    Simplify flowkey stuff further. cathugger 2018-07-30 02:15:57 +00:00
  • 36dcab9300
    optimize wire_put_uint64; use protokey for flowlabel fallback. cathugger 2018-07-30 01:58:52 +00:00
  • fec7100898
    Clean up / clarify coords sending code. cathugger 2018-07-30 00:01:37 +00:00
  • 11b0a82c4a
    Simpler flowlabel parsing; avoid using 0 flowlabel. cathugger 2018-07-29 22:09:16 +00:00
  • ddab8ecf33
    Merge pull request #174 from cathugger/develop Arceliar 2018-07-29 10:39:43 -05:00
  • d171552577
    Make TCP read timeouts configurable. cathugger 2018-07-29 14:30:13 +00:00
  • e00ed4c95d
    Merge pull request #171 from neilalexander/backpressure Arceliar 2018-07-22 12:40:31 -05:00
  • 38e8b036d2
    Use addUint64 instead to not interfere with coordinate parsing Neil Alexander 2018-07-22 18:33:53 +01:00
  • 81fde1a805
    Use flow label instead of TCP/UDP/SCTP source/destination ports Neil Alexander 2018-07-22 18:16:03 +01:00
  • 98f1dd1624
    Merge pull request #170 from neilalexander/backpressure Arceliar 2018-07-22 10:43:26 -05:00
  • 3f4295f8cd
    Only split queues based on port number for TCP/UDP/SCTP, rely only on protocol number for other protos to prevent issues with IPIP, GRE, etc Neil Alexander 2018-07-22 12:00:40 +01:00
  • f53699367b
    Merge pull request #169 from Arceliar/backpressure Neil Alexander 2018-07-22 10:14:27 +01:00
  • 9cbcaf39ac Use coords for queue stream IDs in the switch, and append protocol/port information to coords when sending, to designate different streams Arceliar 2018-07-21 18:59:29 -05:00
  • 388683e3f2
    Merge pull request #168 from Arceliar/dotlinksort Neil Alexander 2018-07-21 09:57:27 +01:00
  • 996a593fa2 Sort dotgraph links by integer value Arceliar 2018-07-20 23:02:25 -05:00
  • ab73e3cb90
    Merge pull request #167 from neilalexander/arm64 Neil Alexander 2018-07-20 10:09:30 +01:00
  • 438fcdfc5f
    Build for arm64 Neil Alexander 2018-07-20 10:04:04 +01:00
  • dc0c3f9f8b
    Merge pull request #164 from yggdrasil-network/develop Arceliar 2018-07-19 18:47:40 -05:00
  • 6d1e705684
    Merge pull request #166 from yggdrasil-network/changelog-0.2.5 Arceliar 2018-07-19 18:43:11 -05:00
  • 2b7b32ff3a
    Update CHANGELOG.md Arceliar 2018-07-19 18:38:48 -05:00
  • 549d6f9dd2
    Merge pull request #163 from neilalexander/tapmtu Arceliar 2018-07-19 18:25:03 -05:00
  • 9ff08c1b34
    Merge pull request #165 from cathugger/master Arceliar 2018-07-19 18:18:51 -05:00
  • 91a374d698 rearrange tcp reading loop cathugger 2018-07-19 21:58:53 +00:00
  • 55b56e8686
    Normalise startup output for TUN/TAP on Linux and Windows Neil Alexander 2018-07-19 10:15:26 +01:00
  • df9cadd938
    Cap MTU on Linux in TAP mode Neil Alexander 2018-07-19 10:01:12 +01:00
  • 1baafdd17d
    Merge pull request #162 from cathugger/master Arceliar 2018-07-18 22:55:45 -05:00
  • f4bb2aaaeb More verbose disconnect messages cathugger 2018-07-19 01:03:24 +00:00
  • d12e321584
    Merge pull request #161 from neilalexander/casesensitive Neil Alexander 2018-07-09 19:40:03 +01:00
  • cff7ef026f
    Make yggdrasilctl less case-sensitive Neil Alexander 2018-07-09 19:30:41 +01:00
  • 5cff8428c3
    Merge pull request #160 from neilalexander/fixdebug Arceliar 2018-07-09 13:20:10 -05:00
  • f21cbaef9c
    Fix debug builds after changes in #155 Neil Alexander 2018-07-09 09:38:48 +01:00
  • 059fe24526
    Merge pull request #156 from yggdrasil-network/develop Neil Alexander 2018-07-08 18:46:48 +01:00
  • 8bcb761cef
    Merge pull request #159 from yggdrasil-network/changelog Neil Alexander 2018-07-08 11:13:36 +01:00
  • 69cf64dce5
    Update CHANGELOG.md Neil Alexander 2018-07-08 11:09:49 +01:00
  • 0d9a6d7a49
    Merge pull request #158 from neilalexander/unixsockets Neil Alexander 2018-07-08 10:43:40 +01:00
  • d59bdfeb99
    Fail to TCP when parsing AdminListen Neil Alexander 2018-07-08 10:37:20 +01:00
  • 70e755fdd3
    Merge pull request #157 from Arceliar/develop Arceliar 2018-07-07 19:43:53 -05:00
  • bf90447cc4 update admin socket error message and run gofmt Arceliar 2018-07-07 19:37:36 -05:00
  • face270298
    Merge pull request #154 from neilalexander/unixsockets Arceliar 2018-07-07 14:28:40 -05:00
  • b24c7ffa6b
    Resolve merge conflict with platformdefaults Neil Alexander 2018-07-07 20:08:23 +01:00
  • 0e9a9f97ba
    Merge pull request #155 from neilalexander/platformdefaults Neil Alexander 2018-07-07 20:05:20 +01:00
  • a5af69df8a
    Use Close() for admin socket Neil Alexander 2018-07-07 20:04:11 +01:00
  • 2a931df07a
    Try to clean up UNIX domain admin sockets if shutdown properly Neil Alexander 2018-07-07 12:34:10 +01:00
  • 14d48597da
    Fix openbsd and netbsd Neil Alexander 2018-07-07 12:18:03 +01:00
  • 36c89da848
    Stick with tcp://localhost:9001 as default for now Neil Alexander 2018-07-07 12:16:55 +01:00
  • 1692bd98fd
    Centralise platform defaults into the 'defaults' package Neil Alexander 2018-07-07 12:08:52 +01:00
  • 171e1e7823
    Update default AdminListen to URI format Neil Alexander 2018-07-07 11:28:50 +01:00
  • 047b7d95a1
    Add support for UNIX domain admin sockets to yggdrasilctl Neil Alexander 2018-07-07 11:25:01 +01:00
  • cd6030ec8f
    Add support for UNIX domain admin sockets and specifying URIs in AdminListen Neil Alexander 2018-07-07 11:22:49 +01:00
  • adc21baa28
    Merge pull request #152 from Arceliar/backpressure Arceliar 2018-07-06 17:38:28 -05:00
  • ba4047b51a correctly update buffer sizs when buffers overflow, and returned freed packets to the byte store Arceliar 2018-07-06 17:27:04 -05:00
  • ad5dc9ea87 Drop 1 packet instead of a whole queue when overflowing Arceliar 2018-07-06 00:55:00 -05:00
  • e6a47f705d when dropping a queue, select one at random based on queue size in bytes Arceliar 2018-07-06 00:11:36 -05:00
  • 1a65c065d0 prioritize sending from small queues that have been blocked for a long time Arceliar 2018-07-05 23:56:37 -05:00
  • 7da4967f5e Limit maximum queue size to 4 MB Arceliar 2018-07-05 23:39:41 -05:00
  • a7c8be4d69 base backpressure decisions on queue size in bytes, instead of packet counts Arceliar 2018-07-05 23:07:01 -05:00
  • f9343d8a2c
    Merge 432b2f7bdd into d0e6a9ad41 Arceliar 2018-07-05 03:08:19 +00:00
  • 432b2f7bdd use a stupidly large FIFO Arceliar 2018-07-04 22:07:01 -05:00
  • 5261bac1d8 cleanup Arceliar 2018-07-04 21:43:42 -05:00
  • 7539c0e4fe remove queue timeout, don't decrement queue size count when sending a packet (so flooding connections eventually need to yield) Arceliar 2018-07-04 21:34:26 -05:00
  • 42a6c24a84 remove debug output Arceliar 2018-07-04 20:06:18 -05:00
  • 99616b967a limit maximum queue number and size. don't cause the last packet in a queue to drop due to timeout (makes sure *some* packets can get through for every stream, even if delayed) Arceliar 2018-07-04 18:35:54 -05:00
  • 885ba4452d
    Merge pull request #149 from yggdrasil-network/develop Neil Alexander 2018-06-29 23:28:50 +01:00
  • d0e6a9ad41
    Merge pull request #150 from neilalexander/version Neil Alexander 2018-06-29 23:25:00 +01:00
  • af99cebf11
    Update changelog version Neil Alexander 2018-06-29 23:20:58 +01:00
  • 1d05e511b3
    Merge pull request #148 from Arceliar/changelog origin/develop Neil Alexander 2018-06-29 08:40:13 +01:00
  • 1fced2bdf0
    Update changelog Neil Alexander 2018-06-29 08:35:39 +01:00
  • dd6ca6e4b6 Add changelog Arceliar 2018-06-28 18:47:10 -05:00
  • 1a0771b016
    Merge pull request #146 from Arceliar/backpressure Neil Alexander 2018-06-28 23:04:03 +01:00
  • b63b534fa7 drop packets that have been queued for longer than some timeout (currently 25ms) instead of using fixed length queues Arceliar 2018-06-25 18:12:18 -05:00
  • 01f0ec34f4
    Merge pull request #147 from neilalexander/alien Neil Alexander 2018-06-25 14:25:48 +01:00
  • 3d0b39f05a
    Keep version number Neil Alexander 2018-06-25 14:21:31 +01:00
  • a7d1f21271
    Run alien as root so package permissions are right Neil Alexander 2018-06-25 14:19:22 +01:00
  • 11acb0129d
    Use alien to generate RPMs Neil Alexander 2018-06-25 14:17:07 +01:00
  • 7695a3fcbf try using a simpler FIFO order for each backpressure buffer, since there are other mechanisms to penalize the flooding node, leads to better TCP throughput without affecting traffic between other nodes (does affect traffic in the same session, but there's hypothetically workarounds to that) Arceliar 2018-06-24 20:20:07 -05:00
  • 4ad2446557 cleanup Arceliar 2018-06-24 18:21:00 -05:00
  • 03949dcf3f fix my terrible bug, I have no idea why the old one even worked Arceliar 2018-06-24 18:05:00 -05:00
  • 9c028e1d0d switch to a separate queue per stream of traffic, FIXME for some reason this makes distance calculations more expensive in handleIdle? Arceliar 2018-06-24 17:39:43 -05:00
  • 189628b381 cleanup Arceliar 2018-06-23 23:55:27 -05:00
  • 0ad801bcfe more work on backpressure, but still needs more testing Arceliar 2018-06-23 23:33:03 -05:00
  • 4b83efa218 more backpressure work, still needs testing Arceliar 2018-06-23 21:51:32 -05:00
  • 52a0027aea switch refactoring, setup for a better approximation of local backpressure Arceliar 2018-06-23 20:59:26 -05:00
  • 988f4ad265 add a dedicated switch worker and start using it for lookups Arceliar 2018-06-23 19:08:32 -05:00