gardners
801d55dc00
removed some debug output.
2012-04-23 13:30:12 +09:30
gardners
ae3715ae99
Fixed excessive CPU usage when no neighbours.
2012-04-22 20:16:24 +09:30
gardners
07d2c41224
finally got around to proper initialisation of random number generator.
2012-04-22 06:39:33 +09:30
gardners
e7e8b2d630
fixed bug in RFS size patching.
...
A lot of debug output tweaks to track the problem down.
2012-04-16 06:06:43 +09:30
gardners
8b49a2f572
updated a comment.
2012-04-15 00:23:54 +09:30
gardners
005c7bb7bb
overhauled link metric to heavily weight recent notices over old
...
ones so that we can adapt to changing routes quickly.
2012-04-15 00:21:21 +09:30
gardners
47945c5812
cleaned up debug output
2012-04-15 00:03:43 +09:30
gardners
0a71486f68
Fixed generation of broadcast address in one place where it
...
wasn't choosing a random BPI.
2012-04-14 10:15:13 +09:30
gardners
3fb1e6cafe
Fixed a bug in node lookup, and added a duplicate broadcast
...
supression check.
2012-04-14 04:34:45 +09:30
gardners
5ac83f9ca1
Replaced use of HLR with keyring for phone number lookups and
...
other functions. Not yet tested.
2012-04-13 09:25:03 +09:30
gardners
6759a26720
Cleaned out some debugging output after tracking down and fixing
...
memory corruption bug. Next challenge is to find out why broadcast
MDP packets are not getting dispatched properly (is trying to treat
broadcast address as unicast address it seems).
2012-03-23 07:06:57 +10:30
gardners
c7dd475d50
Further work on MDP, including dispatching low-priority data when
...
it can fit in frames. A nasty bug in queue code needs fixing.
Also, we only send tick frames at present, and need to add code
for dispatching packets at other times (bandwidth allowance permitting).
So the whole bandwidth management code needs to get finished.
2012-03-22 08:26:19 +10:30
Andrew Bettison
738b70b513
Test and fix ACTION_CREATEHLR idempotency code:
...
- refactor hlrSid() to not return pointer to static buffer, take 3rd arg instead
- introduce SID_STRLEN macro constant, use it everywhere
- reformat some code for readability
2012-03-14 12:00:54 +10:30
gardners
1eb4c34015
Renamed mphlr.h to serval.h
...
(also some temporary debugging has been added in some places)
2012-02-23 12:45:42 +10:30
gardners
3fed04e6cd
Added some extra checks for memory corruption (of course now that I
...
am looking, the problem is not happening).
2012-02-15 23:51:12 +10:30
gardners
2a3721506b
More debugging output fixes and bug fixes for overlay operation.
...
Added proper check to suppress frames claiming to come from
ourselves ( necessary for squelching multi-hop broadcasts, although
we need an extra step there of having transaction ids on broadcast
frames so that we can flood smartly).
2012-01-10 20:27:36 +10:30
gardners
cb174a71f6
fixed queue management bugs.
2012-01-10 18:31:14 +10:30
gardners
44c0765981
Various debugging code cleanups.
...
Fixed some address resolution bugs (for when sender address is not
fully known).
There is still a bug in dequeuing packets though it seems.
2012-01-10 17:21:26 +10:30
gardners
891e3f2740
Added another debug/verbosity flag.
2012-01-10 16:29:50 +10:30
gardners
800f8d41eb
Revamped debug/verbosity control to use flags for functions of interest
...
instead of general verbosity ramp.
2012-01-10 15:56:40 +10:30
gardners
26a2c62555
Fixed handling of self-announcements for ourself to not create
...
node or neighbour structures for ourself.
2012-01-10 14:57:32 +10:30
gardners
9156a68c7f
Added 2nd implementation of serval packet decoder for aiding debugging
...
of packet formation and decoding.
Fixed time calculation bug (duplicate time functions based off different
epochs).
Various debugging fiddles and tweaks.
2012-01-10 14:05:26 +10:30
gardners
23ee957169
Various minor tweaks to debugging and related things.
...
Fixed major memory handling error in neighbour structure allocation.
2012-01-09 16:28:44 +10:30
gardners
7e0ad31ef3
Improved handling of local addresses in overlay mesh.
...
Added check to stop us sending reachability acknowledgements to ourselves.
2012-01-09 09:55:21 +10:30
gardners
1240c49a92
Added more debugging to no open path messages.
...
Added hook for reading rhizome advertisements.
2012-01-09 09:17:54 +10:30
gardners
16fb3a3f61
Added missing GPL license statements.
2011-12-21 20:25:05 +10:30
gardners
d19e0b7e39
Added missing call to *_recalc_node() to *_record_link().
2011-09-13 05:42:32 +09: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
552d0095f0
Moved route advertisment to separate file.
2011-09-13 03:35:26 +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
0087d338f2
Got rid of duplicated and now redundant function for recording
...
reachability announcements.
2011-09-13 02:56:21 +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
78f54f1151
Some little fixes and tweaks.
2011-09-13 00:13:38 +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
144f3ee4b1
Thinned out debug messages and fixed SID generation bug to make sure
...
that it always generates a valid SID, i.e., not beginning with 0.
2011-09-07 21:50:20 +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
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
7947485705
Android JNI/NDK build bug fixes suggested by Kris.
2011-09-05 15:01:14 +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
c3e220e5c1
Now attempts to enqueue self-annoucement ack frame (but enqueue function
...
not implemented).
2011-09-05 12:37:46 +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
b8dfa7becd
Added aging of neighbour reachability scores.
2011-09-04 17:27:23 +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
32a5f03073
Various single-instance variable processing fixes for DNA.
...
Further work on overlay mesh routing.
2011-08-29 16:20:27 +09:30
gardners
6cec2207e1
Implemented secure address hashing function.
...
Fixed some bugs.
Added code to record observations.
2011-08-20 21:28:25 +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
28a5214f26
Added allocation of neighbour and node tables.
2011-08-20 11:20:22 +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
bef3620807
Compiles again (fixed overlay mesh structure initialisers)
2011-08-18 03:19:13 +09:30
gardners
5dd6f9ce06
Progress towards core overlay mesh routing data structures.
2011-08-18 02:15: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
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
5f1f510be5
overlay mesh now sends basic self-announcements.
2011-08-12 08:34:56 +02:00
gardners
d6ec3f32c1
fixed compile error with overlay_route.c
2011-08-12 08:15:26 +02:00
gardners
a4591a0d87
I forgot.
2011-08-09 18:51:50 +02:00
gardners
92768cdcd0
core of overlay mode getting closer.
...
Compiles. With -N start to try to send regular packets.
2011-08-08 22:41:46 +08:00