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
Jeremy Lakeman
a213872f09
Don't ack if we aren't being used in a route
2013-05-29 11:58:05 +09:30
Jeremy Lakeman
5b4e4919cf
Mark resent packets so they can be dropped
2013-05-29 11:58:05 +09:30
Jeremy Lakeman
e519633f7a
Resend last ACK if it is explicitly NACKed
2013-05-29 11:58:05 +09:30
Jeremy Lakeman
e5856225cf
Add packet retransmissions due to missed ack's
2013-05-29 11:58:05 +09:30
Jeremy Lakeman
b10746b3a5
Add stub functions for retransmission / throttling
2013-05-29 11:58:04 +09:30
Jeremy Lakeman
a71c3f3c1f
Don't send broadcast payloads on interfaces with no neighbours
2013-05-22 11:57:38 +09:30
Jeremy Lakeman
ef1e93bf52
Establish neighbour links with nodes running our legacy routing engine
2013-05-09 16:57:33 +09:30
Jeremy Lakeman
dcdb8fcdd4
Announce all links on connection to monitor interface
2013-05-08 13:42:11 +09:30
Jeremy Lakeman
a59b306173
Allow for out of order packets, reduce link state spam
2013-05-08 11:37:31 +09:30
Jeremy Lakeman
c0b31a2774
Report packet acks, make routing decisions based on dropped packets
2013-05-08 11:37:02 +09:30
gardners
2f4230ba2a
add interface name information when reporting link score changes.
2013-05-07 15:12:00 +09:30
Jeremy Lakeman
f405ba5337
Send sequence number on all broadcast frames
2013-05-03 16:23:23 +09:30
Jeremy Lakeman
79f4a78278
Add link state monitor commands
2013-05-02 16:19:59 +09:30
Jeremy Lakeman
a29c1d3468
Don't override subscriber interface due to unicast probe packets
2013-05-02 14:29:31 +09:30
Jeremy Lakeman
dd03014b44
Choose the best link from a neighbour
2013-05-02 14:29:31 +09:30
Jeremy Lakeman
9ee09e36a0
Replace old routing engine with new link state engine
2013-05-02 14:29:28 +09:30
Jeremy Lakeman
c6a9564dc3
Track incoming neighbour links w. multiple common interfaces
2013-05-02 14:28:32 +09:30
Jeremy Lakeman
559b270966
Only compare routes that have all links via the same neighbour
2013-04-29 17:07:36 +09:30
Jeremy Lakeman
d7caaf4973
Add length of link record for forward compatibility
2013-04-29 10:06:22 +09:30
Jeremy Lakeman
85b885dde2
Add basic link state routing
2013-04-26 16:54:01 +09:30