gardners
fea06932e5
added new slip.c with 7-bit-high packet encapsulation, packet length
...
and CRC32.
Also added in-line RSSI report reception for RFD900 radios.
2013-02-20 15:36:24 +10:30
gardners
a42c685715
don't complain if packet radio interface doesn't support fseek().
2013-02-20 15:36:24 +10:30
Jeremy Lakeman
f2025cd601
Configure rhizome announce interval
2013-02-20 15:36:24 +10:30
Jeremy Lakeman
45efb3f899
Add more raw options to serial interface
2013-02-20 15:36:24 +10:30
Jeremy Lakeman
6d9bbe2e2c
Refactor interface handling to separate encapsulation from stream type
2013-02-20 15:36:23 +10:30
gardners
95f2ed3225
added simple fake radio driver with ~100ms latency.
2013-02-20 15:36:23 +10:30
Jeremy Lakeman
ba1800012e
Only advertise BAR's on an alarm
...
- we no longer hit the database for every outgoing packet, attempting to announce bundles
- we no longer advertise manifests periodically
- when an interesting bar arrives, we ask for the manifest to be announced, which uses the existing packet format
2013-02-20 15:36:23 +10:30
Jeremy Lakeman
c7caec488a
Don't aggregate packets together on radio links
2013-02-20 15:36:23 +10:30
Jeremy Lakeman
25f1240f6e
Calculate neighbour score based on tick interval
...
Quick hack for packet radio links which should have a much longer lived relationship between neighbours
2013-02-20 15:36:23 +10:30
Jeremy Lakeman
33da5ee2da
Never send a unicast probe over a packet radio link
2013-02-20 15:36:22 +10:30
Jeremy Lakeman
84ad4debfa
Throttle serial radio devices when tx buffer is in use
2013-02-20 15:36:22 +10:30
gardners
0de64d0363
decoder state bug fix.
2013-02-20 15:36:22 +10:30
gardners
92f2573998
hex constants are easier to read than octal.
...
debug encapsulation.
2013-02-20 15:36:22 +10:30
gardners
69ae7e1706
prune some debugging.
...
avoid some segfaults due to lack of IP addresses in packet radio
native MDP payloads.
problems remain with SLIP encapsulation/extraction, but some packets
are already getting through.
2013-02-20 15:36:22 +10:30
gardners
834239863c
fixed some packet radio encapsulation bugs.
2013-02-20 15:36:21 +10:30
gardners
e82d2e73da
fixed handling of POLL flags on packet radio interface
...
(was not calling watch() when changing them).
2013-02-20 15:36:21 +10:30
gardners
e20cfdb59d
closer to working.
...
POLLOUT seems to get stuck once triggered.
2013-02-20 15:36:21 +10:30
gardners
7f0a22408a
more work on SLIP encoding/decoding for packet radio interfaces.
2013-02-20 15:36:21 +10:30
gardners
37ed7694bd
added safety catch for null message field.
...
note that debug.packettx seems to be broken.
2013-02-20 15:36:21 +10:30
gardners
b70aa9b8c6
fixed problems with interface ticking on packetradio interfaces.
...
still crashes and burns.
2013-02-20 15:36:21 +10:30
gardners
a4bfdc6c75
fixed serial port reading and interface setup bugs.
...
now crashes when trying to tick packet radio interface.
2013-02-20 15:36:20 +10:30
gardners
7287a2d599
add hook for transmitting packet via packet radio interface.
...
make serial port non-blocking (which for some reason has also
killed our ability to read from it :/).
2013-02-20 15:36:20 +10:30
gardners
0268ccd21a
setup serial port mode when opening packet radio interface.
...
(now reads bytes over serial line)
2013-02-20 15:36:20 +10:30
gardners
190a5e693f
refactored packet radio code mostly into separate file.
...
began writing stateful packet decoder.
2013-02-20 15:36:20 +10:30
gardners
70af7fae0d
initial work on implementing packet radio interface.
...
can open and read from TTY.
doesn't do anything with the data yet.
doesn't write proper packets to the interface yet.
doesn't use bitrate config option yet.
2013-02-20 15:36:19 +10:30
Andrew Bettison
cf13a4b51e
Add 'rhizome.clean_on_open' config option
2013-02-20 14:43:20 +10:30
Andrew Bettison
8f707f4cdb
Fix bug in strbuf_puts(), not always appending nul
2013-02-20 14:28:06 +10:30
Andrew Bettison
81bed5ab33
More progress on Rhizome mirror script
2013-02-18 17:24:01 +10:30
Andrew Bettison
ce788eaeec
Improve command-line parser: "\word" forces label
...
This allows the same function to be used with different commands.
Recent improvements to the parser stopped adding labels for bare words
"word" in the CLI schema, to reduce the chance of label conflicts, eg {
"get", "file", "<file>" }. Now a backslash-prepended word in the schema
"\word" will cause the matched argument to be labelled "word", just like
"[word]" does except "\word" is not optional.
2013-02-18 17:13:30 +10:30
Andrew Bettison
0bcfaccc2b
First cut at rhizome_mirror script -- incomplete
2013-02-15 19:46:16 +10:30
Andrew Bettison
c176d23726
Add 'sid:' field to output of "reverse lookup"
...
Use sid_t in more places
2013-02-15 19:34:24 +10:30
Andrew Bettison
682d1ecfb3
Fix bug in cli_uint()
2013-02-15 19:33:44 +10:30
Andrew Bettison
788b3e37b2
Fix JNI argv parsing: throw exception on NULL
...
Add new 'jni' test case to ensure this works
2013-02-15 19:33:12 +10:30
Andrew Bettison
e856cafc97
Quieten overlay_link.c DEBUG statements
...
Make them conditional on config.debug.overlayrouting, like other DEBUG
statements in the same source file
2013-02-15 10:30:23 +10:30
Andrew Bettison
c42260f5f9
Replace "add did" command with improved "keyring add did"
...
Output is same format as "keyring add" command
Fixed minor bug in rolling a random DID -- last byte was not random
Some code improvements, including better support for sid_t
2013-02-14 16:06:01 +10:30
Andrew Bettison
433f49551a
Cosmetic improvements to 'routing' test script
2013-02-14 16:02:09 +10:30
Andrew Bettison
2d4133315d
Improve cli_arg() diagnostic log messages
2013-02-14 16:00:47 +10:30
Andrew Bettison
e86a129d49
Refactor: rename some cli.h structs
...
Now all symbols defined in cli.h start with or contain "cli_"
2013-02-13 17:43:24 +10:30
Andrew Bettison
f66a894a63
Improve keyring PIN handling
...
Replace explicit [<pin,pin...>] command-line arguments with --entry-pin=<pin>
options. Update test scripts accordlingly.
Add --keyring-pin=<pin> option (with one test case).
2013-02-13 16:49:52 +10:30
Andrew Bettison
7f52ac0ae3
Improve command-line parser
...
Support prefix<any>, prefix=<any>, prefix <any>, [prefix<any>], [prefix=<any>]
and [prefix <any>] argument syntax forms.
Support [arg]... optional repeated argument syntax.
2013-02-13 15:55:00 +10:30
Andrew Bettison
5013424ab1
New "str.h" functions: strn_str_cmp(), strn_str_casecmp()
2013-02-13 15:52:44 +10:30
Andrew Bettison
fcb6600cd6
Rewrite command-line parser
...
Now supports optional args followed by non-optional.
2013-02-12 18:00:37 +10:30
Andrew Bettison
46513bf192
Add keyring tests to 'all' test script
2013-02-11 18:43:12 +10:30
Andrew Bettison
b2923744b0
Add 'keyring' test script with three basic tests
2013-02-11 18:41:36 +10:30
Andrew Bettison
2eb930b94c
Improve Rhizome Direct stress test
...
Reduce log verbosity, report extra files received by nodes, re-order
push/pull/sync process start order to increase chance of cross-fetching.
2013-02-11 18:39:46 +10:30
Andrew Bettison
9ec6a12b47
Improve Rhizome test defs: rhizome_list_dump
...
New rhizome_list_dump() reads a Rhizome list on standard input and formats the
output for easy reading in test logs, including only the columns named by its
arguments.
The assert_rhizome_list() function now sets the $rhizome_list_file_count global
variable.
2013-02-11 18:22:10 +10:30
Andrew Bettison
b8e32bdd66
Improve test framework: tfw_quietly, tfw_multicolumn
...
New tfw_quieten() is similar to tfw_nolog(), but only silences the chatty log
output for asserts and other actions that succeed. Failures are still logged.
New tfw_multicolumn() encapsulates an awk(1) script to format a list into
columns that fit into $COLUMNS width.
Improve exit status handling for test ERROR and FAIL conditions.
2013-02-11 18:18:04 +10:30
Andrew Bettison
cb288d8b9c
Fix new Rhizome Direct stress test
...
Now PASSES with Jeremy's recent fix, but FAILED before
2013-02-08 19:24:03 +10:30
Andrew Bettison
b5a55c8c08
Add Rhizome Direct stress test
...
Use new test framework fork() support to run several rhizome direct
push/pull/sync processes at once to a single server.
Speed up setup for Rhizome Transfer stress test.
2013-02-08 18:46:30 +10:30
Andrew Bettison
3e2b1524bb
Improve test framework: fork concurrent processes
...
Add fork(), forkKillAll() and forkWaitAll() framework primitives for running
many concurrent background processes within a single test case.
2013-02-08 18:46:30 +10:30