Jeremy Lakeman
6d4ad0e150
Rework scheduler to allow for lazy but important alarms
2014-06-04 17:13:08 +09:30
Jeremy Lakeman
b6de3fcd34
Only send rhizome sync packets when we have neighbours
2014-05-30 15:03:22 +09:30
Andrew Bettison
936db7bca3
Rename TIME_NEVER... to TIME_MS_NEVER...
2014-05-13 08:55:57 +09:30
Jeremy Lakeman
7a3095de09
Detect abbreviation collisions with multiple identities
2014-05-07 17:03:43 +09:30
Jeremy Lakeman
8ae76f7157
Track most recent ack from neighbours, prevent duplicate broadcast packets
2014-05-05 11:53:57 +09:30
Jeremy Lakeman
b5c0687ff7
Don't allow link_send() to dominate the scheduler
2014-03-05 09:57:17 -08:00
Jeremy Lakeman
487df0408d
Refactor mdp packet processing to avoid using struct overlay_mdp_frame
2014-02-19 16:34:11 +10:30
Jeremy Lakeman
a811d49151
Display unicast / broadcast for incoming connections
2014-01-22 16:15:41 +10:30
Jeremy Lakeman
65f1157e1e
Drop acked packets sent via unicast links
2014-01-10 14:54:30 +10:30
Jeremy Lakeman
6045eb10e8
Reduce spam of link state packets
2014-01-09 15:06:34 +10:30
Jeremy Lakeman
506518ad06
Allow interfaces to use local unix addresses
...
- broadcast packets are sent to all sockets in the same folder
- switched most tests to use local sockets
2014-01-09 15:01:38 +10:30
Jeremy Lakeman
5f2c6e364a
Refactor interface addresses to use new socket_address struct
2014-01-09 15:01:38 +10:30
Andrew Bettison
ebc3133f5c
Change overlay_buffer fields from int to size_t
...
Fixes many -Wsign-compare warnings
2013-12-10 17:03:30 +10:30
Andrew Bettison
30b2059608
Fix -Wunused-parameter warnings
...
New UNUSED(param) macro suppresses the warning for a specific parameter
In some cases, removed the unused parameters. In others, used the
parameter in a DEBUGF() or assert() statement to document the intent.
2013-12-09 18:22:18 +10:30
Andrew Bettison
9b64bb87e0
Uniform copyright notices
...
Added some missing copyright/license block comments
2013-12-04 17:15:36 +10:30
Andrew Bettison
42ab9aec4c
Merge branch 'development' into 'naf4'
...
Remove two redundant calls to rhizome_retrieve_manifest() in meshms.c,
revealed by an assert() in the stricter manifest parsing code
Fix header files included by socket.h
2013-12-02 17:17:47 +10:30
Andrew Bettison
e3ceedddf8
Fix link state routing timing logic
...
Avoid calling schedule() with zero alarm time
2013-11-26 15:33:54 +10:30
Andrew Bettison
a9ccd38adc
Improve overlay buffer ob_xxx() primitives
...
All ob_append_xxx(b,...) functions return void
ob_makespace() returns 1 if successful, 0 if not
Add ob_overrun(b) predicate to check for overrun after any number of
appends
2013-11-26 15:33:54 +10:30
Andrew Bettison
7564d529a1
Add missing copyright/license comment blocks
...
Update a few existing copyright notices to reflect recent work
2013-11-21 16:05:18 +10:30
Jeremy Lakeman
4434b1b65d
Create keyring.h and move definitions there
2013-11-13 11:55:12 +10:30
Jeremy Lakeman
7629f24d3f
Free subscriber entries after all commands
2013-11-06 15:36:21 +10:30
Jeremy Lakeman
37316abe0f
Fix empty if test typo
2013-10-21 13:23:02 +10:30
Jeremy Lakeman
b8ec568711
Send 3-way request to stop routing an identity
2013-10-14 14:40:19 +10:30
Jeremy Lakeman
0c1c767af0
Wait until sid from local keyring is unreachable before claiming ownership
2013-10-10 15:59:44 +10:30
Andrew Bettison
a95ef79139
Use sid_t everywhere
...
Remove stowSid() at last
Change API of tohex() and strbuf_tohex(), to pass string length instead of
binary byte count. This allows odd numbers of hex digits to be produced.
Remove alloca_tohex_sid(); replace with alloca_tohex_sid_t()
New alloca_tohex_sid_t_trunc() macro
2013-10-09 18:54:21 +10:30
Jeremy Lakeman
60e3f5a3fc
Fix printf formats for 64bit compilation
2013-10-09 10:31:52 +10:30
Andrew Bettison
c9f9025581
Fix intermittent 'routing' test failures
...
Caused by tests running so slowly that nodes become unreachable due to
timeout before the assertion of reachability is made. The timeout was
hard coded at five times the tick interval (2.5 seconds).
Introduced new config options: mdp.iftype.*.reachable_timeout_ms and
interface.*.mdp.reachable_timeout_ms to allow the timeout to be
configured. Configure the timeout to 60 seconds in 'routing' tests.
Changed the config schema to move options interfaces.*.mdp_tick_ms and
interfaces.*.packet_interval into interfaces.*.mdp.tick_ms and
interfaces.*.mdp.packet_interval (introduced new sub-struct 'mdp').
2013-10-08 16:36:07 +10:30
Jeremy Lakeman
79bdb5f993
Add more html debugging for rhizome sync and fetch queues
2013-09-24 14:34:51 +09:30
Jeremy Lakeman
08b44e96ed
Improve html debug statistics
...
- shift radio rssi onto interace structure
- track packets sent received
- create html output for interface stats
- create html output for link state routing stats
2013-09-23 11:31:38 +09:30
gardners
c120f27e99
tweak debug output
2013-09-10 15:15:00 +09:30
gardners
33ad9ae0bc
Split debugging info related to ACK's and packet retransmissions
2013-09-10 14:53:12 +09:30
Jeremy Lakeman
e3b616421f
Remember outgoing links
2013-08-30 17:38:29 +09:30
Jeremy Lakeman
f06c203488
Send successful, in-order ACK's based on link RTT
2013-08-29 16:51:50 +09:30
Jeremy Lakeman
bf4269e98e
Adjust retransmission delay based on measured RTT
2013-08-29 15:28:20 +09:30
Jeremy Lakeman
9374c4f823
Use int for signed value to fix android portability
2013-08-13 15:16:17 +09:30
Jeremy Lakeman
36b0fe51ae
Fix ping via directory service test
2013-08-13 10:55:48 +09:30
Jeremy Lakeman
a516af616e
Improve reliability
...
- don't drop packets that haven't been resolved yet on incoming acks
- statistically drop unicast packets during tests
2013-08-12 16:38:37 +09:30
Jeremy Lakeman
9a50d8a9ef
Route mulit-hop via unicast links
2013-08-09 16:37:54 +09:30
Jeremy Lakeman
55657623aa
Detect unicast links
2013-08-09 12:18:14 +09:30
Jeremy Lakeman
81afc42d8b
Major refactor to packet queuing and delivery in preparation for unicast link tracking.
...
Unicast tests broken
2013-08-09 09:37:08 +09:30
Jeremy Lakeman
d47d1b1684
Split network destination structure from interface structure
2013-08-05 14:35:49 +09:30
Jeremy Lakeman
9f9893095b
Add small delays to route announcements to reduce packet spam
2013-07-10 13:16:22 +09:30
Jeremy Lakeman
88d88e685c
Improve backward compatibility for broadcasts & packet retries
2013-07-08 16:01:58 +09:30
Jeremy Lakeman
297a30e3c9
Don't keep trying to send link states if the packet transmit queue is full
2013-06-19 14:19:27 +09:30
Jeremy Lakeman
c6241c6634
Ensure routing table is updated when indirect nodes go offline
2013-06-11 10:18:28 +09:30
Jeremy Lakeman
b1f384cd63
Swap between broadcast & unicast links as they become available
2013-05-31 11:32:31 +09:30
Jeremy Lakeman
50bcd3883b
Don't forward broadcasts unless we are vital to their delivery
2013-05-29 11:58:06 +09:30
Jeremy Lakeman
8ab5073869
Adjust packet format for better duplicate detection
2013-05-29 11:58:05 +09:30
Jeremy Lakeman
0966840f4e
Log decision when duplicates are processed
2013-05-29 11:58:05 +09:30
Jeremy Lakeman
02be4c2979
Add support for retransmitting broadcast mdp packets
2013-05-29 11:58:05 +09:30