Neil Alexander
9a5cf96c29
Rename admin socket getMeta to getMetadata
2018-12-15 12:18:52 +00:00
Neil Alexander
92bb63f196
Use metadata from config file
2018-12-15 11:38:51 +00:00
Neil Alexander
d9884a5cac
Make use of metadata cache
2018-12-15 11:15:48 +00:00
Neil Alexander
d07e0ddfa0
Default metadata
2018-12-15 10:56:46 +00:00
Neil Alexander
8b63e841ea
Make threadsafe, add cache
2018-12-15 10:39:31 +00:00
Arceliar
4875ab8954
peer thread safey for dhtInfo updates
2018-12-14 21:44:31 -06:00
Arceliar
570e85c297
remove debug code
2018-12-14 21:12:25 -06:00
Arceliar
ea4ca02681
fix code after moving address/crypto/util
2018-12-14 20:49:18 -06:00
Neil Alexander
cdd2e7910a
Merge remote-tracking branch 'origin/develop' into metadata
2018-12-15 00:48:54 +00:00
Neil Alexander
d5031a5cb6
Metadata exchange without sessions
2018-12-15 00:48:27 +00:00
Arceliar
2c68d41409
move files, still need to fix exports and compile errors
2018-12-14 18:30:36 -06:00
Arceliar
abd8b69979
send a switch message immediately when peering, and use OS-level TCP keep-alive (shouldn't matter right now, since we have application-level keep-alive that preempts it, but important later)
2018-12-14 18:15:35 -06:00
Neil Alexander
f9dc300787
Define Adapter base type/interface
2018-12-14 18:29:00 +00:00
Neil Alexander
8045cb4dc3
Define generic adapter type, rename tunDevice to tunAdapter
2018-12-14 18:21:08 +00:00
Neil Alexander
f28360ce4d
Fix debug builds (foiled by debug builds every time)
2018-12-14 18:10:39 +00:00
Neil Alexander
2a38ad07cd
Don't send ICMPv6 back when tun disabled
2018-12-14 18:08:40 +00:00
Neil Alexander
9eaa2566c1
Parameterise tun.init
2018-12-14 18:08:13 +00:00
Neil Alexander
3ca5f10733
Don't try to correct peers with no schemes in addPeer
2018-12-14 17:52:54 +00:00
Neil Alexander
10157483f9
Move tunDevice into router
2018-12-14 17:35:02 +00:00
Neil Alexander
a9907a7878
Fix debug builds after 64060a4
2018-12-12 22:59:55 +00:00
Neil Alexander
64060a447c
Remove metadata-peer association until we have some sensible way to cache it
2018-12-12 22:58:16 +00:00
Neil Alexander
74de8c9416
Consistent function naming for metadata
2018-12-12 22:48:04 +00:00
Neil Alexander
042a3400fe
Wrap the metadata with a mutex to guarantee thread safety across core/router/sessions
2018-12-12 22:40:49 +00:00
Neil Alexander
97464feba9
Working metadata exchange
2018-12-12 19:51:28 +00:00
Neil Alexander
6200136fce
Merge branch 'descriptive' into metadata
2018-12-12 18:04:49 +00:00
Arceliar
6901e2fc9a
Merge pull request #238 from neilalexander/afunix
...
Use AF_UNIX socket by default for admin API
2018-12-10 17:34:36 -06:00
Neil Alexander
90ace46587
Enforce CKR cache size more strongly
2018-12-10 22:30:31 +00:00
Neil Alexander
65e34bbbab
Enforce maximum CKR routing cache size
2018-12-10 22:19:08 +00:00
Neil Alexander
f09adc2192
Update getRoutes format
2018-12-10 22:04:37 +00:00
Neil Alexander
dff1dca19c
Add DefaultConfigFile to defaults for yggdrasilctl
2018-12-10 10:20:59 +00:00
Neil Alexander
8aaaeb26eb
Default to /var/run/yggdrasil.sock for admin on Linux, BSDs
2018-12-10 00:37:32 +00:00
Neil Alexander
bbe2f56b74
Default to /var/run/yggdrasil.sock for admin on darwin/macOS
2018-12-10 00:31:31 +00:00
Neil Alexander
74a904d04c
Don't os.Chmod if we suspect the socket belongs to an abstract namespace
2018-12-10 00:26:12 +00:00
Neil Alexander
06c6dfc67f
Complain if socket file already exists
2018-12-10 00:19:21 +00:00
Neil Alexander
f791df4977
Try to chmod 660 the admin socket if using AF_UNIX
2018-12-10 00:00:23 +00:00
Neil Alexander
6801d713a7
Also don't start if AdminListen is empty
2018-12-09 17:53:31 +00:00
Neil Alexander
80d087404f
Allow disabling admin socket with AdminListen="none"
2018-12-09 17:46:48 +00:00
Neil Alexander
02f98a2592
Only show build name and version if it is known
2018-12-08 11:01:05 +00:00
Arceliar
af478e0e45
fix very special case bug when trying to dhtPing the root via the admin api
2018-12-08 00:42:13 -06:00
Arceliar
bd2d706745
fix bug from go vet while I'm at it
2018-12-07 20:36:30 -06:00
Arceliar
586781b49c
convert to go module
2018-12-07 19:56:04 -06:00
Neil Alexander
5149c6c349
Show build name and version at startup if available
2018-12-07 22:24:01 +00:00
Neil Alexander
3524c6eff6
Add build name and version to getSelf call on admin socket
2018-12-07 22:22:46 +00:00
Neil Alexander
8e784438c7
Imprint build name and version number if available
2018-12-07 22:20:11 +00:00
Arceliar
fe772dd38e
switch bugfixes
2018-12-05 18:22:39 -06:00
Arceliar
09228554cb
Merge pull request #223 from neilalexander/reusemulticast
...
Try to SO_REUSEPORT on multicast socket
2018-12-05 18:15:21 -06:00
Neil Alexander
ae48a1721e
Try to SO_REUSEADDR on Windows
2018-12-05 23:10:50 +00:00
Neil Alexander
eae8f9a666
Try to SO_REUSEPORT on UNIX platforms
2018-12-05 22:39:04 +00:00
Arceliar
3d4b49b693
reset the switch speed info for a peer whenever it changes coords, instead of only if they're a parent and change coords. Also, make sure packets in the sim preserve order when sending, to avoid races when testing
2018-12-03 19:21:23 -06:00
Arceliar
684632eb3d
Merge pull request #215 from Arceliar/switch
...
Latency-based parent selection for the switch
2018-12-02 17:26:26 -06:00
Neil Alexander
5a89a869be
Set queueTotalMaxSize before switch worker starts
2018-12-02 23:24:54 +00:00
Neil Alexander
b5f4637b5c
Enforce min 4MB switch queue total size
2018-12-02 23:20:11 +00:00
Neil Alexander
319457ae27
Update comment for MaxTotalQueueSize
2018-12-02 23:03:10 +00:00
Neil Alexander
86da073226
Add SwitchOptions and MaxTotalQueueSize
2018-12-02 22:49:27 +00:00
Arceliar
dcfe55dae8
store 'faster' relationships between all pairs of peers, to make fallback easier when a parent goes offline
2018-12-02 16:36:25 -06:00
Arceliar
38093219fd
dimensionless way to track how often nodes are faster than the current parent
2018-12-02 14:46:58 -06:00
Arceliar
b3e2b8e6a5
Update admin.go
...
Replace `nil` with `[]string{}` for `list`'s argument list.
2018-11-26 19:15:27 -06:00
Neil Alexander
099fee9cae
Rename destPubKey to box_pub_key in addRoute etc
2018-11-26 17:58:54 +00:00
Neil Alexander
315aadae06
Rename help to list
2018-11-26 17:51:30 +00:00
Neil Alexander
8239989c36
Send box_pub_key with getSessions, getDHT, getSwitchPeers and getPeers
2018-11-26 17:38:02 +00:00
Neil Alexander
5b10af7399
Rename key to box_pub_key in admin socket for consistency
2018-11-26 17:34:26 +00:00
Arceliar
d8d1e63c36
fix infinite loop from interaction between dht.isImportant and dht.insert
2018-11-25 20:33:33 -06:00
Arceliar
0ec6207e05
better response format and yggdrasilctl printing
2018-11-25 18:25:31 -06:00
Arceliar
a34ca40594
use a buffered channel to avoid races, and run gofmt
2018-11-25 17:59:36 -06:00
Arceliar
7954fa3c33
store one callback instead of many, needed to prevent search failures if there are multiple outstanding packets
2018-11-25 17:08:45 -06:00
Arceliar
9937a6102e
add callbacks to maintenance map cleanup
2018-11-25 16:29:47 -06:00
Arceliar
12e635f946
adjust dhtPing response so 'nodes' defaults to an empty list instead of null
2018-11-25 16:16:06 -06:00
Arceliar
d520a8a1d5
refactor dht code to call arbitrary callbacks instead of only searches.checkDHTRes, and add admin API fuction to dhtPing a node (with an optional target NodeID)
2018-11-25 16:10:32 -06:00
Arceliar
e17efb6e91
don't penalize dht timeouts a second time
2018-11-25 13:21:13 -06:00
Arceliar
9046dbde4f
remove sigManager, it seems safer to just burn the CPU than to store a map of strings of potentially arbitrary length
2018-11-25 13:06:54 -06:00
Arceliar
4e156bd4f7
better cleanup of maps
2018-11-25 12:25:38 -06:00
Arceliar
8d6beebac4
clean up old requests during dht maintenance
2018-11-24 20:04:14 -06:00
Neil Alexander
5a7c2b250c
Merge pull request #209 from Arceliar/switch-tune
...
Adjust switch parent selection behavior
2018-11-24 23:21:45 +00:00
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
20c4b7027a
Fix merge conflicts with endpoints branch
2018-10-21 23:24:29 +01:00
Neil Alexander
aab0502a4a
Remove friendlyname traces, preserve endpoints
2018-10-21 23:20:14 +01:00
Neil Alexander
a1b72c16d8
Some attempt at exchanging session metadata over the wire (broken)
2018-10-21 22:58:27 +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
088d28a93b
Fix debug builds with friendly names
2018-10-21 18:04:02 +01: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 d027a9ba75
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
Arceliar
549d6f9dd2
Merge pull request #163 from neilalexander/tapmtu
...
Cap MTU on Linux in TAP mode
2018-07-19 18:25:03 -05:00
Arceliar
9ff08c1b34
Merge pull request #165 from cathugger/master
...
rearrange tcp reading loop
2018-07-19 18:18:51 -05:00
cathugger
91a374d698
rearrange tcp reading loop
...
according to documentation of io.Reader interface,
"Callers should always process the n > 0 bytes returned before considering the error err. Doing so correctly handles I/O errors that happen after reading some bytes and also both of the allowed EOF behaviors."
2018-07-19 21:58:53 +00:00
Neil Alexander
55b56e8686
Normalise startup output for TUN/TAP on Linux and Windows
2018-07-19 10:15:26 +01:00
Neil Alexander
df9cadd938
Cap MTU on Linux in TAP mode
2018-07-19 10:01:12 +01:00
Arceliar
1baafdd17d
Merge pull request #162 from cathugger/master
...
More verbose disconnect messages
2018-07-18 22:55:45 -05:00
cathugger
f4bb2aaaeb
More verbose disconnect messages
2018-07-19 01:03:24 +00:00
Neil Alexander
cff7ef026f
Make yggdrasilctl less case-sensitive
2018-07-09 19:30:41 +01:00
Neil Alexander
f21cbaef9c
Fix debug builds after changes in #155
2018-07-09 09:38:48 +01:00
Neil Alexander
d59bdfeb99
Fail to TCP when parsing AdminListen
2018-07-08 10:37:20 +01:00
Arceliar
bf90447cc4
update admin socket error message and run gofmt
2018-07-07 19:37:36 -05:00
Neil Alexander
b24c7ffa6b
Resolve merge conflict with platformdefaults
2018-07-07 20:08:23 +01:00
Neil Alexander
a5af69df8a
Use Close() for admin socket
2018-07-07 20:04:11 +01:00
Neil Alexander
2a931df07a
Try to clean up UNIX domain admin sockets if shutdown properly
2018-07-07 12:34:10 +01:00
Neil Alexander
14d48597da
Fix openbsd and netbsd
2018-07-07 12:18:03 +01:00
Neil Alexander
36c89da848
Stick with tcp://localhost:9001 as default for now
2018-07-07 12:16:55 +01:00
Neil Alexander
1692bd98fd
Centralise platform defaults into the 'defaults' package
2018-07-07 12:08:52 +01:00
Neil Alexander
cd6030ec8f
Add support for UNIX domain admin sockets and specifying URIs in AdminListen
2018-07-07 11:22:49 +01:00
Arceliar
ba4047b51a
correctly update buffer sizs when buffers overflow, and returned freed packets to the byte store
2018-07-06 17:27:04 -05:00
Arceliar
ad5dc9ea87
Drop 1 packet instead of a whole queue when overflowing
2018-07-06 00:55:00 -05:00
Arceliar
e6a47f705d
when dropping a queue, select one at random based on queue size in bytes
2018-07-06 00:11:36 -05:00
Arceliar
1a65c065d0
prioritize sending from small queues that have been blocked for a long time
2018-07-05 23:56:37 -05:00
Arceliar
7da4967f5e
Limit maximum queue size to 4 MB
2018-07-05 23:39:41 -05:00
Arceliar
a7c8be4d69
base backpressure decisions on queue size in bytes, instead of packet counts
2018-07-05 23:07:01 -05:00