Commit Graph

85 Commits

Author SHA1 Message Date
gardners
1ebe63a470 cleaned up some debug output introduced during previous bug fixes. 2012-04-30 06:25:54 +09:30
gardners
03aa6cbf49 debugging output tweaks. 2012-04-30 06:01:34 +09:30
gardners
08cf7f9639 fixed some bugs in overlay mesh routing score calculation and
selfannounce ack packet formats.  more remains to be done.
2012-04-29 13:10:54 +09:30
gardners
d726183808 cleaned up debug output. 2012-04-29 12:01:56 +09:30
gardners
c9863fe11e lots of fixes to get overlay mesh routing working on linux with
real network interfaces and no dummy interfaces.  neighbour discovery
now seems to work.
2012-04-29 11:56:47 +09:30
gardners
92baae2a89 hopefully fixed acking of self-announcement frames when no route
to node exists.
2012-04-28 18:09:58 +09:30
gardners
6431b4fd0a fixing bug with sending of self-announce acks before route has been
established.
2012-04-28 17:49:39 +09:30
Andrew Bettison
7a3385112a Replace bcmp() with memcmp() 2012-04-26 16:13:04 +09:30
gardners
e74f6ca7c2 fixed bugs in _node_info() 2012-04-26 15:48:33 +09:30
gardners
88ba56b68b work towards "node info" command, and renamed stop/start etc to
drop node keyword, that in retrospect is not appropriate.
2012-04-26 07:14:01 +09:30
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