Andrew Bettison
45450386db
Improve sendto(2) failure diagnostics
...
In MDP client and server MDP overlay code
2013-11-22 13:12:29 +10:30
Andrew Bettison
3805650736
Use ssize_t for sendto(2) return value, not int
...
Also improve error checking on ssize_t values (use ==-1 not <0) test
and cast ssize_t to size_t for comparisons
2013-11-22 11:55:09 +10:30
Andrew Bettison
e92e7cb65e
Improve sendto(2) error log messages
2013-11-22 11:55:09 +10:30
Andrew Bettison
ba0ab14c69
Clean up inclusion of <netinet/in.h>
...
Make all #include <netinet/in.h> conditional upon HAVE_NETINET_IN_H
Remove unnecessary #include <netinet/in.h> from source files
Reformat include block in "serval.h" for readability
2013-11-12 11:39:06 +10:30
Jeremy Lakeman
60e3f5a3fc
Fix printf formats for 64bit compilation
2013-10-09 10:31:52 +10:30
Andrew Bettison
c9f9025581
Fix intermittent 'routing' test failures
...
Caused by tests running so slowly that nodes become unreachable due to
timeout before the assertion of reachability is made. The timeout was
hard coded at five times the tick interval (2.5 seconds).
Introduced new config options: mdp.iftype.*.reachable_timeout_ms and
interface.*.mdp.reachable_timeout_ms to allow the timeout to be
configured. Configure the timeout to 60 seconds in 'routing' tests.
Changed the config schema to move options interfaces.*.mdp_tick_ms and
interfaces.*.packet_interval into interfaces.*.mdp.tick_ms and
interfaces.*.mdp.packet_interval (introduced new sub-struct 'mdp').
2013-10-08 16:36:07 +10:30
Andrew Bettison
9ba08e465f
Issue #11 : use socklen_t instead of int where appropriate
...
Also check for valid recvaddrlen before processing a received MDP packet.
2013-10-08 14:11:00 +10:30
Andrew Bettison
ffafae86b1
Issue #11 : replace long long with int64_t
2013-10-07 05:54:46 +10:30
Jeremy Lakeman
08b44e96ed
Improve html debug statistics
...
- shift radio rssi onto interace structure
- track packets sent received
- create html output for interface stats
- create html output for link state routing stats
2013-09-23 11:31:38 +09:30
Jeremy Lakeman
e3a5e8c353
Use heartbeat packets to control serial buffering
...
- Improve simulation of fakeradio
- Backtrack on partial RS errors in case of truncation / heartbeat insertion
2013-09-20 14:41:50 +09:30
Jeremy Lakeman
4b9817218d
Improve mavlink packet synchronisation
...
- backtrack when decoding fails
- assume locally built heartbeats may split a valid remote packet
2013-09-20 14:41:50 +09:30
Jeremy Lakeman
f7bffbfabe
Simplify packet debug logging
2013-09-20 14:41:50 +09:30
Jeremy Lakeman
56d3609a3f
Reduce frequency of mavlink heartbeat messages
2013-09-20 14:41:50 +09:30
Jeremy Lakeman
c13c7799f6
Send mavlink heartbeat every second
2013-09-13 14:37:33 +09:30
Jeremy Lakeman
3f123e1875
Send the next packet via stream interface ASAP
2013-09-12 16:14:01 +09:30
Jeremy Lakeman
6f26594447
Simplify mavlink link frame creation
...
- build one frame at a time directly from the prepared overlay buffer
2013-09-11 17:15:43 +09:30
Jeremy Lakeman
9d7e37cc5e
Pass ownership of final packet buffer to broadcast_ensemble
2013-09-11 11:13:33 +09:30
gardners
fa157500b3
Add debug output for mavlink sent and received frames.
...
debug.interactive_io can be used to pause after sending or receiving a packet.
2013-09-10 15:14:23 +09:30
gardners
f02e55c443
add 32bit crc to mavlink frames, and reject those that fail.
2013-09-10 14:53:12 +09:30
gardners
7248e01567
Implement flow of mavlink packets over serial connections
...
Replaces upper-7 bit slip encoding
Solves reliability of reading radio status messages
2013-09-10 13:07:52 +09:30
gardners
0cbebedc77
Add tx throttling for packet radios
...
avoids missing data due to lack of flow control.
2013-09-10 11:53:38 +09:30
Jeremy Lakeman
3be2ed615d
Resurrect packet visualisation
2013-09-02 14:55:02 +09:30
Jeremy Lakeman
e3b616421f
Remember outgoing links
2013-08-30 17:38:29 +09:30
Jeremy Lakeman
842915f70c
Fix, using wrong loop variable in interface detection
2013-08-29 17:22:59 +09:30
Jeremy Lakeman
95831a51aa
Don't schedule another poll if the interface is down
2013-08-28 17:06:42 +09:30
Jeremy Lakeman
7a4b1c3f19
Don't destroy the interface destination when bringing it down
2013-08-28 16:48:55 +09:30
Jeremy Lakeman
d2a88b8b2d
Bring the interface down if sending broadcast packets fails for any reason
2013-08-28 16:25:05 +09:30
Andrew Bettison
1b26917f58
Fix bug in handling errno from lseek()
2013-08-26 17:39:07 +09:30
Jeremy Lakeman
56cea7472a
Fix leak on interface down
2013-08-15 16:31:26 +09:30
Jeremy Lakeman
36b0fe51ae
Fix ping via directory service test
2013-08-13 10:55:48 +09:30
Jeremy Lakeman
a516af616e
Improve reliability
...
- don't drop packets that haven't been resolved yet on incoming acks
- statistically drop unicast packets during tests
2013-08-12 16:38:37 +09:30
Jeremy Lakeman
81afc42d8b
Major refactor to packet queuing and delivery in preparation for unicast link tracking.
...
Unicast tests broken
2013-08-09 09:37:08 +09:30
Jeremy Lakeman
d47d1b1684
Split network destination structure from interface structure
2013-08-05 14:35:49 +09:30
Jeremy Lakeman
6645feb0d8
Use %zu format for size_t & off_t types
2013-07-19 22:31:13 +09:30
gardners
d21bb8338f
add missing casts for formatted output strings (was generating
...
warnings on Linux).
2013-07-19 20:04:15 +09:30
Jeremy Lakeman
49e0286b43
Reduce packet header size for point-to-point links
...
- new interface.x.point_to_point config
- disable local echo for point to point dummy interfaces
- add ME and YOU sid abbreviation codes after learning other sid
2013-07-16 15:38:00 +09:30
Jeremy Lakeman
aa87168d7d
Add per-interace dump of sent and received bytes
2013-07-15 15:27:41 +09:30
Jeremy Lakeman
3855ff35c4
Clean up string formatting for 64bit compilation
2013-07-15 09:59:24 +09:30
Jeremy Lakeman
9550dbce9d
Improve debugging of received stream bytes
2013-06-24 16:10:24 +09:30
Jeremy Lakeman
0736e6b9e8
Reduce the delay for reading from dummy interfaces during rhizome transfers
2013-06-20 11:10:02 +09:30
Jeremy Lakeman
61a958fd34
Avoid setting alarms with deadlines that have already elapsed
2013-06-19 15:36:18 +09:30
Jeremy Lakeman
3e57add9ca
Fix, initialise read / write handles so we don't close fd=0
2013-06-19 12:05:56 +09:30
Jeremy Lakeman
ba91996696
Don't log my own rejected packets
2013-06-14 10:42:43 +09:30
Jeremy Lakeman
c0b31a2774
Report packet acks, make routing decisions based on dropped packets
2013-05-08 11:37:02 +09:30
Jeremy Lakeman
dd03014b44
Choose the best link from a neighbour
2013-05-02 14:29:31 +09:30
Jeremy Lakeman
9ee09e36a0
Replace old routing engine with new link state engine
2013-05-02 14:29:28 +09:30
Jeremy Lakeman
559b270966
Only compare routes that have all links via the same neighbour
2013-04-29 17:07:36 +09:30
gardners
3e7de24bdf
added uartpbs and ctsrts config options to packet radio serial
...
interface configuration options.
2013-04-26 15:16:51 +09:30
Andrew Bettison
ddfcc60331
Log WARNing not ERROR for missing dummy interface file
2013-04-15 16:30:07 +09:30
gardners
2252fdcaa7
created tool for automatically finding IN()s without matching
...
OUT()s or where return() is used instead of RETURN().
Added OUT() to end of all functions using IN() that lacked it to
make it easier to statically analyse this invariant.
Fixed several return instead of RETURNs detected through use of
this tool. #49
2013-02-20 16:18:56 +10:30