Commit Graph

308 Commits

Author SHA1 Message Date
Mark Qvist
af538e0489 Improved shutdown handling and table saving 2022-09-06 17:42:13 +02:00
Mark Qvist
be02586133 Added detach handler to TCP Server Interface 2022-09-06 12:23:52 +02:00
Mark Qvist
bc39a1acf1 Fixed static size index 2022-07-01 21:16:01 +02:00
Mark Qvist
171f43f4e3 Cleanup 2022-06-30 19:32:29 +02:00
Mark Qvist
aa255d0713 Tuned I2PInterface socket timeouts 2022-06-13 15:45:53 +02:00
Mark Qvist
5a8152c589 Fixed I2PInterface status not being set on connectable interfaces 2022-06-12 21:34:54 +02:00
Mark Qvist
8042f5eaa1 Improved log output 2022-06-12 18:55:06 +02:00
Mark Qvist
d7a444556a Tuned TCP socket options 2022-06-12 11:50:09 +02:00
Mark Qvist
2685e043ea Fixed missing check for zero-length packets on IFAC-enabled interfaces. Fixes #65. 2022-06-11 18:52:33 +02:00
Mark Qvist
548cbd50d8 Improved I2PInterface error handling and stability 2022-06-11 13:52:56 +02:00
Mark Qvist
d7262c7cbe Fixed socket leak in I2PInterface 2022-06-11 11:27:01 +02:00
Mark Qvist
1ac7238347 Cleanup 2022-06-10 17:05:00 +02:00
Mark Qvist
513a82e363 Updated link test 2022-06-09 17:14:43 +02:00
Mark Qvist
d334613888 Removed delay 2022-06-09 16:48:31 +02:00
Mark Qvist
648e9a68b8 Added profiling info to LocalInterface 2022-06-09 14:45:00 +02:00
Mark Qvist
26dae3830e Fixed unclosed socket in AutoInterface 2022-06-09 08:48:55 +02:00
Mark Qvist
379e56b2ce Socket option check for OpenWRT compatibility 2022-06-07 12:40:50 +02:00
Mark Qvist
c6df6293b2 Added hardware MTU parameter to interfaces 2022-05-29 15:43:50 +02:00
Mark Qvist
9e20ba2dac Implemented I2PInterface recovery on I2P router restart 2022-05-28 02:24:01 +02:00
Mark Qvist
49616a36cf Fixed I2P controller startup when event loop is not immediately ready 2022-05-26 09:54:56 +02:00
Mark Qvist
9e316ab989 Fixed deprecated options in asyncio API for Python 3.10. Fixes #58. 2022-05-25 23:11:01 +02:00
Mark Qvist
a6dbc53209 Improved status display for I2P interfaces 2022-05-25 21:44:49 +02:00
Mark Qvist
3af5a8f3ed Improved I2P server tunnel error handling. Fixes #13. 2022-05-25 21:23:52 +02:00
Mark Qvist
fb5172ff10 Improved I2P client tunnel error handling 2022-05-25 20:18:06 +02:00
Mark Qvist
d3ab0878e0 Improved I2P interface display in rnstatus 2022-05-25 15:50:54 +02:00
Mark Qvist
9e6a5d5d91 Fix announce rate targets on I2PInterface peers 2022-05-23 00:28:06 +02:00
Mark Qvist
cf3e47f469 Fixed interface mode inheritance 2022-05-23 00:06:26 +02:00
Mark Qvist
f3ff71d9b8 Implemented unknown path discovery 2022-05-22 14:18:58 +02:00
Mark Qvist
81b92ffdc1 Added gateway interface mode 2022-05-22 11:14:33 +02:00
Mark Qvist
e825b0b8ff Added Pipe Interface 2022-05-14 20:19:46 +02:00
Mark Qvist
3871d8615e Added per-interface announce rate control 2022-05-14 18:09:38 +02:00
Mark Qvist
8636259886 Added roaming and boundary interface modes 2022-05-13 21:03:51 +02:00
Mark Qvist
af1a05ff6a Added announce queue dropping to rnpath utility 2022-05-13 16:18:13 +02:00
Mark Qvist
7c70f9d865 Set IFAC parameters on spawned interfaces 2022-04-27 13:20:46 +02:00
Mark Qvist
6cf9288b11 Improved AutoInterface peering timeout 2022-04-27 13:19:48 +02:00
Mark Qvist
d53e8cf037 Bitrate guess on TCP and UDP interfaces 2022-04-18 18:09:31 +02:00
Mark Qvist
da297aeb64 Changed log level 2022-04-18 16:54:35 +02:00
Mark Qvist
c9de260e00 Cleanup 2022-04-18 16:25:11 +02:00
Mark Qvist
31104c6e9c Implemented bandwidth-based announce propagation calculation 2022-04-18 16:23:24 +02:00
Mark Qvist
124ec006b4 Auto-set sensible interface rate defaults 2022-04-17 19:35:31 +02:00
Mark Qvist
2f71296816 Basic interface rate estimation 2022-04-17 19:07:32 +02:00
Mark Qvist
dc6877927e Updated license headers 2022-04-01 17:18:18 +02:00
Mark Qvist
95d3346da6 Fixed I2P interface missing attribute 2022-02-26 21:37:50 +01:00
Mark Qvist
d4aabc8b89 Added I2P base32 address output to rnstatus utility 2022-02-26 21:04:54 +01:00
Mark Qvist
b8105e23ff Fixed TCP interface mode reference 2022-02-25 22:10:55 +01:00
Mark Qvist
f8272793b4 Tuned AutoInterface timeouts 2022-02-25 20:29:47 +01:00
Mark Qvist
0e1279d012 Added Access Point interface mode 2022-02-25 18:47:55 +01:00
Mark Qvist
48184134e4 Improved I2P Interface 2022-02-24 01:30:10 +01:00
Mark Qvist
987ff0658b Version bump 2022-02-23 22:53:16 +01:00
Mark Qvist
27dea7c524 Implemented I2PInterface 2022-02-23 22:43:08 +01:00
Mark Qvist
9c6fd132d4 Work on I2P Interface 2022-02-23 22:15:06 +01:00
Mark Qvist
8d58bb62ab Work on I2P Interface 2022-02-23 21:47:30 +01:00
Mark Qvist
c357f7a94e Work on I2P Interface 2022-02-23 21:39:29 +01:00
Mark Qvist
4b3ead3db2 Work on I2P Interface 2022-02-23 21:29:18 +01:00
Mark Qvist
b62e9af5d4 Work on I2P Interface 2022-02-23 21:19:43 +01:00
Mark Qvist
fa82989a2e Preliminary I2P Interface support 2022-02-23 17:40:31 +01:00
Mark Qvist
257bd95da8 AutoInterface carrier loss detection 2022-02-22 20:16:02 +01:00
Mark Qvist
1ccfa9079c Work on AutoInterface recovery on WiFi carrier loss 2022-02-22 14:49:43 +01:00
Mark Qvist
d9419cd895 Merge branch 'master' of github.com:markqvist/Reticulum 2022-02-22 14:43:19 +01:00
Mark Qvist
aae10ede72 Work on AutoInterface recovery on WiFi carrier loss 2022-02-22 14:43:14 +01:00
Mark Qvist
3f53c89d32 Added I2P-tunneled mode to TCP interfaces 2022-01-31 23:31:29 +01:00
Mark Qvist
d3a23e3b00 RNodeInterface firmware version check 2022-01-22 22:46:47 +01:00
markqvist
329d83587e
Merge pull request #10 from 4c3e/4c3e-osx-nameerror-fix
OSX NameError fix
2022-01-22 21:39:01 +01:00
Mark Qvist
0a4dd64434 Improved support for ESP32-based RNodes 2022-01-22 21:36:49 +01:00
4c3e
b96cbf1014
OSX NameError fix
Had the following error when trying to run Reticulum on OSX High Sierra:
line 115, in set_timeouts_osx
    sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
NameError: name 'sock' is not defined
This fix resolved the problem for me.
2022-01-21 01:34:55 +00:00
Mark Qvist
f3d04ba90f Improved AutoInterface handling on Android 2022-01-12 12:12:04 +01:00
Mark Qvist
5ae00264e8 Preliminaly ESP32 support for RNodeInterface 2022-01-11 03:07:03 +01:00
Mark Qvist
974ca48cb4 Adjusted peering timing 2021-12-11 16:42:15 +01:00
Mark Qvist
167d48c8ce Updated peering timeouts 2021-12-11 15:41:34 +01:00
Mark Qvist
1c768e9219 Removed log statement 2021-12-10 18:55:17 +01:00
Mark Qvist
df39cff520 Added recovery to local shared interfaces if master RNS instance is restarted 2021-12-10 18:32:24 +01:00
Mark Qvist
e1e31692d7 UDP socket contructor and doc update 2021-12-10 16:23:35 +01:00
Mark Qvist
293a834c35 Log output and cleanup 2021-12-10 14:48:30 +01:00
Mark Qvist
1bbdd9b3f5 Ignore interfaces on Darwin 2021-12-10 11:10:09 +01:00
Mark Qvist
d4b6b6ee59 Ignore interfaces on Darwin 2021-12-10 11:00:48 +01:00
Mark Qvist
fca03bbdce Ignore AWDL interfaces on Darwin 2021-12-10 10:58:28 +01:00
Mark Qvist
29aa4f9315 Updated AutoInterface IPv6 bind address 2021-12-10 10:35:25 +01:00
Mark Qvist
02945f960d Updated timing 2021-12-09 17:44:19 +01:00
Mark Qvist
90174fcc28 Cleanup 2021-12-09 17:02:13 +01:00
Mark Qvist
c18ebed419 Added auto interface 2021-12-09 16:07:36 +01:00
Mark Qvist
4241990690 Implemented AutoInterface outbound traffic and multicast discovery listeners 2021-12-08 20:46:53 +01:00
Mark Qvist
3d49076602 Compatibility with IPv6 based interfaces 2021-12-08 20:45:41 +01:00
Mark Qvist
2e4fcc659c Added KISS framing option to TCP client interface 2021-12-06 13:07:12 +01:00
Mark Qvist
8be1acee0a Added auto reconnection for disconnected serial-based devices 2021-12-05 14:35:25 +01:00
Mark Qvist
a692d29c90 Reconnect on serial port errors for KISS interface 2021-12-05 11:44:30 +01:00
Mark Qvist
c44c6f9086 Conditional imports for serial-based interfaces 2021-12-01 13:57:40 +01:00
Mark Qvist
259c2aa397 Conditional imports for serial-based interfaces 2021-12-01 13:39:51 +01:00
Mark Qvist
10854bfdbc Added conditional import of netifaces 2021-12-01 11:46:19 +01:00
Mark Qvist
652b884d72 Added conditional import of netifaces 2021-12-01 11:39:40 +01:00
Mark Qvist
165e620043 Improved shutdown handling on interrupt. Updated gitignore. 2021-11-04 17:15:58 +01:00
Mark Qvist
1cf6570c2d Added RSSI and SNR reporting to packets on supported interfaces 2021-10-12 16:34:17 +02:00
Mark Qvist
60917f0eea Fixed interface detachment on TCP initiator interfaces 2021-10-08 17:06:00 +02:00
Mark Qvist
161eeca509 Updated logging 2021-09-25 15:39:42 +02:00
Mark Qvist
7991db5c74 Added rnstatus utility 2021-09-24 20:10:04 +02:00
Mark Qvist
7e9d608530 Improved shutdown handling for local shared instances 2021-09-24 16:42:31 +02:00
Mark Qvist
3d4ac0126b Added signal handler and interface detachment oon exit. 2021-09-24 16:09:07 +02:00
Mark Qvist
16dae81844 Fixed regression in TCPInterface client spawner. 2021-09-24 14:11:04 +02:00
Mark Qvist
e9e2ffbe0d Improved log output from local interfaces 2021-09-24 14:10:18 +02:00
Mark Qvist
9323fd22ee Improved TCP client interface recovery 2021-09-24 11:20:10 +02:00
Mark Qvist
acae9e34c2 Improved link status detection and recovery of TCP interfaces over unreliable IP links. 2021-09-23 16:07:57 +02:00
Mark Qvist
65e8487b39 Added TCP client reconnection on TCP socket drop 2021-09-18 22:49:04 +02:00
Mark Qvist
ce00822cb0 Work on tunnels 2021-09-18 18:11:23 +02:00
Mark Qvist
425f0153d0 Added flow control timeouts to AX.25 interface and optimised timeouts. 2021-09-03 10:56:49 +02:00
Mark Qvist
cd9daaefee Removed option to allow unencrypted links. 2021-09-03 10:13:48 +02:00
Mark Qvist
2e7126ef39 Cleaned up log statements 2021-08-27 22:51:16 +02:00
Mark Qvist
2b8b95da2b Added config options for TCP server interface binding to network interface instead of IP. 2021-08-19 20:13:53 +02:00
Mark Qvist
6382409194 Added config options for UDP interface binding to network interface instead of IP. 2021-08-19 19:56:35 +02:00
Mark Qvist
e746a80dca Fixed beacon data in KISSInterface 2021-05-17 22:01:56 +02:00
Mark Qvist
d03b7d7a52 Refactored Identity method names 2021-05-16 16:15:57 +02:00
Mark Qvist
f275065b40 Implemented ID beaconing on RNode and KISS interfaces 2020-08-13 15:06:39 +02:00
Mark Qvist
a43d485630 Renamed UDPInterface 2020-08-13 12:37:54 +02:00
Mark Qvist
bd098c338a Indentation and formatting cleanup 2020-08-13 12:15:56 +02:00
Mark Qvist
459f6b792f Optimised resource transfers, fixed resource transfer regression, removed txdelay from UDPInterface. 2020-06-10 10:58:13 +02:00
Mark Qvist
24abb4cfa4 Fixed coding rate reference in RNodeInterface 2020-05-28 22:15:46 +02:00
Mark Qvist
0d069bf1d8 Fixed missing cr statement for RNodeInterface 2020-05-27 16:47:12 +02:00
Mark Qvist
8c2cfb0349 Added periodic ID option to RNode interface. Fixed RNode SNR stat indication. 2020-05-21 14:17:14 +02:00
Mark Qvist
e0e1868e50 Transport handling of announces and path requests for shared instance 2020-05-13 20:33:10 +02:00
Mark Qvist
06a43f6515 Removed stray log statement 2020-05-13 16:02:03 +02:00
Mark Qvist
d74f92ad15 Added local interface 2020-05-13 16:01:27 +02:00
Mark Qvist
be1ff8ec21 Resource transfer and receipt management optimisation 2020-05-13 13:08:48 +02:00
Mark Qvist
c595fdd54b Optimised resource transfer implementation 2020-05-12 16:45:51 +02:00
Mark Qvist
bf49eb2475 TCP performance improvements 2020-05-12 08:50:51 +02:00
Mark Qvist
d121562b22 Cleanup 2020-05-11 21:52:20 +02:00
Mark Qvist
49fce1e1cb Destination table is now stored on exit 2020-05-11 21:05:04 +02:00
Mark Qvist
d6757db6c6 Added TCP interface 2020-05-11 16:09:00 +02:00
Mark Qvist
556d95c381 Description in SerialInterface 2020-05-07 14:14:35 +02:00
Mark Qvist
8c506b0c78 Cleanup in interfaces 2020-05-06 14:34:19 +02:00
Mark Qvist
67fc7685ec Reworked serial interface with HDLC framing instead of timeouts 2020-05-06 14:34:03 +02:00
Mark Qvist
4c3a874b21 Fixed Python2 remnant in interfaces 2020-05-03 23:06:53 +02:00
Mark Qvist
b78e0e9ec0 Updated default config with examples and explanations. 2020-04-27 10:19:49 +02:00
Mark Qvist
fa50e1d35b Migrated to Python3 2020-04-22 17:07:40 +02:00
Mark Qvist
a339ae3d28 Preliminary Python3 support 2020-04-22 12:07:13 +02:00
Mark Qvist
33ce3ef48f Implemented path requests 2020-03-06 12:55:05 +01:00
Mark Qvist
7867d7ded9 Implemented basic multi-hop transport 2020-03-01 16:56:49 +01:00
Mark Qvist
bcfcf4eb86 Link window optimisations 2018-12-31 20:33:55 +01:00
Mark Qvist
4d0ca28902 AX.25 TX delay 2018-12-01 11:42:39 +01:00
Mark Qvist
56808e49de AX.25 TX delay 2018-12-01 11:40:50 +01:00
Mark Qvist
15f2e976b8 AX.25 TX delay 2018-12-01 11:39:08 +01:00
Mark Qvist
be11f5ed68 AX.25 TX delay 2018-12-01 11:32:18 +01:00
Mark Qvist
cef5de5a00 Fixed RNode RSSI 2018-06-27 14:28:01 +02:00
Mark Qvist
deffcae419 RNode interface updates 2018-06-27 10:15:39 +02:00
Mark Qvist
c338694a9d RNode interface 2018-04-26 15:54:21 +02:00
Mark Qvist
c03bce5547 RNode interface 2018-04-26 13:20:43 +02:00
Mark Qvist
540bde4cd4 Transport job callback in thread 2018-04-26 11:29:21 +02:00
Mark Qvist
f02715bced Added flow contorl for RNode interface 2018-04-26 10:38:29 +02:00
Mark Qvist
6a3eb8a1e3 AX.25 interface updates 2018-04-26 00:59:46 +02:00
Mark Qvist
5d977e09fb AX.25 interface updates 2018-04-26 00:54:48 +02:00
Mark Qvist
d69f3c2c34 Implemented elliptic curve signatures and verify on links, auto proofs on links 2018-04-25 22:08:17 +02:00
Mark Qvist
0c49ca8458 Packet hashlist save to disk 2018-04-24 18:01:52 +02:00
Mark Qvist
eed78798f2 Flow control for KISS interfaces, Transport Identity implemented 2018-04-24 17:50:58 +02:00
Mark Qvist
19d9b1a4a5 Proof handling 2018-04-17 17:46:48 +02:00
Mark Qvist
52968e8ba5 AX.25 header fix 2018-04-11 21:36:35 +02:00
Mark Qvist
9827da9e0f Cleanup 2018-04-11 21:24:33 +02:00
Mark Qvist
07814919f2 Implemented AX.25 KISS interface 2018-04-08 12:26:57 +02:00
Mark Qvist
9bfb7ae2d7 Implemented RNode interface driver 2018-04-05 19:15:05 +02:00
Mark Qvist
0ce144c760 Cleanup, added interface placeholders. 2018-04-04 17:14:26 +02:00
Mark Qvist
217ab1c2eb Cleanup 2018-04-04 15:26:34 +02:00
Mark Qvist
0196c94672 Refactored to new naming scheme. Implemented KISS interface. 2018-04-04 14:14:22 +02:00