Arceliar
|
6d0e40045a
|
cleanup/fixes from go vet
|
2018-11-22 21:41:16 -06:00 |
|
Arceliar
|
4870a2e149
|
removeSourceSubnet and removeRoute via the admin api
|
2018-11-22 21:30:56 -06:00 |
|
Arceliar
|
5953027411
|
switch from []byte to boxPubKey in ckr code, and start adding admin functions for existing code (yggdrasilctl.go still needs pretty printing support for the responses to the new get functions)
|
2018-11-21 00:10:20 -06:00 |
|
Arceliar
|
5fa23b1e38
|
move router.recvPacket calls into the main router goroutine, to make the ckr checks threadsafe
|
2018-11-20 22:04:18 -06:00 |
|
Arceliar
|
e9cff0506c
|
comment the switch a little better and limit how much uptime can affect which peer is used as a parent
|
2018-11-19 21:30:52 -06:00 |
|
Arceliar
|
ef6cece720
|
fix sim and tune dht to bootstrap a little faster
|
2018-11-16 19:32:12 -06:00 |
|
Neil Alexander
|
fc5a5830aa
|
Merge pull request #203 from Arceliar/chord
Chord
|
2018-11-14 20:13:42 +00:00 |
|
Arceliar
|
8cf8b0ec41
|
fix bug in recvPacket for packets coming from a subnet
|
2018-11-11 00:00:47 -06:00 |
|
Arceliar
|
1b1b776097
|
fix crash when starting in tun mode
|
2018-11-10 22:39:15 -06:00 |
|
Neil Alexander
|
6fab0e9507
|
Fix CKR (IPv4/IPv6) in TAP mode so frames sent to node MAC, base MAC/LL from node IPv6 address
|
2018-11-10 18:33:52 +00:00 |
|
Neil Alexander
|
adc32fe92f
|
Track further neighbor state, don't send more NDPs than needed
|
2018-11-10 17:32:03 +00:00 |
|
Neil Alexander
|
d50e1bc803
|
More complete NDP implementation for TAP mode, which tracks individual MAC addresses for neighbors
|
2018-11-10 15:46:10 +00:00 |
|
Arceliar
|
15d5b3f82c
|
comments and minor cleanup
|
2018-11-09 23:02:38 -06:00 |
|
Neil Alexander
|
685b565512
|
Check IP header lengths correctly per protocol
|
2018-11-07 10:29:08 +00:00 |
|
Neil Alexander
|
9542bfa902
|
Check the session perm pub key against the CKR key
|
2018-11-07 10:16:46 +00:00 |
|
Neil Alexander
|
fbfae473d4
|
Use full node ID for CKR routes instead of truncated node IDs from the address/subnet
|
2018-11-07 10:04:31 +00:00 |
|
Neil Alexander
|
39dab53ac7
|
Update comments in configuration and some godoc descriptions
|
2018-11-06 22:57:53 +00:00 |
|
Neil Alexander
|
a3a53f92c3
|
Reinstate length/bounds check in tun.go
|
2018-11-06 22:35:28 +00:00 |
|
Neil Alexander
|
0240375417
|
IPv4 CKR support in router
|
2018-11-06 20:49:19 +00:00 |
|
Neil Alexander
|
424faa1c51
|
Support IPv4 in ckr.go
|
2018-11-06 20:04:49 +00:00 |
|
Neil Alexander
|
cb7a5f17d9
|
Check destination address upon receive in router
|
2018-11-06 19:23:20 +00:00 |
|
Neil Alexander
|
2f75075da3
|
Fix Yggdrasil subnet routing
|
2018-11-06 14:28:57 +00:00 |
|
Neil Alexander
|
bc62af7f7d
|
Enable CKR properly from config
|
2018-11-06 12:32:16 +00:00 |
|
Neil Alexander
|
bc578f571c
|
Some output at startup
|
2018-11-06 11:56:32 +00:00 |
|
Neil Alexander
|
f0947223bb
|
Only validate CKR routes if CKR enabled
|
2018-11-06 11:11:57 +00:00 |
|
Neil Alexander
|
19e6aaf9f5
|
Remove sourceSubnet from router
|
2018-11-06 00:06:37 +00:00 |
|
Neil Alexander
|
e3d4aed44a
|
Configure IPv6Sources
|
2018-11-06 00:05:01 +00:00 |
|
Neil Alexander
|
8c2327a2bf
|
Add source addresses option and more intelligent source checking
|
2018-11-05 23:59:41 +00:00 |
|
Neil Alexander
|
cfdbc481a5
|
Modify source address check for CKR
|
2018-11-05 23:22:45 +00:00 |
|
Neil Alexander
|
7218b5a56c
|
Don't look up public keys for Yggdrasil native addresses
|
2018-11-05 23:12:26 +00:00 |
|
Neil Alexander
|
c7f2427de1
|
Check CKR routes when receiving packets in router
|
2018-11-05 22:58:58 +00:00 |
|
Neil Alexander
|
87b0f5fe24
|
Use CKR in router when sending packets
|
2018-11-05 22:39:30 +00:00 |
|
Neil Alexander
|
295e9c9a10
|
Cache crypto-key routes (until routing table changes)
|
2018-11-05 17:31:10 +00:00 |
|
Neil Alexander
|
ec751e8cc7
|
Don't allow Yggdrasil ranges as crypto-key routes
|
2018-11-05 17:03:58 +00:00 |
|
Neil Alexander
|
52206dc381
|
Add initial crypto-key routing handlers
|
2018-11-05 16:40:47 +00:00 |
|
Arceliar
|
a008b42f99
|
cleanup and some bugfixes, cache important dht nodes until something gets added/removed
|
2018-10-29 22:24:18 -05:00 |
|
Arceliar
|
671c7f2a47
|
don't update recv time for known nodes that ping us or known peers
|
2018-10-28 15:04:44 -05:00 |
|
Arceliar
|
c0531627bc
|
fix some chord dht bootstrapping bugs, no known cases where it now fails
|
2018-10-24 22:03:27 -05:00 |
|
Arceliar
|
253861ebd3
|
reverse dht ownership order from predecessor to successor, this plays nicer with the default 0 bits in unknown node IDs
|
2018-10-21 18:15:04 -05:00 |
|
Arceliar
|
5e3959f1d0
|
yet more debugging
|
2018-10-21 17:40:43 -05:00 |
|
Neil Alexander
|
aab0502a4a
|
Remove friendlyname traces, preserve endpoints
|
2018-10-21 23:20:14 +01:00 |
|
Arceliar
|
f0bd40ff68
|
more testing
|
2018-10-21 15:10:18 -05:00 |
|
Arceliar
|
bcbd24120d
|
keep track of all keys we're supposed to care about in the dht, don't give special treatment to successors/predecessors
|
2018-10-21 14:57:04 -05:00 |
|
Arceliar
|
efe6cec11a
|
more debugging, trying to understand bootstrap issues
|
2018-10-21 12:28:21 -05:00 |
|
Neil Alexander
|
b809adf981
|
Add FriendlyName option, show friendly name and real endpoint in admin socket/yggdrasilctl
|
2018-10-21 17:57:48 +01:00 |
|
Arceliar
|
6c59ae862a
|
more debugging
|
2018-10-21 00:05:04 -05:00 |
|
Arceliar
|
95201669fe
|
reintroduce (better) dht throttling
|
2018-10-20 22:06:36 -05:00 |
|
Arceliar
|
8825494d59
|
remove maintenance searches and throttle logic, to focus on debugging in this simpler case first
|
2018-10-20 20:11:32 -05:00 |
|
Arceliar
|
3dbffae99f
|
add search for successor, via parent, to the dht maintenance cycle
|
2018-10-20 19:09:25 -05:00 |
|
Arceliar
|
d851d9afe7
|
add max pings before timing out a successor
|
2018-10-20 18:31:11 -05:00 |
|
Arceliar
|
63d6ab4251
|
more cleanup, comments, and dht reset() changes
|
2018-10-20 18:12:34 -05:00 |
|
Arceliar
|
f3ec8c5b37
|
fix admin dht function, more cleanup, and slowly throttle back dht traffic when idle
|
2018-10-20 17:58:54 -05:00 |
|
Arceliar
|
5a85d3515d
|
cleanup
|
2018-10-20 17:32:54 -05:00 |
|
Arceliar
|
02f0611dde
|
more debugging
|
2018-10-20 16:27:01 -05:00 |
|
Arceliar
|
1720dff476
|
add some debug output and get things to start working in the sim
|
2018-10-20 15:21:40 -05:00 |
|
Arceliar
|
03a88fe304
|
Try using a chord-like DHT instead of a kad-like one, work in progress, but it compiles at least
|
2018-10-20 14:48:07 -05:00 |
|
Neil Alexander
|
18428b0f93
|
Merge pull request #190 from neilalexander/sessionfirewall
Fix incorrect comment in config for SessionFirewall
|
2018-10-09 07:24:22 +01:00 |
|
Neil Alexander
|
eb42fd4973
|
Fix incorrect comment in config for SessionFirewall
|
2018-10-09 07:18:43 +01:00 |
|
Arceliar
|
ba8af20817
|
Merge pull request #187 from neilalexander/sessionfirewall
Add session firewall
|
2018-10-08 18:41:15 -05:00 |
|
Neil Alexander
|
1d00131416
|
Hopefully fix a concurrent map read-write when removing peers
|
2018-10-08 22:09:55 +01:00 |
|
Neil Alexander
|
1e6667567a
|
Update comments for session firewall in config
|
2018-10-08 19:57:14 +01:00 |
|
Neil Alexander
|
3ed63ede1e
|
Add AlwaysAllowOutbound to session firewall
|
2018-10-08 19:51:51 +01:00 |
|
Neil Alexander
|
3f237372c9
|
Only apply session firewall to pings for sessions we don't already have
|
2018-10-08 19:05:50 +01:00 |
|
Neil Alexander
|
2e2c58bfef
|
Add session firewall (extra security for controlling traffic flow to/from a given node)
|
2018-10-07 17:13:41 +01:00 |
|
Neil Alexander
|
81eea137d4
|
Merge branch 'develop' into getswitchqueues
|
2018-10-05 19:51:45 +01:00 |
|
Neil Alexander
|
605b6829db
|
Fix debug builds (broken by #182)
|
2018-10-05 19:28:46 +01:00 |
|
Neil Alexander
|
8eed15b813
|
Fix merge conflict in tcp.go from d027a9ba75baa88207f9c4f2c337f59ded83e6e7
|
2018-10-04 12:26:08 +01:00 |
|
Neil Alexander
|
b6ff6e96cd
|
Merge pull request #184 from yggdrasil-network/source-interface
Ignore peer in InterfacePeers when source interface not found
|
2018-09-28 15:16:34 +01:00 |
|
Neil Alexander
|
d027a9ba75
|
Don't peer when source interface not found
|
2018-09-28 14:59:10 +01:00 |
|
Neil Alexander
|
69cd736112
|
Show queue capacity in getSwitchQueues
|
2018-09-27 16:19:47 +01:00 |
|
Neil Alexander
|
0b1a6611fd
|
Identify switchport for queue based on coords in stream ID
|
2018-09-27 15:05:45 +01:00 |
|
Neil Alexander
|
8113b4cc22
|
Update comments
|
2018-09-27 14:20:52 +01:00 |
|
Neil Alexander
|
b530916044
|
Show information about individual active queues
|
2018-09-27 12:14:55 +01:00 |
|
Neil Alexander
|
2674e1cb8b
|
Merge remote-tracking branch 'origin/develop' into getswitchqueues
|
2018-09-27 11:03:59 +01:00 |
|
Neil Alexander
|
f57567ea56
|
Add getSwitchQueues
|
2018-09-27 10:53:19 +01:00 |
|
Arceliar
|
7e3426ba93
|
Merge pull request #182 from yggdrasil-network/source-interface
Support adding peers on specific interfaces
|
2018-09-26 07:48:55 -05:00 |
|
Neil Alexander
|
b7f2f8b55c
|
Ignore interfaces that are not up
|
2018-09-25 19:46:06 +01:00 |
|
Neil Alexander
|
6844b9df51
|
Update comments in default config
|
2018-09-25 18:17:00 +01:00 |
|
Neil Alexander
|
387ae9ea6c
|
Only replace call name with interface prefix when interface is set
|
2018-09-25 18:05:57 +01:00 |
|
Neil Alexander
|
3f8a4ab17d
|
Add bytes_sent and bytes_recvd to getSwitchPorts
|
2018-09-25 17:59:01 +01:00 |
|
Neil Alexander
|
b368421dbd
|
Fix addPeer to make interface= optional
|
2018-09-25 17:13:35 +01:00 |
|
Neil Alexander
|
1796000b05
|
Change to InterfacePeers instead of modifying the tcp:// URI format
|
2018-09-25 16:55:57 +01:00 |
|
Neil Alexander
|
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
|
2018-09-25 15:32:45 +01:00 |
|
Arceliar
|
25661ebcad
|
fix 0 port number on links to unknown nodes in the admin dot graph
|
2018-09-04 19:30:07 -05:00 |
|
Arceliar
|
e833cdfb98
|
fix debug builds and update whitepaper with old info from the .io site's about page
|
2018-08-18 13:24:02 -05:00 |
|
cathugger
|
b4db89ea9d
|
Avoid unnecessarily allocating coords slice if it's unchanged.
|
2018-07-30 13:44:46 +00:00 |
|
cathugger
|
67b8a7a53d
|
Ensure no memory allocations happen at hot path
|
2018-07-30 12:43:34 +00:00 |
|
Neil Alexander
|
c4e6894d6a
|
Copy sinfo.coords for safety
|
2018-07-30 13:34:32 +01:00 |
|
Neil Alexander
|
ebb4ec7c33
|
Clean up the flow a bit (partly because I am allergic to huge compounded if statements)
|
2018-07-30 11:46:44 +01:00 |
|
cathugger
|
68a482ed92
|
Simplify flowkey stuff further.
|
2018-07-30 02:15:57 +00:00 |
|
cathugger
|
36dcab9300
|
optimize wire_put_uint64; use protokey for flowlabel fallback.
|
2018-07-30 01:58:52 +00:00 |
|
cathugger
|
fec7100898
|
Clean up / clarify coords sending code.
|
2018-07-30 00:01:37 +00:00 |
|
cathugger
|
11b0a82c4a
|
Simpler flowlabel parsing; avoid using 0 flowlabel.
|
2018-07-29 22:09:16 +00:00 |
|
Arceliar
|
ddab8ecf33
|
Merge pull request #174 from cathugger/develop
Make TCP read timeouts configurable.
|
2018-07-29 10:39:43 -05:00 |
|
cathugger
|
d171552577
|
Make TCP read timeouts configurable.
This should be helpful on high-latency networks, like Tor or I2P.
Also gofmt.
|
2018-07-29 14:30:13 +00:00 |
|
Neil Alexander
|
38e8b036d2
|
Use addUint64 instead to not interfere with coordinate parsing
|
2018-07-22 18:33:53 +01:00 |
|
Neil Alexander
|
81fde1a805
|
Use flow label instead of TCP/UDP/SCTP source/destination ports
|
2018-07-22 18:16:03 +01:00 |
|
Neil Alexander
|
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
|
2018-07-22 12:00:40 +01:00 |
|
Arceliar
|
9cbcaf39ac
|
Use coords for queue stream IDs in the switch, and append protocol/port information to coords when sending, to designate different streams
|
2018-07-21 18:59:29 -05:00 |
|
Arceliar
|
996a593fa2
|
Sort dotgraph links by integer value
|
2018-07-20 23:02:25 -05:00 |
|