Commit Graph

128 Commits

Author SHA1 Message Date
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
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
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
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
4396570745 Fixed DNA simple server and client modes to still work with overlay code in place. 2011-08-15 15:54:11 +02:00
gardners
262346a182 Fixed one (of possibly many) bugs introduced into simple server mode by the new overlay mode code. 2011-08-15 13:54:05 +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
9d4666f9d4 Work towards address abbreviation framework. 2011-08-14 17:58:27 +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
gardners
c8229c8517 More work towards handling overlay or DNA packets.
handling of sender address and sockets to use is still a big fat mess
and likely to be broken.
2011-08-12 21:34:38 +02:00
gardners
7e30d62b79 Cleaned up various compiler warnings. Added packet parser framework for
handling overlay frames.
2011-08-12 21:05:11 +02:00
gardners
9108fd5c59 Broadcast on each interface now works, at least for OSX. 2011-08-12 09:58:25 +02:00
gardners
b8e8a78828 Revamped interface management code for overlay mode.
Now just specify list of interfaces and their characteristics.
Addresses get configured automatically.
2011-08-12 09:47: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
2f0307a08d Added mesh potato build script.
Updated gateway operation to support mesh potato again.
2011-08-10 15:39:40 +02:00
Jeremy Lakeman
ca09fcf104 Move includes to header 2011-08-10 10:42:11 +09:30
gardners
a4591a0d87 I forgot. 2011-08-09 18:51:50 +02:00
gardners
8c2a97a609 Updated usage message to include -E and explain -I and -E. 2011-08-09 14:23:42 +08:00
gardners
9e12a2d14b Fixed exporting of HLR records (but not usage message).
Fixed seeding of hlr to include location as well as DID.
2011-08-09 14:20:25 +08:00
gardners
5fb7b05265 Added HLR seeding code, so that HLR will always have at least one entry in it.
(although it may lack a location entry at present -- should fix that so that
the mobile phone software can just rely on DNA creating a suitable HLR for it).
2011-08-09 14:10:27 +08:00
gardners
2ff8541049 Woot! overlay mode now emits regular tick frames on interfaces it knows about.
Still doesn't know about broadcast properly or a pile of other things, oh, and
the frames are completely empty, but none the less, we are now sending frames.
2011-08-09 12:45:24 +08: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
gardners
6e172c76c9 Fixed broadcast address discovery to work on Mac.
Fixed Linux assumptions.
Added parsing of overlay mesh interface specification from command line.
Separated overlay mesh code out into several files.
Overlay mesh is still far from working, but the infrastructure is coming together.
2011-08-08 16:11:05 +09:30
Jeremy Lakeman
67eec6c3ff Send broadcasts based on network addresses 2011-07-04 11:20:46 +09:30
gardners
09ca959fae Assorted unknown changes. Updated Makefile.in etc to properly build serval.c for building asterisk module. 2011-06-15 13:52:30 +09:30
Jeremy Lakeman
8910febc18 Default asterisk module to use routing table 2011-06-08 12:14:16 +09:30
Jeremy Lakeman
df70fa54d2 Build dna binary with ndk 2011-06-04 07:35:29 -04:00
Jeremy Lakeman
a362fc074f Default to use /proc/net/route table 2011-06-03 23:59:26 -04:00