Commit Graph

73 Commits

Author SHA1 Message Date
gardners
ba645687f6 Progress towards overlay mode advertising rhizome bundles.
(but some evil memory corruption error if overlay mode and
rhizome are both enabled.)
2012-01-09 04:57:13 +10:30
gardners
f0d5cd172e Fixed responding to legacy requests from overlay mode. 2012-01-09 04:19:52 +10:30
gardners
45835344fa Fixed some compiler warnings. 2012-01-03 14:46:22 +10:30
gardners
ad88045ca6 Rhizome web server progress. Still not working, but poll() now is
doing what it should, and we are detecting closed sockets.
Now to add some parsing etc.
2011-12-22 21:58:18 +10:30
gardners
6ec1d6032f Further work towards sqlite3 backend for rhizome.
Wrote function to store file to db iff it is not stored already,
and update the priority flag on the stored file.
Uses blobio to progressively load large blobs to make it friendly
on small memory systems.
2011-12-17 12:11:32 +10:30
gardners
ab3813f127 Added new -m command line option to show multiple responses. 2011-12-04 17:48:51 +10:30
gardners
e1b34d40d7 Fixed some build issues for Asterisk application. 2011-12-02 05:44:32 +10:30
gardners
f55a6525a2 Added hooks and code to build and link to NaCl static library
(static is always the safer option for crypto libraries to avoid
nasty run-time suprises)
2011-10-17 08:11:05 +10:30
gardners
87610c18f5 fixed compiler warning and removed WHOOP debug message. 2011-09-13 05:40:23 +09:30
gardners
2a2f8d752f reception and processing of advertised routes now works :)
Indeed the core of the overlay mesh is now in place and nodes
on simple meshes discover each other. Plenty of bugs are sure
to remain.
2011-09-13 05:37:24 +09:30
gardners
8aa57edee3 Added code to add node advertisements to interface tick packets.
Looks like it works.  No code to decode it yet.
2011-09-13 04:52:52 +09:30
gardners
26f0b36fa1 Added framework for advertising node reachability. 2011-09-13 03:33:45 +09:30
gardners
f301929026 Rejigged node structure to include score and advertisment history
information that can be used to help us prioritise which nodes
get advertised when.
2011-09-13 03:19:54 +09:30
gardners
0cb65c4a87 Cleaned up other references to interface in overlay_node_observation.
Tidied up output format when reporting observed links.
2011-09-13 02:59:48 +09:30
gardners
dc99dd27fb Removed unneeded interface field from node_observation structure. 2011-09-13 02:54:03 +09:30
gardners
8d8f535b2f Fixed correction of scores based on age of last observation
for nodes.
2011-09-13 02:45:12 +09:30
gardners
4303cc60d5 Fixed some bugs with route ticking infrastructure.
Added call to tick each neighbour.
2011-09-13 01:14:09 +09:30
gardners
ec22b5df0d Added infrastructure to tick route tables by progressively touching
all neighbours and nodes over a bounded timespread so that route
ticking doesn't add excessive delay/jitter.
2011-09-13 01:02:58 +09:30
gardners
a91c5d29c3 added code to display overlay mesh route table (incomplete)
fixed bug with recording routes from packets with unresolvable addresses.
2011-09-12 23:49:55 +09:30
gardners
d7aa6bcc01 Self-announcement acks are now logged into node observations.
Untested.
2011-09-11 20:09:47 +09:30
gardners
c65bc0d764 Stub in place for processing selfannounce acks.
Some bug fixes with address expansion.
2011-09-11 17:21:09 +09:30
gardners
78e3bfc4a3 Finally looks like selfacknowledgement acks get sent and can be
decoded.  Now to actually use them ...
2011-09-07 13:09:54 +09:30
gardners
b6ce25ab24 Believe I have found and stemmed the memory corruption bug, although
the trigger (poor packet header decoding/address extraction) remains.
2011-09-07 11:26:26 +09:30
gardners
b0680bd6e0 Now does send acks to self-announcements.
Considerable work towards supporting 1-byte abbreviations of
addresses. But now there seems to be a memory corruption.
2011-09-05 16:30:50 +09:30
gardners
74efa738be Now sends acks to self-announcements, but uses index-based-abbreviation
to save space, which we have not yet implemented.
2011-09-05 15:55:59 +09:30
gardners
7c4f07279b Harmonising edits so that it builds again. 2011-09-05 14:58:12 +09:30
gardners
b402aba22d More work towards getting selfannounce acks (and other packet types)
forwarding out.
2011-09-05 14:55:44 +09:30
gardners
8ed86bfd89 Some further thinking about the mesh routing algorithm in comments. 2011-09-05 13:30:17 +09:30
gardners
67e822f1ff Fixed timing out of queued frames. 2011-09-05 13:19:00 +09:30
gardners
27a454ef72 Initial implementation of frame enqueuing. Queues require maxLength to be initalised to set
congestion threshold.
2011-09-05 12:49:37 +09:30
gardners
37c0955494 More little fixes, especially initialising of overlay_buffers in
overlay_payload structures.
2011-09-05 12:34:54 +09:30
gardners
cbb1939241 Fixed various compiler warnings.
Change overlay_frame payload to use an overlay_buffer structure for
consistency and ease of payload construction.
Added some sanity checking to peer score calculation.
Getting closer to being able to TX acks to selfannouncements.
Other little things to accomplish these.
2011-09-05 12:19:53 +09:30
gardners
f86089c9c8 Neighbour score calculation more or less in place,
just need to add aging of concatenated observation records so that
scores start dropping as soon as a node stops being observed.
2011-09-04 16:38:54 +09:30
gardners
c06b75f5c9 Fixed some sign mis-matches in overlay_abbreviations.
Added infrastructure to keep track of receiver and sender interfaces
for multi-homed nodes.
2011-09-04 06:48:41 +09:30
gardners
1d6d744067 More work towards overlay mesh.
Added single byte append to overlay_buffer type.
Added source interface to self-announce packets.
Probably other stuff, too.
2011-09-04 06:36:39 +09:30
gardners
2104eddd31 Further progress towards calculating reliability of receiving packets from each neighbour. 2011-09-01 23:22:08 +09:30
gardners
3ddc7fcd0e Modified overlay_route to maintain list of observations of neighbours,
and most recent observations of other nodes from other nodes.
2011-09-01 22:44:30 +09:30
gardners
54cea0b91b Preliminary work for Rollie to add in Curve25519 crypto layer. 2011-09-01 17:04:25 +09:30
gardners
32a5f03073 Various single-instance variable processing fixes for DNA.
Further work on overlay mesh routing.
2011-08-29 16:20:27 +09:30
gardners
857bf9c11e All interfaces now use a common synchronised tick-clock so that we can
more easily keep track of node reachability.
2011-08-20 19:06:15 +09:30
gardners
89c5163899 Code to calculate appropriate overlay mesh data structure sizes to give 2^n bins
and maximised associativity in the range [4..7]. Still yet to actually allocate
the structures, though.
2011-08-18 04:30:13 +09:30
gardners
b075b51c43 Merged overlay_payload and overlay_frame structures to just overlay_frame
which is now used for both encapsulation and decapsulation.
Improved payload length encoding scheme to be shorter for most payload
lengths.
selfannouncement frames now get directed to stub functions for
implementation.
2011-08-17 10:52:17 +09:30
gardners
62a7a65fd6 More work on parsing overlay frames. Now has bare bones to think about
forwarding frames. routing is still not implemented, so it doesn't do anything yet,
but it does try.
2011-08-15 16:22:29 +02:00
gardners
bd16fbbf5b Address lookup from cache works :)
This gets us a functional system once we add the code to send PLEASEEXPLAIN
messages to request resolutions.
2011-08-15 13:50:30 +02:00
gardners
02bf80246e Fixed bugs with overlay frame parsing. 2011-08-15 13:10:37 +02:00
gardners
cf778e1efd Various further work on overlay mesh.
Now resolves some kinds of abbreviated address, and queues up
the need to remind peers of abbreviation schemes it does not support.
2011-08-15 12:51:00 +02:00
gardners
229850c8d7 Overlay mode with address summarisation closer to working.
Self-announcements now abbreviate addresses, and in theory they
get expanded on reception -- but more testing and coding required.
2011-08-15 09:27:29 +02:00
gardners
f8064a1795 Substantial further work towards address abbreviation support.
Abbreviation and expansion functions are now present, although
untested.
2011-08-14 20:44:11 +02:00
gardners
0cf6e545c4 Fixed select() problems with dummy interfaces and EOF reporting.
Dummy interfaces now work.
Supressed lots of debug messages.
2011-08-14 10:36:39 +02:00
gardners
ec1fe22e93 Added support for using a dummy interface to allow testing of multiple mesh
nodes on the same machine.  Also handly for linking to unusual interfaces
such as the UHF radio dongles we are planning.
2011-08-13 13:17:49 +02:00